{"version":3,"sources":["webpack:///./node_modules/@fortawesome/free-brands-svg-icons/index.es.js","webpack:///./node_modules/lottie-web/build/player/lottie_svg.js","webpack:///./node_modules/jquery-validation/dist/jquery.validate.js","webpack:///./node_modules/intl-tel-input/build/js/intlTelInput.js","webpack:///./node_modules/intl-tel-input/build/js/utils.js","webpack:///./node_modules/@fortawesome/free-regular-svg-icons/index.es.js","webpack:///./app/javascript/packs/homepage.js","webpack:///./node_modules/bootstrap/js/dist/modal.js","webpack:///./node_modules/bootstrap/js/dist/util.js","webpack:///./node_modules/lazysizes/lazysizes.js","webpack:///./node_modules/intl-tel-input/index.js","webpack:///./node_modules/feather-icons/dist/feather.js"],"names":["faFacebook","prefix","iconName","icon","faFacebookF","faGoogle","faInstagram","faLinkedinIn","faWaze","faWhatsapp","faYoutube","window","svgNS","locationHref","initialDefaultFrame","subframeEnabled","expressionsPlugin","isSafari","test","navigator","userAgent","cachedColors","bm_rounder","Math","round","bm_rnd","bm_pow","pow","bm_sqrt","sqrt","bm_abs","abs","bm_floor","floor","bm_max","max","bm_min","min","blitter","BMMath","ProjectInterface","i","propertyNames","len","length","random","val","absArr","createSizedArray","defaultCurveSegments","degToRads","PI","roundCorner","roundValues","flag","styleDiv","element","style","position","top","left","display","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","type","currentTime","totalTime","frameMultiplier","this","direction","BMCompleteEvent","BMCompleteLoopEvent","totalLoops","currentLoop","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","target","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","BMAnimationConfigErrorEvent","createElementID","_count","HSVtoRGB","h","s","v","r","g","b","f","p","q","t","RGBtoHSV","d","addSaturationToRGB","color","offset","hsv","addBrightnessToRGB","addHueToRGB","rgbToHex","hex","colorMap","toString","BaseEvent","prototype","triggerEvent","eventName","args","_cbs","addEventListener","callback","push","removeEventListener","bind","splice","createTypedArray","Uint8ClampedArray","Float32Array","Int16Array","value","arr","Array","apply","createNS","document","createElementNS","createTag","createElement","DynamicPropertyContainer","addDynamicProperty","prop","dynamicProperties","indexOf","container","_isAnimated","iterateDynamicProperties","_mdf","getValue","initDynamicPropertyContainer","getBlendMode","blendModeEnums","mode","Matrix","_cos","cos","_sin","sin","_tan","tan","_rnd","reset","props","rotate","angle","mCos","mSin","_t","rotateX","rotateY","rotateZ","shear","sx","sy","skew","ax","ay","skewFromAxis","scale","sz","setTransform","a","c","e","j","k","l","m","n","o","translate","tx","ty","tz","transform","a2","b2","c2","d2","e2","f2","g2","h2","i2","j2","k2","l2","m2","n2","o2","p2","_p","_identityCalculated","a1","b1","c1","d1","e1","f1","g1","h1","i1","j1","k1","l1","m1","n1","o1","p1","isIdentity","_identity","equals","matr","clone","cloneFromProps","applyToPoint","x","y","z","applyToX","applyToY","applyToZ","getInverseMatrix","determinant","inverseMatrix","inversePoint","pt","applyToPointArray","inversePoints","pts","retPts","applyToTriplePoints","pt1","pt2","pt3","p0","p4","p5","p12","p13","applyToPointStringified","toCSS","cssValue","roundMatrixProperty","to2dCSS","pool","math","nodecrypto","global","width","rngname","startdenom","significance","overflow","mask","ARC4","key","keylen","me","S","count","copy","slice","flatten","obj","depth","result","typ","mixkey","seed","smear","stringseed","charCodeAt","tostring","String","fromCharCode","options","shortseed","entropy","randomBytes","out","Uint8Array","crypto","msCrypto","getRandomValues","browser","plugins","Date","screen","autoseed","arc4","prng","int32","quick","double","pass","is_math_call","state","BezierFactory","ob","nm","str","replace","beziers","bezEasing","BezierEasing","kSplineTableSize","kSampleStepSize","float32ArraySupported","A","aA1","aA2","B","C","calcBezier","aT","getSlope","points","_mSampleValues","_precomputed","get","mX1","mY1","mX2","mY2","_precompute","_getTForX","_calcSampleValues","aX","mSampleValues","intervalStart","currentSample","lastSample","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","extendPrototype","sources","destination","sourcePrototype","attr","hasOwnProperty","getDescriptor","object","Object","getOwnPropertyDescriptor","createProxyFunction","ProxyFunction","bezFunction","pointOnLine2D","x1","y1","x2","y2","x3","y3","det1","getBezierLength","pt4","ptCoord","perc","ptDistance","curveSegments","addedLength","point","lastPoint","lengthData","bezier_length_pool","newElement","percents","lengths","BezierData","segmentLength","PointData","partial","partialLength","storedData","buildBezierData","bezierName","bezierData","getDistancePerc","initPos","lengthPos","lPerc","dir","bezier_segment_points","getSegmentsLength","shapeData","segmentsLength","segments_length_pool","closed","pathV","pathO","pathI","_length","totalLength","getNewSegment","startPerc","endPerc","t0","t1","u0","u1","u0u0u0","t0u0u0_3","t0t0u0_3","t0t0t0","u0u0u1","t0u0u1_3","t0t0u1_3","t0t0t1","u0u1u1","t0u1u1_3","t0t1u1_3","t0t1t1","u1u1u1","t1u1u1_3","t1t1u1_3","t1t1t1","getPointInSegment","percent","pointOnLine3D","z1","z2","z3","diffDist","dist1","dist2","dist3","lastTime","vendors","requestAnimationFrame","cancelAnimationFrame","currTime","getTime","timeToCall","id","setTimeout","clearTimeout","bez","dataFunctionManager","completeLayers","layers","comps","fontManager","layerData","jLen","kLen","data","completed","tt","td","hasMask","maskProps","masksProperties","convertPathsToAbsoluteValues","findCompLayers","refId","completeShapes","shapes","singleShape","__used","JSON","parse","stringify","ks","it","path","checkVersion","minimum","animVersionString","animVersion","split","minimumVersion","checkText","iterateLayers","textLayer","documentData","animationData","assets","checkChars","chars","pathData","paths","__converted","checkColors","iterateShapes","checkShapes","cl","moduleOb","__complete","dataManager","FontManager","emptyChar","w","size","combinedCharacters","setUpNode","font","family","parentNode","fontFamily","node","innerText","fontSize","fontVariant","fontStyle","fontWeight","letterSpacing","appendChild","body","offsetWidth","familyArray","enabledFamilies","join","trimFontOptions","parent","createHelper","def","fontData","tHelper","setAttribute","fFamily","fStyle","fWeight","textContent","fClass","getContext","concat","Font","fonts","typekitLoaded","isLoaded","initTime","now","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","getCombinedCharacterCodes","fontPrototype","addChars","found","ch","addFonts","defs","list","fontArr","_pendingFonts","loadedSelector","shouldLoadFont","loaded","monoCase","sansCase","fPath","fOrigin","origin","querySelectorAll","href","rel","src","sc","helper","cache","getCharData","char","console","warn","getFontByName","name","fName","measureText","fontName","index","doubleSize","getComputedTextLength","singleSize","loadedCount","removeChild","PropertyFactory","initFrame","math_abs","interpolateValue","frameNum","caching","newValue","offsetTime","propType","pv","keyData","nextKeyData","fnc","iterationIndex","lastIndex","keyframes","endValue","quat","qx","qy","qz","qw","heading","attitude","bank","nextKeyTime","keyTime","to","ti","ind","__fnct","getBezierEasing","segmentPerc","distanceInLine","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","outX","outY","inX","inY","keyValue","sh","quatStart","createQuaternion","quatEnd","omega","cosom","sinom","scale0","scale1","az","aw","bx","by","bz","bw","acos","slerp","atan2","asin","constructor","values","c3","s1","s2","s3","getValueAtCurrentTime","comp","renderedFrame","endTime","_caching","renderResult","setVValue","multipliedValue","mult","processEffectsSequence","elem","globalData","frameId","effectsSequence","lock","_isFirstFrame","finalValue","kf","addEffect","effectFunction","ValueProperty","vel","MultiDimensionalProperty","KeyframedValueProperty","st","KeyframedMultidimensionalProperty","arrLen","getProp","TransformPropertyFactory","defaultVector","TransformProperty","pre","appliedTransformations","px","py","pz","rx","ry","rz","or","sk","sa","_isDirty","applyToMatrix","mat","forceRender","precalculateMatrix","autoOriented","v1","v2","frameRate","getValueAtTime","autoOrient","_addDynamicProperty","getTransformProperty","ShapePath","_maxLength","setPathData","setLength","point_pool","doubleArrayLength","setXYAt","pos","setTripleAt","vX","vY","oX","oY","iX","iY","reverse","newPath","vertices","outPoints","inPoints","init","cnt","ShapePropertyFactory","interpolateShape","previousValue","keyPropS","keyPropE","isHold","vertexValue","interpolateShapeCurrentTime","resetShape","localShapeCollection","shape1","shape2","shapesEqual","shape_pool","releaseShapes","addShape","ShapeProperty","shapeCollection_pool","newShapeCollection","KeyframedShapeProperty","EllShapeProperty","cPoint","convertEllToPath","s0","_cw","_v","StarShapeProperty","ir","is","convertToPath","convertStarToPath","convertPolygonToPath","os","rad","roundness","perimSegment","numPts","longFlag","longRad","shortRad","longRound","shortRound","longPerimSegment","shortPerimSegment","currentAng","ox","oy","RectShapeProperty","convertRectToPath","v0","ShapeModifiers","modifiers","registerModifier","factory","getModifier","ShapeModifier","TrimModifier","RoundCornersModifier","PuckerAndBloatModifier","RepeaterModifier","ShapeCollection","DashProperty","renderer","dataProps","dashStr","dashArray","dashoffset","GradientProperty","cLength","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","initModifierProperties","addShapeToModifier","shape","setAsAnimated","processKeys","sValue","eValue","pathsData","calculateShapeEdges","shapeLength","totalModifierLength","segments","segmentOb","shapeSegments","shapeS","shapeE","releasePathsData","release","processShapes","shapePaths","_s","totalShapeLength","edges","newShapesData","addShapes","lastShape","pop","addPaths","newPaths","addSegment","shapePath","newShape","addSegmentFromArray","shapeSegment","currentLengthData","segmentCount","segment","rd","processPath","cloned_path","currentV","currentI","currentO","closerV","distance","newPosPerc","amount","centerPoint","pathLength","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","inv","scaleX","scaleY","elemsData","_currentCopies","_elements","_groups","unshift","resetElements","elements","_processed","cloneElements","newElements","changeGroupRender","renderFlag","_render","items","itemsTransform","cont","copies","ceil","group","reloadShapes","offsetModulo","roundOffset","pProps","rProps","sProps","iteration","mProps","op","comparePoints","buildShapeString","pathNodes","_o","_i","shapeString","audioControllerFactory","AudioController","audioFactory","audios","_volume","_isMuted","addAudio","audio","pause","resume","setRate","rateValue","createAudio","assetPath","Howl","isPlaying","play","seek","playing","rate","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","ImagePreloader","proxyImage","canvas","height","ctx","fillStyle","fillRect","imageLoaded","loadedAssets","totalImages","imagesLoadedCb","getAssetsPath","assetData","assetsPath","original_path","imagePath","u","_imageLoaded","images","loadAssets","cb","_createImageData","setAssetsPath","setPath","destroy","getImage","img","createImgData","crossOrigin","createImageData","setAttributeNS","setCacheType","featureSupport","maskType","filtersFactory","filId","fil","feColorMatrix","assetLoader","formatResponse","xhr","response","responseText","load","errorCallback","XMLHttpRequest","open","responseType","err","send","onreadystatechange","readyState","status","TextAnimatorProperty","textData","renderType","_hasMaskedPath","_frameId","_textData","_renderType","_elem","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","TextAnimatorDataProperty","animatorProps","defaultData","textAnimator_animatables","sw","fc","fh","fs","fb","TextSelectorProp","getTextSelectorProp","LetterProps","TextProperty","keysIndex","canResize","minimumFontSize","currentData","ascent","boxWidth","defaultBoxWidth","justifyOffset","lh","lineWidths","ls","of","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","yOffset","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","searchProperties","maskManager","getMaskProperty","getMeasures","xPos","yPos","pathInfo","currentLength","currentPoint","pointInd","segmentInd","prevPoint","tanAngle","animators","matrixHelper","mHelper","renderedLettersCount","letters","tLength","pi","letterValue","yOff","firstLine","offf","xPathPos","yPathPos","elemOpacity","letterSw","letterSc","letterFc","letterO","initPathPos","initSegmentInd","initPointInd","currentLine","letterM","letterP","defaultPropsArray","animatorJustifyOffset","animatorFirstCharOffset","justifyOffsetMult","isNewLine","getMult","anIndexes","totalChars","line","extra","an","animatorOffset","add","rot","atan","update","updated","setCurrentData","searchKeyframes","getKeyframeValue","_finalValue","currentValue","currentIndex","textKeys","buildFinalText","text","charCode","charactersArray","charAt","substr","newLineFlag","charData","anchorGrouping","currentSize","currentPos","lineWidth","maxLineWidth","styles","toLowerCase","trackingOffset","currentHeight","boxHeight","lastSpaceIndex","currentChar","uncollapsedSpaces","animatorData","letterData","based","indexes","rn","newInd","currentInd","updateDocumentData","newData","undefined","dData","recalculate","canResizeFont","_canResize","setMinimumFontSize","_fontValue","_currentTextLength","finalS","finalE","xe","ne","textProperty","easer","tot","newCharsFlag","divisor","pool_factory","initialLength","_create","_release","_clone","pooling","cloned","shapeCollection","BaseRenderer","SVGRenderer","animationItem","config","svgElement","ariaLabel","title","titleElement","titleId","description","descElement","descId","maskElement","layerElement","renderConfig","preserveAspectRatio","imagePreserveAspectRatio","progressiveLoad","hideOnTransparent","viewBoxOnly","viewBoxSize","className","focusable","filterSize","pendingElements","destroyed","rendererType","MaskElement","viewData","solidPath","rect","expansor","feMorph","properties","currentMasks","layerId","maskRef","filterID","expan","lastPath","lastOperator","filterId","lastRadius","createLayerSolidPath","getShapeProp","invRect","drawPath","maskedElement","addRenderableComponent","HierarchyElement","FrameElement","TransformElement","RenderableElement","RenderableDOMElement","ProcessedElement","SVGStyleData","level","lvl","hd","pElem","msElem","SVGShapeData","transformers","caches","lStr","SVGTransformData","SVGStrokeStyleData","styleOb","SVGFillStyleData","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","checkLayers","num","ip","buildItem","checkPendingElements","createItem","layer","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","Error","AudioElement","buildAllItems","includeLayers","newLayers","setProjectInterface","pInterface","projectInterface","initItems","buildElementParenting","parentName","hierarchy","setAsParent","setHierarchy","addPendingElement","searchExtraCompositions","xt","initExpressions","registerComposition","setupGlobalData","animData","fontsContainer","getAssetData","imageLoader","imagePreloader","audioController","fr","compSize","NullElement","SVGShapeElement","SVGTextElement","IImageElement","SVGCompElement","ISolidElement","configAnimation","wrapper","maskId","updateContainerSize","appendElementInPos","setMatte","checkParenting","renderFrame","currentFrame","prepareFrame","getBaseElement","nextElement","insertBefore","hide","show","isFirstFrame","finalMat","finalTransform","mProp","getMaskelement","pathString","pathShapeValue","initHierarchy","_isParent","prepareProperties","isVisible","initTransform","_matMdf","_opMdf","ao","renderTransform","globalToLocal","transforms","ptNew","initRenderable","isInRange","hidden","isTransparent","renderableComponents","component","removeRenderableComponent","prepareRenderableFrame","checkLayerLimits","checkTransparency","renderRenderable","sourceRectAtTime","getLayerSize","initElement","initBaseData","initRendererElement","createContainerElements","createRenderableComponents","createContent","baseElement","renderElement","renderInnerContent","innerElem","destroyBaseElement","stops","setGradientData","setGradientOpacity","pathElement","gradientId","gfill","stop","gf","cst","opacityId","opFill","ms","ost","SVGElementsRenderer","_identityMatrix","_matrixHelper","renderContentTransform","styleData","itemData","renderPath","pathStringTransformed","redraw","iterations","lLen","renderFill","styleElem","renderGradientStroke","renderGradient","renderStroke","hasOpacity","attr1","attr2","cValues","oValues","ang","dist","createRenderFunction","ShapeTransformManager","sequences","sequenceList","transform_key_count","BaseElement","SVGBaseElement","IShapeElement","ITextElement","ICompElement","sourceRect","_isPlaying","_canPlay","_currentTime","tm","_placeholder","supports3d","textSpans","shapesData","stylesList","shapeModifiers","itemsData","processedElements","animatedContents","SVGTintFilter","filter","filterManager","matrixFilter","effectElements","feMergeNode","feMerge","SVGFillFilter","SVGGaussianBlurEffect","feGaussianBlur","SVGStrokeEffect","initialized","SVGTritoneFilter","feComponentTransfer","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","feOffset","feFlood","feComposite","originalNodeAdded","addTransformSequence","sequence","processSequence","processSequences","getNewKey","checkMasks","layerInterface","LayerExpressionInterface","registerMaskInterface","effectsInterface","EffectsExpressionInterface","createEffectsInterface","registerEffectsInterface","compInterface","CompExpressionInterface","shapeInterface","ShapeExpressionInterface","content","textInterface","TextExpressionInterface","setBlendMode","blendModeValue","bm","sr","effectsManager","EffectsManager","getType","matteElement","transformedElement","_sizeChanged","gg","layerElementParent","masker","createFilter","createAlphaToLuminanceFilter","maskGroup","maskGrouper","feCTr","feFunc","alphaRect","ln","cp","clipId","cpGroup","renderableEffectsManager","SVGEffects","addShapeToModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","lcEnum","ljEnum","searchProcessedElement","addProcessedElement","textAnimator","buildNewText","createPathShape","shapeStr","_fontSize","applyTextPropertiesToMatrix","lineNumber","buildColor","colorData","emptyProp","timeRemapped","setElements","elems","getElements","destroyElements","pr","volumeValue","textContainer","buildTextContents","textArray","textContents","currentTextContent","tSpan","usesGlyphs","cachedSpansLength","tElement","justify","time","textBox","getBBox","bbox","renderedLetter","textSpan","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","tempShapes","areAnimated","setShapesAsAnimated","createStyleElement","elementData","lc","lj","ml","addToAnimatedContents","createGroupElement","createTransformElement","transformProperty","createShapeElement","ownTransformers","fn","setElementStyles","render","currentTransform","modifier","processedPos","ownStyles","ownModifiers","renderShape","animatedContent","colorBlack","colorWhite","opacity","sigma","dimensions","sigmaX","sigmaY","edgeMode","initialize","groupPath","elemChildren","children","childNodes","removeAttribute","pathMasker","dasharrayValue","getTotalLength","lineLength","units","color1","color2","color3","tableR","tableG","tableB","getTableValue","inputBlack","inputWhite","gamma","outputBlack","outputWhite","colorValue","table","call","outputDelta","inputDelta","col","_svgMatteSymbols","SVGMatte3Effect","filterElem","ef","filters","findSymbol","replaceInParent","symbolId","nextChild","useElem","setElementAsMask","symbol","animationManager","registeredAnimations","playingAnimationsNum","_stopped","_isFrozen","removeElement","ev","animItem","animation","isPaused","subtractPlayingCount","registerAnimation","AnimationItem","setupAnimation","setData","addPlayingCount","activate","nowTime","elapsedTime","advanceTime","first","loadAnimation","params","setParams","setSpeed","setDirection","togglePause","searchAnimations","standalone","animElements","getElementsByClassName","getElementsByTagName","div","resize","goToAndStop","isFrame","freeze","unfreeze","getRegisteredAnimations","animations","currentRawFrame","frameMult","playSpeed","playDirection","playCount","autoplay","loop","animationID","timeCompleted","segmentPos","isSubframeEnabled","_idle","_completedLoop","animType","CanvasRenderer","rendererSettings","HybridRenderer","parseInt","autoloadSegments","initialSegment","lastIndexOf","fileName","trigger","wrapperAttributes","attributes","getNamedItem","prerender","completeData","loadNextSegment","shift","segmentPath","loadSegments","imagesLoaded","checkLoaded","preloadImages","updaFrameModifier","waitForFontsLoaded","error","triggerConfigError","gotoFrame","setSubframe","triggerRenderFrameError","setCurrentRawFrameValue","frameModifier","goToAndPlay","nextValue","_isComplete","checkSegments","adjustSegment","setSegment","end","pendingFrame","playSegments","forceFlag","resetSegments","onEnterFrame","onLoopComplete","onComplete","onSegmentStart","onDestroy","getPath","getDuration","onError","Expressions","stackCount","registers","pushExpression","popExpression","releaseInstances","registerExpressionProperty","expression","ExpressionManager","$bm_isInstanceOfArray","isNumerable","tOfV","Number","$bm_neg","tOfA","lenA","retArr","easeInBez","easeOutBez","easeInOutBez","sum","tOfB","lenB","sub","mul","mod","$bm_sum","$bm_sub","$bm_mul","$bm_div","$bm_mod","clamp","mm","radiansToDegrees","radians_to_degrees","degreesToRadians","degrees_to_radians","helperLengthArray","arr1","arr2","normalize","vec","rgbToHsl","hue2rgb","hslToRgb","linear","tMin","tMax","value1","value2","_tMin","rnd","createPath","inTangents","outTangents","inVertexPoint","outVertexPoint","arrPlaceholder","initiateExpression","property","needsVelocity","_needsRandom","elemType","$bm_transform","effect","thisProperty","valueAtTime","defineProperty","frameDuration","displayStartTime","inPoint","outPoint","loopIn","loop_in","loopOut","loop_out","smooth","toWorld","fromWorld","fromComp","toComp","fromCompToSurface","rotation","anchorPoint","thisLayer","thisComp","velocityAtTime","__expression_functions","scoped_bm_rt","xf","eval","expression_function","numKeys","active","wiggle","freq","amp","addedAmps","periods","loopInDuration","duration","loopOutDuration","getVelocityAtTime","velocity","textIndex","textTotal","selectorValue","lookAt","elem1","elem2","fVec","pitch","easeOut","val1","val2","applyEase","easeIn","ease","nearestKey","framesToTime","frames","fps","timeToFrames","seedRandom","seedrandom","randSeed","substring","posterizeTime","framesPerSecond","hasParent","executeExpression","_value","frameExpressionId","expressionHelpers","searchExpressions","getSpeedAtTime","speed","delta","_cachingAtTime","getStaticValueAtTime","setGroupProperty","propertyGroup","durationFlag","cycleDuration","firstKeyFrame","ret","lastKeyFrame","initV","endV","current","repeats","lastValue","nextLastValue","firstValue","nextFirstValue","samples","sampleValue","sampleFrequency","getTransformValueAtTime","_transformCachingAtTime","anchor","skewAxis","rotationZ","rotationY","rotationX","orientation","positionX","positionY","positionZ","getTransformStaticValueAtTime","propertyGetProp","propertyIndex","ix","ShapePropertyConstructorFunction","getConstructorFunction","KeyframedShapePropertyConstructorFunction","getKeyframedConstructorFunction","ShapeExpressions","isClosed","pointOnPath","_segmentsLength","accumulatedLength","initIndex","endIndex","vectorOnPath","vectorType","xLength","yLength","magnitude","tangentOnPath","normalOnPath","shapeValue","propertyGetShapeProp","trims","getExpressionValue","calculateExpression","isKeyframed","hasExpressions","ShapePathInterface","view","interfaceFunction","_propertyGroup","propertyGroupFactory","PropertyInterface","defineProperties","mn","parentPropertyGroup","propertyName","_name","iterateElements","groupInterfaceFactory","fillInterfaceFactory","strokeInterfaceFactory","trimInterfaceFactory","ellipseInterfaceFactory","starInterfaceFactory","rectInterfaceFactory","roundedInterfaceFactory","repeaterInterfaceFactory","interfaces","numProperties","transformInterface","transformInterfaceFactory","cix","contentsInterfaceFactory","np","ExpressionPropertyInterface","_dashPropertyGroup","dashOb","addPropertyToDashOb","strokeWidth","start","outerRadius","outerRoundness","innerRoundness","innerRadius","radius","_interfaceFunction","_prevValue","_sourceText","_thisLayerFunction","sourceText","stringValue","toWorldMat","sampleImage","anchorPointDescriptor","TransformExpressionInterface","anchor_point","startTime","source","MaskManagerInterface","effects","pixelAspect","numLayers","_thisFunction","xRotation","yRotation","xPosition","yPosition","zPosition","_transformFactory","_pz","_px","_py","compositions","_thisProjectFunction","createGroupInterface","groupInterface","createValueInterface","enabled","en","expressionProperty","effectsData","MaskInterface","_mask","_data","_masksInterfaces","defaultUnidimensionalValue","defaultMultidimensionalValue","completeProperty","expressionValue","valueProp","assign","speedAtTime","defaultGetter","UnidimensionalPropertyInterface","arrValue","MultidimensionalPropertyInterface","TextExpressionSelectorProp","propertyGetTextProp","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","effectItem","GroupEffect","getValueProxy","total","eff","lottie","setLocationHref","setSubframeRendering","setQuality","isNaN","inBrowser","installPlugin","plugin","getFactory","checkReady","clearInterval","readyStateCheckInterval","getQueryVariable","variable","vars","queryString","pair","decodeURIComponent","__getFactory","version","scripts","myScript","setInterval","root","$","extend","validate","validator","settings","onsubmit","on","event","submitButton","currentTarget","hasClass","cancelSubmit","handle","submitHandler","formSubmitted","appendTo","currentForm","debug","remove","preventDefault","form","pendingRequest","focusInvalid","valid","errorList","each","rules","command","argument","staticRules","existingRules","param","filtered","isContentEditable","closest","normalizeRule","messages","method","normalizeRules","classRules","attributeRules","dataRules","required","remote","called","trim","expr","pseudos","blank","filled","unchecked","defaults","format","arguments","makeArray","RegExp","groups","errorClass","pendingClass","validClass","errorElement","focusCleanup","errorContainer","errorLabelContainer","ignore","ignoreTitle","onfocusin","lastActive","unhighlight","hideThese","errorsFor","onfocusout","checkable","submitted","optional","onkeyup","excludedKeys","which","elementValue","inArray","keyCode","invalid","onclick","highlight","findByName","addClass","removeClass","setDefaults","email","url","date","dateISO","number","digits","equalTo","maxlength","minlength","rangelength","range","step","autoCreateRanges","labelContainer","errorContext","containers","valueCache","pending","delegate","eventType","invalidHandler","checkForm","errorMap","triggerHandler","showErrors","prepareForm","currentElements","check","rs","cleanElement","clean","checkElement","validationTargetFor","prepareElement","testgroup","numberOfInvalids","toHide","errors","map","message","successList","grep","defaultShowErrors","resetForm","hideErrors","removeData","removeAttr","objectLength","not","addWrapper","findLastActive","rulesCache","find","selector","resetInternals","toShow","idx","$element","validity","badInput","rule","normalizer","rulesCount","dependencyMismatch","parameters","methods","formatAndAdd","log","TypeError","customDataMessage","toUpperCase","customMessage","findDefined","defaultMessage","theregex","toToggle","showLabel","success","validElements","invalidElements","place","errorID","elementID","idOrName","describedBy","html","wrap","append","errorPlacement","insertAfter","parents","escapeCssMeta","match","describer","string","getLength","nodeName","depend","dependTypes","startRequest","stopRequest","submit","old","off","classRuleSettings","creditcard","addClassRules","classes","normalizeAttributeRule","getAttribute","depends","keepRule","parameter","isFunction","parts","isArray","transformed","addMethod","decimals","errorMessage","supportedTypes","re","decimalPlaces","toInt","optionDataString","previous","originalMessage","ajax","port","dataType","context","pendingRequests","ajaxPrefilter","_","abort","ajaxSettings","allCountries","iso2","dialCode","priority","areaCodes","_defineProperties","descriptor","enumerable","configurable","writable","intlTelInputGlobals","getInstance","input","instances","documentReady","allowDropdown","autoHideDialCode","autoPlaceholder","customContainer","customPlaceholder","dropdownContainer","excludeCountries","formatOnDisplay","geoIpLookup","hiddenInput","initialCountry","localizedCountries","nationalMode","onlyCountries","placeholderNumberType","preferredCountries","separateDialCode","utilsScript","regionlessNanpNumbers","forEachProp","keys","forEachInstance","Iti","_this","instance","Constructor","_classCallCheck","telInput","activeItem","highlightedItem","customOptions","hadInitialPlaceholder","Boolean","protoProps","staticProps","_this2","isMobile","classList","Promise","autoCountryPromise","resolve","reject","resolveAutoCountryPromise","rejectAutoCountryPromise","utilsScriptPromise","resolveUtilsScriptPromise","rejectUtilsScriptPromise","promise","all","selectedCountryData","_processCountryData","_generateMarkup","_setInitialState","_initListeners","_initRequests","_processAllCountries","_processCountryCodes","_processPreferredCountries","_translateCountriesByLocale","countries","sort","_countryNameSort","countryCode","countryCodeMaxLen","countryCodes","lowerCaseOnlyCountries","country","lowerCaseExcludeCountries","iso","localeCompare","dialCodes","_addCountryCode","_c","rootCountryCode","areaCode","partialDialCode","countryData","_getCountryData","attrs","el","hasAttribute","parentClass","_createEl","flagsContainer","selectedFlag","role","selectedFlagInner","selectedDialCode","dropdownArrow","countryList","_appendListItems","dropdown","hiddenInputName","preferred","tmp","idSuffix","insertAdjacentHTML","_getDialCode","isRegionlessNanp","_isRegionlessNanp","_this$options","_updateFlagFromNumber","_setFlag","defaultCountry","_updateValFromNumber","_initKeyListeners","_initBlurListeners","_initDropdownListeners","_initHiddenInputListener","_this3","_handleHiddenInputSubmit","getNumber","tagName","_this4","_handleLabelClick","contains","focus","label","_getClosestLabel","_handleClickSelectedFlag","disabled","readOnly","_showDropdown","_handleFlagsContainerKeydown","stopPropagation","_closeDropdown","_this5","intlTelInputUtils","loadUtils","_loadAutoCountry","autoCountry","handleAutoCountry","startedLoadingAutoCountry","_this6","_handleKeyupEvent","_triggerCountryChange","_handleClipboardEvent","_this7","_handleSubmitOrBlurEvent","_removeEmptyDialCode","numeric","_getNumeric","createEvent","initEvent","dispatchEvent","_setDropdownPosition","_highlightListItem","_scrollTo","_bindDropdownListeners","_trigger","shouldHaveClass","_this8","getBoundingClientRect","windowTop","pageYOffset","documentElement","scrollTop","inputTop","dropdownHeight","offsetHeight","dropdownFitsBelow","innerHeight","dropdownFitsAbove","_toggleClass","extraTop","scrollLeft","_handleWindowScroll","_this9","_handleMouseoverCountryList","listItem","_getClosestListItem","_handleClickCountryList","_selectListItem","isOpening","_handleClickOffToClose","query","queryTimer","_handleKeydownOnDropdown","_handleUpDownKey","_handleEnterKey","_searchForCountry","next","previousElementSibling","nextElementSibling","_startsWith","querySelector","originalNumber","useNational","_intlTelInputUtils$nu","numberFormat","NATIONAL","INTERNATIONAL","formatNumber","_beforeSetNumber","isNanp","alreadySelected","shouldFocus","prevItem","ignoreOnlyCountriesOption","allowFail","prevCountry","innerHTML","selectedFlagWidth","_getHiddenSelectedFlagWidth","paddingLeft","_updatePlaceholder","nextItem","containerClone","cloneNode","visibility","flagsContainerClone","selectedFlagClone","shouldSetPlaceholder","numberType","placeholder","getExampleNumber","flagChanged","_updateDialCode","setSelectionRange","middle","containerHeight","containerTop","containerBottom","elementHeight","elementTop","elementBottom","newScrollTop","middleOffset","heightDifference","newDialCodeBare","hasSelectedListItem","newNumber","inputVal","newDialCode","prevDialCode","includeAreaCode","numericChars","numericVal","_cap","setCountry","getExtension","_getFullNumber","getNumberType","getValidationError","isValidNumber","originalCountryCode","getCountryData","injectScript","handleSuccess","handleFailure","script","onload","onerror","async","startedLoadingUtilsScript","iti","_init","module","exports","intlTelInput","aa","self","execScript","ba","da","ea","fa","ha","ia","ja","ka","la","defaultValue","ma","ca","na","has","set","oa","D","E","F","G","pa","H","qa","I","ra","J","ta","ctor","K","va","AC","AD","AE","AF","AG","AI","AL","AM","AO","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GT","GU","GW","GY","HK","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TA","TC","TD","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW","M","wa","xa","L","N","O","P","Q","R","T","U","V","W","X","Y","Z","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ha","Ia","Ja","Ka","La","Ma","search","Na","Oa","Pa","Qa","exec","Ra","Ga","ua","Ta","E164","RFC3966","FIXED_LINE","MOBILE","FIXED_LINE_OR_MOBILE","TOLL_FREE","PREMIUM_RATE","SHARED_COST","VOIP","PERSONAL_NUMBER","PAGER","UAN","VOICEMAIL","UNKNOWN","IS_POSSIBLE","INVALID_COUNTRY_CODE","TOO_SHORT","TOO_LONG","NOT_A_NUMBER","faCalendarPlus","faEnvelope","captchaSuccess","library","faCalendar","faAngleDoubleLeft","faAngleDoubleRight","faAngleLeft","faAngleRight","faQuestionCircle","faTimes","faSlidersH","faPlus","faMinus","faTag","faTags","faSearch","faClock","faInfoCircle","faUniversity","faMapMarkedAlt","faComments","faArrowRight","faCaretRight","faChevronRight","faChevronCircleUp","faPhone","faMapMarkerAlt","dom","watch","feather","jQuery","$workshop_list","workshop_list_pagination","getElementById","visitor_country","user_telephone_iti","setNumber","normalizeSlideHeights","css","maxHeight","outerHeight","particlesJS","toggleClass","click","sectionTo","animate","serialize","modal","last_name","notEqualTo","phone","button","relatedTarget","pipeline","deal","empty","$card","$open","additionalOffset","prevAll","prevScrollpos","onscroll","currentScrollPos","getJSON","blog_date","blog_post_container","blog_post","parseHTML","_embedded","link","source_url","toDateString","rendered","courseFilter","ww","clientWidth","Util","_extends","_createClass","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","ESCAPE_KEYCODE","Default","backdrop","keyboard","DefaultType","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_CLICK_DATA_API","CLASS_NAME_SCROLLABLE","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_SHOW","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_TOGGLE","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_config","_getConfig","_element","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_isTransitioning","_scrollbarWidth","_proto","toggle","showEvent","Event","isDefaultPrevented","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","one","_showBackdrop","_showElement","hideEvent","transition","transitionDuration","getTransitionDurationFromElement","TRANSITION_END","_hideModal","emulateTransitionEnd","dispose","forEach","htmlElement","handleUpdate","typeCheckConfig","_triggerBackdropTransition","hideEventPrevented","defaultPrevented","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","modalBody","nodeType","Node","ELEMENT_NODE","reflow","_enforceFocus","shownEvent","transitionComplete","_resetAdjustments","_resetScrollbar","_removeBackdrop","backdropTransitionDuration","callbackRemove","_backdropTransitionDuration","paddingRight","right","innerWidth","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","parseFloat","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","_jQueryInterface","_this11","getSelectorFromElement","$target","noConflict","MAX_UID","MILLISECONDS_MULTIPLIER","toType","getSpecialTransitionEndEvent","bindType","delegateType","handleObj","handler","transitionEndEmulator","triggerTransitionEnd","setTransitionEndSupport","special","getUID","hrefAttr","transitionDelay","floatTransitionDuration","floatTransitionDelay","supportsTransitionEnd","isElement","componentName","configTypes","expectedTypes","valueType","findShadowRoot","attachShadow","getRootNode","ShadowRoot","jQueryDetection","jquery","minMajor","ltMajor","minMinor","minPatch","maxMajor","lazySizes","lazysizes","lazySizesCfg","lazySizesDefaults","lazyClass","loadedClass","loadingClass","preloadClass","autosizesClass","srcAttr","srcsetAttr","sizesAttr","minSize","customMedia","expFactor","hFac","loadMode","loadHidden","ricTimeout","throttleDelay","lazySizesConfig","lazysizesConfig","cfg","noSupport","docElem","supportPicture","HTMLPictureElement","_addEventListener","_getAttribute","requestIdleCallback","regPicture","loadEvents","regClassCache","ele","cls","reg","addRemoveLoadEvents","action","evt","detail","noBubbles","noCancelable","updatePolyfill","full","polyfill","picturefill","pf","reevaluate","getCSS","getComputedStyle","getWidth","_lazysizesWidth","rAF","firstFns","secondFns","fns","run","runFns","running","waiting","rafBatch","queue","_lsFlush","rAFIt","simple","that","throttle","gDelay","rICTimeout","idleCallback","timeout","isPriority","delay","debounce","func","timestamp","wait","later","last","loader","regImg","regIframe","supportScroll","shrinkExpand","currentExpand","isLoading","lowRuns","resetPreloading","isBodyHidden","isNestedVisible","elemExpand","outerRect","visible","eLtop","eLbottom","eLleft","eLright","offsetParent","bottom","checkElements","eLlen","autoLoadElem","loadedSomething","elemNegativeExpand","elemExpandVal","beforeExpandVal","defaultExpand","preloadExpand","lazyloadElems","_lazyRace","prematureUnveil","unveilElement","expand","_defEx","eLvW","elvH","isCompleted","preloadElems","preloadAfterLoad","throttledCheckElements","switchLoadingClass","_lazyCache","rafSwitchLoadingClass","rafedSwitchLoadingClass","changeIframeSrc","contentWindow","location","handleSources","sourceSrcset","lazyUnveil","isAuto","sizes","isImg","srcset","isPicture","firesLoad","resetPreloadingTimer","complete","naturalWidth","loading","autoSizer","updateElem","afterScroll","altLoadmodeScrollListner","started","persisted","loadingElements","MutationObserver","observe","childList","subtree","checkElems","unveil","_aLSL","sizeElement","dataAttr","getSizeElement","debouncedUpdateElementsSizes","autosizesElems","uP","aC","rC","hC","fire","gW","modules","installedModules","__webpack_require__","moduleId","getter","__esModule","__WEBPACK_AMD_DEFINE_RESULT__","classNames","StorageObject","_parseArray","resultSet","array","_parse","create","hasOwn","SPACE","arg","argType","_parseString","_parseObject","_parseNumber","classSet","from","isObject","toObject","callWithSafeIterationClosing","isArrayIteratorMethod","toLength","createProperty","getIteratorMethod","arrayLike","iterator","argumentsLength","mapfn","mapping","iteratorMethod","done","toIndexedObject","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","aFunction","anObject","ENTRIES","returnMethod","ITERATOR","wellKnownSymbol","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","classofRaw","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","fails","getPrototypeOf","IteratorPrototype","createPropertyDescriptor","setToStringTag","Iterators","returnThis","IteratorConstructor","bitmap","toPrimitive","propertyKey","createIteratorConstructor","setPrototypeOf","redefine","IS_PURE","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","proto","forced","exist","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","shared","Function","classof","globalThis","DESCRIPTORS","propertyIsEnumerable","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","store","wmget","wmhas","wmset","metadata","STATE","enforce","getterFor","TYPE","ArrayPrototype","replacement","feature","detection","POLYFILL","NATIVE","PrototypeOfArrayIteratorPrototype","arrayIterator","getOwnPropertySymbols","Symbol","nativeFunctionToString","enumBugKeys","documentCreateElement","IE_PROTO","PROTOTYPE","Empty","createDict","iframeDocument","iframe","js","write","lt","close","Properties","objectKeys","IE8_DOM_DEFINE","nativeDefineProperty","Attributes","propertyIsEnumerableModule","nativeGetOwnPropertyDescriptor","internalObjectKeys","getOwnPropertyNames","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","arrayIncludes","arrayIndexOf","names","nativePropertyIsEnumerable","NASHORN_BUG","validateSetPrototypeOfArguments","setter","correctSetter","__proto__","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","Reflect","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","TAG","uid","SHARED","copyright","toInteger","requireObjectCoercible","CONVERT_TO_STRING","second","integer","IndexedObject","valueOf","postfix","NATIVE_SYMBOL","checkCorrectnessOfIteration","iterable","codePointAt","defineIterator","STRING_ITERATOR","setInternalState","iterated","_dedupe2","_interopRequireDefault","_defaultAttrs2","default","Icon","contents","tags","class","attrsToString","_icon2","_icons2","_tags2","reduce","_toSvg2","_replace2","icons","toSvg","elementsToReplace","elementAttrs","getAttrs","svgString","DOMParser","parseFromString","replaceChild","replaceElement","_icons"],"mappings":";4FAAA,gRAIA,IAqpBIA,EAAa,CACfC,OAAQ,MACRC,SAAU,WACVC,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,6QAE3BC,EAAc,CAChBH,OAAQ,MACRC,SAAU,aACVC,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,iLAwO3BE,EAAW,CACbJ,OAAQ,MACRC,SAAU,SACVC,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,4PA8I3BG,EAAc,CAChBL,OAAQ,MACRC,SAAU,YACVC,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,+5BA6J3BI,EAAe,CACjBN,OAAQ,MACRC,SAAU,cACVC,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,iTAq5B3BK,EAAS,CACXP,OAAQ,MACRC,SAAU,OACVC,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,k9BAiB3BM,EAAa,CACfR,OAAQ,MACRC,SAAU,WACVC,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,23BA+H3BO,EAAY,CACdT,OAAQ,MACRC,SAAU,UACVC,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,0d,kDC3uE/B,qFAWEQ,QAAU,CAAC,EAXb,QAWgB,SAAUA,QACxB,aAEA,IAAIC,MAAQ,6BACRC,aAAe,GACfC,qBAAuB,OACvBC,iBAAkB,EAClBC,kBACAC,SAAW,iCAAiCC,KAAKC,UAAUC,WAC3DC,aAAe,CAAC,EAChBC,WAAaC,KAAKC,MAClBC,OACAC,OAASH,KAAKI,IACdC,QAAUL,KAAKM,KACfC,OAASP,KAAKQ,IACdC,SAAWT,KAAKU,MAChBC,OAASX,KAAKY,IACdC,OAASb,KAAKc,IACdC,QAAU,GACVC,OAAS,CAAC,EASd,SAASC,mBACP,MAAO,CAAC,CACV,EAVA,WACE,IACIC,EADAC,EAAgB,CAAC,MAAO,OAAQ,QAAS,OAAQ,QAAS,OAAQ,QAAS,QAAS,OAAQ,OAAQ,QAAS,QAAS,MAAO,OAAQ,MAAO,QAAS,SAAU,QAAS,OAAQ,MAAO,QAAS,OAAQ,QAAS,MAAO,MAAO,MAAO,SAAU,QAAS,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,QAAS,IAAK,OAAQ,MAAO,SAAU,QAAS,KAAM,UAAW,SAE1WC,EAAMD,EAAcE,OACtB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBF,OAAOG,EAAcD,IAAMlB,KAAKmB,EAAcD,GAEjD,CAPD,GAWAF,OAAOM,OAAStB,KAAKsB,OACrBN,OAAOR,IAAM,SAAUe,GAErB,GAAe,kBADKA,GACOA,EAAIF,OAAQ,CACrC,IACIH,EADAM,EAASC,iBAAiBF,EAAIF,QAEhCD,EAAMG,EAAIF,OACZ,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBM,EAAON,GAAKlB,KAAKQ,IAAIe,EAAIL,IAE3B,OAAOM,CACT,CACA,OAAOxB,KAAKQ,IAAIe,EAClB,EACA,IAAIG,qBAAuB,IACvBC,UAAY3B,KAAK4B,GAAK,IACtBC,YAAc,MAClB,SAASC,YAAYC,GAEjB7B,OADE6B,EACO/B,KAAKC,MAEL,SAAUsB,GACjB,OAAOA,CACT,CAEJ,CAEA,SAASS,SAASC,GAChBA,EAAQC,MAAMC,SAAW,WACzBF,EAAQC,MAAME,IAAM,EACpBH,EAAQC,MAAMG,KAAO,EACrBJ,EAAQC,MAAMI,QAAU,QACxBL,EAAQC,MAAMK,gBAAkBN,EAAQC,MAAMM,sBAAwB,MACtEP,EAAQC,MAAMO,mBAAqBR,EAAQC,MAAMQ,yBAA2B,UAC5ET,EAAQC,MAAMS,eAAiBV,EAAQC,MAAMU,qBAAuBX,EAAQC,MAAMW,kBAAoB,aACxG,CACA,SAASC,kBAAkBC,EAAMC,EAAaC,EAAWC,GACvDC,KAAKJ,KAAOA,EACZI,KAAKH,YAAcA,EACnBG,KAAKF,UAAYA,EACjBE,KAAKC,UAAYF,EAAkB,GAAK,EAAI,CAC9C,CACA,SAASG,gBAAgBN,EAAMG,GAC7BC,KAAKJ,KAAOA,EACZI,KAAKC,UAAYF,EAAkB,GAAK,EAAI,CAC9C,CACA,SAASI,oBAAoBP,EAAMQ,EAAYC,EAAaN,GAC1DC,KAAKJ,KAAOA,EACZI,KAAKK,YAAcA,EACnBL,KAAKI,WAAaA,EAClBJ,KAAKC,UAAYF,EAAkB,GAAK,EAAI,CAC9C,CACA,SAASO,oBAAoBV,EAAMW,EAAYC,GAC7CR,KAAKJ,KAAOA,EACZI,KAAKO,WAAaA,EAClBP,KAAKQ,YAAcA,CACrB,CACA,SAASC,eAAeb,EAAMc,GAC5BV,KAAKJ,KAAOA,EACZI,KAAKU,OAASA,CAChB,CACA,SAASC,wBAAwBC,EAAaf,GAC5CG,KAAKJ,KAAO,mBACZI,KAAKY,YAAcA,EACnBZ,KAAKH,YAAcA,CACrB,CACA,SAASgB,mBAAmBD,GAC1BZ,KAAKJ,KAAO,cACZI,KAAKY,YAAcA,CACrB,CACA,SAASE,4BAA4BlB,EAAMgB,GACzCZ,KAAKJ,KAAOA,EACZI,KAAKY,YAAcA,EACnBZ,KAAKH,YAAcA,WACrB,CAhDAlB,aAAY,GAiDZ,IAAIoC,iBACEC,OAAS,EACN,WACL,MAAO,uBAAwBA,MACjC,GAHIA,OAKN,SAASC,SAASC,EAAGC,EAAGC,GACtB,IAAIC,EAAGC,EAAGC,EAAGxD,EAAGyD,EAAGC,EAAGC,EAAGC,EAMzB,OAHAF,EAAIL,GAAK,EAAID,GACbO,EAAIN,GAAK,GAFTI,EAAQ,EAAJN,GADJnD,EAAIlB,KAAKU,MAAU,EAAJ2D,KAGEC,GACjBQ,EAAIP,GAAK,GAAK,EAAII,GAAKL,GACfpD,EAAI,GACV,KAAK,EACHsD,EAAID,EACJE,EAAIK,EACJJ,EAAIE,EACJ,MACF,KAAK,EACHJ,EAAIK,EACJJ,EAAIF,EACJG,EAAIE,EACJ,MACF,KAAK,EACHJ,EAAII,EACJH,EAAIF,EACJG,EAAII,EACJ,MACF,KAAK,EACHN,EAAII,EACJH,EAAII,EACJH,EAAIH,EACJ,MACF,KAAK,EACHC,EAAIM,EACJL,EAAIG,EACJF,EAAIH,EACJ,MACF,KAAK,EACHC,EAAID,EACJE,EAAIG,EACJF,EAAIG,EAGR,MAAO,CAACL,EAAGC,EAAGC,EAChB,CACA,SAASK,SAASP,EAAGC,EAAGC,GACtB,IAGEL,EAHEzD,EAAMZ,KAAKY,IAAI4D,EAAGC,EAAGC,GACvB5D,EAAMd,KAAKc,IAAI0D,EAAGC,EAAGC,GACrBM,EAAIpE,EAAME,EAEVwD,EAAY,IAAR1D,EAAY,EAAIoE,EAAIpE,EACxB2D,EAAI3D,EAAM,IACZ,OAAQA,GACN,KAAKE,EACHuD,EAAI,EACJ,MACF,KAAKG,EACHH,EAAII,EAAIC,EAAIM,GAAKP,EAAIC,EAAI,EAAI,GAC7BL,GAAK,EAAIW,EACT,MACF,KAAKP,EACHJ,EAAIK,EAAIF,EAAQ,EAAJQ,EACZX,GAAK,EAAIW,EACT,MACF,KAAKN,EACHL,EAAIG,EAAIC,EAAQ,EAAJO,EACZX,GAAK,EAAIW,EAGb,MAAO,CAACX,EAAGC,EAAGC,EAChB,CACA,SAASU,mBAAmBC,EAAOC,GACjC,IAAIC,EAAML,SAAoB,IAAXG,EAAM,GAAqB,IAAXA,EAAM,GAAqB,IAAXA,EAAM,IAOzD,OANAE,EAAI,IAAMD,EACNC,EAAI,GAAK,EACXA,EAAI,GAAK,EACAA,EAAI,IAAM,IACnBA,EAAI,GAAK,GAEJhB,SAASgB,EAAI,GAAIA,EAAI,GAAIA,EAAI,GACtC,CACA,SAASC,mBAAmBH,EAAOC,GACjC,IAAIC,EAAML,SAAoB,IAAXG,EAAM,GAAqB,IAAXA,EAAM,GAAqB,IAAXA,EAAM,IAOzD,OANAE,EAAI,IAAMD,EACNC,EAAI,GAAK,EACXA,EAAI,GAAK,EACAA,EAAI,GAAK,IAClBA,EAAI,GAAK,GAEJhB,SAASgB,EAAI,GAAIA,EAAI,GAAIA,EAAI,GACtC,CACA,SAASE,YAAYJ,EAAOC,GAC1B,IAAIC,EAAML,SAAoB,IAAXG,EAAM,GAAqB,IAAXA,EAAM,GAAqB,IAAXA,EAAM,IAOzD,OANAE,EAAI,IAAMD,EAAS,IACfC,EAAI,GAAK,EACXA,EAAI,IAAM,EACDA,EAAI,GAAK,IAClBA,EAAI,IAAM,GAELhB,SAASgB,EAAI,GAAIA,EAAI,GAAIA,EAAI,GACtC,CACA,IAAIG,SAAW,WACb,IACIrE,EACAsE,EAFAC,EAAW,GAGf,IAAKvE,EAAI,EAAGA,EAAI,IAAKA,GAAK,EACxBsE,EAAMtE,EAAEwE,SAAS,IACjBD,EAASvE,GAAmB,GAAdsE,EAAInE,OAAc,IAAMmE,EAAMA,EAE9C,OAAO,SAAUhB,EAAGC,EAAGC,GAUrB,OATIF,EAAI,IACNA,EAAI,GAEFC,EAAI,IACNA,EAAI,GAEFC,EAAI,IACNA,EAAI,GAEC,IAAMe,EAASjB,GAAKiB,EAAShB,GAAKgB,EAASf,EACpD,CACF,CApBe,GAqBf,SAASiB,YAAa,CACtBA,UAAUC,UAAY,CACpBC,aAAc,SAAUC,EAAWC,GACjC,GAAI5C,KAAK6C,KAAKF,GAEZ,IADA,IAAI1E,EAAM+B,KAAK6C,KAAKF,GAAWzE,OACtBH,EAAI,EAAGA,EAAIE,EAAKF,IACvBiC,KAAK6C,KAAKF,GAAW5E,GAAG6E,EAG9B,EACAE,iBAAkB,SAAUH,EAAWI,GAKrC,OAJK/C,KAAK6C,KAAKF,KACb3C,KAAK6C,KAAKF,GAAa,IAEzB3C,KAAK6C,KAAKF,GAAWK,KAAKD,GACnB,WACL/C,KAAKiD,oBAAoBN,EAAWI,EACtC,EAAEG,KAAKlD,KACT,EACAiD,oBAAqB,SAAUN,EAAWI,GACxC,GAAKA,GAEE,GAAI/C,KAAK6C,KAAKF,GAAY,CAG/B,IAFA,IAAI5E,EAAI,EACNE,EAAM+B,KAAK6C,KAAKF,GAAWzE,OACtBH,EAAIE,GACL+B,KAAK6C,KAAKF,GAAW5E,KAAOgF,IAC9B/C,KAAK6C,KAAKF,GAAWQ,OAAOpF,EAAG,GAC/BA,GAAK,EACLE,GAAO,GAETF,GAAK,EAEFiC,KAAK6C,KAAKF,GAAWzE,SACxB8B,KAAK6C,KAAKF,GAAa,KAE3B,OAfE3C,KAAK6C,KAAKF,GAAa,IAgB3B,GAEF,IAAIS,iBA4B+B,oBAAtBC,mBAA4D,oBAAjBC,aATtD,SAA0B1D,EAAM3B,GAC9B,MAAa,YAAT2B,EACK,IAAI0D,aAAarF,GACN,UAAT2B,EACF,IAAI2D,WAAWtF,GACJ,WAAT2B,EACF,IAAIyD,kBAAkBpF,QADxB,CAGT,EA1BA,SAA4B2B,EAAM3B,GAChC,IAEEuF,EAFEzF,EAAI,EACN0F,EAAM,GAER,OAAQ7D,GACN,IAAK,QACL,IAAK,SACH4D,EAAQ,EACR,MACF,QACEA,EAAQ,IAGZ,IAAKzF,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB0F,EAAIT,KAAKQ,GAEX,OAAOC,CACT,EAgBF,SAASnF,iBAAiBL,GACxB,OAAOyF,MAAMC,MAAM,KAAM,CACvBzF,OAAQD,GAEZ,CACA,SAAS2F,SAAShE,GAEhB,OAAOiE,SAASC,gBAAgB5H,MAAO0D,EACzC,CACA,SAASmE,UAAUnE,GAEjB,OAAOiE,SAASG,cAAcpE,EAChC,CACA,SAASqE,2BAA4B,CAErCA,yBAAyBxB,UAAY,CACnCyB,mBAAoB,SAAUC,IACkB,IAA1CnE,KAAKoE,kBAAkBC,QAAQF,KACjCnE,KAAKoE,kBAAkBpB,KAAKmB,GAC5BnE,KAAKsE,UAAUJ,mBAAmBlE,MAClCA,KAAKuE,aAAc,EAEvB,EACAC,yBAA0B,WACxBxE,KAAKyE,MAAO,EACZ,IAAI1G,EACFE,EAAM+B,KAAKoE,kBAAkBlG,OAC/B,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKoE,kBAAkBrG,GAAG2G,WACtB1E,KAAKoE,kBAAkBrG,GAAG0G,OAC5BzE,KAAKyE,MAAO,EAGlB,EACAE,6BAA8B,SAAUL,GACtCtE,KAAKsE,UAAYA,EACjBtE,KAAKoE,kBAAoB,GACzBpE,KAAKyE,MAAO,EACZzE,KAAKuE,aAAc,CACrB,GAEF,IAAIK,cACEC,eAAiB,CACnB,EAAG,cACH,EAAG,WACH,EAAG,SACH,EAAG,UACH,EAAG,SACH,EAAG,UACH,EAAG,cACH,EAAG,aACH,EAAG,aACH,EAAG,aACH,GAAI,aACJ,GAAI,YACJ,GAAI,MACJ,GAAI,aACJ,GAAI,QACJ,GAAI,cAEC,SAAUC,GACf,OAAOD,eAAeC,IAAS,EACjC,GApBID,eAmDFE,OAAS,WACX,IAAIC,EAAOnI,KAAKoI,IACZC,EAAOrI,KAAKsI,IACZC,EAAOvI,KAAKwI,IACZC,EAAOzI,KAAKC,MAChB,SAASyI,IAiBP,OAhBAvF,KAAKwF,MAAM,GAAK,EAChBxF,KAAKwF,MAAM,GAAK,EAChBxF,KAAKwF,MAAM,GAAK,EAChBxF,KAAKwF,MAAM,GAAK,EAChBxF,KAAKwF,MAAM,GAAK,EAChBxF,KAAKwF,MAAM,GAAK,EAChBxF,KAAKwF,MAAM,GAAK,EAChBxF,KAAKwF,MAAM,GAAK,EAChBxF,KAAKwF,MAAM,GAAK,EAChBxF,KAAKwF,MAAM,GAAK,EAChBxF,KAAKwF,MAAM,IAAM,EACjBxF,KAAKwF,MAAM,IAAM,EACjBxF,KAAKwF,MAAM,IAAM,EACjBxF,KAAKwF,MAAM,IAAM,EACjBxF,KAAKwF,MAAM,IAAM,EACjBxF,KAAKwF,MAAM,IAAM,EACVxF,IACT,CACA,SAASyF,EAAOC,GACd,GAAc,IAAVA,EACF,OAAO1F,KAET,IAAI2F,EAAOX,EAAKU,GACZE,EAAOV,EAAKQ,GAChB,OAAO1F,KAAK6F,GAAGF,GAAOC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC3E,CACA,SAASG,EAAQJ,GACf,GAAc,IAAVA,EACF,OAAO1F,KAET,IAAI2F,EAAOX,EAAKU,GACZE,EAAOV,EAAKQ,GAChB,OAAO1F,KAAK6F,GAAG,EAAG,EAAG,EAAG,EAAG,EAAGF,GAAOC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAC3E,CACA,SAASI,EAAQL,GACf,GAAc,IAAVA,EACF,OAAO1F,KAET,IAAI2F,EAAOX,EAAKU,GACZE,EAAOV,EAAKQ,GAChB,OAAO1F,KAAK6F,GAAGF,EAAM,EAAGC,EAAM,EAAG,EAAG,EAAG,EAAG,GAAIA,EAAM,EAAGD,EAAM,EAAG,EAAG,EAAG,EAAG,EAC3E,CACA,SAASK,EAAQN,GACf,GAAc,IAAVA,EACF,OAAO1F,KAET,IAAI2F,EAAOX,EAAKU,GACZE,EAAOV,EAAKQ,GAChB,OAAO1F,KAAK6F,GAAGF,GAAOC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC3E,CACA,SAASM,EAAMC,EAAIC,GACjB,OAAOnG,KAAK6F,GAAG,EAAGM,EAAID,EAAI,EAAG,EAAG,EAClC,CACA,SAASE,EAAKC,EAAIC,GAChB,OAAOtG,KAAKiG,MAAMb,EAAKiB,GAAKjB,EAAKkB,GACnC,CACA,SAASC,EAAaF,EAAIX,GACxB,IAAIC,EAAOX,EAAKU,GACZE,EAAOV,EAAKQ,GAChB,OAAO1F,KAAK6F,GAAGF,EAAMC,EAAM,EAAG,GAAIA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAGE,GAAG,EAAG,EAAG,EAAG,EAAGT,EAAKiB,GAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAGR,GAAGF,GAAOC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAErM,CACA,SAASa,EAAMN,EAAIC,EAAIM,GAIrB,OAHKA,GAAa,IAAPA,IACTA,EAAK,GAEI,IAAPP,GAAmB,IAAPC,GAAmB,IAAPM,EACnBzG,KAEFA,KAAK6F,GAAGK,EAAI,EAAG,EAAG,EAAG,EAAGC,EAAI,EAAG,EAAG,EAAG,EAAGM,EAAI,EAAG,EAAG,EAAG,EAAG,EACjE,CACA,SAASC,EAAaC,EAAGpF,EAAGqF,EAAG/E,EAAGgF,EAAGrF,EAAGF,EAAGJ,EAAGnD,EAAG+I,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAG1F,GAiBjE,OAhBAzB,KAAKwF,MAAM,GAAKmB,EAChB3G,KAAKwF,MAAM,GAAKjE,EAChBvB,KAAKwF,MAAM,GAAKoB,EAChB5G,KAAKwF,MAAM,GAAK3D,EAChB7B,KAAKwF,MAAM,GAAKqB,EAChB7G,KAAKwF,MAAM,GAAKhE,EAChBxB,KAAKwF,MAAM,GAAKlE,EAChBtB,KAAKwF,MAAM,GAAKtE,EAChBlB,KAAKwF,MAAM,GAAKzH,EAChBiC,KAAKwF,MAAM,GAAKsB,EAChB9G,KAAKwF,MAAM,IAAMuB,EACjB/G,KAAKwF,MAAM,IAAMwB,EACjBhH,KAAKwF,MAAM,IAAMyB,EACjBjH,KAAKwF,MAAM,IAAM0B,EACjBlH,KAAKwF,MAAM,IAAM2B,EACjBnH,KAAKwF,MAAM,IAAM/D,EACVzB,IACT,CACA,SAASoH,EAAUC,EAAIC,EAAIC,GAEzB,OADAA,EAAKA,GAAM,EACA,IAAPF,GAAmB,IAAPC,GAAmB,IAAPC,EACnBvH,KAAK6F,GAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAGwB,EAAIC,EAAIC,EAAI,GAE1DvH,IACT,CACA,SAASwH,EAAUC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GAC7E,IAAIC,EAAKzI,KAAKwF,MACd,GAAW,IAAPiC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,GAAmB,IAAPC,EAStI,OANAK,EAAG,IAAMA,EAAG,IAAMhB,EAAKgB,EAAG,IAAMJ,EAChCI,EAAG,IAAMA,EAAG,IAAMX,EAAKW,EAAG,IAAMH,EAChCG,EAAG,IAAMA,EAAG,IAAMN,EAAKM,EAAG,IAAMF,EAChCE,EAAG,IAAMA,EAAG,IAAMD,EAElBxI,KAAK0I,qBAAsB,EACpB1I,KAET,IAAI2I,EAAKF,EAAG,GACRG,EAAKH,EAAG,GACRI,EAAKJ,EAAG,GACRK,EAAKL,EAAG,GACRM,EAAKN,EAAG,GACRO,EAAKP,EAAG,GACRQ,EAAKR,EAAG,GACRS,EAAKT,EAAG,GACRU,EAAKV,EAAG,GACRW,EAAKX,EAAG,GACRY,EAAKZ,EAAG,IACRa,EAAKb,EAAG,IACRc,EAAKd,EAAG,IACRe,EAAKf,EAAG,IACRgB,EAAKhB,EAAG,IACRiB,EAAKjB,EAAG,IAwBZ,OAjBAA,EAAG,GAAKE,EAAKlB,EAAKmB,EAAKf,EAAKgB,EAAKZ,EAAKa,EAAKT,EAC3CI,EAAG,GAAKE,EAAKjB,EAAKkB,EAAKd,EAAKe,EAAKX,EAAKY,EAAKR,EAC3CG,EAAG,GAAKE,EAAKhB,EAAKiB,EAAKb,EAAKc,EAAKV,EAAKW,EAAKP,EAC3CE,EAAG,GAAKE,EAAKf,EAAKgB,EAAKZ,EAAKa,EAAKT,EAAKU,EAAKN,EAC3CC,EAAG,GAAKM,EAAKtB,EAAKuB,EAAKnB,EAAKoB,EAAKhB,EAAKiB,EAAKb,EAC3CI,EAAG,GAAKM,EAAKrB,EAAKsB,EAAKlB,EAAKmB,EAAKf,EAAKgB,EAAKZ,EAC3CG,EAAG,GAAKM,EAAKpB,EAAKqB,EAAKjB,EAAKkB,EAAKd,EAAKe,EAAKX,EAC3CE,EAAG,GAAKM,EAAKnB,EAAKoB,EAAKhB,EAAKiB,EAAKb,EAAKc,EAAKV,EAC3CC,EAAG,GAAKU,EAAK1B,EAAK2B,EAAKvB,EAAKwB,EAAKpB,EAAKqB,EAAKjB,EAC3CI,EAAG,GAAKU,EAAKzB,EAAK0B,EAAKtB,EAAKuB,EAAKnB,EAAKoB,EAAKhB,EAC3CG,EAAG,IAAMU,EAAKxB,EAAKyB,EAAKrB,EAAKsB,EAAKlB,EAAKmB,EAAKf,EAC5CE,EAAG,IAAMU,EAAKvB,EAAKwB,EAAKpB,EAAKqB,EAAKjB,EAAKkB,EAAKd,EAC5CC,EAAG,IAAMc,EAAK9B,EAAK+B,EAAK3B,EAAK4B,EAAKxB,EAAKyB,EAAKrB,EAC5CI,EAAG,IAAMc,EAAK7B,EAAK8B,EAAK1B,EAAK2B,EAAKvB,EAAKwB,EAAKpB,EAC5CG,EAAG,IAAMc,EAAK5B,EAAK6B,EAAKzB,EAAK0B,EAAKtB,EAAKuB,EAAKnB,EAC5CE,EAAG,IAAMc,EAAK3B,EAAK4B,EAAKxB,EAAKyB,EAAKrB,EAAKsB,EAAKlB,EAC5CxI,KAAK0I,qBAAsB,EACpB1I,IACT,CACA,SAAS2J,IAKP,OAJK3J,KAAK0I,sBACR1I,KAAK4J,YAAgC,IAAlB5J,KAAKwF,MAAM,IAA8B,IAAlBxF,KAAKwF,MAAM,IAA8B,IAAlBxF,KAAKwF,MAAM,IAA8B,IAAlBxF,KAAKwF,MAAM,IAA8B,IAAlBxF,KAAKwF,MAAM,IAA8B,IAAlBxF,KAAKwF,MAAM,IAA8B,IAAlBxF,KAAKwF,MAAM,IAA8B,IAAlBxF,KAAKwF,MAAM,IAA8B,IAAlBxF,KAAKwF,MAAM,IAA8B,IAAlBxF,KAAKwF,MAAM,IAA+B,IAAnBxF,KAAKwF,MAAM,KAAgC,IAAnBxF,KAAKwF,MAAM,KAAgC,IAAnBxF,KAAKwF,MAAM,KAAgC,IAAnBxF,KAAKwF,MAAM,KAAgC,IAAnBxF,KAAKwF,MAAM,KAAgC,IAAnBxF,KAAKwF,MAAM,KAC5XxF,KAAK0I,qBAAsB,GAEtB1I,KAAK4J,SACd,CACA,SAASC,EAAOC,GAEd,IADA,IAAI/L,EAAI,EACDA,EAAI,IAAI,CACb,GAAI+L,EAAKtE,MAAMzH,KAAOiC,KAAKwF,MAAMzH,GAC/B,OAAO,EAETA,GAAK,CACP,CACA,OAAO,CACT,CACA,SAASgM,EAAMD,GACb,IAAI/L,EACJ,IAAKA,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvB+L,EAAKtE,MAAMzH,GAAKiC,KAAKwF,MAAMzH,EAE/B,CACA,SAASiM,EAAexE,GACtB,IAAIzH,EACJ,IAAKA,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvBiC,KAAKwF,MAAMzH,GAAKyH,EAAMzH,EAE1B,CACA,SAASkM,EAAaC,EAAGC,EAAGC,GAC1B,MAAO,CACLF,EAAGA,EAAIlK,KAAKwF,MAAM,GAAK2E,EAAInK,KAAKwF,MAAM,GAAK4E,EAAIpK,KAAKwF,MAAM,GAAKxF,KAAKwF,MAAM,IAC1E2E,EAAGD,EAAIlK,KAAKwF,MAAM,GAAK2E,EAAInK,KAAKwF,MAAM,GAAK4E,EAAIpK,KAAKwF,MAAM,GAAKxF,KAAKwF,MAAM,IAC1E4E,EAAGF,EAAIlK,KAAKwF,MAAM,GAAK2E,EAAInK,KAAKwF,MAAM,GAAK4E,EAAIpK,KAAKwF,MAAM,IAAMxF,KAAKwF,MAAM,IAM/E,CACA,SAAS6E,EAASH,EAAGC,EAAGC,GACtB,OAAOF,EAAIlK,KAAKwF,MAAM,GAAK2E,EAAInK,KAAKwF,MAAM,GAAK4E,EAAIpK,KAAKwF,MAAM,GAAKxF,KAAKwF,MAAM,GAChF,CACA,SAAS8E,EAASJ,EAAGC,EAAGC,GACtB,OAAOF,EAAIlK,KAAKwF,MAAM,GAAK2E,EAAInK,KAAKwF,MAAM,GAAK4E,EAAIpK,KAAKwF,MAAM,GAAKxF,KAAKwF,MAAM,GAChF,CACA,SAAS+E,EAASL,EAAGC,EAAGC,GACtB,OAAOF,EAAIlK,KAAKwF,MAAM,GAAK2E,EAAInK,KAAKwF,MAAM,GAAK4E,EAAIpK,KAAKwF,MAAM,IAAMxF,KAAKwF,MAAM,GACjF,CACA,SAASgF,IACP,IAAIC,EAAczK,KAAKwF,MAAM,GAAKxF,KAAKwF,MAAM,GAAKxF,KAAKwF,MAAM,GAAKxF,KAAKwF,MAAM,GACzEmB,EAAI3G,KAAKwF,MAAM,GAAKiF,EACpBlJ,GAAKvB,KAAKwF,MAAM,GAAKiF,EACrB7D,GAAK5G,KAAKwF,MAAM,GAAKiF,EACrB5I,EAAI7B,KAAKwF,MAAM,GAAKiF,EACpB5D,GAAK7G,KAAKwF,MAAM,GAAKxF,KAAKwF,MAAM,IAAMxF,KAAKwF,MAAM,GAAKxF,KAAKwF,MAAM,KAAOiF,EACxEjJ,IAAMxB,KAAKwF,MAAM,GAAKxF,KAAKwF,MAAM,IAAMxF,KAAKwF,MAAM,GAAKxF,KAAKwF,MAAM,KAAOiF,EACzEC,EAAgB,IAAI3F,OAOxB,OANA2F,EAAclF,MAAM,GAAKmB,EACzB+D,EAAclF,MAAM,GAAKjE,EACzBmJ,EAAclF,MAAM,GAAKoB,EACzB8D,EAAclF,MAAM,GAAK3D,EACzB6I,EAAclF,MAAM,IAAMqB,EAC1B6D,EAAclF,MAAM,IAAMhE,EACnBkJ,CACT,CACA,SAASC,EAAaC,GAEpB,OADoB5K,KAAKwK,mBACJK,kBAAkBD,EAAG,GAAIA,EAAG,GAAIA,EAAG,IAAM,EAChE,CACA,SAASE,EAAcC,GACrB,IAAIhN,EACFE,EAAM8M,EAAI7M,OACV8M,EAAS,GACX,IAAKjN,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiN,EAAOjN,GAAK4M,EAAaI,EAAIhN,IAE/B,OAAOiN,CACT,CACA,SAASC,EAAoBC,EAAKC,EAAKC,GACrC,IAAI3H,EAAML,iBAAiB,UAAW,GACtC,GAAIpD,KAAK2J,aACPlG,EAAI,GAAKyH,EAAI,GACbzH,EAAI,GAAKyH,EAAI,GACbzH,EAAI,GAAK0H,EAAI,GACb1H,EAAI,GAAK0H,EAAI,GACb1H,EAAI,GAAK2H,EAAI,GACb3H,EAAI,GAAK2H,EAAI,OACR,CACL,IAAIC,EAAKrL,KAAKwF,MAAM,GAClBkE,EAAK1J,KAAKwF,MAAM,GAChB8F,EAAKtL,KAAKwF,MAAM,GAChB+F,EAAKvL,KAAKwF,MAAM,GAChBgG,EAAMxL,KAAKwF,MAAM,IACjBiG,EAAMzL,KAAKwF,MAAM,IACnB/B,EAAI,GAAKyH,EAAI,GAAKG,EAAKH,EAAI,GAAKI,EAAKE,EACrC/H,EAAI,GAAKyH,EAAI,GAAKxB,EAAKwB,EAAI,GAAKK,EAAKE,EACrChI,EAAI,GAAK0H,EAAI,GAAKE,EAAKF,EAAI,GAAKG,EAAKE,EACrC/H,EAAI,GAAK0H,EAAI,GAAKzB,EAAKyB,EAAI,GAAKI,EAAKE,EACrChI,EAAI,GAAK2H,EAAI,GAAKC,EAAKD,EAAI,GAAKE,EAAKE,EACrC/H,EAAI,GAAK2H,EAAI,GAAK1B,EAAK0B,EAAI,GAAKG,EAAKE,CACvC,CACA,OAAOhI,CACT,CACA,SAASoH,EAAkBX,EAAGC,EAAGC,GAO/B,OALIpK,KAAK2J,aACD,CAACO,EAAGC,EAAGC,GAEP,CAACF,EAAIlK,KAAKwF,MAAM,GAAK2E,EAAInK,KAAKwF,MAAM,GAAK4E,EAAIpK,KAAKwF,MAAM,GAAKxF,KAAKwF,MAAM,IAAK0E,EAAIlK,KAAKwF,MAAM,GAAK2E,EAAInK,KAAKwF,MAAM,GAAK4E,EAAIpK,KAAKwF,MAAM,GAAKxF,KAAKwF,MAAM,IAAK0E,EAAIlK,KAAKwF,MAAM,GAAK2E,EAAInK,KAAKwF,MAAM,GAAK4E,EAAIpK,KAAKwF,MAAM,IAAMxF,KAAKwF,MAAM,IAG3O,CACA,SAASkG,EAAwBxB,EAAGC,GAClC,GAAInK,KAAK2J,aACP,OAAOO,EAAI,IAAMC,EAEnB,IAAI1B,EAAKzI,KAAKwF,MACd,OAAO3I,KAAKC,MAAyC,KAAlCoN,EAAIzB,EAAG,GAAK0B,EAAI1B,EAAG,GAAKA,EAAG,MAAc,IAAM,IAAM5L,KAAKC,MAAyC,KAAlCoN,EAAIzB,EAAG,GAAK0B,EAAI1B,EAAG,GAAKA,EAAG,MAAc,GAC/H,CACA,SAASkD,IASP,IAJA,IAAI5N,EAAI,EACJyH,EAAQxF,KAAKwF,MACboG,EAAW,YAER7N,EAAI,IACT6N,GAAYtG,EAFN,IAEWE,EAAMzH,IAFjB,IAGN6N,GAAkB,KAAN7N,EAAW,IAAM,IAC7BA,GAAK,EAEP,OAAO6N,CACT,CACA,SAASC,EAAoBzN,GAE3B,OAAIA,EAAM,MAAYA,EAAM,GAAKA,GAAO,MAAYA,EAAM,EACjDkH,EAFD,IAEMlH,GAFN,IAIDA,CACT,CACA,SAAS0N,IAKP,IAAItG,EAAQxF,KAAKwF,MAOjB,MAAO,UANEqG,EAAoBrG,EAAM,IAMX,IALfqG,EAAoBrG,EAAM,IAKA,IAJ1BqG,EAAoBrG,EAAM,IAIW,IAHrCqG,EAAoBrG,EAAM,IAGsB,IAFhDqG,EAAoBrG,EAAM,KAEiC,IAD3DqG,EAAoBrG,EAAM,KAC4C,GACjF,CACA,OAAO,WACLxF,KAAKuF,MAAQA,EACbvF,KAAKyF,OAASA,EACdzF,KAAK8F,QAAUA,EACf9F,KAAK+F,QAAUA,EACf/F,KAAKgG,QAAUA,EACfhG,KAAKoG,KAAOA,EACZpG,KAAKuG,aAAeA,EACpBvG,KAAKiG,MAAQA,EACbjG,KAAKwG,MAAQA,EACbxG,KAAK0G,aAAeA,EACpB1G,KAAKoH,UAAYA,EACjBpH,KAAKwH,UAAYA,EACjBxH,KAAKiK,aAAeA,EACpBjK,KAAKqK,SAAWA,EAChBrK,KAAKsK,SAAWA,EAChBtK,KAAKuK,SAAWA,EAChBvK,KAAK6K,kBAAoBA,EACzB7K,KAAKiL,oBAAsBA,EAC3BjL,KAAK0L,wBAA0BA,EAC/B1L,KAAK2L,MAAQA,EACb3L,KAAK8L,QAAUA,EACf9L,KAAK+J,MAAQA,EACb/J,KAAKgK,eAAiBA,EACtBhK,KAAK6J,OAASA,EACd7J,KAAK8K,cAAgBA,EACrB9K,KAAK2K,aAAeA,EACpB3K,KAAKwK,iBAAmBA,EACxBxK,KAAK6F,GAAK7F,KAAKwH,UACfxH,KAAK2J,WAAaA,EAClB3J,KAAK4J,WAAY,EACjB5J,KAAK0I,qBAAsB,EAC3B1I,KAAKwF,MAAQpC,iBAAiB,UAAW,IACzCpD,KAAKuF,OACP,CACF,CA7Va,IAuXb,SAAWwG,EAAMC,GAIf,IAaEC,EAbEC,EAASlM,KACXmM,EAAQ,IAMRC,EAAU,SAEVC,EAAaL,EAAK/O,IAAIkP,EANb,GAOTG,EAAeN,EAAK/O,IAAI,EALf,IAMTsP,EAA0B,EAAfD,EACXE,EAAOL,EAAQ,EAyFjB,SAASM,EAAKC,GACZ,IAAI/K,EACFgL,EAASD,EAAIxO,OACb0O,EAAK5M,KACLjC,EAAI,EACJ+I,EAAI8F,EAAG7O,EAAI6O,EAAG9F,EAAI,EAClB3F,EAAIyL,EAAGC,EAAI,GAQb,IALKF,IACHD,EAAM,CAACC,MAIF5O,EAAIoO,GACThL,EAAEpD,GAAKA,IAET,IAAKA,EAAI,EAAGA,EAAIoO,EAAOpO,IACrBoD,EAAEpD,GAAKoD,EAAE2F,EAAI0F,EAAO1F,EAAI4F,EAAI3O,EAAI4O,IAAWhL,EAAIR,EAAEpD,KACjDoD,EAAE2F,GAAKnF,EAITiL,EAAGtL,EAAI,SAAUwL,GAOf,IALA,IAAInL,EACFN,EAAI,EACJtD,EAAI6O,EAAG7O,EACP+I,EAAI8F,EAAG9F,EACP3F,EAAIyL,EAAGC,EACFC,KACLnL,EAAIR,EAAEpD,EAAIyO,EAAOzO,EAAI,GACrBsD,EAAIA,EAAI8K,EAAQhL,EAAEqL,GAAQrL,EAAEpD,GAAKoD,EAAE2F,EAAI0F,EAAO1F,EAAInF,KAAOR,EAAE2F,GAAKnF,IAIlE,OAFAiL,EAAG7O,EAAIA,EACP6O,EAAG9F,EAAIA,EACAzF,CAIT,CACF,CAMA,SAAS0L,EAAKvL,EAAGG,GAIf,OAHAA,EAAE5D,EAAIyD,EAAEzD,EACR4D,EAAEmF,EAAItF,EAAEsF,EACRnF,EAAEkL,EAAIrL,EAAEqL,EAAEG,QACHrL,CACT,CAMA,SAASsL,EAAQC,EAAKC,GACpB,IAEEhJ,EAFEiJ,EAAS,GACXC,SAAaH,EAEf,GAAIC,GAAgB,UAAPE,EACX,IAAKlJ,KAAQ+I,EACX,IACEE,EAAOpK,KAAKiK,EAAQC,EAAI/I,GAAOgJ,EAAQ,GACzC,CAAE,MAAOtG,GAAI,CAGjB,OAAOuG,EAAOlP,OAASkP,EAAgB,UAAPC,EAAkBH,EAAMA,EAAM,IAChE,CAOA,SAASI,EAAOC,EAAMb,GAIpB,IAHA,IACEc,EADEC,EAAaF,EAAO,GAEtBzG,EAAI,EACCA,EAAI2G,EAAWvP,QACpBwO,EAAIF,EAAO1F,GAAK0F,GAAQgB,GAAyB,GAAhBd,EAAIF,EAAO1F,IAAW2G,EAAWC,WAAW5G,KAE/E,OAAO6G,EAASjB,EAClB,CA0BA,SAASiB,EAAShH,GAChB,OAAOiH,OAAOC,aAAalK,MAAM,EAAGgD,EACtC,CA7HAqF,EAAK,OAASI,GAtEd,SAAoBmB,EAAMO,EAAS/K,GACjC,IAAI2J,EAAM,GAMNqB,EAAYT,EAAOL,GALvBa,GAAsB,IAAZA,EAAmB,CAC3BE,SAAS,GACPF,GAAW,CAAC,GAGuBE,QAAU,CAACT,EAAMI,EAAS5B,IAAkB,OAATwB,EAuK5E,WACE,IACE,GAAItB,EACF,OAAO0B,EAAS1B,EAAWgC,YAAY9B,IAEzC,IAAI+B,EAAM,IAAIC,WAAWhC,GAEzB,OADCD,EAAOkC,QAAUlC,EAAOmC,UAAUC,gBAAgBJ,GAC5CP,EAASO,EAClB,CAAE,MAAOrH,GACP,IAAI0H,EAAUrC,EAAOzP,UACnB+R,EAAUD,GAAWA,EAAQC,QAC/B,MAAO,EAAE,IAAIC,KAAQvC,EAAQsC,EAAStC,EAAOwC,OAAQf,EAAS5B,GAChE,CACF,CApL4F4C,GAAapB,EAAM,GAAIb,GAG7GkC,EAAO,IAAInC,EAAKC,GAIhBmC,EAAO,WAMT,IALA,IAAI3H,EAAI0H,EAAKtN,EA/BN,GAiCLO,EAAIwK,EAEJnC,EAAI,EACChD,EAAIoF,GAETpF,GAAKA,EAAIgD,GAAKiC,EACdtK,GAAKsK,EACLjC,EAAI0E,EAAKtN,EAAE,GAEb,KAAO4F,GAAKqF,GAEVrF,GAAK,EACLrF,GAAK,EACLqI,KAAO,EAET,OAAQhD,EAAIgD,GAAKrI,CACnB,EAaA,OAZAgN,EAAKC,MAAQ,WACX,OAAmB,EAAZF,EAAKtN,EAAE,EAChB,EACAuN,EAAKE,MAAQ,WACX,OAAOH,EAAKtN,EAAE,GAAK,UACrB,EACAuN,EAAKG,OAASH,EAGdvB,EAAOK,EAASiB,EAAK/B,GAAId,IAGjB+B,EAAQmB,MAAQlM,GAAY,SAAU8L,EAAMtB,EAAM2B,EAAcC,GActE,OAbIA,IAEEA,EAAMtC,GACRE,EAAKoC,EAAOP,GAGdC,EAAKM,MAAQ,WACX,OAAOpC,EAAK6B,EAAM,CAAC,EACrB,GAKEM,GACFlD,EAAKI,GAAWyC,EACTtB,GAKGsB,CACd,GAAGA,EAAMd,EAAW,WAAYD,EAAUA,EAAQ5B,OAASlM,MAAQgM,EAAM8B,EAAQqB,MACnF,EAuIA7B,EAAOtB,EAAK7N,SAAU4N,EAQvB,CA3OD,CA2OG,GAEHlO,QAEA,IAAIuR,cAAgB,WAYlB,IAAIC,EAAK,CACTA,gBAEA,SAAyB1I,EAAGpF,EAAGqF,EAAG/E,EAAGyN,GACnC,IAAIC,EAAMD,IAAO,OAAS3I,EAAI,IAAMpF,EAAI,IAAMqF,EAAI,IAAM/E,GAAG2N,QAAQ,MAAO,KAC1E,GAAIC,EAAQF,GACV,OAAOE,EAAQF,GAEjB,IAAIG,EAAY,IAAIC,EAAa,CAAChJ,EAAGpF,EAAGqF,EAAG/E,IAE3C,OADA4N,EAAQF,GAAOG,EACRA,CACT,GATID,EAAU,CAAC,EAgBXG,EAAmB,GACnBC,EAAkB,GAAOD,EAAmB,GAC5CE,EAAgD,oBAAjBxM,aACnC,SAASyM,EAAEC,EAAKC,GACd,OAAO,EAAM,EAAMA,EAAM,EAAMD,CACjC,CACA,SAASE,EAAEF,EAAKC,GACd,OAAO,EAAMA,EAAM,EAAMD,CAC3B,CACA,SAASG,EAAEH,GACT,OAAO,EAAMA,CACf,CAGA,SAASI,EAAWC,EAAIL,EAAKC,GAC3B,QAASF,EAAEC,EAAKC,GAAOI,EAAKH,EAAEF,EAAKC,IAAQI,EAAKF,EAAEH,IAAQK,CAC5D,CAGA,SAASC,EAASD,EAAIL,EAAKC,GACzB,OAAO,EAAMF,EAAEC,EAAKC,GAAOI,EAAKA,EAAK,EAAMH,EAAEF,EAAKC,GAAOI,EAAKF,EAAEH,EAClE,CA6BA,SAASL,EAAaY,GACpBvQ,KAAKyI,GAAK8H,EACVvQ,KAAKwQ,eAAiBV,EAAwB,IAAIxM,aAAasM,GAAoB,IAAIlM,MAAMkM,GAC7F5P,KAAKyQ,cAAe,EACpBzQ,KAAK0Q,IAAM1Q,KAAK0Q,IAAIxN,KAAKlD,KAC3B,CA2DA,OA1DA2P,EAAalN,UAAY,CACvBiO,IAAK,SAAUxG,GACb,IAAIyG,EAAM3Q,KAAKyI,GAAG,GAChBmI,EAAM5Q,KAAKyI,GAAG,GACdoI,EAAM7Q,KAAKyI,GAAG,GACdqI,EAAM9Q,KAAKyI,GAAG,GAEhB,OADKzI,KAAKyQ,cAAczQ,KAAK+Q,cACzBJ,IAAQC,GAAOC,IAAQC,EAAY5G,EAE7B,IAANA,EAAgB,EACV,IAANA,EAAgB,EACbkG,EAAWpQ,KAAKgR,UAAU9G,GAAI0G,EAAKE,EAC5C,EAGAC,YAAa,WACX,IAAIJ,EAAM3Q,KAAKyI,GAAG,GAChBmI,EAAM5Q,KAAKyI,GAAG,GACdoI,EAAM7Q,KAAKyI,GAAG,GACdqI,EAAM9Q,KAAKyI,GAAG,GAChBzI,KAAKyQ,cAAe,EAChBE,IAAQC,GAAOC,IAAQC,GAAK9Q,KAAKiR,mBACvC,EACAA,kBAAmB,WAGjB,IAFA,IAAIN,EAAM3Q,KAAKyI,GAAG,GAChBoI,EAAM7Q,KAAKyI,GAAG,GACP1K,EAAI,EAAGA,EAAI6R,IAAoB7R,EACtCiC,KAAKwQ,eAAezS,GAAKqS,EAAWrS,EAAI8R,EAAiBc,EAAKE,EAElE,EAIAG,UAAW,SAAUE,GAOnB,IANA,IAAIP,EAAM3Q,KAAKyI,GAAG,GAChBoI,EAAM7Q,KAAKyI,GAAG,GACd0I,EAAgBnR,KAAKwQ,eACnBY,EAAgB,EAChBC,EAAgB,EAChBC,EAAa1B,EAAmB,EAC7ByB,IAAkBC,GAAcH,EAAcE,IAAkBH,IAAMG,EAC3ED,GAAiBvB,EAKnB,IACI0B,EAAYH,GADJF,EAAKC,IAHfE,KAGgDF,EAAcE,EAAgB,GAAKF,EAAcE,IAC5DxB,EACnC2B,EAAelB,EAASiB,EAAWZ,EAAKE,GAC5C,OAAIW,GA5Ge,KAwCvB,SAA8BN,EAAIO,EAASd,EAAKE,GAC9C,IAAK,IAAI9S,EAAI,EAAGA,EA1CM,IA0CmBA,EAAG,CAC1C,IAAI2T,EAAepB,EAASmB,EAASd,EAAKE,GAC1C,GAAqB,IAAjBa,EAAsB,OAAOD,EAEjCA,IADerB,EAAWqB,EAASd,EAAKE,GAAOK,GACzBQ,CACxB,CACA,OAAOD,CACT,CA6DaE,CAAqBT,EAAIK,EAAWZ,EAAKE,GACtB,IAAjBW,EACFD,EAtFb,SAAyBL,EAAIU,EAAIC,EAAIlB,EAAKE,GACxC,IAAIiB,EACFC,EACAhU,EAAI,EACN,IAEE+T,EAAW1B,EADX2B,EAAWH,GAAMC,EAAKD,GAAM,EACIjB,EAAKE,GAAOK,GAC7B,EACbW,EAAKE,EAELH,EAAKG,QAEAlV,KAAKQ,IAAIyU,GApCQ,QAoC+B/T,EAnC1B,IAoC/B,OAAOgU,CACT,CA0EaC,CAAgBd,EAAIE,EAAeA,EAAgBvB,EAAiBc,EAAKE,EAEpF,GAEKxB,CACT,CAjJoB,GAsKpB,SAAS4C,gBAAgBC,EAASC,GAChC,IAAIpU,EAEFqU,EADAnU,EAAMiU,EAAQhU,OAEhB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAExB,IAAK,IAAIsU,KADTD,EAAkBF,EAAQnU,GAAG0E,UAEvB2P,EAAgBE,eAAeD,KAAOF,EAAY1P,UAAU4P,GAAQD,EAAgBC,GAG9F,CACA,SAASE,cAAcC,EAAQrO,GAC7B,OAAOsO,OAAOC,yBAAyBF,EAAQrO,EACjD,CACA,SAASwO,oBAAoBlQ,GAC3B,SAASmQ,IAAiB,CAE1B,OADAA,EAAcnQ,UAAYA,EACnBmQ,CACT,CACA,SAASC,cAGP,SAASC,EAAcC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GACzC,IAAIC,EAAON,EAAKG,EAAKF,EAAKG,EAAKF,EAAKG,EAAKD,EAAKD,EAAKE,EAAKL,EAAKE,EAAKD,EAClE,OAAOK,GAAQ,MAASA,EAAO,IACjC,CAJWxW,KA0BX,IAAIyW,EACK,SAAUpI,EAAKC,EAAKC,EAAKmI,GAC9B,IACIxM,EACAhJ,EAAGE,EACHuV,EACFC,EAEEC,EANAC,EAAgBpV,qBAKlBqV,EAAc,EAEZC,EAAQ,GACVC,EAAY,GACVC,EAAaC,mBAAmBC,aAEpC,IADAhW,EAAMmN,EAAIlN,OACL6I,EAAI,EAAGA,EAAI4M,EAAe5M,GAAK,EAAG,CAGrC,IAFA0M,EAAO1M,GAAK4M,EAAgB,GAC5BD,EAAa,EACR3V,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxByV,EAAUxW,OAAO,EAAIyW,EAAM,GAAKvI,EAAInN,GAAK,EAAIf,OAAO,EAAIyW,EAAM,GAAKA,EAAOrI,EAAIrN,GAAK,GAAK,EAAI0V,GAAQzW,OAAOyW,EAAM,GAAKF,EAAIxV,GAAKf,OAAOyW,EAAM,GAAKtI,EAAIpN,GACrJ8V,EAAM9V,GAAKyV,EACU,OAAjBM,EAAU/V,KACZ2V,GAAc1W,OAAO6W,EAAM9V,GAAK+V,EAAU/V,GAAI,IAEhD+V,EAAU/V,GAAK8V,EAAM9V,GAEnB2V,IAEFE,GADAF,EAAaxW,QAAQwW,IAGvBK,EAAWG,SAASnN,GAAK0M,EACzBM,EAAWI,QAAQpN,GAAK6M,CAC1B,CAEA,OADAG,EAAWH,YAAcA,EAClBG,CACT,EAuBF,SAASK,EAAWlW,GAClB8B,KAAKqU,cAAgB,EACrBrU,KAAKuQ,OAAS,IAAI7M,MAAMxF,EAC1B,CACA,SAASoW,EAAUC,EAASV,GAC1B7T,KAAKwU,cAAgBD,EACrBvU,KAAK6T,MAAQA,CACf,CACA,IACMY,EADFC,GACED,EAAa,CAAC,EACX,SAAUvJ,EAAKC,EAAKC,EAAKmI,GAC9B,IAAIoB,GAAczJ,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMC,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMC,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMmI,EAAI,GAAK,IAAMA,EAAI,IAAI/D,QAAQ,MAAO,KAClJ,IAAKiF,EAAWE,GAAa,CAC3B,IACI5N,EAAGhJ,EAAGE,EACNuV,EACFC,EAEEC,EACAG,EANAF,EAAgBpV,qBAIlBqV,EAAc,EAGdE,EAAY,KACK,IAAf5I,EAAIhN,SAAiBgN,EAAI,IAAMC,EAAI,IAAMD,EAAI,IAAMC,EAAI,KAAO2H,EAAc5H,EAAI,GAAIA,EAAI,GAAIC,EAAI,GAAIA,EAAI,GAAID,EAAI,GAAKE,EAAI,GAAIF,EAAI,GAAKE,EAAI,KAAO0H,EAAc5H,EAAI,GAAIA,EAAI,GAAIC,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAKoI,EAAI,GAAIpI,EAAI,GAAKoI,EAAI,MAC/NI,EAAgB,GAElB,IAAIiB,EAAa,IAAIR,EAAWT,GAEhC,IADA1V,EAAMmN,EAAIlN,OACL6I,EAAI,EAAGA,EAAI4M,EAAe5M,GAAK,EAAG,CAIrC,IAHA8M,EAAQvV,iBAAiBL,GACzBwV,EAAO1M,GAAK4M,EAAgB,GAC5BD,EAAa,EACR3V,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxByV,EAAUxW,OAAO,EAAIyW,EAAM,GAAKvI,EAAInN,GAAK,EAAIf,OAAO,EAAIyW,EAAM,GAAKA,GAAQvI,EAAInN,GAAKqN,EAAIrN,IAAM,GAAK,EAAI0V,GAAQzW,OAAOyW,EAAM,IAAMtI,EAAIpN,GAAKwV,EAAIxV,IAAMf,OAAOyW,EAAM,GAAKtI,EAAIpN,GAC3K8V,EAAM9V,GAAKyV,EACO,OAAdM,IACFJ,GAAc1W,OAAO6W,EAAM9V,GAAK+V,EAAU/V,GAAI,IAIlD6V,GADAF,EAAaxW,QAAQwW,GAErBkB,EAAWrE,OAAOxJ,GAAK,IAAIuN,EAAUZ,EAAYG,GACjDC,EAAYD,CACd,CACAe,EAAWP,cAAgBT,EAC3Ba,EAAWE,GAAcC,CAC3B,CACA,OAAOH,EAAWE,EACpB,GAEF,SAASE,EAAgBpB,EAAMmB,GAC7B,IAAIV,EAAWU,EAAWV,SACtBC,EAAUS,EAAWT,QACrBlW,EAAMiW,EAAShW,OACf4W,EAAUxX,UAAUW,EAAM,GAAKwV,GAC/BsB,EAAYtB,EAAOmB,EAAWhB,YAC9BoB,EAAQ,EACZ,GAAIF,IAAY7W,EAAM,GAAiB,IAAZ6W,GAAiBC,IAAcZ,EAAQW,GAChE,OAAOZ,EAASY,GAIhB,IAFA,IAAIG,EAAMd,EAAQW,GAAWC,GAAa,EAAI,EAC1CnW,GAAO,EACJA,GAOL,GANIuV,EAAQW,IAAYC,GAAaZ,EAAQW,EAAU,GAAKC,GAC1DC,GAASD,EAAYZ,EAAQW,KAAaX,EAAQW,EAAU,GAAKX,EAAQW,IACzElW,GAAO,GAEPkW,GAAWG,EAETH,EAAU,GAAKA,GAAW7W,EAAM,EAAG,CAErC,GAAI6W,IAAY7W,EAAM,EACpB,OAAOiW,EAASY,GAElBlW,GAAO,CACT,CAEF,OAAOsV,EAASY,IAAYZ,EAASY,EAAU,GAAKZ,EAASY,IAAYE,CAE7E,CAUA,IAAIE,EAAwB9R,iBAAiB,UAAW,GAqCxD,MAAO,CACL+R,kBAlJF,SAA2BC,GACzB,IAKIrX,EALAsX,EAAiBC,qBAAqBrB,aACtCsB,EAASH,EAAUxO,EACnB4O,EAAQJ,EAAUhU,EAClBqU,EAAQL,EAAUjO,EAClBuO,EAAQN,EAAUrX,EAEpBE,EAAMmX,EAAUO,QACdxB,EAAUkB,EAAelB,QACzByB,EAAc,EAClB,IAAK7X,EAAI,EAAGA,EAAIE,EAAM,EAAGF,GAAK,EAC5BoW,EAAQpW,GAAKuV,EAAgBkC,EAAMzX,GAAIyX,EAAMzX,EAAI,GAAI0X,EAAM1X,GAAI2X,EAAM3X,EAAI,IACzE6X,GAAezB,EAAQpW,GAAG6V,YAO5B,OALI2B,GAAUtX,IACZkW,EAAQpW,GAAKuV,EAAgBkC,EAAMzX,GAAIyX,EAAM,GAAIC,EAAM1X,GAAI2X,EAAM,IACjEE,GAAezB,EAAQpW,GAAG6V,aAE5ByB,EAAeO,YAAcA,EACtBP,CACT,EA+HEQ,cAtCF,SAAuB3K,EAAKC,EAAKC,EAAKmI,EAAKuC,EAAWC,EAASnB,GAE7D,IAGI7W,EAHAiY,EAAKnB,EADTiB,EAAYA,EAAY,EAAI,EAAIA,EAAY,EAAI,EAAIA,EAChBlB,GAEhCqB,EAAKpB,EADTkB,EAAUA,EAAU,EAAI,EAAIA,EACMnB,GAEhC3W,EAAMiN,EAAIhN,OACRgY,EAAK,EAAIF,EACTG,EAAK,EAAIF,EACTG,EAASF,EAAKA,EAAKA,EACnBG,EAAWL,EAAKE,EAAKA,EAAK,EAC1BI,EAAWN,EAAKA,EAAKE,EAAK,EAC1BK,EAASP,EAAKA,EAAKA,EAEnBQ,EAASN,EAAKA,EAAKC,EACnBM,EAAWT,EAAKE,EAAKC,EAAKD,EAAKF,EAAKG,EAAKD,EAAKA,EAAKD,EACnDS,EAAWV,EAAKA,EAAKG,EAAKD,EAAKF,EAAKC,EAAKD,EAAKE,EAAKD,EACnDU,EAASX,EAAKA,EAAKC,EAEnBW,EAASV,EAAKC,EAAKA,EACnBU,EAAWb,EAAKG,EAAKA,EAAKD,EAAKD,EAAKE,EAAKD,EAAKC,EAAKF,EACnDa,EAAWd,EAAKC,EAAKE,EAAKD,EAAKD,EAAKA,EAAKD,EAAKG,EAAKF,EACnDc,EAASf,EAAKC,EAAKA,EAEnBe,EAASb,EAAKA,EAAKA,EACnBc,EAAWhB,EAAKE,EAAKA,EAAKA,EAAKF,EAAKE,EAAKA,EAAKA,EAAKF,EACnDiB,EAAWjB,EAAKA,EAAKE,EAAKA,EAAKF,EAAKA,EAAKA,EAAKE,EAAKF,EACnDkB,EAASlB,EAAKA,EAAKA,EACvB,IAAKlY,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBmX,EAA0B,EAAJnX,GAASlB,KAAKC,MAAoF,KAA7EsZ,EAASlL,EAAInN,GAAKsY,EAAWjL,EAAIrN,GAAKuY,EAAW/C,EAAIxV,GAAKwY,EAASpL,EAAIpN,KAAc,IAChImX,EAA0B,EAAJnX,EAAQ,GAAKlB,KAAKC,MAAoF,KAA7E0Z,EAAStL,EAAInN,GAAK0Y,EAAWrL,EAAIrN,GAAK2Y,EAAWnD,EAAIxV,GAAK4Y,EAASxL,EAAIpN,KAAc,IACpImX,EAA0B,EAAJnX,EAAQ,GAAKlB,KAAKC,MAAoF,KAA7E8Z,EAAS1L,EAAInN,GAAK8Y,EAAWzL,EAAIrN,GAAK+Y,EAAWvD,EAAIxV,GAAKgZ,EAAS5L,EAAIpN,KAAc,IACpImX,EAA0B,EAAJnX,EAAQ,GAAKlB,KAAKC,MAAoF,KAA7Eka,EAAS9L,EAAInN,GAAKkZ,EAAW7L,EAAIrN,GAAKmZ,EAAW3D,EAAIxV,GAAKoZ,EAAShM,EAAIpN,KAAc,IAEtI,OAAOmX,CACT,EAIEkC,kBAjDF,SAA2BlM,EAAKC,EAAKC,EAAKmI,EAAK8D,EAASzC,GACtD,IAAIqB,EAAKpB,EAAgBwC,EAASzC,GAE9BuB,EAAK,EAAIF,EAGb,MAAO,CAFGpZ,KAAKC,MAAwK,KAAjKqZ,EAAKA,EAAKA,EAAKjL,EAAI,IAAM+K,EAAKE,EAAKA,EAAKA,EAAKF,EAAKE,EAAKA,EAAKA,EAAKF,GAAM7K,EAAI,IAAM6K,EAAKA,EAAKE,EAAKA,EAAKF,EAAKA,EAAKA,EAAKE,EAAKF,GAAM1C,EAAI,GAAK0C,EAAKA,EAAKA,EAAK9K,EAAI,KAAc,IACrLtO,KAAKC,MAAwK,KAAjKqZ,EAAKA,EAAKA,EAAKjL,EAAI,IAAM+K,EAAKE,EAAKA,EAAKA,EAAKF,EAAKE,EAAKA,EAAKA,EAAKF,GAAM7K,EAAI,IAAM6K,EAAKA,EAAKE,EAAKA,EAAKF,EAAKA,EAAKA,EAAKE,EAAKF,GAAM1C,EAAI,GAAK0C,EAAKA,EAAKA,EAAK9K,EAAI,KAAc,IAEjM,EA2CEuJ,gBAAiBA,EACjB5B,cAAeA,EACfwE,cA/MF,SAAuBvE,EAAIC,EAAIuE,EAAItE,EAAIC,EAAIsE,EAAIrE,EAAIC,EAAIqE,GACrD,GAAW,IAAPF,GAAmB,IAAPC,GAAmB,IAAPC,EAC1B,OAAO3E,EAAcC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GAE3C,IAGIsE,EAHAC,EAAQ9a,KAAKM,KAAKN,KAAKI,IAAIgW,EAAKF,EAAI,GAAKlW,KAAKI,IAAIiW,EAAKF,EAAI,GAAKnW,KAAKI,IAAIua,EAAKD,EAAI,IAClFK,EAAQ/a,KAAKM,KAAKN,KAAKI,IAAIkW,EAAKJ,EAAI,GAAKlW,KAAKI,IAAImW,EAAKJ,EAAI,GAAKnW,KAAKI,IAAIwa,EAAKF,EAAI,IAClFM,EAAQhb,KAAKM,KAAKN,KAAKI,IAAIkW,EAAKF,EAAI,GAAKpW,KAAKI,IAAImW,EAAKF,EAAI,GAAKrW,KAAKI,IAAIwa,EAAKD,EAAI,IAatF,OATIE,EAFAC,EAAQC,EACND,EAAQE,EACCF,EAAQC,EAAQC,EAEhBA,EAAQD,EAAQD,EAEpBE,EAAQD,EACNC,EAAQD,EAAQD,EAEhBC,EAAQD,EAAQE,IAEV,MAAUH,EAAW,IAC1C,EA6LF,EA/PA,WAGE,IAFA,IAAII,EAAW,EACXC,EAAU,CAAC,KAAM,MAAO,SAAU,KAC7B7N,EAAI,EAAGA,EAAI6N,EAAQ7Z,SAAWjC,OAAO+b,wBAAyB9N,EACrEjO,OAAO+b,sBAAwB/b,OAAO8b,EAAQ7N,GAAK,yBACnDjO,OAAOgc,qBAAuBhc,OAAO8b,EAAQ7N,GAAK,yBAA2BjO,OAAO8b,EAAQ7N,GAAK,+BAE9FjO,OAAO+b,wBAAuB/b,OAAO+b,sBAAwB,SAAUjV,EAAUjE,GACpF,IAAIoZ,GAAW,IAAIzJ,MAAO0J,UACtBC,EAAavb,KAAKY,IAAI,EAAG,IAAMya,EAAWJ,IAC1CO,EAAKC,YAAW,WAClBvV,EAASmV,EAAWE,EACtB,GAAGA,GAEH,OADAN,EAAWI,EAAWE,EACfC,CACT,GACKpc,OAAOgc,uBAAsBhc,OAAOgc,qBAAuB,SAAUI,GACxEE,aAAaF,EACf,EACD,CAnBD,GAgQA,IAAIG,IAAM3F,cACV,SAAS4F,sBAGP,SAASC,EAAeC,EAAQC,EAAOC,GACrC,IAAIC,EAEA/a,EAEA+I,EAAGiS,EAAMhS,EAAGiS,EAwUIC,EAzUlBhb,EAAM0a,EAAOza,OAEf,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAExB,GAAM,OADN+a,EAAYH,EAAO5a,MACS+a,EAAUI,UAAtC,CASA,GANAJ,EAAUI,WAAY,EAClBJ,EAAUK,KACZR,EAAO5a,EAAI,GAAGqb,GAAKN,EAAUK,IAI3BL,EAAUO,QAAS,CACrB,IAAIC,EAAYR,EAAUS,gBAE1B,IADAR,EAAOO,EAAUpb,OACZ4I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzB,GAAIwS,EAAUxS,GAAG8D,GAAG7D,EAAEhJ,EACpByb,EAA6BF,EAAUxS,GAAG8D,GAAG7D,QAG7C,IADAiS,EAAOM,EAAUxS,GAAG8D,GAAG7D,EAAE7I,OACpB6I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACrBuS,EAAUxS,GAAG8D,GAAG7D,EAAEA,GAAG5F,GACvBqY,EAA6BF,EAAUxS,GAAG8D,GAAG7D,EAAEA,GAAG5F,EAAE,IAElDmY,EAAUxS,GAAG8D,GAAG7D,EAAEA,GAAGF,GACvB2S,EAA6BF,EAAUxS,GAAG8D,GAAG7D,EAAEA,GAAGF,EAAE,GAK9D,CACqB,IAAjBiS,EAAUxR,IACZwR,EAAUH,OAASc,EAAeX,EAAUY,MAAOd,GACnDF,EAAeI,EAAUH,OAAQC,EAAOC,IACd,IAAjBC,EAAUxR,GACnBqS,EAAeb,EAAUc,QACA,GAAhBd,EAAUxR,KAqSC,KADJ2R,EAnSHH,GAoSRnX,EAAEgF,EAAEzI,QAAkB,MAAO+a,EAAKtX,EAAEF,IAC3CwX,EAAKY,aAAc,GArUnB,CAmCJ,CACA,SAASJ,EAAepB,EAAIO,GAG1B,IAFA,IAAI7a,EAAI,EACNE,EAAM2a,EAAM1a,OACPH,EAAIE,GAAK,CACd,GAAI2a,EAAM7a,GAAGsa,KAAOA,EAClB,OAAKO,EAAM7a,GAAG4a,OAAOmB,OAIdC,KAAKC,MAAMD,KAAKE,UAAUrB,EAAM7a,GAAG4a,UAHxCC,EAAM7a,GAAG4a,OAAOmB,QAAS,EAClBlB,EAAM7a,GAAG4a,QAIpB5a,GAAK,CACP,CACF,CACA,SAAS4b,EAAelW,GACtB,IAAI1F,EAEA+I,EAAGiS,EAEP,IAAKhb,EAHG0F,EAAIvF,OAGG,EAAGH,GAAK,EAAGA,GAAK,EAC7B,GAAiB,MAAb0F,EAAI1F,GAAGuJ,GACT,GAAI7D,EAAI1F,GAAGmc,GAAGnT,EAAEhJ,EACdyb,EAA6B/V,EAAI1F,GAAGmc,GAAGnT,QAGvC,IADAgS,EAAOtV,EAAI1F,GAAGmc,GAAGnT,EAAE7I,OACd4I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACrBrD,EAAI1F,GAAGmc,GAAGnT,EAAED,GAAG3F,GACjBqY,EAA6B/V,EAAI1F,GAAGmc,GAAGnT,EAAED,GAAG3F,EAAE,IAE5CsC,EAAI1F,GAAGmc,GAAGnT,EAAED,GAAGD,GACjB2S,EAA6B/V,EAAI1F,GAAGmc,GAAGnT,EAAED,GAAGD,EAAE,QAK9B,MAAbpD,EAAI1F,GAAGuJ,IAChBqS,EAAelW,EAAI1F,GAAGoc,GAe5B,CACA,SAASX,EAA6BY,GACpC,IAAIrc,EACFE,EAAMmc,EAAKrc,EAAEG,OACf,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBqc,EAAKrc,EAAEA,GAAG,IAAMqc,EAAKhZ,EAAErD,GAAG,GAC1Bqc,EAAKrc,EAAEA,GAAG,IAAMqc,EAAKhZ,EAAErD,GAAG,GAC1Bqc,EAAKjT,EAAEpJ,GAAG,IAAMqc,EAAKhZ,EAAErD,GAAG,GAC1Bqc,EAAKjT,EAAEpJ,GAAG,IAAMqc,EAAKhZ,EAAErD,GAAG,EAE9B,CACA,SAASsc,EAAaC,EAASC,GAC7B,IAAIC,EAAcD,EAAoBA,EAAkBE,MAAM,KAAO,CAAC,IAAK,IAAK,KAChF,OAAIH,EAAQ,GAAKE,EAAY,MAElBA,EAAY,GAAKF,EAAQ,MAGhCA,EAAQ,GAAKE,EAAY,MAElBA,EAAY,GAAKF,EAAQ,MAGhCA,EAAQ,GAAKE,EAAY,MAElBA,EAAY,GAAKF,EAAQ,UAA7B,GAGT,CACA,IAoCMI,EApCFC,EAAY,WACd,IAAID,EAAiB,CAAC,EAAG,EAAG,IAU5B,SAASE,EAAcjC,GACrB,IAAI5a,EAVmB8c,EACnBC,EAUF7c,EAAM0a,EAAOza,OACf,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACH,IAAjB4a,EAAO5a,GAAGuJ,KAbOuT,EAcHlC,EAAO5a,GAbvB+c,WAAeD,EAAUlZ,EAAEE,EAC/BgZ,EAAUlZ,EAAEE,EAAI,CACdkF,EAAG,CAAC,CACF5F,EAAG2Z,EACHnZ,EAAG,KAYT,CACA,OAAO,SAAUoZ,GACf,GAAIV,EAAaK,EAAgBK,EAAc3Z,KAC7CwZ,EAAcG,EAAcpC,QACxBoC,EAAcC,QAAQ,CACxB,IAAIjd,EACFE,EAAM8c,EAAcC,OAAO9c,OAC7B,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACpBgd,EAAcC,OAAOjd,GAAG4a,QAC1BiC,EAAcG,EAAcC,OAAOjd,GAAG4a,OAG5C,CAEJ,CACF,CAlCgB,GAmCZsC,GACEP,EAAiB,CAAC,EAAG,EAAG,IACrB,SAAUK,GACf,GAAIA,EAAcG,QAAUb,EAAaK,EAAgBK,EAAc3Z,GAAI,CACzE,IAAIrD,EAEF+I,EACAiS,EAGEoC,EAAUC,EALZnd,EAAM8c,EAAcG,MAAMhd,OAM5B,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB,GAAIgd,EAAcG,MAAMnd,GAAGkb,MAAQ8B,EAAcG,MAAMnd,GAAGkb,KAAKW,OAG7D,IADAb,GADAqC,EAAQL,EAAcG,MAAMnd,GAAGkb,KAAKW,OAAO,GAAGO,IACjCjc,OACR4I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,GACzBqU,EAAWC,EAAMtU,GAAGoT,GAAGnT,GACTsU,cACZ7B,EAA6B4B,EAAMtU,GAAGoT,GAAGnT,GACzCoU,EAASE,aAAc,EAKjC,CACF,GAEEC,EAAc,WAChB,IAAIZ,EAAiB,CAAC,EAAG,EAAG,GAC5B,SAASa,EAAc3B,GACrB,IAAI7b,EAEA+I,EAAGiS,EADL9a,EAAM2b,EAAO1b,OAEf,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB,GAAqB,OAAjB6b,EAAO7b,GAAGuJ,GACZiU,EAAc3B,EAAO7b,GAAGoc,SACnB,GAAqB,OAAjBP,EAAO7b,GAAGuJ,IAAgC,OAAjBsS,EAAO7b,GAAGuJ,GAC5C,GAAIsS,EAAO7b,GAAG6I,EAAEG,GAAK6S,EAAO7b,GAAG6I,EAAEG,EAAE,GAAGhJ,EAEpC,IADAgb,EAAOa,EAAO7b,GAAG6I,EAAEG,EAAE7I,OAChB4I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACrB8S,EAAO7b,GAAG6I,EAAEG,EAAED,GAAG3F,IACnByY,EAAO7b,GAAG6I,EAAEG,EAAED,GAAG3F,EAAE,IAAM,IACzByY,EAAO7b,GAAG6I,EAAEG,EAAED,GAAG3F,EAAE,IAAM,IACzByY,EAAO7b,GAAG6I,EAAEG,EAAED,GAAG3F,EAAE,IAAM,IACzByY,EAAO7b,GAAG6I,EAAEG,EAAED,GAAG3F,EAAE,IAAM,KAEvByY,EAAO7b,GAAG6I,EAAEG,EAAED,GAAGD,IACnB+S,EAAO7b,GAAG6I,EAAEG,EAAED,GAAGD,EAAE,IAAM,IACzB+S,EAAO7b,GAAG6I,EAAEG,EAAED,GAAGD,EAAE,IAAM,IACzB+S,EAAO7b,GAAG6I,EAAEG,EAAED,GAAGD,EAAE,IAAM,IACzB+S,EAAO7b,GAAG6I,EAAEG,EAAED,GAAGD,EAAE,IAAM,UAI7B+S,EAAO7b,GAAG6I,EAAEG,EAAE,IAAM,IACpB6S,EAAO7b,GAAG6I,EAAEG,EAAE,IAAM,IACpB6S,EAAO7b,GAAG6I,EAAEG,EAAE,IAAM,IACpB6S,EAAO7b,GAAG6I,EAAEG,EAAE,IAAM,GAI5B,CACA,SAAS6T,EAAcjC,GACrB,IAAI5a,EACFE,EAAM0a,EAAOza,OACf,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACH,IAAjB4a,EAAO5a,GAAGuJ,IACZiU,EAAc5C,EAAO5a,GAAG6b,OAG9B,CACA,OAAO,SAAUmB,GACf,GAAIV,EAAaK,EAAgBK,EAAc3Z,KAC7CwZ,EAAcG,EAAcpC,QACxBoC,EAAcC,QAAQ,CACxB,IAAIjd,EACFE,EAAM8c,EAAcC,OAAO9c,OAC7B,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACpBgd,EAAcC,OAAOjd,GAAG4a,QAC1BiC,EAAcG,EAAcC,OAAOjd,GAAG4a,OAG5C,CAEJ,CACF,CA1DkB,GA2Dd6C,EAAc,WAChB,IAAId,EAAiB,CAAC,EAAG,EAAG,IAC5B,SAASf,EAAelW,GACtB,IAAI1F,EAEA+I,EAAGiS,EAEP,IAAKhb,EAHG0F,EAAIvF,OAGG,EAAGH,GAAK,EAAGA,GAAK,EAC7B,GAAiB,MAAb0F,EAAI1F,GAAGuJ,GACT,GAAI7D,EAAI1F,GAAGmc,GAAGnT,EAAEhJ,EACd0F,EAAI1F,GAAGmc,GAAGnT,EAAEH,EAAInD,EAAI1F,GAAGwX,YAGvB,IADAwD,EAAOtV,EAAI1F,GAAGmc,GAAGnT,EAAE7I,OACd4I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACrBrD,EAAI1F,GAAGmc,GAAGnT,EAAED,GAAG3F,IACjBsC,EAAI1F,GAAGmc,GAAGnT,EAAED,GAAG3F,EAAE,GAAGyF,EAAInD,EAAI1F,GAAGwX,QAE7B9R,EAAI1F,GAAGmc,GAAGnT,EAAED,GAAGD,IACjBpD,EAAI1F,GAAGmc,GAAGnT,EAAED,GAAGD,EAAE,GAAGD,EAAInD,EAAI1F,GAAGwX,YAKf,MAAb9R,EAAI1F,GAAGuJ,IAChBqS,EAAelW,EAAI1F,GAAGoc,GAG5B,CACA,SAASS,EAAcjC,GACrB,IAAIG,EACA/a,EAEA+I,EAAGiS,EAAMhS,EAAGiS,EADd/a,EAAM0a,EAAOza,OAEf,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAAG,CAE3B,IADA+a,EAAYH,EAAO5a,IACLsb,QAAS,CACrB,IAAIC,EAAYR,EAAUS,gBAE1B,IADAR,EAAOO,EAAUpb,OACZ4I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzB,GAAIwS,EAAUxS,GAAG8D,GAAG7D,EAAEhJ,EACpBub,EAAUxS,GAAG8D,GAAG7D,EAAEH,EAAI0S,EAAUxS,GAAG2U,QAGnC,IADAzC,EAAOM,EAAUxS,GAAG8D,GAAG7D,EAAE7I,OACpB6I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACrBuS,EAAUxS,GAAG8D,GAAG7D,EAAEA,GAAG5F,IACvBmY,EAAUxS,GAAG8D,GAAG7D,EAAEA,GAAG5F,EAAE,GAAGyF,EAAI0S,EAAUxS,GAAG2U,IAEzCnC,EAAUxS,GAAG8D,GAAG7D,EAAEA,GAAGF,IACvByS,EAAUxS,GAAG8D,GAAG7D,EAAEA,GAAGF,EAAE,GAAGD,EAAI0S,EAAUxS,GAAG2U,GAKrD,CACqB,IAAjB3C,EAAUxR,IACZqS,EAAeb,EAAUc,OAE7B,CACF,CACA,OAAO,SAAUmB,GACf,GAAIV,EAAaK,EAAgBK,EAAc3Z,KAC7CwZ,EAAcG,EAAcpC,QACxBoC,EAAcC,QAAQ,CACxB,IAAIjd,EACFE,EAAM8c,EAAcC,OAAO9c,OAC7B,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACpBgd,EAAcC,OAAOjd,GAAG4a,QAC1BiC,EAAcG,EAAcC,OAAOjd,GAAG4a,OAG5C,CAEJ,CACF,CAzEkB,GA2FlB,IAAI+C,EAAW,CACfA,aAlBA,SAAsBX,EAAelC,GAC/BkC,EAAcY,aAGlBL,EAAYP,GACZJ,EAAUI,GACVE,EAAWF,GACXS,EAAYT,GACZrC,EAAeqC,EAAcpC,OAAQoC,EAAcC,OAAQnC,GAC3DkC,EAAcY,YAAa,EAE7B,GAYA,OAJAD,EAASJ,YAAcA,EACvBI,EAAST,WAAaA,EACtBS,EAASF,YAAcA,EACvBE,EAAShD,eAAiBA,EACnBgD,CACT,CACA,IAAIE,YAAcnD,sBACdoD,YAAc,WAChB,IACIC,EAAY,CACdC,EAAG,EACHC,KAAM,EACNpC,OAAQ,IAENqC,EAAqB,GAezB,SAASC,EAAUC,EAAMC,GACvB,IAAIC,EAAatY,UAAU,QAC3BsY,EAAWtd,MAAMud,WAAaF,EAC9B,IAAIG,EAAOxY,UAAU,QAErBwY,EAAKC,UAAY,iBAEjBH,EAAWtd,MAAMC,SAAW,WAC5Bqd,EAAWtd,MAAMG,KAAO,WACxBmd,EAAWtd,MAAME,IAAM,WAEvBod,EAAWtd,MAAM0d,SAAW,QAE5BJ,EAAWtd,MAAM2d,YAAc,SAC/BL,EAAWtd,MAAM4d,UAAY,SAC7BN,EAAWtd,MAAM6d,WAAa,SAC9BP,EAAWtd,MAAM8d,cAAgB,IACjCR,EAAWS,YAAYP,GACvB1Y,SAASkZ,KAAKD,YAAYT,GAG1B,IAAIlQ,EAAQoQ,EAAKS,YAEjB,OADAT,EAAKxd,MAAMud,WAlCb,SAAyBH,GACvB,IACIpe,EADAkf,EAAcd,EAAK1B,MAAM,KAE3Bxc,EAAMgf,EAAY/e,OAChBgf,EAAkB,GACtB,IAAKnf,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACD,eAAnBkf,EAAYlf,IAA0C,cAAnBkf,EAAYlf,IACjDmf,EAAgBla,KAAKia,EAAYlf,IAGrC,OAAOmf,EAAgBC,KAAK,IAC9B,CAuB0BC,CAAgBjB,GAAQ,KAAOC,EAChD,CACLG,KAAMA,EACNR,EAAG5P,EACHkR,OAAQhB,EAEZ,CAuCA,SAASiB,EAAaC,EAAKC,GACzB,IAAIC,EAAU7Z,SAAS,QAiBvB,OAhBA6Z,EAAQ1e,MAAM0d,SAAW,QAEzBgB,EAAQC,aAAa,cAAeF,EAASG,SAC7CF,EAAQC,aAAa,aAAcF,EAASI,QAC5CH,EAAQC,aAAa,cAAeF,EAASK,SAC7CJ,EAAQK,YAAc,IAClBN,EAASO,QACXN,EAAQ1e,MAAMud,WAAa,UAC3BmB,EAAQC,aAAa,QAASF,EAASO,SAEvCN,EAAQ1e,MAAMud,WAAakB,EAASG,QAEtCJ,EAAIT,YAAYW,GACI1Z,UAAU,UAAUia,WAAW,MACrC7B,KAAOqB,EAASK,QAAU,IAAML,EAASI,OAAS,UAAYJ,EAASG,QAE9EF,CACT,CAnGAxB,EAAqBA,EAAmBgC,OAAO,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAwQhP,IAAIC,EAAO,WACTle,KAAKme,MAAQ,GACbne,KAAKkb,MAAQ,KACblb,KAAKoe,cAAgB,EACrBpe,KAAKqe,UAAW,EAChBre,KAAKse,SAAW7P,KAAK8P,MACrBve,KAAKwe,kBAAoBxe,KAAKye,YAAYvb,KAAKlD,MAC/CA,KAAK0e,uBAAyB1e,KAAK2e,iBAAiBzb,KAAKlD,KAC3D,EAEAke,EAAKU,0BAhBL,WACE,OAAO3C,CACT,EAeA,IAAI4C,EAAgB,CAClBC,SA5FF,SAAkB5D,GAChB,GAAKA,EAAL,CAGKlb,KAAKkb,QACRlb,KAAKkb,MAAQ,IAEf,IAAInd,EAEA+I,EAEFiY,EAHA9gB,EAAMid,EAAMhd,OAEZ6a,EAAO/Y,KAAKkb,MAAMhd,OAEpB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAAG,CAG3B,IAFA+I,EAAI,EACJiY,GAAQ,EACDjY,EAAIiS,GACL/Y,KAAKkb,MAAMpU,GAAG/H,QAAUmc,EAAMnd,GAAGgB,OAASiB,KAAKkb,MAAMpU,GAAG6W,UAAYzC,EAAMnd,GAAG4f,SAAW3d,KAAKkb,MAAMpU,GAAGkY,KAAO9D,EAAMnd,GAAGihB,KACxHD,GAAQ,GAEVjY,GAAK,EAEFiY,IACH/e,KAAKkb,MAAMlY,KAAKkY,EAAMnd,IACtBgb,GAAQ,EAEZ,CAtBA,CAuBF,EAmEEkG,SAjLF,SAAkBzB,EAAU0B,GAC1B,GAAK1B,EAAL,CAIA,GAAIxd,KAAKkb,MAGP,OAFAlb,KAAKqe,UAAW,OAChBre,KAAKme,MAAQX,EAAS2B,MAGxB,IACIphB,EADAqhB,EAAU5B,EAAS2B,KAErBlhB,EAAMmhB,EAAQlhB,OACZmhB,EAAgBphB,EACpB,IAAKF,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAAG,CAC3B,IACIuhB,EACAxY,EAFAyY,GAAiB,EAMrB,GAHAH,EAAQrhB,GAAGyhB,QAAS,EACpBJ,EAAQrhB,GAAG0hB,SAAWvD,EAAUkD,EAAQrhB,GAAG4f,QAAS,aACpDyB,EAAQrhB,GAAG2hB,SAAWxD,EAAUkD,EAAQrhB,GAAG4f,QAAS,cAC/CyB,EAAQrhB,GAAG4hB,OAGT,GAA2B,MAAvBP,EAAQrhB,GAAG6hB,SAAyC,IAAtBR,EAAQrhB,GAAG8hB,QAKlD,IAJAP,EAAiBzb,SAASic,iBAAiB,kCAAoCV,EAAQrhB,GAAG4f,QAAU,qCAAuCyB,EAAQrhB,GAAG4f,QAAU,OAC7Izf,OAAS,IAC1BqhB,GAAiB,GAEfA,EAAgB,CAClB,IAAIpe,EAAI4C,UAAU,SAClB5C,EAAEuc,aAAa,YAAa0B,EAAQrhB,GAAG6hB,SACvCze,EAAEuc,aAAa,WAAY0B,EAAQrhB,GAAG8hB,QACtC1e,EAAEuc,aAAa,WAAY0B,EAAQrhB,GAAG4f,SACtCxc,EAAEvB,KAAO,WACTuB,EAAEqb,UAAY,4BAAmC4C,EAAQrhB,GAAG4f,QAAU,mCAAqCyB,EAAQrhB,GAAG4hB,MAAQ,OAC9HT,EAAKpC,YAAY3b,EACnB,OACK,GAA2B,MAAvBie,EAAQrhB,GAAG6hB,SAAyC,IAAtBR,EAAQrhB,GAAG8hB,OAAc,CAEhE,IADAP,EAAiBzb,SAASic,iBAAiB,2CACtChZ,EAAI,EAAGA,EAAIwY,EAAephB,OAAQ4I,KACqB,IAAtDwY,EAAexY,GAAGiZ,KAAK1b,QAAQ+a,EAAQrhB,GAAG4hB,SAE5CJ,GAAiB,GAGrB,GAAIA,EAAgB,CAClB,IAAIvY,EAAIjD,UAAU,QAClBiD,EAAE0W,aAAa,YAAa0B,EAAQrhB,GAAG6hB,SACvC5Y,EAAE0W,aAAa,WAAY0B,EAAQrhB,GAAG8hB,QACtC7Y,EAAEpH,KAAO,WACToH,EAAEgZ,IAAM,aACRhZ,EAAE+Y,KAAOX,EAAQrhB,GAAG4hB,MACpB9b,SAASkZ,KAAKD,YAAY9V,EAC5B,CACF,MAAO,GAA2B,MAAvBoY,EAAQrhB,GAAG6hB,SAAyC,IAAtBR,EAAQrhB,GAAG8hB,OAAc,CAEhE,IADAP,EAAiBzb,SAASic,iBAAiB,+CACtChZ,EAAI,EAAGA,EAAIwY,EAAephB,OAAQ4I,IACjCsY,EAAQrhB,GAAG4hB,QAAUL,EAAexY,GAAGmZ,MAEzCV,GAAiB,GAGrB,GAAIA,EAAgB,CAClB,IAAIW,EAAKnc,UAAU,QACnBmc,EAAGxC,aAAa,YAAa0B,EAAQrhB,GAAG6hB,SACxCM,EAAGxC,aAAa,WAAY0B,EAAQrhB,GAAG8hB,QACvCK,EAAGxC,aAAa,MAAO,cACvBwC,EAAGxC,aAAa,OAAQ0B,EAAQrhB,GAAG4hB,OACnCT,EAAKpC,YAAYoD,EACnB,CACF,OAjDEd,EAAQrhB,GAAGyhB,QAAS,EACpBH,GAAiB,EAiDnBD,EAAQrhB,GAAGoiB,OAAS7C,EAAa4B,EAAME,EAAQrhB,IAC/CqhB,EAAQrhB,GAAGqiB,MAAQ,CAAC,EACpBpgB,KAAKme,MAAMnb,KAAKoc,EAAQrhB,GAC1B,CACsB,IAAlBshB,EACFrf,KAAKqe,UAAW,EAIhB/F,WAAWtY,KAAK2e,iBAAiBzb,KAAKlD,MAAO,IA7E/C,MAFEA,KAAKqe,UAAW,CAiFpB,EA+FEgC,YAnEF,SAAqBC,EAAMvhB,EAAOod,GAGhC,IAFA,IAAIpe,EAAI,EACNE,EAAM+B,KAAKkb,MAAMhd,OACZH,EAAIE,GAAK,CACd,GAAI+B,KAAKkb,MAAMnd,GAAGihB,KAAOsB,GAAQtgB,KAAKkb,MAAMnd,GAAGgB,QAAUA,GAASiB,KAAKkb,MAAMnd,GAAG4f,UAAYxB,EAC1F,OAAOnc,KAAKkb,MAAMnd,GAEpBA,GAAK,CACP,CAIA,OAHqB,kBAATuiB,GAA4C,KAAvBA,EAAK5S,WAAW,KAAc4S,IAASC,SAAWA,QAAQC,MACzFD,QAAQC,KAAK,oDAAqDF,EAAMvhB,EAAOod,GAE1EL,CACT,EAuDE2E,cAhCF,SAAuBC,GAGrB,IAFA,IAAI3iB,EAAI,EACNE,EAAM+B,KAAKme,MAAMjgB,OACZH,EAAIE,GAAK,CACd,GAAI+B,KAAKme,MAAMpgB,GAAG4iB,QAAUD,EAC1B,OAAO1gB,KAAKme,MAAMpgB,GAEpBA,GAAK,CACP,CACA,OAAOiC,KAAKme,MAAM,EACpB,EAuBEyC,YAvDF,SAAqBN,EAAMO,EAAU7E,GACnC,IAAIwB,EAAWxd,KAAKygB,cAAcI,GAC9BC,EAAQR,EAAK5S,WAAW,GAC5B,IAAK8P,EAAS4C,MAAMU,EAAQ,GAAI,CAC9B,IAAIrD,EAAUD,EAAS2C,OAKvB,GAAa,MAATG,EAAc,CAChB7C,EAAQK,YAAc,IAAMwC,EAAO,IACnC,IAAIS,EAAatD,EAAQuD,wBACzBvD,EAAQK,YAAc,KACtB,IAAImD,EAAaxD,EAAQuD,wBACzBxD,EAAS4C,MAAMU,EAAQ,IAAMC,EAAaE,GAAc,GAC1D,MACExD,EAAQK,YAAcwC,EACtB9C,EAAS4C,MAAMU,EAAQ,GAAKrD,EAAQuD,wBAA0B,GAElE,CACA,OAAOxD,EAAS4C,MAAMU,EAAQ,GAAK9E,CACrC,EAmCE2C,iBA/OF,WACE,IAAI5gB,EAEAwe,EAAMR,EADR9d,EAAM+B,KAAKme,MAAMjgB,OAEfgjB,EAAcjjB,EAClB,IAAKF,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACpBiC,KAAKme,MAAMpgB,GAAGyhB,OAChB0B,GAAe,EAGa,MAA1BlhB,KAAKme,MAAMpgB,GAAG6hB,SAA4C,IAAzB5f,KAAKme,MAAMpgB,GAAG8hB,OACjD7f,KAAKme,MAAMpgB,GAAGyhB,QAAS,GAEvBjD,EAAOvc,KAAKme,MAAMpgB,GAAG0hB,SAASlD,KAC9BR,EAAI/b,KAAKme,MAAMpgB,GAAG0hB,SAAS1D,EACvBQ,EAAKS,cAAgBjB,GACvBmF,GAAe,EACflhB,KAAKme,MAAMpgB,GAAGyhB,QAAS,IAEvBjD,EAAOvc,KAAKme,MAAMpgB,GAAG2hB,SAASnD,KAC9BR,EAAI/b,KAAKme,MAAMpgB,GAAG2hB,SAAS3D,EACvBQ,EAAKS,cAAgBjB,IACvBmF,GAAe,EACflhB,KAAKme,MAAMpgB,GAAGyhB,QAAS,IAGvBxf,KAAKme,MAAMpgB,GAAGyhB,SAChBxf,KAAKme,MAAMpgB,GAAG2hB,SAASrC,OAAOhB,WAAW8E,YAAYnhB,KAAKme,MAAMpgB,GAAG2hB,SAASrC,QAC5Erd,KAAKme,MAAMpgB,GAAG0hB,SAASpC,OAAOhB,WAAW8E,YAAYnhB,KAAKme,MAAMpgB,GAAG0hB,SAASpC,UAI9D,IAAhB6D,GAAqBzS,KAAK8P,MAAQve,KAAKse,SAlFxB,IAmFjBhG,WAAWtY,KAAK0e,uBAAwB,IAExCpG,WAAWtY,KAAKwe,kBAAmB,GAEvC,EA2MEC,YArBF,WACEze,KAAKqe,UAAW,CAClB,GAsBA,OADAH,EAAKzb,UAAYoc,EACVX,CACT,CAvSkB,GAwSdkD,gBAAkB,WACpB,IAAIC,EAAYjlB,oBACZklB,EAAWzkB,KAAKQ,IACpB,SAASkkB,EAAiBC,EAAUC,GAClC,IACIC,EADAC,EAAa3hB,KAAK2hB,WAEA,qBAAlB3hB,KAAK4hB,WACPF,EAAWte,iBAAiB,UAAWpD,KAAK6hB,GAAG3jB,SAOjD,IALA,IAII4jB,EAASC,EAsBThb,EAAGiS,EAAMvF,EAAMsF,EAAMjS,EAAGkb,EA1BxBC,EAAiBR,EAAQS,UACzBnkB,EAAIkkB,EACJhkB,EAAM+B,KAAKmiB,UAAUjkB,OAAS,EAChCU,GAAO,EAEFA,GAAM,CAGX,GAFAkjB,EAAU9hB,KAAKmiB,UAAUpkB,GACzBgkB,EAAc/hB,KAAKmiB,UAAUpkB,EAAI,GAC7BA,IAAME,EAAM,GAAKujB,GAAYO,EAAYpgB,EAAIggB,EAAY,CACvDG,EAAQ5gB,IACV4gB,EAAUC,GAEZE,EAAiB,EACjB,KACF,CACA,GAAIF,EAAYpgB,EAAIggB,EAAaH,EAAU,CACzCS,EAAiBlkB,EACjB,KACF,CACIA,EAAIE,EAAM,EACZF,GAAK,GAELkkB,EAAiB,EACjBrjB,GAAO,EAEX,CAEA,IAEIwjB,EA8JqBlU,EAAKmU,EAC1BC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAvKAC,EAAcd,EAAYpgB,EAAIggB,EAC9BmB,EAAUhB,EAAQngB,EAAIggB,EAE1B,GAAIG,EAAQiB,GAAI,CACTjB,EAAQlN,aACXkN,EAAQlN,WAAa4D,IAAI9D,gBAAgBoN,EAAQ3gB,EAAG4gB,EAAY5gB,GAAK2gB,EAAQjb,EAAGib,EAAQiB,GAAIjB,EAAQkB,KAEtG,IAAIpO,EAAakN,EAAQlN,WACzB,GAAI4M,GAAYqB,GAAerB,EAAWsB,EAAS,CACjD,IAAIG,EAAMzB,GAAYqB,EAAcjO,EAAWrE,OAAOrS,OAAS,EAAI,EAEnE,IADA8a,EAAOpE,EAAWrE,OAAO0S,GAAKpP,MAAM3V,OAC/B6I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzB2a,EAAS3a,GAAK6N,EAAWrE,OAAO0S,GAAKpP,MAAM9M,EAG/C,KAAO,CACD+a,EAAQoB,OACVlB,EAAMF,EAAQoB,QAEdlB,EAAM5S,cAAc+T,gBAAgBrB,EAAQ3a,EAAE+C,EAAG4X,EAAQ3a,EAAEgD,EAAG2X,EAAQ/jB,EAAEmM,EAAG4X,EAAQ/jB,EAAEoM,EAAG2X,EAAQ5a,GAAGwJ,IACnGoR,EAAQoB,OAASlB,GAEnBvO,EAAOuO,GAAKR,EAAWsB,IAAYD,EAAcC,IACjD,IACIM,EADAC,EAAiBzO,EAAWP,cAAgBZ,EAE5CG,EAAc6N,EAAQ6B,UAAY9B,GAAYC,EAAQ8B,qBAAuBxlB,EAAI0jB,EAAQ+B,iBAAmB,EAIhH,IAHA1c,EAAI2a,EAAQ6B,UAAY9B,GAAYC,EAAQ8B,qBAAuBxlB,EAAI0jB,EAAQgC,WAAa,EAC5F7kB,GAAO,EACPma,EAAOnE,EAAWrE,OAAOrS,OAClBU,GAAM,CAEX,GADAgV,GAAegB,EAAWrE,OAAOzJ,GAAG0N,cACb,IAAnB6O,GAAiC,IAAT5P,GAAc3M,IAAM8N,EAAWrE,OAAOrS,OAAS,EAAG,CAE5E,IADA8a,EAAOpE,EAAWrE,OAAOzJ,GAAG+M,MAAM3V,OAC7B6I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzB2a,EAAS3a,GAAK6N,EAAWrE,OAAOzJ,GAAG+M,MAAM9M,GAE3C,KACF,CAAO,GAAIsc,GAAkBzP,GAAeyP,EAAiBzP,EAAcgB,EAAWrE,OAAOzJ,EAAI,GAAG0N,cAAe,CAGjH,IAFA4O,GAAeC,EAAiBzP,GAAegB,EAAWrE,OAAOzJ,EAAI,GAAG0N,cACxEwE,EAAOpE,EAAWrE,OAAOzJ,GAAG+M,MAAM3V,OAC7B6I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzB2a,EAAS3a,GAAK6N,EAAWrE,OAAOzJ,GAAG+M,MAAM9M,IAAM6N,EAAWrE,OAAOzJ,EAAI,GAAG+M,MAAM9M,GAAK6N,EAAWrE,OAAOzJ,GAAG+M,MAAM9M,IAAMqc,EAEtH,KACF,CACItc,EAAIiS,EAAO,EACbjS,GAAK,EAELlI,GAAO,CAEX,CACA6iB,EAAQgC,WAAa3c,EACrB2a,EAAQ+B,iBAAmB5P,EAAcgB,EAAWrE,OAAOzJ,GAAG0N,cAC9DiN,EAAQ8B,mBAAqBxlB,CAC/B,CACF,KAAO,CACL,IAAI2lB,EAAMC,EAAMC,EAAKC,EAAKC,EAG1B,GAFA7lB,EAAM6jB,EAAQ3gB,EAAEjD,OAChBkkB,EAAWL,EAAY5gB,GAAK2gB,EAAQjb,EAChC7G,KAAK+jB,IAAoB,IAAdjC,EAAQ5gB,EACrB,GAAIsgB,GAAYqB,EACdnB,EAAS,GAAKU,EAAS,GACvBV,EAAS,GAAKU,EAAS,GACvBV,EAAS,GAAKU,EAAS,QAClB,GAAIZ,GAAYsB,EACrBpB,EAAS,GAAKI,EAAQ3gB,EAAE,GACxBugB,EAAS,GAAKI,EAAQ3gB,EAAE,GACxBugB,EAAS,GAAKI,EAAQ3gB,EAAE,OACnB,CACL,IAAI6iB,EAAYC,EAAiBnC,EAAQ3gB,GACrC+iB,EAAUD,EAAiB7B,GA0FZlU,EAxFDwT,EAwFMW,EAlChC,SAAe1b,EAAGpF,EAAGI,GACnB,IASIwiB,EAAOC,EAAOC,EAAOC,EAAQC,EAT7BrW,EAAM,GACN7H,EAAKM,EAAE,GACTL,EAAKK,EAAE,GACP6d,EAAK7d,EAAE,GACP8d,EAAK9d,EAAE,GACP+d,EAAKnjB,EAAE,GACPojB,EAAKpjB,EAAE,GACPqjB,EAAKrjB,EAAE,GACPsjB,EAAKtjB,EAAE,GAuBT,OArBA6iB,EAAQ/d,EAAKqe,EAAKpe,EAAKqe,EAAKH,EAAKI,EAAKH,EAAKI,GAC/B,IACVT,GAASA,EACTM,GAAMA,EACNC,GAAMA,EACNC,GAAMA,EACNC,GAAMA,GAEJ,EAAMT,EAAQ,MAChBD,EAAQtnB,KAAKioB,KAAKV,GAClBC,EAAQxnB,KAAKsI,IAAIgf,GACjBG,EAASznB,KAAKsI,KAAK,EAAMxD,GAAKwiB,GAASE,EACvCE,EAAS1nB,KAAKsI,IAAIxD,EAAIwiB,GAASE,IAE/BC,EAAS,EAAM3iB,EACf4iB,EAAS5iB,GAEXuM,EAAI,GAAKoW,EAASje,EAAKke,EAASG,EAChCxW,EAAI,GAAKoW,EAAShe,EAAKie,EAASI,EAChCzW,EAAI,GAAKoW,EAASE,EAAKD,EAASK,EAChC1W,EAAI,GAAKoW,EAASG,EAAKF,EAASM,EACzB3W,CACT,CAvFoC6W,CAAMf,EAAWE,GADjC1C,EAAWsB,IAAYD,EAAcC,IA0FnDR,EAAKD,EAAK,GACVE,EAAKF,EAAK,GACVG,EAAKH,EAAK,GACVI,EAAKJ,EAAK,GACVK,EAAU7lB,KAAKmoB,MAAM,EAAIzC,EAAKE,EAAK,EAAIH,EAAKE,EAAI,EAAI,EAAID,EAAKA,EAAK,EAAIC,EAAKA,GAC3EG,EAAW9lB,KAAKooB,KAAK,EAAI3C,EAAKC,EAAK,EAAIC,EAAKC,GAC5CG,EAAO/lB,KAAKmoB,MAAM,EAAI1C,EAAKG,EAAK,EAAIF,EAAKC,EAAI,EAAI,EAAIF,EAAKA,EAAK,EAAIE,EAAKA,GAC5EtU,EAAI,GAAKwU,EAAUlkB,UACnB0P,EAAI,GAAKyU,EAAWnkB,UACpB0P,EAAI,GAAK0U,EAAOpkB,SAjGZ,MAEA,IAAKT,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACN,IAAd+jB,EAAQ5gB,IACNsgB,GAAYqB,EACdpP,EAAO,EACE+N,EAAWsB,EACpBrP,EAAO,GAEHqO,EAAQ3a,EAAE+C,EAAEgb,cAAgBxhB,OACzBoe,EAAQoB,SACXpB,EAAQoB,OAAS,IAEdpB,EAAQoB,OAAOnlB,GAQlBikB,EAAMF,EAAQoB,OAAOnlB,IAPrB2lB,EAAiC,qBAAnB5B,EAAQ3a,EAAE+C,EAAEnM,GAAqB+jB,EAAQ3a,EAAE+C,EAAE,GAAK4X,EAAQ3a,EAAE+C,EAAEnM,GAC5E4lB,EAAiC,qBAAnB7B,EAAQ3a,EAAEgD,EAAEpM,GAAqB+jB,EAAQ3a,EAAEgD,EAAE,GAAK2X,EAAQ3a,EAAEgD,EAAEpM,GAC5E6lB,EAAgC,qBAAnB9B,EAAQ/jB,EAAEmM,EAAEnM,GAAqB+jB,EAAQ/jB,EAAEmM,EAAE,GAAK4X,EAAQ/jB,EAAEmM,EAAEnM,GAC3E8lB,EAAgC,qBAAnB/B,EAAQ/jB,EAAEoM,EAAEpM,GAAqB+jB,EAAQ/jB,EAAEoM,EAAE,GAAK2X,EAAQ/jB,EAAEoM,EAAEpM,GAC3EikB,EAAM5S,cAAc+T,gBAAgBO,EAAMC,EAAMC,EAAKC,GAAKnT,IAC1DoR,EAAQoB,OAAOnlB,GAAKikB,IAKjBF,EAAQoB,OAQXlB,EAAMF,EAAQoB,QAPdQ,EAAO5B,EAAQ3a,EAAE+C,EACjByZ,EAAO7B,EAAQ3a,EAAEgD,EACjByZ,EAAM9B,EAAQ/jB,EAAEmM,EAChB2Z,EAAM/B,EAAQ/jB,EAAEoM,EAChB6X,EAAM5S,cAAc+T,gBAAgBO,EAAMC,EAAMC,EAAKC,GAAKnT,IAC1DoR,EAAQoB,OAASlB,GAKrBvO,EAAOuO,GAAKR,EAAWsB,IAAYD,EAAcC,MAGrDV,EAAWL,EAAY5gB,GAAK2gB,EAAQjb,EACpCid,EAAyB,IAAdhC,EAAQ5gB,EAAU4gB,EAAQ3gB,EAAEpD,GAAK+jB,EAAQ3gB,EAAEpD,IAAMqkB,EAASrkB,GAAK+jB,EAAQ3gB,EAAEpD,IAAM0V,EACpE,qBAAlBzT,KAAK4hB,SACPF,EAAS3jB,GAAK+lB,EAEdpC,EAAWoC,CAInB,CAEA,OADArC,EAAQS,UAAYD,EACbP,CACT,CAiDA,SAASuC,EAAiBkB,GACxB,IAAIzC,EAAUyC,EAAO,GAAK3mB,UACtBmkB,EAAWwC,EAAO,GAAK3mB,UACvBokB,EAAOuC,EAAO,GAAK3mB,UACnBqK,EAAKhM,KAAKoI,IAAIyd,EAAU,GACxB/a,EAAK9K,KAAKoI,IAAI0d,EAAW,GACzByC,EAAKvoB,KAAKoI,IAAI2d,EAAO,GACrByC,EAAKxoB,KAAKsI,IAAIud,EAAU,GACxB4C,EAAKzoB,KAAKsI,IAAIwd,EAAW,GACzB4C,EAAK1oB,KAAKsI,IAAIyd,EAAO,GAKzB,MAAO,CAHCyC,EAAKC,EAAKF,EAAKvc,EAAKlB,EAAK4d,EACzBF,EAAK1d,EAAKyd,EAAKvc,EAAKyc,EAAKC,EACzB1c,EAAKyc,EAAKF,EAAKC,EAAK1d,EAAK4d,EAHzB1c,EAAKlB,EAAKyd,EAAKC,EAAKC,EAAKC,EAKnC,CACA,SAASC,IACP,IAAIhE,EAAWxhB,KAAKylB,KAAKC,cAAgB1lB,KAAK2hB,WAC1CrD,EAAWte,KAAKmiB,UAAU,GAAGxgB,EAAI3B,KAAK2hB,WACtCgE,EAAU3lB,KAAKmiB,UAAUniB,KAAKmiB,UAAUjkB,OAAS,GAAGyD,EAAI3B,KAAK2hB,WACjE,KAAMH,IAAaxhB,KAAK4lB,SAAStC,WAAatjB,KAAK4lB,SAAStC,YAAcjC,IAAcrhB,KAAK4lB,SAAStC,WAAaqC,GAAWnE,GAAYmE,GAAW3lB,KAAK4lB,SAAStC,UAAYhF,GAAYkD,EAAWlD,IAAY,CAC5Mte,KAAK4lB,SAAStC,WAAa9B,IAC7BxhB,KAAK4lB,SAASrC,oBAAsB,EACpCvjB,KAAK4lB,SAAS1D,UAAY,GAE5B,IAAI2D,EAAe7lB,KAAKuhB,iBAAiBC,EAAUxhB,KAAK4lB,UACxD5lB,KAAK6hB,GAAKgE,CACZ,CAEA,OADA7lB,KAAK4lB,SAAStC,UAAY9B,EACnBxhB,KAAK6hB,EACd,CACA,SAASiE,EAAU1nB,GACjB,IAAI2nB,EACJ,GAAsB,mBAAlB/lB,KAAK4hB,SACPmE,EAAkB3nB,EAAM4B,KAAKgmB,KACzB1E,EAASthB,KAAKoB,EAAI2kB,GAAmB,OACvC/lB,KAAKoB,EAAI2kB,EACT/lB,KAAKyE,MAAO,QAKd,IAFA,IAAI1G,EAAI,EACNE,EAAM+B,KAAKoB,EAAElD,OACRH,EAAIE,GACT8nB,EAAkB3nB,EAAIL,GAAKiC,KAAKgmB,KAC5B1E,EAASthB,KAAKoB,EAAErD,GAAKgoB,GAAmB,OAC1C/lB,KAAKoB,EAAErD,GAAKgoB,EACZ/lB,KAAKyE,MAAO,GAEd1G,GAAK,CAGX,CACA,SAASkoB,IACP,GAAIjmB,KAAKkmB,KAAKC,WAAWC,UAAYpmB,KAAKomB,SAAYpmB,KAAKqmB,gBAAgBnoB,OAG3E,GAAI8B,KAAKsmB,KACPtmB,KAAK8lB,UAAU9lB,KAAK6hB,QADtB,CAIA7hB,KAAKsmB,MAAO,EACZtmB,KAAKyE,KAAOzE,KAAKumB,cAEjB,IAAIxoB,EACFE,EAAM+B,KAAKqmB,gBAAgBnoB,OACzBsoB,EAAaxmB,KAAKymB,GAAKzmB,KAAK6hB,GAAK7hB,KAAKiZ,KAAKlS,EAC/C,IAAKhJ,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxByoB,EAAaxmB,KAAKqmB,gBAAgBtoB,GAAGyoB,GAEvCxmB,KAAK8lB,UAAUU,GACfxmB,KAAKumB,eAAgB,EACrBvmB,KAAKsmB,MAAO,EACZtmB,KAAKomB,QAAUpmB,KAAKkmB,KAAKC,WAAWC,OAbpC,CAcF,CACA,SAASM,EAAUC,GACjB3mB,KAAKqmB,gBAAgBrjB,KAAK2jB,GAC1B3mB,KAAKsE,UAAUJ,mBAAmBlE,KACpC,CACA,SAAS4mB,EAAcV,EAAMjN,EAAM+M,EAAM1hB,GACvCtE,KAAK4hB,SAAW,iBAChB5hB,KAAKgmB,KAAOA,GAAQ,EACpBhmB,KAAKiZ,KAAOA,EACZjZ,KAAKoB,EAAI4kB,EAAO/M,EAAKlS,EAAIif,EAAO/M,EAAKlS,EACrC/G,KAAK6hB,GAAK5I,EAAKlS,EACf/G,KAAKyE,MAAO,EACZzE,KAAKkmB,KAAOA,EACZlmB,KAAKsE,UAAYA,EACjBtE,KAAKylB,KAAOS,EAAKT,KACjBzlB,KAAK+G,GAAI,EACT/G,KAAKymB,IAAK,EACVzmB,KAAK6mB,IAAM,EACX7mB,KAAKqmB,gBAAkB,GACvBrmB,KAAKumB,eAAgB,EACrBvmB,KAAK0E,SAAWuhB,EAChBjmB,KAAK8lB,UAAYA,EACjB9lB,KAAK0mB,UAAYA,CACnB,CACA,SAASI,EAAyBZ,EAAMjN,EAAM+M,EAAM1hB,GAClDtE,KAAK4hB,SAAW,mBAChB5hB,KAAKgmB,KAAOA,GAAQ,EACpBhmB,KAAKiZ,KAAOA,EACZjZ,KAAKyE,MAAO,EACZzE,KAAKkmB,KAAOA,EACZlmB,KAAKsE,UAAYA,EACjBtE,KAAKylB,KAAOS,EAAKT,KACjBzlB,KAAK+G,GAAI,EACT/G,KAAKymB,IAAK,EACVzmB,KAAKomB,SAAW,EAChB,IAAIroB,EACFE,EAAMgb,EAAKlS,EAAE7I,OAKf,IAJA8B,KAAKoB,EAAIgC,iBAAiB,UAAWnF,GACrC+B,KAAK6hB,GAAKze,iBAAiB,UAAWnF,GAC5BmF,iBAAiB,UAAWnF,GACtC+B,KAAK6mB,IAAMzjB,iBAAiB,UAAWnF,GAClCF,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKoB,EAAErD,GAAKkb,EAAKlS,EAAEhJ,GAAKiC,KAAKgmB,KAC7BhmB,KAAK6hB,GAAG9jB,GAAKkb,EAAKlS,EAAEhJ,GAEtBiC,KAAKumB,eAAgB,EACrBvmB,KAAKqmB,gBAAkB,GACvBrmB,KAAK0E,SAAWuhB,EAChBjmB,KAAK8lB,UAAYA,EACjB9lB,KAAK0mB,UAAYA,CACnB,CACA,SAASK,EAAuBb,EAAMjN,EAAM+M,EAAM1hB,GAChDtE,KAAK4hB,SAAW,iBAChB5hB,KAAKmiB,UAAYlJ,EAAKlS,EACtB/G,KAAK2hB,WAAauE,EAAKjN,KAAK+N,GAC5BhnB,KAAKomB,SAAW,EAChBpmB,KAAK4lB,SAAW,CACdtC,UAAWjC,EACXa,UAAW,EACX1e,MAAO,EACP+f,oBAAqB,GAEvBvjB,KAAK+G,GAAI,EACT/G,KAAKymB,IAAK,EACVzmB,KAAKiZ,KAAOA,EACZjZ,KAAKgmB,KAAOA,GAAQ,EACpBhmB,KAAKkmB,KAAOA,EACZlmB,KAAKsE,UAAYA,EACjBtE,KAAKylB,KAAOS,EAAKT,KACjBzlB,KAAKoB,EAAIigB,EACTrhB,KAAK6hB,GAAKR,EACVrhB,KAAKumB,eAAgB,EACrBvmB,KAAK0E,SAAWuhB,EAChBjmB,KAAK8lB,UAAYA,EACjB9lB,KAAKuhB,iBAAmBA,EACxBvhB,KAAKqmB,gBAAkB,CAACb,EAAsBtiB,KAAKlD,OACnDA,KAAK0mB,UAAYA,CACnB,CACA,SAASO,EAAkCf,EAAMjN,EAAM+M,EAAM1hB,GAC3DtE,KAAK4hB,SAAW,mBAChB,IAAI7jB,EAEAoD,EAAG0F,EAAGkc,EAAIC,EADZ/kB,EAAMgb,EAAKlS,EAAE7I,OAEf,IAAKH,EAAI,EAAGA,EAAIE,EAAM,EAAGF,GAAK,EACxBkb,EAAKlS,EAAEhJ,GAAGglB,IAAM9J,EAAKlS,EAAEhJ,GAAGoD,GAAK8X,EAAKlS,EAAEhJ,EAAI,IAAMkb,EAAKlS,EAAEhJ,EAAI,GAAGoD,IAChEA,EAAI8X,EAAKlS,EAAEhJ,GAAGoD,EACd0F,EAAIoS,EAAKlS,EAAEhJ,EAAI,GAAGoD,EAClB4hB,EAAK9J,EAAKlS,EAAEhJ,GAAGglB,GACfC,EAAK/J,EAAKlS,EAAEhJ,GAAGilB,IACE,IAAb7hB,EAAEjD,SAAkBiD,EAAE,KAAO0F,EAAE,IAAM1F,EAAE,KAAO0F,EAAE,KAAO2R,IAAI1F,cAAc3R,EAAE,GAAIA,EAAE,GAAI0F,EAAE,GAAIA,EAAE,GAAI1F,EAAE,GAAK4hB,EAAG,GAAI5hB,EAAE,GAAK4hB,EAAG,KAAOvK,IAAI1F,cAAc3R,EAAE,GAAIA,EAAE,GAAI0F,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAKmc,EAAG,GAAInc,EAAE,GAAKmc,EAAG,KAAoB,IAAb7hB,EAAEjD,SAAkBiD,EAAE,KAAO0F,EAAE,IAAM1F,EAAE,KAAO0F,EAAE,IAAM1F,EAAE,KAAO0F,EAAE,KAAO2R,IAAIlB,cAAcnW,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAI0F,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAI1F,EAAE,GAAK4hB,EAAG,GAAI5hB,EAAE,GAAK4hB,EAAG,GAAI5hB,EAAE,GAAK4hB,EAAG,KAAOvK,IAAIlB,cAAcnW,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAI0F,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAKmc,EAAG,GAAInc,EAAE,GAAKmc,EAAG,GAAInc,EAAE,GAAKmc,EAAG,OACld/J,EAAKlS,EAAEhJ,GAAGglB,GAAK,KACf9J,EAAKlS,EAAEhJ,GAAGilB,GAAK,MAEb7hB,EAAE,KAAO0F,EAAE,IAAM1F,EAAE,KAAO0F,EAAE,IAAgB,IAAVkc,EAAG,IAAsB,IAAVA,EAAG,IAAsB,IAAVC,EAAG,IAAsB,IAAVA,EAAG,KACnE,IAAb7hB,EAAEjD,QAAgBiD,EAAE,KAAO0F,EAAE,IAAgB,IAAVkc,EAAG,IAAsB,IAAVC,EAAG,MACvD/J,EAAKlS,EAAEhJ,GAAGglB,GAAK,KACf9J,EAAKlS,EAAEhJ,GAAGilB,GAAK,OAKvBhjB,KAAKqmB,gBAAkB,CAACb,EAAsBtiB,KAAKlD,OACnDA,KAAKmiB,UAAYlJ,EAAKlS,EACtB/G,KAAK2hB,WAAauE,EAAKjN,KAAK+N,GAC5BhnB,KAAK+G,GAAI,EACT/G,KAAKymB,IAAK,EACVzmB,KAAKumB,eAAgB,EACrBvmB,KAAKgmB,KAAOA,GAAQ,EACpBhmB,KAAKkmB,KAAOA,EACZlmB,KAAKsE,UAAYA,EACjBtE,KAAKylB,KAAOS,EAAKT,KACjBzlB,KAAK0E,SAAWuhB,EAChBjmB,KAAK8lB,UAAYA,EACjB9lB,KAAKuhB,iBAAmBA,EACxBvhB,KAAKomB,SAAW,EAChB,IAAIc,EAASjO,EAAKlS,EAAE,GAAG5F,EAAEjD,OAGzB,IAFA8B,KAAKoB,EAAIgC,iBAAiB,UAAW8jB,GACrClnB,KAAK6hB,GAAKze,iBAAiB,UAAW8jB,GACjCnpB,EAAI,EAAGA,EAAImpB,EAAQnpB,GAAK,EAC3BiC,KAAKoB,EAAErD,GAAKsjB,EACZrhB,KAAK6hB,GAAG9jB,GAAKsjB,EAEfrhB,KAAK4lB,SAAW,CACdtC,UAAWjC,EACXa,UAAW,EACX1e,MAAOJ,iBAAiB,UAAW8jB,IAErClnB,KAAK0mB,UAAYA,CACnB,CAyBA,MAHS,CACPS,QAtBF,SAAiBjB,EAAMjN,EAAMrZ,EAAMomB,EAAM1hB,GACvC,IAAI7C,EACJ,GAAKwX,EAAKlS,EAAE7I,OAEL,GAAyB,kBAAd+a,EAAKlS,EAAE,GACvBtF,EAAI,IAAIqlB,EAAyBZ,EAAMjN,EAAM+M,EAAM1hB,QAEnD,OAAQ1E,GACN,KAAK,EACH6B,EAAI,IAAIslB,EAAuBb,EAAMjN,EAAM+M,EAAM1hB,GACjD,MACF,KAAK,EACH7C,EAAI,IAAIwlB,EAAkCf,EAAMjN,EAAM+M,EAAM1hB,QAThE7C,EAAI,IAAImlB,EAAcV,EAAMjN,EAAM+M,EAAM1hB,GAgB1C,OAHI7C,EAAE4kB,gBAAgBnoB,QACpBoG,EAAUJ,mBAAmBzC,GAExBA,CACT,EAKF,CAnbsB,GAoblB2lB,yBAA2B,WAC7B,IAAIC,EAAgB,CAAC,EAAG,GAqJxB,SAASC,EAAkBpB,EAAMjN,EAAM3U,GAqBrC,GApBAtE,KAAKkmB,KAAOA,EACZlmB,KAAKomB,SAAW,EAChBpmB,KAAK4hB,SAAW,YAChB5hB,KAAKiZ,KAAOA,EACZjZ,KAAKoB,EAAI,IAAI2D,OAEb/E,KAAKunB,IAAM,IAAIxiB,OACf/E,KAAKwnB,uBAAyB,EAC9BxnB,KAAK2E,6BAA6BL,GAAa4hB,GAC3CjN,EAAKxX,GAAKwX,EAAKxX,EAAEN,GACnBnB,KAAKynB,GAAKrG,gBAAgB+F,QAAQjB,EAAMjN,EAAKxX,EAAEyI,EAAG,EAAG,EAAGlK,MACxDA,KAAK0nB,GAAKtG,gBAAgB+F,QAAQjB,EAAMjN,EAAKxX,EAAE0I,EAAG,EAAG,EAAGnK,MACpDiZ,EAAKxX,EAAE2I,IACTpK,KAAK2nB,GAAKvG,gBAAgB+F,QAAQjB,EAAMjN,EAAKxX,EAAE2I,EAAG,EAAG,EAAGpK,QAG1DA,KAAKyB,EAAI2f,gBAAgB+F,QAAQjB,EAAMjN,EAAKxX,GAAK,CAC/CsF,EAAG,CAAC,EAAG,EAAG,IACT,EAAG,EAAG/G,MAEPiZ,EAAK2O,GAAI,CAIX,GAHA5nB,KAAK4nB,GAAKxG,gBAAgB+F,QAAQjB,EAAMjN,EAAK2O,GAAI,EAAGppB,UAAWwB,MAC/DA,KAAK6nB,GAAKzG,gBAAgB+F,QAAQjB,EAAMjN,EAAK4O,GAAI,EAAGrpB,UAAWwB,MAC/DA,KAAK8nB,GAAK1G,gBAAgB+F,QAAQjB,EAAMjN,EAAK6O,GAAI,EAAGtpB,UAAWwB,MAC3DiZ,EAAK8O,GAAGhhB,EAAE,GAAGic,GAAI,CACnB,IAAIjlB,EACFE,EAAMgb,EAAK8O,GAAGhhB,EAAE7I,OAClB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBkb,EAAK8O,GAAGhhB,EAAEhJ,GAAGglB,GAAK9J,EAAK8O,GAAGhhB,EAAEhJ,GAAGilB,GAAK,IAExC,CACAhjB,KAAK+nB,GAAK3G,gBAAgB+F,QAAQjB,EAAMjN,EAAK8O,GAAI,EAAGvpB,UAAWwB,MAE/DA,KAAK+nB,GAAGhE,IAAK,CACf,MACE/jB,KAAKqB,EAAI+f,gBAAgB+F,QAAQjB,EAAMjN,EAAK5X,GAAK,CAC/C0F,EAAG,GACF,EAAGvI,UAAWwB,MAEfiZ,EAAK+O,KACPhoB,KAAKgoB,GAAK5G,gBAAgB+F,QAAQjB,EAAMjN,EAAK+O,GAAI,EAAGxpB,UAAWwB,MAC/DA,KAAKioB,GAAK7G,gBAAgB+F,QAAQjB,EAAMjN,EAAKgP,GAAI,EAAGzpB,UAAWwB,OAEjEA,KAAK2G,EAAIya,gBAAgB+F,QAAQjB,EAAMjN,EAAKtS,GAAK,CAC/CI,EAAG,CAAC,EAAG,EAAG,IACT,EAAG,EAAG/G,MACTA,KAAKmB,EAAIigB,gBAAgB+F,QAAQjB,EAAMjN,EAAK9X,GAAK,CAC/C4F,EAAG,CAAC,IAAK,IAAK,MACb,EAAG,IAAM/G,MAERiZ,EAAK9R,EACPnH,KAAKmH,EAAIia,gBAAgB+F,QAAQjB,EAAMjN,EAAK9R,EAAG,EAAG,IAAM+e,GAExDlmB,KAAKmH,EAAI,CACP1C,MAAM,EACNrD,EAAG,GAGPpB,KAAKkoB,UAAW,EACXloB,KAAKoE,kBAAkBlG,QAC1B8B,KAAK0E,UAAS,EAElB,CAaA,OAZA4iB,EAAkB7kB,UAAY,CAC5B0lB,cArNF,SAAuBC,GACrB,IAAI3jB,EAAOzE,KAAKyE,KAChBzE,KAAKwE,2BACLxE,KAAKyE,KAAOzE,KAAKyE,MAAQA,EACrBzE,KAAK2G,GACPyhB,EAAIhhB,WAAWpH,KAAK2G,EAAEvF,EAAE,IAAKpB,KAAK2G,EAAEvF,EAAE,GAAIpB,KAAK2G,EAAEvF,EAAE,IAEjDpB,KAAKmB,GACPinB,EAAI5hB,MAAMxG,KAAKmB,EAAEC,EAAE,GAAIpB,KAAKmB,EAAEC,EAAE,GAAIpB,KAAKmB,EAAEC,EAAE,IAE3CpB,KAAKgoB,IACPI,EAAI7hB,cAAcvG,KAAKgoB,GAAG5mB,EAAGpB,KAAKioB,GAAG7mB,GAEnCpB,KAAKqB,EACP+mB,EAAI3iB,QAAQzF,KAAKqB,EAAED,GAEnBgnB,EAAIpiB,SAAShG,KAAK8nB,GAAG1mB,GAAG2E,QAAQ/F,KAAK6nB,GAAGzmB,GAAG0E,QAAQ9F,KAAK4nB,GAAGxmB,GAAG4E,SAAShG,KAAK+nB,GAAG3mB,EAAE,IAAI2E,QAAQ/F,KAAK+nB,GAAG3mB,EAAE,IAAI0E,QAAQ9F,KAAK+nB,GAAG3mB,EAAE,IAE3HpB,KAAKiZ,KAAKxX,EAAEN,EACVnB,KAAKiZ,KAAKxX,EAAE2I,EACdge,EAAIhhB,UAAUpH,KAAKynB,GAAGrmB,EAAGpB,KAAK0nB,GAAGtmB,GAAIpB,KAAK2nB,GAAGvmB,GAE7CgnB,EAAIhhB,UAAUpH,KAAKynB,GAAGrmB,EAAGpB,KAAK0nB,GAAGtmB,EAAG,GAGtCgnB,EAAIhhB,UAAUpH,KAAKyB,EAAEL,EAAE,GAAIpB,KAAKyB,EAAEL,EAAE,IAAKpB,KAAKyB,EAAEL,EAAE,GAEtD,EA2LEsD,SA1LF,SAAqB2jB,GACnB,GAAIroB,KAAKkmB,KAAKC,WAAWC,UAAYpmB,KAAKomB,QAA1C,CAQA,GALIpmB,KAAKkoB,WACPloB,KAAKsoB,qBACLtoB,KAAKkoB,UAAW,GAElBloB,KAAKwE,2BACDxE,KAAKyE,MAAQ4jB,EAAa,CAgB5B,GAfAroB,KAAKoB,EAAE4I,eAAehK,KAAKunB,IAAI/hB,OAC3BxF,KAAKwnB,uBAAyB,GAChCxnB,KAAKoB,EAAEgG,WAAWpH,KAAK2G,EAAEvF,EAAE,IAAKpB,KAAK2G,EAAEvF,EAAE,GAAIpB,KAAK2G,EAAEvF,EAAE,IAEpDpB,KAAKwnB,uBAAyB,GAChCxnB,KAAKoB,EAAEoF,MAAMxG,KAAKmB,EAAEC,EAAE,GAAIpB,KAAKmB,EAAEC,EAAE,GAAIpB,KAAKmB,EAAEC,EAAE,IAE9CpB,KAAKgoB,IAAMhoB,KAAKwnB,uBAAyB,GAC3CxnB,KAAKoB,EAAEmF,cAAcvG,KAAKgoB,GAAG5mB,EAAGpB,KAAKioB,GAAG7mB,GAEtCpB,KAAKqB,GAAKrB,KAAKwnB,uBAAyB,EAC1CxnB,KAAKoB,EAAEqE,QAAQzF,KAAKqB,EAAED,IACZpB,KAAKqB,GAAKrB,KAAKwnB,uBAAyB,GAClDxnB,KAAKoB,EAAE4E,SAAShG,KAAK8nB,GAAG1mB,GAAG2E,QAAQ/F,KAAK6nB,GAAGzmB,GAAG0E,QAAQ9F,KAAK4nB,GAAGxmB,GAAG4E,SAAShG,KAAK+nB,GAAG3mB,EAAE,IAAI2E,QAAQ/F,KAAK+nB,GAAG3mB,EAAE,IAAI0E,QAAQ9F,KAAK+nB,GAAG3mB,EAAE,IAE9HpB,KAAKuoB,aAAc,CACrB,IAAIC,EACFC,EACAC,EAAY1oB,KAAKkmB,KAAKC,WAAWuC,UACnC,GAAI1oB,KAAKyB,GAAKzB,KAAKyB,EAAE0gB,WAAaniB,KAAKyB,EAAEknB,eACnC3oB,KAAKyB,EAAEmkB,SAAStC,UAAYtjB,KAAKyB,EAAEkgB,YAAc3hB,KAAKyB,EAAE0gB,UAAU,GAAGxgB,GACvE6mB,EAAKxoB,KAAKyB,EAAEknB,gBAAgB3oB,KAAKyB,EAAE0gB,UAAU,GAAGxgB,EAAI,KAAQ+mB,EAAW,GACvED,EAAKzoB,KAAKyB,EAAEknB,eAAe3oB,KAAKyB,EAAE0gB,UAAU,GAAGxgB,EAAI+mB,EAAW,IACrD1oB,KAAKyB,EAAEmkB,SAAStC,UAAYtjB,KAAKyB,EAAEkgB,YAAc3hB,KAAKyB,EAAE0gB,UAAUniB,KAAKyB,EAAE0gB,UAAUjkB,OAAS,GAAGyD,GACxG6mB,EAAKxoB,KAAKyB,EAAEknB,eAAe3oB,KAAKyB,EAAE0gB,UAAUniB,KAAKyB,EAAE0gB,UAAUjkB,OAAS,GAAGyD,EAAI+mB,EAAW,GACxFD,EAAKzoB,KAAKyB,EAAEknB,gBAAgB3oB,KAAKyB,EAAE0gB,UAAUniB,KAAKyB,EAAE0gB,UAAUjkB,OAAS,GAAGyD,EAAI,KAAQ+mB,EAAW,KAEjGF,EAAKxoB,KAAKyB,EAAEogB,GACZ4G,EAAKzoB,KAAKyB,EAAEknB,gBAAgB3oB,KAAKyB,EAAEmkB,SAAStC,UAAYtjB,KAAKyB,EAAEkgB,WAAa,KAAQ+G,EAAW1oB,KAAKyB,EAAEkgB,kBAEnG,GAAI3hB,KAAKynB,IAAMznB,KAAKynB,GAAGtF,WAAaniB,KAAK0nB,GAAGvF,WAAaniB,KAAKynB,GAAGkB,gBAAkB3oB,KAAK0nB,GAAGiB,eAAgB,CAChHH,EAAK,GACLC,EAAK,GACL,IAAIhB,EAAKznB,KAAKynB,GACZC,EAAK1nB,KAAK0nB,GAERD,EAAG7B,SAAStC,UAAYmE,EAAG9F,YAAc8F,EAAGtF,UAAU,GAAGxgB,GAC3D6mB,EAAG,GAAKf,EAAGkB,gBAAgBlB,EAAGtF,UAAU,GAAGxgB,EAAI,KAAQ+mB,EAAW,GAClEF,EAAG,GAAKd,EAAGiB,gBAAgBjB,EAAGvF,UAAU,GAAGxgB,EAAI,KAAQ+mB,EAAW,GAClED,EAAG,GAAKhB,EAAGkB,eAAelB,EAAGtF,UAAU,GAAGxgB,EAAI+mB,EAAW,GACzDD,EAAG,GAAKf,EAAGiB,eAAejB,EAAGvF,UAAU,GAAGxgB,EAAI+mB,EAAW,IAChDjB,EAAG7B,SAAStC,UAAYmE,EAAG9F,YAAc8F,EAAGtF,UAAUsF,EAAGtF,UAAUjkB,OAAS,GAAGyD,GACxF6mB,EAAG,GAAKf,EAAGkB,eAAelB,EAAGtF,UAAUsF,EAAGtF,UAAUjkB,OAAS,GAAGyD,EAAI+mB,EAAW,GAC/EF,EAAG,GAAKd,EAAGiB,eAAejB,EAAGvF,UAAUuF,EAAGvF,UAAUjkB,OAAS,GAAGyD,EAAI+mB,EAAW,GAC/ED,EAAG,GAAKhB,EAAGkB,gBAAgBlB,EAAGtF,UAAUsF,EAAGtF,UAAUjkB,OAAS,GAAGyD,EAAI,KAAQ+mB,EAAW,GACxFD,EAAG,GAAKf,EAAGiB,gBAAgBjB,EAAGvF,UAAUuF,EAAGvF,UAAUjkB,OAAS,GAAGyD,EAAI,KAAQ+mB,EAAW,KAExFF,EAAK,CAACf,EAAG5F,GAAI6F,EAAG7F,IAChB4G,EAAG,GAAKhB,EAAGkB,gBAAgBlB,EAAG7B,SAAStC,UAAYmE,EAAG9F,WAAa,KAAQ+G,EAAWjB,EAAG9F,YACzF8G,EAAG,GAAKf,EAAGiB,gBAAgBjB,EAAG9B,SAAStC,UAAYoE,EAAG/F,WAAa,KAAQ+G,EAAWhB,EAAG/F,YAE7F,MACE6G,EAAKC,EAAKpB,EAEZrnB,KAAKoB,EAAEqE,QAAQ5I,KAAKmoB,MAAMwD,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,IACtD,CACIzoB,KAAKiZ,KAAKxX,GAAKzB,KAAKiZ,KAAKxX,EAAEN,EACzBnB,KAAKiZ,KAAKxX,EAAE2I,EACdpK,KAAKoB,EAAEgG,UAAUpH,KAAKynB,GAAGrmB,EAAGpB,KAAK0nB,GAAGtmB,GAAIpB,KAAK2nB,GAAGvmB,GAEhDpB,KAAKoB,EAAEgG,UAAUpH,KAAKynB,GAAGrmB,EAAGpB,KAAK0nB,GAAGtmB,EAAG,GAGzCpB,KAAKoB,EAAEgG,UAAUpH,KAAKyB,EAAEL,EAAE,GAAIpB,KAAKyB,EAAEL,EAAE,IAAKpB,KAAKyB,EAAEL,EAAE,GAEzD,CACApB,KAAKomB,QAAUpmB,KAAKkmB,KAAKC,WAAWC,OAzEpC,CA0EF,EA8GEkC,mBA7GF,WACE,IAAKtoB,KAAK2G,EAAEI,IACV/G,KAAKunB,IAAIngB,WAAWpH,KAAK2G,EAAEvF,EAAE,IAAKpB,KAAK2G,EAAEvF,EAAE,GAAIpB,KAAK2G,EAAEvF,EAAE,IACxDpB,KAAKwnB,uBAAyB,GAI3BxnB,KAAKmB,EAAEklB,gBAAgBnoB,QAA5B,CAMA,GALE8B,KAAKunB,IAAI/gB,MAAMxG,KAAKmB,EAAEC,EAAE,GAAIpB,KAAKmB,EAAEC,EAAE,GAAIpB,KAAKmB,EAAEC,EAAE,IAClDpB,KAAKwnB,uBAAyB,EAI5BxnB,KAAKgoB,GAAI,CACX,GAAKhoB,KAAKgoB,GAAG3B,gBAAgBnoB,QAAW8B,KAAKioB,GAAG5B,gBAAgBnoB,OAI9D,OAHA8B,KAAKunB,IAAIhhB,cAAcvG,KAAKgoB,GAAG5mB,EAAGpB,KAAKioB,GAAG7mB,GAC1CpB,KAAKwnB,uBAAyB,CAIlC,CACA,GAAIxnB,KAAKqB,EAAG,CACV,GAAKrB,KAAKqB,EAAEglB,gBAAgBnoB,OAI1B,OAHA8B,KAAKunB,IAAI9hB,QAAQzF,KAAKqB,EAAED,GACxBpB,KAAKwnB,uBAAyB,CAIlC,MAAYxnB,KAAK8nB,GAAGzB,gBAAgBnoB,QAAW8B,KAAK6nB,GAAGxB,gBAAgBnoB,QAAW8B,KAAK4nB,GAAGvB,gBAAgBnoB,QAAW8B,KAAK+nB,GAAG1B,gBAAgBnoB,SAC3I8B,KAAKunB,IAAIvhB,SAAShG,KAAK8nB,GAAG1mB,GAAG2E,QAAQ/F,KAAK6nB,GAAGzmB,GAAG0E,QAAQ9F,KAAK4nB,GAAGxmB,GAAG4E,SAAShG,KAAK+nB,GAAG3mB,EAAE,IAAI2E,QAAQ/F,KAAK+nB,GAAG3mB,EAAE,IAAI0E,QAAQ9F,KAAK+nB,GAAG3mB,EAAE,IAClIpB,KAAKwnB,uBAAyB,EAlBhC,CAoBF,EA8EEoB,WA7EF,WAGA,GA4EA3W,gBAAgB,CAAChO,0BAA2BqjB,GAC5CA,EAAkB7kB,UAAUyB,mBA5E5B,SAA4BC,GAC1BnE,KAAK6oB,oBAAoB1kB,GACzBnE,KAAKkmB,KAAKhiB,mBAAmBC,GAC7BnE,KAAKkoB,UAAW,CAClB,EAyEAZ,EAAkB7kB,UAAUomB,oBAAsB5kB,yBAAyBxB,UAAUyB,mBAI9E,CACL4kB,qBAJF,SAA8B5C,EAAMjN,EAAM3U,GACxC,OAAO,IAAIgjB,EAAkBpB,EAAMjN,EAAM3U,EAC3C,EAIF,CArO+B,GAsO/B,SAASykB,YACP/oB,KAAK4G,GAAI,EACT5G,KAAK2V,QAAU,EACf3V,KAAKgpB,WAAa,EAClBhpB,KAAKoB,EAAI9C,iBAAiB0B,KAAKgpB,YAC/BhpB,KAAKmH,EAAI7I,iBAAiB0B,KAAKgpB,YAC/BhpB,KAAKjC,EAAIO,iBAAiB0B,KAAKgpB,WACjC,CACAD,UAAUtmB,UAAUwmB,YAAc,SAAU1T,EAAQtX,GAClD+B,KAAK4G,EAAI2O,EACTvV,KAAKkpB,UAAUjrB,GAEf,IADA,IAAIF,EAAI,EACDA,EAAIE,GACT+B,KAAKoB,EAAErD,GAAKorB,WAAWlV,aACvBjU,KAAKmH,EAAEpJ,GAAKorB,WAAWlV,aACvBjU,KAAKjC,EAAEA,GAAKorB,WAAWlV,aACvBlW,GAAK,CAET,EACAgrB,UAAUtmB,UAAUymB,UAAY,SAAUjrB,GACxC,KAAO+B,KAAKgpB,WAAa/qB,GACvB+B,KAAKopB,oBAEPppB,KAAK2V,QAAU1X,CACjB,EACA8qB,UAAUtmB,UAAU2mB,kBAAoB,WACtCppB,KAAKoB,EAAIpB,KAAKoB,EAAE6c,OAAO3f,iBAAiB0B,KAAKgpB,aAC7ChpB,KAAKjC,EAAIiC,KAAKjC,EAAEkgB,OAAO3f,iBAAiB0B,KAAKgpB,aAC7ChpB,KAAKmH,EAAInH,KAAKmH,EAAE8W,OAAO3f,iBAAiB0B,KAAKgpB,aAC7ChpB,KAAKgpB,YAAc,CACrB,EACAD,UAAUtmB,UAAU4mB,QAAU,SAAUnf,EAAGC,EAAGvK,EAAM0pB,EAAK9Z,GACvD,IAAI/L,EAKJ,OAJAzD,KAAK2V,QAAU9Y,KAAKY,IAAIuC,KAAK2V,QAAS2T,EAAM,GACxCtpB,KAAK2V,SAAW3V,KAAKgpB,YACvBhpB,KAAKopB,oBAECxpB,GACN,IAAK,IACH6D,EAAMzD,KAAKoB,EACX,MACF,IAAK,IACHqC,EAAMzD,KAAKjC,EACX,MACF,IAAK,IACH0F,EAAMzD,KAAKmH,IAGV1D,EAAI6lB,IAAQ7lB,EAAI6lB,KAAS9Z,KAC5B/L,EAAI6lB,GAAOH,WAAWlV,cAExBxQ,EAAI6lB,GAAK,GAAKpf,EACdzG,EAAI6lB,GAAK,GAAKnf,CAChB,EACA4e,UAAUtmB,UAAU8mB,YAAc,SAAUC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIP,EAAK9Z,GACvExP,KAAKqpB,QAAQG,EAAIC,EAAI,IAAKH,EAAK9Z,GAC/BxP,KAAKqpB,QAAQK,EAAIC,EAAI,IAAKL,EAAK9Z,GAC/BxP,KAAKqpB,QAAQO,EAAIC,EAAI,IAAKP,EAAK9Z,EACjC,EACAuZ,UAAUtmB,UAAUqnB,QAAU,WAC5B,IAAIC,EAAU,IAAIhB,UAClBgB,EAAQd,YAAYjpB,KAAK4G,EAAG5G,KAAK2V,SACjC,IAAIqU,EAAWhqB,KAAKoB,EAClB6oB,EAAYjqB,KAAKmH,EACjB+iB,EAAWlqB,KAAKjC,EACdosB,EAAO,EACPnqB,KAAK4G,IACPmjB,EAAQR,YAAYS,EAAS,GAAG,GAAIA,EAAS,GAAG,GAAIE,EAAS,GAAG,GAAIA,EAAS,GAAG,GAAID,EAAU,GAAG,GAAIA,EAAU,GAAG,GAAI,GAAG,GACzHE,EAAO,GAET,IAEIpsB,EAFAqsB,EAAMpqB,KAAK2V,QAAU,EACrB1X,EAAM+B,KAAK2V,QAEf,IAAK5X,EAAIosB,EAAMpsB,EAAIE,EAAKF,GAAK,EAC3BgsB,EAAQR,YAAYS,EAASI,GAAK,GAAIJ,EAASI,GAAK,GAAIF,EAASE,GAAK,GAAIF,EAASE,GAAK,GAAIH,EAAUG,GAAK,GAAIH,EAAUG,GAAK,GAAIrsB,GAAG,GACrIqsB,GAAO,EAET,OAAOL,CACT,EACA,IAAIM,qBAAuB,WACzB,IAAIhJ,GAAa,OACjB,SAASiJ,EAAiB9I,EAAU+I,EAAe9I,GACjD,IACI+I,EAAUC,EAAUC,EAAQ5jB,EAAGC,EAAGgS,EAAMC,EAAMvF,EAAMkX,EADpD1I,EAAiBR,EAAQS,UAEzBuE,EAAKzmB,KAAKmiB,UACd,GAAIX,EAAWiF,EAAG,GAAG9kB,EAAI3B,KAAK2hB,WAC5B6I,EAAW/D,EAAG,GAAGtlB,EAAE,GACnBupB,GAAS,EACTzI,EAAiB,OACZ,GAAIT,GAAYiF,EAAGA,EAAGvoB,OAAS,GAAGyD,EAAI3B,KAAK2hB,WAChD6I,EAAW/D,EAAGA,EAAGvoB,OAAS,GAAGiD,EAAIslB,EAAGA,EAAGvoB,OAAS,GAAGiD,EAAE,GAAKslB,EAAGA,EAAGvoB,OAAS,GAAG2I,EAAE,GAM9E6jB,GAAS,MACJ,CAML,IALA,IAGE5I,EACAC,EAJEhkB,EAAIkkB,EACJhkB,EAAMwoB,EAAGvoB,OAAS,EACpBU,GAAO,EAGFA,IACLkjB,EAAU2E,EAAG1oB,MACbgkB,EAAc0E,EAAG1oB,EAAI,IACL4D,EAAI3B,KAAK2hB,WAAaH,KAGlCzjB,EAAIE,EAAM,EACZF,GAAK,EAELa,GAAO,EAKX,GADAqjB,EAAiBlkB,IADjB2sB,EAAuB,IAAd5I,EAAQ5gB,GAEJ,CACX,GAAIsgB,GAAYO,EAAYpgB,EAAI3B,KAAK2hB,WACnClO,EAAO,OACF,GAAI+N,EAAWM,EAAQngB,EAAI3B,KAAK2hB,WACrClO,EAAO,MACF,CACL,IAAIuO,EACAF,EAAQoB,OACVlB,EAAMF,EAAQoB,QAEdlB,EAAM5S,cAAc+T,gBAAgBrB,EAAQ3a,EAAE+C,EAAG4X,EAAQ3a,EAAEgD,EAAG2X,EAAQ/jB,EAAEmM,EAAG4X,EAAQ/jB,EAAEoM,GAAGuG,IACxFoR,EAAQoB,OAASlB,GAEnBvO,EAAOuO,GAAKR,GAAYM,EAAQngB,EAAI3B,KAAK2hB,cAAgBI,EAAYpgB,EAAI3B,KAAK2hB,YAAcG,EAAQngB,EAAI3B,KAAK2hB,aAC/G,CACA8I,EAAW1I,EAAY5gB,EAAI4gB,EAAY5gB,EAAE,GAAK2gB,EAAQjb,EAAE,EAC1D,CACA2jB,EAAW1I,EAAQ3gB,EAAE,EACvB,CAIA,IAHA4X,EAAOwR,EAAc5U,QACrBqD,EAAOwR,EAASzsB,EAAE,GAAGG,OACrBujB,EAAQS,UAAYD,EACfnb,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzB,IAAKC,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzB4jB,EAAcD,EAASF,EAASzsB,EAAE+I,GAAGC,GAAKyjB,EAASzsB,EAAE+I,GAAGC,IAAM0jB,EAAS1sB,EAAE+I,GAAGC,GAAKyjB,EAASzsB,EAAE+I,GAAGC,IAAM0M,EACrG8W,EAAcxsB,EAAE+I,GAAGC,GAAK4jB,EACxBA,EAAcD,EAASF,EAASrjB,EAAEL,GAAGC,GAAKyjB,EAASrjB,EAAEL,GAAGC,IAAM0jB,EAAStjB,EAAEL,GAAGC,GAAKyjB,EAASrjB,EAAEL,GAAGC,IAAM0M,EACrG8W,EAAcpjB,EAAEL,GAAGC,GAAK4jB,EACxBA,EAAcD,EAASF,EAASppB,EAAE0F,GAAGC,GAAKyjB,EAASppB,EAAE0F,GAAGC,IAAM0jB,EAASrpB,EAAE0F,GAAGC,GAAKyjB,EAASppB,EAAE0F,GAAGC,IAAM0M,EACrG8W,EAAcnpB,EAAE0F,GAAGC,GAAK4jB,CAG9B,CACA,SAASC,IACP,IAAIpJ,EAAWxhB,KAAKylB,KAAKC,cAAgB1lB,KAAK2hB,WAC1CrD,EAAWte,KAAKmiB,UAAU,GAAGxgB,EAAI3B,KAAK2hB,WACtCgE,EAAU3lB,KAAKmiB,UAAUniB,KAAKmiB,UAAUjkB,OAAS,GAAGyD,EAAI3B,KAAK2hB,WAC7D2B,EAAYtjB,KAAK4lB,SAAStC,UAQ9B,OAPMA,IAAcjC,IAAciC,EAAYhF,GAAYkD,EAAWlD,GAAYgF,EAAYqC,GAAWnE,EAAWmE,KAEjH3lB,KAAK4lB,SAAS1D,UAAYoB,EAAY9B,EAAWxhB,KAAK4lB,SAAS1D,UAAY,EAC3EliB,KAAKsqB,iBAAiB9I,EAAUxhB,KAAK6hB,GAAI7hB,KAAK4lB,WAGhD5lB,KAAK4lB,SAAStC,UAAY9B,EACnBxhB,KAAK6hB,EACd,CACA,SAASgJ,IACP7qB,KAAKob,MAAQpb,KAAK8qB,oBACpB,CAcA,SAAShF,EAAUiE,IAbnB,SAAqBgB,EAAQC,GAC3B,GAAID,EAAOpV,UAAYqV,EAAOrV,SAAWoV,EAAOnkB,IAAMokB,EAAOpkB,EAC3D,OAAO,EAET,IAAI7I,EACFE,EAAM8sB,EAAOpV,QACf,IAAK5X,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB,GAAIgtB,EAAO3pB,EAAErD,GAAG,KAAOitB,EAAO5pB,EAAErD,GAAG,IAAMgtB,EAAO3pB,EAAErD,GAAG,KAAOitB,EAAO5pB,EAAErD,GAAG,IAAMgtB,EAAO5jB,EAAEpJ,GAAG,KAAOitB,EAAO7jB,EAAEpJ,GAAG,IAAMgtB,EAAO5jB,EAAEpJ,GAAG,KAAOitB,EAAO7jB,EAAEpJ,GAAG,IAAMgtB,EAAOhtB,EAAEA,GAAG,KAAOitB,EAAOjtB,EAAEA,GAAG,IAAMgtB,EAAOhtB,EAAEA,GAAG,KAAOitB,EAAOjtB,EAAEA,GAAG,GAC1N,OAAO,EAGX,OAAO,CACT,EAEOktB,CAAYjrB,KAAKoB,EAAG2oB,KACvB/pB,KAAKoB,EAAI8pB,WAAWnhB,MAAMggB,GAC1B/pB,KAAK8qB,qBAAqBK,gBAC1BnrB,KAAK8qB,qBAAqBM,SAASprB,KAAKoB,GACxCpB,KAAKyE,MAAO,EACZzE,KAAKob,MAAQpb,KAAK8qB,qBAEtB,CACA,SAAS7E,IACP,GAAIjmB,KAAKkmB,KAAKC,WAAWC,UAAYpmB,KAAKomB,QAEnC,GAAKpmB,KAAKqmB,gBAAgBnoB,OAIjC,GAAI8B,KAAKsmB,KACPtmB,KAAK8lB,UAAU9lB,KAAK6hB,QADtB,CAIA7hB,KAAKsmB,MAAO,EACZtmB,KAAKyE,MAAO,EACZ,IACI1G,EADAyoB,EAAaxmB,KAAKymB,GAAKzmB,KAAK6hB,GAAK7hB,KAAKiZ,KAAKiB,GAAKla,KAAKiZ,KAAKiB,GAAGnT,EAAI/G,KAAKiZ,KAAKrO,GAAG7D,EAEhF9I,EAAM+B,KAAKqmB,gBAAgBnoB,OAC7B,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxByoB,EAAaxmB,KAAKqmB,gBAAgBtoB,GAAGyoB,GAEvCxmB,KAAK8lB,UAAUU,GACfxmB,KAAKsmB,MAAO,EACZtmB,KAAKomB,QAAUpmB,KAAKkmB,KAAKC,WAAWC,OAXpC,MANEpmB,KAAKyE,MAAO,CAkBhB,CAEA,SAAS4mB,EAAcnF,EAAMjN,EAAMrZ,GACjCI,KAAK4hB,SAAW,QAChB5hB,KAAKylB,KAAOS,EAAKT,KACjBzlB,KAAKsE,UAAY4hB,EACjBlmB,KAAKkmB,KAAOA,EACZlmB,KAAKiZ,KAAOA,EACZjZ,KAAK+G,GAAI,EACT/G,KAAKymB,IAAK,EACVzmB,KAAKyE,MAAO,EACZ,IAAI0W,EAAoB,IAATvb,EAAaqZ,EAAKrO,GAAG7D,EAAIkS,EAAKiB,GAAGnT,EAChD/G,KAAKoB,EAAI8pB,WAAWnhB,MAAMoR,GAC1Bnb,KAAK6hB,GAAKqJ,WAAWnhB,MAAM/J,KAAKoB,GAChCpB,KAAK8qB,qBAAuBQ,qBAAqBC,qBACjDvrB,KAAKob,MAAQpb,KAAK8qB,qBAClB9qB,KAAKob,MAAMgQ,SAASprB,KAAKoB,GACzBpB,KAAKuF,MAAQslB,EACb7qB,KAAKqmB,gBAAkB,EACzB,CACA,SAASK,EAAUC,GACjB3mB,KAAKqmB,gBAAgBrjB,KAAK2jB,GAC1B3mB,KAAKsE,UAAUJ,mBAAmBlE,KACpC,CAKA,SAASwrB,EAAuBtF,EAAMjN,EAAMrZ,GAC1CI,KAAK4hB,SAAW,QAChB5hB,KAAKylB,KAAOS,EAAKT,KACjBzlB,KAAKkmB,KAAOA,EACZlmB,KAAKsE,UAAY4hB,EACjBlmB,KAAK2hB,WAAauE,EAAKjN,KAAK+N,GAC5BhnB,KAAKmiB,UAAqB,IAATviB,EAAaqZ,EAAKrO,GAAG7D,EAAIkS,EAAKiB,GAAGnT,EAClD/G,KAAK+G,GAAI,EACT/G,KAAKymB,IAAK,EACV,IACExoB,EAAM+B,KAAKmiB,UAAU,GAAGhhB,EAAE,GAAGpD,EAAEG,OACtB8B,KAAKmiB,UAAU,GAAGhhB,EAAE,GAAGpD,EAAE,GAAGG,OACvC8B,KAAKoB,EAAI8pB,WAAWjX,aACpBjU,KAAKoB,EAAE6nB,YAAYjpB,KAAKmiB,UAAU,GAAGhhB,EAAE,GAAGyF,EAAG3I,GAC7C+B,KAAK6hB,GAAKqJ,WAAWnhB,MAAM/J,KAAKoB,GAChCpB,KAAK8qB,qBAAuBQ,qBAAqBC,qBACjDvrB,KAAKob,MAAQpb,KAAK8qB,qBAClB9qB,KAAKob,MAAMgQ,SAASprB,KAAKoB,GACzBpB,KAAKsjB,UAAYjC,EACjBrhB,KAAKuF,MAAQslB,EACb7qB,KAAK4lB,SAAW,CACdtC,UAAWjC,EACXa,UAAW,GAEbliB,KAAKqmB,gBAAkB,CAACuE,EAA4B1nB,KAAKlD,MAC3D,CA7BAqrB,EAAc5oB,UAAU6nB,iBAAmBA,EAC3Ce,EAAc5oB,UAAUiC,SAAWuhB,EACnCoF,EAAc5oB,UAAUqjB,UAAYA,EACpCuF,EAAc5oB,UAAUikB,UAAYA,EA2BpC8E,EAAuB/oB,UAAUiC,SAAWuhB,EAC5CuF,EAAuB/oB,UAAU6nB,iBAAmBA,EACpDkB,EAAuB/oB,UAAUqjB,UAAYA,EAC7C0F,EAAuB/oB,UAAUikB,UAAYA,EAC7C,IAAI+E,EAAmB,WACrB,IAAIC,EAAShtB,YACb,SAAS+sB,EAAiBvF,EAAMjN,GAO9BjZ,KAAKoB,EAAI8pB,WAAWjX,aACpBjU,KAAKoB,EAAE6nB,aAAY,EAAM,GACzBjpB,KAAK8qB,qBAAuBQ,qBAAqBC,qBACjDvrB,KAAKob,MAAQpb,KAAK8qB,qBAClB9qB,KAAK8qB,qBAAqBM,SAASprB,KAAKoB,GACxCpB,KAAK6B,EAAIoX,EAAKpX,EACd7B,KAAKkmB,KAAOA,EACZlmB,KAAKylB,KAAOS,EAAKT,KACjBzlB,KAAKomB,SAAW,EAChBpmB,KAAK2E,6BAA6BuhB,GAClClmB,KAAKyB,EAAI2f,gBAAgB+F,QAAQjB,EAAMjN,EAAKxX,EAAG,EAAG,EAAGzB,MACrDA,KAAKmB,EAAIigB,gBAAgB+F,QAAQjB,EAAMjN,EAAK9X,EAAG,EAAG,EAAGnB,MACjDA,KAAKoE,kBAAkBlG,OACzB8B,KAAK+G,GAAI,GAET/G,KAAK+G,GAAI,EACT/G,KAAK2rB,mBAET,CAgDA,OA9CAF,EAAiBhpB,UAAY,CAC3B8C,MAAOslB,EACPnmB,SAAU,WACJ1E,KAAKkmB,KAAKC,WAAWC,UAAYpmB,KAAKomB,UAG1CpmB,KAAKomB,QAAUpmB,KAAKkmB,KAAKC,WAAWC,QACpCpmB,KAAKwE,2BACDxE,KAAKyE,MACPzE,KAAK2rB,mBAET,EACAA,iBAAkB,WAChB,IAAItgB,EAAKrL,KAAKyB,EAAEL,EAAE,GAChBsI,EAAK1J,KAAKyB,EAAEL,EAAE,GACdwqB,EAAK5rB,KAAKmB,EAAEC,EAAE,GAAK,EACnBikB,EAAKrlB,KAAKmB,EAAEC,EAAE,GAAK,EACjByqB,EAAiB,IAAX7rB,KAAK6B,EACXiqB,EAAK9rB,KAAKoB,EACd0qB,EAAG1qB,EAAE,GAAG,GAAKiK,EACbygB,EAAG1qB,EAAE,GAAG,GAAKsI,EAAK2b,EAClByG,EAAG1qB,EAAE,GAAG,GAAKyqB,EAAMxgB,EAAKugB,EAAKvgB,EAAKugB,EAClCE,EAAG1qB,EAAE,GAAG,GAAKsI,EACboiB,EAAG1qB,EAAE,GAAG,GAAKiK,EACbygB,EAAG1qB,EAAE,GAAG,GAAKsI,EAAK2b,EAClByG,EAAG1qB,EAAE,GAAG,GAAKyqB,EAAMxgB,EAAKugB,EAAKvgB,EAAKugB,EAClCE,EAAG1qB,EAAE,GAAG,GAAKsI,EACboiB,EAAG/tB,EAAE,GAAG,GAAK8tB,EAAMxgB,EAAKugB,EAAKF,EAASrgB,EAAKugB,EAAKF,EAChDI,EAAG/tB,EAAE,GAAG,GAAK2L,EAAK2b,EAClByG,EAAG/tB,EAAE,GAAG,GAAK8tB,EAAMxgB,EAAKugB,EAAKvgB,EAAKugB,EAClCE,EAAG/tB,EAAE,GAAG,GAAK2L,EAAK2b,EAAKqG,EACvBI,EAAG/tB,EAAE,GAAG,GAAK8tB,EAAMxgB,EAAKugB,EAAKF,EAASrgB,EAAKugB,EAAKF,EAChDI,EAAG/tB,EAAE,GAAG,GAAK2L,EAAK2b,EAClByG,EAAG/tB,EAAE,GAAG,GAAK8tB,EAAMxgB,EAAKugB,EAAKvgB,EAAKugB,EAClCE,EAAG/tB,EAAE,GAAG,GAAK2L,EAAK2b,EAAKqG,EACvBI,EAAG3kB,EAAE,GAAG,GAAK0kB,EAAMxgB,EAAKugB,EAAKF,EAASrgB,EAAKugB,EAAKF,EAChDI,EAAG3kB,EAAE,GAAG,GAAKuC,EAAK2b,EAClByG,EAAG3kB,EAAE,GAAG,GAAK0kB,EAAMxgB,EAAKugB,EAAKvgB,EAAKugB,EAClCE,EAAG3kB,EAAE,GAAG,GAAKuC,EAAK2b,EAAKqG,EACvBI,EAAG3kB,EAAE,GAAG,GAAK0kB,EAAMxgB,EAAKugB,EAAKF,EAASrgB,EAAKugB,EAAKF,EAChDI,EAAG3kB,EAAE,GAAG,GAAKuC,EAAK2b,EAClByG,EAAG3kB,EAAE,GAAG,GAAK0kB,EAAMxgB,EAAKugB,EAAKvgB,EAAKugB,EAClCE,EAAG3kB,EAAE,GAAG,GAAKuC,EAAK2b,EAAKqG,CACzB,GAEFzZ,gBAAgB,CAAChO,0BAA2BwnB,GACrCA,CACT,CA5EuB,GA6EnBM,EAAoB,WACtB,SAASA,EAAkB7F,EAAMjN,GAC/BjZ,KAAKoB,EAAI8pB,WAAWjX,aACpBjU,KAAKoB,EAAE6nB,aAAY,EAAM,GACzBjpB,KAAKkmB,KAAOA,EACZlmB,KAAKylB,KAAOS,EAAKT,KACjBzlB,KAAKiZ,KAAOA,EACZjZ,KAAKomB,SAAW,EAChBpmB,KAAK6B,EAAIoX,EAAKpX,EACd7B,KAAK2E,6BAA6BuhB,GAClB,IAAZjN,EAAK9S,IACPnG,KAAKgsB,GAAK5K,gBAAgB+F,QAAQjB,EAAMjN,EAAK+S,GAAI,EAAG,EAAGhsB,MACvDA,KAAKisB,GAAK7K,gBAAgB+F,QAAQjB,EAAMjN,EAAKgT,GAAI,EAAG,IAAMjsB,MAC1DA,KAAKksB,cAAgBlsB,KAAKmsB,mBAE1BnsB,KAAKksB,cAAgBlsB,KAAKosB,qBAE5BpsB,KAAK4K,GAAKwW,gBAAgB+F,QAAQjB,EAAMjN,EAAKrO,GAAI,EAAG,EAAG5K,MACvDA,KAAKyB,EAAI2f,gBAAgB+F,QAAQjB,EAAMjN,EAAKxX,EAAG,EAAG,EAAGzB,MACrDA,KAAKqB,EAAI+f,gBAAgB+F,QAAQjB,EAAMjN,EAAK5X,EAAG,EAAG7C,UAAWwB,MAC7DA,KAAK+nB,GAAK3G,gBAAgB+F,QAAQjB,EAAMjN,EAAK8O,GAAI,EAAG,EAAG/nB,MACvDA,KAAKqsB,GAAKjL,gBAAgB+F,QAAQjB,EAAMjN,EAAKoT,GAAI,EAAG,IAAMrsB,MAC1DA,KAAK8qB,qBAAuBQ,qBAAqBC,qBACjDvrB,KAAK8qB,qBAAqBM,SAASprB,KAAKoB,GACxCpB,KAAKob,MAAQpb,KAAK8qB,qBACd9qB,KAAKoE,kBAAkBlG,OACzB8B,KAAK+G,GAAI,GAET/G,KAAK+G,GAAI,EACT/G,KAAKksB,gBAET,CAiFA,OA/EAH,EAAkBtpB,UAAY,CAC5B8C,MAAOslB,EACPnmB,SAAU,WACJ1E,KAAKkmB,KAAKC,WAAWC,UAAYpmB,KAAKomB,UAG1CpmB,KAAKomB,QAAUpmB,KAAKkmB,KAAKC,WAAWC,QACpCpmB,KAAKwE,2BACDxE,KAAKyE,MACPzE,KAAKksB,gBAET,EACAC,kBAAmB,WACjB,IAYIpuB,EACFuuB,EACAC,EACAC,EAfEC,EAAiC,EAAxB5vB,KAAKU,MAAMyC,KAAK4K,GAAGxJ,GAC5BsE,EAAkB,EAAV7I,KAAK4B,GAASguB,EAItBC,GAAW,EACXC,EAAU3sB,KAAK+nB,GAAG3mB,EAClBwrB,EAAW5sB,KAAKgsB,GAAG5qB,EACnByrB,EAAY7sB,KAAKqsB,GAAGjrB,EACpB0rB,EAAa9sB,KAAKisB,GAAG7qB,EACrB2rB,EAAmB,EAAIlwB,KAAK4B,GAAKkuB,GAAoB,EAATF,GAC5CO,EAAoB,EAAInwB,KAAK4B,GAAKmuB,GAAqB,EAATH,GAKhDQ,GAAcpwB,KAAK4B,GAAK,EAC1BwuB,GAAcjtB,KAAKqB,EAAED,EACrB,IAAI6T,EAAsB,IAAhBjV,KAAKiZ,KAAKpX,GAAW,EAAI,EAEnC,IADA7B,KAAKoB,EAAEuU,QAAU,EACZ5X,EAAI,EAAGA,EAAI0uB,EAAQ1uB,GAAK,EAAG,CAE9BwuB,EAAYG,EAAWG,EAAYC,EACnCN,EAAeE,EAAWK,EAAmBC,EAC7C,IAAI9iB,GAHJoiB,EAAMI,EAAWC,EAAUC,GAGb/vB,KAAKoI,IAAIgoB,GACnB9iB,EAAImiB,EAAMzvB,KAAKsI,IAAI8nB,GACnBC,EAAW,IAANhjB,GAAiB,IAANC,EAAU,EAAIA,EAAItN,KAAKM,KAAK+M,EAAIA,EAAIC,EAAIA,GACxDgjB,EAAW,IAANjjB,GAAiB,IAANC,EAAU,GAAKD,EAAIrN,KAAKM,KAAK+M,EAAIA,EAAIC,EAAIA,GAC7DD,IAAMlK,KAAKyB,EAAEL,EAAE,GACf+I,IAAMnK,KAAKyB,EAAEL,EAAE,GACfpB,KAAKoB,EAAEmoB,YAAYrf,EAAGC,EAAGD,EAAIgjB,EAAKV,EAAeD,EAAYtX,EAAK9K,EAAIgjB,EAAKX,EAAeD,EAAYtX,EAAK/K,EAAIgjB,EAAKV,EAAeD,EAAYtX,EAAK9K,EAAIgjB,EAAKX,EAAeD,EAAYtX,EAAKlX,GAAG,GAMhM2uB,GAAYA,EACZO,GAAcvnB,EAAQuP,CACxB,CACF,EACAmX,qBAAsB,WACpB,IAKIruB,EALA0uB,EAAS5vB,KAAKU,MAAMyC,KAAK4K,GAAGxJ,GAC5BsE,EAAkB,EAAV7I,KAAK4B,GAASguB,EACtBH,EAAMtsB,KAAK+nB,GAAG3mB,EACdmrB,EAAYvsB,KAAKqsB,GAAGjrB,EACpBorB,EAAe,EAAI3vB,KAAK4B,GAAK6tB,GAAgB,EAATG,GAEtCQ,GAAcpwB,KAAK4B,GAAK,EACtBwW,EAAsB,IAAhBjV,KAAKiZ,KAAKpX,GAAW,EAAI,EAGnC,IAFAorB,GAAcjtB,KAAKqB,EAAED,EACrBpB,KAAKoB,EAAEuU,QAAU,EACZ5X,EAAI,EAAGA,EAAI0uB,EAAQ1uB,GAAK,EAAG,CAC9B,IAAImM,EAAIoiB,EAAMzvB,KAAKoI,IAAIgoB,GACnB9iB,EAAImiB,EAAMzvB,KAAKsI,IAAI8nB,GACnBC,EAAW,IAANhjB,GAAiB,IAANC,EAAU,EAAIA,EAAItN,KAAKM,KAAK+M,EAAIA,EAAIC,EAAIA,GACxDgjB,EAAW,IAANjjB,GAAiB,IAANC,EAAU,GAAKD,EAAIrN,KAAKM,KAAK+M,EAAIA,EAAIC,EAAIA,GAC7DD,IAAMlK,KAAKyB,EAAEL,EAAE,GACf+I,IAAMnK,KAAKyB,EAAEL,EAAE,GACfpB,KAAKoB,EAAEmoB,YAAYrf,EAAGC,EAAGD,EAAIgjB,EAAKV,EAAeD,EAAYtX,EAAK9K,EAAIgjB,EAAKX,EAAeD,EAAYtX,EAAK/K,EAAIgjB,EAAKV,EAAeD,EAAYtX,EAAK9K,EAAIgjB,EAAKX,EAAeD,EAAYtX,EAAKlX,GAAG,GAChMkvB,GAAcvnB,EAAQuP,CACxB,CACAjV,KAAKob,MAAMld,OAAS,EACpB8B,KAAKob,MAAM,GAAKpb,KAAKoB,CACvB,GAEF6Q,gBAAgB,CAAChO,0BAA2B8nB,GACrCA,CACT,CAjHwB,GAkHpBqB,EAAoB,WACtB,SAASA,EAAkBlH,EAAMjN,GAC/BjZ,KAAKoB,EAAI8pB,WAAWjX,aACpBjU,KAAKoB,EAAEwF,GAAI,EACX5G,KAAK8qB,qBAAuBQ,qBAAqBC,qBACjDvrB,KAAK8qB,qBAAqBM,SAASprB,KAAKoB,GACxCpB,KAAKob,MAAQpb,KAAK8qB,qBAClB9qB,KAAKkmB,KAAOA,EACZlmB,KAAKylB,KAAOS,EAAKT,KACjBzlB,KAAKomB,SAAW,EAChBpmB,KAAK6B,EAAIoX,EAAKpX,EACd7B,KAAK2E,6BAA6BuhB,GAClClmB,KAAKyB,EAAI2f,gBAAgB+F,QAAQjB,EAAMjN,EAAKxX,EAAG,EAAG,EAAGzB,MACrDA,KAAKmB,EAAIigB,gBAAgB+F,QAAQjB,EAAMjN,EAAK9X,EAAG,EAAG,EAAGnB,MACrDA,KAAKqB,EAAI+f,gBAAgB+F,QAAQjB,EAAMjN,EAAK5X,EAAG,EAAG,EAAGrB,MACjDA,KAAKoE,kBAAkBlG,OACzB8B,KAAK+G,GAAI,GAET/G,KAAK+G,GAAI,EACT/G,KAAKqtB,oBAET,CAuDA,OArDAD,EAAkB3qB,UAAY,CAC5B4qB,kBAAmB,WACjB,IAAIhiB,EAAKrL,KAAKyB,EAAEL,EAAE,GAChBsI,EAAK1J,KAAKyB,EAAEL,EAAE,GACdksB,EAAKttB,KAAKmB,EAAEC,EAAE,GAAK,EACnBonB,EAAKxoB,KAAKmB,EAAEC,EAAE,GAAK,EACjBtE,EAAQY,OAAO4vB,EAAI9E,EAAIxoB,KAAKqB,EAAED,GAC9BsqB,EAAS5uB,GAAS,EAAI4B,aAC1BsB,KAAKoB,EAAEuU,QAAU,EACF,IAAX3V,KAAK6B,GAAsB,IAAX7B,KAAK6B,GACvB7B,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAOuO,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAOuO,EAAKiiB,EAAI5jB,EAAK8e,EAAKkD,EAAQ,GAAG,GACrG1rB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAOuO,EAAKiiB,EAAI5jB,EAAK8e,EAAKkD,EAAQrgB,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAO,GAAG,GACvF,IAAVA,GACFkD,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAInd,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAInd,EAAKiiB,EAAK5B,EAAQhiB,EAAK8e,EAAI,GAAG,GACrGxoB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAInd,EAAKiiB,EAAK5B,EAAQhiB,EAAK8e,EAAInd,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAI,GAAG,GACrGxoB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAOuO,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAOuO,EAAKiiB,EAAI5jB,EAAK8e,EAAKkD,EAAQ,GAAG,GACrG1rB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAOuO,EAAKiiB,EAAI5jB,EAAK8e,EAAKkD,EAAQrgB,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAO,GAAG,GACrGkD,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAInd,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAInd,EAAKiiB,EAAK5B,EAAQhiB,EAAK8e,EAAI,GAAG,GACrGxoB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAInd,EAAKiiB,EAAK5B,EAAQhiB,EAAK8e,EAAInd,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAI,GAAG,KAErGxoB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAI5jB,EAAK8e,EAAInd,EAAKiiB,EAAK5B,EAAQhiB,EAAK8e,EAAInd,EAAKiiB,EAAI5jB,EAAK8e,EAAI,GAClFxoB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAI5jB,EAAK8e,EAAInd,EAAKiiB,EAAI5jB,EAAK8e,EAAKkD,EAAQrgB,EAAKiiB,EAAI5jB,EAAK8e,EAAI,MAGpFxoB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAOuO,EAAKiiB,EAAI5jB,EAAK8e,EAAKkD,EAAQrgB,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAO,GAAG,GACvF,IAAVA,GACFkD,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAInd,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAInd,EAAKiiB,EAAK5B,EAAQhiB,EAAK8e,EAAI,GAAG,GACrGxoB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAInd,EAAKiiB,EAAK5B,EAAQhiB,EAAK8e,EAAInd,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAI,GAAG,GACrGxoB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAOuO,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAOuO,EAAKiiB,EAAI5jB,EAAK8e,EAAKkD,EAAQ,GAAG,GACrG1rB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAOuO,EAAKiiB,EAAI5jB,EAAK8e,EAAKkD,EAAQrgB,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAO,GAAG,GACrGkD,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAInd,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAInd,EAAKiiB,EAAK5B,EAAQhiB,EAAK8e,EAAI,GAAG,GACrGxoB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAInd,EAAKiiB,EAAK5B,EAAQhiB,EAAK8e,EAAInd,EAAKiiB,EAAKxwB,EAAO4M,EAAK8e,EAAI,GAAG,GACrGxoB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAOuO,EAAKiiB,EAAI5jB,EAAK8e,EAAK1rB,EAAOuO,EAAKiiB,EAAI5jB,EAAK8e,EAAKkD,EAAQ,GAAG,KAErG1rB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAI5jB,EAAK8e,EAAInd,EAAKiiB,EAAK5B,EAAQhiB,EAAK8e,EAAInd,EAAKiiB,EAAI5jB,EAAK8e,EAAI,GAAG,GACrFxoB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAI5jB,EAAK8e,EAAInd,EAAKiiB,EAAI5jB,EAAK8e,EAAKkD,EAAQrgB,EAAKiiB,EAAI5jB,EAAK8e,EAAI,GAAG,GACrFxoB,KAAKoB,EAAEmoB,YAAYle,EAAKiiB,EAAI5jB,EAAK8e,EAAInd,EAAKiiB,EAAK5B,EAAQhiB,EAAK8e,EAAInd,EAAKiiB,EAAI5jB,EAAK8e,EAAI,GAAG,IAG3F,EACA9jB,SAAU,SAAU8c,GACdxhB,KAAKkmB,KAAKC,WAAWC,UAAYpmB,KAAKomB,UAG1CpmB,KAAKomB,QAAUpmB,KAAKkmB,KAAKC,WAAWC,QACpCpmB,KAAKwE,2BACDxE,KAAKyE,MACPzE,KAAKqtB,oBAET,EACA9nB,MAAOslB,GAET5Y,gBAAgB,CAAChO,0BAA2BmpB,GACrCA,CACT,CA7EwB,GA0GpB/d,EAAK,CACTA,aA7BA,SAAsB6W,EAAMjN,EAAMrZ,GAChC,IAAIuE,EAmBJ,OAlBa,IAATvE,GAAuB,IAATA,EAIduE,GAHsB,IAATvE,EAAaqZ,EAAKrO,GAAKqO,EAAKiB,IACvBnT,EACX7I,OACA,IAAIstB,EAAuBtF,EAAMjN,EAAMrZ,GAEvC,IAAIyrB,EAAcnF,EAAMjN,EAAMrZ,GAErB,IAATA,EACTuE,EAAO,IAAIipB,EAAkBlH,EAAMjN,GACjB,IAATrZ,EACTuE,EAAO,IAAIsnB,EAAiBvF,EAAMjN,GAChB,IAATrZ,IACTuE,EAAO,IAAI4nB,EAAkB7F,EAAMjN,IAEjC9U,EAAK4C,GACPmf,EAAKhiB,mBAAmBC,GAEnBA,CACT,EASAkL,uBARA,WACE,OAAOgc,CACT,EAOAhc,gCANA,WACE,OAAOmc,CACT,GAKA,OAAOnc,CACT,CA5e2B,GA6evBke,gBACEle,GAAK,CAAC,EACNme,UAAY,CAAC,EACjBne,GAAGoe,iBAEH,SAA0Bne,EAAIoe,GACvBF,UAAUle,KACbke,UAAUle,GAAMoe,EAEpB,EALAre,GAAGse,YAMH,SAAqBre,EAAI4W,EAAMjN,GAC7B,OAAO,IAAIuU,UAAUle,GAAI4W,EAAMjN,EACjC,EACO5J,IAZHA,GACAme,UAaN,SAASI,gBAAiB,CAyC1B,SAASC,eAAgB,CAiUzB,SAASC,uBAAwB,CAkGjC,SAASC,yBAA0B,CA6DnC,SAASC,mBAAoB,CA8O7B,SAASC,kBACPjuB,KAAK2V,QAAU,EACf3V,KAAKgpB,WAAa,EAClBhpB,KAAK4Z,OAAStb,iBAAiB0B,KAAKgpB,WACtC,CAgBA,SAASkF,aAAahI,EAAMjN,EAAMkV,EAAU7pB,GAC1CtE,KAAKkmB,KAAOA,EACZlmB,KAAKomB,SAAW,EAChBpmB,KAAKouB,UAAY9vB,iBAAiB2a,EAAK/a,QACvC8B,KAAKmuB,SAAWA,EAChBnuB,KAAK+G,GAAI,EACT/G,KAAKquB,QAAU,GACfruB,KAAKsuB,UAAYlrB,iBAAiB,UAAW6V,EAAK/a,OAAS+a,EAAK/a,OAAS,EAAI,GAC7E8B,KAAKuuB,WAAanrB,iBAAiB,UAAW,GAC9CpD,KAAK2E,6BAA6BL,GAClC,IAAIvG,EAEFoG,EADAlG,EAAMgb,EAAK/a,QAAU,EAEvB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBoG,EAAOid,gBAAgB+F,QAAQjB,EAAMjN,EAAKlb,GAAGqD,EAAG,EAAG,EAAGpB,MACtDA,KAAK+G,EAAI5C,EAAK4C,GAAK/G,KAAK+G,EACxB/G,KAAKouB,UAAUrwB,GAAK,CAClBmJ,EAAG+R,EAAKlb,GAAGmJ,EACXzF,EAAG0C,GAGFnE,KAAK+G,GACR/G,KAAK0E,UAAS,GAEhB1E,KAAKuE,YAAcvE,KAAK+G,CAC1B,CA4BA,SAASynB,iBAAiBtI,EAAMjN,EAAM3U,GACpCtE,KAAKiZ,KAAOA,EACZjZ,KAAK4G,EAAIxD,iBAAiB,SAAmB,EAAT6V,EAAKxX,GACzC,IAAIgtB,EAAUxV,EAAKlS,EAAEA,EAAE,GAAG5F,EAAI8X,EAAKlS,EAAEA,EAAE,GAAG5F,EAAEjD,OAAkB,EAAT+a,EAAKxX,EAAQwX,EAAKlS,EAAEA,EAAE7I,OAAkB,EAAT+a,EAAKxX,EACzFzB,KAAKmH,EAAI/D,iBAAiB,UAAWqrB,GACrCzuB,KAAK0uB,OAAQ,EACb1uB,KAAK2uB,OAAQ,EACb3uB,KAAK4uB,aAAe5uB,KAAK6uB,mBACzB7uB,KAAK8uB,YAAcL,EACnBzuB,KAAK2E,6BAA6BL,GAClCtE,KAAKmE,KAAOid,gBAAgB+F,QAAQjB,EAAMjN,EAAKlS,EAAG,EAAG,KAAM/G,MAC3DA,KAAK+G,EAAI/G,KAAKmE,KAAK4C,EACnB/G,KAAK0E,UAAS,EAChB,CA50BAkpB,cAAcnrB,UAAUssB,uBAAyB,WAAa,EAC9DnB,cAAcnrB,UAAUusB,mBAAqB,WAAa,EAC1DpB,cAAcnrB,UAAU2oB,SAAW,SAAUnS,GAC3C,IAAKjZ,KAAKuV,OAAQ,CAEhB0D,EAAK8K,GAAGzf,UAAUJ,mBAAmB+U,EAAK8K,IAC1C,IAAI3O,EAAY,CACd6Z,MAAOhW,EAAK8K,GACZ9K,KAAMA,EACN6R,qBAAsBQ,qBAAqBC,sBAE7CvrB,KAAK4Z,OAAO5W,KAAKoS,GACjBpV,KAAKgvB,mBAAmB5Z,GACpBpV,KAAKuE,aACP0U,EAAKiW,eAET,CACF,EACAtB,cAAcnrB,UAAU0nB,KAAO,SAAUjE,EAAMjN,GAC7CjZ,KAAK4Z,OAAS,GACd5Z,KAAKkmB,KAAOA,EACZlmB,KAAK2E,6BAA6BuhB,GAClClmB,KAAK+uB,uBAAuB7I,EAAMjN,GAClCjZ,KAAKomB,QAAUhqB,oBACf4D,KAAKuV,QAAS,EACdvV,KAAK+G,GAAI,EACL/G,KAAKoE,kBAAkBlG,OACzB8B,KAAK+G,GAAI,EAET/G,KAAK0E,UAAS,EAElB,EACAkpB,cAAcnrB,UAAU0sB,YAAc,WAChCnvB,KAAKkmB,KAAKC,WAAWC,UAAYpmB,KAAKomB,UAG1CpmB,KAAKomB,QAAUpmB,KAAKkmB,KAAKC,WAAWC,QACpCpmB,KAAKwE,2BACP,EACAyN,gBAAgB,CAAChO,0BAA2B2pB,eAE5C3b,gBAAgB,CAAC2b,eAAgBC,cACjCA,aAAaprB,UAAUssB,uBAAyB,SAAU7I,EAAMjN,GAC9DjZ,KAAKmB,EAAIigB,gBAAgB+F,QAAQjB,EAAMjN,EAAK9X,EAAG,EAAG,IAAMnB,MACxDA,KAAK6G,EAAIua,gBAAgB+F,QAAQjB,EAAMjN,EAAKpS,EAAG,EAAG,IAAM7G,MACxDA,KAAKmH,EAAIia,gBAAgB+F,QAAQjB,EAAMjN,EAAK9R,EAAG,EAAG,EAAGnH,MACrDA,KAAKovB,OAAS,EACdpvB,KAAKqvB,OAAS,EACdrvB,KAAK0E,SAAW1E,KAAKmvB,YACrBnvB,KAAKiH,EAAIgS,EAAKhS,EACdjH,KAAKuE,cAAgBvE,KAAKmB,EAAEklB,gBAAgBnoB,UAAY8B,KAAK6G,EAAEwf,gBAAgBnoB,UAAY8B,KAAKmH,EAAEkf,gBAAgBnoB,MACpH,EACA2vB,aAAaprB,UAAUusB,mBAAqB,SAAU5Z,GACpDA,EAAUka,UAAY,EACxB,EACAzB,aAAaprB,UAAU8sB,oBAAsB,SAAUpuB,EAAG0F,EAAG2oB,EAAa5b,EAAa6b,GACrF,IAAIC,EAAW,GACX7oB,GAAK,EACP6oB,EAAS1sB,KAAK,CACZ7B,EAAGA,EACH0F,EAAGA,IAEI1F,GAAK,EACduuB,EAAS1sB,KAAK,CACZ7B,EAAGA,EAAI,EACP0F,EAAGA,EAAI,KAGT6oB,EAAS1sB,KAAK,CACZ7B,EAAGA,EACH0F,EAAG,IAEL6oB,EAAS1sB,KAAK,CACZ7B,EAAG,EACH0F,EAAGA,EAAI,KAGX,IACI9I,EAEF4xB,EAHEC,EAAgB,GAElB3xB,EAAMyxB,EAASxxB,OAEjB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAAG,CAGzB,IAAI8xB,EAAQC,GAFdH,EAAYD,EAAS3xB,IACP8I,EAAI4oB,EAAsB7b,GAAe+b,EAAUxuB,EAAIsuB,EAAsB7b,EAAc4b,IAGrGK,EADEF,EAAUxuB,EAAIsuB,GAAuB7b,EAC9B,GAEC+b,EAAUxuB,EAAIsuB,EAAsB7b,GAAe4b,EAG7DM,EADEH,EAAU9oB,EAAI4oB,GAAuB7b,EAAc4b,EAC5C,GAECG,EAAU9oB,EAAI4oB,EAAsB7b,GAAe4b,EAE/DI,EAAc5sB,KAAK,CAAC6sB,EAAQC,IAEhC,CAIA,OAHKF,EAAc1xB,QACjB0xB,EAAc5sB,KAAK,CAAC,EAAG,IAElB4sB,CACT,EACA/B,aAAaprB,UAAUstB,iBAAmB,SAAUT,GAClD,IAAIvxB,EACFE,EAAMqxB,EAAUpxB,OAClB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBuX,qBAAqB0a,QAAQV,EAAUvxB,IAGzC,OADAuxB,EAAUpxB,OAAS,EACZoxB,CACT,EACAzB,aAAaprB,UAAUwtB,cAAgB,SAAU1J,GAC/C,IAAIplB,EAAG0F,EAsBHqpB,EArBJ,GAAIlwB,KAAKyE,MAAQ8hB,EAAe,CAC9B,IAAIpf,EAAInH,KAAKmH,EAAE/F,EAAI,IAAM,IAOzB,GANI+F,EAAI,IACNA,GAAK,IAEPhG,GAAKnB,KAAKmB,EAAEC,EAAI,EAAI,EAAIpB,KAAKmB,EAAEC,EAAI,EAAI,EAAIpB,KAAKmB,EAAEC,GAAK+F,IACvDN,GAAK7G,KAAK6G,EAAEzF,EAAI,EAAI,EAAIpB,KAAK6G,EAAEzF,EAAI,EAAI,EAAIpB,KAAK6G,EAAEzF,GAAK+F,GAE5C,CACT,IAAIgpB,EAAKhvB,EACTA,EAAI0F,EACJA,EAAIspB,CACN,CACAhvB,EAA4B,KAAxBtE,KAAKC,MAAU,IAAJqE,GACf0F,EAA4B,KAAxBhK,KAAKC,MAAU,IAAJ+J,GACf7G,KAAKovB,OAASjuB,EACdnB,KAAKqvB,OAASxoB,CAChB,MACE1F,EAAInB,KAAKovB,OACTvoB,EAAI7G,KAAKqvB,OAGX,IAAItxB,EAEF+I,EACAiS,EACEuW,EACFnU,EACAiV,EALAnyB,EAAM+B,KAAK4Z,OAAO1b,OAMlBuxB,EAAsB,EACxB,GAAI5oB,IAAM1F,EACR,IAAKpD,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAK4Z,OAAO7b,GAAG+sB,qBAAqBK,gBACpCnrB,KAAK4Z,OAAO7b,GAAGkxB,MAAMxqB,MAAO,EAC5BzE,KAAK4Z,OAAO7b,GAAGkxB,MAAM7T,MAAQpb,KAAK4Z,OAAO7b,GAAG+sB,qBACxC9qB,KAAKyE,OACPzE,KAAK4Z,OAAO7b,GAAGuxB,UAAUpxB,OAAS,QAGjC,GAAY,IAAN2I,GAAiB,IAAN1F,GAAiB,IAAN0F,GAAiB,IAAN1F,GAyFvC,GAAInB,KAAKyE,KACd,IAAK1G,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAGxBiC,KAAK4Z,OAAO7b,GAAGuxB,UAAUpxB,OAAS,EAClC8B,KAAK4Z,OAAO7b,GAAGkxB,MAAMxqB,MAAO,MA9FwB,CACtD,IACE2Q,EACA0V,EAFE4E,EAAW,GAGf,IAAK3xB,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAGxB,IAFAqX,EAAYpV,KAAK4Z,OAAO7b,IAETkxB,MAAMxqB,MAASzE,KAAKyE,MAAS8hB,GAA4B,IAAXvmB,KAAKiH,EAE3D,CAIL,GAFA8R,GADAmX,EAAa9a,EAAU6Z,MAAM7T,OACXzF,QAClBya,EAAmB,GACdhb,EAAU6Z,MAAMxqB,MAAQ2Q,EAAUka,UAAUpxB,OAC/CkyB,EAAmBhb,EAAUgb,qBACxB,CAEL,IADAd,EAAYtvB,KAAK+vB,iBAAiB3a,EAAUka,WACvCxoB,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzBqU,EAAW3C,IAAIrD,kBAAkB+a,EAAWtW,OAAO9S,IACnDwoB,EAAUtsB,KAAKmY,GACfiV,GAAoBjV,EAASvF,YAE/BR,EAAUgb,iBAAmBA,EAC7Bhb,EAAUka,UAAYA,CACxB,CACAG,GAAuBW,EACvBhb,EAAU6Z,MAAMxqB,MAAO,CACzB,MAnBE2Q,EAAU6Z,MAAM7T,MAAQhG,EAAU0V,qBAqBtC,IAGEuF,EAHER,EAAS1uB,EACX2uB,EAASjpB,EACT+M,EAAc,EAEhB,IAAK7V,EAAIE,EAAM,EAAGF,GAAK,EAAGA,GAAK,EAE7B,IADAqX,EAAYpV,KAAK4Z,OAAO7b,IACVkxB,MAAMxqB,KAAM,CAWxB,KAVAqmB,EAAuB1V,EAAU0V,sBACZK,gBAEN,IAAXnrB,KAAKiH,GAAWhJ,EAAM,GACxBoyB,EAAQrwB,KAAKuvB,oBAAoBpuB,EAAG0F,EAAGuO,EAAUgb,iBAAkBxc,EAAa6b,GAChF7b,GAAewB,EAAUgb,kBAEzBC,EAAQ,CAAC,CAACR,EAAQC,IAEpB/W,EAAOsX,EAAMnyB,OACR4I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EAAG,CAC5B+oB,EAASQ,EAAMvpB,GAAG,GAClBgpB,EAASO,EAAMvpB,GAAG,GAClB4oB,EAASxxB,OAAS,EACd4xB,GAAU,EACZJ,EAAS1sB,KAAK,CACZ7B,EAAGiU,EAAUgb,iBAAmBP,EAChChpB,EAAGuO,EAAUgb,iBAAmBN,IAEzBD,GAAU,EACnBH,EAAS1sB,KAAK,CACZ7B,EAAGiU,EAAUgb,kBAAoBP,EAAS,GAC1ChpB,EAAGuO,EAAUgb,kBAAoBN,EAAS,MAG5CJ,EAAS1sB,KAAK,CACZ7B,EAAGiU,EAAUgb,iBAAmBP,EAChChpB,EAAGuO,EAAUgb,mBAEfV,EAAS1sB,KAAK,CACZ7B,EAAG,EACH0F,EAAGuO,EAAUgb,kBAAoBN,EAAS,MAG9C,IAAIQ,EAAgBtwB,KAAKuwB,UAAUnb,EAAWsa,EAAS,IACvD,GAAIA,EAAS,GAAGvuB,IAAMuuB,EAAS,GAAG7oB,EAAG,CACnC,GAAI6oB,EAASxxB,OAAS,EAEpB,GAD4BkX,EAAU6Z,MAAM7T,MAAMxB,OAAOxE,EAAU6Z,MAAM7T,MAAMzF,QAAU,GAC/D/O,EAAG,CAC3B,IAAI4pB,EAAYF,EAAcG,MAC9BzwB,KAAK0wB,SAASJ,EAAexF,GAC7BwF,EAAgBtwB,KAAKuwB,UAAUnb,EAAWsa,EAAS,GAAIc,EACzD,MACExwB,KAAK0wB,SAASJ,EAAexF,GAC7BwF,EAAgBtwB,KAAKuwB,UAAUnb,EAAWsa,EAAS,IAGvD1vB,KAAK0wB,SAASJ,EAAexF,EAC/B,CACF,CACA1V,EAAU6Z,MAAM7T,MAAQ0P,CAC1B,CAEJ,CAQF,EACA+C,aAAaprB,UAAUiuB,SAAW,SAAUC,EAAU7F,GACpD,IAAI/sB,EACFE,EAAM0yB,EAASzyB,OACjB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB+sB,EAAqBM,SAASuF,EAAS5yB,GAE3C,EACA8vB,aAAaprB,UAAUmuB,WAAa,SAAU1lB,EAAKC,EAAKC,EAAKmI,EAAKsd,EAAWvH,EAAKwH,GAChFD,EAAUxH,QAAQle,EAAI,GAAIA,EAAI,GAAI,IAAKme,GACvCuH,EAAUxH,QAAQje,EAAI,GAAIA,EAAI,GAAI,IAAKke,EAAM,GACzCwH,GACFD,EAAUxH,QAAQne,EAAI,GAAIA,EAAI,GAAI,IAAKoe,GAEzCuH,EAAUxH,QAAQ9V,EAAI,GAAIA,EAAI,GAAI,IAAK+V,EAAM,EAC/C,EACAuE,aAAaprB,UAAUsuB,oBAAsB,SAAUxgB,EAAQsgB,EAAWvH,EAAKwH,GAC7ED,EAAUxH,QAAQ9Y,EAAO,GAAIA,EAAO,GAAI,IAAK+Y,GAC7CuH,EAAUxH,QAAQ9Y,EAAO,GAAIA,EAAO,GAAI,IAAK+Y,EAAM,GAC/CwH,GACFD,EAAUxH,QAAQ9Y,EAAO,GAAIA,EAAO,GAAI,IAAK+Y,GAE/CuH,EAAUxH,QAAQ9Y,EAAO,GAAIA,EAAO,GAAI,IAAK+Y,EAAM,EACrD,EACAuE,aAAaprB,UAAU8tB,UAAY,SAAUnb,EAAW4b,EAAcH,GACpE,IAEI9yB,EAEF+I,EACAiS,EAEEkY,EAAmBC,EACnB/c,EACAgd,EAEArc,EAXAwa,EAAYla,EAAUka,UACtBY,EAAa9a,EAAU6Z,MAAM7T,MAAMxB,OAErC3b,EAAMmX,EAAU6Z,MAAM7T,MAAMzF,QAG1B/B,EAAc,EAIdgG,EAAS,GAETkX,GAAW,EAUf,IATKD,GAKHK,EAAeL,EAAUlb,QACzBb,EAAU+b,EAAUlb,UALpBkb,EAAY3F,WAAWjX,aACvBid,EAAe,EACfpc,EAAU,GAKZ8E,EAAO5W,KAAK6tB,GACP9yB,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAAG,CAI3B,IAHAoW,EAAUmb,EAAUvxB,GAAGoW,QACvB0c,EAAUjqB,EAAIspB,EAAWnyB,GAAG6I,EAC5BmS,EAAOmX,EAAWnyB,GAAG6I,EAAIuN,EAAQjW,OAASiW,EAAQjW,OAAS,EACtD4I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EAEzB,GAAI8M,GADJqd,EAAoB9c,EAAQrN,EAAI,IACI8M,YAAcod,EAAa7vB,EAC7DyS,GAAeqd,EAAkBrd,YACjCid,EAAUjqB,GAAI,MACT,IAAIgN,EAAcod,EAAanqB,EAAG,CACvCgqB,EAAUjqB,GAAI,EACd,KACF,CACMoqB,EAAa7vB,GAAKyS,GAAeod,EAAanqB,GAAK+M,EAAcqd,EAAkBrd,aACrF5T,KAAK4wB,WAAWV,EAAWnyB,GAAGqD,EAAE0F,EAAI,GAAIopB,EAAWnyB,GAAGoJ,EAAEL,EAAI,GAAIopB,EAAWnyB,GAAGA,EAAE+I,GAAIopB,EAAWnyB,GAAGqD,EAAE0F,GAAI+pB,EAAWK,EAAcJ,GACjIA,GAAW,IAEXK,EAAU3Y,IAAI3C,cAAcqa,EAAWnyB,GAAGqD,EAAE0F,EAAI,GAAIopB,EAAWnyB,GAAGqD,EAAE0F,GAAIopB,EAAWnyB,GAAGoJ,EAAEL,EAAI,GAAIopB,EAAWnyB,GAAGA,EAAE+I,IAAKkqB,EAAa7vB,EAAIyS,GAAeqd,EAAkBrd,aAAcod,EAAanqB,EAAI+M,GAAeqd,EAAkBrd,YAAaO,EAAQrN,EAAI,IAChQ9G,KAAK+wB,oBAAoBI,EAASN,EAAWK,EAAcJ,GAE3DA,GAAW,EACXD,EAAUjqB,GAAI,GAEhBgN,GAAeqd,EAAkBrd,YACjCsd,GAAgB,CAClB,CAEF,GAAIhB,EAAWnyB,GAAG6I,GAAKuN,EAAQjW,OAAQ,CAErC,GADA+yB,EAAoB9c,EAAQrN,EAAI,GAC5B8M,GAAeod,EAAanqB,EAAG,CACjC,IAAIwN,EAAgBF,EAAQrN,EAAI,GAAG8M,YAC/Bod,EAAa7vB,GAAKyS,GAAeod,EAAanqB,GAAK+M,EAAcS,GACnErU,KAAK4wB,WAAWV,EAAWnyB,GAAGqD,EAAE0F,EAAI,GAAIopB,EAAWnyB,GAAGoJ,EAAEL,EAAI,GAAIopB,EAAWnyB,GAAGA,EAAE,GAAImyB,EAAWnyB,GAAGqD,EAAE,GAAIyvB,EAAWK,EAAcJ,GACjIA,GAAW,IAEXK,EAAU3Y,IAAI3C,cAAcqa,EAAWnyB,GAAGqD,EAAE0F,EAAI,GAAIopB,EAAWnyB,GAAGqD,EAAE,GAAI8uB,EAAWnyB,GAAGoJ,EAAEL,EAAI,GAAIopB,EAAWnyB,GAAGA,EAAE,IAAKizB,EAAa7vB,EAAIyS,GAAeS,GAAgB2c,EAAanqB,EAAI+M,GAAeS,EAAeF,EAAQrN,EAAI,IAChO9G,KAAK+wB,oBAAoBI,EAASN,EAAWK,EAAcJ,GAE3DA,GAAW,EACXD,EAAUjqB,GAAI,EAElB,MACEiqB,EAAUjqB,GAAI,EAEhBgN,GAAeqd,EAAkBrd,YACjCsd,GAAgB,CAClB,CAKA,GAJIL,EAAUlb,UACZkb,EAAUxH,QAAQwH,EAAUzvB,EAAE0T,GAAS,GAAI+b,EAAUzvB,EAAE0T,GAAS,GAAI,IAAKA,GACzE+b,EAAUxH,QAAQwH,EAAUzvB,EAAEyvB,EAAUlb,QAAU,GAAG,GAAIkb,EAAUzvB,EAAEyvB,EAAUlb,QAAU,GAAG,GAAI,IAAKkb,EAAUlb,QAAU,IAEvH/B,EAAcod,EAAanqB,EAC7B,MAEE9I,EAAIE,EAAM,IACZ4yB,EAAY3F,WAAWjX,aACvB6c,GAAW,EACXlX,EAAO5W,KAAK6tB,GACZK,EAAe,EAEnB,CACA,OAAOtX,CACT,EACA2T,eAAeE,iBAAiB,KAAMI,cAEtC5b,gBAAgB,CAAC2b,eAAgBE,sBACjCA,qBAAqBrrB,UAAUssB,uBAAyB,SAAU7I,EAAMjN,GACtEjZ,KAAK0E,SAAW1E,KAAKmvB,YACrBnvB,KAAKoxB,GAAKhQ,gBAAgB+F,QAAQjB,EAAMjN,EAAK5X,EAAG,EAAG,KAAMrB,MACzDA,KAAKuE,cAAgBvE,KAAKoxB,GAAG/K,gBAAgBnoB,MAC/C,EACA4vB,qBAAqBrrB,UAAU4uB,YAAc,SAAUjX,EAAMtd,GAC3D,IAAIw0B,EAAcpG,WAAWjX,aAC7Bqd,EAAY1qB,EAAIwT,EAAKxT,EACrB,IAAI7I,EAEAwzB,EACFC,EACAC,EACAC,EAIAC,EACAC,EAEEpI,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAXtB5rB,EAAMmc,EAAKzE,QAUXmL,EAAQ,EAEV,IAAK/iB,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBwzB,EAAWnX,EAAKhZ,EAAErD,GAClB0zB,EAAWrX,EAAKjT,EAAEpJ,GAClByzB,EAAWpX,EAAKrc,EAAEA,GACdwzB,EAAS,KAAOE,EAAS,IAAMF,EAAS,KAAOE,EAAS,IAAMF,EAAS,KAAOC,EAAS,IAAMD,EAAS,KAAOC,EAAS,GAC7G,IAANzzB,GAAWA,IAAME,EAAM,GAAOmc,EAAKxT,GAQpC8qB,EADQ,IAAN3zB,EACQqc,EAAKhZ,EAAEnD,EAAM,GAEbmc,EAAKhZ,EAAErD,EAAI,GAGvB6zB,GADAD,EAAW90B,KAAKM,KAAKN,KAAKI,IAAIs0B,EAAS,GAAKG,EAAQ,GAAI,GAAK70B,KAAKI,IAAIs0B,EAAS,GAAKG,EAAQ,GAAI,KACxE70B,KAAKc,IAAIg0B,EAAW,EAAG70B,GAAS60B,EAAW,EACnEnI,EAAKI,EAAK2H,EAAS,IAAMG,EAAQ,GAAKH,EAAS,IAAMK,EACrDnI,EAAKI,EAAK0H,EAAS,IAAMA,EAAS,GAAKG,EAAQ,IAAME,EACrDlI,EAAKF,GAAMA,EAAK+H,EAAS,IAAM7yB,YAC/BirB,EAAKF,GAAMA,EAAK8H,EAAS,IAAM7yB,YAC/B4yB,EAAY/H,YAAYC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI/I,GAChDA,GAAS,EAEP4Q,EADE3zB,IAAME,EAAM,EACJmc,EAAKhZ,EAAE,GAEPgZ,EAAKhZ,EAAErD,EAAI,GAGvB6zB,GADAD,EAAW90B,KAAKM,KAAKN,KAAKI,IAAIs0B,EAAS,GAAKG,EAAQ,GAAI,GAAK70B,KAAKI,IAAIs0B,EAAS,GAAKG,EAAQ,GAAI,KACxE70B,KAAKc,IAAIg0B,EAAW,EAAG70B,GAAS60B,EAAW,EACnEnI,EAAKE,EAAK6H,EAAS,IAAMG,EAAQ,GAAKH,EAAS,IAAMK,EACrDnI,EAAKE,EAAK4H,EAAS,IAAMG,EAAQ,GAAKH,EAAS,IAAMK,EACrDhI,EAAKJ,GAAMA,EAAK+H,EAAS,IAAM7yB,YAC/BmrB,EAAKJ,GAAMA,EAAK8H,EAAS,IAAM7yB,YAC/B4yB,EAAY/H,YAAYC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI/I,GAChDA,GAAS,IA/BTwQ,EAAY/H,YAAYgI,EAAS,GAAIA,EAAS,GAAIE,EAAS,GAAIA,EAAS,GAAID,EAAS,GAAIA,EAAS,GAAI1Q,GAItGA,GAAS,IA8BXwQ,EAAY/H,YAAYnP,EAAKhZ,EAAErD,GAAG,GAAIqc,EAAKhZ,EAAErD,GAAG,GAAIqc,EAAKjT,EAAEpJ,GAAG,GAAIqc,EAAKjT,EAAEpJ,GAAG,GAAIqc,EAAKrc,EAAEA,GAAG,GAAIqc,EAAKrc,EAAEA,GAAG,GAAI+iB,GAC5GA,GAAS,GAGb,OAAOwQ,CACT,EACAxD,qBAAqBrrB,UAAUwtB,cAAgB,SAAU1J,GACvD,IAAI2J,EACAnyB,EAEA+I,EAAGiS,EAGD3D,EAAqB0V,EAJzB7sB,EAAM+B,KAAK4Z,OAAO1b,OAEhBkzB,EAAKpxB,KAAKoxB,GAAGhwB,EACjB,GAAW,IAAPgwB,EAEF,IAAKrzB,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAAG,CAI3B,IAHAqX,EAAYpV,KAAK4Z,OAAO7b,IACHkxB,MAAM7T,MAC3B0P,EAAuB1V,EAAU0V,qBAC1B1V,EAAU6Z,MAAMxqB,MAASzE,KAAKyE,MAAS8hB,EAK5C,IAJAuE,EAAqBK,gBACrB/V,EAAU6Z,MAAMxqB,MAAO,EACvByrB,EAAa9a,EAAU6Z,MAAM7T,MAAMxB,OACnCb,EAAO3D,EAAU6Z,MAAM7T,MAAMzF,QACxB7O,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzBgkB,EAAqBM,SAASprB,KAAKqxB,YAAYnB,EAAWppB,GAAIsqB,IAGlEhc,EAAU6Z,MAAM7T,MAAQhG,EAAU0V,oBACpC,CAEG9qB,KAAKoE,kBAAkBlG,SAC1B8B,KAAKyE,MAAO,EAEhB,EACA8oB,eAAeE,iBAAiB,KAAMK,sBAEtC7b,gBAAgB,CAAC2b,eAAgBG,wBACjCA,uBAAuBtrB,UAAUssB,uBAAyB,SAAU7I,EAAMjN,GACxEjZ,KAAK0E,SAAW1E,KAAKmvB,YACrBnvB,KAAK6xB,OAASzQ,gBAAgB+F,QAAQjB,EAAMjN,EAAKtS,EAAG,EAAG,KAAM3G,MAC7DA,KAAKuE,cAAgBvE,KAAK6xB,OAAOxL,gBAAgBnoB,MACnD,EACA6vB,uBAAuBtrB,UAAU4uB,YAAc,SAAUjX,EAAMyX,GAC7D,IAAIxa,EAAUwa,EAAS,IACnBC,EAAc,CAAC,EAAG,GAClBC,EAAa3X,EAAKzE,QACpB5X,EAAI,EACN,IAAKA,EAAI,EAAGA,EAAIg0B,EAAYh0B,GAAK,EAC/B+zB,EAAY,IAAM1X,EAAKhZ,EAAErD,GAAG,GAC5B+zB,EAAY,IAAM1X,EAAKhZ,EAAErD,GAAG,GAE9B+zB,EAAY,IAAMC,EAClBD,EAAY,IAAMC,EAClB,IAEIvI,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAFpByH,EAAcpG,WAAWjX,aAG7B,IAFAqd,EAAY1qB,EAAIwT,EAAKxT,EAEhB7I,EAAI,EAAGA,EAAIg0B,EAAYh0B,GAAK,EAC/ByrB,EAAKpP,EAAKhZ,EAAErD,GAAG,IAAM+zB,EAAY,GAAK1X,EAAKhZ,EAAErD,GAAG,IAAMsZ,EACtDoS,EAAKrP,EAAKhZ,EAAErD,GAAG,IAAM+zB,EAAY,GAAK1X,EAAKhZ,EAAErD,GAAG,IAAMsZ,EACtDqS,EAAKtP,EAAKjT,EAAEpJ,GAAG,IAAM+zB,EAAY,GAAK1X,EAAKjT,EAAEpJ,GAAG,KAAOsZ,EACvDsS,EAAKvP,EAAKjT,EAAEpJ,GAAG,IAAM+zB,EAAY,GAAK1X,EAAKjT,EAAEpJ,GAAG,KAAOsZ,EACvDuS,EAAKxP,EAAKrc,EAAEA,GAAG,IAAM+zB,EAAY,GAAK1X,EAAKrc,EAAEA,GAAG,KAAOsZ,EACvDwS,EAAKzP,EAAKrc,EAAEA,GAAG,IAAM+zB,EAAY,GAAK1X,EAAKrc,EAAEA,GAAG,KAAOsZ,EACvDia,EAAY/H,YAAYC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI9rB,GAElD,OAAOuzB,CACT,EACAvD,uBAAuBtrB,UAAUwtB,cAAgB,SAAU1J,GACzD,IAAI2J,EACAnyB,EAEA+I,EAAGiS,EAGD3D,EAAqB0V,EAJzB7sB,EAAM+B,KAAK4Z,OAAO1b,OAEhB2zB,EAAS7xB,KAAK6xB,OAAOzwB,EACzB,GAAe,IAAXywB,EAEF,IAAK9zB,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAAG,CAI3B,IAHAqX,EAAYpV,KAAK4Z,OAAO7b,IACHkxB,MAAM7T,MAC3B0P,EAAuB1V,EAAU0V,qBAC1B1V,EAAU6Z,MAAMxqB,MAASzE,KAAKyE,MAAS8hB,EAK5C,IAJAuE,EAAqBK,gBACrB/V,EAAU6Z,MAAMxqB,MAAO,EACvByrB,EAAa9a,EAAU6Z,MAAM7T,MAAMxB,OACnCb,EAAO3D,EAAU6Z,MAAM7T,MAAMzF,QACxB7O,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzBgkB,EAAqBM,SAASprB,KAAKqxB,YAAYnB,EAAWppB,GAAI+qB,IAGlEzc,EAAU6Z,MAAM7T,MAAQhG,EAAU0V,oBACpC,CAEG9qB,KAAKoE,kBAAkBlG,SAC1B8B,KAAKyE,MAAO,EAEhB,EACA8oB,eAAeE,iBAAiB,KAAMM,wBAEtC9b,gBAAgB,CAAC2b,eAAgBI,kBACjCA,iBAAiBvrB,UAAUssB,uBAAyB,SAAU7I,EAAMjN,GAClEjZ,KAAK0E,SAAW1E,KAAKmvB,YACrBnvB,KAAK4G,EAAIwa,gBAAgB+F,QAAQjB,EAAMjN,EAAKrS,EAAG,EAAG,KAAM5G,MACxDA,KAAKmH,EAAIia,gBAAgB+F,QAAQjB,EAAMjN,EAAK9R,EAAG,EAAG,KAAMnH,MACxDA,KAAKgyB,GAAK5K,yBAAyB0B,qBAAqB5C,EAAMjN,EAAK+Y,GAAIhyB,MACvEA,KAAKiyB,GAAK7Q,gBAAgB+F,QAAQjB,EAAMjN,EAAK+Y,GAAGC,GAAI,EAAG,IAAMjyB,MAC7DA,KAAKkyB,GAAK9Q,gBAAgB+F,QAAQjB,EAAMjN,EAAK+Y,GAAGE,GAAI,EAAG,IAAMlyB,MAC7DA,KAAKiZ,KAAOA,EACPjZ,KAAKoE,kBAAkBlG,QAC1B8B,KAAK0E,UAAS,GAEhB1E,KAAKuE,cAAgBvE,KAAKoE,kBAAkBlG,OAC5C8B,KAAKmyB,QAAU,IAAIptB,OACnB/E,KAAKoyB,QAAU,IAAIrtB,OACnB/E,KAAKqyB,QAAU,IAAIttB,OACnB/E,KAAKsyB,QAAU,IAAIvtB,OACnB/E,KAAKuyB,OAAS,IAAIxtB,MACpB,EACAipB,iBAAiBvrB,UAAU+vB,gBAAkB,SAAUL,EAASC,EAASC,EAAS7qB,EAAWiM,EAAMgf,GACjG,IAAIxd,EAAMwd,GAAO,EAAI,EACjBC,EAASlrB,EAAUrG,EAAEC,EAAE,IAAM,EAAIoG,EAAUrG,EAAEC,EAAE,KAAO,EAAIqS,GAC1Dkf,EAASnrB,EAAUrG,EAAEC,EAAE,IAAM,EAAIoG,EAAUrG,EAAEC,EAAE,KAAO,EAAIqS,GAC9D0e,EAAQ/qB,UAAUI,EAAU/F,EAAEL,EAAE,GAAK6T,EAAMxB,EAAMjM,EAAU/F,EAAEL,EAAE,GAAK6T,EAAMxB,EAAMjM,EAAU/F,EAAEL,EAAE,IAC9FgxB,EAAQhrB,WAAWI,EAAUb,EAAEvF,EAAE,IAAKoG,EAAUb,EAAEvF,EAAE,GAAIoG,EAAUb,EAAEvF,EAAE,IACtEgxB,EAAQ3sB,QAAQ+B,EAAUnG,EAAED,EAAI6T,EAAMxB,GACtC2e,EAAQhrB,UAAUI,EAAUb,EAAEvF,EAAE,GAAIoG,EAAUb,EAAEvF,EAAE,GAAIoG,EAAUb,EAAEvF,EAAE,IACpEixB,EAAQjrB,WAAWI,EAAUb,EAAEvF,EAAE,IAAKoG,EAAUb,EAAEvF,EAAE,GAAIoG,EAAUb,EAAEvF,EAAE,IACtEixB,EAAQ7rB,MAAMisB,EAAM,EAAIC,EAASA,EAAQD,EAAM,EAAIE,EAASA,GAC5DN,EAAQjrB,UAAUI,EAAUb,EAAEvF,EAAE,GAAIoG,EAAUb,EAAEvF,EAAE,GAAIoG,EAAUb,EAAEvF,EAAE,GACtE,EACA4sB,iBAAiBvrB,UAAU0nB,KAAO,SAAUjE,EAAMziB,EAAK6lB,EAAKsJ,GAY1D,IAXA5yB,KAAKkmB,KAAOA,EACZlmB,KAAKyD,IAAMA,EACXzD,KAAKspB,IAAMA,EACXtpB,KAAK4yB,UAAYA,EACjB5yB,KAAK6yB,eAAiB,EACtB7yB,KAAK8yB,UAAY,GACjB9yB,KAAK+yB,QAAU,GACf/yB,KAAKomB,SAAW,EAChBpmB,KAAK2E,6BAA6BuhB,GAClClmB,KAAK+uB,uBAAuB7I,EAAMziB,EAAI6lB,IAE/BA,EAAM,GACXA,GAAO,EAEPtpB,KAAK8yB,UAAUE,QAAQvvB,EAAI6lB,IAGzBtpB,KAAKoE,kBAAkBlG,OACzB8B,KAAK+G,GAAI,EAET/G,KAAK0E,UAAS,EAElB,EACAspB,iBAAiBvrB,UAAUwwB,cAAgB,SAAUC,GACnD,IAAIn1B,EACFE,EAAMi1B,EAASh1B,OACjB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBm1B,EAASn1B,GAAGo1B,YAAa,EACF,OAAnBD,EAASn1B,GAAGuJ,IACdtH,KAAKizB,cAAcC,EAASn1B,GAAGoc,GAGrC,EACA6T,iBAAiBvrB,UAAU2wB,cAAgB,SAAUF,GAE3CA,EAASh1B,OADjB,IAEIm1B,EAActZ,KAAKC,MAAMD,KAAKE,UAAUiZ,IAE5C,OADAlzB,KAAKizB,cAAcI,GACZA,CACT,EACArF,iBAAiBvrB,UAAU6wB,kBAAoB,SAAUJ,EAAUK,GACjE,IAAIx1B,EACFE,EAAMi1B,EAASh1B,OACjB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBm1B,EAASn1B,GAAGy1B,QAAUD,EACC,OAAnBL,EAASn1B,GAAGuJ,IACdtH,KAAKszB,kBAAkBJ,EAASn1B,GAAGoc,GAAIoZ,EAG7C,EACAvF,iBAAiBvrB,UAAUwtB,cAAgB,SAAU1J,GACnD,IAAIkN,EAAOC,EAAgB31B,EAAGkX,EAAK0e,EACnC,GAAI3zB,KAAKyE,MAAQ8hB,EAAe,CAC9B,IA6DIgN,EA7DAK,EAAS/2B,KAAKg3B,KAAK7zB,KAAK4G,EAAExF,GAC9B,GAAIpB,KAAK+yB,QAAQ70B,OAAS01B,EAAQ,CAChC,KAAO5zB,KAAK+yB,QAAQ70B,OAAS01B,GAAQ,CACnC,IAAIE,EAAQ,CACV3Z,GAAIna,KAAKozB,cAAcpzB,KAAK8yB,WAC5BxrB,GAAI,MAENwsB,EAAM3Z,GAAGnX,KAAK,CACZ,EAAK,CACH,EAAK,EACL,GAAM,EACN,EAAK,CAAC,EAAG,IAEX,GAAM,YACN,EAAK,CACH,EAAK,EACL,GAAM,EACN,EAAK,KAEP,EAAK,CACH,EAAK,EACL,GAAM,EACN,EAAK,CAAC,EAAG,IAEX,EAAK,CACH,EAAK,EACL,GAAM,EACN,EAAK,CAAC,CACJ7B,EAAG,EACH0F,EAAG,EACHlF,EAAG,GACF,CACDR,EAAG,EACH0F,EAAG,EACHlF,EAAG,KAGP,EAAK,CACH,EAAK,EACL,GAAM,EACN,EAAK,CAAC,IAAK,MAEb,GAAM,CACJ,EAAK,EACL,GAAM,EACN,EAAK,GAEP,GAAM,CACJ,EAAK,EACL,GAAM,EACN,EAAK,GAEP,GAAM,OAER3B,KAAKyD,IAAIN,OAAO,EAAG,EAAG2wB,GACtB9zB,KAAK+yB,QAAQ5vB,OAAO,EAAG,EAAG2wB,GAC1B9zB,KAAK6yB,gBAAkB,CACzB,CACA7yB,KAAKkmB,KAAK6N,cACZ,CAGA,IAFAJ,EAAO,EAEF51B,EAAI,EAAGA,GAAKiC,KAAK+yB,QAAQ70B,OAAS,EAAGH,GAAK,EAC7Cw1B,EAAaI,EAAOC,EACpB5zB,KAAK+yB,QAAQh1B,GAAGy1B,QAAUD,EAC1BvzB,KAAKszB,kBAAkBtzB,KAAK+yB,QAAQh1B,GAAGoc,GAAIoZ,GAC3CI,GAAQ,EAEV3zB,KAAK6yB,eAAiBe,EAGtB,IAAI5xB,EAAShC,KAAKmH,EAAE/F,EAChB4yB,EAAehyB,EAAS,EACxBiyB,EAAcjyB,EAAS,EAAInF,KAAKU,MAAMyE,GAAUnF,KAAKg3B,KAAK7xB,GAG1DkyB,GADOl0B,KAAKgyB,GAAG5wB,EAAEoE,MACRxF,KAAKmyB,QAAQ3sB,OACtB2uB,EAASn0B,KAAKoyB,QAAQ5sB,MACtB4uB,EAASp0B,KAAKqyB,QAAQ7sB,MAC1BxF,KAAKmyB,QAAQ5sB,QACbvF,KAAKoyB,QAAQ7sB,QACbvF,KAAKqyB,QAAQ9sB,QACbvF,KAAKsyB,QAAQ/sB,QACbvF,KAAKuyB,OAAOhtB,QACZ,IAuBIuB,EAAGiS,EAvBHsb,EAAY,EAChB,GAAIryB,EAAS,EAAG,CACd,KAAOqyB,EAAYJ,GACjBj0B,KAAKwyB,gBAAgBxyB,KAAKmyB,QAASnyB,KAAKoyB,QAASpyB,KAAKqyB,QAASryB,KAAKgyB,GAAI,GAAG,GAC3EqC,GAAa,EAEXL,IACFh0B,KAAKwyB,gBAAgBxyB,KAAKmyB,QAASnyB,KAAKoyB,QAASpyB,KAAKqyB,QAASryB,KAAKgyB,GAAIgC,GAAc,GACtFK,GAAaL,EAEjB,MAAO,GAAIhyB,EAAS,EAAG,CACrB,KAAOqyB,EAAYJ,GACjBj0B,KAAKwyB,gBAAgBxyB,KAAKmyB,QAASnyB,KAAKoyB,QAASpyB,KAAKqyB,QAASryB,KAAKgyB,GAAI,GAAG,GAC3EqC,GAAa,EAEXL,IACFh0B,KAAKwyB,gBAAgBxyB,KAAKmyB,QAASnyB,KAAKoyB,QAASpyB,KAAKqyB,QAASryB,KAAKgyB,IAAKgC,GAAc,GACvFK,GAAaL,EAEjB,CAKA,IAJAj2B,EAAoB,IAAhBiC,KAAKiZ,KAAKhS,EAAU,EAAIjH,KAAK6yB,eAAiB,EAClD5d,EAAsB,IAAhBjV,KAAKiZ,KAAKhS,EAAU,GAAK,EAC/B0sB,EAAO3zB,KAAK6yB,eAELc,GAAM,CAOX,GAJA5a,GADA2a,GADAD,EAAQzzB,KAAK4yB,UAAU70B,GAAGoc,IACHsZ,EAAMv1B,OAAS,GAAGsJ,UAAU8sB,OAAOlzB,EAAEoE,OACtCtH,OACtBu1B,EAAMA,EAAMv1B,OAAS,GAAGsJ,UAAU8sB,OAAO7vB,MAAO,EAChDgvB,EAAMA,EAAMv1B,OAAS,GAAGsJ,UAAU+sB,GAAG9vB,MAAO,EAC5CgvB,EAAMA,EAAMv1B,OAAS,GAAGsJ,UAAU+sB,GAAGnzB,EAAIpB,KAAKiyB,GAAG7wB,GAAKpB,KAAKkyB,GAAG9wB,EAAIpB,KAAKiyB,GAAG7wB,IAAMrD,GAAKiC,KAAK6yB,eAAiB,IACzF,IAAdwB,EAAiB,CAOnB,KANU,IAANt2B,GAAmB,IAARkX,GAAalX,IAAMiC,KAAK6yB,eAAiB,IAAc,IAAT5d,IAC3DjV,KAAKwyB,gBAAgBxyB,KAAKmyB,QAASnyB,KAAKoyB,QAASpyB,KAAKqyB,QAASryB,KAAKgyB,GAAI,GAAG,GAE7EhyB,KAAKuyB,OAAO/qB,UAAU2sB,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,KACvMn0B,KAAKuyB,OAAO/qB,UAAU4sB,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,KACvMp0B,KAAKuyB,OAAO/qB,UAAU0sB,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,KAClMptB,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzB4sB,EAAe5sB,GAAK9G,KAAKuyB,OAAO/sB,MAAMsB,GAExC9G,KAAKuyB,OAAOhtB,OACd,MAEE,IADAvF,KAAKuyB,OAAOhtB,QACPuB,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzB4sB,EAAe5sB,GAAK9G,KAAKuyB,OAAO/sB,MAAMsB,GAG1CutB,GAAa,EACbV,GAAQ,EACR51B,GAAKkX,CACP,CACF,MAIE,IAHA0e,EAAO3zB,KAAK6yB,eACZ90B,EAAI,EACJkX,EAAM,EACC0e,GAELD,GADAD,EAAQzzB,KAAK4yB,UAAU70B,GAAGoc,IACHsZ,EAAMv1B,OAAS,GAAGsJ,UAAU8sB,OAAOlzB,EAAEoE,MAC5DiuB,EAAMA,EAAMv1B,OAAS,GAAGsJ,UAAU8sB,OAAO7vB,MAAO,EAChDgvB,EAAMA,EAAMv1B,OAAS,GAAGsJ,UAAU+sB,GAAG9vB,MAAO,EAC5CkvB,GAAQ,EACR51B,GAAKkX,CAGX,EACA+Y,iBAAiBvrB,UAAU2oB,SAAW,WAAa,EACnDmC,eAAeE,iBAAiB,KAAMO,kBAMtCC,gBAAgBxrB,UAAU2oB,SAAW,SAAUhW,GACzCpV,KAAK2V,UAAY3V,KAAKgpB,aACxBhpB,KAAK4Z,OAAS5Z,KAAK4Z,OAAOqE,OAAO3f,iBAAiB0B,KAAKgpB,aACvDhpB,KAAKgpB,YAAc,GAErBhpB,KAAK4Z,OAAO5Z,KAAK2V,SAAWP,EAC5BpV,KAAK2V,SAAW,CAClB,EACAsY,gBAAgBxrB,UAAU0oB,cAAgB,WACxC,IAAIptB,EACJ,IAAKA,EAAI,EAAGA,EAAIiC,KAAK2V,QAAS5X,GAAK,EACjCmtB,WAAW8E,QAAQhwB,KAAK4Z,OAAO7b,IAEjCiC,KAAK2V,QAAU,CACjB,EA2BAuY,aAAazrB,UAAUiC,SAAW,SAAU2jB,GAC1C,IAAIroB,KAAKkmB,KAAKC,WAAWC,UAAYpmB,KAAKomB,SAAYiC,KAGtDroB,KAAKomB,QAAUpmB,KAAKkmB,KAAKC,WAAWC,QACpCpmB,KAAKwE,2BACLxE,KAAKyE,KAAOzE,KAAKyE,MAAQ4jB,EACrBroB,KAAKyE,MAAM,CACb,IAAI1G,EAAI,EACNE,EAAM+B,KAAKouB,UAAUlwB,OAIvB,IAHsB,QAAlB8B,KAAKmuB,WACPnuB,KAAKquB,QAAU,IAEZtwB,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACG,KAAvBiC,KAAKouB,UAAUrwB,GAAGmJ,EACE,QAAlBlH,KAAKmuB,SACPnuB,KAAKquB,SAAW,IAAMruB,KAAKouB,UAAUrwB,GAAG0D,EAAEL,EAE1CpB,KAAKsuB,UAAUvwB,GAAKiC,KAAKouB,UAAUrwB,GAAG0D,EAAEL,EAG1CpB,KAAKuuB,WAAW,GAAKvuB,KAAKouB,UAAUrwB,GAAG0D,EAAEL,CAG/C,CACF,EACA6Q,gBAAgB,CAAChO,0BAA2BiqB,cAe5CM,iBAAiB/rB,UAAU+xB,cAAgB,SAAUrP,EAAQ5U,GAI3D,IAHA,IAAIxS,EAAI,EACNE,EAAM+B,KAAKmH,EAAEjJ,OAAS,EAEjBH,EAAIE,GAAK,CAEd,GADOpB,KAAKQ,IAAI8nB,EAAW,EAAJpnB,GAASonB,EAAgB,EAAT5U,EAAiB,EAAJxS,IACzC,IACT,OAAO,EAETA,GAAK,CACP,CACA,OAAO,CACT,EACAywB,iBAAiB/rB,UAAUosB,iBAAmB,WAC5C,GAAI7uB,KAAKmH,EAAEjJ,OAAS,IAAM8B,KAAK4G,EAAE1I,OAAS,EACxC,OAAO,EAET,GAAI8B,KAAKiZ,KAAKlS,EAAEA,EAAE,GAAG5F,EAGnB,IAFA,IAAIpD,EAAI,EACNE,EAAM+B,KAAKiZ,KAAKlS,EAAEA,EAAE7I,OACfH,EAAIE,GAAK,CACd,IAAK+B,KAAKw0B,cAAcx0B,KAAKiZ,KAAKlS,EAAEA,EAAEhJ,GAAGoD,EAAGnB,KAAKiZ,KAAKxX,GACpD,OAAO,EAET1D,GAAK,CACP,MACK,IAAKiC,KAAKw0B,cAAcx0B,KAAKiZ,KAAKlS,EAAEA,EAAG/G,KAAKiZ,KAAKxX,GACtD,OAAO,EAET,OAAO,CACT,EACA+sB,iBAAiB/rB,UAAUiC,SAAW,SAAU2jB,GAK9C,GAJAroB,KAAKmE,KAAKO,WACV1E,KAAKyE,MAAO,EACZzE,KAAK0uB,OAAQ,EACb1uB,KAAK2uB,OAAQ,EACT3uB,KAAKmE,KAAKM,MAAQ4jB,EAAa,CACjC,IAAItqB,EAEAioB,EAAM5nB,EADRH,EAAoB,EAAd+B,KAAKiZ,KAAKxX,EAElB,IAAK1D,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBioB,EAAOjoB,EAAI,IAAM,EAAI,IAAM,IAC3BK,EAAMvB,KAAKC,MAAMkD,KAAKmE,KAAK/C,EAAErD,GAAKioB,GAC9BhmB,KAAK4G,EAAE7I,KAAOK,IAChB4B,KAAK4G,EAAE7I,GAAKK,EACZ4B,KAAK0uB,OAASrG,GAGlB,GAAIroB,KAAKmH,EAAEjJ,OAET,IADAD,EAAM+B,KAAKmE,KAAK/C,EAAElD,OACbH,EAAkB,EAAdiC,KAAKiZ,KAAKxX,EAAO1D,EAAIE,EAAKF,GAAK,EACtCioB,EAAOjoB,EAAI,IAAM,EAAI,IAAM,EAC3BK,EAAML,EAAI,IAAM,EAAIlB,KAAKC,MAAuB,IAAjBkD,KAAKmE,KAAK/C,EAAErD,IAAYiC,KAAKmE,KAAK/C,EAAErD,GAC/DiC,KAAKmH,EAAEpJ,EAAkB,EAAdiC,KAAKiZ,KAAKxX,KAAWrD,IAClC4B,KAAKmH,EAAEpJ,EAAkB,EAAdiC,KAAKiZ,KAAKxX,GAASrD,EAC9B4B,KAAK2uB,OAAStG,GAIpBroB,KAAKyE,MAAQ4jB,CACf,CACF,EACApW,gBAAgB,CAAChO,0BAA2BuqB,kBAC5C,IAAIiG,iBAAmB,SAAUC,EAAWx2B,EAAQqX,EAAQ6S,GAC1D,GAAe,IAAXlqB,EACF,MAAO,GAET,IAGIH,EAHA42B,EAAKD,EAAUvtB,EACfytB,EAAKF,EAAU32B,EACf+tB,EAAK4I,EAAUtzB,EAEjByzB,EAAc,KAAOzM,EAAI1c,wBAAwBogB,EAAG,GAAG,GAAIA,EAAG,GAAG,IACnE,IAAK/tB,EAAI,EAAGA,EAAIG,EAAQH,GAAK,EAC3B82B,GAAe,KAAOzM,EAAI1c,wBAAwBipB,EAAG52B,EAAI,GAAG,GAAI42B,EAAG52B,EAAI,GAAG,IAAM,IAAMqqB,EAAI1c,wBAAwBkpB,EAAG72B,GAAG,GAAI62B,EAAG72B,GAAG,IAAM,IAAMqqB,EAAI1c,wBAAwBogB,EAAG/tB,GAAG,GAAI+tB,EAAG/tB,GAAG,IAM5L,OAJIwX,GAAUrX,IACZ22B,GAAe,KAAOzM,EAAI1c,wBAAwBipB,EAAG52B,EAAI,GAAG,GAAI42B,EAAG52B,EAAI,GAAG,IAAM,IAAMqqB,EAAI1c,wBAAwBkpB,EAAG,GAAG,GAAIA,EAAG,GAAG,IAAM,IAAMxM,EAAI1c,wBAAwBogB,EAAG,GAAG,GAAIA,EAAG,GAAG,IAC1L+I,GAAe,KAEVA,CACT,EACIC,uBAAyB,WAC3B,SAASC,EAAgBC,GACvBh1B,KAAKi1B,OAAS,GACdj1B,KAAKg1B,aAAeA,EACpBh1B,KAAKk1B,QAAU,EACfl1B,KAAKm1B,UAAW,CAClB,CA0EA,OAzEAJ,EAAgBtyB,UAAY,CAC1B2yB,SAAU,SAAUC,GAClBr1B,KAAKi1B,OAAOjyB,KAAKqyB,EACnB,EACAC,MAAO,WACL,IAAIv3B,EACFE,EAAM+B,KAAKi1B,OAAO/2B,OACpB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKi1B,OAAOl3B,GAAGu3B,OAEnB,EACAC,OAAQ,WACN,IAAIx3B,EACFE,EAAM+B,KAAKi1B,OAAO/2B,OACpB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKi1B,OAAOl3B,GAAGw3B,QAEnB,EACAC,QAAS,SAAUC,GACjB,IAAI13B,EACFE,EAAM+B,KAAKi1B,OAAO/2B,OACpB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKi1B,OAAOl3B,GAAGy3B,QAAQC,EAE3B,EACAC,YAAa,SAAUC,GACrB,OAAI31B,KAAKg1B,aACAh1B,KAAKg1B,aAAaW,GAChBC,KACF,IAAIA,KAAK,CACd3V,IAAK,CAAC0V,KAGD,CACLE,WAAW,EACXC,KAAM,WACJ91B,KAAK61B,WAAY,CACnB,EACAE,KAAM,WACJ/1B,KAAK61B,WAAY,CACnB,EACAG,QAAS,WAAa,EACtBC,KAAM,WAAa,EACnBC,UAAW,WAAa,EAG9B,EACAC,gBAAiB,SAAUnB,GACzBh1B,KAAKg1B,aAAeA,CACtB,EACAkB,UAAW,SAAU1yB,GACnBxD,KAAKk1B,QAAU1xB,EACfxD,KAAKo2B,eACP,EACAC,KAAM,WACJr2B,KAAKm1B,UAAW,EAChBn1B,KAAKo2B,eACP,EACAE,OAAQ,WACNt2B,KAAKm1B,UAAW,EAChBn1B,KAAKo2B,eACP,EACAG,UAAW,SAAU/yB,GACnB,OAAOxD,KAAKk1B,OACd,EACAkB,cAAe,WACb,IAAIr4B,EACFE,EAAM+B,KAAKi1B,OAAO/2B,OACpB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKi1B,OAAOl3B,GAAGy4B,OAAOx2B,KAAKk1B,SAAWl1B,KAAKm1B,SAAW,EAAI,GAE9D,GAEK,WACL,OAAO,IAAIJ,CACb,CACF,CAnF6B,GAoFzB0B,eAAiB,WACnB,IAAIC,EAAa,WACf,IAAIC,EAAS5yB,UAAU,UACvB4yB,EAAOxqB,MAAQ,EACfwqB,EAAOC,OAAS,EAChB,IAAIC,EAAMF,EAAO3Y,WAAW,MAG5B,OAFA6Y,EAAIC,UAAY,gBAChBD,EAAIE,SAAS,EAAG,EAAG,EAAG,GACfJ,CACT,CARiB,GASjB,SAASK,IACPh3B,KAAKi3B,cAAgB,EACjBj3B,KAAKi3B,eAAiBj3B,KAAKk3B,aACzBl3B,KAAKm3B,gBACPn3B,KAAKm3B,eAAe,KAG1B,CACA,SAASC,EAAcC,EAAWC,EAAYC,GAC5C,IAAInd,EAAO,GACX,GAAIid,EAAUxwB,EACZuT,EAAOid,EAAU51B,OACZ,GAAI61B,EAAY,CACrB,IAAIE,EAAYH,EAAU51B,GACY,IAAlC+1B,EAAUnzB,QAAQ,aACpBmzB,EAAYA,EAAU/c,MAAM,KAAK,IAEnCL,EAAOkd,EAAaE,CACtB,MACEpd,EAAOmd,EACPnd,GAAQid,EAAUI,EAAIJ,EAAUI,EAAI,GACpCrd,GAAQid,EAAU51B,EAEpB,OAAO2Y,CACT,CAyEA,SAASqc,EAAe72B,GACtBI,KAAK03B,aAAeV,EAAY9zB,KAAKlD,MACrCA,KAAKs3B,WAAa,GAClBt3B,KAAKoa,KAAO,GACZpa,KAAKk3B,YAAc,EACnBl3B,KAAKi3B,aAAe,EACpBj3B,KAAKm3B,eAAiB,KACtBn3B,KAAK23B,OAAS,EAChB,CAcA,OAZAlB,EAAeh0B,UAAY,CACzBm1B,WApDF,SAAoB5c,EAAQ6c,GAC1B73B,KAAKm3B,eAAiBU,EACtB,IAAI95B,EACFE,EAAM+c,EAAO9c,OACf,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACnBid,EAAOjd,GAAG4a,SACb3Y,KAAKk3B,aAAe,EACpBl3B,KAAK23B,OAAO30B,KAAKhD,KAAK83B,iBAAiB9c,EAAOjd,KAGpD,EA2CEg6B,cAvCF,SAAuB3d,GACrBpa,KAAKs3B,WAAald,GAAQ,EAC5B,EAsCE4d,QA3CF,SAAiB5d,GACfpa,KAAKoa,KAAOA,GAAQ,EACtB,EA0CEoF,OAxBF,WACE,OAAOxf,KAAKk3B,cAAgBl3B,KAAKi3B,YACnC,EAuBEgB,QA7BF,WACEj4B,KAAKm3B,eAAiB,KACtBn3B,KAAK23B,OAAOz5B,OAAS,CACvB,EA2BEg6B,SAxCF,SAAkBb,GAGhB,IAFA,IAAIt5B,EAAI,EACNE,EAAM+B,KAAK23B,OAAOz5B,OACbH,EAAIE,GAAK,CACd,GAAI+B,KAAK23B,OAAO55B,GAAGs5B,YAAcA,EAC/B,OAAOr3B,KAAK23B,OAAO55B,GAAGo6B,IAExBp6B,GAAK,CACP,CACF,EAgCEq6B,cA1EF,SAAuBf,GACrB,IAAIjd,EAAOgd,EAAcC,EAAWr3B,KAAKs3B,WAAYt3B,KAAKoa,MACtD+d,EAAMp0B,UAAU,OACpBo0B,EAAIE,YAAc,YAClBF,EAAIr1B,iBAAiB,OAAQ9C,KAAK03B,cAAc,GAChDS,EAAIr1B,iBAAiB,QAAS,WAC5BuM,EAAG8oB,IAAMzB,EACT12B,KAAK03B,cACP,EAAEx0B,KAAKlD,OAAO,GACdm4B,EAAIlY,IAAM7F,EACV,IAAI/K,EAAK,CACP8oB,IAAKA,EACLd,UAAWA,GAEb,OAAOhoB,CACT,EA4DEipB,gBA1FF,SAAyBjB,GACvB,IAAIjd,EAAOgd,EAAcC,EAAWr3B,KAAKs3B,WAAYt3B,KAAKoa,MACtD+d,EAAMv0B,SAAS,SACnBu0B,EAAIr1B,iBAAiB,OAAQ9C,KAAK03B,cAAc,GAChDS,EAAIr1B,iBAAiB,QAAS,WAC5BuM,EAAG8oB,IAAMzB,EACT12B,KAAK03B,cACP,EAAEx0B,KAAKlD,OAAO,GACdm4B,EAAII,eAAe,+BAAgC,OAAQne,GAC3D,IAAI/K,EAAK,CACP8oB,IAAKA,EACLd,UAAWA,GAEb,OAAOhoB,CACT,EA6EE2nB,YAAaA,EACbwB,aA3BF,SAAsB54B,GAElBI,KAAK83B,iBADM,QAATl4B,EACsBI,KAAKs4B,gBAAgBp1B,KAAKlD,MAE1BA,KAAKo4B,cAAcl1B,KAAKlD,KAEpD,GAuBOy2B,CACT,CAlIqB,GAmIjBgC,eAAiB,WACnB,IAAIppB,EAAK,CACPqpB,UAAU,GAKZ,OAHI,WAAWl8B,KAAKC,UAAUC,YAAc,UAAUF,KAAKC,UAAUC,YAAc,WAAWF,KAAKC,UAAUC,YAAc,aAAaF,KAAKC,UAAUC,cACrJ2S,EAAGqpB,UAAW,GAETrpB,CACT,CARqB,GASjBspB,eAAiB,WACnB,IAAItpB,EAAK,CACTA,aAEA,SAAsBupB,GACpB,IAAIC,EAAMj1B,SAAS,UAOnB,OANAi1B,EAAInb,aAAa,KAAMkb,GACvBC,EAAInb,aAAa,cAAe,qBAChCmb,EAAInb,aAAa,IAAK,MACtBmb,EAAInb,aAAa,IAAK,MACtBmb,EAAInb,aAAa,QAAS,QAC1Bmb,EAAInb,aAAa,SAAU,QACpBmb,CACT,EAVAxpB,6BAWA,WACE,IAAIypB,EAAgBl1B,SAAS,iBAI7B,OAHAk1B,EAAcpb,aAAa,OAAQ,UACnCob,EAAcpb,aAAa,8BAA+B,QAC1Dob,EAAcpb,aAAa,SAAU,8CAC9Bob,CACT,GACA,OAAOzpB,CACT,CAtBqB,GAuBjB0pB,YAAc,WAChB,SAASC,EAAeC,GACtB,OAAIA,EAAIC,UAAoC,kBAAjBD,EAAIC,SACtBD,EAAIC,SACFD,EAAIC,UAAoC,kBAAjBD,EAAIC,SAC7Bnf,KAAKC,MAAMif,EAAIC,UACbD,EAAIE,aACNpf,KAAKC,MAAMif,EAAIE,mBADjB,CAGT,CA6BA,MAAO,CACLC,KA7BF,SAAmBhf,EAAMrX,EAAUs2B,GACjC,IAAIH,EACAD,EAAM,IAAIK,eACdL,EAAIM,KAAK,MAAOnf,GAAM,GAEtB,IAEE6e,EAAIO,aAAe,MACrB,CAAE,MAAOC,GAAM,CACfR,EAAIS,OACJT,EAAIU,mBAAqB,WACvB,GAAsB,GAAlBV,EAAIW,WACN,GAAkB,KAAdX,EAAIY,OACNX,EAAWF,EAAeC,GAC1Bl2B,EAASm2B,QAET,IACEA,EAAWF,EAAeC,GAC1Bl2B,EAASm2B,EACX,CAAE,MAAOO,GACHJ,GACFA,EAAcI,EAElB,CAGN,CACF,EAIF,CAzCkB,GA0ClB,SAASK,qBAAqBC,EAAUC,EAAY9T,GAClDlmB,KAAKumB,eAAgB,EACrBvmB,KAAKi6B,gBAAiB,EACtBj6B,KAAKk6B,UAAY,EACjBl6B,KAAKm6B,UAAYJ,EACjB/5B,KAAKo6B,YAAcJ,EACnBh6B,KAAKq6B,MAAQnU,EACblmB,KAAKs6B,eAAiBh8B,iBAAiB0B,KAAKm6B,UAAUxzB,EAAEzI,QACxD8B,KAAKu6B,UAAY,CAAC,EAClBv6B,KAAKw6B,aAAe,CAClBC,UAAW,CAAC,GAEdz6B,KAAK06B,gBAAkB,GACvB16B,KAAK26B,oBAAqB,EAC1B36B,KAAK2E,6BAA6BuhB,EACpC,CA6hBA,SAAS0U,yBAAyB1U,EAAM2U,EAAev2B,GACrD,IAAIw2B,EAAc,CAChBlZ,UAAU,GAERuF,EAAU/F,gBAAgB+F,QAC1B4T,EAA2BF,EAAcl0B,EAC7C3G,KAAK2G,EAAI,CACPtF,EAAG05B,EAAyB15B,EAAI8lB,EAAQjB,EAAM6U,EAAyB15B,EAAG,EAAG7C,UAAW8F,GAAaw2B,EACrGlT,GAAImT,EAAyBnT,GAAKT,EAAQjB,EAAM6U,EAAyBnT,GAAI,EAAGppB,UAAW8F,GAAaw2B,EACxGjT,GAAIkT,EAAyBlT,GAAKV,EAAQjB,EAAM6U,EAAyBlT,GAAI,EAAGrpB,UAAW8F,GAAaw2B,EACxG9S,GAAI+S,EAAyB/S,GAAKb,EAAQjB,EAAM6U,EAAyB/S,GAAI,EAAGxpB,UAAW8F,GAAaw2B,EACxG7S,GAAI8S,EAAyB9S,GAAKd,EAAQjB,EAAM6U,EAAyB9S,GAAI,EAAGzpB,UAAW8F,GAAaw2B,EACxG35B,EAAG45B,EAAyB55B,EAAIgmB,EAAQjB,EAAM6U,EAAyB55B,EAAG,EAAG,IAAMmD,GAAaw2B,EAChGn0B,EAAGo0B,EAAyBp0B,EAAIwgB,EAAQjB,EAAM6U,EAAyBp0B,EAAG,EAAG,EAAGrC,GAAaw2B,EAC7F3zB,EAAG4zB,EAAyB5zB,EAAIggB,EAAQjB,EAAM6U,EAAyB5zB,EAAG,EAAG,IAAM7C,GAAaw2B,EAChGr5B,EAAGs5B,EAAyBt5B,EAAI0lB,EAAQjB,EAAM6U,EAAyBt5B,EAAG,EAAG,EAAG6C,GAAaw2B,EAC7FE,GAAID,EAAyBC,GAAK7T,EAAQjB,EAAM6U,EAAyBC,GAAI,EAAG,EAAG12B,GAAaw2B,EAChG5a,GAAI6a,EAAyB7a,GAAKiH,EAAQjB,EAAM6U,EAAyB7a,GAAI,EAAG,EAAG5b,GAAaw2B,EAChGG,GAAIF,EAAyBE,GAAK9T,EAAQjB,EAAM6U,EAAyBE,GAAI,EAAG,EAAG32B,GAAaw2B,EAChGI,GAAIH,EAAyBG,GAAK/T,EAAQjB,EAAM6U,EAAyBG,GAAI,EAAG,EAAG52B,GAAaw2B,EAChGK,GAAIJ,EAAyBI,GAAKhU,EAAQjB,EAAM6U,EAAyBI,GAAI,EAAG,IAAM72B,GAAaw2B,EACnGM,GAAIL,EAAyBK,GAAKjU,EAAQjB,EAAM6U,EAAyBK,GAAI,EAAG,IAAM92B,GAAaw2B,EACnGn5B,EAAGo5B,EAAyBp5B,EAAIwlB,EAAQjB,EAAM6U,EAAyBp5B,EAAG,EAAG,EAAG2C,GAAaw2B,GAE/F96B,KAAKmB,EAAIk6B,iBAAiBC,oBAAoBpV,EAAM2U,EAAc15B,EAAGmD,GACrEtE,KAAKmB,EAAEQ,EAAIk5B,EAAc15B,EAAEQ,CAC7B,CACA,SAAS45B,YAAYp0B,EAAG6zB,EAAI9a,EAAI+a,EAAIh0B,EAAGxF,GACrCzB,KAAKmH,EAAIA,EACTnH,KAAKg7B,GAAKA,EACVh7B,KAAKkgB,GAAKA,EACVlgB,KAAKi7B,GAAKA,EACVj7B,KAAKiH,EAAIA,EACTjH,KAAKyB,EAAIA,EACTzB,KAAKyE,KAAO,CACV0C,GAAG,EACH6zB,KAAMA,EACN9a,KAAMA,EACN+a,KAAMA,EACNh0B,GAAG,EACHxF,GAAG,EAEP,CAyCA,SAAS+5B,aAAatV,EAAMjN,GAC1BjZ,KAAKk6B,SAAW99B,oBAChB4D,KAAK6hB,GAAK,GACV7hB,KAAKoB,EAAI,GACTpB,KAAKymB,IAAK,EACVzmB,KAAKumB,eAAgB,EACrBvmB,KAAKyE,MAAO,EACZzE,KAAKiZ,KAAOA,EACZjZ,KAAKkmB,KAAOA,EACZlmB,KAAKylB,KAAOzlB,KAAKkmB,KAAKT,KACtBzlB,KAAKy7B,UAAY,EACjBz7B,KAAK07B,WAAY,EACjB17B,KAAK27B,gBAAkB,EACvB37B,KAAKqmB,gBAAkB,GACvBrmB,KAAK47B,YAAc,CACjBC,OAAQ,EACRC,SAAU97B,KAAK+7B,gBACfv6B,EAAG,GACHoc,OAAQ,GACRC,QAAS,GACTod,GAAI,GACJn0B,EAAG,GACHk1B,cAAe,GACfh1B,EAAG,GACHi1B,GAAI,EACJC,WAAY,GACZC,GAAI,GACJC,GAAI,GACJj7B,EAAG,GACH+e,GAAI,GACJ8a,GAAI,EACJr5B,EAAG,EACHqwB,GAAI,EACJvrB,GAAI,EACJ41B,GAAI,KACJC,eAAe,EACfC,iBAAiB,EACjBC,iBAAiB,EACjBC,QAAS,EACTC,UAAW,EACXC,UAAW,GACXC,gBAAiB,EACjBjhB,YAAY,GAEd3b,KAAK68B,SAAS78B,KAAK47B,YAAa57B,KAAKiZ,KAAKpX,EAAEkF,EAAE,GAAG5F,GAC5CnB,KAAK88B,kBACR98B,KAAK+8B,iBAAiB/8B,KAAK47B,YAE/B,CA/pBA9B,qBAAqBr3B,UAAUu6B,iBAAmB,WAChD,IAAIj/B,EAEF88B,EADA58B,EAAM+B,KAAKm6B,UAAUxzB,EAAEzI,OAErBipB,EAAU/F,gBAAgB+F,QAC9B,IAAKppB,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB88B,EAAgB76B,KAAKm6B,UAAUxzB,EAAE5I,GACjCiC,KAAKs6B,eAAev8B,GAAK,IAAI68B,yBAAyB56B,KAAKq6B,MAAOQ,EAAe76B,MAE/EA,KAAKm6B,UAAU14B,GAAK,MAAOzB,KAAKm6B,UAAU14B,GAC5CzB,KAAKu6B,UAAY,CACf/4B,EAAG2lB,EAAQnnB,KAAKq6B,MAAOr6B,KAAKm6B,UAAU14B,EAAED,EAAG,EAAG,EAAGxB,MACjDgH,EAAGmgB,EAAQnnB,KAAKq6B,MAAOr6B,KAAKm6B,UAAU14B,EAAEuF,EAAG,EAAG,EAAGhH,MACjDqB,EAAGrB,KAAKm6B,UAAU14B,EAAEJ,EACpB4F,EAAGjH,KAAKq6B,MAAM4C,YAAYC,gBAAgBl9B,KAAKm6B,UAAU14B,EAAEwF,IAE7DjH,KAAKi6B,gBAAiB,GAEtBj6B,KAAKi6B,gBAAiB,EAExBj6B,KAAKw6B,aAAaC,UAAYtT,EAAQnnB,KAAKq6B,MAAOr6B,KAAKm6B,UAAUlzB,EAAEN,EAAG,EAAG,EAAG3G,KAC9E,EACA85B,qBAAqBr3B,UAAU06B,YAAc,SAAUriB,EAAc6f,GAEnE,GADA36B,KAAK26B,mBAAqBA,EACrB36B,KAAKyE,MAASzE,KAAKumB,eAAkBoU,GAAwB36B,KAAKi6B,gBAAmBj6B,KAAKu6B,UAAUtzB,EAAExC,KAA3G,CAGAzE,KAAKumB,eAAgB,EACrB,IAOI6W,EAAMC,EACNt/B,EAAGE,EAELq/B,EACAC,EACAC,EACAnpB,EACAzV,EACA6+B,EACAC,EACAC,EACAptB,EACAmf,EACAlb,EACAoB,EACAnC,EACAmqB,EACApxB,EAxBEiuB,EAAYz6B,KAAKw6B,aAAaC,UAAUr5B,EACxCy8B,EAAY79B,KAAKs6B,eACjBP,EAAW/5B,KAAKm6B,UAChB2D,EAAe99B,KAAK+9B,QACpB/D,EAAah6B,KAAKo6B,YAClB4D,EAAuBh+B,KAAK06B,gBAAgBx8B,OAI5C+/B,GAHOj+B,KAAKiZ,KAGF6B,EAAa9T,GAgB3B,GAAIhH,KAAKi6B,eAAgB,CAEvB,GADAztB,EAAOxM,KAAKu6B,UAAUtzB,GACjBjH,KAAKu6B,UAAUrzB,GAAKlH,KAAKu6B,UAAU91B,KAAM,CAC5C,IAUImQ,EAVAwG,EAAQ5O,EAAKpL,EAYjB,IAXIpB,KAAKu6B,UAAUl5B,IACjB+Z,EAAQA,EAAM0O,WAGhBwT,EAAW,CACTY,QAAS,EACTxO,SAAU,IAEZzxB,EAAMmd,EAAMzF,QAAU,EAEtBC,EAAc,EACT7X,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB6W,EAAa4D,IAAI9D,gBAAgB0G,EAAMha,EAAErD,GAAIqd,EAAMha,EAAErD,EAAI,GAAI,CAACqd,EAAMjU,EAAEpJ,GAAG,GAAKqd,EAAMha,EAAErD,GAAG,GAAIqd,EAAMjU,EAAEpJ,GAAG,GAAKqd,EAAMha,EAAErD,GAAG,IAAK,CAACqd,EAAMrd,EAAEA,EAAI,GAAG,GAAKqd,EAAMha,EAAErD,EAAI,GAAG,GAAIqd,EAAMrd,EAAEA,EAAI,GAAG,GAAKqd,EAAMha,EAAErD,EAAI,GAAG,KACxMu/B,EAASY,SAAWtpB,EAAWP,cAC/BipB,EAAS5N,SAAS1sB,KAAK4R,GACvBgB,GAAehB,EAAWP,cAE5BtW,EAAIE,EACAuO,EAAKpL,EAAEwF,IACTgO,EAAa4D,IAAI9D,gBAAgB0G,EAAMha,EAAErD,GAAIqd,EAAMha,EAAE,GAAI,CAACga,EAAMjU,EAAEpJ,GAAG,GAAKqd,EAAMha,EAAErD,GAAG,GAAIqd,EAAMjU,EAAEpJ,GAAG,GAAKqd,EAAMha,EAAErD,GAAG,IAAK,CAACqd,EAAMrd,EAAE,GAAG,GAAKqd,EAAMha,EAAE,GAAG,GAAIga,EAAMrd,EAAE,GAAG,GAAKqd,EAAMha,EAAE,GAAG,KACpLk8B,EAASY,SAAWtpB,EAAWP,cAC/BipB,EAAS5N,SAAS1sB,KAAK4R,GACvBgB,GAAehB,EAAWP,eAE5BrU,KAAKu6B,UAAU4D,GAAKb,CACtB,CAQA,GAPAA,EAAWt9B,KAAKu6B,UAAU4D,GAC1BZ,EAAgBv9B,KAAKu6B,UAAU/4B,EAAEJ,EACjCs8B,EAAa,EACbD,EAAW,EACXppB,EAAgB,EAChBzV,GAAO,EACP8wB,EAAW4N,EAAS5N,SAChB6N,EAAgB,GAAK/wB,EAAKpL,EAAEwF,EAO9B,IANI02B,EAASY,QAAUrhC,KAAKQ,IAAIkgC,KAC9BA,GAAiB1gC,KAAKQ,IAAIkgC,GAAiBD,EAASY,SAItDT,GADAltB,EAASmf,EADTgO,EAAahO,EAASxxB,OAAS,GACDqS,QACZrS,OAAS,EACpBq/B,EAAgB,GACrBA,GAAiBhtB,EAAOktB,GAAUjpB,eAClCipB,GAAY,GACG,IAGbA,GADAltB,EAASmf,EADTgO,GAAc,GACgBntB,QACZrS,OAAS,GAKjCy/B,GADAptB,EAASmf,EAASgO,GAAYntB,QACXktB,EAAW,GAE9BjpB,GADAgpB,EAAejtB,EAAOktB,IACOjpB,aAC/B,CACAvW,EAAMggC,EAAQ//B,OACdk/B,EAAO,EACPC,EAAO,EACP,IAEIxC,EACA/zB,EAAGiS,EACHqlB,EAJAC,EAAgC,IAAzBvjB,EAAa4hB,UAAkB,KACtC4B,GAAY,EAIhBvlB,EAAO8kB,EAAU3/B,OAEjB,IAAI8nB,EAEFuY,EACAC,EACAC,EAKEC,EACAxe,EAAI8a,EAAIC,EAAIl0B,EAEZ43B,EACFC,EACAC,EAGAC,EAhBA7b,GAAO,EAIL8b,EAAcxB,EAChByB,EAAiBtB,EACjBuB,EAAexB,EACfyB,GAAe,EAOfC,GAAU,GACVC,GAAUp/B,KAAKq/B,kBAIjB,GAAuB,IAAnBvkB,EAAahU,GAA8B,IAAnBgU,EAAahU,EAAS,CAChD,IAAIw4B,GAAwB,EACxBC,GAA0B,EAC1BC,GAAuC,IAAnB1kB,EAAahU,GAAW,IAAO,EACnDob,GAAY,EACZud,IAAY,EAChB,IAAK1hC,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB,GAAIkgC,EAAQlgC,GAAGmJ,EAAG,CAIhB,IAHIo4B,KACFA,IAAyBC,IAEpBrd,GAAYnkB,GACjBkgC,EAAQ/b,IAAWod,sBAAwBA,GAC3Cpd,IAAa,EAEfod,GAAwB,EACxBG,IAAY,CACd,KAAO,CACL,IAAK34B,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,GACzB+zB,EAAgBgD,EAAU/2B,GAAGH,GACXhF,EAAEigB,WACd6d,IAAgC,IAAnB3kB,EAAahU,IAC5By4B,IAA2B1E,EAAcl5B,EAAEP,EAAIo+B,KAGjDxZ,EADmB6X,EAAU/2B,GAAG3F,EACRu+B,QAAQzB,EAAQlgC,GAAG4hC,UAAU74B,GAAIizB,EAASpzB,EAAEG,GAAG3F,EAAEy+B,aAChE1hC,OACPohC,IAAyBzE,EAAcl5B,EAAEP,EAAI4kB,EAAK,GAAKwZ,GAEvDF,IAAyBzE,EAAcl5B,EAAEP,EAAI4kB,EAAOwZ,IAI1DC,IAAY,CACd,CAKF,IAHIH,KACFA,IAAyBC,IAEpBrd,GAAYnkB,GACjBkgC,EAAQ/b,IAAWod,sBAAwBA,GAC3Cpd,IAAa,CAEjB,CAGA,IAAKnkB,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAAG,CAG3B,GAFA+/B,EAAav4B,QACbm5B,EAAc,EACVT,EAAQlgC,GAAGmJ,EACbk2B,EAAO,EACPC,GAAQviB,EAAa2hB,QACrBY,GAAQiB,EAAY,EAAI,EACxBf,EAAgBwB,EAChBT,GAAY,EAERt+B,KAAKi6B,iBAEPwD,EAAWwB,EAEXtB,GADAptB,EAASmf,EAFTgO,EAAasB,GAEiBzuB,QACXktB,EAAW,GAE9BjpB,GADAgpB,EAAejtB,EAAOktB,IACOjpB,cAC7BH,EAAgB,GAElByqB,EAAUH,EAAWE,EAAWM,GAAU,GAC1CC,GAAUp/B,KAAKq/B,sBACV,CACL,GAAIr/B,KAAKi6B,eAAgB,CACvB,GAAIiF,IAAgBjB,EAAQlgC,GAAG8hC,KAAM,CACnC,OAAQ/kB,EAAahU,GACnB,KAAK,EACHy2B,GAAiB3nB,EAAckF,EAAaohB,WAAW+B,EAAQlgC,GAAG8hC,MAClE,MACF,KAAK,EACHtC,IAAkB3nB,EAAckF,EAAaohB,WAAW+B,EAAQlgC,GAAG8hC,OAAS,EAGhFX,EAAcjB,EAAQlgC,GAAG8hC,IAC3B,CACI5c,IAAQgb,EAAQlgC,GAAGklB,MACjBgb,EAAQhb,KACVsa,GAAiBU,EAAQhb,GAAK6c,OAEhCvC,GAAiBU,EAAQlgC,GAAGgiC,GAAK,EACjC9c,EAAMgb,EAAQlgC,GAAGklB,KAEnBsa,GAAiB9C,EAAU,GAAKwD,EAAQlgC,GAAGgiC,GAAK,IAChD,IAAIC,GAAiB,EACrB,IAAKl5B,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,GACzB+zB,EAAgBgD,EAAU/2B,GAAGH,GACXlF,EAAEmgB,YAElBoE,EADmB6X,EAAU/2B,GAAG3F,EACRu+B,QAAQzB,EAAQlgC,GAAG4hC,UAAU74B,GAAIizB,EAASpzB,EAAEG,GAAG3F,EAAEy+B,aAChE1hC,OACP8hC,IAAkBnF,EAAcp5B,EAAEL,EAAE,GAAK4kB,EAAK,GAE9Cga,IAAkBnF,EAAcp5B,EAAEL,EAAE,GAAK4kB,GAGzC6U,EAAcl0B,EAAEib,YAElBoE,EADmB6X,EAAU/2B,GAAG3F,EACRu+B,QAAQzB,EAAQlgC,GAAG4hC,UAAU74B,GAAIizB,EAASpzB,EAAEG,GAAG3F,EAAEy+B,aAChE1hC,OACP8hC,IAAkBnF,EAAcl0B,EAAEvF,EAAE,GAAK4kB,EAAK,GAE9Cga,IAAkBnF,EAAcl0B,EAAEvF,EAAE,GAAK4kB,GAK/C,IADApnB,GAAO,EACAA,GACDyV,EAAgBG,GAAiB+oB,EAAgByC,KAAmBzvB,GACtEkD,GAAQ8pB,EAAgByC,GAAiB3rB,GAAiBmpB,EAAahpB,cACvEgqB,EAAWb,EAAU9pB,MAAM,IAAM2pB,EAAa3pB,MAAM,GAAK8pB,EAAU9pB,MAAM,IAAMJ,EAC/EgrB,EAAWd,EAAU9pB,MAAM,IAAM2pB,EAAa3pB,MAAM,GAAK8pB,EAAU9pB,MAAM,IAAMJ,EAC/EqqB,EAAa12B,WAAWqzB,EAAU,GAAKwD,EAAQlgC,GAAGgiC,GAAK,KAAOtF,EAAU,GAAK4D,EAAO,KACpFz/B,GAAO,GACE2R,IACT8D,GAAiBmpB,EAAahpB,eAC9BipB,GAAY,IACIltB,EAAOrS,SACrBu/B,EAAW,EAEN/N,EADLgO,GAAc,GAWZntB,EAASmf,EAASgO,GAAYntB,OAT1B/D,EAAKpL,EAAEwF,GACT62B,EAAW,EAEXltB,EAASmf,EADTgO,EAAa,GACiBntB,SAE9B8D,GAAiBmpB,EAAahpB,cAC9BjE,EAAS,OAMXA,IACFotB,EAAYH,EAEZhpB,GADAgpB,EAAejtB,EAAOktB,IACOjpB,gBAInC+pB,EAAON,EAAQlgC,GAAGgiC,GAAK,EAAI9B,EAAQlgC,GAAGkiC,IACtCnC,EAAa12B,WAAWm3B,EAAM,EAAG,EACnC,MACEA,EAAON,EAAQlgC,GAAGgiC,GAAK,EAAI9B,EAAQlgC,GAAGkiC,IACtCnC,EAAa12B,WAAWm3B,EAAM,EAAG,GAGjCT,EAAa12B,WAAWqzB,EAAU,GAAKwD,EAAQlgC,GAAGgiC,GAAK,KAAMtF,EAAU,GAAK4D,EAAO,IAAK,GAG1F,IADcJ,EAAQlgC,GAAGiJ,EACpBF,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,GACzB+zB,EAAgBgD,EAAU/2B,GAAGH,GACXhF,EAAEigB,WAElBoE,EADmB6X,EAAU/2B,GAAG3F,EACRu+B,QAAQzB,EAAQlgC,GAAG4hC,UAAU74B,GAAIizB,EAASpzB,EAAEG,GAAG3F,EAAEy+B,YAE5D,IAATxC,GAAiC,IAAnBtiB,EAAahU,IACzB9G,KAAKi6B,eACHjU,EAAK9nB,OACPq/B,GAAiB1C,EAAcl5B,EAAEP,EAAI4kB,EAAK,GAE1CuX,GAAiB1C,EAAcl5B,EAAEP,EAAI4kB,EAGnCA,EAAK9nB,OACPk/B,GAAQvC,EAAcl5B,EAAEP,EAAI4kB,EAAK,GAEjCoX,GAAQvC,EAAcl5B,EAAEP,EAAI4kB,IAoBtC,IAdciY,EAAQlgC,GAAGiJ,EACrB8T,EAAa0hB,kBACfxB,EAAKlgB,EAAakgB,IAAM,GAEtBlgB,EAAayhB,kBAEbrc,EADEpF,EAAaoF,GACV,CAACpF,EAAaoF,GAAG,GAAIpF,EAAaoF,GAAG,GAAIpF,EAAaoF,GAAG,IAEzD,CAAC,EAAG,EAAG,IAGZpF,EAAawhB,eAAiBxhB,EAAamgB,KAC7CA,EAAK,CAACngB,EAAamgB,GAAG,GAAIngB,EAAamgB,GAAG,GAAIngB,EAAamgB,GAAG,KAE3Dn0B,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,GACzB+zB,EAAgBgD,EAAU/2B,GAAGH,GACXA,EAAEib,YAElBoE,EADmB6X,EAAU/2B,GAAG3F,EACRu+B,QAAQzB,EAAQlgC,GAAG4hC,UAAU74B,GAAIizB,EAASpzB,EAAEG,GAAG3F,EAAEy+B,aAChE1hC,OACP4/B,EAAa12B,WAAWyzB,EAAcl0B,EAAEvF,EAAE,GAAK4kB,EAAK,IAAK6U,EAAcl0B,EAAEvF,EAAE,GAAK4kB,EAAK,GAAI6U,EAAcl0B,EAAEvF,EAAE,GAAK4kB,EAAK,IAErH8X,EAAa12B,WAAWyzB,EAAcl0B,EAAEvF,EAAE,GAAK4kB,GAAO6U,EAAcl0B,EAAEvF,EAAE,GAAK4kB,EAAM6U,EAAcl0B,EAAEvF,EAAE,GAAK4kB,IAIhH,IAAKlf,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,GACzB+zB,EAAgBgD,EAAU/2B,GAAGH,GACXxF,EAAEygB,YAElBoE,EADmB6X,EAAU/2B,GAAG3F,EACRu+B,QAAQzB,EAAQlgC,GAAG4hC,UAAU74B,GAAIizB,EAASpzB,EAAEG,GAAG3F,EAAEy+B,aAChE1hC,OACP4/B,EAAat3B,MAAM,GAAKq0B,EAAc15B,EAAEC,EAAE,GAAK,GAAK4kB,EAAK,GAAI,GAAK6U,EAAc15B,EAAEC,EAAE,GAAK,GAAK4kB,EAAK,GAAI,GAEvG8X,EAAat3B,MAAM,GAAKq0B,EAAc15B,EAAEC,EAAE,GAAK,GAAK4kB,EAAM,GAAK6U,EAAc15B,EAAEC,EAAE,GAAK,GAAK4kB,EAAM,IAIvG,IAAKlf,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EAAG,CA8C5B,GA7CA+zB,EAAgBgD,EAAU/2B,GAAGH,EAE7Bqf,EADmB6X,EAAU/2B,GAAG3F,EACRu+B,QAAQzB,EAAQlgC,GAAG4hC,UAAU74B,GAAIizB,EAASpzB,EAAEG,GAAG3F,EAAEy+B,YACrE/E,EAAc7S,GAAGpG,WACfoE,EAAK9nB,OACP4/B,EAAav3B,cAAcs0B,EAAc7S,GAAG5mB,EAAI4kB,EAAK,GAAI6U,EAAc5S,GAAG7mB,EAAI4kB,EAAK,IAEnF8X,EAAav3B,cAAcs0B,EAAc7S,GAAG5mB,EAAI4kB,EAAM6U,EAAc5S,GAAG7mB,EAAI4kB,IAG3E6U,EAAcx5B,EAAEugB,WACdoE,EAAK9nB,OACP4/B,EAAa93B,SAAS60B,EAAcx5B,EAAED,EAAI4kB,EAAK,IAE/C8X,EAAa93B,SAAS60B,EAAcx5B,EAAED,EAAI4kB,IAG1C6U,EAAchT,GAAGjG,WACfoE,EAAK9nB,OACP4/B,EAAa/3B,QAAQ80B,EAAchT,GAAGzmB,EAAI4kB,EAAK,IAE/C8X,EAAa/3B,QAAQ80B,EAAchT,GAAGzmB,EAAI4kB,IAG1C6U,EAAcjT,GAAGhG,WACfoE,EAAK9nB,OACP4/B,EAAah4B,QAAQ+0B,EAAcjT,GAAGxmB,EAAI4kB,EAAK,IAE/C8X,EAAah4B,QAAQ+0B,EAAcjT,GAAGxmB,EAAI4kB,IAG1C6U,EAAc1zB,EAAEya,WACdoE,EAAK9nB,OACPwgC,IAAgB7D,EAAc1zB,EAAE/F,EAAI4kB,EAAK,GAAK0Y,GAAe1Y,EAAK,GAElE0Y,IAAgB7D,EAAc1zB,EAAE/F,EAAI4kB,EAAO0Y,GAAe1Y,GAG1DlL,EAAa0hB,iBAAmB3B,EAAcG,GAAGpZ,WAC/CoE,EAAK9nB,OACP88B,GAAMH,EAAcG,GAAG55B,EAAI4kB,EAAK,GAEhCgV,GAAMH,EAAcG,GAAG55B,EAAI4kB,GAG3BlL,EAAayhB,iBAAmB1B,EAAc3a,GAAG0B,SACnD,IAAK7a,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAClBif,EAAK9nB,OACPgiB,EAAGnZ,GAAKmZ,EAAGnZ,IAAM8zB,EAAc3a,GAAG9e,EAAE2F,GAAKmZ,EAAGnZ,IAAMif,EAAK,GAEvD9F,EAAGnZ,GAAKmZ,EAAGnZ,IAAM8zB,EAAc3a,GAAG9e,EAAE2F,GAAKmZ,EAAGnZ,IAAMif,EAIxD,GAAIlL,EAAawhB,eAAiBxhB,EAAamgB,GAAI,CACjD,GAAIJ,EAAcI,GAAGrZ,SACnB,IAAK7a,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAClBif,EAAK9nB,OACP+8B,EAAGl0B,GAAKk0B,EAAGl0B,IAAM8zB,EAAcI,GAAG75B,EAAE2F,GAAKk0B,EAAGl0B,IAAMif,EAAK,GAEvDiV,EAAGl0B,GAAKk0B,EAAGl0B,IAAM8zB,EAAcI,GAAG75B,EAAE2F,GAAKk0B,EAAGl0B,IAAMif,EAIpD6U,EAAcK,GAAGtZ,WAEjBqZ,EADEjV,EAAK9nB,OACFiE,YAAY84B,EAAIJ,EAAcK,GAAG95B,EAAI4kB,EAAK,IAE1C7jB,YAAY84B,EAAIJ,EAAcK,GAAG95B,EAAI4kB,IAG1C6U,EAAcM,GAAGvZ,WAEjBqZ,EADEjV,EAAK9nB,OACF4D,mBAAmBm5B,EAAIJ,EAAcM,GAAG/5B,EAAI4kB,EAAK,IAEjDlkB,mBAAmBm5B,EAAIJ,EAAcM,GAAG/5B,EAAI4kB,IAGjD6U,EAAcO,GAAGxZ,WAEjBqZ,EADEjV,EAAK9nB,OACFgE,mBAAmB+4B,EAAIJ,EAAcO,GAAGh6B,EAAI4kB,EAAK,IAEjD9jB,mBAAmB+4B,EAAIJ,EAAcO,GAAGh6B,EAAI4kB,GAGvD,CACF,CACA,IAAKlf,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,GACzB+zB,EAAgBgD,EAAU/2B,GAAGH,GACXlF,EAAEmgB,WAElBoE,EADmB6X,EAAU/2B,GAAG3F,EACRu+B,QAAQzB,EAAQlgC,GAAG4hC,UAAU74B,GAAIizB,EAASpzB,EAAEG,GAAG3F,EAAEy+B,YACrE5/B,KAAKi6B,eACHjU,EAAK9nB,OACP4/B,EAAa12B,UAAU,EAAGyzB,EAAcp5B,EAAEL,EAAE,GAAK4kB,EAAK,IAAK6U,EAAcp5B,EAAEL,EAAE,GAAK4kB,EAAK,IAEvF8X,EAAa12B,UAAU,EAAGyzB,EAAcp5B,EAAEL,EAAE,GAAK4kB,GAAO6U,EAAcp5B,EAAEL,EAAE,GAAK4kB,GAG7EA,EAAK9nB,OACP4/B,EAAa12B,UAAUyzB,EAAcp5B,EAAEL,EAAE,GAAK4kB,EAAK,GAAI6U,EAAcp5B,EAAEL,EAAE,GAAK4kB,EAAK,IAAK6U,EAAcp5B,EAAEL,EAAE,GAAK4kB,EAAK,IAEpH8X,EAAa12B,UAAUyzB,EAAcp5B,EAAEL,EAAE,GAAK4kB,EAAM6U,EAAcp5B,EAAEL,EAAE,GAAK4kB,GAAO6U,EAAcp5B,EAAEL,EAAE,GAAK4kB,IAcjH,GATIlL,EAAa0hB,kBACfmC,EAAW3D,EAAK,EAAI,EAAIA,GAEtBlgB,EAAayhB,kBACfqC,EAAW,OAAS/hC,KAAKC,MAAc,IAARojB,EAAG,IAAY,IAAMrjB,KAAKC,MAAc,IAARojB,EAAG,IAAY,IAAMrjB,KAAKC,MAAc,IAARojB,EAAG,IAAY,KAE5GpF,EAAawhB,eAAiBxhB,EAAamgB,KAC7C4D,EAAW,OAAShiC,KAAKC,MAAc,IAARm+B,EAAG,IAAY,IAAMp+B,KAAKC,MAAc,IAARm+B,EAAG,IAAY,IAAMp+B,KAAKC,MAAc,IAARm+B,EAAG,IAAY,KAE5Gj7B,KAAKi6B,eAAgB,CAGvB,GAFA6D,EAAa12B,UAAU,GAAI0T,EAAaqhB,IACxC2B,EAAa12B,UAAU,EAAGqzB,EAAU,GAAK4D,EAAO,IAAMhB,EAAM,GACxDtD,EAASt4B,EAAEA,EAAG,CAChBm8B,GAAYJ,EAAa3pB,MAAM,GAAK8pB,EAAU9pB,MAAM,KAAO2pB,EAAa3pB,MAAM,GAAK8pB,EAAU9pB,MAAM,IACnG,IAAIqsB,GAA4B,IAAtBrjC,KAAKsjC,KAAKvC,GAAkB/gC,KAAK4B,GACvC++B,EAAa3pB,MAAM,GAAK8pB,EAAU9pB,MAAM,KAC1CqsB,IAAO,KAETpC,EAAar4B,QAAQy6B,GAAMrjC,KAAK4B,GAAK,IACvC,CACAq/B,EAAa12B,UAAUo3B,EAAUC,EAAU,GAC3ClB,GAAiB9C,EAAU,GAAKwD,EAAQlgC,GAAGgiC,GAAK,IAC5C9B,EAAQlgC,EAAI,IAAMklB,IAAQgb,EAAQlgC,EAAI,GAAGklB,MAC3Csa,GAAiBU,EAAQlgC,GAAGgiC,GAAK,EACjCxC,GAAiBziB,EAAakX,GAAK,IAAOlX,EAAa4hB,UAE3D,KAAO,CAML,OALAoB,EAAa12B,UAAUg2B,EAAMC,EAAM,GAC/BviB,EAAauhB,IAEfyB,EAAa12B,UAAU0T,EAAauhB,GAAG,GAAIvhB,EAAauhB,GAAG,GAAKvhB,EAAa+gB,OAAQ,GAE/E/gB,EAAahU,GACnB,KAAK,EACHg3B,EAAa12B,UAAU62B,EAAQlgC,GAAGuhC,sBAAwBxkB,EAAakhB,eAAiBlhB,EAAaghB,SAAWhhB,EAAaohB,WAAW+B,EAAQlgC,GAAG8hC,OAAQ,EAAG,GAC9J,MACF,KAAK,EACH/B,EAAa12B,UAAU62B,EAAQlgC,GAAGuhC,sBAAwBxkB,EAAakhB,eAAiBlhB,EAAaghB,SAAWhhB,EAAaohB,WAAW+B,EAAQlgC,GAAG8hC,OAAS,EAAG,EAAG,GAGtK/B,EAAa12B,UAAU,GAAI0T,EAAaqhB,IACxC2B,EAAa12B,UAAUm3B,EAAM,EAAG,GAChCT,EAAa12B,UAAUqzB,EAAU,GAAKwD,EAAQlgC,GAAGgiC,GAAK,IAAKtF,EAAU,GAAK4D,EAAO,IAAK,GACtFjB,GAAQa,EAAQlgC,GAAGiJ,EAAI8T,EAAakX,GAAK,IAAOlX,EAAa4hB,SAC/D,CACmB,SAAf1C,EACFmF,GAAUrB,EAAanyB,QACC,QAAfquB,EACTmF,GAAUrB,EAAahyB,UAEvBszB,GAAU,CAACtB,EAAat4B,MAAM,GAAIs4B,EAAat4B,MAAM,GAAIs4B,EAAat4B,MAAM,GAAIs4B,EAAat4B,MAAM,GAAIs4B,EAAat4B,MAAM,GAAIs4B,EAAat4B,MAAM,GAAIs4B,EAAat4B,MAAM,GAAIs4B,EAAat4B,MAAM,GAAIs4B,EAAat4B,MAAM,GAAIs4B,EAAat4B,MAAM,GAAIs4B,EAAat4B,MAAM,IAAKs4B,EAAat4B,MAAM,IAAKs4B,EAAat4B,MAAM,IAAKs4B,EAAat4B,MAAM,IAAKs4B,EAAat4B,MAAM,IAAKs4B,EAAat4B,MAAM,KAE9Xs5B,EAAUJ,CACZ,CACIV,GAAwBjgC,GAC1BqgC,EAAc,IAAI7C,YAAYuD,EAASH,EAAUC,EAAUC,EAAUM,GAASC,IAC9Ep/B,KAAK06B,gBAAgB13B,KAAKo7B,GAC1BJ,GAAwB,EACxBh+B,KAAK26B,oBAAqB,IAE1ByD,EAAcp+B,KAAK06B,gBAAgB38B,GACnCiC,KAAK26B,mBAAqByD,EAAYgC,OAAOtB,EAASH,EAAUC,EAAUC,EAAUM,GAASC,KAAYp/B,KAAK26B,mBAElH,CAtfA,CAufF,EACAb,qBAAqBr3B,UAAUiC,SAAW,WACpC1E,KAAKq6B,MAAMlU,WAAWC,UAAYpmB,KAAKk6B,WAG3Cl6B,KAAKk6B,SAAWl6B,KAAKq6B,MAAMlU,WAAWC,QACtCpmB,KAAKwE,2BACP,EACAs1B,qBAAqBr3B,UAAUs7B,QAAU,IAAIh5B,OAC7C+0B,qBAAqBr3B,UAAU48B,kBAAoB,GACnDptB,gBAAgB,CAAChO,0BAA2B61B,sBA4C5CyB,YAAY94B,UAAU29B,OAAS,SAAUj5B,EAAG6zB,EAAI9a,EAAI+a,EAAIh0B,EAAGxF,GACzDzB,KAAKyE,KAAK0C,GAAI,EACdnH,KAAKyE,KAAKu2B,IAAK,EACfh7B,KAAKyE,KAAKyb,IAAK,EACflgB,KAAKyE,KAAKw2B,IAAK,EACfj7B,KAAKyE,KAAKwC,GAAI,EACdjH,KAAKyE,KAAKhD,GAAI,EACd,IAAI4+B,GAAU,EA+Bd,OA9BIrgC,KAAKmH,IAAMA,IACbnH,KAAKmH,EAAIA,EACTnH,KAAKyE,KAAK0C,GAAI,EACdk5B,GAAU,GAERrgC,KAAKg7B,KAAOA,IACdh7B,KAAKg7B,GAAKA,EACVh7B,KAAKyE,KAAKu2B,IAAK,EACfqF,GAAU,GAERrgC,KAAKkgB,KAAOA,IACdlgB,KAAKkgB,GAAKA,EACVlgB,KAAKyE,KAAKyb,IAAK,EACfmgB,GAAU,GAERrgC,KAAKi7B,KAAOA,IACdj7B,KAAKi7B,GAAKA,EACVj7B,KAAKyE,KAAKw2B,IAAK,EACfoF,GAAU,GAERrgC,KAAKiH,IAAMA,IACbjH,KAAKiH,EAAIA,EACTjH,KAAKyE,KAAKwC,GAAI,EACdo5B,GAAU,IAER5+B,EAAEvD,QAAW8B,KAAKyB,EAAE,KAAOA,EAAE,IAAMzB,KAAKyB,EAAE,KAAOA,EAAE,IAAMzB,KAAKyB,EAAE,KAAOA,EAAE,IAAMzB,KAAKyB,EAAE,KAAOA,EAAE,IAAMzB,KAAKyB,EAAE,MAAQA,EAAE,KAAOzB,KAAKyB,EAAE,MAAQA,EAAE,MAChJzB,KAAKyB,EAAIA,EACTzB,KAAKyE,KAAKhD,GAAI,EACd4+B,GAAU,GAELA,CACT,EAkDA7E,aAAa/4B,UAAUs5B,gBAAkB,CAAC,EAAG,GAC7CP,aAAa/4B,UAAUo6B,SAAW,SAAU3vB,EAAK+L,GAC/C,IAAK,IAAI9X,KAAK8X,EACRA,EAAK3G,eAAenR,KACtB+L,EAAI/L,GAAK8X,EAAK9X,IAGlB,OAAO+L,CACT,EACAsuB,aAAa/4B,UAAU69B,eAAiB,SAAUrnB,GAC3CA,EAAK0C,YACR3b,KAAK+8B,iBAAiB9jB,GAExBjZ,KAAK47B,YAAc3iB,EACnBjZ,KAAK47B,YAAYE,SAAW97B,KAAK47B,YAAYE,UAAY97B,KAAK+7B,gBAC9D/7B,KAAKyE,MAAO,CACd,EACA+2B,aAAa/4B,UAAUq6B,eAAiB,WACtC,OAAO98B,KAAKugC,iBACd,EACA/E,aAAa/4B,UAAU89B,gBAAkB,WAKvC,OAJAvgC,KAAKymB,GAAKzmB,KAAKiZ,KAAKpX,EAAEkF,EAAE7I,OAAS,EAC7B8B,KAAKymB,IACPzmB,KAAK0mB,UAAU1mB,KAAKwgC,iBAAiBt9B,KAAKlD,OAErCA,KAAKymB,EACd,EACA+U,aAAa/4B,UAAUikB,UAAY,SAAUC,GAC3C3mB,KAAKqmB,gBAAgBrjB,KAAK2jB,GAC1B3mB,KAAKkmB,KAAKhiB,mBAAmBlE,KAC/B,EACAw7B,aAAa/4B,UAAUiC,SAAW,SAAU+7B,GAC1C,GAAKzgC,KAAKkmB,KAAKC,WAAWC,UAAYpmB,KAAKomB,SAAYpmB,KAAKqmB,gBAAgBnoB,QAAYuiC,EAAxF,CAGAzgC,KAAK47B,YAAYj6B,EAAI3B,KAAKiZ,KAAKpX,EAAEkF,EAAE/G,KAAKy7B,WAAWt6B,EAAEQ,EACrD,IAAI++B,EAAe1gC,KAAK47B,YACpB+E,EAAe3gC,KAAKy7B,UACxB,GAAIz7B,KAAKsmB,KACPtmB,KAAKsgC,eAAetgC,KAAK47B,iBAD3B,CAIA57B,KAAKsmB,MAAO,EACZtmB,KAAKyE,MAAO,EAEZ,IAAI1G,EACFE,EAAM+B,KAAKqmB,gBAAgBnoB,OACzBsoB,EAAaia,GAAezgC,KAAKiZ,KAAKpX,EAAEkF,EAAE/G,KAAKy7B,WAAWt6B,EAC9D,IAAKpD,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAGtByoB,EADEma,IAAiB3gC,KAAKy7B,UACXz7B,KAAKqmB,gBAAgBtoB,GAAGyoB,EAAYA,EAAW7kB,GAE/C3B,KAAKqmB,gBAAgBtoB,GAAGiC,KAAK47B,YAAapV,EAAW7kB,GAGlE++B,IAAiBla,GACnBxmB,KAAKsgC,eAAe9Z,GAEtBxmB,KAAK6hB,GAAK7hB,KAAKoB,EAAIpB,KAAK47B,YACxB57B,KAAKsmB,MAAO,EACZtmB,KAAKomB,QAAUpmB,KAAKkmB,KAAKC,WAAWC,OApBpC,CAPA,CA4BF,EACAoV,aAAa/4B,UAAU+9B,iBAAmB,WAMxC,IALA,IAAII,EAAW5gC,KAAKiZ,KAAKpX,EAAEkF,EAEvBya,EAAWxhB,KAAKkmB,KAAKT,KAAKC,cAC1B3nB,EAAI,EACNE,EAAM2iC,EAAS1iC,OACVH,GAAKE,EAAM,IACG2iC,EAAS7iC,GAAGoD,IAC3BpD,IAAME,EAAM,GAAK2iC,EAAS7iC,EAAI,GAAG4D,EAAI6f,KAGzCzjB,GAAK,EAKP,OAHIiC,KAAKy7B,YAAc19B,IACrBiC,KAAKy7B,UAAY19B,GAEZiC,KAAKiZ,KAAKpX,EAAEkF,EAAE/G,KAAKy7B,WAAWt6B,CACvC,EACAq6B,aAAa/4B,UAAUo+B,eAAiB,SAAUC,GAMhD,IALA,IAIIC,EAJA9kB,EAAqBJ,YAAY+C,4BACjCoiB,EAAkB,GAClBjjC,EAAI,EACNE,EAAM6iC,EAAK5iC,OAENH,EAAIE,GACT8iC,EAAWD,EAAKpzB,WAAW3P,IACmB,IAA1Cke,EAAmB5X,QAAQ08B,GAC7BC,EAAgBA,EAAgB9iC,OAAS,IAAM4iC,EAAKG,OAAOljC,GAEvDgjC,GAAY,OAAUA,GAAY,QACpCA,EAAWD,EAAKpzB,WAAW3P,EAAI,KACf,OAAUgjC,GAAY,OACpCC,EAAgBh+B,KAAK89B,EAAKI,OAAOnjC,EAAG,MAClCA,GAKJijC,EAAgBh+B,KAAK89B,EAAKG,OAAOljC,IAGrCA,GAAK,EAEP,OAAOijC,CACT,EACAxF,aAAa/4B,UAAUs6B,iBAAmB,SAAUjiB,GAClDA,EAAaa,YAAa,EAC1B,IAGI5d,EAAGE,EACHkjC,EAEF/iC,EAQE0I,EAAGiS,EAEHqoB,EAhBAvoB,EAAc7Y,KAAKkmB,KAAKC,WAAWtN,YACnCI,EAAOjZ,KAAKiZ,KACZglB,EAAU,GAGZnd,EAAQ,EAENugB,EAAiBpoB,EAAKhS,EAAE3F,EACxBggC,EAAc,EAChBC,EAAa,EACbrC,EAAc,EACdhD,EAAa,GACXsF,EAAY,EACZC,EAAe,EAEfjkB,EAAW3E,EAAY4H,cAAc3F,EAAatZ,GAEpDitB,EAAU,EACRiT,EAASlkB,EAASI,OAASJ,EAASI,OAAOnD,MAAM,KAAO,GACxDoD,EAAU,SACZD,EAAS,SAGX,IAFA3f,EAAMyjC,EAAOxjC,OAERH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAExB,OADY2jC,EAAO3jC,GAAG4jC,eAEpB,IAAK,SACH/jB,EAAS,SACT,MACF,IAAK,OACHC,EAAU,MACV,MACF,IAAK,QACHA,EAAU,MACV,MACF,IAAK,SACHA,EAAU,MACV,MACF,IAAK,UACL,IAAK,SACHA,EAAU,MACV,MACF,IAAK,QACL,IAAK,OACHA,EAAU,MAIhB/C,EAAa+C,QAAUL,EAASK,SAAWA,EAC3C/C,EAAa8C,OAASA,EACtB9C,EAAa4hB,UAAY5hB,EAAa3Z,EACtC2Z,EAAa6hB,UAAY38B,KAAK6gC,eAAe/lB,EAAanZ,GAC1D1D,EAAM6c,EAAa6hB,UAAUz+B,OAC7B4c,EAAa8hB,gBAAkB9hB,EAAamhB,GAC5C,IACI8E,EADAa,EAAiB9mB,EAAakX,GAAK,IAAOlX,EAAa4hB,UAE3D,GAAI5hB,EAAarU,GAKf,IAJA,IAGIo7B,EAAelF,EAHf/9B,GAAO,EACPk9B,EAAWhhB,EAAarU,GAAG,GAC3Bq7B,EAAYhnB,EAAarU,GAAG,GAEzB7H,GAAM,CAEXijC,EAAgB,EAChBL,EAAY,EACZvjC,GAHA0+B,EAAY38B,KAAK6gC,eAAe/lB,EAAanZ,IAG7BzD,OAChB0jC,EAAiB9mB,EAAakX,GAAK,IAAOlX,EAAa4hB,UACvD,IAAIqF,GAAkB,EACtB,IAAKhkC,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBgjC,EAAWpE,EAAU5+B,GAAG2P,WAAW,GACnCyzB,GAAc,EACO,MAAjBxE,EAAU5+B,GACZgkC,EAAiBhkC,EACK,KAAbgjC,GAAgC,IAAbA,IAC5BS,EAAY,EACZL,GAAc,EACdU,GAAiB/mB,EAAa8hB,iBAA4C,IAAzB9hB,EAAa4hB,WAE5D7jB,EAAYqC,OACdkmB,EAAWvoB,EAAYwH,YAAYsc,EAAU5+B,GAAIyf,EAASI,OAAQJ,EAASG,SAC3E8Q,EAAU0S,EAAc,EAAIC,EAASrlB,EAAIjB,EAAa4hB,UAAY,KAGlEjO,EAAU5V,EAAY+H,YAAY+b,EAAU5+B,GAAI+c,EAAatZ,EAAGsZ,EAAa4hB,WAE3E8E,EAAY/S,EAAUqN,GAA6B,MAAjBa,EAAU5+B,KACtB,IAApBgkC,EACF9jC,GAAO,EAEPF,EAAIgkC,EAENF,GAAiB/mB,EAAa8hB,iBAA4C,IAAzB9hB,EAAa4hB,UAC9DC,EAAUx5B,OAAOpF,EAAGgkC,IAAmBhkC,EAAI,EAAI,EAAG,MAElDgkC,GAAkB,EAClBP,EAAY,IAEZA,GAAa/S,EACb+S,GAAaI,GAGjBC,GAAiBrkB,EAASqe,OAAS/gB,EAAa4hB,UAAY,IACxD18B,KAAK07B,WAAa5gB,EAAa4hB,UAAY18B,KAAK27B,iBAAmBmG,EAAYD,GACjF/mB,EAAa4hB,WAAa,EAC1B5hB,EAAa8hB,gBAAkB9hB,EAAa4hB,UAAY5hB,EAAamhB,GAAKnhB,EAAa3Z,IAEvF2Z,EAAa6hB,UAAYA,EACzB1+B,EAAM6c,EAAa6hB,UAAUz+B,OAC7BU,GAAO,EAEX,CAEF4iC,GAAaI,EACbnT,EAAU,EACV,IACIuT,EADAC,EAAoB,EAExB,IAAKlkC,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAyCxB,GAxCAojC,GAAc,EAGG,MADjBJ,GADAiB,EAAclnB,EAAa6hB,UAAU5+B,IACd2P,WAAW,KACE,IAAbqzB,GACrBkB,EAAoB,EACpB/F,EAAWl5B,KAAKw+B,GAChBC,EAAeD,EAAYC,EAAeD,EAAYC,EACtDD,GAAa,EAAII,EACjBxjC,EAAM,GACN+iC,GAAc,EACdjC,GAAe,GAEf9gC,EAAM4jC,EAEJnpB,EAAYqC,OACdkmB,EAAWvoB,EAAYwH,YAAY2hB,EAAaxkB,EAASI,OAAQ/E,EAAY4H,cAAc3F,EAAatZ,GAAGmc,SAC3G8Q,EAAU0S,EAAc,EAAIC,EAASrlB,EAAIjB,EAAa4hB,UAAY,KAIlEjO,EAAU5V,EAAY+H,YAAYxiB,EAAK0c,EAAatZ,EAAGsZ,EAAa4hB,WAIlD,MAAhBsF,EACFC,GAAqBxT,EAAUmT,GAE/BJ,GAAa/S,EAAUmT,EAAiBK,EACxCA,EAAoB,GAEtBhE,EAAQj7B,KAAK,CACXgE,EAAGynB,EACHsR,GAAItR,EACJwR,IAAKqB,EACLp6B,EAAGi6B,EACHxB,UAAW,GACXvhC,IAAKA,EACLyhC,KAAMX,EACNI,sBAAuB,IAEH,GAAlB+B,GAEF,GADAC,GAAe7S,EACH,KAARrwB,GAAsB,MAARA,GAAeL,IAAME,EAAM,EAAG,CAI9C,IAHY,KAARG,GAAsB,MAARA,IAChBkjC,GAAe7S,GAEV8S,GAAcxjC,GACnBkgC,EAAQsD,GAAYxB,GAAKuB,EACzBrD,EAAQsD,GAAYte,IAAMnC,EAC1Bmd,EAAQsD,GAAYzB,MAAQrR,EAC5B8S,GAAc,EAEhBzgB,GAAS,EACTwgB,EAAc,CAChB,OACK,GAAsB,GAAlBD,GAET,GADAC,GAAe7S,EACH,KAARrwB,GAAcL,IAAME,EAAM,EAAG,CAI/B,IAHY,KAARG,IACFkjC,GAAe7S,GAEV8S,GAAcxjC,GACnBkgC,EAAQsD,GAAYxB,GAAKuB,EACzBrD,EAAQsD,GAAYte,IAAMnC,EAC1Bmd,EAAQsD,GAAYzB,MAAQrR,EAC5B8S,GAAc,EAEhBD,EAAc,EACdxgB,GAAS,CACX,OAEAmd,EAAQnd,GAAOmC,IAAMnC,EACrBmd,EAAQnd,GAAOgf,MAAQ,EACvBhf,GAAS,EAMb,GAHAhG,EAAa9T,EAAIi3B,EACjBwD,EAAeD,EAAYC,EAAeD,EAAYC,EACtDvF,EAAWl5B,KAAKw+B,GACZ1mB,EAAarU,GACfqU,EAAaghB,SAAWhhB,EAAarU,GAAG,GACxCqU,EAAakhB,cAAgB,OAG7B,OADAlhB,EAAaghB,SAAW2F,EAChB3mB,EAAahU,GACnB,KAAK,EACHgU,EAAakhB,eAAiBlhB,EAAaghB,SAC3C,MACF,KAAK,EACHhhB,EAAakhB,eAAiBlhB,EAAaghB,SAAW,EACtD,MACF,QACEhhB,EAAakhB,cAAgB,EAGnClhB,EAAaohB,WAAaA,EAC1B,IACEgG,EACAC,EAFEtE,EAAY5kB,EAAKtS,EAGrBoS,EAAO8kB,EAAU3/B,OACjB,IAAIkkC,EACFnf,EACAof,EAAU,GACZ,IAAKv7B,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EAAG,CAa5B,KAZAo7B,EAAerE,EAAU/2B,IACRH,EAAEuZ,KACjBpF,EAAayhB,iBAAkB,GAE7B2F,EAAav7B,EAAEq0B,KACjBlgB,EAAa0hB,iBAAkB,IAE7B0F,EAAav7B,EAAEs0B,IAAMiH,EAAav7B,EAAEu0B,IAAMgH,EAAav7B,EAAEw0B,IAAM+G,EAAav7B,EAAEy0B,MAChFtgB,EAAawhB,eAAgB,GAE/BrZ,EAAM,EACNmf,EAAQF,EAAa/gC,EAAEI,EAClBxD,EAAI,EAAGA,EAAIE,EAAKF,GAAK,GACxBokC,EAAalE,EAAQlgC,IACV4hC,UAAU74B,GAAKmc,GACb,GAATmf,GAAiC,KAAnBD,EAAW/jC,KAAuB,GAATgkC,GAAiC,KAAnBD,EAAW/jC,KAAiC,MAAnB+jC,EAAW/jC,KAAwB,GAATgkC,IAAeD,EAAWj7B,GAAuB,KAAlBi7B,EAAW/jC,KAAcL,GAAKE,EAAM,IAAe,GAATmkC,IAAeD,EAAWj7B,GAAKnJ,GAAKE,EAAM,MACnM,IAAtBikC,EAAa/gC,EAAEmhC,IACjBD,EAAQr/B,KAAKigB,GAEfA,GAAO,GAGXhK,EAAKtS,EAAEG,GAAG3F,EAAEy+B,WAAa3c,EACzB,IACEsf,EADEC,GAAc,EAElB,GAA0B,IAAtBN,EAAa/gC,EAAEmhC,GACjB,IAAKvkC,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAEpBykC,IADJL,EAAalE,EAAQlgC,IACQ4hC,UAAU74B,KACrC07B,EAAaL,EAAWxC,UAAU74B,GAClCy7B,EAASF,EAAQl/B,OAAOtG,KAAKU,MAAMV,KAAKsB,SAAWkkC,EAAQnkC,QAAS,GAAG,IAEzEikC,EAAWxC,UAAU74B,GAAKy7B,CAGhC,CACAznB,EAAa2hB,QAAU3hB,EAAa8hB,iBAA4C,IAAzB9hB,EAAa4hB,UACpE5hB,EAAaqhB,GAAKrhB,EAAaqhB,IAAM,EACrCrhB,EAAa+gB,OAASre,EAASqe,OAAS/gB,EAAa4hB,UAAY,GACnE,EACAlB,aAAa/4B,UAAUggC,mBAAqB,SAAUC,EAAS5hB,GAC7DA,OAAkB6hB,IAAV7hB,EAAsB9gB,KAAKy7B,UAAY3a,EAC/C,IAAI8hB,EAAQ5iC,KAAK68B,SAAS,CAAC,EAAG78B,KAAKiZ,KAAKpX,EAAEkF,EAAE+Z,GAAO3f,GACnDyhC,EAAQ5iC,KAAK68B,SAAS+F,EAAOF,GAC7B1iC,KAAKiZ,KAAKpX,EAAEkF,EAAE+Z,GAAO3f,EAAIyhC,EACzB5iC,KAAK6iC,YAAY/hB,GACjB9gB,KAAKkmB,KAAKhiB,mBAAmBlE,KAC/B,EACAw7B,aAAa/4B,UAAUogC,YAAc,SAAU/hB,GAC7C,IAAI8hB,EAAQ5iC,KAAKiZ,KAAKpX,EAAEkF,EAAE+Z,GAAO3f,EACjCyhC,EAAMjnB,YAAa,EACnB3b,KAAKy7B,UAAY,EACjBz7B,KAAKumB,eAAgB,EACrBvmB,KAAK0E,SAASk+B,EAChB,EACApH,aAAa/4B,UAAUqgC,cAAgB,SAAUC,GAC/C/iC,KAAK07B,UAAYqH,EACjB/iC,KAAK6iC,YAAY7iC,KAAKy7B,WACtBz7B,KAAKkmB,KAAKhiB,mBAAmBlE,KAC/B,EACAw7B,aAAa/4B,UAAUugC,mBAAqB,SAAUC,GACpDjjC,KAAK27B,gBAAkB9+B,KAAKU,MAAM0lC,IAAe,EACjDjjC,KAAK6iC,YAAY7iC,KAAKy7B,WACtBz7B,KAAKkmB,KAAKhiB,mBAAmBlE,KAC/B,EACA,IAAIq7B,iBAAmB,WACrB,IAAI59B,EAAMZ,KAAKY,IACXE,EAAMd,KAAKc,IACXJ,EAAQV,KAAKU,MACjB,SAAS89B,EAAiBnV,EAAMjN,GAC9BjZ,KAAKkjC,oBAAsB,EAC3BljC,KAAK+G,GAAI,EACT/G,KAAKiZ,KAAOA,EACZjZ,KAAKkmB,KAAOA,EACZlmB,KAAKylB,KAAOS,EAAKT,KACjBzlB,KAAKmjC,OAAS,EACdnjC,KAAKojC,OAAS,EACdpjC,KAAK2E,6BAA6BuhB,GAClClmB,KAAKmB,EAAIigB,gBAAgB+F,QAAQjB,EAAMjN,EAAK9X,GAAK,CAC/C4F,EAAG,GACF,EAAG,EAAG/G,MAEPA,KAAK6G,EADH,MAAOoS,EACAmI,gBAAgB+F,QAAQjB,EAAMjN,EAAKpS,EAAG,EAAG,EAAG7G,MAE5C,CACPoB,EAAG,KAGPpB,KAAKmH,EAAIia,gBAAgB+F,QAAQjB,EAAMjN,EAAK9R,GAAK,CAC/CJ,EAAG,GACF,EAAG,EAAG/G,MACTA,KAAKqjC,GAAKjiB,gBAAgB+F,QAAQjB,EAAMjN,EAAKoqB,IAAM,CACjDt8B,EAAG,GACF,EAAG,EAAG/G,MACTA,KAAKsjC,GAAKliB,gBAAgB+F,QAAQjB,EAAMjN,EAAKqqB,IAAM,CACjDv8B,EAAG,GACF,EAAG,EAAG/G,MACTA,KAAK2G,EAAIya,gBAAgB+F,QAAQjB,EAAMjN,EAAKtS,EAAG,EAAG,IAAM3G,MACnDA,KAAKoE,kBAAkBlG,QAC1B8B,KAAK0E,UAET,CA6GA,OA5GA22B,EAAiB54B,UAAY,CAC3Bi9B,QAAS,SAAUzc,GACbjjB,KAAKkjC,qBAAuBljC,KAAKkmB,KAAKqd,aAAa3H,YAAY50B,EAAE9I,QACnE8B,KAAK0E,WAGP,IAAIqO,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLlT,KAAKsjC,GAAGliC,EAAI,EACd2R,EAAK/S,KAAKsjC,GAAGliC,EAAI,IAEjB4R,GAAMhT,KAAKsjC,GAAGliC,EAAI,IAEhBpB,KAAKqjC,GAAGjiC,EAAI,EACd6R,EAAK,EAAMjT,KAAKqjC,GAAGjiC,EAAI,IAEvB8R,EAAK,EAAMlT,KAAKqjC,GAAGjiC,EAAI,IAEzB,IAAIoiC,EAAQp0B,cAAc+T,gBAAgBpQ,EAAIC,EAAIC,EAAIC,GAAIxC,IACtDsV,EAAO,EACP7kB,EAAInB,KAAKmjC,OACTt8B,EAAI7G,KAAKojC,OACTxjC,EAAOI,KAAKiZ,KAAK8K,GACrB,GAAa,IAATnkB,EAMFomB,EAAOwd,EAJLxd,EADEnf,IAAM1F,EACD8hB,GAAOpc,EAAI,EAAI,EAEfpJ,EAAI,EAAGE,EAAI,IAAOkJ,EAAI1F,IAAM8hB,EAAM9hB,IAAM0F,EAAI1F,GAAI,UAGpD,GAAa,IAATvB,EAMTomB,EAAOwd,EAJLxd,EADEnf,IAAM1F,EACD8hB,GAAOpc,EAAI,EAAI,EAEf,EAAIpJ,EAAI,EAAGE,EAAI,IAAOkJ,EAAI1F,IAAM8hB,EAAM9hB,IAAM0F,EAAI1F,GAAI,UAGxD,GAAa,IAATvB,EACLiH,IAAM1F,EACR6kB,EAAO,GAEPA,EAAOvoB,EAAI,EAAGE,EAAI,IAAOkJ,EAAI1F,IAAM8hB,EAAM9hB,IAAM0F,EAAI1F,GAAI,KAC5C,GACT6kB,GAAQ,EAERA,EAAO,EAAI,GAAKA,EAAO,IAG3BA,EAAOwd,EAAMxd,QACR,GAAa,IAATpmB,EAAY,CACrB,GAAIiH,IAAM1F,EACR6kB,EAAO,MACF,CACL,IAAIyd,EAAM58B,EAAI1F,EAIV+I,GAAKu5B,EAAM,GADfxgB,EAAMtlB,EAAIF,EAAI,EAAGwlB,EAAM,GAAM9hB,GAAI0F,EAAI1F,IAEjCwF,EAAI88B,EAAM,EACdzd,EAAOnpB,KAAKM,KAAK,EAAI+M,EAAIA,GAAKvD,EAAIA,GACpC,CACAqf,EAAOwd,EAAMxd,EACf,MAAoB,IAATpmB,GACLiH,IAAM1F,EACR6kB,EAAO,GAEP/C,EAAMtlB,EAAIF,EAAI,EAAGwlB,EAAM,GAAM9hB,GAAI0F,EAAI1F,GACrC6kB,GAAQ,EAAInpB,KAAKoI,IAAIpI,KAAK4B,GAAe,EAAV5B,KAAK4B,GAASwkB,GAAOpc,EAAI1F,KAAO,GAEjE6kB,EAAOwd,EAAMxd,KAET/C,GAAO1lB,EAAM4D,KAEb6kB,EAAOvoB,EAAI,EAAGE,EADZslB,EAAM9hB,EAAI,EACMxD,EAAIkJ,EAAG,IAAM1F,EAAI8hB,GAEjBpc,EAAIoc,EAFmB,KAK7C+C,EAAOwd,EAAMxd,IAEf,OAAOA,EAAOhmB,KAAK2G,EAAEvF,CACvB,EACAsD,SAAU,SAAUg/B,GAClB1jC,KAAKwE,2BACLxE,KAAKyE,KAAOi/B,GAAgB1jC,KAAKyE,KACjCzE,KAAKkjC,mBAAqBljC,KAAKkmB,KAAKqd,aAAa3H,YAAY50B,EAAE9I,QAAU,EACrEwlC,GAAgC,IAAhB1jC,KAAKiZ,KAAK5X,IAC5BrB,KAAK6G,EAAEzF,EAAIpB,KAAKkjC,oBAElB,IAAIS,EAA0B,IAAhB3jC,KAAKiZ,KAAK5X,EAAU,EAAI,IAAMrB,KAAKiZ,KAAK2mB,WAClDz4B,EAAInH,KAAKmH,EAAE/F,EAAIuiC,EACfxiC,EAAInB,KAAKmB,EAAEC,EAAIuiC,EAAUx8B,EACzBN,EAAI7G,KAAK6G,EAAEzF,EAAIuiC,EAAUx8B,EAC7B,GAAIhG,EAAI0F,EAAG,CACT,IAAIspB,EAAKhvB,EACTA,EAAI0F,EACJA,EAAIspB,CACN,CACAnwB,KAAKmjC,OAAShiC,EACdnB,KAAKojC,OAASv8B,CAChB,GAEFoL,gBAAgB,CAAChO,0BAA2Bo3B,GAIrC,CACLC,oBAJF,SAA6BpV,EAAMjN,EAAMxV,GACvC,OAAO,IAAI43B,EAAiBnV,EAAMjN,EAAMxV,EAC1C,EAIF,CApJuB,GAqJnBmgC,aACK,SAAUC,EAAeC,EAASC,EAAUC,GACjD,IAAIruB,EAAU,EACVqT,EAAa6a,EACb93B,EAAOzN,iBAAiB0qB,GAK5B,SAAS/U,IAQP,OANI0B,EAEQ5J,EADV4J,GAAW,GAGDmuB,GAGd,CAgBA,MA7BS,CACP7vB,WAAYA,EACZ+b,QAYF,SAAiBlxB,GACX6W,IAAYqT,IACdjd,EAAOk4B,QAAQj1B,OAAOjD,GACtBid,GAA0B,GAExB+a,GACFA,EAASjlC,GAEXiN,EAAK4J,GAAW7W,EAChB6W,GAAW,CACb,EAMF,EAEEsuB,QAIK,CACLj1B,OAJF,SAAgBvL,GACd,OAAOA,EAAIwa,OAAO3f,iBAAiBmF,EAAIvF,QACzC,GAKEirB,WAIKya,aAAa,GAHpB,WACE,OAAOxgC,iBAAiB,UAAW,EACrC,IAGE8nB,YA8BEwC,QAAUkW,aAAa,GA7B3B,WACE,OAAO,IAAI7a,SACb,IACA,SAAiB8H,GACf,IACE9yB,EADEE,EAAM4yB,EAAUlb,QAEpB,IAAK5X,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBorB,WAAW6G,QAAQa,EAAUzvB,EAAErD,IAC/BorB,WAAW6G,QAAQa,EAAU9yB,EAAEA,IAC/BorB,WAAW6G,QAAQa,EAAU1pB,EAAEpJ,IAC/B8yB,EAAUzvB,EAAErD,GAAK,KACjB8yB,EAAU9yB,EAAEA,GAAK,KACjB8yB,EAAU1pB,EAAEpJ,GAAK,KAEnB8yB,EAAUlb,QAAU,EACpBkb,EAAUjqB,GAAI,CAChB,IAcA8mB,QAAQ3jB,MAbR,SAAeklB,GACb,IACIlxB,EADAmmC,EAASxW,QAAQzZ,aAEnBhW,OAAwB0kC,IAAlB1T,EAAMtZ,QAAwBsZ,EAAM7tB,EAAElD,OAAS+wB,EAAMtZ,QAI7D,IAHAuuB,EAAOhb,UAAUjrB,GACjBimC,EAAOt9B,EAAIqoB,EAAMroB,EAEZ7I,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBmmC,EAAO3a,YAAY0F,EAAM7tB,EAAErD,GAAG,GAAIkxB,EAAM7tB,EAAErD,GAAG,GAAIkxB,EAAM9nB,EAAEpJ,GAAG,GAAIkxB,EAAM9nB,EAAEpJ,GAAG,GAAIkxB,EAAMlxB,EAAEA,GAAG,GAAIkxB,EAAMlxB,EAAEA,GAAG,GAAIA,GAE/G,OAAOmmC,CACT,EAGOxW,SAFHA,QAIFpC,qBAAuB,WACzB,IAAIjc,EAAK,CACPkc,mBAMF,WAQE,OANI5V,EAEgB5J,EADlB4J,GAAW,GAGO,IAAIsY,eAG1B,EAdE+B,QAeF,SAAiBmU,GACf,IAAIpmC,EACFE,EAAMkmC,EAAgBxuB,QACxB,IAAK5X,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBmtB,WAAW8E,QAAQmU,EAAgBvqB,OAAO7b,IAE5ComC,EAAgBxuB,QAAU,EACtBA,IAAYqT,IACdjd,EAAOk4B,QAAQj1B,OAAOjD,GACtBid,GAA0B,GAE5Bjd,EAAK4J,GAAWwuB,EAChBxuB,GAAW,CACb,GA1BIA,EAAU,EACVqT,EAAa,EACbjd,EAAOzN,iBAAiB0qB,GAyB5B,OAAO3Z,CACT,CAjC2B,GAkCvBiG,qBAeKsuB,aAAa,GAdpB,WACE,MAAO,CACLzvB,QAAS,GACTyB,YAAa,EAEjB,IACA,SAAiB9W,GACf,IAAIf,EACFE,EAAMa,EAAQqV,QAAQjW,OACxB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiW,mBAAmBgc,QAAQlxB,EAAQqV,QAAQpW,IAE7Ce,EAAQqV,QAAQjW,OAAS,CAC3B,IAGE8V,mBAQK4vB,aAAa,GAPpB,WACE,MAAO,CACLhwB,YAAa,EACbM,SAAU9Q,iBAAiB,UAAW7E,sBACtC4V,QAAS/Q,iBAAiB,UAAW7E,sBAEzC,IAGF,SAAS6lC,eAAgB,CAkIzB,SAASC,YAAYC,EAAeC,GAClCvkC,KAAKskC,cAAgBA,EACrBtkC,KAAK2Y,OAAS,KACd3Y,KAAK0lB,eAAiB,EACtB1lB,KAAKwkC,WAAa5gC,SAAS,OAC3B,IAAI6gC,EAAY,GAChB,GAAIF,GAAUA,EAAOG,MAAO,CAC1B,IAAIC,EAAe/gC,SAAS,SACxBghC,EAAU7jC,kBACd4jC,EAAajnB,aAAa,KAAMknB,GAChCD,EAAa7mB,YAAcymB,EAAOG,MAClC1kC,KAAKwkC,WAAW1nB,YAAY6nB,GAC5BF,GAAaG,CACf,CACA,GAAIL,GAAUA,EAAOM,YAAa,CAChC,IAAIC,EAAclhC,SAAS,QACvBmhC,EAAShkC,kBACb+jC,EAAYpnB,aAAa,KAAMqnB,GAC/BD,EAAYhnB,YAAcymB,EAAOM,YACjC7kC,KAAKwkC,WAAW1nB,YAAYgoB,GAC5BL,GAAa,IAAMM,CACrB,CACIN,GACFzkC,KAAKwkC,WAAW9mB,aAAa,kBAAmB+mB,GAElD,IAAIvlB,EAAOtb,SAAS,QACpB5D,KAAKwkC,WAAW1nB,YAAYoC,GAC5B,IAAI8lB,EAAcphC,SAAS,KAC3B5D,KAAKwkC,WAAW1nB,YAAYkoB,GAC5BhlC,KAAKilC,aAAeD,EACpBhlC,KAAKklC,aAAe,CAClBC,oBAAqBZ,GAAUA,EAAOY,qBAAuB,gBAC7DC,yBAA0Bb,GAAUA,EAAOa,0BAA4B,iBACvEC,gBAAiBd,GAAUA,EAAOc,kBAAmB,EACrDC,mBAAmBf,IAAuC,IAA7BA,EAAOe,kBACpCC,YAAahB,GAAUA,EAAOgB,cAAe,EAC7CC,YAAajB,GAAUA,EAAOiB,cAAe,EAC7CC,UAAWlB,GAAUA,EAAOkB,WAAa,GACzCptB,GAAIksB,GAAUA,EAAOlsB,IAAM,GAC3BqtB,UAAWnB,GAAUA,EAAOmB,UAC5BC,WAAY,CACVx5B,MAAOo4B,GAAUA,EAAOoB,YAAcpB,EAAOoB,WAAWx5B,OAAS,OACjEyqB,OAAQ2N,GAAUA,EAAOoB,YAAcpB,EAAOoB,WAAW/O,QAAU,OACnE1sB,EAAGq6B,GAAUA,EAAOoB,YAAcpB,EAAOoB,WAAWz7B,GAAK,KACzDC,EAAGo6B,GAAUA,EAAOoB,YAAcpB,EAAOoB,WAAWx7B,GAAK,OAG7DnK,KAAKmmB,WAAa,CAChB1hB,MAAM,EACN+c,UAAW,EACXtC,KAAMA,EACNgmB,aAAcllC,KAAKklC,cAErBllC,KAAKkzB,SAAW,GAChBlzB,KAAK4lC,gBAAkB,GACvB5lC,KAAK6lC,WAAY,EACjB7lC,KAAK8lC,aAAe,KACtB,CAqLA,SAASC,YAAY9sB,EAAMna,EAASqnB,GAClCnmB,KAAKiZ,KAAOA,EACZjZ,KAAKlB,QAAUA,EACfkB,KAAKmmB,WAAaA,EAClBnmB,KAAKyU,WAAa,GAClBzU,KAAKuZ,gBAAkBvZ,KAAKiZ,KAAKM,iBAAmB,GACpDvZ,KAAKglC,YAAc,KACnB,IACIjnC,EADAmhB,EAAOlf,KAAKmmB,WAAWjH,KAEzBjhB,EAAM+B,KAAKuZ,gBAAkBvZ,KAAKuZ,gBAAgBrb,OAAS,EAC7D8B,KAAKgmC,SAAW1nC,iBAAiBL,GACjC+B,KAAKimC,UAAY,GACjB,IAAI7rB,EAIAtT,EAAGiS,EAEHmtB,EAAMC,EAAUC,EAASl8B,EAL3Bm8B,EAAarmC,KAAKuZ,gBAChBzM,EAAQ,EACRw5B,EAAe,GAEfC,EAAUxlC,kBAEV23B,EAAW,WACb8N,EAAU,YACZ,IAAKzoC,EAAI,EAAGA,EAAIE,EAAKF,IAenB,IAd2B,MAAvBsoC,EAAWtoC,GAAG+G,MAAuC,MAAvBuhC,EAAWtoC,GAAG+G,MAAgBuhC,EAAWtoC,GAAG00B,KAA6B,MAAtB4T,EAAWtoC,GAAGoJ,EAAEJ,GAAas/B,EAAWtoC,GAAGoJ,EAAE+C,KAChIwuB,EAAW,OACX8N,EAAU,QAEe,KAAtBH,EAAWtoC,GAAG+G,MAAqC,KAAtBuhC,EAAWtoC,GAAG+G,MAA0B,IAAVgI,EAO9Do5B,EAAO,OANPA,EAAOtiC,SAAS,SACX8Z,aAAa,OAAQ,WAC1BwoB,EAAKxoB,aAAa,QAAS1d,KAAKlB,QAAQ2mB,KAAKxM,KAAK8C,GAAK,GACvDmqB,EAAKxoB,aAAa,SAAU1d,KAAKlB,QAAQ2mB,KAAKxM,KAAK/X,GAAK,GACxDolC,EAAatjC,KAAKkjC,IAIpB9rB,EAAOxW,SAAS,QACU,KAAtByiC,EAAWtoC,GAAG+G,KAAlB,CAcA,IAAI2hC,EA8BJ,GAjCA35B,GAAS,EACTsN,EAAKsD,aAAa,OAA+B,MAAvB2oB,EAAWtoC,GAAG+G,KAAe,UAAY,WACnEsV,EAAKsD,aAAa,YAAa,WAEL,IAAtB2oB,EAAWtoC,GAAGmM,EAAEnD,GAClB2xB,EAAW,OACX8N,EAAU,OACVt8B,EAAIkX,gBAAgB+F,QAAQnnB,KAAKlB,QAASunC,EAAWtoC,GAAGmM,EAAG,EAAG,KAAMlK,KAAKlB,SACzE2nC,EAAW1lC,mBACXolC,EAAWviC,SAAS,WACX8Z,aAAa,KAAM+oB,IAC5BL,EAAUxiC,SAAS,iBACX8Z,aAAa,WAAY,SACjC0oB,EAAQ1oB,aAAa,KAAM,iBAC3B0oB,EAAQ1oB,aAAa,SAAU,KAC/ByoB,EAASrpB,YAAYspB,GACrBlnB,EAAKpC,YAAYqpB,GACjB/rB,EAAKsD,aAAa,SAAiC,MAAvB2oB,EAAWtoC,GAAG+G,KAAe,UAAY,aAErEshC,EAAU,KACVl8B,EAAI,MAINlK,KAAKyU,WAAW1W,GAAK,CACnBmoB,KAAM9L,EACNlQ,EAAGA,EACHw8B,MAAON,EACPO,SAAU,GACVC,aAAc,GACdC,SAAUJ,EACVK,WAAY,GAEY,KAAtBT,EAAWtoC,GAAG+G,KAAa,CAC7BiU,EAAOutB,EAAapoC,OACpB,IAAIoD,EAAIsC,SAAS,KACjB,IAAKkD,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzBxF,EAAEwb,YAAYwpB,EAAax/B,IAE7B,IAAI0F,EAAO5I,SAAS,QACpB4I,EAAKkR,aAAa,YAAa,SAC/BlR,EAAKkR,aAAa,KAAM6oB,EAAU,IAAMz5B,GACxCN,EAAKsQ,YAAY1C,GACjB8E,EAAKpC,YAAYtQ,GACjBlL,EAAEoc,aAAa,OAAQ,OAASvhB,aAAe,IAAMoqC,EAAU,IAAMz5B,EAAQ,KAC7Ew5B,EAAapoC,OAAS,EACtBooC,EAAatjC,KAAK1B,EACpB,MACEglC,EAAatjC,KAAKoX,GAEhBisB,EAAWtoC,GAAG00B,MAAQzyB,KAAKimC,YAC7BjmC,KAAKimC,UAAYjmC,KAAK+mC,wBAGxB/mC,KAAKgmC,SAASjoC,GAAK,CACjBmoB,KAAM9L,EACNusB,SAAU,GACVpS,GAAInT,gBAAgB+F,QAAQnnB,KAAKlB,QAASunC,EAAWtoC,GAAGoJ,EAAG,EAAG,IAAMnH,KAAKlB,SACzEqF,KAAMkmB,qBAAqB2c,aAAahnC,KAAKlB,QAASunC,EAAWtoC,GAAI,GACrEkpC,QAASf,GAENlmC,KAAKgmC,SAASjoC,GAAGoG,KAAK4C,GACzB/G,KAAKknC,SAASb,EAAWtoC,GAAIiC,KAAKgmC,SAASjoC,GAAGoG,KAAK/C,EAAGpB,KAAKgmC,SAASjoC,GA/DtE,MAREiC,KAAKgmC,SAASjoC,GAAK,CACjBw2B,GAAInT,gBAAgB+F,QAAQnnB,KAAKlB,QAASunC,EAAWtoC,GAAGoJ,EAAG,EAAG,IAAMnH,KAAKlB,SACzEqF,KAAMkmB,qBAAqB2c,aAAahnC,KAAKlB,QAASunC,EAAWtoC,GAAI,GACrEmoB,KAAM9L,EACNusB,SAAU,IAEZznB,EAAKpC,YAAY1C,GAsErB,IAFApa,KAAKglC,YAAcphC,SAAS80B,GAC5Bz6B,EAAMqoC,EAAapoC,OACdH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKglC,YAAYloB,YAAYwpB,EAAavoC,IAExC+O,EAAQ,IACV9M,KAAKglC,YAAYtnB,aAAa,KAAM6oB,GACpCvmC,KAAKlB,QAAQqoC,cAAczpB,aAAa8oB,EAAS,OAASrqC,aAAe,IAAMoqC,EAAU,KACzFrnB,EAAKpC,YAAY9c,KAAKglC,cAEpBhlC,KAAKgmC,SAAS9nC,QAChB8B,KAAKlB,QAAQsoC,uBAAuBpnC,KAExC,CAwFA,SAASqnC,mBAAoB,CAkD7B,SAASC,eAAgB,CA4CzB,SAASC,mBAAoB,CA2E7B,SAASC,oBAAqB,CA2F9B,SAASC,uBAAwB,CA4DjC,SAASC,iBAAiB5oC,EAASE,GACjCgB,KAAKkmB,KAAOpnB,EACZkB,KAAKspB,IAAMtqB,CACb,CACA,SAAS2oC,aAAa1uB,EAAM2uB,GAC1B5nC,KAAKiZ,KAAOA,EACZjZ,KAAKJ,KAAOqZ,EAAK3R,GACjBtH,KAAK6B,EAAI,GACT7B,KAAK6nC,IAAMD,EACX5nC,KAAKyE,MAAO,EACZzE,KAAKuV,QAAqB,IAAZ0D,EAAK6uB,GACnB9nC,KAAK+nC,MAAQnkC,SAAS,QACtB5D,KAAKgoC,OAAS,IAChB,CAKA,SAASC,aAAaC,EAAcN,EAAO3Y,GACzCjvB,KAAKmoC,OAAS,GACdnoC,KAAK0hC,OAAS,GACd1hC,KAAKkoC,aAAeA,EACpBloC,KAAKooC,KAAO,GACZpoC,KAAK+jB,GAAKkL,EACVjvB,KAAK6nC,IAAMD,EAIX5nC,KAAKuE,cAAgB0qB,EAAMloB,EAI3B,IAFA,IAAIhJ,EAAI,EACNE,EAAMiqC,EAAahqC,OACdH,EAAIE,GAAK,CACd,GAAIiqC,EAAanqC,GAAGu2B,OAAOlwB,kBAAkBlG,OAAQ,CACnD8B,KAAKuE,aAAc,EACnB,KACF,CACAxG,GAAK,CACP,CACF,CAIA,SAASsqC,iBAAiB/T,EAAQC,EAAIjwB,GACpCtE,KAAKwH,UAAY,CACf8sB,OAAQA,EACRC,GAAIA,EACJjwB,UAAWA,GAEbtE,KAAKkzB,SAAW,GAChBlzB,KAAKuE,YAAcvE,KAAKwH,UAAU8sB,OAAOlwB,kBAAkBlG,QAAU8B,KAAKwH,UAAU+sB,GAAGlO,gBAAgBnoB,MACzG,CACA,SAASoqC,mBAAmBpiB,EAAMjN,EAAMsvB,GACtCvoC,KAAK2E,6BAA6BuhB,GAClClmB,KAAK0E,SAAW1E,KAAKwE,yBACrBxE,KAAKmH,EAAIia,gBAAgB+F,QAAQjB,EAAMjN,EAAK9R,EAAG,EAAG,IAAMnH,MACxDA,KAAK+b,EAAIqF,gBAAgB+F,QAAQjB,EAAMjN,EAAK8C,EAAG,EAAG,KAAM/b,MACxDA,KAAK6B,EAAI,IAAIqsB,aAAahI,EAAMjN,EAAKpX,GAAK,CAAC,EAAG,MAAO7B,MACrDA,KAAK4G,EAAIwa,gBAAgB+F,QAAQjB,EAAMjN,EAAKrS,EAAG,EAAG,IAAK5G,MACvDA,KAAKjB,MAAQwpC,EACbvoC,KAAKuE,cAAgBvE,KAAKuE,WAC5B,CAEA,SAASikC,iBAAiBtiB,EAAMjN,EAAMsvB,GACpCvoC,KAAK2E,6BAA6BuhB,GAClClmB,KAAK0E,SAAW1E,KAAKwE,yBACrBxE,KAAKmH,EAAIia,gBAAgB+F,QAAQjB,EAAMjN,EAAK9R,EAAG,EAAG,IAAMnH,MACxDA,KAAK4G,EAAIwa,gBAAgB+F,QAAQjB,EAAMjN,EAAKrS,EAAG,EAAG,IAAK5G,MACvDA,KAAKjB,MAAQwpC,CACf,CAEA,SAASE,yBAAyBviB,EAAMjN,EAAMsvB,GAC5CvoC,KAAK2E,6BAA6BuhB,GAClClmB,KAAK0E,SAAW1E,KAAKwE,yBACrBxE,KAAK0oC,iBAAiBxiB,EAAMjN,EAAMsvB,EACpC,CAkEA,SAASI,2BAA2BziB,EAAMjN,EAAMsvB,GAC9CvoC,KAAK2E,6BAA6BuhB,GAClClmB,KAAK0E,SAAW1E,KAAKwE,yBACrBxE,KAAK+b,EAAIqF,gBAAgB+F,QAAQjB,EAAMjN,EAAK8C,EAAG,EAAG,KAAM/b,MACxDA,KAAK6B,EAAI,IAAIqsB,aAAahI,EAAMjN,EAAKpX,GAAK,CAAC,EAAG,MAAO7B,MACrDA,KAAK0oC,iBAAiBxiB,EAAMjN,EAAMsvB,GAClCvoC,KAAKuE,cAAgBvE,KAAKuE,WAC5B,CAEA,SAASqkC,iBACP5oC,KAAKma,GAAK,GACVna,KAAK6oC,aAAe,GACpB7oC,KAAK8oC,GAAKllC,SAAS,IACrB,CA9hCAwgC,aAAa3hC,UAAUsmC,YAAc,SAAUC,GAC7C,IAAIjrC,EAEFkb,EADAhb,EAAM+B,KAAK2Y,OAAOza,OAGpB,IADA8B,KAAK0Y,gBAAiB,EACjB3a,EAAIE,EAAM,EAAGF,GAAK,EAAGA,IACnBiC,KAAKkzB,SAASn1B,KACjBkb,EAAOjZ,KAAK2Y,OAAO5a,IACVkrC,GAAKhwB,EAAK+N,IAAMgiB,EAAMhpC,KAAK2Y,OAAO5a,GAAGipB,IAAM/N,EAAKsb,GAAKtb,EAAK+N,GAAKgiB,EAAMhpC,KAAK2Y,OAAO5a,GAAGipB,IAC3FhnB,KAAKkpC,UAAUnrC,GAGnBiC,KAAK0Y,iBAAiB1Y,KAAKkzB,SAASn1B,IAAKiC,KAAK0Y,eAEhD1Y,KAAKmpC,sBACP,EACA/E,aAAa3hC,UAAU2mC,WAAa,SAAUC,GAC5C,OAAQA,EAAM/hC,IACZ,KAAK,EACH,OAAOtH,KAAKspC,YAAYD,GAC1B,KAAK,EACH,OAAOrpC,KAAKupC,WAAWF,GACzB,KAAK,EACH,OAAOrpC,KAAKwpC,YAAYH,GAC1B,KAAK,EACH,OAAOrpC,KAAKypC,WAAWJ,GACzB,KAAK,EACH,OAAOrpC,KAAK0pC,YAAYL,GAC1B,KAAK,EACH,OAAOrpC,KAAK2pC,WAAWN,GACzB,KAAK,EACH,OAAOrpC,KAAK01B,YAAY2T,GAC1B,KAAK,GACH,OAAOrpC,KAAK4pC,aAAaP,GAE7B,OAAOrpC,KAAKypC,WAAWJ,EACzB,EACAjF,aAAa3hC,UAAUmnC,aAAe,WACpC,MAAM,IAAIC,MAAM,mDAClB,EACAzF,aAAa3hC,UAAUizB,YAAc,SAAUzc,GAC7C,OAAO,IAAI6wB,aAAa7wB,EAAMjZ,KAAKmmB,WAAYnmB,KACjD,EACAokC,aAAa3hC,UAAUsnC,cAAgB,WACrC,IAAIhsC,EACFE,EAAM+B,KAAK2Y,OAAOza,OACpB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKkpC,UAAUnrC,GAEjBiC,KAAKmpC,sBACP,EACA/E,aAAa3hC,UAAUunC,cAAgB,SAAUC,GAC/CjqC,KAAK0Y,gBAAiB,EACtB,IAAI3a,EAEA+I,EADF7I,EAAMgsC,EAAU/rC,OAEhB6a,EAAO/Y,KAAK2Y,OAAOza,OACrB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAExB,IADA+I,EAAI,EACGA,EAAIiS,GAAM,CACf,GAAI/Y,KAAK2Y,OAAO7R,GAAGuR,IAAM4xB,EAAUlsC,GAAGsa,GAAI,CACxCrY,KAAK2Y,OAAO7R,GAAKmjC,EAAUlsC,GAC3B,KACF,CACA+I,GAAK,CACP,CAEJ,EACAs9B,aAAa3hC,UAAUynC,oBAAsB,SAAUC,GACrDnqC,KAAKmmB,WAAWikB,iBAAmBD,CACrC,EACA/F,aAAa3hC,UAAU4nC,UAAY,WAC5BrqC,KAAKmmB,WAAWkf,iBACnBrlC,KAAK+pC,eAET,EACA3F,aAAa3hC,UAAU6nC,sBAAwB,SAAUxrC,EAASyrC,EAAYC,GAK5E,IAJA,IAAItX,EAAWlzB,KAAKkzB,SAChBva,EAAS3Y,KAAK2Y,OACd5a,EAAI,EACNE,EAAM0a,EAAOza,OACRH,EAAIE,GACL0a,EAAO5a,GAAGklB,KAAOsnB,IACdrX,EAASn1B,KAAsB,IAAhBm1B,EAASn1B,IAI3BysC,EAAUxnC,KAAKkwB,EAASn1B,IACxBm1B,EAASn1B,GAAG0sC,mBACa9H,IAArBhqB,EAAO5a,GAAGsf,OACZrd,KAAKsqC,sBAAsBxrC,EAAS6Z,EAAO5a,GAAGsf,OAAQmtB,GAEtD1rC,EAAQ4rC,aAAaF,KARvBxqC,KAAKkpC,UAAUnrC,GACfiC,KAAK2qC,kBAAkB7rC,KAW3Bf,GAAK,CAET,EACAqmC,aAAa3hC,UAAUkoC,kBAAoB,SAAU7rC,GACnDkB,KAAK4lC,gBAAgB5iC,KAAKlE,EAC5B,EACAslC,aAAa3hC,UAAUmoC,wBAA0B,SAAU5vB,GACzD,IAAIjd,EACFE,EAAM+c,EAAO9c,OACf,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB,GAAIid,EAAOjd,GAAG8sC,GAAI,CAChB,IAAIplB,EAAOzlB,KAAKupC,WAAWvuB,EAAOjd,IAClC0nB,EAAKqlB,kBACL9qC,KAAKmmB,WAAWikB,iBAAiBW,oBAAoBtlB,EACvD,CAEJ,EACA2e,aAAa3hC,UAAUuoC,gBAAkB,SAAUC,EAAUC,GAC3DlrC,KAAKmmB,WAAWtN,YAAc,IAAIgD,YAClC7b,KAAKmmB,WAAWtN,YAAYiG,SAASmsB,EAAS/vB,OAC9Clb,KAAKmmB,WAAWtN,YAAYoG,SAASgsB,EAAS9sB,MAAO+sB,GACrDlrC,KAAKmmB,WAAWglB,aAAenrC,KAAKskC,cAAc6G,aAAajoC,KAAKlD,KAAKskC,eACzEtkC,KAAKmmB,WAAWiR,cAAgBp3B,KAAKskC,cAAclN,cAAcl0B,KAAKlD,KAAKskC,eAC3EtkC,KAAKmmB,WAAWilB,YAAcprC,KAAKskC,cAAc+G,eACjDrrC,KAAKmmB,WAAWmlB,gBAAkBtrC,KAAKskC,cAAcgH,gBACrDtrC,KAAKmmB,WAAWC,QAAU,EAC1BpmB,KAAKmmB,WAAWuC,UAAYuiB,EAASM,GACrCvrC,KAAKmmB,WAAW7W,GAAK27B,EAAS37B,GAC9BtP,KAAKmmB,WAAWqlB,SAAW,CACzBzvB,EAAGkvB,EAASlvB,EACZ7a,EAAG+pC,EAAS/pC,EAEhB,EA2DA+Q,gBAAgB,CAACmyB,cAAeC,aAChCA,YAAY5hC,UAAUgnC,WAAa,SAAUxwB,GAC3C,OAAO,IAAIwyB,YAAYxyB,EAAMjZ,KAAKmmB,WAAYnmB,KAChD,EACAqkC,YAAY5hC,UAAUinC,YAAc,SAAUzwB,GAC5C,OAAO,IAAIyyB,gBAAgBzyB,EAAMjZ,KAAKmmB,WAAYnmB,KACpD,EACAqkC,YAAY5hC,UAAUknC,WAAa,SAAU1wB,GAC3C,OAAO,IAAI0yB,eAAe1yB,EAAMjZ,KAAKmmB,WAAYnmB,KACnD,EACAqkC,YAAY5hC,UAAU6mC,YAAc,SAAUrwB,GAC5C,OAAO,IAAI2yB,cAAc3yB,EAAMjZ,KAAKmmB,WAAYnmB,KAClD,EACAqkC,YAAY5hC,UAAU8mC,WAAa,SAAUtwB,GAC3C,OAAO,IAAI4yB,eAAe5yB,EAAMjZ,KAAKmmB,WAAYnmB,KACnD,EACAqkC,YAAY5hC,UAAU+mC,YAAc,SAAUvwB,GAC5C,OAAO,IAAI6yB,cAAc7yB,EAAMjZ,KAAKmmB,WAAYnmB,KAClD,EACAqkC,YAAY5hC,UAAUspC,gBAAkB,SAAUd,GAChDjrC,KAAKwkC,WAAW9mB,aAAa,QAAS,8BAClC1d,KAAKklC,aAAaM,YACpBxlC,KAAKwkC,WAAW9mB,aAAa,UAAW1d,KAAKklC,aAAaM,aAE1DxlC,KAAKwkC,WAAW9mB,aAAa,UAAW,OAASutB,EAASlvB,EAAI,IAAMkvB,EAAS/pC,GAE1ElB,KAAKklC,aAAaK,cACrBvlC,KAAKwkC,WAAW9mB,aAAa,QAASutB,EAASlvB,GAC/C/b,KAAKwkC,WAAW9mB,aAAa,SAAUutB,EAAS/pC,GAChDlB,KAAKwkC,WAAWzlC,MAAMoN,MAAQ,OAC9BnM,KAAKwkC,WAAWzlC,MAAM63B,OAAS,OAC/B52B,KAAKwkC,WAAWzlC,MAAMyI,UAAY,sBAEhCxH,KAAKklC,aAAaO,WACpBzlC,KAAKwkC,WAAW9mB,aAAa,QAAS1d,KAAKklC,aAAaO,WAEtDzlC,KAAKklC,aAAa7sB,IACpBrY,KAAKwkC,WAAW9mB,aAAa,KAAM1d,KAAKklC,aAAa7sB,SAEnBsqB,IAAhC3iC,KAAKklC,aAAaQ,WACpB1lC,KAAKwkC,WAAW9mB,aAAa,YAAa1d,KAAKklC,aAAaQ,WAE9D1lC,KAAKwkC,WAAW9mB,aAAa,sBAAuB1d,KAAKklC,aAAaC,qBAGtEnlC,KAAKskC,cAAc0H,QAAQlvB,YAAY9c,KAAKwkC,YAE5C,IAAItlB,EAAOlf,KAAKmmB,WAAWjH,KAC3Blf,KAAKgrC,gBAAgBC,EAAU/rB,GAC/Blf,KAAKmmB,WAAWkf,gBAAkBrlC,KAAKklC,aAAaG,gBACpDrlC,KAAKiZ,KAAOgyB,EACZ,IAAIjG,EAAcphC,SAAS,YACvBsiC,EAAOtiC,SAAS,QACpBsiC,EAAKxoB,aAAa,QAASutB,EAASlvB,GACpCmqB,EAAKxoB,aAAa,SAAUutB,EAAS/pC,GACrCglC,EAAKxoB,aAAa,IAAK,GACvBwoB,EAAKxoB,aAAa,IAAK,GACvB,IAAIuuB,EAASlrC,kBACbikC,EAAYtnB,aAAa,KAAMuuB,GAC/BjH,EAAYloB,YAAYopB,GACxBlmC,KAAKilC,aAAavnB,aAAa,YAAa,OAASvhB,aAAe,IAAM8vC,EAAS,KACnF/sB,EAAKpC,YAAYkoB,GACjBhlC,KAAK2Y,OAASsyB,EAAStyB,OACvB3Y,KAAKkzB,SAAW50B,iBAAiB2sC,EAAStyB,OAAOza,OACnD,EACAmmC,YAAY5hC,UAAUw1B,QAAU,WAC9Bj4B,KAAKskC,cAAc0H,QAAQxvB,UAAY,GACvCxc,KAAKilC,aAAe,KACpBjlC,KAAKmmB,WAAWjH,KAAO,KACvB,IAAInhB,EACFE,EAAM+B,KAAK2Y,OAAS3Y,KAAK2Y,OAAOza,OAAS,EAC3C,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,IACfiC,KAAKkzB,SAASn1B,IAChBiC,KAAKkzB,SAASn1B,GAAGk6B,UAGrBj4B,KAAKkzB,SAASh1B,OAAS,EACvB8B,KAAK6lC,WAAY,EACjB7lC,KAAKskC,cAAgB,IACvB,EACAD,YAAY5hC,UAAUypC,oBAAsB,WAAa,EACzD7H,YAAY5hC,UAAUymC,UAAY,SAAU5f,GAC1C,IAAI4J,EAAWlzB,KAAKkzB,SACpB,IAAIA,EAAS5J,IAA+B,IAAvBtpB,KAAK2Y,OAAO2Q,GAAKhiB,GAAtC,CAGA4rB,EAAS5J,IAAO,EAChB,IAAIxqB,EAAUkB,KAAKopC,WAAWppC,KAAK2Y,OAAO2Q,IAC1C4J,EAAS5J,GAAOxqB,EACZxC,oBAC0B,IAAxB0D,KAAK2Y,OAAO2Q,GAAKhiB,IACnBtH,KAAKmmB,WAAWikB,iBAAiBW,oBAAoBjsC,GAEvDA,EAAQgsC,mBAEV9qC,KAAKmsC,mBAAmBrtC,EAASwqB,GAC7BtpB,KAAK2Y,OAAO2Q,GAAKnQ,KACdnZ,KAAKkzB,SAAS5J,EAAM,KAAiC,IAA3BtpB,KAAKkzB,SAAS5J,EAAM,GAIjDxqB,EAAQstC,SAASlZ,EAAS5J,EAAM,GAAGid,UAHnCvmC,KAAKkpC,UAAU5f,EAAM,GACrBtpB,KAAK2qC,kBAAkB7rC,IAd3B,CAmBF,EACAulC,YAAY5hC,UAAU0mC,qBAAuB,WAC3C,KAAOnpC,KAAK4lC,gBAAgB1nC,QAAQ,CAClC,IAAIY,EAAUkB,KAAK4lC,gBAAgBnV,MAEnC,GADA3xB,EAAQutC,iBACJvtC,EAAQma,KAAKE,GAGf,IAFA,IAAIpb,EAAI,EACNE,EAAM+B,KAAKkzB,SAASh1B,OACfH,EAAIE,GAAK,CACd,GAAI+B,KAAKkzB,SAASn1B,KAAOe,EAAS,CAChCA,EAAQstC,SAASpsC,KAAKkzB,SAASn1B,EAAI,GAAGwoC,SACtC,KACF,CACAxoC,GAAK,CACP,CAEJ,CACF,EACAsmC,YAAY5hC,UAAU6pC,YAAc,SAAUtD,GAC5C,GAAIhpC,KAAK0lB,gBAAkBsjB,IAAOhpC,KAAK6lC,UAAvC,CAGY,OAARmD,EACFA,EAAMhpC,KAAK0lB,cAEX1lB,KAAK0lB,cAAgBsjB,EAIvBhpC,KAAKmmB,WAAW3E,SAAWwnB,EAC3BhpC,KAAKmmB,WAAWC,SAAW,EAC3BpmB,KAAKmmB,WAAWikB,iBAAiBmC,aAAevD,EAChDhpC,KAAKmmB,WAAW1hB,MAAO,EACvB,IAAI1G,EACFE,EAAM+B,KAAK2Y,OAAOza,OAIpB,IAHK8B,KAAK0Y,gBACR1Y,KAAK+oC,YAAYC,GAEdjrC,EAAIE,EAAM,EAAGF,GAAK,EAAGA,KACpBiC,KAAK0Y,gBAAkB1Y,KAAKkzB,SAASn1B,KACvCiC,KAAKkzB,SAASn1B,GAAGyuC,aAAaxD,EAAMhpC,KAAK2Y,OAAO5a,GAAGipB,IAGvD,GAAIhnB,KAAKmmB,WAAW1hB,KAClB,IAAK1G,EAAI,EAAGA,EAAIE,EAAKF,GAAK,GACpBiC,KAAK0Y,gBAAkB1Y,KAAKkzB,SAASn1B,KACvCiC,KAAKkzB,SAASn1B,GAAGuuC,aAzBvB,CA6BF,EACAjI,YAAY5hC,UAAU0pC,mBAAqB,SAAUrtC,EAASwqB,GAC5D,IAAIrV,EAAanV,EAAQ2tC,iBACzB,GAAKx4B,EAAL,CAKA,IAFA,IACIy4B,EADA3uC,EAAI,EAEDA,EAAIurB,GACLtpB,KAAKkzB,SAASn1B,KAA2B,IAArBiC,KAAKkzB,SAASn1B,IAAeiC,KAAKkzB,SAASn1B,GAAG0uC,mBACpEC,EAAc1sC,KAAKkzB,SAASn1B,GAAG0uC,kBAEjC1uC,GAAK,EAEH2uC,EACF1sC,KAAKilC,aAAa0H,aAAa14B,EAAYy4B,GAE3C1sC,KAAKilC,aAAanoB,YAAY7I,EAZhC,CAcF,EACAowB,YAAY5hC,UAAUmqC,KAAO,WAC3B5sC,KAAKilC,aAAalmC,MAAMI,QAAU,MACpC,EACAklC,YAAY5hC,UAAUoqC,KAAO,WAC3B7sC,KAAKilC,aAAalmC,MAAMI,QAAU,OACpC,EA+HA4mC,YAAYtjC,UAAUy6B,gBAAkB,SAAU5T,GAChD,OAAOtpB,KAAKgmC,SAAS1c,GAAKnlB,IAC5B,EACA4hC,YAAYtjC,UAAU6pC,YAAc,SAAUQ,GAC5C,IACI/uC,EADAgvC,EAAW/sC,KAAKlB,QAAQkuC,eAAe5kB,IAEzCnqB,EAAM+B,KAAKuZ,gBAAgBrb,OAC7B,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,IAOnB,IANIiC,KAAKgmC,SAASjoC,GAAGoG,KAAKM,MAAQqoC,IAChC9sC,KAAKknC,SAASlnC,KAAKuZ,gBAAgBxb,GAAIiC,KAAKgmC,SAASjoC,GAAGoG,KAAK/C,EAAGpB,KAAKgmC,SAASjoC,KAE5EiC,KAAKgmC,SAASjoC,GAAGw2B,GAAG9vB,MAAQqoC,IAC9B9sC,KAAKgmC,SAASjoC,GAAGmoB,KAAKxI,aAAa,eAAgB1d,KAAKgmC,SAASjoC,GAAGw2B,GAAGnzB,GAEpC,MAAjCpB,KAAKuZ,gBAAgBxb,GAAG+G,OACtB9E,KAAKgmC,SAASjoC,GAAGkpC,UAAYjnC,KAAKlB,QAAQkuC,eAAeC,MAAMxoC,MAAQqoC,IACzE9sC,KAAKgmC,SAASjoC,GAAGkpC,QAAQvpB,aAAa,YAAaqvB,EAASviC,mBAAmBsB,WAE7E9L,KAAKyU,WAAW1W,GAAGmM,IAAMlK,KAAKyU,WAAW1W,GAAGmM,EAAEzF,MAAQqoC,IAAe,CACvE,IAAI1G,EAAUpmC,KAAKyU,WAAW1W,GAAG2oC,MAC7B1mC,KAAKyU,WAAW1W,GAAGmM,EAAE9I,EAAI,GACa,UAApCpB,KAAKyU,WAAW1W,GAAG6oC,eACrB5mC,KAAKyU,WAAW1W,GAAG6oC,aAAe,QAClC5mC,KAAKyU,WAAW1W,GAAGmoB,KAAKxI,aAAa,SAAU,OAASvhB,aAAe,IAAM6D,KAAKyU,WAAW1W,GAAG8oC,SAAW,MAE7GT,EAAQ1oB,aAAa,UAAW1d,KAAKyU,WAAW1W,GAAGmM,EAAE9I,KAEb,WAApCpB,KAAKyU,WAAW1W,GAAG6oC,eACrB5mC,KAAKyU,WAAW1W,GAAG6oC,aAAe,SAClC5mC,KAAKyU,WAAW1W,GAAGmoB,KAAKxI,aAAa,SAAU,OAEjD1d,KAAKyU,WAAW1W,GAAGmoB,KAAKxI,aAAa,eAAyC,EAAzB1d,KAAKyU,WAAW1W,GAAGmM,EAAE9I,GAE9E,CAGN,EACA2kC,YAAYtjC,UAAUyqC,eAAiB,WACrC,OAAOltC,KAAKglC,WACd,EACAe,YAAYtjC,UAAUskC,qBAAuB,WAC3C,IAAI3sB,EAAO,QAKX,OAJAA,GAAQ,KAAOpa,KAAKmmB,WAAWqlB,SAASzvB,EACxC3B,GAAQ,KAAOpa,KAAKmmB,WAAWqlB,SAAStqC,EACxCkZ,GAAQ,MAAQpa,KAAKmmB,WAAWqlB,SAASzvB,EACzC3B,GAAQ,MAAQpa,KAAKmmB,WAAWqlB,SAAStqC,EAAI,GAE/C,EACA6kC,YAAYtjC,UAAUykC,SAAW,SAAU/rB,EAAUuZ,EAAWsR,GAC9D,IACIjoC,EAAGE,EADHkvC,EAAa,KAAOzY,EAAUtzB,EAAE,GAAG,GAAK,IAAMszB,EAAUtzB,EAAE,GAAG,GAGjE,IADAnD,EAAMy2B,EAAU/e,QACX5X,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAExBovC,GAAc,KAAOzY,EAAUvtB,EAAEpJ,EAAI,GAAG,GAAK,IAAM22B,EAAUvtB,EAAEpJ,EAAI,GAAG,GAAK,IAAM22B,EAAU32B,EAAEA,GAAG,GAAK,IAAM22B,EAAU32B,EAAEA,GAAG,GAAK,IAAM22B,EAAUtzB,EAAErD,GAAG,GAAK,IAAM22B,EAAUtzB,EAAErD,GAAG,GAQhL,GALI22B,EAAU9tB,GAAK3I,EAAM,IACvBkvC,GAAc,KAAOzY,EAAUvtB,EAAEpJ,EAAI,GAAG,GAAK,IAAM22B,EAAUvtB,EAAEpJ,EAAI,GAAG,GAAK,IAAM22B,EAAU32B,EAAE,GAAG,GAAK,IAAM22B,EAAU32B,EAAE,GAAG,GAAK,IAAM22B,EAAUtzB,EAAE,GAAG,GAAK,IAAMszB,EAAUtzB,EAAE,GAAG,IAI5K4kC,EAASW,WAAawG,EAAY,CACpC,IAAIC,EAAiB,GACjBpH,EAAS9f,OACPwO,EAAU9tB,IACZwmC,EAAiBjyB,EAASsX,IAAMzyB,KAAKimC,UAAYkH,EAAaA,GAEhEnH,EAAS9f,KAAKxI,aAAa,IAAK0vB,IAElCpH,EAASW,SAAWwG,CACtB,CACF,EACApH,YAAYtjC,UAAUw1B,QAAU,WAC9Bj4B,KAAKlB,QAAU,KACfkB,KAAKmmB,WAAa,KAClBnmB,KAAKglC,YAAc,KACnBhlC,KAAKiZ,KAAO,KACZjZ,KAAKuZ,gBAAkB,IACzB,EASA8tB,iBAAiB5kC,UAAY,CAM3B4qC,cAAe,WAEbrtC,KAAKwqC,UAAY,GAEjBxqC,KAAKstC,WAAY,EACjBttC,KAAKqsC,gBACP,EAQA3B,aAAc,SAAUF,GACtBxqC,KAAKwqC,UAAYA,CACnB,EAMAC,YAAa,WACXzqC,KAAKstC,WAAY,CACnB,EAMAjB,eAAgB,gBACW1J,IAArB3iC,KAAKiZ,KAAKoE,QACZrd,KAAKylB,KAAK6kB,sBAAsBtqC,KAAMA,KAAKiZ,KAAKoE,OAAQ,GAE5D,GAUFiqB,aAAa7kC,UAAY,CAMvB4e,UAAW,WAETrhB,KAAKumB,eAAgB,EAErBvmB,KAAKoE,kBAAoB,GAEzBpE,KAAKyE,MAAO,CACd,EAWA8oC,kBAAmB,SAAUvE,EAAKwE,GAChC,IAAIzvC,EACFE,EAAM+B,KAAKoE,kBAAkBlG,OAC/B,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,GACpByvC,GAAaxtC,KAAKstC,WAAoD,cAAvCttC,KAAKoE,kBAAkBrG,GAAG6jB,YAC3D5hB,KAAKoE,kBAAkBrG,GAAG2G,WACtB1E,KAAKoE,kBAAkBrG,GAAG0G,OAC5BzE,KAAKmmB,WAAW1hB,MAAO,EACvBzE,KAAKyE,MAAO,GAIpB,EACAP,mBAAoB,SAAUC,IACkB,IAA1CnE,KAAKoE,kBAAkBC,QAAQF,IACjCnE,KAAKoE,kBAAkBpB,KAAKmB,EAEhC,GAGFojC,iBAAiB9kC,UAAY,CAC3BgrC,cAAe,WACbztC,KAAKgtC,eAAiB,CACpBC,MAAOjtC,KAAKiZ,KAAKiB,GAAKkN,yBAAyB0B,qBAAqB9oB,KAAMA,KAAKiZ,KAAKiB,GAAIla,MAAQ,CAC9FmH,EAAG,GAELumC,SAAS,EACTC,QAAQ,EACRvlB,IAAK,IAAIrjB,QAEP/E,KAAKiZ,KAAK20B,KACZ5tC,KAAKgtC,eAAeC,MAAM1kB,cAAe,GAIvCvoB,KAAKiZ,KAAK3R,EAGhB,EACAumC,gBAAiB,WAGf,GAFA7tC,KAAKgtC,eAAeW,OAAS3tC,KAAKgtC,eAAeC,MAAM9lC,EAAE1C,MAAQzE,KAAKumB,cACtEvmB,KAAKgtC,eAAeU,QAAU1tC,KAAKgtC,eAAeC,MAAMxoC,MAAQzE,KAAKumB,cACjEvmB,KAAKwqC,UAAW,CAClB,IAAIpiB,EACA2kB,EAAW/sC,KAAKgtC,eAAe5kB,IAC/BrqB,EAAI,EACNE,EAAM+B,KAAKwqC,UAAUtsC,OAEvB,IAAK8B,KAAKgtC,eAAeU,QACvB,KAAO3vC,EAAIE,GAAK,CACd,GAAI+B,KAAKwqC,UAAUzsC,GAAGivC,eAAeC,MAAMxoC,KAAM,CAC/CzE,KAAKgtC,eAAeU,SAAU,EAC9B,KACF,CACA3vC,GAAK,CACP,CAEF,GAAIiC,KAAKgtC,eAAeU,QAGtB,IAFAtlB,EAAMpoB,KAAKgtC,eAAeC,MAAM7rC,EAAEoE,MAClCunC,EAAS/iC,eAAeoe,GACnBrqB,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBqqB,EAAMpoB,KAAKwqC,UAAUzsC,GAAGivC,eAAeC,MAAM7rC,EAAEoE,MAC/CunC,EAASvlC,UAAU4gB,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAAKA,EAAI,IAAKA,EAAI,IAAKA,EAAI,IAAKA,EAAI,IAAKA,EAAI,IAG1J,CACF,EACA0lB,cAAe,SAAUljC,GACvB,IAAImjC,EAAa,GACjBA,EAAW/qC,KAAKhD,KAAKgtC,gBAGrB,IAFA,IAAIpuC,GAAO,EACP6mB,EAAOzlB,KAAKylB,KACT7mB,GACD6mB,EAAKunB,gBACHvnB,EAAKxM,KAAKI,SACZ00B,EAAW5qC,OAAO,EAAG,EAAGsiB,EAAKunB,gBAE/BvnB,EAAOA,EAAKA,MAEZ7mB,GAAO,EAGX,IAAIb,EAEFiwC,EADA/vC,EAAM8vC,EAAW7vC,OAEnB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiwC,EAAQD,EAAWhwC,GAAGqqB,IAAIvd,kBAAkB,EAAG,EAAG,GAElDD,EAAK,CAACA,EAAG,GAAKojC,EAAM,GAAIpjC,EAAG,GAAKojC,EAAM,GAAI,GAE5C,OAAOpjC,CACT,EACAmzB,QAAS,IAAIh5B,QAGfyiC,kBAAkB/kC,UAAY,CAC5BwrC,eAAgB,WAEdjuC,KAAKkuC,WAAY,EAEjBluC,KAAKmuC,QAAS,EAEdnuC,KAAKouC,eAAgB,EAErBpuC,KAAKquC,qBAAuB,EAC9B,EACAjH,uBAAwB,SAAUkH,IACsB,IAAlDtuC,KAAKquC,qBAAqBhqC,QAAQiqC,IACpCtuC,KAAKquC,qBAAqBrrC,KAAKsrC,EAEnC,EACAC,0BAA2B,SAAUD,IACmB,IAAlDtuC,KAAKquC,qBAAqBhqC,QAAQiqC,IACpCtuC,KAAKquC,qBAAqBlrC,OAAOnD,KAAKquC,qBAAqBhqC,QAAQiqC,GAAY,EAEnF,EACAE,uBAAwB,SAAUxF,GAChChpC,KAAKyuC,iBAAiBzF,EACxB,EACA0F,kBAAmB,WACb1uC,KAAKgtC,eAAeC,MAAM9lC,EAAE/F,GAAK,GAC9BpB,KAAKouC,eAAiBpuC,KAAKmmB,WAAW+e,aAAaI,oBACtDtlC,KAAKouC,eAAgB,EACrBpuC,KAAK4sC,QAEE5sC,KAAKouC,gBACdpuC,KAAKouC,eAAgB,EACrBpuC,KAAK6sC,OAET,EASA4B,iBAAkB,SAAUzF,GACtBhpC,KAAKiZ,KAAKgwB,GAAKjpC,KAAKiZ,KAAK+N,IAAMgiB,GAAOhpC,KAAKiZ,KAAKsb,GAAKv0B,KAAKiZ,KAAK+N,GAAKgiB,GAC/C,IAAnBhpC,KAAKkuC,YACPluC,KAAKmmB,WAAW1hB,MAAO,EACvBzE,KAAKyE,MAAO,EACZzE,KAAKkuC,WAAY,EACjBluC,KAAK6sC,SAGgB,IAAnB7sC,KAAKkuC,YACPluC,KAAKmmB,WAAW1hB,MAAO,EACvBzE,KAAKkuC,WAAY,EACjBluC,KAAK4sC,OAGX,EACA+B,iBAAkB,WAChB,IAAI5wC,EACFE,EAAM+B,KAAKquC,qBAAqBnwC,OAClC,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKquC,qBAAqBtwC,GAAGuuC,YAAYtsC,KAAKumB,cAIlD,EACAqoB,iBAAkB,WAChB,MAAO,CACL3vC,IAAK,EACLC,KAAM,EACNiN,MAAO,IACPyqB,OAAQ,IAEZ,EACAiY,aAAc,WACZ,OAAqB,IAAjB7uC,KAAKiZ,KAAK3R,GACL,CACLyU,EAAG/b,KAAKiZ,KAAK8gB,SAAS5tB,MACtBjL,EAAGlB,KAAKiZ,KAAK8gB,SAASnD,QAGjB,CACL7a,EAAG/b,KAAKiZ,KAAK9M,MACbjL,EAAGlB,KAAKiZ,KAAK2d,OAGnB,GA4DA3kB,gBAAgB,CAACu1B,kBAAmB70B,oBAxDnB,CACfm8B,YAAa,SAAU71B,EAAMkN,EAAYV,GACvCzlB,KAAKqhB,YACLrhB,KAAK+uC,aAAa91B,EAAMkN,EAAYV,GACpCzlB,KAAKytC,cAAcx0B,EAAMkN,EAAYV,GACrCzlB,KAAKqtC,gBACLrtC,KAAKiuC,iBACLjuC,KAAKgvC,sBACLhvC,KAAKivC,0BACLjvC,KAAKkvC,6BACLlvC,KAAKmvC,gBACLnvC,KAAK4sC,MACP,EACAA,KAAM,WACC5sC,KAAKmuC,QAAYnuC,KAAKkuC,YAAaluC,KAAKouC,iBAChCpuC,KAAKovC,aAAepvC,KAAKilC,cAC/BlmC,MAAMI,QAAU,OACrBa,KAAKmuC,QAAS,EAElB,EACAtB,KAAM,WACA7sC,KAAKkuC,YAAcluC,KAAKouC,gBACrBpuC,KAAKiZ,KAAK6uB,MACF9nC,KAAKovC,aAAepvC,KAAKilC,cAC/BlmC,MAAMI,QAAU,SAEvBa,KAAKmuC,QAAS,EACdnuC,KAAKumB,eAAgB,EAEzB,EACA+lB,YAAa,WAGPtsC,KAAKiZ,KAAK6uB,IAAM9nC,KAAKmuC,SAGzBnuC,KAAK6tC,kBACL7tC,KAAK2uC,mBACL3uC,KAAKqvC,gBACLrvC,KAAKsvC,qBACDtvC,KAAKumB,gBACPvmB,KAAKumB,eAAgB,GAEzB,EACA+oB,mBAAoB,WAAa,EACjC9C,aAAc,SAAUxD,GACtBhpC,KAAKyE,MAAO,EACZzE,KAAKwuC,uBAAuBxF,GAC5BhpC,KAAKutC,kBAAkBvE,EAAKhpC,KAAKkuC,WACjCluC,KAAK0uC,mBACP,EACAzW,QAAS,WACPj4B,KAAKuvC,UAAY,KACjBvvC,KAAKwvC,oBACP,KAEoE/H,sBAgBxEE,aAAallC,UAAU8C,MAAQ,WAC7BvF,KAAK6B,EAAI,GACT7B,KAAKyE,MAAO,CACd,EAuBAwjC,aAAaxlC,UAAUysB,cAAgB,WACrClvB,KAAKuE,aAAc,CACrB,EAoBA0N,gBAAgB,CAAChO,0BAA2BqkC,oBAQ5Cr2B,gBAAgB,CAAChO,0BAA2BukC,kBAM5CC,yBAAyBhmC,UAAUimC,iBAAmB,SAAUxiB,EAAMjN,EAAMsvB,GAC1EvoC,KAAKmH,EAAIia,gBAAgB+F,QAAQjB,EAAMjN,EAAK9R,EAAG,EAAG,IAAMnH,MACxDA,KAAKmB,EAAIigB,gBAAgB+F,QAAQjB,EAAMjN,EAAK9X,EAAG,EAAG,KAAMnB,MACxDA,KAAK6G,EAAIua,gBAAgB+F,QAAQjB,EAAMjN,EAAKpS,EAAG,EAAG,KAAM7G,MACxDA,KAAKkB,EAAIkgB,gBAAgB+F,QAAQjB,EAAMjN,EAAK/X,GAAK,CAC/C6F,EAAG,GACF,EAAG,IAAM/G,MACZA,KAAK2G,EAAIya,gBAAgB+F,QAAQjB,EAAMjN,EAAKtS,GAAK,CAC/CI,EAAG,GACF,EAAGvI,UAAWwB,MACjBA,KAAKsB,EAAI,IAAIktB,iBAAiBtI,EAAMjN,EAAK3X,EAAGtB,MAC5CA,KAAKjB,MAAQwpC,EACbvoC,KAAKyvC,MAAQ,GACbzvC,KAAK0vC,gBAAgBnH,EAAQR,MAAO9uB,GACpCjZ,KAAK2vC,mBAAmB12B,EAAMsvB,GAC9BvoC,KAAKuE,cAAgBvE,KAAKuE,WAC5B,EACAkkC,yBAAyBhmC,UAAUitC,gBAAkB,SAAUE,EAAa32B,GAC1E,IAAI42B,EAAa9uC,kBACb+uC,EAAQlsC,SAAoB,IAAXqV,EAAKtX,EAAU,iBAAmB,kBACvDmuC,EAAMpyB,aAAa,KAAMmyB,GACzBC,EAAMpyB,aAAa,eAAgB,OACnCoyB,EAAMpyB,aAAa,gBAAiB,kBACpC,IACIqyB,EAAMjpC,EAAGiS,EADT02B,EAAQ,GAGZ,IADA12B,EAAkB,EAAXE,EAAK3X,EAAEG,EACTqF,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzBipC,EAAOnsC,SAAS,QAChBksC,EAAMhzB,YAAYizB,GAClBN,EAAMzsC,KAAK+sC,GAEbH,EAAYlyB,aAAyB,OAAZzE,EAAK3R,GAAc,OAAS,SAAU,OAASnL,aAAe,IAAM0zC,EAAa,KAC1G7vC,KAAKgwC,GAAKF,EACV9vC,KAAKiwC,IAAMR,CACb,EACAhH,yBAAyBhmC,UAAUktC,mBAAqB,SAAU12B,EAAMsvB,GACtE,GAAIvoC,KAAKsB,EAAEwtB,cAAgB9uB,KAAKsB,EAAEstB,aAAc,CAC9C,IAAImhB,EAAMjpC,EAAGiS,EACTvM,EAAO5I,SAAS,QAChBohC,EAAcphC,SAAS,QAC3B4I,EAAKsQ,YAAYkoB,GACjB,IAAIkL,EAAYnvC,kBACZkrC,EAASlrC,kBACbyL,EAAKkR,aAAa,KAAMuuB,GACxB,IAAIkE,EAASvsC,SAAoB,IAAXqV,EAAKtX,EAAU,iBAAmB,kBACxDwuC,EAAOzyB,aAAa,KAAMwyB,GAC1BC,EAAOzyB,aAAa,eAAgB,OACpCyyB,EAAOzyB,aAAa,gBAAiB,kBACrC3E,EAAOE,EAAK3X,EAAEyF,EAAEA,EAAE,GAAG5F,EAAI8X,EAAK3X,EAAEyF,EAAEA,EAAE,GAAG5F,EAAEjD,OAAS+a,EAAK3X,EAAEyF,EAAEA,EAAE7I,OAC7D,IAAIuxC,EAAQzvC,KAAKyvC,MACjB,IAAK3oC,EAAe,EAAXmS,EAAK3X,EAAEG,EAAOqF,EAAIiS,EAAMjS,GAAK,GACpCipC,EAAOnsC,SAAS,SACX8Z,aAAa,aAAc,oBAChCyyB,EAAOrzB,YAAYizB,GACnBN,EAAMzsC,KAAK+sC,GAEb/K,EAAYtnB,aAAyB,OAAZzE,EAAK3R,GAAc,OAAS,SAAU,OAASnL,aAAe,IAAM+zC,EAAY,KACzGlwC,KAAKo8B,GAAK+T,EACVnwC,KAAKowC,GAAK5jC,EACVxM,KAAKqwC,IAAMZ,EACXzvC,KAAKisC,OAASA,EACd1D,EAAQP,OAAShD,CACnB,CACF,EACA/yB,gBAAgB,CAAChO,0BAA2BwkC,0BAS5Cx2B,gBAAgB,CAACw2B,yBAA0BxkC,0BAA2B0kC,4BAMtE,IAAI2H,oBAAsB,WACxB,IAAIC,EAAkB,IAAIxrC,OACtByrC,EAAgB,IAAIzrC,OAwBxB,SAAS0rC,EAAuBC,EAAWC,EAAU7D,IAC/CA,GAAgB6D,EAASnpC,UAAU+sB,GAAG9vB,OACxCksC,EAASnpC,UAAUlD,UAAUoZ,aAAa,UAAWizB,EAASnpC,UAAU+sB,GAAGnzB,IAEzE0rC,GAAgB6D,EAASnpC,UAAU8sB,OAAO7vB,OAC5CksC,EAASnpC,UAAUlD,UAAUoZ,aAAa,YAAaizB,EAASnpC,UAAU8sB,OAAOlzB,EAAE0K,UAEvF,CACA,SAAS8kC,EAAWF,EAAWC,EAAU7D,GACvC,IAAIhmC,EACFiS,EACA83B,EACAC,EACApc,EACA1tB,EAGEoU,EAAOgN,EAAK5iB,EAAOurC,EAAYhqC,EAFjCiqC,EAAOL,EAASjP,OAAOxjC,OACrB2pC,EAAM8I,EAAS9I,IAEnB,IAAK7gC,EAAI,EAAGA,EAAIgqC,EAAMhqC,GAAK,EAAG,CAE5B,GADA8pC,EAASH,EAAS5sB,GAAGtf,MAAQqoC,EACzB6D,EAASjP,OAAO16B,GAAG6gC,IAAMA,EAAK,CAIhC,IAHAzf,EAAMooB,EAAcjrC,QACpBwrC,EAAalJ,EAAM8I,EAASjP,OAAO16B,GAAG6gC,IACtC9gC,EAAI4pC,EAASzI,aAAahqC,OAAS,GAC3B4yC,GAAUC,EAAa,GAC7BD,EAASH,EAASzI,aAAanhC,GAAGutB,OAAO7vB,MAAQqsC,EACjDC,IACAhqC,IAEF,GAAI+pC,EAGF,IAFAC,EAAalJ,EAAM8I,EAASjP,OAAO16B,GAAG6gC,IACtC9gC,EAAI4pC,EAASzI,aAAahqC,OAAS,EAC5B6yC,EAAa,GAClBvrC,EAAQmrC,EAASzI,aAAanhC,GAAGutB,OAAOlzB,EAAEoE,MAC1C4iB,EAAI5gB,UAAUhC,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,IAAKA,EAAM,IAAKA,EAAM,IAAKA,EAAM,IAAKA,EAAM,IAAKA,EAAM,KAC/KurC,IACAhqC,GAGN,MACEqhB,EAAMmoB,EAIR,GADAx3B,GADAqC,EAAQu1B,EAAS5sB,GAAG3I,OACPzF,QACTm7B,EAAQ,CAEV,IADAD,EAAwB,GACnB/pC,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,GACzB4tB,EAAYtZ,EAAMxB,OAAO9S,KACR4tB,EAAU/e,UACzBk7B,GAAyBpc,iBAAiBC,EAAWA,EAAU/e,QAAS+e,EAAU9tB,EAAGwhB,IAGzFuoB,EAASxI,OAAOnhC,GAAK6pC,CACvB,MACEA,EAAwBF,EAASxI,OAAOnhC,GAE1C2pC,EAASjP,OAAO16B,GAAGnF,IAAsB,IAAjB6uC,EAAU5I,GAAc,GAAK+I,EACrDF,EAASjP,OAAO16B,GAAGvC,KAAOqsC,GAAUH,EAASjP,OAAO16B,GAAGvC,IACzD,CACF,CACA,SAASwsC,EAAWP,EAAWC,EAAU7D,GACvC,IAAIoE,EAAYP,EAAS5xC,OACrB4xC,EAAS/pC,EAAEnC,MAAQqoC,IACrBoE,EAAUnJ,MAAMrqB,aAAa,OAAQ,OAASpgB,SAASqzC,EAAS/pC,EAAExF,EAAE,IAAM,IAAM9D,SAASqzC,EAAS/pC,EAAExF,EAAE,IAAM,IAAM9D,SAASqzC,EAAS/pC,EAAExF,EAAE,IAAM,MAE5IuvC,EAASxpC,EAAE1C,MAAQqoC,IACrBoE,EAAUnJ,MAAMrqB,aAAa,eAAgBizB,EAASxpC,EAAE/F,EAE5D,CAEA,SAAS+vC,EAAqBT,EAAWC,EAAU7D,GACjDsE,EAAeV,EAAWC,EAAU7D,GACpCuE,EAAaX,EAAWC,EAAU7D,EACpC,CACA,SAASsE,EAAeV,EAAWC,EAAU7D,GAC3C,IAkBI2C,EAAO1xC,EAAGE,EAAK8xC,EAqCbzjB,EAvDFwjB,EAAQa,EAASX,GACjBsB,EAAaX,EAASrvC,EAAEwtB,YACxB5jB,EAAMylC,EAASxvC,EAAEC,EACnB+J,EAAMwlC,EAAS9pC,EAAEzF,EACnB,GAAIuvC,EAASxpC,EAAE1C,MAAQqoC,EAAc,CACnC,IAAIz6B,EAAwB,OAAjBq+B,EAAUppC,GAAc,eAAiB,iBACpDqpC,EAAS5xC,MAAMgpC,MAAMrqB,aAAarL,EAAMs+B,EAASxpC,EAAE/F,EACrD,CACA,GAAIuvC,EAASxvC,EAAEsD,MAAQqoC,EAAc,CACnC,IAAIyE,EAAwB,IAAhBb,EAAU/uC,EAAU,KAAO,KACnC6vC,EAAkB,OAAVD,EAAiB,KAAO,KACpCzB,EAAMpyB,aAAa6zB,EAAOrmC,EAAI,IAC9B4kC,EAAMpyB,aAAa8zB,EAAOtmC,EAAI,IAC1BomC,IAAeX,EAASrvC,EAAEstB,eAC5B+hB,EAASvU,GAAG1e,aAAa6zB,EAAOrmC,EAAI,IACpCylC,EAASvU,GAAG1e,aAAa8zB,EAAOtmC,EAAI,IAExC,CAEA,GAAIylC,EAASrvC,EAAEotB,OAASoe,EAAc,CACpC2C,EAAQkB,EAASV,IACjB,IAAIwB,EAAUd,EAASrvC,EAAEsF,EAEzB,IADA3I,EAAMwxC,EAAMvxC,OACPH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,GACxBgyC,EAAON,EAAM1xC,IACR2f,aAAa,SAAU+zB,EAAY,EAAJ1zC,GAAS,KAC7CgyC,EAAKryB,aAAa,aAAc,OAAS+zB,EAAY,EAAJ1zC,EAAQ,GAAK,IAAM0zC,EAAY,EAAJ1zC,EAAQ,GAAK,IAAM0zC,EAAY,EAAJ1zC,EAAQ,GAAK,IAExH,CACA,GAAIuzC,IAAeX,EAASrvC,EAAEqtB,OAASme,GAAe,CACpD,IAAI4E,EAAUf,EAASrvC,EAAE6F,EAOzB,IADAlJ,GAJEwxC,EADEkB,EAASrvC,EAAEstB,aACL+hB,EAASV,IAETU,EAASN,KAEPnyC,OACPH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBgyC,EAAON,EAAM1xC,GACR4yC,EAASrvC,EAAEstB,cACdmhB,EAAKryB,aAAa,SAAUg0B,EAAY,EAAJ3zC,GAAS,KAE/CgyC,EAAKryB,aAAa,eAAgBg0B,EAAY,EAAJ3zC,EAAQ,GAEtD,CACA,GAAoB,IAAhB2yC,EAAU/uC,GACRgvC,EAAS9pC,EAAEpC,MAAQqoC,KACrBgD,EAAMpyB,aAAa,KAAMvS,EAAI,IAC7B2kC,EAAMpyB,aAAa,KAAMvS,EAAI,IACzBmmC,IAAeX,EAASrvC,EAAEstB,eAC5B+hB,EAASvU,GAAG1e,aAAa,KAAMvS,EAAI,IACnCwlC,EAASvU,GAAG1e,aAAa,KAAMvS,EAAI,WAYvC,IAPIwlC,EAASxvC,EAAEsD,MAAQksC,EAAS9pC,EAAEpC,MAAQqoC,KACxCxgB,EAAMzvB,KAAKM,KAAKN,KAAKI,IAAIiO,EAAI,GAAKC,EAAI,GAAI,GAAKtO,KAAKI,IAAIiO,EAAI,GAAKC,EAAI,GAAI,IACzE2kC,EAAMpyB,aAAa,IAAK4O,GACpBglB,IAAeX,EAASrvC,EAAEstB,cAC5B+hB,EAASvU,GAAG1e,aAAa,IAAK4O,IAG9BqkB,EAAS9pC,EAAEpC,MAAQksC,EAASzvC,EAAEuD,MAAQksC,EAAShqC,EAAElC,MAAQqoC,EAAc,CACpExgB,IACHA,EAAMzvB,KAAKM,KAAKN,KAAKI,IAAIiO,EAAI,GAAKC,EAAI,GAAI,GAAKtO,KAAKI,IAAIiO,EAAI,GAAKC,EAAI,GAAI,KAE3E,IAAIwmC,EAAM90C,KAAKmoB,MAAM7Z,EAAI,GAAKD,EAAI,GAAIC,EAAI,GAAKD,EAAI,IAE/C0mC,EAAOtlB,GADGqkB,EAASzvC,EAAEE,GAAK,EAAI,IAAOuvC,EAASzvC,EAAEE,IAAM,GAAK,IAAOuvC,EAASzvC,EAAEE,GAE7E8I,EAAIrN,KAAKoI,IAAI0sC,EAAMhB,EAAShqC,EAAEvF,GAAKwwC,EAAO1mC,EAAI,GAC9Cf,EAAItN,KAAKsI,IAAIwsC,EAAMhB,EAAShqC,EAAEvF,GAAKwwC,EAAO1mC,EAAI,GAClD4kC,EAAMpyB,aAAa,KAAMxT,GACzB4lC,EAAMpyB,aAAa,KAAMvT,GACrBmnC,IAAeX,EAASrvC,EAAEstB,eAC5B+hB,EAASvU,GAAG1e,aAAa,KAAMxT,GAC/BymC,EAASvU,GAAG1e,aAAa,KAAMvT,GAEnC,CAGJ,CAEA,SAASknC,EAAaX,EAAWC,EAAU7D,GACzC,IAAIoE,EAAYP,EAAS5xC,MACrB8C,EAAI8uC,EAAS9uC,EACbA,IAAMA,EAAE4C,MAAQqoC,IAAiBjrC,EAAEwsB,UACrC6iB,EAAUnJ,MAAMrqB,aAAa,mBAAoB7b,EAAEwsB,SACnD6iB,EAAUnJ,MAAMrqB,aAAa,oBAAqB7b,EAAE0sB,WAAW,KAE7DoiB,EAAS/pC,IAAM+pC,EAAS/pC,EAAEnC,MAAQqoC,IACpCoE,EAAUnJ,MAAMrqB,aAAa,SAAU,OAASpgB,SAASqzC,EAAS/pC,EAAExF,EAAE,IAAM,IAAM9D,SAASqzC,EAAS/pC,EAAExF,EAAE,IAAM,IAAM9D,SAASqzC,EAAS/pC,EAAExF,EAAE,IAAM,MAE9IuvC,EAASxpC,EAAE1C,MAAQqoC,IACrBoE,EAAUnJ,MAAMrqB,aAAa,iBAAkBizB,EAASxpC,EAAE/F,IAExDuvC,EAAS50B,EAAEtX,MAAQqoC,KACrBoE,EAAUnJ,MAAMrqB,aAAa,eAAgBizB,EAAS50B,EAAE3a,GACpD8vC,EAAUlJ,QACZkJ,EAAUlJ,OAAOtqB,aAAa,eAAgBizB,EAAS50B,EAAE3a,GAG/D,CAEA,MA1MS,CACPywC,qBAEF,SAA8B54B,GAE5B,OADSA,EAAK3R,GACN2R,EAAK3R,IACX,IAAK,KACH,OAAO2pC,EACT,IAAK,KACH,OAAOG,EACT,IAAK,KACH,OAAOD,EACT,IAAK,KACH,OAAOE,EACT,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACH,OAAOT,EACT,IAAK,KACH,OAAOH,EAEb,EAqLF,CA9M0B,GA+M1B,SAASqB,wBACP9xC,KAAK+xC,UAAY,CAAC,EAClB/xC,KAAKgyC,aAAe,GACpBhyC,KAAKiyC,oBAAsB,CAC7B,CAqDA,SAASC,cAAe,CAwDxB,SAASzG,YAAYxyB,EAAMkN,EAAYV,GACrCzlB,KAAKqhB,YACLrhB,KAAK+uC,aAAa91B,EAAMkN,EAAYV,GACpCzlB,KAAKqhB,YACLrhB,KAAKytC,cAAcx0B,EAAMkN,EAAYV,GACrCzlB,KAAKqtC,eACP,CAYA,SAAS8E,iBAAkB,CAwJ3B,SAASC,gBAAiB,CAwE1B,SAASC,eAAgB,CAmEzB,SAASC,eAAgB,CAwFzB,SAAS1G,cAAc3yB,EAAMkN,EAAYV,GACvCzlB,KAAKq3B,UAAYlR,EAAWglB,aAAalyB,EAAKS,OAC9C1Z,KAAK8uC,YAAY71B,EAAMkN,EAAYV,GACnCzlB,KAAKuyC,WAAa,CAChBtzC,IAAK,EACLC,KAAM,EACNiN,MAAOnM,KAAKq3B,UAAUtb,EACtB6a,OAAQ52B,KAAKq3B,UAAUn2B,EAE3B,CAcA,SAAS4qC,cAAc7yB,EAAMkN,EAAYV,GACvCzlB,KAAK8uC,YAAY71B,EAAMkN,EAAYV,EACrC,CAYA,SAASqkB,aAAa7wB,EAAMkN,EAAYV,GACtCzlB,KAAKqhB,YACLrhB,KAAKiuC,iBACLjuC,KAAKq3B,UAAYlR,EAAWglB,aAAalyB,EAAKS,OAC9C1Z,KAAK+uC,aAAa91B,EAAMkN,EAAYV,GACpCzlB,KAAKwyC,YAAa,EAClBxyC,KAAKyyC,UAAW,EAChB,IAAI9c,EAAY31B,KAAKmmB,WAAWiR,cAAcp3B,KAAKq3B,WACnDr3B,KAAKq1B,MAAQr1B,KAAKmmB,WAAWmlB,gBAAgB5V,YAAYC,GACzD31B,KAAK0yC,aAAe,EACpB1yC,KAAKmmB,WAAWmlB,gBAAgBlW,SAASp1B,MACzCA,KAAK2yC,GAAK15B,EAAK05B,GAAKvxB,gBAAgB+F,QAAQnnB,KAAMiZ,EAAK05B,GAAI,EAAGxsB,EAAWuC,UAAW1oB,MAAQ,CAC1F4yC,cAAc,EAElB,CAkDA,SAAS/G,eAAe5yB,EAAMkN,EAAYV,GACxCzlB,KAAK2Y,OAASM,EAAKN,OACnB3Y,KAAK6yC,YAAa,EAClB7yC,KAAK0Y,gBAAiB,EACtB1Y,KAAK4lC,gBAAkB,GACvB5lC,KAAKkzB,SAAWlzB,KAAK2Y,OAASra,iBAAiB0B,KAAK2Y,OAAOza,QAAU,GAErE8B,KAAK8uC,YAAY71B,EAAMkN,EAAYV,GACnCzlB,KAAK2yC,GAAK15B,EAAK05B,GAAKvxB,gBAAgB+F,QAAQnnB,KAAMiZ,EAAK05B,GAAI,EAAGxsB,EAAWuC,UAAW1oB,MAAQ,CAC1F4yC,cAAc,EAElB,CAEA,SAASjH,eAAe1yB,EAAMkN,EAAYV,GACxCzlB,KAAK8yC,UAAY,GACjB9yC,KAAKg6B,WAAa,MAClBh6B,KAAK8uC,YAAY71B,EAAMkN,EAAYV,EACrC,CAmMA,SAASimB,gBAAgBzyB,EAAMkN,EAAYV,GAEzCzlB,KAAK4Z,OAAS,GAEd5Z,KAAK+yC,WAAa95B,EAAKW,OAEvB5Z,KAAKgzC,WAAa,GAElBhzC,KAAKizC,eAAiB,GAEtBjzC,KAAKkzC,UAAY,GAEjBlzC,KAAKmzC,kBAAoB,GAEzBnzC,KAAKozC,iBAAmB,GACxBpzC,KAAK8uC,YAAY71B,EAAMkN,EAAYV,GAGnCzlB,KAAK6oC,aAAe,EAEtB,CA8RA,SAASwK,cAAcC,EAAQC,GAC7BvzC,KAAKuzC,cAAgBA,EACrB,IAAIza,EAAgBl1B,SAAS,iBAa7B,GAZAk1B,EAAcpb,aAAa,OAAQ,UACnCob,EAAcpb,aAAa,8BAA+B,aAC1Dob,EAAcpb,aAAa,SAAU,wFACrCob,EAAcpb,aAAa,SAAU,MACrC41B,EAAOx2B,YAAYgc,IACnBA,EAAgBl1B,SAAS,kBACX8Z,aAAa,OAAQ,UACnCob,EAAcpb,aAAa,8BAA+B,QAC1Dob,EAAcpb,aAAa,SAAU,2CACrCob,EAAcpb,aAAa,SAAU,MACrC41B,EAAOx2B,YAAYgc,GACnB94B,KAAKwzC,aAAe1a,EACwB,MAAxCya,EAAcE,eAAe,GAAGhyC,EAAEL,GAAamyC,EAAcE,eAAe,GAAGhyC,EAAEsF,EAAG,CACtF,IAEI2sC,EAFAC,EAAU/vC,SAAS,WACvB0vC,EAAOx2B,YAAY62B,IAEnBD,EAAc9vC,SAAS,gBACX8Z,aAAa,KAAM,iBAC/Bi2B,EAAQ72B,YAAY42B,IACpBA,EAAc9vC,SAAS,gBACX8Z,aAAa,KAAM,MAC/Bi2B,EAAQ72B,YAAY42B,EACtB,CACF,CASA,SAASE,cAAcN,EAAQC,GAC7BvzC,KAAKuzC,cAAgBA,EACrB,IAAIza,EAAgBl1B,SAAS,iBAC7Bk1B,EAAcpb,aAAa,OAAQ,UACnCob,EAAcpb,aAAa,8BAA+B,QAC1Dob,EAAcpb,aAAa,SAAU,2CACrC41B,EAAOx2B,YAAYgc,GACnB94B,KAAKwzC,aAAe1a,CACtB,CAQA,SAAS+a,sBAAsBP,EAAQC,GAErCD,EAAO51B,aAAa,IAAK,SACzB41B,EAAO51B,aAAa,IAAK,SACzB41B,EAAO51B,aAAa,QAAS,QAC7B41B,EAAO51B,aAAa,SAAU,QAC9B1d,KAAKuzC,cAAgBA,EACrB,IAAIO,EAAiBlwC,SAAS,kBAC9B0vC,EAAOx2B,YAAYg3B,GACnB9zC,KAAK8zC,eAAiBA,CACxB,CA0BA,SAASC,gBAAgB7tB,EAAMqtB,GAC7BvzC,KAAKg0C,aAAc,EACnBh0C,KAAKuzC,cAAgBA,EACrBvzC,KAAKkmB,KAAOA,EACZlmB,KAAKob,MAAQ,EACf,CAsGA,SAAS64B,iBAAiBX,EAAQC,GAChCvzC,KAAKuzC,cAAgBA,EACrB,IAAIza,EAAgBl1B,SAAS,iBAC7Bk1B,EAAcpb,aAAa,OAAQ,UACnCob,EAAcpb,aAAa,8BAA+B,aAC1Dob,EAAcpb,aAAa,SAAU,wFACrCob,EAAcpb,aAAa,SAAU,MACrC41B,EAAOx2B,YAAYgc,GACnB,IAAIob,EAAsBtwC,SAAS,uBACnCswC,EAAoBx2B,aAAa,8BAA+B,QAChE41B,EAAOx2B,YAAYo3B,GACnBl0C,KAAKwzC,aAAeU,EACpB,IAAIC,EAAUvwC,SAAS,WACvBuwC,EAAQz2B,aAAa,OAAQ,SAC7Bw2B,EAAoBp3B,YAAYq3B,GAChCn0C,KAAKm0C,QAAUA,EACf,IAAIC,EAAUxwC,SAAS,WACvBwwC,EAAQ12B,aAAa,OAAQ,SAC7Bw2B,EAAoBp3B,YAAYs3B,GAChCp0C,KAAKo0C,QAAUA,EACf,IAAIC,EAAUzwC,SAAS,WACvBywC,EAAQ32B,aAAa,OAAQ,SAC7Bw2B,EAAoBp3B,YAAYu3B,GAChCr0C,KAAKq0C,QAAUA,CACjB,CAgBA,SAASC,mBAAmBhB,EAAQC,GAClCvzC,KAAKuzC,cAAgBA,EACrB,IAAIE,EAAiBzzC,KAAKuzC,cAAcE,eACpCS,EAAsBtwC,SAAS,wBAE/B6vC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,KACzRpB,KAAKm0C,QAAUn0C,KAAKu0C,aAAa,UAAWL,KAE1CT,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,KACzRpB,KAAKo0C,QAAUp0C,KAAKu0C,aAAa,UAAWL,KAE1CT,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,KACzRpB,KAAKq0C,QAAUr0C,KAAKu0C,aAAa,UAAWL,KAE1CT,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,GAAWqyC,EAAe,IAAIhyC,EAAEsF,GAAgC,IAA3B0sC,EAAe,IAAIhyC,EAAEL,KACzRpB,KAAKw0C,QAAUx0C,KAAKu0C,aAAa,UAAWL,KAE1Cl0C,KAAKm0C,SAAWn0C,KAAKo0C,SAAWp0C,KAAKq0C,SAAWr0C,KAAKw0C,WACvDN,EAAoBx2B,aAAa,8BAA+B,QAChE41B,EAAOx2B,YAAYo3B,GACnBA,EAAsBtwC,SAAS,yBAE7B6vC,EAAe,GAAGhyC,EAAEsF,GAA+B,IAA1B0sC,EAAe,GAAGhyC,EAAEL,GAAWqyC,EAAe,GAAGhyC,EAAEsF,GAA+B,IAA1B0sC,EAAe,GAAGhyC,EAAEL,GAAWqyC,EAAe,GAAGhyC,EAAEsF,GAA+B,IAA1B0sC,EAAe,GAAGhyC,EAAEL,GAAWqyC,EAAe,GAAGhyC,EAAEsF,GAA+B,IAA1B0sC,EAAe,GAAGhyC,EAAEL,GAAWqyC,EAAe,GAAGhyC,EAAEsF,GAA+B,IAA1B0sC,EAAe,GAAGhyC,EAAEL,KAC/Q8yC,EAAoBx2B,aAAa,8BAA+B,QAChE41B,EAAOx2B,YAAYo3B,GACnBl0C,KAAKy0C,gBAAkBz0C,KAAKu0C,aAAa,UAAWL,GACpDl0C,KAAK00C,gBAAkB10C,KAAKu0C,aAAa,UAAWL,GACpDl0C,KAAK20C,gBAAkB30C,KAAKu0C,aAAa,UAAWL,GAExD,CA8DA,SAASU,oBAAoBtB,EAAQC,GACnC,IAAI5N,EAAa4N,EAAcjvC,UAAU6hB,WAAW+e,aAAaS,WACjE2N,EAAO51B,aAAa,IAAKioB,EAAWz7B,GACpCopC,EAAO51B,aAAa,IAAKioB,EAAWx7B,GACpCmpC,EAAO51B,aAAa,QAASioB,EAAWx5B,OACxCmnC,EAAO51B,aAAa,SAAUioB,EAAW/O,QACzC52B,KAAKuzC,cAAgBA,EACrB,IAAIO,EAAiBlwC,SAAS,kBAC9BkwC,EAAep2B,aAAa,KAAM,eAClCo2B,EAAep2B,aAAa,SAAU,iBACtCo2B,EAAep2B,aAAa,eAAgB,KAC5C1d,KAAK8zC,eAAiBA,EACtBR,EAAOx2B,YAAYg3B,GACnB,IAAIe,EAAWjxC,SAAS,YACxBixC,EAASn3B,aAAa,KAAM,MAC5Bm3B,EAASn3B,aAAa,KAAM,KAC5Bm3B,EAASn3B,aAAa,KAAM,iBAC5Bm3B,EAASn3B,aAAa,SAAU,iBAChC1d,KAAK60C,SAAWA,EAChBvB,EAAOx2B,YAAY+3B,GACnB,IAAIC,EAAUlxC,SAAS,WACvBkxC,EAAQp3B,aAAa,cAAe,WACpCo3B,EAAQp3B,aAAa,gBAAiB,KACtCo3B,EAAQp3B,aAAa,SAAU,iBAC/B1d,KAAK80C,QAAUA,EACfxB,EAAOx2B,YAAYg4B,GACnB,IAAIC,EAAcnxC,SAAS,eAC3BmxC,EAAYr3B,aAAa,KAAM,iBAC/Bq3B,EAAYr3B,aAAa,MAAO,iBAChCq3B,EAAYr3B,aAAa,WAAY,MACrCq3B,EAAYr3B,aAAa,SAAU,iBACnC41B,EAAOx2B,YAAYi4B,GACnB,IAEIrB,EAFAC,EAAU/vC,SAAS,WACvB0vC,EAAOx2B,YAAY62B,GAEnBD,EAAc9vC,SAAS,eACvB+vC,EAAQ72B,YAAY42B,IACpBA,EAAc9vC,SAAS,gBACX8Z,aAAa,KAAM,iBAC/B1d,KAAK0zC,YAAcA,EACnB1zC,KAAK2zC,QAAUA,EACf3zC,KAAKg1C,mBAAoB,EACzBrB,EAAQ72B,YAAY42B,EACtB,CAp9CA5B,sBAAsBrvC,UAAY,CAChCwyC,qBAAsB,SAAUlH,GAC9B,IAAIhwC,EACFE,EAAM8vC,EAAW7vC,OACfwO,EAAM,IACV,IAAK3O,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB2O,GAAOqhC,EAAWhwC,GAAGyJ,UAAUkF,IAAM,IAEvC,IAAIwoC,EAAWl1C,KAAK+xC,UAAUrlC,GAU9B,OATKwoC,IACHA,EAAW,CACTnH,WAAY,GAAG9vB,OAAO8vB,GACtBf,eAAgB,IAAIjoC,OACpBN,MAAM,GAERzE,KAAK+xC,UAAUrlC,GAAOwoC,EACtBl1C,KAAKgyC,aAAahvC,KAAKkyC,IAElBA,CACT,EACAC,gBAAiB,SAAUD,EAAUpI,GAInC,IAHA,IAWMtnC,EAXFzH,EAAI,EACNE,EAAMi3C,EAASnH,WAAW7vC,OAC1BuG,EAAOqoC,EACF/uC,EAAIE,IAAQ6uC,GAAc,CAC/B,GAAIoI,EAASnH,WAAWhwC,GAAGyJ,UAAU8sB,OAAO7vB,KAAM,CAChDA,GAAO,EACP,KACF,CACA1G,GAAK,CACP,CACA,GAAI0G,EAGF,IADAywC,EAASlI,eAAeznC,QACnBxH,EAAIE,EAAM,EAAGF,GAAK,EAAGA,GAAK,EAC7ByH,EAAQ0vC,EAASnH,WAAWhwC,GAAGyJ,UAAU8sB,OAAOlzB,EAAEoE,MAClD0vC,EAASlI,eAAexlC,UAAUhC,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,IAAKA,EAAM,IAAKA,EAAM,IAAKA,EAAM,IAAKA,EAAM,IAAKA,EAAM,KAGvM0vC,EAASzwC,KAAOA,CAClB,EACA2wC,iBAAkB,SAAUtI,GAC1B,IAAI/uC,EACFE,EAAM+B,KAAKgyC,aAAa9zC,OAC1B,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKm1C,gBAAgBn1C,KAAKgyC,aAAaj0C,GAAI+uC,EAE/C,EACAuI,UAAW,WACT,MAAO,IAAMr1C,KAAKiyC,qBACpB,GAGFC,YAAYzvC,UAAY,CACtB6yC,WAAY,WACV,IAAKt1C,KAAKiZ,KAAKI,QACb,OAAO,EAIT,IAFA,IAAItb,EAAI,EACNE,EAAM+B,KAAKiZ,KAAKM,gBAAgBrb,OAC3BH,EAAIE,GAAK,CACd,GAA0C,MAAtC+B,KAAKiZ,KAAKM,gBAAgBxb,GAAG+G,OAAoD,IAApC9E,KAAKiZ,KAAKM,gBAAgBxb,GAAG0d,GAC5E,OAAO,EAET1d,GAAK,CACP,CACA,OAAO,CACT,EACA+sC,gBAAiB,WACf9qC,KAAKu1C,eAAiBC,yBAAyBx1C,MAC3CA,KAAKiZ,KAAKI,SAAWrZ,KAAKi9B,aAC5Bj9B,KAAKu1C,eAAeE,sBAAsBz1C,KAAKi9B,aAEjD,IAAIyY,EAAmBC,2BAA2BC,uBAAuB51C,KAAMA,KAAKu1C,gBACpFv1C,KAAKu1C,eAAeM,yBAAyBH,GACxB,IAAjB11C,KAAKiZ,KAAK3R,IAAYtH,KAAKiZ,KAAK4xB,GAClC7qC,KAAK81C,cAAgBC,wBAAwB/1C,MACnB,IAAjBA,KAAKiZ,KAAK3R,IACnBtH,KAAKu1C,eAAeS,eAAiBC,yBAAyBj2C,KAAK+yC,WAAY/yC,KAAKkzC,UAAWlzC,KAAKu1C,gBACpGv1C,KAAKu1C,eAAeW,QAAUl2C,KAAKu1C,eAAeS,gBACxB,IAAjBh2C,KAAKiZ,KAAK3R,KACnBtH,KAAKu1C,eAAeY,cAAgBC,wBAAwBp2C,MAC5DA,KAAKu1C,eAAezU,KAAO9gC,KAAKu1C,eAAeY,cAEnD,EACAE,aAAc,WACZ,IAAIC,EAAiB1xC,aAAa5E,KAAKiZ,KAAKs9B,KACjCv2C,KAAKovC,aAAepvC,KAAKilC,cAC/BlmC,MAAM,kBAAoBu3C,CACjC,EACAvH,aAAc,SAAU91B,EAAMkN,EAAYV,GACxCzlB,KAAKmmB,WAAaA,EAClBnmB,KAAKylB,KAAOA,EACZzlB,KAAKiZ,KAAOA,EACZjZ,KAAKumC,QAAUxlC,kBAGVf,KAAKiZ,KAAKu9B,KACbx2C,KAAKiZ,KAAKu9B,GAAK,GAGjBx2C,KAAKy2C,eAAiB,IAAIC,eAAe12C,KAAKiZ,KAAMjZ,KAAMA,KAAKoE,kBACjE,EACAuyC,QAAS,WACP,OAAO32C,KAAKJ,IACd,EACAgvC,iBAAkB,WAAa,GASjCnD,YAAYhpC,UAAU+pC,aAAe,SAAUxD,GAC7ChpC,KAAKutC,kBAAkBvE,GAAK,EAC9B,EACAyC,YAAYhpC,UAAU6pC,YAAc,WAAa,EACjDb,YAAYhpC,UAAUgqC,eAAiB,WACrC,OAAO,IACT,EACAhB,YAAYhpC,UAAUw1B,QAAU,WAAa,EAC7CwT,YAAYhpC,UAAUmsC,iBAAmB,WAAa,EACtDnD,YAAYhpC,UAAUmqC,KAAO,WAAa,EAC1C36B,gBAAgB,CAACigC,YAAa3K,iBAAkBF,iBAAkBC,cAAemE,aAEjF0G,eAAe1vC,UAAY,CACzBusC,oBAAqB,WACnBhvC,KAAKilC,aAAerhC,SAAS,IAC/B,EACAqrC,wBAAyB,WACvBjvC,KAAK42C,aAAehzC,SAAS,KAC7B5D,KAAK62C,mBAAqB72C,KAAKilC,aAC/BjlC,KAAKmnC,cAAgBnnC,KAAKilC,aAC1BjlC,KAAK82C,cAAe,EACpB,IAEIle,EAAOC,EAAKke,EAFZC,EAAqB,KAGzB,GAAIh3C,KAAKiZ,KAAKG,IACZ,GAAoB,GAAhBpZ,KAAKiZ,KAAKG,IAA2B,GAAhBpZ,KAAKiZ,KAAKG,GAAS,CAC1C,IAAI69B,EAASrzC,SAAS,QACtBqzC,EAAOv5B,aAAa,KAAM1d,KAAKumC,SAC/B0Q,EAAOv5B,aAAa,YAA6B,GAAhB1d,KAAKiZ,KAAKG,GAAU,YAAc,SACnE69B,EAAOn6B,YAAY9c,KAAKilC,cACxB+R,EAAqBC,EACrBj3C,KAAKmmB,WAAWjH,KAAKpC,YAAYm6B,GAE5Bxe,eAAeC,UAA4B,GAAhB14B,KAAKiZ,KAAKG,KACxC69B,EAAOv5B,aAAa,YAAa,aACjCkb,EAAQ73B,kBACR83B,EAAMF,eAAeue,aAAate,GAClC54B,KAAKmmB,WAAWjH,KAAKpC,YAAY+b,GACjCA,EAAI/b,YAAY6b,eAAewe,iCAC/BJ,EAAKnzC,SAAS,MACXkZ,YAAY9c,KAAKilC,cACpB+R,EAAqBD,EACrBE,EAAOn6B,YAAYi6B,GACnBA,EAAGr5B,aAAa,SAAU,OAASvhB,aAAe,IAAMy8B,EAAQ,KAEpE,MAAO,GAAoB,GAAhB54B,KAAKiZ,KAAKG,GAAS,CAC5B,IAAIg+B,EAAYxzC,SAAS,QACzBwzC,EAAU15B,aAAa,KAAM1d,KAAKumC,SAClC6Q,EAAU15B,aAAa,YAAa,SACpC,IAAI25B,EAAczzC,SAAS,KAC3BwzC,EAAUt6B,YAAYu6B,GACtBze,EAAQ73B,kBACR83B,EAAMF,eAAeue,aAAate,GAUlC,IAAI0e,EAAQ1zC,SAAS,uBACrB0zC,EAAM55B,aAAa,KAAM,iBACzBmb,EAAI/b,YAAYw6B,GAChB,IAAIC,EAAS3zC,SAAS,WACtB2zC,EAAO75B,aAAa,OAAQ,SAC5B65B,EAAO75B,aAAa,cAAe,WACnC45B,EAAMx6B,YAAYy6B,GAElBv3C,KAAKmmB,WAAWjH,KAAKpC,YAAY+b,GACjC,IAAI2e,EAAY5zC,SAAS,QACzB4zC,EAAU95B,aAAa,QAAS1d,KAAKylB,KAAKxM,KAAK8C,GAC/Cy7B,EAAU95B,aAAa,SAAU1d,KAAKylB,KAAKxM,KAAK/X,GAChDs2C,EAAU95B,aAAa,IAAK,KAC5B85B,EAAU95B,aAAa,IAAK,KAC5B85B,EAAU95B,aAAa,OAAQ,WAC/B85B,EAAU95B,aAAa,UAAW,KAClC25B,EAAY35B,aAAa,SAAU,OAASvhB,aAAe,IAAMy8B,EAAQ,KACzEye,EAAYv6B,YAAY06B,GACxBH,EAAYv6B,YAAY9c,KAAKilC,cAC7B+R,EAAqBK,EAChB5e,eAAeC,WAClB0e,EAAU15B,aAAa,YAAa,aACpCmb,EAAI/b,YAAY6b,eAAewe,gCAC/BJ,EAAKnzC,SAAS,KACdyzC,EAAYv6B,YAAY06B,GACxBT,EAAGj6B,YAAY9c,KAAKilC,cACpB+R,EAAqBD,EACrBM,EAAYv6B,YAAYi6B,IAE1B/2C,KAAKmmB,WAAWjH,KAAKpC,YAAYs6B,EACnC,OACSp3C,KAAKiZ,KAAKE,IACnBnZ,KAAK42C,aAAa95B,YAAY9c,KAAKilC,cACnC+R,EAAqBh3C,KAAK42C,aAC1B52C,KAAKovC,YAAcpvC,KAAK42C,cAExB52C,KAAKovC,YAAcpvC,KAAKilC,aAS1B,GAPIjlC,KAAKiZ,KAAKw+B,IACZz3C,KAAKilC,aAAavnB,aAAa,KAAM1d,KAAKiZ,KAAKw+B,IAE7Cz3C,KAAKiZ,KAAKwC,IACZzb,KAAKilC,aAAavnB,aAAa,QAAS1d,KAAKiZ,KAAKwC,IAG/B,IAAjBzb,KAAKiZ,KAAK3R,KAAatH,KAAKiZ,KAAK6uB,GAAI,CACvC,IAAI4P,EAAK9zC,SAAS,YACdgH,EAAKhH,SAAS,QAClBgH,EAAG8S,aAAa,IAAK,SAAW1d,KAAKiZ,KAAK8C,EAArB,OAAuC/b,KAAKiZ,KAAK8C,EAAI,IAAM/b,KAAKiZ,KAAK/X,EAAI,OAASlB,KAAKiZ,KAAK/X,EAAI,KACrH,IAAIy2C,EAAS52C,kBAIb,GAHA22C,EAAGh6B,aAAa,KAAMi6B,GACtBD,EAAG56B,YAAYlS,GACf5K,KAAKmmB,WAAWjH,KAAKpC,YAAY46B,GAC7B13C,KAAKs1C,aAAc,CACrB,IAAIsC,EAAUh0C,SAAS,KACvBg0C,EAAQl6B,aAAa,YAAa,OAASvhB,aAAe,IAAMw7C,EAAS,KACzEC,EAAQ96B,YAAY9c,KAAKilC,cACzBjlC,KAAK62C,mBAAqBe,EACtBZ,EACFA,EAAmBl6B,YAAY9c,KAAK62C,oBAEpC72C,KAAKovC,YAAcpvC,KAAK62C,kBAE5B,MACE72C,KAAKilC,aAAavnB,aAAa,YAAa,OAASvhB,aAAe,IAAMw7C,EAAS,IAEvF,CACqB,IAAjB33C,KAAKiZ,KAAKs9B,IACZv2C,KAAKq2C,cAET,EACAhH,cAAe,WACTrvC,KAAKgtC,eAAeU,SACtB1tC,KAAK62C,mBAAmBn5B,aAAa,YAAa1d,KAAKgtC,eAAe5kB,IAAItc,WAExE9L,KAAKgtC,eAAeW,QACtB3tC,KAAK62C,mBAAmBn5B,aAAa,UAAW1d,KAAKgtC,eAAeC,MAAM9lC,EAAE/F,EAEhF,EACAouC,mBAAoB,WAClBxvC,KAAKilC,aAAe,KACpBjlC,KAAK42C,aAAe,KACpB52C,KAAKi9B,YAAYhF,SACnB,EACAwU,eAAgB,WACd,OAAIzsC,KAAKiZ,KAAK6uB,GACL,KAEF9nC,KAAKovC,WACd,EACAF,2BAA4B,WAC1BlvC,KAAKi9B,YAAc,IAAI8I,YAAY/lC,KAAKiZ,KAAMjZ,KAAMA,KAAKmmB,YACzDnmB,KAAK63C,yBAA2B,IAAIC,WAAW93C,KACjD,EACAosC,SAAU,SAAU/zB,GACbrY,KAAK42C,cAGV52C,KAAK42C,aAAal5B,aAAa,OAAQ,OAASvhB,aAAe,IAAMkc,EAAK,IAC5E,GAGF+5B,cAAc3vC,UAAY,CACxBs1C,oBAAqB,SAAU9+B,GAC7B,IAAIlb,EACFE,EAAM+B,KAAKizC,eAAe/0C,OAC5B,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKizC,eAAel1C,GAAGqtB,SAASnS,EAEpC,EACA++B,2BAA4B,SAAU/+B,GAGpC,IAFA,IACEhb,EAAM+B,KAAKizC,eAAe/0C,OADpB,EAEGD,GACT,GAAI+B,KAAKizC,eAHH,GAGqBgF,oBAAoBh/B,GAC7C,OAAO,EAGX,OAAO,CACT,EACAi/B,gBAAiB,WACf,GAAKl4C,KAAKizC,eAAe/0C,OAAzB,CAGA,IAAIH,EACFE,EAAM+B,KAAK4Z,OAAO1b,OACpB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAK4Z,OAAO7b,GAAGgmB,GAAGxe,QAGpB,IAAKxH,GADLE,EAAM+B,KAAKizC,eAAe/0C,QACX,EAAGH,GAAK,EAAGA,GAAK,EAC7BiC,KAAKizC,eAAel1C,GAAGkyB,cAAcjwB,KAAKumB,cAR5C,CAUF,EACA4xB,OAAQ,CACN,EAAK,OACL,EAAK,QACL,EAAK,UAEPC,OAAQ,CACN,EAAK,QACL,EAAK,QACL,EAAK,SAEPC,uBAAwB,SAAUnyB,GAIhC,IAHA,IAAIgN,EAAWlzB,KAAKmzC,kBAChBp1C,EAAI,EACNE,EAAMi1B,EAASh1B,OACVH,EAAIE,GAAK,CACd,GAAIi1B,EAASn1B,GAAGmoB,OAASA,EACvB,OAAOgN,EAASn1B,GAAGurB,IAErBvrB,GAAK,CACP,CACA,OAAO,CACT,EACAu6C,oBAAqB,SAAUpyB,EAAMoD,GAGnC,IAFA,IAAI4J,EAAWlzB,KAAKmzC,kBAChBp1C,EAAIm1B,EAASh1B,OACVH,GAEL,GAAIm1B,EADJn1B,GAAK,GACWmoB,OAASA,EAEvB,YADAgN,EAASn1B,GAAGurB,IAAMA,GAItB4J,EAASlwB,KAAK,IAAI0kC,iBAAiBxhB,EAAMoD,GAC3C,EACAkjB,aAAc,SAAUxD,GACtBhpC,KAAKwuC,uBAAuBxF,GAC5BhpC,KAAKutC,kBAAkBvE,EAAKhpC,KAAKkuC,UACnC,GAGFmE,aAAa5vC,UAAUqsC,YAAc,SAAU71B,EAAMkN,EAAYV,GAC/DzlB,KAAK26B,oBAAqB,EAC1B36B,KAAKqhB,YACLrhB,KAAK+uC,aAAa91B,EAAMkN,EAAYV,GACpCzlB,KAAKujC,aAAe,IAAI/H,aAAax7B,KAAMiZ,EAAKtX,EAAG3B,KAAKoE,mBACxDpE,KAAKu4C,aAAe,IAAIze,qBAAqB7gB,EAAKtX,EAAG3B,KAAKg6B,WAAYh6B,MACtEA,KAAKytC,cAAcx0B,EAAMkN,EAAYV,GACrCzlB,KAAKqtC,gBACLrtC,KAAKiuC,iBACLjuC,KAAKgvC,sBACLhvC,KAAKivC,0BACLjvC,KAAKkvC,6BACLlvC,KAAKmvC,gBACLnvC,KAAK4sC,OACL5sC,KAAKu4C,aAAavb,iBAAiBh9B,KAAKoE,kBAC1C,EACAiuC,aAAa5vC,UAAU+pC,aAAe,SAAUxD,GAC9ChpC,KAAKyE,MAAO,EACZzE,KAAKwuC,uBAAuBxF,GAC5BhpC,KAAKutC,kBAAkBvE,EAAKhpC,KAAKkuC,YAC7BluC,KAAKujC,aAAa9+B,MAAQzE,KAAKujC,aAAahd,iBAC9CvmB,KAAKw4C,eACLx4C,KAAKujC,aAAahd,eAAgB,EAClCvmB,KAAKujC,aAAa9+B,MAAO,EAE7B,EACA4tC,aAAa5vC,UAAUg2C,gBAAkB,SAAU3a,EAAclkB,GAC/D,IAAI9S,EAES4tB,EADX3b,EAAOa,EAAO1b,OAEZw6C,EAAW,GACf,IAAK5xC,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzB4tB,EAAY9a,EAAO9S,GAAGoT,GAAGnT,EACzB2xC,GAAYjkB,iBAAiBC,EAAWA,EAAU32B,EAAEG,QAAQ,EAAM4/B,GAEpE,OAAO4a,CACT,EACArG,aAAa5vC,UAAUggC,mBAAqB,SAAUC,EAAS5hB,GAC7D9gB,KAAKujC,aAAad,mBAAmBC,EAAS5hB,EAChD,EACAuxB,aAAa5vC,UAAUqgC,cAAgB,SAAUC,GAC/C/iC,KAAKujC,aAAaT,cAAcC,EAClC,EACAsP,aAAa5vC,UAAUugC,mBAAqB,SAAU2V,GACpD34C,KAAKujC,aAAaP,mBAAmB2V,EACvC,EACAtG,aAAa5vC,UAAUm2C,4BAA8B,SAAU99B,EAAcgjB,EAAc+a,EAAYzb,EAAMC,GAK3G,OAJIviB,EAAauhB,IACfyB,EAAa12B,UAAU0T,EAAauhB,GAAG,GAAIvhB,EAAauhB,GAAG,GAAKvhB,EAAa+gB,OAAQ,GAEvFiC,EAAa12B,UAAU,GAAI0T,EAAaqhB,GAAI,GACpCrhB,EAAahU,GACnB,KAAK,EACHg3B,EAAa12B,UAAU0T,EAAakhB,eAAiBlhB,EAAaghB,SAAWhhB,EAAaohB,WAAW2c,IAAc,EAAG,GACtH,MACF,KAAK,EACH/a,EAAa12B,UAAU0T,EAAakhB,eAAiBlhB,EAAaghB,SAAWhhB,EAAaohB,WAAW2c,IAAe,EAAG,EAAG,GAG9H/a,EAAa12B,UAAUg2B,EAAMC,EAAM,EACrC,EACAgV,aAAa5vC,UAAUq2C,WAAa,SAAUC,GAC5C,MAAO,OAASl8C,KAAKC,MAAqB,IAAfi8C,EAAU,IAAY,IAAMl8C,KAAKC,MAAqB,IAAfi8C,EAAU,IAAY,IAAMl8C,KAAKC,MAAqB,IAAfi8C,EAAU,IAAY,GACjI,EACA1G,aAAa5vC,UAAUu2C,UAAY,IAAIzd,YACvC8W,aAAa5vC,UAAUw1B,QAAU,WAAa,EAE9ChmB,gBAAgB,CAACigC,YAAa3K,iBAAkBF,iBAAkBC,aAAcG,sBAAuB6K,cACvGA,aAAa7vC,UAAUqsC,YAAc,SAAU71B,EAAMkN,EAAYV,GAC/DzlB,KAAKqhB,YACLrhB,KAAK+uC,aAAa91B,EAAMkN,EAAYV,GACpCzlB,KAAKytC,cAAcx0B,EAAMkN,EAAYV,GACrCzlB,KAAKiuC,iBACLjuC,KAAKqtC,gBACLrtC,KAAKgvC,sBACLhvC,KAAKivC,0BACLjvC,KAAKkvC,8BACDlvC,KAAKiZ,KAAK4xB,IAAO1kB,EAAWkf,iBAC9BrlC,KAAK+pC,gBAEP/pC,KAAK4sC,MACP,EAcA0F,aAAa7vC,UAAU+pC,aAAe,SAAUxD,GAI9C,GAHAhpC,KAAKyE,MAAO,EACZzE,KAAKwuC,uBAAuBxF,GAC5BhpC,KAAKutC,kBAAkBvE,EAAKhpC,KAAKkuC,WAC5BluC,KAAKkuC,WAAcluC,KAAKiZ,KAAK4xB,GAAlC,CAGA,GAAK7qC,KAAK2yC,GAAGC,aAOX5yC,KAAK0lB,cAAgBsjB,EAAMhpC,KAAKiZ,KAAKu9B,OAPZ,CACzB,IAAIyC,EAAej5C,KAAK2yC,GAAGvxC,EACvB63C,IAAiBj5C,KAAKiZ,KAAKsb,KAC7B0kB,EAAej5C,KAAKiZ,KAAKsb,GAAK,GAEhCv0B,KAAK0lB,cAAgBuzB,CACvB,CAGA,IAAIl7C,EACFE,EAAM+B,KAAKkzB,SAASh1B,OAKtB,IAJK8B,KAAK0Y,gBACR1Y,KAAK+oC,YAAY/oC,KAAK0lB,eAGnB3nB,EAAIE,EAAM,EAAGF,GAAK,EAAGA,GAAK,GACzBiC,KAAK0Y,gBAAkB1Y,KAAKkzB,SAASn1B,MACvCiC,KAAKkzB,SAASn1B,GAAGyuC,aAAaxsC,KAAK0lB,cAAgB1lB,KAAK2Y,OAAO5a,GAAGipB,IAC9DhnB,KAAKkzB,SAASn1B,GAAG0G,OACnBzE,KAAKyE,MAAO,GApBlB,CAwBF,EACA6tC,aAAa7vC,UAAU6sC,mBAAqB,WAC1C,IAAIvxC,EACFE,EAAM+B,KAAK2Y,OAAOza,OACpB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,GACpBiC,KAAK0Y,gBAAkB1Y,KAAKkzB,SAASn1B,KACvCiC,KAAKkzB,SAASn1B,GAAGuuC,aAGvB,EACAgG,aAAa7vC,UAAUy2C,YAAc,SAAUC,GAC7Cn5C,KAAKkzB,SAAWimB,CAClB,EACA7G,aAAa7vC,UAAU22C,YAAc,WACnC,OAAOp5C,KAAKkzB,QACd,EACAof,aAAa7vC,UAAU42C,gBAAkB,WACvC,IAAIt7C,EACFE,EAAM+B,KAAK2Y,OAAOza,OACpB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACpBiC,KAAKkzB,SAASn1B,IAChBiC,KAAKkzB,SAASn1B,GAAGk6B,SAGvB,EACAqa,aAAa7vC,UAAUw1B,QAAU,WAC/Bj4B,KAAKq5C,kBACLr5C,KAAKwvC,oBACP,EAWAv9B,gBAAgB,CAACigC,YAAa3K,iBAAkB4K,eAAgB9K,iBAAkBC,aAAcG,sBAAuBmE,eACvHA,cAAcnpC,UAAU0sC,cAAgB,WACtC,IAAIxZ,EAAY31B,KAAKmmB,WAAWiR,cAAcp3B,KAAKq3B,WACnDr3B,KAAKuvC,UAAY3rC,SAAS,SAC1B5D,KAAKuvC,UAAU7xB,aAAa,QAAS1d,KAAKq3B,UAAUtb,EAAI,MACxD/b,KAAKuvC,UAAU7xB,aAAa,SAAU1d,KAAKq3B,UAAUn2B,EAAI,MACzDlB,KAAKuvC,UAAU7xB,aAAa,sBAAuB1d,KAAKq3B,UAAUiiB,IAAMt5C,KAAKmmB,WAAW+e,aAAaE,0BACrGplC,KAAKuvC,UAAUhX,eAAe,+BAAgC,OAAQ5C,GACtE31B,KAAKilC,aAAanoB,YAAY9c,KAAKuvC,UACrC,EACA3D,cAAcnpC,UAAUmsC,iBAAmB,WACzC,OAAO5uC,KAAKuyC,UACd,EAIAtgC,gBAAgB,CAAC25B,eAAgBE,eACjCA,cAAcrpC,UAAU0sC,cAAgB,WACtC,IAAIjJ,EAAOtiC,SAAS,QAIpBsiC,EAAKxoB,aAAa,QAAS1d,KAAKiZ,KAAK+hB,IACrCkL,EAAKxoB,aAAa,SAAU1d,KAAKiZ,KAAK8K,IACtCmiB,EAAKxoB,aAAa,OAAQ1d,KAAKiZ,KAAKiH,IACpClgB,KAAKilC,aAAanoB,YAAYopB,EAChC,EAgBA4D,aAAarnC,UAAU+pC,aAAe,SAAUxD,GAG9C,GAFAhpC,KAAKwuC,uBAAuBxF,GAAK,GACjChpC,KAAKutC,kBAAkBvE,GAAK,GACvBhpC,KAAK2yC,GAAGC,aAIX5yC,KAAK0yC,aAAe1J,EAAMhpC,KAAKiZ,KAAKu9B,OAJX,CACzB,IAAIyC,EAAej5C,KAAK2yC,GAAGvxC,EAC3BpB,KAAK0yC,aAAeuG,CACtB,CAGF,EACAhnC,gBAAgB,CAACu1B,kBAAmB0K,YAAa5K,cAAewC,cAChEA,aAAarnC,UAAU6pC,YAAc,WAC/BtsC,KAAKkuC,WAAaluC,KAAKyyC,WACpBzyC,KAAKwyC,aAIExyC,KAAKq1B,MAAMW,WAAan5B,KAAKQ,IAAI2C,KAAK0yC,aAAe1yC,KAAKmmB,WAAWuC,UAAY1oB,KAAKq1B,MAAMU,QAAU,KAChH/1B,KAAKq1B,MAAMU,KAAK/1B,KAAK0yC,aAAe1yC,KAAKmmB,WAAWuC,YAJpD1oB,KAAKq1B,MAAMS,OACX91B,KAAKq1B,MAAMU,KAAK/1B,KAAK0yC,aAAe1yC,KAAKmmB,WAAWuC,WACpD1oB,KAAKwyC,YAAa,GAKxB,EACA1I,aAAarnC,UAAUoqC,KAAO,WAE9B,EACA/C,aAAarnC,UAAUmqC,KAAO,WAC5B5sC,KAAKq1B,MAAMC,QACXt1B,KAAKwyC,YAAa,CACpB,EACA1I,aAAarnC,UAAU6yB,MAAQ,WAC7Bt1B,KAAKq1B,MAAMC,QACXt1B,KAAKwyC,YAAa,EAClBxyC,KAAKyyC,UAAW,CAClB,EACA3I,aAAarnC,UAAU8yB,OAAS,WAC9Bv1B,KAAKyyC,UAAW,CAClB,EACA3I,aAAarnC,UAAU+yB,QAAU,SAAUC,GACzCz1B,KAAKq1B,MAAMY,KAAKR,EAClB,EACAqU,aAAarnC,UAAU+zB,OAAS,SAAU+iB,GACxCv5C,KAAKq1B,MAAMmB,OAAO+iB,EACpB,EACAzP,aAAarnC,UAAUgqC,eAAiB,WACtC,OAAO,IACT,EACA3C,aAAarnC,UAAUw1B,QAAU,WAAa,EAC9C6R,aAAarnC,UAAUmsC,iBAAmB,WAAa,EACvD9E,aAAarnC,UAAUqoC,gBAAkB,WAAa,EAatD74B,gBAAgB,CAACoyB,YAAaiO,aAAcH,gBAAiBtG,gBAM7D55B,gBAAgB,CAACigC,YAAa3K,iBAAkB4K,eAAgB9K,iBAAkBC,aAAcG,qBAAsB4K,cAAe1G,gBACrIA,eAAelpC,UAAU0sC,cAAgB,WACnCnvC,KAAKiZ,KAAKY,cAAgB7Z,KAAKmmB,WAAWtN,YAAYqC,QACxDlb,KAAKw5C,cAAgB51C,SAAS,QAElC,EACA+nC,eAAelpC,UAAUg3C,kBAAoB,SAAUC,GAKrD,IAJA,IAAI37C,EAAI,EACNE,EAAMy7C,EAAUx7C,OACdy7C,EAAe,GACjBC,EAAqB,GAChB77C,EAAIE,GACLy7C,EAAU37C,KAAO6P,OAAOC,aAAa,KAAO6rC,EAAU37C,KAAO6P,OAAOC,aAAa,IACnF8rC,EAAa32C,KAAK42C,GAClBA,EAAqB,IAErBA,GAAsBF,EAAU37C,GAElCA,GAAK,EAGP,OADA47C,EAAa32C,KAAK42C,GACXD,CACT,EACAhO,eAAelpC,UAAU+1C,aAAe,WACtC,IAAIz6C,EAAGE,EACH6c,EAAe9a,KAAKujC,aAAa3H,YACrC57B,KAAK06B,gBAAkBp8B,iBAAiBwc,EAAeA,EAAa9T,EAAE9I,OAAS,GAC3E4c,EAAamgB,GACfj7B,KAAKilC,aAAavnB,aAAa,OAAQ1d,KAAK84C,WAAWh+B,EAAamgB,KAEpEj7B,KAAKilC,aAAavnB,aAAa,OAAQ,iBAErC5C,EAAaoF,KACflgB,KAAKilC,aAAavnB,aAAa,SAAU1d,KAAK84C,WAAWh+B,EAAaoF,KACtElgB,KAAKilC,aAAavnB,aAAa,eAAgB5C,EAAakgB,KAE9Dh7B,KAAKilC,aAAavnB,aAAa,YAAa5C,EAAa4hB,WACzD,IAAIlf,EAAWxd,KAAKmmB,WAAWtN,YAAY4H,cAAc3F,EAAatZ,GACtE,GAAIgc,EAASO,OACX/d,KAAKilC,aAAavnB,aAAa,QAASF,EAASO,YAC5C,CACL/d,KAAKilC,aAAavnB,aAAa,cAAeF,EAASG,SACvD,IAAIE,EAAU/C,EAAa+C,QACzBD,EAAS9C,EAAa8C,OACxB5d,KAAKilC,aAAavnB,aAAa,aAAcE,GAC7C5d,KAAKilC,aAAavnB,aAAa,cAAeG,EAChD,CACA7d,KAAKilC,aAAavnB,aAAa,aAAc5C,EAAanZ,GAC1D,IAGIk4C,EAHA5b,EAAUnjB,EAAa9T,GAAK,GAC5B8yC,IAAe95C,KAAKmmB,WAAWtN,YAAYqC,MAC/Cjd,EAAMggC,EAAQ//B,OAEd,IACI0b,EADAkkB,EAAe99B,KAAK+9B,QAEtB2a,EAAW,GACX7+B,EAAc7Z,KAAKiZ,KAAKY,YACtBujB,EAAO,EACTC,EAAO,EACPiB,GAAY,EACVsD,EAAiB9mB,EAAakX,GAAK,IAAOlX,EAAa4hB,UAC3D,IAAI7iB,GAAgBigC,GAAeh/B,EAAarU,GA2BzC,CACL,IACI2O,EAAWgsB,EADX2Y,EAAoB/5C,KAAK8yC,UAAU50C,OAEvC,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACnB+7C,GAAejgC,GAAqB,IAAN9b,IACjC87C,EAAQE,EAAoBh8C,EAAIiC,KAAK8yC,UAAU/0C,GAAK6F,SAASk2C,EAAa,OAAS,QAC/EC,GAAqBh8C,IACvB87C,EAAMn8B,aAAa,iBAAkB,QACrCm8B,EAAMn8B,aAAa,kBAAmB,SACtCm8B,EAAMn8B,aAAa,oBAAqB,KACxC1d,KAAK8yC,UAAU/0C,GAAK87C,EACpB75C,KAAKilC,aAAanoB,YAAY+8B,IAEhCA,EAAM96C,MAAMI,QAAU,WAExB2+B,EAAav4B,QACbu4B,EAAat3B,MAAMsU,EAAa4hB,UAAY,IAAK5hB,EAAa4hB,UAAY,KACtE7iB,IACEokB,EAAQlgC,GAAGmJ,IACbk2B,GAAQwE,EACRvE,GAAQviB,EAAa2hB,QACrBY,GAAQiB,EAAY,EAAI,EACxBA,GAAY,GAEdt+B,KAAK44C,4BAA4B99B,EAAcgjB,EAAcG,EAAQlgC,GAAG8hC,KAAMzC,EAAMC,GACpFD,GAAQa,EAAQlgC,GAAGiJ,GAAK,EAExBo2B,GAAQwE,GAENkY,GAGFlgC,GADAxE,GADAgsB,EAAWphC,KAAKmmB,WAAWtN,YAAYwH,YAAYvF,EAAa6hB,UAAU5+B,GAAIyf,EAASI,OAAQ5d,KAAKmmB,WAAWtN,YAAY4H,cAAc3F,EAAatZ,GAAGmc,WACjIyjB,EAASnoB,MAAQ,CAAC,GACvBW,OAASxE,EAAUwE,OAAO,GAAGO,GAAK,GAChDN,EAGH6+B,GAAY14C,KAAKy4C,gBAAgB3a,EAAclkB,GAF/CigC,EAAMn8B,aAAa,IAAK1d,KAAKy4C,gBAAgB3a,EAAclkB,MAKzDC,GACFggC,EAAMn8B,aAAa,YAAa,aAAeogB,EAAat4B,MAAM,IAAM,IAAMs4B,EAAat4B,MAAM,IAAM,KAEzGq0C,EAAM/7B,YAAcmgB,EAAQlgC,GAAGK,IAC/By7C,EAAMthB,eAAe,uCAAwC,YAAa,aAI1E1e,GAAeggC,GACjBA,EAAMn8B,aAAa,IAAKg7B,EAE5B,KA7EoD,CAClD,IAAIsB,EAAWh6C,KAAKw5C,cAChBS,EAAU,QACd,OAAQn/B,EAAahU,GACnB,KAAK,EACHmzC,EAAU,MACV,MACF,KAAK,EACHA,EAAU,SAGdD,EAASt8B,aAAa,cAAeu8B,GACrCD,EAASt8B,aAAa,iBAAkBkkB,GACxC,IAAI9jB,EAAc9d,KAAKy5C,kBAAkB3+B,EAAa6hB,WAGtD,IAFA1+B,EAAM6f,EAAY5f,OAClBm/B,EAAOviB,EAAauhB,GAAKvhB,EAAauhB,GAAG,GAAKvhB,EAAa+gB,OAAS,EAC/D99B,EAAI,EAAGA,EAAIE,EAAKF,GAAK,GACxB87C,EAAQ75C,KAAK8yC,UAAU/0C,IAAM6F,SAAS,UAChCka,YAAcA,EAAY/f,GAChC87C,EAAMn8B,aAAa,IAAK,GACxBm8B,EAAMn8B,aAAa,IAAK2f,GACxBwc,EAAM96C,MAAMI,QAAU,UACtB66C,EAASl9B,YAAY+8B,GACrB75C,KAAK8yC,UAAU/0C,GAAK87C,EACpBxc,GAAQviB,EAAa8hB,gBAEvB58B,KAAKilC,aAAanoB,YAAYk9B,EAChC,CAmDA,KAAOj8C,EAAIiC,KAAK8yC,UAAU50C,QACxB8B,KAAK8yC,UAAU/0C,GAAGgB,MAAMI,QAAU,OAClCpB,GAAK,EAEPiC,KAAK82C,cAAe,CACtB,EACAnL,eAAelpC,UAAUmsC,iBAAmB,SAAUsL,GAGpD,GAFAl6C,KAAKwsC,aAAaxsC,KAAKylB,KAAKC,cAAgB1lB,KAAKiZ,KAAK+N,IACtDhnB,KAAKsvC,qBACDtvC,KAAK82C,aAAc,CACrB92C,KAAK82C,cAAe,EACpB,IAAIqD,EAAUn6C,KAAKilC,aAAamV,UAChCp6C,KAAKq6C,KAAO,CACVp7C,IAAKk7C,EAAQhwC,EACbjL,KAAMi7C,EAAQjwC,EACdiC,MAAOguC,EAAQhuC,MACfyqB,OAAQujB,EAAQvjB,OAEpB,CACA,OAAO52B,KAAKq6C,IACd,EACA1O,eAAelpC,UAAU6sC,mBAAqB,WAC5C,IAAKtvC,KAAKiZ,KAAKY,cACb7Z,KAAKu4C,aAAapb,YAAYn9B,KAAKujC,aAAa3H,YAAa57B,KAAK26B,oBAC9D36B,KAAK26B,oBAAsB36B,KAAKu4C,aAAa5d,oBAAoB,CAEnE,IAAI58B,EAAGE,EADP+B,KAAK82C,cAAe,EAEpB,IAGIwD,EAAgBC,EAHhB7f,EAAkB16B,KAAKu4C,aAAa7d,gBACpCuD,EAAUj+B,KAAKujC,aAAa3H,YAAY50B,EAG5C,IAFA/I,EAAMggC,EAAQ//B,OAETH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACpBkgC,EAAQlgC,GAAGmJ,IAGfozC,EAAiB5f,EAAgB38B,GACjCw8C,EAAWv6C,KAAK8yC,UAAU/0C,GACtBu8C,EAAe71C,KAAKwC,GACtBszC,EAAS78B,aAAa,YAAa48B,EAAerzC,GAEhDqzC,EAAe71C,KAAK0C,GACtBozC,EAAS78B,aAAa,UAAW48B,EAAenzC,GAE9CmzC,EAAe71C,KAAKu2B,IACtBuf,EAAS78B,aAAa,eAAgB48B,EAAetf,IAEnDsf,EAAe71C,KAAKyb,IACtBq6B,EAAS78B,aAAa,SAAU48B,EAAep6B,IAE7Co6B,EAAe71C,KAAKw2B,IACtBsf,EAAS78B,aAAa,OAAQ48B,EAAerf,IAGnD,CAEJ,EAsBAhpB,gBAAgB,CAACigC,YAAa3K,iBAAkB4K,eAAgBC,cAAe/K,iBAAkBC,aAAcG,sBAAuBiE,iBACtIA,gBAAgBjpC,UAAU+3C,qBAAuB,WAAa,EAC9D9O,gBAAgBjpC,UAAUg4C,eAAiB,IAAI11C,OAC/C2mC,gBAAgBjpC,UAAUi4C,yBAA2B,WAAa,EAClEhP,gBAAgBjpC,UAAU0sC,cAAgB,WACxCnvC,KAAK26C,aAAa36C,KAAK+yC,WAAY/yC,KAAKkzC,UAAWlzC,KAAK6oC,aAAc7oC,KAAKilC,aAAc,EAAG,IAAI,GAChGjlC,KAAK46C,oBACP,EAKAlP,gBAAgBjpC,UAAUm4C,mBAAqB,WAC7C,IAAI78C,EAEFkxB,EACEnoB,EAEA/H,EAJFd,EAAM+B,KAAK4Z,OAAO1b,OAGlB6a,EAAO/Y,KAAKgzC,WAAW90C,OAGrB28C,EAAa,GACbC,GAAc,EAClB,IAAKh0C,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EAAG,CAI5B,IAHA/H,EAAQiB,KAAKgzC,WAAWlsC,GACxBg0C,GAAc,EACdD,EAAW38C,OAAS,EACfH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,GAEa,KADrCkxB,EAAQjvB,KAAK4Z,OAAO7b,IACV2jC,OAAOr9B,QAAQtF,KACvB87C,EAAW73C,KAAKisB,GAChB6rB,EAAc7rB,EAAM1qB,aAAeu2C,GAGnCD,EAAW38C,OAAS,GAAK48C,GAC3B96C,KAAK+6C,oBAAoBF,EAE7B,CACF,EACAnP,gBAAgBjpC,UAAUs4C,oBAAsB,SAAUnhC,GACxD,IAAI7b,EACFE,EAAM2b,EAAO1b,OACf,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB6b,EAAO7b,GAAGmxB,eAEd,EACAwc,gBAAgBjpC,UAAUu4C,mBAAqB,SAAU/hC,EAAM2uB,GAE7D,IAAIqT,EACA1S,EAAU,IAAIZ,aAAa1uB,EAAM2uB,GACjCgI,EAAcrH,EAAQR,MAqC1B,MApCgB,OAAZ9uB,EAAK3R,GACP2zC,EAAc,IAAI3S,mBAAmBtoC,KAAMiZ,EAAMsvB,GAC5B,OAAZtvB,EAAK3R,GACd2zC,EAAc,IAAIzS,iBAAiBxoC,KAAMiZ,EAAMsvB,GAC1B,OAAZtvB,EAAK3R,IAA2B,OAAZ2R,EAAK3R,KAElC2zC,EAAc,IADwB,OAAZhiC,EAAK3R,GAAcmhC,yBAA2BE,4BAClC3oC,KAAMiZ,EAAMsvB,GAClDvoC,KAAKmmB,WAAWjH,KAAKpC,YAAYm+B,EAAYjL,IACzCiL,EAAYhP,SACdjsC,KAAKmmB,WAAWjH,KAAKpC,YAAYm+B,EAAY7K,IAC7CpwC,KAAKmmB,WAAWjH,KAAKpC,YAAYm+B,EAAY7e,IAC7CwT,EAAYlyB,aAAa,OAAQ,OAASvhB,aAAe,IAAM8+C,EAAYhP,OAAS,OAGxE,OAAZhzB,EAAK3R,IAA2B,OAAZ2R,EAAK3R,KAC3BsoC,EAAYlyB,aAAa,iBAAkB1d,KAAKm4C,OAAOl/B,EAAKiiC,KAAO,SACnEtL,EAAYlyB,aAAa,kBAAmB1d,KAAKo4C,OAAOn/B,EAAKkiC,KAAO,SACpEvL,EAAYlyB,aAAa,eAAgB,KACzB,IAAZzE,EAAKkiC,IACPvL,EAAYlyB,aAAa,oBAAqBzE,EAAKmiC,KAGxC,IAAXniC,EAAK5X,GACPuuC,EAAYlyB,aAAa,YAAa,WAEpCzE,EAAKw+B,IACP7H,EAAYlyB,aAAa,KAAMzE,EAAKw+B,IAElCx+B,EAAKwC,IACPm0B,EAAYlyB,aAAa,QAASzE,EAAKwC,IAErCxC,EAAKs9B,KACP3G,EAAY7wC,MAAM,kBAAoB6F,aAAaqU,EAAKs9B,KAE1Dv2C,KAAKgzC,WAAWhwC,KAAKulC,GACrBvoC,KAAKq7C,sBAAsBpiC,EAAMgiC,GAC1BA,CACT,EACAvP,gBAAgBjpC,UAAU64C,mBAAqB,SAAUriC,GACvD,IAAIgiC,EAAc,IAAIrS,eAUtB,OATI3vB,EAAKw+B,IACPwD,EAAYnS,GAAGprB,aAAa,KAAMzE,EAAKw+B,IAErCx+B,EAAKwC,IACPw/B,EAAYnS,GAAGprB,aAAa,QAASzE,EAAKwC,IAExCxC,EAAKs9B,KACP0E,EAAYnS,GAAG/pC,MAAM,kBAAoB6F,aAAaqU,EAAKs9B,KAEtD0E,CACT,EACAvP,gBAAgBjpC,UAAU84C,uBAAyB,SAAUtiC,EAAM3U,GACjE,IAAIk3C,EAAoBp0B,yBAAyB0B,qBAAqB9oB,KAAMiZ,EAAMjZ,MAC9Ei7C,EAAc,IAAI5S,iBAAiBmT,EAAmBA,EAAkBr0C,EAAG7C,GAE/E,OADAtE,KAAKq7C,sBAAsBpiC,EAAMgiC,GAC1BA,CACT,EACAvP,gBAAgBjpC,UAAUg5C,mBAAqB,SAAUxiC,EAAMyiC,EAAiB9T,GAC9E,IAAItgC,EAAK,EACO,OAAZ2R,EAAK3R,GACPA,EAAK,EACgB,OAAZ2R,EAAK3R,GACdA,EAAK,EACgB,OAAZ2R,EAAK3R,KACdA,EAAK,GAEP,IACI2zC,EAAc,IAAIhT,aAAayT,EAAiB9T,EADhCvd,qBAAqB2c,aAAahnC,KAAMiZ,EAAM3R,EAAItH,OAKtE,OAHAA,KAAK4Z,OAAO5W,KAAKi4C,GACjBj7C,KAAK+3C,oBAAoBkD,GACzBj7C,KAAKq7C,sBAAsBpiC,EAAMgiC,GAC1BA,CACT,EACAvP,gBAAgBjpC,UAAU44C,sBAAwB,SAAUpiC,EAAMna,GAGhE,IAFA,IAAIf,EAAI,EACNE,EAAM+B,KAAKozC,iBAAiBl1C,OACvBH,EAAIE,GAAK,CACd,GAAI+B,KAAKozC,iBAAiBr1C,GAAGe,UAAYA,EACvC,OAEFf,GAAK,CACP,CACAiC,KAAKozC,iBAAiBpwC,KAAK,CACzB24C,GAAIrL,oBAAoBuB,qBAAqB54B,GAC7Cna,QAASA,EACTma,KAAMA,GAEV,EACAyyB,gBAAgBjpC,UAAUm5C,iBAAmB,SAAUX,GACrD,IACIn0C,EADArD,EAAMw3C,EAAYvZ,OAEpB3oB,EAAO/Y,KAAKgzC,WAAW90C,OACzB,IAAK4I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACpB9G,KAAKgzC,WAAWlsC,GAAGyO,QACtB9R,EAAIT,KAAKhD,KAAKgzC,WAAWlsC,GAG/B,EACA4kC,gBAAgBjpC,UAAUsxB,aAAe,WACvC/zB,KAAKumB,eAAgB,EACrB,IAAIxoB,EACFE,EAAM+B,KAAKkzC,UAAUh1C,OACvB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAK6oC,aAAa9qC,GAAKiC,KAAKkzC,UAAUn1C,GAKxC,IAHAiC,KAAK26C,aAAa36C,KAAK+yC,WAAY/yC,KAAKkzC,UAAWlzC,KAAK6oC,aAAc7oC,KAAKilC,aAAc,EAAG,IAAI,GAChGjlC,KAAK46C,qBACL38C,EAAM+B,KAAKoE,kBAAkBlG,OACxBH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKoE,kBAAkBrG,GAAG2G,WAE5B1E,KAAKk4C,iBACP,EACAxM,gBAAgBjpC,UAAUk4C,aAAe,SAAUl3C,EAAKyvC,EAAWrK,EAAcvkC,EAAWsjC,EAAOM,EAAc2T,GAC/G,IACI99C,EAEA+I,EAAGiS,EAIL+iC,EACAC,EACAC,EATEN,EAAkB,GAAGz9B,OAAOiqB,GAE9BjqC,EAAMwF,EAAIvF,OAAS,EAEjB+9C,EAAY,GACdC,EAAe,GAKjB,IAAKn+C,EAAIE,EAAKF,GAAK,EAAGA,GAAK,EAAG,CAO5B,IANAi+C,EAAeh8C,KAAKq4C,uBAAuB50C,EAAI1F,KAI7Cm1C,EAAUn1C,GAAK8qC,EAAamT,EAAe,GAF3Cv4C,EAAI1F,GAAGy1B,QAAUqoB,EAIF,MAAbp4C,EAAI1F,GAAGuJ,IAA2B,MAAb7D,EAAI1F,GAAGuJ,IAA2B,MAAb7D,EAAI1F,GAAGuJ,IAA2B,MAAb7D,EAAI1F,GAAGuJ,GACnE00C,EAGH9I,EAAUn1C,GAAGgB,MAAMwW,QAAS,EAF5B29B,EAAUn1C,GAAKiC,KAAKg7C,mBAAmBv3C,EAAI1F,GAAI6pC,GAI7CnkC,EAAI1F,GAAGy1B,SACTlvB,EAAUwY,YAAYo2B,EAAUn1C,GAAGgB,MAAMgpC,OAE3CkU,EAAUj5C,KAAKkwC,EAAUn1C,GAAGgB,YACvB,GAAiB,MAAb0E,EAAI1F,GAAGuJ,GAAY,CAC5B,GAAK00C,EAIH,IADAjjC,EAAOm6B,EAAUn1C,GAAGoc,GAAGjc,OAClB4I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EACzBosC,EAAUn1C,GAAG8qC,aAAa/hC,GAAKosC,EAAUn1C,GAAGoc,GAAGrT,QAJjDosC,EAAUn1C,GAAKiC,KAAKs7C,mBAAmB73C,EAAI1F,IAO7CiC,KAAK26C,aAAal3C,EAAI1F,GAAGoc,GAAI+4B,EAAUn1C,GAAGoc,GAAI+4B,EAAUn1C,GAAG8qC,aAAcqK,EAAUn1C,GAAG+qC,GAAIlB,EAAQ,EAAG8T,EAAiBG,GAClHp4C,EAAI1F,GAAGy1B,SACTlvB,EAAUwY,YAAYo2B,EAAUn1C,GAAG+qC,GAEvC,KAAwB,MAAbrlC,EAAI1F,GAAGuJ,IACX00C,IACH9I,EAAUn1C,GAAKiC,KAAKu7C,uBAAuB93C,EAAI1F,GAAIuG,IAErDw3C,EAAmB5I,EAAUn1C,GAAGyJ,UAChCk0C,EAAgB14C,KAAK84C,IACC,MAAbr4C,EAAI1F,GAAGuJ,IAA2B,MAAb7D,EAAI1F,GAAGuJ,IAA2B,MAAb7D,EAAI1F,GAAGuJ,IAA2B,MAAb7D,EAAI1F,GAAGuJ,IAC1E00C,IACH9I,EAAUn1C,GAAKiC,KAAKy7C,mBAAmBh4C,EAAI1F,GAAI29C,EAAiB9T,IAElE5nC,KAAK47C,iBAAiB1I,EAAUn1C,KACV,MAAb0F,EAAI1F,GAAGuJ,IAA2B,MAAb7D,EAAI1F,GAAGuJ,IAA2B,MAAb7D,EAAI1F,GAAGuJ,IAA2B,MAAb7D,EAAI1F,GAAGuJ,IAC1E00C,GAMHD,EAAW7I,EAAUn1C,IACZwX,QAAS,IANlBwmC,EAAWxuB,eAAeI,YAAYlqB,EAAI1F,GAAGuJ,KACpC6iB,KAAKnqB,KAAMyD,EAAI1F,IACxBm1C,EAAUn1C,GAAKg+C,EACf/7C,KAAKizC,eAAejwC,KAAK+4C,IAK3BG,EAAal5C,KAAK+4C,IACI,MAAbt4C,EAAI1F,GAAGuJ,KACX00C,GAOHD,EAAW7I,EAAUn1C,IACZwX,QAAS,GAPlBwmC,EAAWxuB,eAAeI,YAAYlqB,EAAI1F,GAAGuJ,IAC7C4rC,EAAUn1C,GAAKg+C,EACfA,EAAS5xB,KAAKnqB,KAAMyD,EAAK1F,EAAGm1C,GAC5BlzC,KAAKizC,eAAejwC,KAAK+4C,GACzBF,GAAS,GAKXK,EAAal5C,KAAK+4C,IAEpB/7C,KAAKs4C,oBAAoB70C,EAAI1F,GAAIA,EAAI,EACvC,CAEA,IADAE,EAAMg+C,EAAU/9C,OACXH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBk+C,EAAUl+C,GAAGwX,QAAS,EAGxB,IADAtX,EAAMi+C,EAAah+C,OACdH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBm+C,EAAan+C,GAAGwX,QAAS,CAE7B,EACAm2B,gBAAgBjpC,UAAU6sC,mBAAqB,WAC7CtvC,KAAKk4C,kBACL,IAAIn6C,EACFE,EAAM+B,KAAKgzC,WAAW90C,OACxB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKgzC,WAAWj1C,GAAGwH,QAGrB,IADAvF,KAAKm8C,cACAp+C,EAAI,EAAGA,EAAIE,EAAKF,GAAK,GACpBiC,KAAKgzC,WAAWj1C,GAAG0G,MAAQzE,KAAKumB,iBAC9BvmB,KAAKgzC,WAAWj1C,GAAGiqC,SACrBhoC,KAAKgzC,WAAWj1C,GAAGiqC,OAAOtqB,aAAa,IAAK1d,KAAKgzC,WAAWj1C,GAAG8D,GAE/D7B,KAAKgzC,WAAWj1C,GAAG8D,EAAI,OAAS7B,KAAKgzC,WAAWj1C,GAAG8D,GAErD7B,KAAKgzC,WAAWj1C,GAAGgqC,MAAMrqB,aAAa,IAAK1d,KAAKgzC,WAAWj1C,GAAG8D,GAAK,QAGzE,EACA6pC,gBAAgBjpC,UAAU05C,YAAc,WACtC,IAAIp+C,EAEAq+C,EADFn+C,EAAM+B,KAAKozC,iBAAiBl1C,OAE9B,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBq+C,EAAkBp8C,KAAKozC,iBAAiBr1C,IACnCiC,KAAKumB,eAAiB61B,EAAgBt9C,QAAQyF,eAAyC,IAAzB63C,EAAgBnjC,MACjFmjC,EAAgBT,GAAGS,EAAgBnjC,KAAMmjC,EAAgBt9C,QAASkB,KAAKumB,cAG7E,EACAmlB,gBAAgBjpC,UAAUw1B,QAAU,WAClCj4B,KAAKwvC,qBACLxvC,KAAK+yC,WAAa,KAClB/yC,KAAKkzC,UAAY,IACnB,EA4BAG,cAAc5wC,UAAU6pC,YAAc,SAAUjkB,GAC9C,GAAIA,GAAeroB,KAAKuzC,cAAc9uC,KAAM,CAC1C,IAAI43C,EAAar8C,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EACpDk7C,EAAat8C,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EACpDm7C,EAAUv8C,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAAI,IACzDpB,KAAKwzC,aAAa91B,aAAa,SAAU4+B,EAAW,GAAKD,EAAW,GAAK,UAAYA,EAAW,GAAK,KAAOC,EAAW,GAAKD,EAAW,IAAM,UAAYA,EAAW,GAAK,KAAOC,EAAW,GAAKD,EAAW,IAAM,UAAYA,EAAW,GAAK,UAAYE,EAAU,KACrQ,CACF,EAUA3I,cAAcnxC,UAAU6pC,YAAc,SAAUjkB,GAC9C,GAAIA,GAAeroB,KAAKuzC,cAAc9uC,KAAM,CAC1C,IAAI1C,EAAQ/B,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAC/Cm7C,EAAUv8C,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EACrDpB,KAAKwzC,aAAa91B,aAAa,SAAU,WAAa3b,EAAM,GAAK,YAAcA,EAAM,GAAK,YAAcA,EAAM,GAAK,UAAYw6C,EAAU,KAC3I,CACF,EAYA1I,sBAAsBpxC,UAAU6pC,YAAc,SAAUjkB,GACtD,GAAIA,GAAeroB,KAAKuzC,cAAc9uC,KAAM,CAE1C,IACI+3C,EADqB,GACbx8C,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAQ/Cq7C,EAAaz8C,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EACpDs7C,EAAuB,GAAdD,EAAkB,EAAID,EAC/BG,EAAuB,GAAdF,EAAkB,EAAID,EACnCx8C,KAAK8zC,eAAep2B,aAAa,eAAgBg/B,EAAS,IAAMC,GAMhE,IAAIC,EAAuD,GAA5C58C,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAAS,OAAS,YACxEpB,KAAK8zC,eAAep2B,aAAa,WAAYk/B,EAC/C,CACF,EAOA7I,gBAAgBtxC,UAAUo6C,WAAa,WACrC,IACIziC,EAAM0iC,EAAW/+C,EAAGE,EADpB8+C,EAAe/8C,KAAKkmB,KAAK+e,aAAa+X,UAAYh9C,KAAKkmB,KAAK+e,aAAagY,WAa7E,IAXiD,IAA7Cj9C,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,GACzCnD,EAAM+B,KAAKkmB,KAAK+W,YAAY1jB,gBAAgBrb,OAC5CH,EAAI,GAGJE,EAAU,GADVF,EAAIiC,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAAI,IAGjD07C,EAAYl5C,SAAS,MACX8Z,aAAa,OAAQ,QAC/Bo/B,EAAUp/B,aAAa,iBAAkB,SACzCo/B,EAAUp/B,aAAa,oBAAqB,GACpC3f,EAAIE,EAAKF,GAAK,EACpBqc,EAAOxW,SAAS,QAChBk5C,EAAUhgC,YAAY1C,GACtBpa,KAAKob,MAAMpY,KAAK,CACdvB,EAAG2Y,EACHnT,EAAGlJ,IAGP,GAAkD,IAA9CiC,KAAKuzC,cAAcE,eAAe,IAAIhyC,EAAEL,EAAS,CACnD,IAAIoL,EAAO5I,SAAS,QAChByU,EAAKtX,kBACTyL,EAAKkR,aAAa,KAAMrF,GACxB7L,EAAKkR,aAAa,YAAa,SAC/BlR,EAAKsQ,YAAYggC,GACjB98C,KAAKkmB,KAAKC,WAAWjH,KAAKpC,YAAYtQ,GACtC,IAAIlL,EAAIsC,SAAS,KAEjB,IADAtC,EAAEoc,aAAa,OAAQ,OAASvhB,aAAe,IAAMkc,EAAK,KACnD0kC,EAAa,IAClBz7C,EAAEwb,YAAYigC,EAAa,IAE7B/8C,KAAKkmB,KAAK+e,aAAanoB,YAAYxb,GACnCtB,KAAKi3C,OAASzqC,EACdswC,EAAUp/B,aAAa,SAAU,OACnC,MAAO,GAAkD,IAA9C1d,KAAKuzC,cAAcE,eAAe,IAAIhyC,EAAEL,GAAyD,IAA9CpB,KAAKuzC,cAAcE,eAAe,IAAIhyC,EAAEL,EAAS,CAC7G,GAAkD,IAA9CpB,KAAKuzC,cAAcE,eAAe,IAAIhyC,EAAEL,EAE1C,IADA27C,EAAe/8C,KAAKkmB,KAAK+e,aAAa+X,UAAYh9C,KAAKkmB,KAAK+e,aAAagY,WAClEF,EAAa7+C,QAClB8B,KAAKkmB,KAAK+e,aAAa9jB,YAAY47B,EAAa,IAGpD/8C,KAAKkmB,KAAK+e,aAAanoB,YAAYggC,GACnC98C,KAAKkmB,KAAK+e,aAAaiY,gBAAgB,QACvCJ,EAAUp/B,aAAa,SAAU,OACnC,CACA1d,KAAKg0C,aAAc,EACnBh0C,KAAKm9C,WAAaL,CACpB,EACA/I,gBAAgBtxC,UAAU6pC,YAAc,SAAUjkB,GAC3CroB,KAAKg0C,aACRh0C,KAAK68C,aAEP,IAAI9+C,EAEAyO,EAAM4N,EADRnc,EAAM+B,KAAKob,MAAMld,OAEnB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB,IAAyB,IAArBiC,KAAKob,MAAMrd,GAAGkJ,IAGlBuF,EAAOxM,KAAKkmB,KAAK+W,YAAY+I,SAAShmC,KAAKob,MAAMrd,GAAGkJ,GACpDmT,EAAOpa,KAAKob,MAAMrd,GAAG0D,GACjB4mB,GAAeroB,KAAKuzC,cAAc9uC,MAAQ+H,EAAKrI,KAAKM,OACtD2V,EAAKsD,aAAa,IAAKlR,EAAKm6B,UAE1Bte,GAAeroB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEgD,MAAQzE,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEgD,MAAQzE,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEgD,MAAQzE,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEgD,MAAQ+H,EAAKrI,KAAKM,MAAM,CAC7N,IAAI24C,EACJ,GAAiD,IAA7Cp9C,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,GAAwD,MAA7CpB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAAW,CACtG,IAAID,EAAItE,KAAKc,IAAIqC,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAAGpB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,GAAK,IACnGyF,EAAIhK,KAAKY,IAAIuC,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAAGpB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,GAAK,IACnG4F,EAAIoT,EAAKijC,iBACbD,EAAiB,SAAWp2C,EAAI7F,EAAI,IACpC,IAGI2F,EAHAw2C,EAAat2C,GAAKH,EAAI1F,GACtBgwB,EAAU,EAA+C,EAA3CnxB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAAQpB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAAI,IACxGm8C,EAAQ1gD,KAAKU,MAAM+/C,EAAansB,GAEpC,IAAKrqB,EAAI,EAAGA,EAAIy2C,EAAOz2C,GAAK,EAC1Bs2C,GAAkB,KAAkD,EAA3Cp9C,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAAQpB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAAI,IAAM,IAE3Hg8C,GAAkB,KAAW,GAAJp2C,EAAS,MACpC,MACEo2C,EAAiB,KAAkD,EAA3Cp9C,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAAQpB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAAI,IAEpHgZ,EAAKsD,aAAa,mBAAoB0/B,EACxC,CAQF,IANI/0B,GAAeroB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEgD,OACxDzE,KAAKm9C,WAAWz/B,aAAa,eAA2D,EAA3C1d,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,IAElFinB,GAAeroB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEgD,OACxDzE,KAAKm9C,WAAWz/B,aAAa,UAAW1d,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,IAE/B,IAA9CpB,KAAKuzC,cAAcE,eAAe,IAAIhyC,EAAEL,GAAyD,IAA9CpB,KAAKuzC,cAAcE,eAAe,IAAIhyC,EAAEL,KACzFinB,GAAeroB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEgD,MAAM,CAC9D,IAAI1C,EAAQ/B,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EACnDpB,KAAKm9C,WAAWz/B,aAAa,SAAU,OAASpgB,SAAoB,IAAXyE,EAAM,IAAY,IAAMzE,SAAoB,IAAXyE,EAAM,IAAY,IAAMzE,SAAoB,IAAXyE,EAAM,IAAY,IAC/I,CAEJ,EA0BAkyC,iBAAiBxxC,UAAU6pC,YAAc,SAAUjkB,GACjD,GAAIA,GAAeroB,KAAKuzC,cAAc9uC,KAAM,CAC1C,IAAI+4C,EAASx9C,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAChDq8C,EAASz9C,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAChDs8C,EAAS19C,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAChDu8C,EAASD,EAAO,GAAK,IAAMD,EAAO,GAAK,IAAMD,EAAO,GACpDI,EAASF,EAAO,GAAK,IAAMD,EAAO,GAAK,IAAMD,EAAO,GACpDK,EAASH,EAAO,GAAK,IAAMD,EAAO,GAAK,IAAMD,EAAO,GACxDx9C,KAAKm0C,QAAQz2B,aAAa,cAAeigC,GACzC39C,KAAKo0C,QAAQ12B,aAAa,cAAekgC,GACzC59C,KAAKq0C,QAAQ32B,aAAa,cAAemgC,EAG3C,CACF,EA+BAvJ,mBAAmB7xC,UAAU8xC,aAAe,SAAU30C,EAAMs0C,GAC1D,IAAIqD,EAAS3zC,SAAShE,GAGtB,OAFA23C,EAAO75B,aAAa,OAAQ,SAC5Bw2B,EAAoBp3B,YAAYy6B,GACzBA,CACT,EACAjD,mBAAmB7xC,UAAUq7C,cAAgB,SAAUC,EAAYC,EAAYC,EAAOC,EAAaC,GAajG,IAZA,IAEI1qC,EAMA2qC,EARAh0B,EAAM,EAGNzsB,EAAMd,KAAKc,IAAIogD,EAAYC,GAC3BvgD,EAAMZ,KAAKY,IAAIsgD,EAAYC,GAC3BK,EAAQ36C,MAAM46C,KAAK,KAAM,CAC3BpgD,OALa,MAQXorB,EAAM,EACNi1B,EAAcJ,EAAcD,EAC5BM,EAAaR,EAAaD,EACvB3zB,GAAO,KAGVg0B,GAFF3qC,EAAO2W,EAAM,MACDzsB,EACG6gD,EAAa,EAAIL,EAAcD,EACnCzqC,GAAQhW,EACJ+gD,EAAa,EAAIN,EAAcC,EAE/BD,EAAcK,EAAc1hD,KAAKI,KAAKwW,EAAOsqC,GAAcS,EAAY,EAAIP,GAE1FI,EAAM/0B,KAAS80B,EACfh0B,GAAO,IAAM,IAEf,OAAOi0B,EAAMlhC,KAAK,IACpB,EACAm3B,mBAAmB7xC,UAAU6pC,YAAc,SAAUjkB,GACnD,GAAIA,GAAeroB,KAAKuzC,cAAc9uC,KAAM,CAC1C,IAAIrG,EACAq1C,EAAiBzzC,KAAKuzC,cAAcE,eACpCzzC,KAAKy0C,kBAAoBpsB,GAAeorB,EAAe,GAAGhyC,EAAEgD,MAAQgvC,EAAe,GAAGhyC,EAAEgD,MAAQgvC,EAAe,GAAGhyC,EAAEgD,MAAQgvC,EAAe,GAAGhyC,EAAEgD,MAAQgvC,EAAe,GAAGhyC,EAAEgD,QAC9KrG,EAAM4B,KAAK89C,cAAcrK,EAAe,GAAGhyC,EAAEL,EAAGqyC,EAAe,GAAGhyC,EAAEL,EAAGqyC,EAAe,GAAGhyC,EAAEL,EAAGqyC,EAAe,GAAGhyC,EAAEL,EAAGqyC,EAAe,GAAGhyC,EAAEL,GACzIpB,KAAKy0C,gBAAgB/2B,aAAa,cAAetf,GACjD4B,KAAK00C,gBAAgBh3B,aAAa,cAAetf,GACjD4B,KAAK20C,gBAAgBj3B,aAAa,cAAetf,IAE/C4B,KAAKm0C,UAAY9rB,GAAeorB,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,QAC3KrG,EAAM4B,KAAK89C,cAAcrK,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,GAC9IpB,KAAKm0C,QAAQz2B,aAAa,cAAetf,IAEvC4B,KAAKo0C,UAAY/rB,GAAeorB,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,QAC3KrG,EAAM4B,KAAK89C,cAAcrK,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,GAC9IpB,KAAKo0C,QAAQ12B,aAAa,cAAetf,IAEvC4B,KAAKq0C,UAAYhsB,GAAeorB,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,QAC3KrG,EAAM4B,KAAK89C,cAAcrK,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,GAC9IpB,KAAKq0C,QAAQ32B,aAAa,cAAetf,IAEvC4B,KAAKw0C,UAAYnsB,GAAeorB,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,MAAQgvC,EAAe,IAAIhyC,EAAEgD,QAC3KrG,EAAM4B,KAAK89C,cAAcrK,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,EAAGqyC,EAAe,IAAIhyC,EAAEL,GAC9IpB,KAAKw0C,QAAQ92B,aAAa,cAAetf,GAE7C,CACF,EA6CAw2C,oBAAoBnyC,UAAU6pC,YAAc,SAAUjkB,GACpD,GAAIA,GAAeroB,KAAKuzC,cAAc9uC,KAAM,CAI1C,IAHI4jB,GAAeroB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEgD,OACxDzE,KAAK8zC,eAAep2B,aAAa,eAAgB1d,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAAI,GAE1FinB,GAAeroB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEgD,KAAM,CAC9D,IAAIg6C,EAAMz+C,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EACjDpB,KAAK80C,QAAQp3B,aAAa,cAAetb,SAASvF,KAAKC,MAAe,IAAT2hD,EAAI,IAAW5hD,KAAKC,MAAe,IAAT2hD,EAAI,IAAW5hD,KAAKC,MAAe,IAAT2hD,EAAI,KACvH,CAIA,IAHIp2B,GAAeroB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEgD,OACxDzE,KAAK80C,QAAQp3B,aAAa,gBAAiB1d,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAAI,KAEpFinB,GAAeroB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEgD,MAAQzE,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEgD,KAAM,CAC7G,IAAIktB,EAAW3xB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAClDsE,GAAS1F,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAAI,IAAM5C,UAC1D0L,EAAIynB,EAAW90B,KAAKoI,IAAIS,GACxByE,EAAIwnB,EAAW90B,KAAKsI,IAAIO,GAC5B1F,KAAK60C,SAASn3B,aAAa,KAAMxT,GACjClK,KAAK60C,SAASn3B,aAAa,KAAMvT,EACnC,CAUF,CACF,EACA,IAAIu0C,iBAAmB,GACvB,SAASC,gBAAgBC,EAAYrL,EAAertB,GAClDlmB,KAAKg0C,aAAc,EACnBh0C,KAAKuzC,cAAgBA,EACrBvzC,KAAK4+C,WAAaA,EAClB5+C,KAAKkmB,KAAOA,EACZA,EAAK0wB,aAAehzC,SAAS,KAC7BsiB,EAAK0wB,aAAa95B,YAAYoJ,EAAK+e,cACnC/e,EAAK0wB,aAAa95B,YAAYoJ,EAAK2wB,oBACnC3wB,EAAKkpB,YAAclpB,EAAK0wB,YAC1B,CA8EA,SAASkB,WAAW5xB,GAClB,IAAInoB,EAMAw1C,EALFt1C,EAAMioB,EAAKjN,KAAK4lC,GAAK34B,EAAKjN,KAAK4lC,GAAG3gD,OAAS,EACzC06B,EAAQ73B,kBACR83B,EAAMF,eAAeue,aAAate,GAClC9rB,EAAQ,EAGZ,IAFA9M,KAAK8+C,QAAU,GAEV/gD,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBw1C,EAAgB,KACW,KAAvBrtB,EAAKjN,KAAK4lC,GAAG9gD,GAAGuJ,IAClBwF,GAAS,EACTymC,EAAgB,IAAIF,cAAcxa,EAAK3S,EAAKuwB,eAAehD,eAAe11C,KAC1C,KAAvBmoB,EAAKjN,KAAK4lC,GAAG9gD,GAAGuJ,IACzBwF,GAAS,EACTymC,EAAgB,IAAIK,cAAc/a,EAAK3S,EAAKuwB,eAAehD,eAAe11C,KAC1C,KAAvBmoB,EAAKjN,KAAK4lC,GAAG9gD,GAAGuJ,GACzBisC,EAAgB,IAAIQ,gBAAgB7tB,EAAMA,EAAKuwB,eAAehD,eAAe11C,IAC7C,KAAvBmoB,EAAKjN,KAAK4lC,GAAG9gD,GAAGuJ,IACzBwF,GAAS,EACTymC,EAAgB,IAAIU,iBAAiBpb,EAAK3S,EAAKuwB,eAAehD,eAAe11C,KAC7C,KAAvBmoB,EAAKjN,KAAK4lC,GAAG9gD,GAAGuJ,IACzBwF,GAAS,EACTymC,EAAgB,IAAIe,mBAAmBzb,EAAK3S,EAAKuwB,eAAehD,eAAe11C,KAC/C,KAAvBmoB,EAAKjN,KAAK4lC,GAAG9gD,GAAGuJ,IACzBwF,GAAS,EACTymC,EAAgB,IAAIqB,oBAAoB/b,EAAK3S,EAAKuwB,eAAehD,eAAe11C,KAChD,KAAvBmoB,EAAKjN,KAAK4lC,GAAG9gD,GAAGuJ,GAEzBisC,EAAgB,IAAIoL,gBAAgB9lB,EAAK3S,EAAKuwB,eAAehD,eAAe11C,GAAImoB,GAChD,KAAvBA,EAAKjN,KAAK4lC,GAAG9gD,GAAGuJ,KACzBwF,GAAS,EACTymC,EAAgB,IAAIM,sBAAsBhb,EAAK3S,EAAKuwB,eAAehD,eAAe11C,KAEhFw1C,GACFvzC,KAAK8+C,QAAQ97C,KAAKuwC,GAGlBzmC,IACFoZ,EAAKC,WAAWjH,KAAKpC,YAAY+b,GACjC3S,EAAK+e,aAAavnB,aAAa,SAAU,OAASvhB,aAAe,IAAMy8B,EAAQ,MAE7E54B,KAAK8+C,QAAQ5gD,QACfgoB,EAAKkhB,uBAAuBpnC,KAEhC,CA1HA2+C,gBAAgBl8C,UAAUs8C,WAAa,SAAUvyC,GAG/C,IAFA,IAAIzO,EAAI,EACNE,EAAMygD,iBAAiBxgD,OAClBH,EAAIE,GAAK,CACd,GAAIygD,iBAAiB3gD,KAAOyO,EAC1B,OAAOkyC,iBAAiB3gD,GAE1BA,GAAK,CACP,CACA,OAAO,IACT,EACA4gD,gBAAgBl8C,UAAUu8C,gBAAkB,SAAUxyC,EAAMyyC,GAC1D,IAAI5iC,EAAa7P,EAAKy4B,aAAa5oB,WACnC,GAAKA,EAAL,CAMA,IAHA,IASI6iC,EATAlC,EAAW3gC,EAAW2gC,SACtBj/C,EAAI,EACNE,EAAM++C,EAAS9+C,OACVH,EAAIE,GACL++C,EAASj/C,KAAOyO,EAAKy4B,cAGzBlnC,GAAK,EAGHA,GAAKE,EAAM,IACbihD,EAAYlC,EAASj/C,EAAI,IAE3B,IAAIohD,EAAUv7C,SAAS,OACvBu7C,EAAQzhC,aAAa,OAAQ,IAAMuhC,GAC/BC,EACF7iC,EAAWswB,aAAawS,EAASD,GAEjC7iC,EAAWS,YAAYqiC,EAnBzB,CAqBF,EACAR,gBAAgBl8C,UAAU28C,iBAAmB,SAAUl5B,EAAM1Z,GAC3D,IAAKxM,KAAK++C,WAAWvyC,GAAO,CAC1B,IAAIyyC,EAAWl+C,kBACXk2C,EAASrzC,SAAS,QACtBqzC,EAAOv5B,aAAa,KAAMlR,EAAK+5B,SAC/B0Q,EAAOv5B,aAAa,YAAa,SACjCghC,iBAAiB17C,KAAKwJ,GACtB,IAAI0S,EAAOgH,EAAKC,WAAWjH,KAC3BA,EAAKpC,YAAYm6B,GACjB,IAAIoI,EAASz7C,SAAS,UACtBy7C,EAAO3hC,aAAa,KAAMuhC,GAC1Bj/C,KAAKg/C,gBAAgBxyC,EAAMyyC,GAC3BI,EAAOviC,YAAYtQ,EAAKy4B,cACxB/lB,EAAKpC,YAAYuiC,GACjB,IAAIF,EAAUv7C,SAAS,OACvBu7C,EAAQzhC,aAAa,OAAQ,IAAMuhC,GACnChI,EAAOn6B,YAAYqiC,GACnB3yC,EAAKyM,KAAK6uB,IAAK,EACft7B,EAAKqgC,MACP,CACA3mB,EAAKkmB,SAAS5/B,EAAK+5B,QACrB,EACAoY,gBAAgBl8C,UAAUo6C,WAAa,WAKrC,IAJA,IAAI55B,EAAMjjB,KAAKuzC,cAAcE,eAAe,GAAGhyC,EAAEL,EAC7C8xB,EAAWlzB,KAAKkmB,KAAKT,KAAKyN,SAC1Bn1B,EAAI,EACNE,EAAMi1B,EAASh1B,OACVH,EAAIE,GACLi1B,EAASn1B,IAAMm1B,EAASn1B,GAAGkb,KAAKgK,MAAQA,GAC1CjjB,KAAKo/C,iBAAiBp/C,KAAKkmB,KAAMgN,EAASn1B,IAE5CA,GAAK,EAEPiC,KAAKg0C,aAAc,CACrB,EACA2K,gBAAgBl8C,UAAU6pC,YAAc,WACjCtsC,KAAKg0C,aACRh0C,KAAK68C,YAET,EA+CA/E,WAAWr1C,UAAU6pC,YAAc,SAAU/lB,GAC3C,IAAIxoB,EACFE,EAAM+B,KAAK8+C,QAAQ5gD,OACrB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAK8+C,QAAQ/gD,GAAGuuC,YAAY/lB,EAEhC,EACA,IAAI+4B,iBAAmB,WACrB,IAAI5jC,EAAW,CAAC,EACZ6jC,EAAuB,GACvBjhC,EAAW,EACXrgB,EAAM,EACNuhD,EAAuB,EACvBC,GAAW,EACXC,GAAY,EAChB,SAASC,EAAcC,GAGrB,IAFA,IAAI7hD,EAAI,EACJ8hD,EAAWD,EAAGl/C,OACX3C,EAAIE,GACLshD,EAAqBxhD,GAAG+hD,YAAcD,IACxCN,EAAqBp8C,OAAOpF,EAAG,GAC/BA,GAAK,EACLE,GAAO,EACF4hD,EAASE,UACZC,KAGJjiD,GAAK,CAET,CACA,SAASkiD,EAAkBnhD,EAASic,GAClC,IAAKjc,EACH,OAAO,KAGT,IADA,IAAIf,EAAI,EACDA,EAAIE,GAAK,CACd,GAAIshD,EAAqBxhD,GAAGmoB,MAAQpnB,GAA4C,OAAjCygD,EAAqBxhD,GAAGmoB,KACrE,OAAOq5B,EAAqBxhD,GAAG+hD,UAEjC/hD,GAAK,CACP,CACA,IAAI8hD,EAAW,IAAIK,cAGnB,OAFAC,EAAeN,EAAU/gD,GACzB+gD,EAASO,QAAQthD,EAASic,GACnB8kC,CACT,CAUA,SAASQ,IACPb,GAAwB,EACxBc,GACF,CACA,SAASN,IACPR,GAAwB,CAC1B,CACA,SAASW,EAAeN,EAAU/gD,GAChC+gD,EAAS/8C,iBAAiB,UAAW68C,GACrCE,EAAS/8C,iBAAiB,UAAWu9C,GACrCR,EAAS/8C,iBAAiB,QAASk9C,GACnCT,EAAqBv8C,KAAK,CACxBkjB,KAAMpnB,EACNghD,UAAWD,IAEb5hD,GAAO,CACT,CAyBA,SAASs3B,EAAOgrB,GACd,IACIxiD,EADAyiD,EAAcD,EAAUjiC,EAE5B,IAAKvgB,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBwhD,EAAqBxhD,GAAG+hD,UAAUW,YAAYD,GAEhDliC,EAAWiiC,EACPf,IAAyBE,EAC3BzjD,OAAO+b,sBAAsBud,GAE7BkqB,GAAW,CAEf,CACA,SAASiB,EAAMH,GACbjiC,EAAWiiC,EACXtkD,OAAO+b,sBAAsBud,EAC/B,CA6DA,SAAS+qB,KACFZ,GAAaF,GACZC,IACFxjD,OAAO+b,sBAAsB0oC,GAC7BjB,GAAW,EAGjB,CA6CA,OAnBA/jC,EAASukC,kBAAoBA,EAC7BvkC,EAASilC,cAvIT,SAAuBC,GACrB,IAAIf,EAAW,IAAIK,cAGnB,OAFAC,EAAeN,EAAU,MACzBA,EAASgB,UAAUD,GACZf,CACT,EAmIAnkC,EAASolC,SAlIT,SAAkB1iD,EAAK0hD,GACrB,IAAI/hD,EACJ,IAAKA,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBwhD,EAAqBxhD,GAAG+hD,UAAUgB,SAAS1iD,EAAK0hD,EAEpD,EA8HApkC,EAASqlC,aA7HT,SAAsB3iD,EAAK0hD,GACzB,IAAI/hD,EACJ,IAAKA,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBwhD,EAAqBxhD,GAAG+hD,UAAUiB,aAAa3iD,EAAK0hD,EAExD,EAyHApkC,EAASoa,KAxHT,SAAcgqB,GACZ,IAAI/hD,EACJ,IAAKA,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBwhD,EAAqBxhD,GAAG+hD,UAAUhqB,KAAKgqB,EAE3C,EAoHApkC,EAAS4Z,MAlGT,SAAewqB,GACb,IAAI/hD,EACJ,IAAKA,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBwhD,EAAqBxhD,GAAG+hD,UAAUxqB,MAAMwqB,EAE5C,EA8FApkC,EAASq0B,KAvFT,SAAc+P,GACZ,IAAI/hD,EACJ,IAAKA,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBwhD,EAAqBxhD,GAAG+hD,UAAU/P,KAAK+P,EAE3C,EAmFApkC,EAASslC,YAlFT,SAAqBlB,GACnB,IAAI/hD,EACJ,IAAKA,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBwhD,EAAqBxhD,GAAG+hD,UAAUkB,YAAYlB,EAElD,EA8EApkC,EAASulC,iBAvET,SAA0BlmC,EAAemmC,EAAY/yB,GACnD,IACIpwB,EADAojD,EAAe,GAAGljC,OAAO,GAAGjR,MAAMsxC,KAAKz6C,SAASu9C,uBAAuB,WAAY,GAAGp0C,MAAMsxC,KAAKz6C,SAASu9C,uBAAuB,eAEnInjD,EAAMkjD,EAAajjD,OACrB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACpBowB,GACFgzB,EAAapjD,GAAG2f,aAAa,eAAgByQ,GAE/C8xB,EAAkBkB,EAAapjD,GAAIgd,GAErC,GAAImmC,GAAsB,IAARjjD,EAAW,CACtBkwB,IACHA,EAAW,OAEb,IAAIpR,EAAOlZ,SAASw9C,qBAAqB,QAAQ,GACjDtkC,EAAKP,UAAY,GACjB,IAAI8kC,EAAMv9C,UAAU,OACpBu9C,EAAIviD,MAAMoN,MAAQ,OAClBm1C,EAAIviD,MAAM63B,OAAS,OACnB0qB,EAAI5jC,aAAa,eAAgByQ,GACjCpR,EAAKD,YAAYwkC,GACjBrB,EAAkBqB,EAAKvmC,EACzB,CACF,EAiDAW,EAAS6lC,OAhDT,WACE,IAAIxjD,EACJ,IAAKA,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBwhD,EAAqBxhD,GAAG+hD,UAAUyB,QAEtC,EA6CA7lC,EAAS8lC,YAlGT,SAAqBh+C,EAAOi+C,EAAS3B,GACnC,IAAI/hD,EACJ,IAAKA,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBwhD,EAAqBxhD,GAAG+hD,UAAU0B,YAAYh+C,EAAOi+C,EAAS3B,EAElE,EA8FApkC,EAASuc,QAjFT,SAAiB6nB,GACf,IAAI/hD,EACJ,IAAKA,EAAIE,EAAM,EAAGF,GAAK,EAAGA,GAAK,EAC7BwhD,EAAqBxhD,GAAG+hD,UAAU7nB,QAAQ6nB,EAE9C,EA6EApkC,EAASgmC,OAtCT,WACEhC,GAAY,CACd,EAqCAhkC,EAASimC,SApCT,WACEjC,GAAY,EACZY,GACF,EAkCA5kC,EAASwa,UAjCT,SAAmB93B,EAAK0hD,GACtB,IAAI/hD,EACJ,IAAKA,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBwhD,EAAqBxhD,GAAG+hD,UAAU5pB,UAAU93B,EAAK0hD,EAErD,EA6BApkC,EAAS2a,KA5BT,SAAcypB,GACZ,IAAI/hD,EACJ,IAAKA,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBwhD,EAAqBxhD,GAAG+hD,UAAUzpB,KAAKypB,EAE3C,EAwBApkC,EAAS4a,OAvBT,SAAgBwpB,GACd,IAAI/hD,EACJ,IAAKA,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBwhD,EAAqBxhD,GAAG+hD,UAAUxpB,OAAOwpB,EAE7C,EAmBApkC,EAASkmC,wBAlLT,WACE,IAAI7jD,EACFE,EAAMshD,EAAqBrhD,OACzB2jD,EAAa,GACjB,IAAK9jD,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB8jD,EAAW7+C,KAAKu8C,EAAqBxhD,GAAG+hD,WAE1C,OAAO+B,CACT,EA2KOnmC,CACT,CA3NuB,GA4NnBwkC,cAAgB,WAClBlgD,KAAK6C,KAAO,GACZ7C,KAAK0gB,KAAO,GACZ1gB,KAAKoa,KAAO,GACZpa,KAAKqe,UAAW,EAChBre,KAAKusC,aAAe,EACpBvsC,KAAK8hD,gBAAkB,EACvB9hD,KAAKO,WAAa,EAClBP,KAAKQ,YAAc,EACnBR,KAAK0oB,UAAY,EACjB1oB,KAAK+hD,UAAY,EACjB/hD,KAAKgiD,UAAY,EACjBhiD,KAAKiiD,cAAgB,EACrBjiD,KAAKkiD,UAAY,EACjBliD,KAAK+a,cAAgB,CAAC,EACtB/a,KAAKgb,OAAS,GACdhb,KAAK+/C,UAAW,EAChB//C,KAAKmiD,UAAW,EAChBniD,KAAKoiD,MAAO,EACZpiD,KAAKmuB,SAAW,KAChBnuB,KAAKqiD,YAActhD,kBACnBf,KAAKs3B,WAAa,GAClBt3B,KAAKsiD,cAAgB,EACrBtiD,KAAKuiD,WAAa,EAClBviD,KAAKwiD,kBAAoBnmD,gBACzB2D,KAAK0vB,SAAW,GAChB1vB,KAAKyiD,OAAQ,EACbziD,KAAK0iD,gBAAiB,EACtB1iD,KAAKoqC,iBAAmBtsC,mBACxBkC,KAAKqrC,eAAiB,IAAI5U,eAC1Bz2B,KAAKsrC,gBAAkBxW,wBACzB,EACA7iB,gBAAgB,CAACzP,WAAY09C,eAC7BA,cAAcz9C,UAAUo+C,UAAY,SAAUD,IACxCA,EAAO5U,SAAW4U,EAAOt8C,aAC3BtE,KAAKgsC,QAAU4U,EAAO5U,SAAW4U,EAAOt8C,WAE1C,IAAIq+C,EAAW/B,EAAO+B,SAAW/B,EAAO+B,SAAW/B,EAAOzyB,SAAWyyB,EAAOzyB,SAAW,MACvF,OAAQw0B,GACN,IAAK,SACH3iD,KAAKmuB,SAAW,IAAIy0B,eAAe5iD,KAAM4gD,EAAOiC,kBAChD,MACF,IAAK,MACH7iD,KAAKmuB,SAAW,IAAIkW,YAAYrkC,KAAM4gD,EAAOiC,kBAC7C,MACF,QACE7iD,KAAKmuB,SAAW,IAAI20B,eAAe9iD,KAAM4gD,EAAOiC,kBAGpD7iD,KAAKqrC,eAAe7S,aAAamqB,GACjC3iD,KAAKmuB,SAAS+b,oBAAoBlqC,KAAKoqC,kBACvCpqC,KAAK2iD,SAAWA,EACI,KAAhB/B,EAAOwB,MAA+B,OAAhBxB,EAAOwB,WAAiCzf,IAAhBie,EAAOwB,OAAsC,IAAhBxB,EAAOwB,KACpFpiD,KAAKoiD,MAAO,GACa,IAAhBxB,EAAOwB,KAChBpiD,KAAKoiD,MAAO,EAEZpiD,KAAKoiD,KAAOW,SAASnC,EAAOwB,MAE9BpiD,KAAKmiD,WAAW,aAAcvB,IAASA,EAAOuB,SAC9CniD,KAAK0gB,KAAOkgC,EAAOlgC,KAAOkgC,EAAOlgC,KAAO,GACxC1gB,KAAKgjD,kBAAmBpC,EAAOtuC,eAAe,qBAAsBsuC,EAAOoC,iBAC3EhjD,KAAKs3B,WAAaspB,EAAOtpB,WACzBt3B,KAAKijD,eAAiBrC,EAAOqC,eACzBrC,EAAO5rB,cACTh1B,KAAKsrC,gBAAgBnV,gBAAgByqB,EAAO5rB,cAE1C4rB,EAAO7lC,cACT/a,KAAK+rC,gBAAgB6U,EAAO7lC,eACnB6lC,EAAOxmC,QACuB,IAAnCwmC,EAAOxmC,KAAK8oC,YAAY,MAC1BljD,KAAKoa,KAAOwmC,EAAOxmC,KAAK8mB,OAAO,EAAG0f,EAAOxmC,KAAK8oC,YAAY,MAAQ,GAElEljD,KAAKoa,KAAOwmC,EAAOxmC,KAAK8mB,OAAO,EAAG0f,EAAOxmC,KAAK8oC,YAAY,KAAO,GAEnEljD,KAAKmjD,SAAWvC,EAAOxmC,KAAK8mB,OAAO0f,EAAOxmC,KAAK8oC,YAAY,KAAO,GAClEljD,KAAKmjD,SAAWnjD,KAAKmjD,SAASjiB,OAAO,EAAGlhC,KAAKmjD,SAASD,YAAY,UAClEnqB,YAAYK,KAAKwnB,EAAOxmC,KAAMpa,KAAK+rC,gBAAgB7oC,KAAKlD,MAAO,WAC7DA,KAAKojD,QAAQ,cACf,EAAElgD,KAAKlD,OAEX,EACAkgD,cAAcz9C,UAAU29C,QAAU,SAAUpU,EAASjxB,GACnD,IAAI6lC,EAAS,CACX5U,QAASA,EACTjxB,cAAeA,EAAyC,kBAAlBA,EAA6BA,EAAgBhB,KAAKC,MAAMe,GAAiB,MAE7GsoC,EAAoBrX,EAAQsX,WAChC1C,EAAOxmC,KAAOipC,EAAkBE,aAAa,uBAAyBF,EAAkBE,aAAa,uBAAuB//C,MAAQ6/C,EAAkBE,aAAa,gBAAkBF,EAAkBE,aAAa,gBAAgB//C,MAAQ6/C,EAAkBE,aAAa,WAAaF,EAAkBE,aAAa,WAAW//C,MAAQ,GAC1Uo9C,EAAO+B,SAAWU,EAAkBE,aAAa,kBAAoBF,EAAkBE,aAAa,kBAAkB//C,MAAQ6/C,EAAkBE,aAAa,gBAAkBF,EAAkBE,aAAa,gBAAgB//C,MAAQ6/C,EAAkBE,aAAa,WAAaF,EAAkBE,aAAa,WAAW//C,MAAQ6/C,EAAkBE,aAAa,oBAAsBF,EAAkBE,aAAa,oBAAoB//C,MAAQ6/C,EAAkBE,aAAa,eAAiBF,EAAkBE,aAAa,eAAe//C,MAAQ,SAC1hB,IAAI4+C,EAAOiB,EAAkBE,aAAa,kBAAoBF,EAAkBE,aAAa,kBAAkB//C,MAAQ6/C,EAAkBE,aAAa,gBAAkBF,EAAkBE,aAAa,gBAAgB//C,MAAQ6/C,EAAkBE,aAAa,WAAaF,EAAkBE,aAAa,WAAW//C,MAAQ,GAChT,KAAT4+C,IACFxB,EAAOwB,KAD6B,UAATA,IAET,SAATA,GAGKW,SAASX,KAEzB,IAAID,EAAWkB,EAAkBE,aAAa,sBAAwBF,EAAkBE,aAAa,sBAAsB//C,MAAQ6/C,EAAkBE,aAAa,oBAAsBF,EAAkBE,aAAa,oBAAoB//C,OAAQ6/C,EAAkBE,aAAa,gBAAiBF,EAAkBE,aAAa,eAAe//C,MACjVo9C,EAAOuB,SAAwB,UAAbA,EAClBvB,EAAOlgC,KAAO2iC,EAAkBE,aAAa,aAAeF,EAAkBE,aAAa,aAAa//C,MAAQ6/C,EAAkBE,aAAa,gBAAkBF,EAAkBE,aAAa,gBAAgB//C,MAAQ6/C,EAAkBE,aAAa,WAAaF,EAAkBE,aAAa,WAAW//C,MAAQ,GAEpS,WADF6/C,EAAkBE,aAAa,uBAAyBF,EAAkBE,aAAa,uBAAuB//C,MAAQ6/C,EAAkBE,aAAa,qBAAuBF,EAAkBE,aAAa,qBAAqB//C,MAAQ6/C,EAAkBE,aAAa,gBAAkBF,EAAkBE,aAAa,gBAAgB//C,MAAQ,MAE9Vo9C,EAAO4C,WAAY,GAErBxjD,KAAK6gD,UAAUD,EACjB,EACAV,cAAcz9C,UAAUunC,cAAgB,SAAU/wB,GAC5CA,EAAKsb,GAAKv0B,KAAK+a,cAAcwZ,KAC/Bv0B,KAAK+a,cAAcwZ,GAAKtb,EAAKsb,GAC7Bv0B,KAAKQ,YAAc3D,KAAKU,MAAM0b,EAAKsb,GAAKv0B,KAAK+a,cAAckuB,KAE7D,IACIlrC,EAGA+I,EAJA6R,EAAS3Y,KAAK+a,cAAcpC,OAE9B1a,EAAM0a,EAAOza,OACX+rC,EAAYhxB,EAAKN,OAEnBI,EAAOkxB,EAAU/rC,OACnB,IAAK4I,EAAI,EAAGA,EAAIiS,EAAMjS,GAAK,EAEzB,IADA/I,EAAI,EACGA,EAAIE,GAAK,CACd,GAAI0a,EAAO5a,GAAGsa,IAAM4xB,EAAUnjC,GAAGuR,GAAI,CACnCM,EAAO5a,GAAKksC,EAAUnjC,GACtB,KACF,CACA/I,GAAK,CACP,CAMF,IAJIkb,EAAKiC,OAASjC,EAAKkF,SACrBne,KAAKmuB,SAAShI,WAAWtN,YAAYiG,SAAS7F,EAAKiC,OACnDlb,KAAKmuB,SAAShI,WAAWtN,YAAYoG,SAAShG,EAAKkF,MAAOne,KAAKmuB,SAAShI,WAAWjH,OAEjFjG,EAAK+B,OAEP,IADA/c,EAAMgb,EAAK+B,OAAO9c,OACbH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAK+a,cAAcC,OAAOhY,KAAKiW,EAAK+B,OAAOjd,IAG/CiC,KAAK+a,cAAcY,YAAa,EAChCC,YAAY6nC,aAAazjD,KAAK+a,cAAe/a,KAAKmuB,SAAShI,WAAWtN,aACtE7Y,KAAKmuB,SAAS6b,cAAc/wB,EAAKN,QAC7Brc,mBACFA,kBAAkBwuC,gBAAgB9qC,MAEpCA,KAAK0jD,iBACP,EACAxD,cAAcz9C,UAAUihD,gBAAkB,WACxC,IAAIh0B,EAAW1vB,KAAK+a,cAAc2U,SAClC,IAAKA,GAAgC,IAApBA,EAASxxB,SAAiB8B,KAAKgjD,iBAG9C,OAFAhjD,KAAKojD,QAAQ,mBACbpjD,KAAKsiD,cAAgBtiD,KAAKQ,aAG5B,IAAI2wB,EAAUzB,EAASi0B,QACvB3jD,KAAKsiD,cAAgBnxB,EAAQ+oB,KAAOl6C,KAAK0oB,UACzC,IAAIk7B,EAAc5jD,KAAKoa,KAAOpa,KAAKmjD,SAAW,IAAMnjD,KAAKuiD,WAAa,QACtEviD,KAAKuiD,YAAc,EACnBxpB,YAAYK,KAAKwqB,EAAa5jD,KAAKgqC,cAAc9mC,KAAKlD,MAAO,WAC3DA,KAAKojD,QAAQ,cACf,EAAElgD,KAAKlD,MACT,EACAkgD,cAAcz9C,UAAUohD,aAAe,WACtB7jD,KAAK+a,cAAc2U,WAEhC1vB,KAAKsiD,cAAgBtiD,KAAKQ,aAE5BR,KAAK0jD,iBACP,EACAxD,cAAcz9C,UAAUqhD,aAAe,WACrC9jD,KAAKojD,QAAQ,iBACbpjD,KAAK+jD,aACP,EACA7D,cAAcz9C,UAAUuhD,cAAgB,WACtChkD,KAAKqrC,eAAetT,cAAc/3B,KAAKs3B,YACvCt3B,KAAKqrC,eAAerT,QAAQh4B,KAAKoa,MACjCpa,KAAKqrC,eAAezT,WAAW53B,KAAK+a,cAAcC,OAAQhb,KAAK8jD,aAAa5gD,KAAKlD,MACnF,EACAkgD,cAAcz9C,UAAUspC,gBAAkB,SAAUd,GAClD,GAAKjrC,KAAKmuB,SAGV,IACEnuB,KAAK+a,cAAgBkwB,EACjBjrC,KAAKijD,gBACPjjD,KAAKQ,YAAc3D,KAAKU,MAAMyC,KAAKijD,eAAe,GAAKjjD,KAAKijD,eAAe,IAC3EjjD,KAAKO,WAAa1D,KAAKC,MAAMkD,KAAKijD,eAAe,MAEjDjjD,KAAKQ,YAAc3D,KAAKU,MAAMyC,KAAK+a,cAAcwZ,GAAKv0B,KAAK+a,cAAckuB,IACzEjpC,KAAKO,WAAa1D,KAAKC,MAAMkD,KAAK+a,cAAckuB,KAElDjpC,KAAKmuB,SAAS4d,gBAAgBd,GACzBA,EAASjwB,SACZiwB,EAASjwB,OAAS,IAEpBhb,KAAKgb,OAAShb,KAAK+a,cAAcC,OACjChb,KAAK0oB,UAAY1oB,KAAK+a,cAAcwwB,GACpCvrC,KAAK+hD,UAAY/hD,KAAK+a,cAAcwwB,GAAK,IACzCvrC,KAAKmuB,SAASyc,wBAAwBK,EAASjwB,QAC/Chb,KAAKojD,QAAQ,gBACbpjD,KAAKgkD,gBACLhkD,KAAK6jD,eACL7jD,KAAKikD,oBACLjkD,KAAKkkD,qBACDlkD,KAAK+/C,UACP//C,KAAKsrC,gBAAgBhW,OAEzB,CAAE,MAAO6uB,GACPnkD,KAAKokD,mBAAmBD,EAC1B,CACF,EACAjE,cAAcz9C,UAAUyhD,mBAAqB,WACtClkD,KAAKmuB,WAGNnuB,KAAKmuB,SAAShI,WAAWtN,YAAYwF,SACvCre,KAAK+jD,cAELzrC,WAAWtY,KAAKkkD,mBAAmBhhD,KAAKlD,MAAO,IAEnD,EACAkgD,cAAcz9C,UAAUshD,YAAc,WAC/B/jD,KAAKqe,WAAYre,KAAKmuB,SAAShI,WAAWtN,YAAYwF,WAAare,KAAKqrC,eAAe7rB,UAA2C,WAA/Bxf,KAAKmuB,SAAS2X,eACpH9lC,KAAKqe,UAAW,EAChBzC,YAAY6nC,aAAazjD,KAAK+a,cAAe/a,KAAKmuB,SAAShI,WAAWtN,aAClEvc,mBACFA,kBAAkBwuC,gBAAgB9qC,MAEpCA,KAAKmuB,SAASkc,YACd/xB,WAAW,WACTtY,KAAKojD,QAAQ,YACf,EAAElgD,KAAKlD,MAAO,GACdA,KAAKqkD,YACDrkD,KAAKmiD,UACPniD,KAAK81B,OAGX,EACAoqB,cAAcz9C,UAAU8+C,OAAS,WAC/BvhD,KAAKmuB,SAAS+d,qBAChB,EACAgU,cAAcz9C,UAAU6hD,YAAc,SAAU1lD,GAC9CoB,KAAKwiD,oBAAsB5jD,CAC7B,EACAshD,cAAcz9C,UAAU4hD,UAAY,WAClCrkD,KAAKusC,aAAevsC,KAAKwiD,kBAAoBxiD,KAAK8hD,kBAAoB9hD,KAAK8hD,gBACvE9hD,KAAKsiD,gBAAkBtiD,KAAKQ,aAAeR,KAAKusC,aAAevsC,KAAKsiD,gBACtEtiD,KAAKusC,aAAevsC,KAAKsiD,eAE3BtiD,KAAKojD,QAAQ,cACbpjD,KAAKssC,aACP,EACA4T,cAAcz9C,UAAU6pC,YAAc,WACpC,IAAsB,IAAlBtsC,KAAKqe,SAGT,IACEre,KAAKmuB,SAASme,YAAYtsC,KAAKusC,aAAevsC,KAAKO,WACrD,CAAE,MAAO4jD,GACPnkD,KAAKukD,wBAAwBJ,EAC/B,CACF,EACAjE,cAAcz9C,UAAUqzB,KAAO,SAAUpV,GACnCA,GAAQ1gB,KAAK0gB,MAAQA,IAGH,IAAlB1gB,KAAK+/C,WACP//C,KAAK+/C,UAAW,EAChB//C,KAAKsrC,gBAAgB/V,SACjBv1B,KAAKyiD,QACPziD,KAAKyiD,OAAQ,EACbziD,KAAKojD,QAAQ,YAGnB,EACAlD,cAAcz9C,UAAU6yB,MAAQ,SAAU5U,GACpCA,GAAQ1gB,KAAK0gB,MAAQA,IAGH,IAAlB1gB,KAAK+/C,WACP//C,KAAK+/C,UAAW,EAChB//C,KAAKyiD,OAAQ,EACbziD,KAAKojD,QAAQ,SACbpjD,KAAKsrC,gBAAgBhW,QAEzB,EACA4qB,cAAcz9C,UAAUu+C,YAAc,SAAUtgC,GAC1CA,GAAQ1gB,KAAK0gB,MAAQA,KAGH,IAAlB1gB,KAAK+/C,SACP//C,KAAK81B,OAEL91B,KAAKs1B,QAET,EACA4qB,cAAcz9C,UAAUstC,KAAO,SAAUrvB,GACnCA,GAAQ1gB,KAAK0gB,MAAQA,IAGzB1gB,KAAKs1B,QACLt1B,KAAKkiD,UAAY,EACjBliD,KAAK0iD,gBAAiB,EACtB1iD,KAAKwkD,wBAAwB,GAC/B,EACAtE,cAAcz9C,UAAU++C,YAAc,SAAUh+C,EAAOi+C,EAAS/gC,GAC1DA,GAAQ1gB,KAAK0gB,MAAQA,IAGrB+gC,EACFzhD,KAAKwkD,wBAAwBhhD,GAE7BxD,KAAKwkD,wBAAwBhhD,EAAQxD,KAAKykD,eAE5CzkD,KAAKs1B,QACP,EACA4qB,cAAcz9C,UAAUiiD,YAAc,SAAUlhD,EAAOi+C,EAAS/gC,GAC9D1gB,KAAKwhD,YAAYh+C,EAAOi+C,EAAS/gC,GACjC1gB,KAAK81B,MACP,EACAoqB,cAAcz9C,UAAUg+C,YAAc,SAAUj9C,GAC9C,IAAsB,IAAlBxD,KAAK+/C,WAAuC,IAAlB//C,KAAKqe,SAAnC,CAGA,IAAIsmC,EAAY3kD,KAAK8hD,gBAAkBt+C,EAAQxD,KAAKykD,cAChDG,GAAc,EAGdD,GAAa3kD,KAAKQ,YAAc,GAAKR,KAAKykD,cAAgB,EACvDzkD,KAAKoiD,MAAQpiD,KAAKkiD,YAAcliD,KAAKoiD,KAK/BuC,GAAa3kD,KAAKQ,aAC3BR,KAAKkiD,WAAa,EACbliD,KAAK6kD,cAAcF,EAAY3kD,KAAKQ,eACvCR,KAAKwkD,wBAAwBG,EAAY3kD,KAAKQ,aAC9CR,KAAK0iD,gBAAiB,EACtB1iD,KAAKojD,QAAQ,kBAGfpjD,KAAKwkD,wBAAwBG,GAZxB3kD,KAAK6kD,cAAcF,EAAY3kD,KAAKQ,YAAcmkD,EAAY3kD,KAAKQ,YAAc,KACpFokD,GAAc,EACdD,EAAY3kD,KAAKQ,YAAc,GAY1BmkD,EAAY,EAChB3kD,KAAK6kD,cAAcF,EAAY3kD,KAAKQ,gBACnCR,KAAKoiD,MAAUpiD,KAAKkiD,aAAe,IAAmB,IAAdliD,KAAKoiD,MAQ/CwC,GAAc,EACdD,EAAY,IARZ3kD,KAAKwkD,wBAAwBxkD,KAAKQ,YAAcmkD,EAAY3kD,KAAKQ,aAC5DR,KAAK0iD,eAGR1iD,KAAKojD,QAAQ,gBAFbpjD,KAAK0iD,gBAAiB,IAU5B1iD,KAAKwkD,wBAAwBG,GAE3BC,IACF5kD,KAAKwkD,wBAAwBG,GAC7B3kD,KAAKs1B,QACLt1B,KAAKojD,QAAQ,YAzCf,CA2CF,EACAlD,cAAcz9C,UAAUqiD,cAAgB,SAAUrhD,EAAKzB,GACrDhC,KAAKkiD,UAAY,EACbz+C,EAAI,GAAKA,EAAI,IACXzD,KAAKykD,cAAgB,IACnBzkD,KAAKgiD,UAAY,EACnBhiD,KAAK8gD,UAAU9gD,KAAKgiD,WAEpBhiD,KAAK+gD,cAAc,IAGvB/gD,KAAKsiD,cAAgBtiD,KAAKQ,YAAciD,EAAI,GAAKA,EAAI,GACrDzD,KAAKO,WAAakD,EAAI,GACtBzD,KAAKwkD,wBAAwBxkD,KAAKQ,YAAc,KAAQwB,IAC/CyB,EAAI,GAAKA,EAAI,KAClBzD,KAAKykD,cAAgB,IACnBzkD,KAAKgiD,UAAY,EACnBhiD,KAAK8gD,UAAU9gD,KAAKgiD,WAEpBhiD,KAAK+gD,aAAa,IAGtB/gD,KAAKsiD,cAAgBtiD,KAAKQ,YAAciD,EAAI,GAAKA,EAAI,GACrDzD,KAAKO,WAAakD,EAAI,GACtBzD,KAAKwkD,wBAAwB,KAAQxiD,IAEvChC,KAAKojD,QAAQ,eACf,EACAlD,cAAcz9C,UAAUsiD,WAAa,SAAU56B,EAAM66B,GACnD,IAAIC,GAAgB,EAChBjlD,KAAK+/C,WACH//C,KAAK8hD,gBAAkB9hD,KAAKO,WAAa4pB,EAC3C86B,EAAe96B,EACNnqB,KAAK8hD,gBAAkB9hD,KAAKO,WAAaykD,IAClDC,EAAeD,EAAM76B,IAGzBnqB,KAAKO,WAAa4pB,EAClBnqB,KAAKsiD,cAAgBtiD,KAAKQ,YAAcwkD,EAAM76B,GACxB,IAAlB86B,GACFjlD,KAAKwhD,YAAYyD,GAAc,EAEnC,EACA/E,cAAcz9C,UAAUyiD,aAAe,SAAUzhD,EAAK0hD,GAIpD,GAHIA,IACFnlD,KAAK0vB,SAASxxB,OAAS,GAEH,kBAAXuF,EAAI,GAAiB,CAC9B,IAAI1F,EACFE,EAAMwF,EAAIvF,OACZ,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAK0vB,SAAS1sB,KAAKS,EAAI1F,GAE3B,MACEiC,KAAK0vB,SAAS1sB,KAAKS,GAEjBzD,KAAK0vB,SAASxxB,QAAUinD,GAC1BnlD,KAAK8kD,cAAc9kD,KAAK0vB,SAASi0B,QAAS,GAExC3jD,KAAK+/C,UACP//C,KAAK81B,MAET,EACAoqB,cAAcz9C,UAAU2iD,cAAgB,SAAUD,GAChDnlD,KAAK0vB,SAASxxB,OAAS,EACvB8B,KAAK0vB,SAAS1sB,KAAK,CAAChD,KAAK+a,cAAckuB,GAAIjpC,KAAK+a,cAAcwZ,KAE1D4wB,GACFnlD,KAAK6kD,cAAc,EAEvB,EACA3E,cAAcz9C,UAAUoiD,cAAgB,SAAU7iD,GAChD,QAAIhC,KAAK0vB,SAASxxB,SAChB8B,KAAK8kD,cAAc9kD,KAAK0vB,SAASi0B,QAAS3hD,IACnC,EAGX,EACAk+C,cAAcz9C,UAAUw1B,QAAU,SAAUvX,GACtCA,GAAQ1gB,KAAK0gB,MAAQA,IAAS1gB,KAAKmuB,WAGvCnuB,KAAKmuB,SAAS8J,UACdj4B,KAAKqrC,eAAepT,UACpBj4B,KAAKojD,QAAQ,WACbpjD,KAAK6C,KAAO,KACZ7C,KAAKqlD,aAAerlD,KAAKslD,eAAiBtlD,KAAKulD,WAAavlD,KAAKwlD,eAAiBxlD,KAAKylD,UAAY,KACnGzlD,KAAKmuB,SAAW,KAClB,EACA+xB,cAAcz9C,UAAU+hD,wBAA0B,SAAUhhD,GAC1DxD,KAAK8hD,gBAAkBt+C,EACvBxD,KAAKqkD,WACP,EACAnE,cAAcz9C,UAAUq+C,SAAW,SAAU1iD,GAC3C4B,KAAKgiD,UAAY5jD,EACjB4B,KAAKikD,mBACP,EACA/D,cAAcz9C,UAAUs+C,aAAe,SAAU3iD,GAC/C4B,KAAKiiD,cAAgB7jD,EAAM,GAAK,EAAI,EACpC4B,KAAKikD,mBACP,EACA/D,cAAcz9C,UAAUyzB,UAAY,SAAU93B,EAAKsiB,GAC7CA,GAAQ1gB,KAAK0gB,OAASA,GAG1B1gB,KAAKsrC,gBAAgBpV,UAAU93B,EACjC,EACA8hD,cAAcz9C,UAAU8zB,UAAY,WAClC,OAAOv2B,KAAKsrC,gBAAgB/U,WAC9B,EACA2pB,cAAcz9C,UAAU4zB,KAAO,SAAU3V,GACnCA,GAAQ1gB,KAAK0gB,OAASA,GAG1B1gB,KAAKsrC,gBAAgBjV,MACvB,EACA6pB,cAAcz9C,UAAU6zB,OAAS,SAAU5V,GACrCA,GAAQ1gB,KAAK0gB,OAASA,GAG1B1gB,KAAKsrC,gBAAgBhV,QACvB,EACA4pB,cAAcz9C,UAAUwhD,kBAAoB,WAC1CjkD,KAAKykD,cAAgBzkD,KAAK+hD,UAAY/hD,KAAKgiD,UAAYhiD,KAAKiiD,cAC5DjiD,KAAKsrC,gBAAgB9V,QAAQx1B,KAAKgiD,UAAYhiD,KAAKiiD,cACrD,EACA/B,cAAcz9C,UAAUijD,QAAU,WAChC,OAAO1lD,KAAKoa,IACd,EACA8lC,cAAcz9C,UAAU20B,cAAgB,SAAUC,GAChD,IAAIjd,EAAO,GACX,GAAIid,EAAUxwB,EACZuT,EAAOid,EAAU51B,OACZ,GAAIzB,KAAKs3B,WAAY,CAC1B,IAAIE,EAAYH,EAAU51B,GACY,IAAlC+1B,EAAUnzB,QAAQ,aACpBmzB,EAAYA,EAAU/c,MAAM,KAAK,IAEnCL,EAAOpa,KAAKs3B,WAAaE,CAC3B,MACEpd,EAAOpa,KAAKoa,KACZA,GAAQid,EAAUI,EAAIJ,EAAUI,EAAI,GACpCrd,GAAQid,EAAU51B,EAEpB,OAAO2Y,CACT,EACA8lC,cAAcz9C,UAAU0oC,aAAe,SAAU9yB,GAG/C,IAFA,IAAIta,EAAI,EACNE,EAAM+B,KAAKgb,OAAO9c,OACbH,EAAIE,GAAK,CACd,GAAIoa,GAAMrY,KAAKgb,OAAOjd,GAAGsa,GACvB,OAAOrY,KAAKgb,OAAOjd,GAErBA,GAAK,CACP,CACF,EACAmiD,cAAcz9C,UAAUmqC,KAAO,WAC7B5sC,KAAKmuB,SAASye,MAChB,EACAsT,cAAcz9C,UAAUoqC,KAAO,WAC7B7sC,KAAKmuB,SAAS0e,MAChB,EACAqT,cAAcz9C,UAAUkjD,YAAc,SAAUlE,GAC9C,OAAOA,EAAUzhD,KAAKQ,YAAcR,KAAKQ,YAAcR,KAAK0oB,SAC9D,EACAw3B,cAAcz9C,UAAU2gD,QAAU,SAAU1iC,GAC1C,GAAI1gB,KAAK6C,MAAQ7C,KAAK6C,KAAK6d,GACzB,OAAQA,GACN,IAAK,aACH1gB,KAAK0C,aAAage,EAAM,IAAI/gB,kBAAkB+gB,EAAM1gB,KAAKusC,aAAcvsC,KAAKQ,YAAaR,KAAKykD,gBAC9F,MACF,IAAK,eACHzkD,KAAK0C,aAAage,EAAM,IAAIvgB,oBAAoBugB,EAAM1gB,KAAKoiD,KAAMpiD,KAAKkiD,UAAWliD,KAAK+hD,YACtF,MACF,IAAK,WACH/hD,KAAK0C,aAAage,EAAM,IAAIxgB,gBAAgBwgB,EAAM1gB,KAAK+hD,YACvD,MACF,IAAK,eACH/hD,KAAK0C,aAAage,EAAM,IAAIpgB,oBAAoBogB,EAAM1gB,KAAKO,WAAYP,KAAKQ,cAC5E,MACF,IAAK,UACHR,KAAK0C,aAAage,EAAM,IAAIjgB,eAAeigB,EAAM1gB,OACjD,MACF,QACEA,KAAK0C,aAAage,GAGX,eAATA,GAAyB1gB,KAAKqlD,cAChCrlD,KAAKqlD,aAAa/G,KAAKt+C,KAAM,IAAIL,kBAAkB+gB,EAAM1gB,KAAKusC,aAAcvsC,KAAKQ,YAAaR,KAAK+hD,YAExF,iBAATrhC,GAA2B1gB,KAAKslD,gBAClCtlD,KAAKslD,eAAehH,KAAKt+C,KAAM,IAAIG,oBAAoBugB,EAAM1gB,KAAKoiD,KAAMpiD,KAAKkiD,UAAWliD,KAAK+hD,YAElF,aAATrhC,GAAuB1gB,KAAKulD,YAC9BvlD,KAAKulD,WAAWjH,KAAKt+C,KAAM,IAAIE,gBAAgBwgB,EAAM1gB,KAAK+hD,YAE/C,iBAATrhC,GAA2B1gB,KAAKwlD,gBAClCxlD,KAAKwlD,eAAelH,KAAKt+C,KAAM,IAAIM,oBAAoBogB,EAAM1gB,KAAKO,WAAYP,KAAKQ,cAExE,YAATkgB,GAAsB1gB,KAAKylD,WAC7BzlD,KAAKylD,UAAUnH,KAAKt+C,KAAM,IAAIS,eAAeigB,EAAM1gB,MAEvD,EACAkgD,cAAcz9C,UAAU8hD,wBAA0B,SAAU3jD,GAC1D,IAAIujD,EAAQ,IAAIxjD,wBAAwBC,EAAaZ,KAAKusC,cAC1DvsC,KAAK0C,aAAa,QAASyhD,GACvBnkD,KAAK4lD,SACP5lD,KAAK4lD,QAAQtH,KAAKt+C,KAAMmkD,EAE5B,EACAjE,cAAcz9C,UAAU2hD,mBAAqB,SAAUxjD,GACrD,IAAIujD,EAAQ,IAAItjD,mBAAmBD,EAAaZ,KAAKusC,cACrDvsC,KAAK0C,aAAa,QAASyhD,GACvBnkD,KAAK4lD,SACP5lD,KAAK4lD,QAAQtH,KAAKt+C,KAAMmkD,EAE5B,EACA,IAAI0B,YAAc,WAChB,IAAIx2C,EAAK,CACTA,gBACA,SAAyBywC,GACvB,IAAIgG,EAAa,EACbC,EAAY,GAuBhBjG,EAAU3xB,SAAS2nB,cAAgBC,wBAAwB+J,EAAU3xB,UACrE2xB,EAAU3xB,SAAShI,WAAWikB,iBAAiBW,oBAAoB+U,EAAU3xB,UAC7E2xB,EAAU3xB,SAAShI,WAAW6/B,eAxB9B,WACEF,GAAc,CAChB,EAuBAhG,EAAU3xB,SAAShI,WAAW8/B,cAtB9B,WAEqB,KADnBH,GAAc,IAUhB,WACE,IAAI/nD,EACFE,EAAM8nD,EAAU7nD,OAClB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBgoD,EAAUhoD,GAAGiyB,UAEf+1B,EAAU7nD,OAAS,CACrB,CAfIgoD,EAEJ,EAkBApG,EAAU3xB,SAAShI,WAAWggC,2BAjB9B,SAAoCC,IACK,IAAnCL,EAAU1hD,QAAQ+hD,IACpBL,EAAU/iD,KAAKojD,EAEnB,CAcF,GACA,OAAO/2C,CACT,CAnCkB,GAoClB/S,kBAAoBupD,YACpB,IAAIQ,kBAAoB,WAGtB,IAAIh3C,GAAK,CAAC,EACNxS,KAAOgB,OACP5B,OAAS,KACT4H,SAAW,KACf,SAASyiD,sBAAsB7iD,GAC7B,OAAOA,EAAIyhB,cAAgBxhB,OAASD,EAAIyhB,cAAgB5hB,YAC1D,CACA,SAASijD,YAAYC,EAAMplD,GACzB,MAAgB,WAATolD,GAA8B,YAATA,GAA+B,WAATA,GAAqBplD,aAAaqlD,MACtF,CACA,SAASC,QAAQ//C,GACf,IAAIggD,SAAchgD,EAClB,GAAa,WAATggD,GAA8B,YAATA,GAAsBhgD,aAAa8/C,OAC1D,OAAQ9/C,EAEV,GAAI2/C,sBAAsB3/C,GAAI,CAC5B,IAAI5I,EACF6oD,EAAOjgD,EAAEzI,OACP2oD,EAAS,GACb,IAAK9oD,EAAI,EAAGA,EAAI6oD,EAAM7oD,GAAK,EACzB8oD,EAAO9oD,IAAM4I,EAAE5I,GAEjB,OAAO8oD,CACT,CACA,OAAIlgD,EAAEib,SACGjb,EAAEvF,OADX,CAGF,CACA,IAAI0lD,UAAY13C,cAAc+T,gBAAgB,KAAO,EAAG,KAAM,KAAM,UAAUzS,IAC1Eq2C,WAAa33C,cAAc+T,gBAAgB,KAAO,KAAO,KAAM,EAAG,WAAWzS,IAC7Es2C,aAAe53C,cAAc+T,gBAAgB,IAAK,EAAG,KAAM,EAAG,aAAazS,IAC/E,SAASu2C,IAAItgD,EAAGpF,GACd,IAAIolD,SAAchgD,EACdugD,SAAc3lD,EAClB,GAAa,WAATolD,GAA8B,WAATO,EACvB,OAAOvgD,EAAIpF,EAEb,GAAIglD,YAAYI,EAAMhgD,IAAM4/C,YAAYW,EAAM3lD,GAC5C,OAAOoF,EAAIpF,EAEb,GAAI+kD,sBAAsB3/C,IAAM4/C,YAAYW,EAAM3lD,GAGhD,OAFAoF,EAAIA,EAAEqG,MAAM,IACV,GAAKrG,EAAE,GAAKpF,EACPoF,EAET,GAAI4/C,YAAYI,EAAMhgD,IAAM2/C,sBAAsB/kD,GAGhD,OAFAA,EAAIA,EAAEyL,MAAM,IACV,GAAKrG,EAAIpF,EAAE,GACNA,EAET,GAAI+kD,sBAAsB3/C,IAAM2/C,sBAAsB/kD,GAAI,CAKxD,IAJA,IAAIxD,EAAI,EACN6oD,EAAOjgD,EAAEzI,OACTipD,EAAO5lD,EAAErD,OACP2oD,EAAS,GACN9oD,EAAI6oD,GAAQ7oD,EAAIopD,IACA,kBAATxgD,EAAE5I,IAAmB4I,EAAE5I,aAAc0oD,UAA4B,kBAATllD,EAAExD,IAAmBwD,EAAExD,aAAc0oD,QACvGI,EAAO9oD,GAAK4I,EAAE5I,GAAKwD,EAAExD,GAErB8oD,EAAO9oD,QAAc4kC,IAATphC,EAAExD,GAAmB4I,EAAE5I,GAAK4I,EAAE5I,IAAMwD,EAAExD,GAEpDA,GAAK,EAEP,OAAO8oD,CACT,CACA,OAAO,CACT,CACA,IAAI5mB,IAAMgnB,IACV,SAASG,IAAIzgD,EAAGpF,GACd,IAAIolD,SAAchgD,EACdugD,SAAc3lD,EAClB,GAAIglD,YAAYI,EAAMhgD,IAAM4/C,YAAYW,EAAM3lD,GAO5C,MANa,WAATolD,IACFhgD,EAAIo8C,SAASp8C,IAEF,WAATugD,IACF3lD,EAAIwhD,SAASxhD,IAERoF,EAAIpF,EAEb,GAAI+kD,sBAAsB3/C,IAAM4/C,YAAYW,EAAM3lD,GAGhD,OAFAoF,EAAIA,EAAEqG,MAAM,IACV,GAAKrG,EAAE,GAAKpF,EACPoF,EAET,GAAI4/C,YAAYI,EAAMhgD,IAAM2/C,sBAAsB/kD,GAGhD,OAFAA,EAAIA,EAAEyL,MAAM,IACV,GAAKrG,EAAIpF,EAAE,GACNA,EAET,GAAI+kD,sBAAsB3/C,IAAM2/C,sBAAsB/kD,GAAI,CAKxD,IAJA,IAAIxD,EAAI,EACN6oD,EAAOjgD,EAAEzI,OACTipD,EAAO5lD,EAAErD,OACP2oD,EAAS,GACN9oD,EAAI6oD,GAAQ7oD,EAAIopD,IACA,kBAATxgD,EAAE5I,IAAmB4I,EAAE5I,aAAc0oD,UAA4B,kBAATllD,EAAExD,IAAmBwD,EAAExD,aAAc0oD,QACvGI,EAAO9oD,GAAK4I,EAAE5I,GAAKwD,EAAExD,GAErB8oD,EAAO9oD,QAAc4kC,IAATphC,EAAExD,GAAmB4I,EAAE5I,GAAK4I,EAAE5I,IAAMwD,EAAExD,GAEpDA,GAAK,EAEP,OAAO8oD,CACT,CACA,OAAO,CACT,CACA,SAASQ,IAAI1gD,EAAGpF,GACd,IAEIkC,EAIA1F,EAAGE,EANH0oD,SAAchgD,EACdugD,SAAc3lD,EAElB,GAAIglD,YAAYI,EAAMhgD,IAAM4/C,YAAYW,EAAM3lD,GAC5C,OAAOoF,EAAIpF,EAGb,GAAI+kD,sBAAsB3/C,IAAM4/C,YAAYW,EAAM3lD,GAAI,CAGpD,IAFAtD,EAAM0I,EAAEzI,OACRuF,EAAML,iBAAiB,UAAWnF,GAC7BF,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB0F,EAAI1F,GAAK4I,EAAE5I,GAAKwD,EAElB,OAAOkC,CACT,CACA,GAAI8iD,YAAYI,EAAMhgD,IAAM2/C,sBAAsB/kD,GAAI,CAGpD,IAFAtD,EAAMsD,EAAErD,OACRuF,EAAML,iBAAiB,UAAWnF,GAC7BF,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB0F,EAAI1F,GAAK4I,EAAIpF,EAAExD,GAEjB,OAAO0F,CACT,CACA,OAAO,CACT,CACA,SAAS69C,IAAI36C,EAAGpF,GACd,IAEIkC,EAIA1F,EAAGE,EANH0oD,SAAchgD,EACdugD,SAAc3lD,EAElB,GAAIglD,YAAYI,EAAMhgD,IAAM4/C,YAAYW,EAAM3lD,GAC5C,OAAOoF,EAAIpF,EAGb,GAAI+kD,sBAAsB3/C,IAAM4/C,YAAYW,EAAM3lD,GAAI,CAGpD,IAFAtD,EAAM0I,EAAEzI,OACRuF,EAAML,iBAAiB,UAAWnF,GAC7BF,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB0F,EAAI1F,GAAK4I,EAAE5I,GAAKwD,EAElB,OAAOkC,CACT,CACA,GAAI8iD,YAAYI,EAAMhgD,IAAM2/C,sBAAsB/kD,GAAI,CAGpD,IAFAtD,EAAMsD,EAAErD,OACRuF,EAAML,iBAAiB,UAAWnF,GAC7BF,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB0F,EAAI1F,GAAK4I,EAAIpF,EAAExD,GAEjB,OAAO0F,CACT,CACA,OAAO,CACT,CACA,SAAS6jD,IAAI3gD,EAAGpF,GAOd,MANiB,kBAANoF,IACTA,EAAIo8C,SAASp8C,IAEE,kBAANpF,IACTA,EAAIwhD,SAASxhD,IAERoF,EAAIpF,CACb,CACA,IAAIgmD,QAAUN,IACVO,QAAUJ,IACVK,QAAUJ,IACVK,QAAUpG,IACVqG,QAAUL,IACd,SAASM,MAAM5e,EAAKrrC,EAAKF,GACvB,GAAIE,EAAMF,EAAK,CACb,IAAIoqD,EAAKpqD,EACTA,EAAME,EACNA,EAAMkqD,CACR,CACA,OAAOhrD,KAAKc,IAAId,KAAKY,IAAIurC,EAAKrrC,GAAMF,EACtC,CACA,SAASqqD,iBAAiB1pD,GACxB,OAAOA,EAAMI,SACf,CACA,IAAIupD,mBAAqBD,iBACzB,SAASE,iBAAiB5pD,GACxB,OAAOA,EAAMI,SACf,CACA,IAAIypD,mBAAqBH,iBACrBI,kBAAoB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GACxC,SAAShqD,OAAOiqD,EAAMC,GACpB,GAAoB,kBAATD,GAAqBA,aAAgB1B,OAE9C,OADA2B,EAAOA,GAAQ,EACRvrD,KAAKQ,IAAI8qD,EAAOC,GAEpBA,IACHA,EAAOF,mBAET,IAAInqD,EACFE,EAAMpB,KAAKc,IAAIwqD,EAAKjqD,OAAQkqD,EAAKlqD,QAC/B0V,EAAc,EAClB,IAAK7V,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB6V,GAAe/W,KAAKI,IAAImrD,EAAKrqD,GAAKoqD,EAAKpqD,GAAI,GAE7C,OAAOlB,KAAKM,KAAKyW,EACnB,CACA,SAASy0C,UAAUC,GACjB,OAAOhH,IAAIgH,EAAKpqD,OAAOoqD,GACzB,CACA,SAASC,SAASnqD,GAChB,IAKI8C,EACFC,EANEE,EAAIjD,EAAI,GACRkD,EAAIlD,EAAI,GACRmD,EAAInD,EAAI,GACRX,EAAMZ,KAAKY,IAAI4D,EAAGC,EAAGC,GACvB5D,EAAMd,KAAKc,IAAI0D,EAAGC,EAAGC,GAGrByF,GAAKvJ,EAAME,GAAO,EACpB,GAAIF,GAAOE,EACTuD,EAAIC,EAAI,MACH,CACL,IAAIU,EAAIpE,EAAME,EAEd,OADAwD,EAAI6F,EAAI,GAAMnF,GAAK,EAAIpE,EAAME,GAAOkE,GAAKpE,EAAME,GACvCF,GACN,KAAK4D,EACHH,GAAKI,EAAIC,GAAKM,GAAKP,EAAIC,EAAI,EAAI,GAC/B,MACF,KAAKD,EACHJ,GAAKK,EAAIF,GAAKQ,EAAI,EAClB,MACF,KAAKN,EACHL,GAAKG,EAAIC,GAAKO,EAAI,EAGtBX,GAAK,CACP,CACA,MAAO,CAACA,EAAGC,EAAG6F,EAAG5I,EAAI,GACvB,CACA,SAASoqD,QAAQ/mD,EAAGC,EAAGC,GAGrB,OAFIA,EAAI,IAAGA,GAAK,GACZA,EAAI,IAAGA,GAAK,GACZA,EAAI,EAAI,EAAUF,EAAc,GAATC,EAAID,GAASE,EACpCA,EAAI,GAAcD,EAClBC,EAAI,EAAI,EAAUF,GAAKC,EAAID,IAAM,EAAI,EAAIE,GAAK,EAC3CF,CACT,CACA,SAASgnD,SAASrqD,GAChB,IAGIiD,EAAGC,EAAGC,EAHNL,EAAI9C,EAAI,GACR+C,EAAI/C,EAAI,GACR4I,EAAI5I,EAAI,GAEZ,GAAU,IAAN+C,EACFE,EAAIC,EAAIC,EAAIyF,MACP,CACL,IAAItF,EAAIsF,EAAI,GAAMA,GAAK,EAAI7F,GAAK6F,EAAI7F,EAAI6F,EAAI7F,EACxCM,EAAI,EAAIuF,EAAItF,EAChBL,EAAImnD,QAAQ/mD,EAAGC,EAAGR,EAAI,EAAI,GAC1BI,EAAIknD,QAAQ/mD,EAAGC,EAAGR,GAClBK,EAAIinD,QAAQ/mD,EAAGC,EAAGR,EAAI,EAAI,EAC5B,CACA,MAAO,CAACG,EAAGC,EAAGC,EAAGnD,EAAI,GACvB,CACA,SAASsqD,OAAO/mD,EAAGgnD,EAAMC,EAAMC,EAAQC,GAOrC,QANenmB,IAAXkmB,QAAmClmB,IAAXmmB,IAC1BD,EAASF,EACTG,EAASF,EACTD,EAAO,EACPC,EAAO,GAELA,EAAOD,EAAM,CACf,IAAII,EAAQH,EACZA,EAAOD,EACPA,EAAOI,CACT,CACA,GAAIpnD,GAAKgnD,EACP,OAAOE,EACF,GAAIlnD,GAAKinD,EACd,OAAOE,EAET,IAAIr1C,EAAOm1C,IAASD,EAAO,GAAKhnD,EAAIgnD,IAASC,EAAOD,GACpD,IAAKE,EAAO3qD,OACV,OAAO2qD,GAAUC,EAASD,GAAUp1C,EAEtC,IAAI1V,EACFE,EAAM4qD,EAAO3qD,OACXuF,EAAML,iBAAiB,UAAWnF,GACtC,IAAKF,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB0F,EAAI1F,GAAK8qD,EAAO9qD,IAAM+qD,EAAO/qD,GAAK8qD,EAAO9qD,IAAM0V,EAEjD,OAAOhQ,CACT,CACA,SAAStF,OAAOR,EAAKF,GAUnB,QATYklC,IAARllC,SACUklC,IAARhlC,GACFA,EAAM,EACNF,EAAM,IAENA,EAAME,EACNA,OAAMglC,IAGNllC,EAAIS,OAAQ,CACd,IAAIH,EACFE,EAAMR,EAAIS,OACPP,IACHA,EAAMyF,iBAAiB,UAAWnF,IAEpC,IAAIwF,EAAML,iBAAiB,UAAWnF,GAClC+qD,EAAMnrD,OAAOM,SACjB,IAAKJ,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB0F,EAAI1F,GAAKJ,EAAII,GAAKirD,GAAOvrD,EAAIM,GAAKJ,EAAII,IAExC,OAAO0F,CACT,CAKA,YAJYk/B,IAARhlC,IACFA,EAAM,GAGDA,EADIE,OAAOM,UACGV,EAAME,EAC7B,CACA,SAASsrD,WAAW14C,EAAQ24C,EAAYC,EAAa5zC,GACnD,IAAIxX,EACFE,EAAMsS,EAAOrS,OACXkc,EAAO8Q,WAAWjX,aACtBmG,EAAK6O,cAAc1T,EAAQtX,GAC3B,IACEmrD,EACAC,EAFEC,EAAiB,CAAC,EAAG,GAGzB,IAAKvrD,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBqrD,EAAgBF,GAAcA,EAAWnrD,GAAKmrD,EAAWnrD,GAAKurD,EAC9DD,EAAiBF,GAAeA,EAAYprD,GAAKorD,EAAYprD,GAAKurD,EAClElvC,EAAKmP,YAAYhZ,EAAOxS,GAAG,GAAIwS,EAAOxS,GAAG,GAAIsrD,EAAe,GAAK94C,EAAOxS,GAAG,GAAIsrD,EAAe,GAAK94C,EAAOxS,GAAG,GAAIqrD,EAAc,GAAK74C,EAAOxS,GAAG,GAAIqrD,EAAc,GAAK74C,EAAOxS,GAAG,GAAIA,GAAG,GAExL,OAAOqc,CACT,CACA,SAASmvC,mBAAmBrjC,KAAMjN,KAAMuwC,UACtC,IAAIprD,IAAM6a,KAAK/O,EACXu/C,cAAgB,qBAAqBjtD,KAAK4B,KAC1CsrD,cAA0C,IAA3BtrD,IAAIiG,QAAQ,UAC3BslD,SAAWzjC,KAAKjN,KAAK3R,GACrBE,UAAWoiD,cAAe1T,QAAS2T,OACnCC,aAAeN,SACnBM,aAAaC,YAAcD,aAAanhC,eACxClW,OAAOu3C,eAAeF,aAAc,QAAS,CAC3Cp5C,IAAK,WACH,OAAOo5C,aAAa1oD,CACtB,IAEF8kB,KAAKT,KAAKwkC,cAAgB,EAAI/jC,KAAKT,KAAKU,WAAWuC,UACnDxC,KAAKT,KAAKykC,iBAAmB,EAC7B,IAAIC,QAAUjkC,KAAKjN,KAAKgwB,GAAK/iB,KAAKT,KAAKU,WAAWuC,UAC9C0hC,SAAWlkC,KAAKjN,KAAKsb,GAAKrO,KAAKT,KAAKU,WAAWuC,UAC/Cvc,MAAQ+Z,KAAKjN,KAAK+hB,GAAK9U,KAAKjN,KAAK+hB,GAAK,EACtCpE,OAAS1Q,KAAKjN,KAAK8K,GAAKmC,KAAKjN,KAAK8K,GAAK,EACvCrD,KAAOwF,KAAKjN,KAAK3J,GACjB+6C,OAAQC,QAASC,QAASC,SAAUC,OACpCC,QAASC,UAAWC,SAAUC,OAAQC,kBAAmB9rD,SAAU+rD,SAAUC,YAAaxkD,MAAOykD,UAAWC,SAAU1+C,KAAMu9C,YAAaoB,eACzIC,uBAAyB,GAQzBC,aAPJ,GAAIpyC,KAAKqyC,GAAI,CACX,IAAIvtD,EACFE,IAAMgb,KAAKqyC,GAAGptD,OAChB,IAAKH,EAAI,EAAGA,EAAIE,IAAKF,GAAK,EACxBqtD,uBAAuBrtD,GAAKwtD,KAAK,uBAAyBtyC,KAAKqyC,GAAGvtD,GAAK,OAE3E,CAEA,IAAIytD,oBAAsBD,KAAK,oCAAsCntD,IAAtC,0BAA2E,GACtGqtD,QAAUjC,SAAS/iC,GAAKxN,KAAKlS,EAAE7I,OAAS,EACxCwtD,QAAU1rD,KAAKiZ,OAAyB,IAAjBjZ,KAAKiZ,KAAK6uB,GACjC6jB,OAAS,SAAgBC,EAAMC,GACjC,IAAI9tD,EACF+I,EACA7I,EAAM+B,KAAK6hB,GAAG3jB,OAAS8B,KAAK6hB,GAAG3jB,OAAS,EACtC4tD,EAAY1oD,iBAAiB,UAAWnF,GAExC8yC,EAAal0C,KAAKU,MADf,EACqB28C,MAG5B,IAFAn8C,EAAI,EACJ+I,EAAI,EACG/I,EAAIgzC,GAAY,CAErB,IAAKjqC,EAAI,EAAGA,EAAI7I,EAAK6I,GAAK,EACxBglD,EAAUhlD,KAAO+kD,EAAY,EAANA,EAAUhuD,OAAOM,SAG1CJ,GAAK,CACP,CAEA,IAAIguD,EAbG,EAaO7R,KACVzmC,EAAOs4C,EAAUlvD,KAAKU,MAAMwuD,GAC5BtoD,EAAML,iBAAiB,UAAWnF,GACtC,GAAIA,EAAM,EAAG,CACX,IAAK6I,EAAI,EAAGA,EAAI7I,EAAK6I,GAAK,EACxBrD,EAAIqD,GAAK9G,KAAK6hB,GAAG/a,GAAKglD,EAAUhlD,KAAO+kD,EAAY,EAANA,EAAUhuD,OAAOM,UAAYsV,EAI5E,OAAOhQ,CACT,CACE,OAAOzD,KAAK6hB,GAAKiqC,EAAU,KAAOD,EAAY,EAANA,EAAUhuD,OAAOM,UAAYsV,CAEzE,EAAEvQ,KAAKlD,MAYP,SAASgsD,eAAepsD,EAAMqsD,GAC5B,OAAO5B,OAAOzqD,EAAMqsD,GAAU,EAChC,CACA,SAASC,gBAAgBtsD,EAAMqsD,GAC7B,OAAO1B,QAAQ3qD,EAAMqsD,GAAU,EACjC,CAhBInC,aAAaO,SACfA,OAASP,aAAaO,OAAOnnD,KAAK4mD,cAClCQ,QAAUD,QAERP,aAAaS,UACfA,QAAUT,aAAaS,QAAQrnD,KAAK4mD,cACpCU,SAAWD,SAETT,aAAaW,SACfA,OAASX,aAAaW,OAAOvnD,KAAK4mD,eAQhC9pD,KAAK2oB,iBACPohC,YAAc/pD,KAAK2oB,eAAezlB,KAAKlD,OAErCA,KAAKmsD,oBACPhB,eAAiBnrD,KAAKmsD,kBAAkBjpD,KAAKlD,OAE/C,IAAIylB,KAAOS,KAAKT,KAAKU,WAAWikB,iBAAiBlnC,KAAKgjB,KAAKT,KAAKU,WAAWikB,kBA4IvE8P,KAAMkS,SAAU5oD,MAAOs9B,KAAMurB,UAAWC,UAAWC,cA3IvD,SAASC,OAAOC,EAAOC,GACrB,IAAIC,EAAO,CAACD,EAAM,GAAKD,EAAM,GAAIC,EAAM,GAAKD,EAAM,GAAIC,EAAM,GAAKD,EAAM,IACnEG,EAAQ/vD,KAAKmoB,MAAM2nC,EAAK,GAAI9vD,KAAKM,KAAKwvD,EAAK,GAAKA,EAAK,GAAKA,EAAK,GAAKA,EAAK,KAAOnuD,UAEpF,MAAO,EADI3B,KAAKmoB,MAAM2nC,EAAK,GAAIA,EAAK,IAAMnuD,UAC7BouD,EAAO,EACtB,CACA,SAASC,QAAQlrD,EAAGgnD,EAAMC,EAAMkE,EAAMC,GACpC,OAAOC,UAAUjG,WAAYplD,EAAGgnD,EAAMC,EAAMkE,EAAMC,EACpD,CACA,SAASE,OAAOtrD,EAAGgnD,EAAMC,EAAMkE,EAAMC,GACnC,OAAOC,UAAUlG,UAAWnlD,EAAGgnD,EAAMC,EAAMkE,EAAMC,EACnD,CACA,SAASG,KAAKvrD,EAAGgnD,EAAMC,EAAMkE,EAAMC,GACjC,OAAOC,UAAUhG,aAAcrlD,EAAGgnD,EAAMC,EAAMkE,EAAMC,EACtD,CACA,SAASC,UAAUrR,EAAIh6C,EAAGgnD,EAAMC,EAAMkE,EAAMC,QAC7BpqB,IAATmqB,GACFA,EAAOnE,EACPoE,EAAOnE,GAEPjnD,GAAKA,EAAIgnD,IAASC,EAAOD,GAG3B,IAAI3iC,EAAO21B,EADXh6C,EAAIA,EAAI,EAAI,EAAIA,EAAI,EAAI,EAAIA,GAE5B,GAAI2kD,sBAAsBwG,GAAO,CAC/B,IAAI/uD,EACFE,EAAM6uD,EAAK5uD,OACTuF,EAAML,iBAAiB,UAAWnF,GACtC,IAAKF,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB0F,EAAI1F,IAAMgvD,EAAKhvD,GAAK+uD,EAAK/uD,IAAMioB,EAAO8mC,EAAK/uD,GAE7C,OAAO0F,CACT,CACE,OAAQspD,EAAOD,GAAQ9mC,EAAO8mC,CAElC,CACA,SAASK,WAAWjT,GAClB,IAAIn8C,EAEF+iB,EACAgC,EAFA7kB,EAAMgb,KAAKlS,EAAE7I,OAGf,GAAK+a,KAAKlS,EAAE7I,QAA+B,kBAAd+a,KAAKlS,EAAE,GAMlC,GAFA+Z,GAAS,GACTo5B,GAAQh0B,KAAKT,KAAKU,WAAWuC,WAClBzP,KAAKlS,EAAE,GAAGpF,EACnBmf,EAAQ,EACRgC,EAAU7J,KAAKlS,EAAE,GAAGpF,MACf,CACL,IAAK5D,EAAI,EAAGA,EAAIE,EAAM,EAAGF,GAAK,EAAG,CAC/B,GAAIm8C,IAASjhC,KAAKlS,EAAEhJ,GAAG4D,EAAG,CACxBmf,EAAQ/iB,EAAI,EACZ+kB,EAAU7J,KAAKlS,EAAEhJ,GAAG4D,EACpB,KACF,CAAO,GAAIu4C,EAAOjhC,KAAKlS,EAAEhJ,GAAG4D,GAAKu4C,EAAOjhC,KAAKlS,EAAEhJ,EAAI,GAAG4D,EAAG,CACnDu4C,EAAOjhC,KAAKlS,EAAEhJ,GAAG4D,EAAIsX,KAAKlS,EAAEhJ,EAAI,GAAG4D,EAAIu4C,GACzCp5B,EAAQ/iB,EAAI,EACZ+kB,EAAU7J,KAAKlS,EAAEhJ,EAAI,GAAG4D,IAExBmf,EAAQ/iB,EAAI,EACZ+kB,EAAU7J,KAAKlS,EAAEhJ,GAAG4D,GAEtB,KACF,CACF,EACe,IAAXmf,IACFA,EAAQ/iB,EAAI,EACZ+kB,EAAU7J,KAAKlS,EAAEhJ,GAAG4D,EAExB,MA7BAmf,EAAQ,EACRgC,EAAU,EA8BZ,IAAIzT,EAAK,CAAC,EAGV,OAFAA,EAAGyR,MAAQA,EACXzR,EAAG6qC,KAAOp3B,EAAUoD,KAAKT,KAAKU,WAAWuC,UAClCrZ,CACT,CACA,SAAS3C,IAAIuW,GACX,IAAI5T,EAAItR,EAAGE,EACX,IAAKgb,KAAKlS,EAAE7I,QAA+B,kBAAd+a,KAAKlS,EAAE,GAClC,MAAM,IAAI8iC,MAAM,yCAA2C5mB,GAE7DA,GAAO,EACP5T,EAAK,CACH6qC,KAAMjhC,KAAKlS,EAAEkc,GAAKthB,EAAIukB,KAAKT,KAAKU,WAAWuC,UAC3CllB,MAAO,IAET,IAAIC,EAAMwV,KAAKlS,EAAEkc,GAAK3Q,eAAe,KAAO2G,KAAKlS,EAAEkc,GAAK9hB,EAAI8X,KAAKlS,EAAEkc,EAAM,GAAGpc,EAE5E,IADA5I,EAAMwF,EAAIvF,OACLH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBsR,EAAGtR,GAAK0F,EAAI1F,GACZsR,EAAG7L,MAAMzF,GAAK0F,EAAI1F,GAEpB,OAAOsR,CACT,CACA,SAAS+9C,aAAaC,EAAQC,GAI5B,OAHKA,IACHA,EAAMpnC,KAAKT,KAAKU,WAAWuC,WAEtB2kC,EAASC,CAClB,CACA,SAASC,aAAa5rD,EAAG2rD,GAOvB,OANK3rD,GAAW,IAANA,IACRA,EAAIu4C,MAEDoT,IACHA,EAAMpnC,KAAKT,KAAKU,WAAWuC,WAEtB/mB,EAAI2rD,CACb,CACA,SAASE,WAAWjgD,GAClB1P,OAAO4vD,WAAWC,SAAWngD,EAC/B,CACA,SAASqhC,mBACP,OAAO1oB,KAAK0oB,kBACd,CACA,SAAS+e,UAAUxjC,EAAM66B,GACvB,MAAqB,kBAAVxhD,WACGm/B,IAARqiB,EACKxhD,MAAMmqD,UAAUxjC,GAElB3mB,MAAMmqD,UAAUxjC,EAAM66B,GAExB,EACT,CACA,SAAS9jB,OAAO/W,EAAM66B,GACpB,MAAqB,kBAAVxhD,WACGm/B,IAARqiB,EACKxhD,MAAM09B,OAAO/W,GAEf3mB,MAAM09B,OAAO/W,EAAM66B,GAErB,EACT,CACA,SAAS4I,cAAcC,GACrB3T,KAA2B,IAApB2T,EAAwB,EAAIhxD,KAAKU,MAAM28C,KAAO2T,GAAmBA,EACxErqD,MAAQumD,YAAY7P,KACtB,CAEA,IAAIp5B,MAAQoF,KAAKjN,KAAKgK,IAClB6qC,aAAe5nC,KAAKskB,YAAatkB,KAAKskB,UAAUtsC,QAChDmf,OACAqwC,SAAW7wD,KAAKU,MAAsB,IAAhBV,KAAKsB,UAC3BgoB,WAAaD,KAAKC,WACtB,SAAS4nC,kBAAkBC,GAMzB,OAJAxqD,MAAQwqD,EACJtE,cACF8D,WAAWE,UAET1tD,KAAKiuD,oBAAsB/nC,KAAKC,WAAWC,SAA6B,iBAAlBpmB,KAAK4hB,SACtDpe,OAEa,iBAAlBxD,KAAK4hB,WACPyqC,UAAYrsD,KAAKqsD,UACjBC,UAAYtsD,KAAKssD,UACjBC,cAAgBvsD,KAAKusD,eAElBtB,YACHnqB,KAAO5a,KAAKqvB,eAAezU,KAC3BmqB,UAAY/kC,KAAKqvB,eACjB2V,SAAWhlC,KAAKT,KAAKqwB,cACrB4U,QAAUO,UAAUP,QAAQxnD,KAAK+nD,WACjCN,UAAYM,UAAUN,UAAUznD,KAAK+nD,WACrCL,SAAWK,UAAUL,SAAS1nD,KAAK+nD,WACnCJ,OAASI,UAAUJ,OAAO3nD,KAAK+nD,WAC/Bz+C,KAAOy+C,UAAUz+C,KAAOy+C,UAAUz+C,KAAKtJ,KAAK+nD,WAAa,KACzDH,kBAAoBF,UAEjBpjD,YACHA,UAAY0e,KAAKqvB,eAAe,wBAChCqU,cAAgBpiD,UACZA,YACFwjD,YAAcxjD,UAAUwjD,cAMX,IAAbrB,UAAmBzT,UACrBA,QAAU+U,UAAU,4BAEjBpB,SACHA,OAASoB,UAAU,KAErB6C,aAAe5nC,KAAKskB,YAAatkB,KAAKskB,UAAUtsC,WAC9Bmf,SAChBA,OAAS6I,KAAKskB,UAAU,GAAG+K,gBAE7B2E,KAAOl6C,KAAKylB,KAAKC,cAAgB1lB,KAAKylB,KAAKU,WAAWuC,UAClD+gC,gBACF2C,SAAWjB,eAAejR,OAE5BsR,sBACAxrD,KAAKiuD,kBAAoB/nC,KAAKC,WAAWC,QAGX,UAA1BilC,aAAazpC,WACfypC,aAAeA,aAAajqD,GAGvBiqD,aACT,CACA,OAAO0C,iBACT,CAEA,OADA1+C,GAAGk6C,mBAAqBA,mBACjBl6C,EACT,CA5nBwB,GA6nBpB6+C,kBAgEK,CACLC,kBAhEF,SAA2BjoC,EAAMjN,EAAM9U,GACjC8U,EAAK/O,IACP/F,EAAK4C,GAAI,EACT5C,EAAK+F,GAAI,EACT/F,EAAKolD,mBAAqBlD,kBAAkBkD,mBAC5CplD,EAAKkiB,gBAAgBrjB,KAAKmB,EAAKolD,mBAAmBrjC,EAAMjN,EAAM9U,GAAMjB,KAAKiB,IAE7E,EA0DEiqD,eA/CF,SAAwB5sC,GACtB,IACIgH,EAAKxoB,KAAK2oB,eAAenH,GACzBiH,EAAKzoB,KAAK2oB,eAAenH,GAFhB,KAGT6sC,EAAQ,EACZ,GAAI7lC,EAAGtqB,OAAQ,CACb,IAAIH,EACJ,IAAKA,EAAI,EAAGA,EAAIyqB,EAAGtqB,OAAQH,GAAK,EAC9BswD,GAASxxD,KAAKI,IAAIwrB,EAAG1qB,GAAKyqB,EAAGzqB,GAAI,GAEnCswD,EAA2B,IAAnBxxD,KAAKM,KAAKkxD,EACpB,MACEA,EAAQ,EAEV,OAAOA,CACT,EAiCElC,kBAhCF,SAA2B3qC,GACzB,QAAiBmhB,IAAb3iC,KAAK6mB,IACP,OAAO7mB,KAAK6mB,IAEd,IAIIulC,EAGEruD,EAPFuwD,GAAS,KAET9lC,EAAKxoB,KAAK2oB,eAAenH,GACzBiH,EAAKzoB,KAAK2oB,eAAenH,EAAW8sC,GAExC,GAAI9lC,EAAGtqB,OAGL,IAFAkuD,EAAWhpD,iBAAiB,UAAWolB,EAAGtqB,QAErCH,EAAI,EAAGA,EAAIyqB,EAAGtqB,OAAQH,GAAK,EAI9BquD,EAASruD,IAAM0qB,EAAG1qB,GAAKyqB,EAAGzqB,IAAMuwD,OAGlClC,GAAY3jC,EAAKD,GAAM8lC,EAEzB,OAAOlC,CACT,EAWEzjC,eA3DF,SAAwBnH,GAQtB,OAPAA,GAAYxhB,KAAKkmB,KAAKC,WAAWuC,WACjClH,GAAYxhB,KAAK2hB,cACA3hB,KAAKuuD,eAAejrC,YACnCtjB,KAAKuuD,eAAersC,UAAYliB,KAAKuuD,eAAejrC,UAAY9B,EAAWxhB,KAAKuuD,eAAersC,UAAY,EAC3GliB,KAAKuuD,eAAe/qD,MAAQxD,KAAKuhB,iBAAiBC,EAAUxhB,KAAKuuD,gBACjEvuD,KAAKuuD,eAAejrC,UAAY9B,GAE3BxhB,KAAKuuD,eAAe/qD,KAC7B,EAmDEgrD,qBAXF,WACE,OAAOxuD,KAAK6hB,EACd,EAUE4sC,iBATF,SAA0BC,GACxB1uD,KAAK0uD,cAAgBA,CACvB,IAUF,WACE,SAASnE,EAAQ3qD,EAAMqsD,EAAU0C,GAC/B,IAAK3uD,KAAK+G,IAAM/G,KAAKmiB,UACnB,OAAOniB,KAAK6hB,GAEdjiB,EAAOA,EAAOA,EAAK+hC,cAAgB,GACnC,IAMMitB,EAAeC,EAef9wD,EAAGE,EAAK6wD,EArBVviB,EAAevsC,KAAKylB,KAAKC,cACzBvD,EAAYniB,KAAKmiB,UACjB4sC,EAAe5sC,EAAUA,EAAUjkB,OAAS,GAAGyD,EACnD,GAAI4qC,GAAgBwiB,EAClB,OAAO/uD,KAAK6hB,GAkBZ,GAfK8sC,EAYHE,EAAgBE,GAFdH,EAHG3C,EAGapvD,KAAKQ,IAAI0xD,EAAe7oC,KAAKT,KAAKU,WAAWuC,UAAYujC,GAFzDpvD,KAAKY,IAAI,EAAGsxD,EAAe/uD,KAAKkmB,KAAKjN,KAAKgwB,QAPvDgjB,GAAYA,EAAW9pC,EAAUjkB,OAAS,KAC7C+tD,EAAW9pC,EAAUjkB,OAAS,GAGhC0wD,EAAgBG,GADhBF,EAAgB1sC,EAAUA,EAAUjkB,OAAS,EAAI+tD,GAAUtqD,IAWhD,aAAT/B,GAEF,GADiB/C,KAAKU,OAAOgvC,EAAesiB,GAAiBD,GAC5C,IAAM,EACrB,OAAO5uD,KAAK2oB,gBAAgBimC,GAAiBriB,EAAesiB,GAAiBD,EAAgBC,GAAiB7uD,KAAKylB,KAAKU,WAAWuC,UAAW,OAE3I,IAAa,WAAT9oB,EAAmB,CAC5B,IAAIovD,EAAQhvD,KAAK2oB,eAAekmC,EAAgB7uD,KAAKylB,KAAKU,WAAWuC,UAAW,GAC5EumC,EAAOjvD,KAAK2oB,eAAeomC,EAAe/uD,KAAKylB,KAAKU,WAAWuC,UAAW,GAC1EwmC,EAAUlvD,KAAK2oB,iBAAiB4jB,EAAesiB,GAAiBD,EAAgBC,GAAiB7uD,KAAKylB,KAAKU,WAAWuC,UAAW,GACjIymC,EAAUtyD,KAAKU,OAAOgvC,EAAesiB,GAAiBD,GAC1D,GAAI5uD,KAAK6hB,GAAG3jB,OAAQ,CAGlB,IADAD,GADA6wD,EAAM,IAAIprD,MAAMsrD,EAAM9wD,SACZA,OACLH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB+wD,EAAI/wD,IAAMkxD,EAAKlxD,GAAKixD,EAAMjxD,IAAMoxD,EAAUD,EAAQnxD,GAEpD,OAAO+wD,CACT,CACA,OAAQG,EAAOD,GAASG,EAAUD,CACpC,CAAO,GAAa,aAATtvD,EAAqB,CAC9B,IAAIwvD,EAAYpvD,KAAK2oB,eAAeomC,EAAe/uD,KAAKylB,KAAKU,WAAWuC,UAAW,GAC/E2mC,EAAgBrvD,KAAK2oB,gBAAgBomC,EAAe,MAAS/uD,KAAKylB,KAAKU,WAAWuC,UAAW,GACjG,GAAI1oB,KAAK6hB,GAAG3jB,OAAQ,CAGlB,IADAD,GADA6wD,EAAM,IAAIprD,MAAM0rD,EAAUlxD,SAChBA,OACLH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB+wD,EAAI/wD,GAAKqxD,EAAUrxD,IAAMqxD,EAAUrxD,GAAKsxD,EAActxD,MAAQwuC,EAAewiB,GAAgB/uD,KAAKylB,KAAKU,WAAWuC,WAAa,KAEjI,OAAOomC,CACT,CACA,OAAOM,GAA4C7iB,EAAewiB,GAAgB,MAA9DK,EAAYC,EAClC,EACA,OAAOrvD,KAAK2oB,iBAAiB4jB,EAAesiB,GAAiBD,EAAgBC,GAAiB7uD,KAAKylB,KAAKU,WAAWuC,UAAW,EAElI,CACA,SAAS2hC,EAAOzqD,EAAMqsD,EAAU0C,GAC9B,IAAK3uD,KAAK+G,EACR,OAAO/G,KAAK6hB,GAEdjiB,EAAOA,EAAOA,EAAK+hC,cAAgB,GACnC,IAMMitB,EAAeG,EAefhxD,EAAGE,EAAK6wD,EArBVviB,EAAevsC,KAAKylB,KAAKC,cACzBvD,EAAYniB,KAAKmiB,UACjB0sC,EAAgB1sC,EAAU,GAAGxgB,EACjC,GAAI4qC,GAAgBsiB,EAClB,OAAO7uD,KAAK6hB,GAkBZ,GAfK8sC,EAYHI,EAAeF,GAFbD,EAHG3C,EAGapvD,KAAKQ,IAAI6oB,KAAKT,KAAKU,WAAWuC,UAAYujC,GAF1CpvD,KAAKY,IAAI,EAAGuC,KAAKkmB,KAAKjN,KAAKsb,GAAKs6B,OAP7C5C,GAAYA,EAAW9pC,EAAUjkB,OAAS,KAC7C+tD,EAAW9pC,EAAUjkB,OAAS,GAGhC0wD,GADAG,EAAe5sC,EAAU8pC,GAAUtqD,GACJktD,GAUpB,aAATjvD,GAEF,GADiB/C,KAAKU,OAAOsxD,EAAgBtiB,GAAgBqiB,GAC5C,IAAM,EACrB,OAAO5uD,KAAK2oB,iBAAiBkmC,EAAgBtiB,GAAgBqiB,EAAgBC,GAAiB7uD,KAAKylB,KAAKU,WAAWuC,UAAW,OAE3H,IAAa,WAAT9oB,EAAmB,CAC5B,IAAIovD,EAAQhvD,KAAK2oB,eAAekmC,EAAgB7uD,KAAKylB,KAAKU,WAAWuC,UAAW,GAC5EumC,EAAOjvD,KAAK2oB,eAAeomC,EAAe/uD,KAAKylB,KAAKU,WAAWuC,UAAW,GAC1EwmC,EAAUlvD,KAAK2oB,gBAAgBimC,GAAiBC,EAAgBtiB,GAAgBqiB,EAAgBC,GAAiB7uD,KAAKylB,KAAKU,WAAWuC,UAAW,GACjJymC,EAAUtyD,KAAKU,OAAOsxD,EAAgBtiB,GAAgBqiB,GAAiB,EAC3E,GAAI5uD,KAAK6hB,GAAG3jB,OAAQ,CAGlB,IADAD,GADA6wD,EAAM,IAAIprD,MAAMsrD,EAAM9wD,SACZA,OACLH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB+wD,EAAI/wD,GAAKmxD,EAAQnxD,IAAMkxD,EAAKlxD,GAAKixD,EAAMjxD,IAAMoxD,EAE/C,OAAOL,CACT,CACA,OAAOI,GAAWD,EAAOD,GAASG,CACpC,CAAO,GAAa,aAATvvD,EAAqB,CAC9B,IAAI0vD,EAAatvD,KAAK2oB,eAAekmC,EAAgB7uD,KAAKylB,KAAKU,WAAWuC,UAAW,GACjF6mC,EAAiBvvD,KAAK2oB,gBAAgBkmC,EAAgB,MAAS7uD,KAAKylB,KAAKU,WAAWuC,UAAW,GACnG,GAAI1oB,KAAK6hB,GAAG3jB,OAAQ,CAGlB,IADAD,GADA6wD,EAAM,IAAIprD,MAAM4rD,EAAWpxD,SACjBA,OACLH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB+wD,EAAI/wD,GAAKuxD,EAAWvxD,IAAMuxD,EAAWvxD,GAAKwxD,EAAexxD,KAAO8wD,EAAgBtiB,GAAgB,KAElG,OAAOuiB,CACT,CACA,OAAOQ,GAAcA,EAAaC,IAAmBV,EAAgBtiB,GAAgB,IACvF,EACA,OAAOvsC,KAAK2oB,gBAAgBimC,GAAiBC,EAAgBtiB,GAAgBqiB,EAAgBC,GAAiB7uD,KAAKylB,KAAKU,WAAWuC,UAAW,EAElJ,CACA,SAAS+hC,EAAOt+C,EAAOqjD,GACrB,IAAKxvD,KAAK+G,EACR,OAAO/G,KAAK6hB,GAId,GAFA1V,EAAyB,IAAhBA,GAAS,KAClBqjD,EAAU3yD,KAAKU,MAAMiyD,GAAW,KACjB,EACb,OAAOxvD,KAAK6hB,GAEd,IAMIre,EAMAisD,EAZA5vD,EAAcG,KAAKylB,KAAKC,cAAgB1lB,KAAKylB,KAAKU,WAAWuC,UAC7DrH,EAAYxhB,EAAcsM,EAE1BujD,EAAkBF,EAAU,GADjB3vD,EAAcsM,EACmBkV,IAAcmuC,EAAU,GAAK,EACzEzxD,EAAI,EACN+I,EAAI,EAQN,IALEtD,EADExD,KAAK6hB,GAAG3jB,OACFkF,iBAAiB,UAAWpD,KAAK6hB,GAAG3jB,QAEpC,EAGHH,EAAIyxD,GAAS,CAElB,GADAC,EAAczvD,KAAK2oB,eAAetH,EAAYtjB,EAAI2xD,GAC9C1vD,KAAK6hB,GAAG3jB,OACV,IAAK4I,EAAI,EAAGA,EAAI9G,KAAK6hB,GAAG3jB,OAAQ4I,GAAK,EACnCtD,EAAMsD,IAAM2oD,EAAY3oD,QAG1BtD,GAASisD,EAEX1xD,GAAK,CACP,CACA,GAAIiC,KAAK6hB,GAAG3jB,OACV,IAAK4I,EAAI,EAAGA,EAAI9G,KAAK6hB,GAAG3jB,OAAQ4I,GAAK,EACnCtD,EAAMsD,IAAM0oD,OAGdhsD,GAASgsD,EAEX,OAAOhsD,CACT,CAWA,SAASmsD,EAAwBzV,GAC1Bl6C,KAAK4vD,0BACR5vD,KAAK4vD,wBAA0B,CAC7BxuD,EAAG,IAAI2D,SAIX,IAAIwtB,EAASvyB,KAAK4vD,wBAAwBxuD,EAE1C,GADAmxB,EAAOvoB,eAAehK,KAAKunB,IAAI/hB,OAC3BxF,KAAKwnB,uBAAyB,EAAG,CACnC,IAAIqoC,EAAS7vD,KAAK2G,EAAEgiB,eAAeuxB,GACnC3nB,EAAOnrB,WAAWyoD,EAAO,IAAKA,EAAO,GAAIA,EAAO,GAClD,CACA,GAAI7vD,KAAKwnB,uBAAyB,EAAG,CACnC,IAAIhhB,EAAQxG,KAAKmB,EAAEwnB,eAAeuxB,GAClC3nB,EAAO/rB,MAAMA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GACzC,CACA,GAAIxG,KAAKgoB,IAAMhoB,KAAKwnB,uBAAyB,EAAG,CAC9C,IAAIphB,EAAOpG,KAAKgoB,GAAGW,eAAeuxB,GAC9B4V,EAAW9vD,KAAKioB,GAAGU,eAAeuxB,GACtC3nB,EAAOhsB,cAAcH,EAAM0pD,EAC7B,CACA,GAAI9vD,KAAKqB,GAAKrB,KAAKwnB,uBAAyB,EAAG,CAC7C,IAAIujC,EAAW/qD,KAAKqB,EAAEsnB,eAAeuxB,GACrC3nB,EAAO9sB,QAAQslD,EACjB,MAAO,IAAK/qD,KAAKqB,GAAKrB,KAAKwnB,uBAAyB,EAAG,CACrD,IAAIuoC,EAAY/vD,KAAK8nB,GAAGa,eAAeuxB,GACnC8V,EAAYhwD,KAAK6nB,GAAGc,eAAeuxB,GACnC+V,EAAYjwD,KAAK4nB,GAAGe,eAAeuxB,GACnCgW,EAAclwD,KAAK+nB,GAAGY,eAAeuxB,GACzC3nB,EAAOvsB,SAAS+pD,EAAU3uD,GAAG2E,QAAQiqD,EAAU5uD,GAAG0E,QAAQmqD,EAAU7uD,GAAG4E,SAASkqD,EAAY,IAAInqD,QAAQmqD,EAAY,IAAIpqD,QAAQoqD,EAAY,GAC9I,CACA,GAAIlwD,KAAKiZ,KAAKxX,GAAKzB,KAAKiZ,KAAKxX,EAAEN,EAAG,CAChC,IAAIgvD,EAAYnwD,KAAKynB,GAAGkB,eAAeuxB,GACnCkW,EAAYpwD,KAAK0nB,GAAGiB,eAAeuxB,GACvC,GAAIl6C,KAAKiZ,KAAKxX,EAAE2I,EAAG,CACjB,IAAIimD,EAAYrwD,KAAK2nB,GAAGgB,eAAeuxB,GACvC3nB,EAAOnrB,UAAU+oD,EAAWC,GAAYC,EAC1C,MACE99B,EAAOnrB,UAAU+oD,EAAWC,EAAW,EAE3C,KAAO,CACL,IAAIpxD,EAAWgB,KAAKyB,EAAEknB,eAAeuxB,GACrC3nB,EAAOnrB,UAAUpI,EAAS,GAAIA,EAAS,IAAKA,EAAS,GACvD,CACA,OAAOuzB,CAET,CACA,SAAS+9B,EAA8BpW,GAAO,CAC9C,IAAIpxB,EAAuB1B,yBAAyB0B,qBACpD1B,yBAAyB0B,qBAAuB,SAAU5C,EAAMjN,EAAM3U,GACpE,IAAIH,EAAO2kB,EAAqB5C,EAAMjN,EAAM3U,GAO5C,OANIH,EAAKC,kBAAkBlG,OACzBiG,EAAKwkB,eAAiBgnC,EAAwBzsD,KAAKiB,GAEnDA,EAAKwkB,eAAiB2nC,EAA8BptD,KAAKiB,GAE3DA,EAAKsqD,iBAAmBP,kBAAkBO,iBACnCtqD,CACT,EACA,IAAIosD,EAAkBnvC,gBAAgB+F,QACtC/F,gBAAgB+F,QAAU,SAAUjB,EAAMjN,EAAMrZ,EAAMomB,EAAM1hB,GAC1D,IAAIH,EAAOosD,EAAgBrqC,EAAMjN,EAAMrZ,EAAMomB,EAAM1hB,GAI/CH,EAAKsiB,GACPtiB,EAAKwkB,eAAiBulC,kBAAkBvlC,eAAezlB,KAAKiB,GAE5DA,EAAKwkB,eAAiBulC,kBAAkBM,qBAAqBtrD,KAAKiB,GAEpEA,EAAKsqD,iBAAmBP,kBAAkBO,iBAC1CtqD,EAAKomD,QAAUA,EACfpmD,EAAKkmD,OAASA,EACdlmD,EAAKsmD,OAASA,EACdtmD,EAAKgoD,kBAAoB+B,kBAAkB/B,kBAAkBjpD,KAAKiB,GAClEA,EAAKiqD,eAAiBF,kBAAkBE,eAAelrD,KAAKiB,GAC5DA,EAAKsnD,QAAqB,IAAXxyC,EAAKtS,EAAUsS,EAAKlS,EAAE7I,OAAS,EAC9CiG,EAAKqsD,cAAgBv3C,EAAKw3C,GAC1B,IAAIjtD,EAAQ,EAaZ,OAZa,IAAT5D,IACF4D,EAAQJ,iBAAiB,UAAsB,IAAX6V,EAAKtS,EAAUsS,EAAKlS,EAAE,GAAG5F,EAAEjD,OAAS+a,EAAKlS,EAAE7I,SAEjFiG,EAAKoqD,eAAiB,CACpBjrC,UAAWlnB,oBACX8lB,UAAW,EACX1e,MAAOA,GAET0qD,kBAAkBC,kBAAkBjoC,EAAMjN,EAAM9U,GAC5CA,EAAK4C,GACPzC,EAAUJ,mBAAmBC,GAExBA,CACT,EAmBA,IAAIusD,EAAmCrmC,qBAAqBsmC,yBACxDC,EAA4CvmC,qBAAqBwmC,kCACrE,SAASC,IAAoB,CAC7BA,EAAiBruD,UAAY,CAC3BunB,SAAU,SAAU7lB,EAAM+1C,GACpBl6C,KAAK+G,GACP/G,KAAK0E,WAEP,IAAImsB,EAAY7wB,KAAKoB,OACRuhC,IAATuX,IACFrpB,EAAY7wB,KAAK2oB,eAAeuxB,EAAM,IAExC,IAAIn8C,EACFE,EAAM4yB,EAAUlb,QACdqU,EAAW6G,EAAU1sB,GACrBoM,EAASsgB,EAAUzvB,EACnBqC,EAAMnF,iBAAiBL,GAC3B,IAAKF,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAEtB0F,EAAI1F,GADO,MAAToG,GAAyB,MAATA,EACT,CAAC6lB,EAASjsB,GAAG,GAAKwS,EAAOxS,GAAG,GAAIisB,EAASjsB,GAAG,GAAKwS,EAAOxS,GAAG,IAE3D,CAACisB,EAASjsB,GAAG,GAAIisB,EAASjsB,GAAG,IAG1C,OAAO0F,CACT,EACA8M,OAAQ,SAAU2pC,GAChB,OAAOl6C,KAAKgqB,SAAS,IAAKkwB,EAC5B,EACAgP,WAAY,SAAUhP,GACpB,OAAOl6C,KAAKgqB,SAAS,IAAKkwB,EAC5B,EACAiP,YAAa,SAAUjP,GACrB,OAAOl6C,KAAKgqB,SAAS,IAAKkwB,EAC5B,EACA6W,SAAU,WACR,OAAO/wD,KAAKoB,EAAEwF,CAChB,EACAoqD,YAAa,SAAUv9C,EAAMymC,GAC3B,IAAIrpB,EAAY7wB,KAAKoB,OACRuhC,IAATuX,IACFrpB,EAAY7wB,KAAK2oB,eAAeuxB,EAAM,IAEnCl6C,KAAKixD,kBACRjxD,KAAKixD,gBAAkBz4C,IAAIrD,kBAAkB0b,IAW/C,IATA,IAQEjmB,EAREyK,EAAiBrV,KAAKixD,gBACtB98C,EAAUkB,EAAelB,QACzBY,EAAYM,EAAeO,YAAcnC,EACzC1V,EAAI,EACNE,EAAMkW,EAAQjW,OAGZgzD,EAAoB,EAEjBnzD,EAAIE,GAAK,CACd,GAAIizD,EAAoB/8C,EAAQpW,GAAG6V,YAAcmB,EAAW,CAC1D,IAAIo8C,EAAYpzD,EACZqzD,EAAWvgC,EAAUjqB,GAAK7I,IAAME,EAAM,EAAI,EAAIF,EAAI,EAClDqlB,GAAerO,EAAYm8C,GAAqB/8C,EAAQpW,GAAG6V,YAC/DhJ,EAAK4N,IAAIpB,kBAAkByZ,EAAUzvB,EAAE+vD,GAAYtgC,EAAUzvB,EAAEgwD,GAAWvgC,EAAU1pB,EAAEgqD,GAAYtgC,EAAU9yB,EAAEqzD,GAAWhuC,EAAajP,EAAQpW,IAC9I,KACF,CACEmzD,GAAqB/8C,EAAQpW,GAAG6V,YAElC7V,GAAK,CACP,CAIA,OAHK6M,IACHA,EAAKimB,EAAUjqB,EAAI,CAACiqB,EAAUzvB,EAAE,GAAG,GAAIyvB,EAAUzvB,EAAE,GAAG,IAAM,CAACyvB,EAAUzvB,EAAEyvB,EAAUlb,QAAU,GAAG,GAAIkb,EAAUzvB,EAAEyvB,EAAUlb,QAAU,GAAG,KAElI/K,CACT,EACAymD,aAAc,SAAU59C,EAAMymC,EAAMoX,GAElC79C,EAAe,GAARA,EAAYzT,KAAKoB,EAAEwF,EAAI,EAAI,KAAQ6M,EAC1C,IAAIvI,EAAMlL,KAAKgxD,YAAYv9C,EAAMymC,GAC7B/uC,EAAMnL,KAAKgxD,YAAYv9C,EAAO,KAAOymC,GACrCqX,EAAUpmD,EAAI,GAAKD,EAAI,GACvBsmD,EAAUrmD,EAAI,GAAKD,EAAI,GACvBumD,EAAY50D,KAAKM,KAAKN,KAAKI,IAAIs0D,EAAS,GAAK10D,KAAKI,IAAIu0D,EAAS,IACnE,OAAkB,IAAdC,EACK,CAAC,EAAG,GAEmB,YAAfH,EAA2B,CAACC,EAAUE,EAAWD,EAAUC,GAAa,EAAED,EAAUC,EAAWF,EAAUE,EAE5H,EACAC,cAAe,SAAUj+C,EAAMymC,GAC7B,OAAOl6C,KAAKqxD,aAAa59C,EAAMymC,EAAM,UACvC,EACAyX,aAAc,SAAUl+C,EAAMymC,GAC5B,OAAOl6C,KAAKqxD,aAAa59C,EAAMymC,EAAM,SACvC,EACAuU,iBAAkBP,kBAAkBO,iBACpC9lC,eAAgBulC,kBAAkBM,sBAEpCv8C,gBAAgB,CAAC6+C,GAAmBJ,GACpCz+C,gBAAgB,CAAC6+C,GAAmBF,GACpCA,EAA0CnuD,UAAUkmB,eAnHpD,SAA6BnH,GAgB3B,OAdKxhB,KAAKuuD,iBACRvuD,KAAKuuD,eAAiB,CACpBqD,WAAY1mC,WAAWnhB,MAAM/J,KAAK6hB,IAClCK,UAAW,EACXpK,SAAU1b,sBAGdolB,GAAYxhB,KAAKkmB,KAAKC,WAAWuC,WACjClH,GAAYxhB,KAAK2hB,cACA3hB,KAAKuuD,eAAez2C,WACnC9X,KAAKuuD,eAAersC,UAAYliB,KAAKuuD,eAAez2C,SAAW0J,EAAWxhB,KAAK4lB,SAAS1D,UAAY,EACpGliB,KAAKuuD,eAAez2C,SAAW0J,EAC/BxhB,KAAKsqB,iBAAiB9I,EAAUxhB,KAAKuuD,eAAeqD,WAAY5xD,KAAKuuD,iBAEhEvuD,KAAKuuD,eAAeqD,UAC7B,EAmGAhB,EAA0CnuD,UAAU8mD,mBAAqBlD,kBAAkBkD,mBAC3F,IAAIsI,EAAuBxnC,qBAAqB2c,aAChD3c,qBAAqB2c,aAAe,SAAU9gB,EAAMjN,EAAMrZ,EAAM6D,EAAKquD,GACnE,IAAI3tD,EAAO0tD,EAAqB3rC,EAAMjN,EAAMrZ,EAAM6D,EAAKquD,GAWvD,OAVA3tD,EAAKqsD,cAAgBv3C,EAAKw3C,GAC1BtsD,EAAKmiB,MAAO,EACC,IAAT1mB,EACFsuD,kBAAkBC,kBAAkBjoC,EAAMjN,EAAKrO,GAAIzG,GACjC,IAATvE,GACTsuD,kBAAkBC,kBAAkBjoC,EAAMjN,EAAKiB,GAAI/V,GAEjDA,EAAK4C,GACPmf,EAAKhiB,mBAAmBC,GAEnBA,CACT,CACD,CAnZD,GA4ZEq3B,aAAa/4B,UAAUsvD,mBAAqB,SAAUrxB,EAAcI,GAClE,IAAIpf,EAAW1hB,KAAKgyD,oBAAoBlxB,GACxC,GAAIJ,EAAa/+B,IAAM+f,EAAU,CAC/B,IAAIghB,EAAU,CAAC,EAIf,OAHA1iC,KAAK68B,SAAS6F,EAAShC,GACvBgC,EAAQ/gC,EAAI+f,EAASnf,WACrBmgC,EAAQ/mB,YAAa,EACd+mB,CACT,CACA,OAAOhC,CACT,EACAlF,aAAa/4B,UAAUq6B,eAAiB,WACtC,IAAIm1B,EAAcjyD,KAAKugC,kBACnB2xB,EAAiBlyD,KAAKmuD,oBAE1B,OADAnuD,KAAKymB,GAAKwrC,GAAeC,EAClBlyD,KAAKymB,EACd,EACA+U,aAAa/4B,UAAU0rD,kBAxBvB,WACE,GAAInuD,KAAKiZ,KAAKpX,EAAEqI,EAGd,OAFAlK,KAAKgyD,oBAAsB3L,kBAAkBkD,mBAAmBrmD,KAAKlD,KAA1CqmD,CAAgDrmD,KAAKkmB,KAAMlmB,KAAKiZ,KAAKpX,EAAG7B,MACnGA,KAAK0mB,UAAU1mB,KAAK+xD,mBAAmB7uD,KAAKlD,QACrC,CAEX,EAoBF,IAAImyD,mBACK,SAA8BljC,EAAOmjC,EAAM1D,GAChD,IAAIvqD,EAAOiuD,EAAKruC,GAChB,SAASsuC,EAAkBj0D,GACzB,GAAY,UAARA,GAA2B,UAARA,GAA2B,SAARA,GAA0B,SAARA,GAA0B,sBAARA,GAAuC,IAARA,EAC3G,OAAOi0D,EAAkBj4C,IAE7B,CACA,IAAIk4C,EAAiBC,qBAAqBF,EAAmB3D,GAmC7D,OAlCAvqD,EAAKsqD,iBAAiB+D,kBAAkB,OAAQF,IAChD7/C,OAAOggD,iBAAiBJ,EAAmB,CACzC,KAAQ,CACN3hD,IAAK,WAIH,OAHIvM,EAAK4C,GACP5C,EAAKO,WAEAP,CACT,GAEF,MAAS,CACPuM,IAAK,WAIH,OAHIvM,EAAK4C,GACP5C,EAAKO,WAEAP,CACT,GAEF,MAAS,CACPX,MAAOyrB,EAAM3f,IAEf,GAAM,CACJ9L,MAAOyrB,EAAMwhC,IAEf,cAAiB,CACfjtD,MAAOyrB,EAAMwhC,IAEf,GAAM,CACJjtD,MAAOyrB,EAAMyjC,IAEf,cAAiB,CACflvD,MAAOkrD,KAGJ2D,CACT,EAEEE,qBACK,SAAUF,EAAmBM,GAClC,OAAO,SAAUv0D,GAEf,OADAA,OAAcukC,IAARvkC,EAAoB,EAAIA,IACnB,EACFi0D,EAEAM,EAAoBv0D,EAAM,EAErC,CACF,EAEEo0D,kBACK,SAAUI,EAAclE,GAC7B,IAAI2D,EAAoB,CACtBQ,MAAOD,GAUT,OARA,SAAwBx0D,GAEtB,OADAA,OAAcukC,IAARvkC,EAAoB,EAAIA,IACnB,EACFi0D,EAEA3D,IAAgBtwD,EAE3B,CAEF,EAEE63C,yBAA2B,WAC7B,SAAS6c,EAAgBl5C,EAAQw4C,EAAM1D,GACrC,IACI3wD,EADA0F,EAAM,GAERxF,EAAM2b,EAASA,EAAO1b,OAAS,EACjC,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACJ,MAAhB6b,EAAO7b,GAAGuJ,GACZ7D,EAAIT,KAAK+vD,EAAsBn5C,EAAO7b,GAAIq0D,EAAKr0D,GAAI2wD,IAC1B,MAAhB90C,EAAO7b,GAAGuJ,GACnB7D,EAAIT,KAAKgwD,EAAqBp5C,EAAO7b,GAAIq0D,EAAKr0D,GAAI2wD,IACzB,MAAhB90C,EAAO7b,GAAGuJ,GACnB7D,EAAIT,KAAKiwD,EAAuBr5C,EAAO7b,GAAIq0D,EAAKr0D,GAAI2wD,IAC3B,MAAhB90C,EAAO7b,GAAGuJ,GACnB7D,EAAIT,KAAKkwD,EAAqBt5C,EAAO7b,GAAIq0D,EAAKr0D,GAAI2wD,IACzB,MAAhB90C,EAAO7b,GAAGuJ,KAEM,MAAhBsS,EAAO7b,GAAGuJ,GACnB7D,EAAIT,KAAKmwD,EAAwBv5C,EAAO7b,GAAIq0D,EAAKr0D,GAAI2wD,IAC5B,MAAhB90C,EAAO7b,GAAGuJ,GACnB7D,EAAIT,KAAKowD,EAAqBx5C,EAAO7b,GAAIq0D,EAAKr0D,GAAI2wD,IACzB,MAAhB90C,EAAO7b,GAAGuJ,GACnB7D,EAAIT,KAAKmvD,mBAAmBv4C,EAAO7b,GAAIq0D,EAAKr0D,GAAI2wD,IACvB,MAAhB90C,EAAO7b,GAAGuJ,GACnB7D,EAAIT,KAAKqwD,EAAqBz5C,EAAO7b,GAAIq0D,EAAKr0D,GAAI2wD,IACzB,MAAhB90C,EAAO7b,GAAGuJ,GACnB7D,EAAIT,KAAKswD,EAAwB15C,EAAO7b,GAAIq0D,EAAKr0D,GAAI2wD,IAC5B,MAAhB90C,EAAO7b,GAAGuJ,IACnB7D,EAAIT,KAAKuwD,EAAyB35C,EAAO7b,GAAIq0D,EAAKr0D,GAAI2wD,KAG1D,OAAOjrD,CACT,CAyBA,SAASsvD,EAAsB9jC,EAAOmjC,EAAM1D,GAC1C,IAAI2D,EAAoB,SAA4B7uD,GAClD,OAAQA,GACN,IAAK,qBACL,IAAK,WACL,KAAK,EACH,OAAO6uD,EAAkBnc,QAI3B,QACE,OAAOmc,EAAkB7qD,UAE/B,EACA6qD,EAAkB3D,cAAgB6D,qBAAqBF,EAAmB3D,GAC1E,IAAIxY,EAvCN,SAAkCjnB,EAAOmjC,EAAM1D,GAC7C,IAAI8E,EACAnB,EAAoB,SAA4B7uD,GAGlD,IAFA,IAAIzF,EAAI,EACNE,EAAMu1D,EAAWt1D,OACZH,EAAIE,GAAK,CACd,GAAIu1D,EAAWz1D,GAAG80D,QAAUrvD,GAASgwD,EAAWz1D,GAAG20D,KAAOlvD,GAASgwD,EAAWz1D,GAAGyyD,gBAAkBhtD,GAASgwD,EAAWz1D,GAAG0yD,KAAOjtD,GAASgwD,EAAWz1D,GAAGklB,MAAQzf,EAC9J,OAAOgwD,EAAWz1D,GAEpBA,GAAK,CACP,CACA,GAAqB,kBAAVyF,EACT,OAAOgwD,EAAWhwD,EAAQ,EAE9B,EACA6uD,EAAkB3D,cAAgB6D,qBAAqBF,EAAmB3D,GAC1E8E,EAAaV,EAAgB7jC,EAAM9U,GAAIi4C,EAAKj4C,GAAIk4C,EAAkB3D,eAClE2D,EAAkBoB,cAAgBD,EAAWt1D,OAC7C,IAAIw1D,EAAqBC,EAA0B1kC,EAAM9U,GAAG8U,EAAM9U,GAAGjc,OAAS,GAAIk0D,EAAKj4C,GAAGi4C,EAAKj4C,GAAGjc,OAAS,GAAIm0D,EAAkB3D,eAIjI,OAHA2D,EAAkB7qD,UAAYksD,EAC9BrB,EAAkB7B,cAAgBvhC,EAAM2kC,IACxCvB,EAAkBQ,MAAQ5jC,EAAM3f,GACzB+iD,CACT,CAgBgBwB,CAAyB5kC,EAAOmjC,EAAMC,EAAkB3D,eAClEgF,EAAqBC,EAA0B1kC,EAAM9U,GAAG8U,EAAM9U,GAAGjc,OAAS,GAAIk0D,EAAKj4C,GAAGi4C,EAAKj4C,GAAGjc,OAAS,GAAIm0D,EAAkB3D,eAajI,OAZA2D,EAAkBnc,QAAUA,EAC5Bmc,EAAkB7qD,UAAYksD,EAC9BjhD,OAAOu3C,eAAeqI,EAAmB,QAAS,CAChD3hD,IAAK,WACH,OAAOue,EAAM3f,EACf,IAGF+iD,EAAkBoB,cAAgBxkC,EAAM6kC,GACxCzB,EAAkB7B,cAAgBvhC,EAAMwhC,GACxC4B,EAAkB/iD,GAAK2f,EAAM3f,GAC7B+iD,EAAkBK,GAAKzjC,EAAMyjC,GACtBL,CACT,CACA,SAASW,EAAqB/jC,EAAOmjC,EAAM1D,GACzC,SAAS2D,EAAkBj0D,GACzB,MAAY,UAARA,GAA2B,UAARA,EACdi0D,EAAkBtwD,MACR,YAAR3D,GAA6B,YAARA,EACvBi0D,EAAkB9V,aADpB,CAGT,CAiBA,OAhBA9pC,OAAOggD,iBAAiBJ,EAAmB,CACzC,MAAS,CACP3hD,IAAKqjD,4BAA4B3B,EAAKxrD,IAExC,QAAW,CACT8J,IAAKqjD,4BAA4B3B,EAAKjrD,IAExC,MAAS,CACP3D,MAAOyrB,EAAM3f,IAEf,GAAM,CACJ9L,MAAOyrB,EAAMyjC,MAGjBN,EAAKxrD,EAAE6nD,iBAAiB+D,kBAAkB,QAAS9D,IACnD0D,EAAKjrD,EAAEsnD,iBAAiB+D,kBAAkB,UAAW9D,IAC9C2D,CACT,CACA,SAASY,EAAuBhkC,EAAOmjC,EAAM1D,GAC3C,IAAI4D,EAAiBC,qBAAqBF,EAAmB3D,GACzDsF,EAAqBzB,qBAAqB0B,EAAQ3B,GACtD,SAAS4B,EAAoBn2D,GAC3B0U,OAAOu3C,eAAeiK,EAAQhlC,EAAMptB,EAAE9D,GAAGuR,GAAI,CAC3CoB,IAAKqjD,4BAA4B3B,EAAKvwD,EAAEusB,UAAUrwB,GAAG0D,IAEzD,CACA,IAAI1D,EACFE,EAAMgxB,EAAMptB,EAAIotB,EAAMptB,EAAE3D,OAAS,EAC/B+1D,EAAS,CAAC,EACd,IAAKl2D,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBm2D,EAAoBn2D,GACpBq0D,EAAKvwD,EAAEusB,UAAUrwB,GAAG0D,EAAEgtD,iBAAiBuF,GAEzC,SAAS3B,EAAkBj0D,GACzB,MAAY,UAARA,GAA2B,UAARA,EACdi0D,EAAkBtwD,MACR,YAAR3D,GAA6B,YAARA,EACvBi0D,EAAkB9V,QACR,iBAARn+C,GAAkC,iBAARA,EAC5Bi0D,EAAkB8B,iBADpB,CAGT,CA0BA,OAzBA1hD,OAAOggD,iBAAiBJ,EAAmB,CACzC,MAAS,CACP3hD,IAAKqjD,4BAA4B3B,EAAKxrD,IAExC,QAAW,CACT8J,IAAKqjD,4BAA4B3B,EAAKjrD,IAExC,YAAe,CACbuJ,IAAKqjD,4BAA4B3B,EAAKr2C,IAExC,KAAQ,CACNrL,IAAK,WACH,OAAOujD,CACT,GAEF,MAAS,CACPzwD,MAAOyrB,EAAM3f,IAEf,GAAM,CACJ9L,MAAOyrB,EAAMyjC,MAGjBN,EAAKxrD,EAAE6nD,iBAAiB+D,kBAAkB,QAASF,IACnDF,EAAKjrD,EAAEsnD,iBAAiB+D,kBAAkB,UAAWF,IACrDF,EAAKr2C,EAAE0yC,iBAAiB+D,kBAAkB,eAAgBF,IACnDD,CACT,CACA,SAASa,EAAqBjkC,EAAOmjC,EAAM1D,GACzC,SAAS2D,EAAkBj0D,GACzB,OAAIA,IAAQ6wB,EAAMpoB,EAAE4pD,IAAc,QAARryD,GAAyB,QAARA,EAClCi0D,EAAkBrN,IAEvB5mD,IAAQ6wB,EAAM9tB,EAAEsvD,GACX4B,EAAkB+B,MAEvBh2D,IAAQ6wB,EAAM9nB,EAAEspD,GACX4B,EAAkBrwD,YAD3B,CAGF,CACA,IAAIswD,EAAiBC,qBAAqBF,EAAmB3D,GAsB7D,OArBA2D,EAAkB7B,cAAgBvhC,EAAMwhC,GACxC2B,EAAKjxD,EAAEstD,iBAAiB+D,kBAAkB,QAASF,IACnDF,EAAKvrD,EAAE4nD,iBAAiB+D,kBAAkB,MAAOF,IACjDF,EAAKjrD,EAAEsnD,iBAAiB+D,kBAAkB,SAAUF,IACpDD,EAAkB7B,cAAgBvhC,EAAMwhC,GACxC4B,EAAkB3D,cAAgBA,EAClCj8C,OAAOggD,iBAAiBJ,EAAmB,CACzC,MAAS,CACP3hD,IAAKqjD,4BAA4B3B,EAAKjxD,IAExC,IAAO,CACLuP,IAAKqjD,4BAA4B3B,EAAKvrD,IAExC,OAAU,CACR6J,IAAKqjD,4BAA4B3B,EAAKjrD,IAExC,MAAS,CACP3D,MAAOyrB,EAAM3f,MAGjB+iD,EAAkBK,GAAKzjC,EAAMyjC,GACtBL,CACT,CACA,SAASsB,EAA0B1kC,EAAOmjC,EAAM1D,GAC9C,SAAS2D,EAAkB7uD,GACzB,OAAIyrB,EAAMtoB,EAAE8pD,KAAOjtD,GAAmB,iBAAVA,EACnB6uD,EAAkBrH,YAEvB/7B,EAAM9nB,EAAEspD,KAAOjtD,GAAmB,YAAVA,EACnB6uD,EAAkB9V,QAEvBttB,EAAMxtB,EAAEgvD,KAAOjtD,GAAmB,aAAVA,EACnB6uD,EAAkBrzD,SAEvBiwB,EAAM5tB,EAAEovD,KAAOjtD,GAAmB,aAAVA,GAAkC,yBAAVA,EAC3C6uD,EAAkBtH,SAEvB97B,EAAM9tB,EAAEsvD,KAAOjtD,GAAmB,UAAVA,EACnB6uD,EAAkB7rD,MAEvByoB,EAAMjH,IAAMiH,EAAMjH,GAAGyoC,KAAOjtD,GAAmB,SAAVA,EAChC6uD,EAAkBjsD,KAEvB6oB,EAAMhH,IAAMgH,EAAMhH,GAAGwoC,KAAOjtD,GAAmB,cAAVA,EAChC6uD,EAAkBvC,cAD3B,CAGF,CACA,IAAIwC,EAAiBC,qBAAqBF,EAAmB3D,GAwC7D,OAvCA0D,EAAK5qD,UAAU8sB,OAAOntB,EAAEsnD,iBAAiB+D,kBAAkB,UAAWF,IACtEF,EAAK5qD,UAAU8sB,OAAO7yB,EAAEgtD,iBAAiB+D,kBAAkB,WAAYF,IACvEF,EAAK5qD,UAAU8sB,OAAO3tB,EAAE8nD,iBAAiB+D,kBAAkB,eAAgBF,IAC3EF,EAAK5qD,UAAU8sB,OAAOnzB,EAAEstD,iBAAiB+D,kBAAkB,QAASF,IACpEF,EAAK5qD,UAAU8sB,OAAOjzB,EAAEotD,iBAAiB+D,kBAAkB,WAAYF,IACnEF,EAAK5qD,UAAU8sB,OAAOtM,KACxBoqC,EAAK5qD,UAAU8sB,OAAOtM,GAAGymC,iBAAiB+D,kBAAkB,OAAQF,IACpEF,EAAK5qD,UAAU8sB,OAAOrM,GAAGwmC,iBAAiB+D,kBAAkB,aAAcF,KAE5EF,EAAK5qD,UAAU+sB,GAAGk6B,iBAAiB+D,kBAAkB,UAAWF,IAChE7/C,OAAOggD,iBAAiBJ,EAAmB,CACzC,QAAW,CACT3hD,IAAKqjD,4BAA4B3B,EAAK5qD,UAAU8sB,OAAOntB,IAEzD,SAAY,CACVuJ,IAAKqjD,4BAA4B3B,EAAK5qD,UAAU8sB,OAAO7yB,IAEzD,YAAe,CACbiP,IAAKqjD,4BAA4B3B,EAAK5qD,UAAU8sB,OAAO3tB,IAEzD,MAAS,CACP+J,IAAKqjD,4BAA4B3B,EAAK5qD,UAAU8sB,OAAOnzB,IAEzD,SAAY,CACVuP,IAAKqjD,4BAA4B3B,EAAK5qD,UAAU8sB,OAAOjzB,IAEzD,KAAQ,CACNqP,IAAKqjD,4BAA4B3B,EAAK5qD,UAAU8sB,OAAOtM,KAEzD,SAAY,CACVtX,IAAKqjD,4BAA4B3B,EAAK5qD,UAAU8sB,OAAOrM,KAEzD,MAAS,CACPzkB,MAAOyrB,EAAM3f,MAGjB+iD,EAAkB/qD,GAAK,KACvB+qD,EAAkBK,GAAKzjC,EAAMyjC,GAC7BL,EAAkB3D,cAAgBA,EAC3B2D,CACT,CACA,SAASc,EAAwBlkC,EAAOmjC,EAAM1D,GAC5C,SAAS2D,EAAkB7uD,GACzB,OAAIyrB,EAAMxtB,EAAEgvD,KAAOjtD,EACV6uD,EAAkBrzD,SAEvBiwB,EAAM9tB,EAAEsvD,KAAOjtD,EACV6uD,EAAkBr2C,UAD3B,CAGF,CACA,IAAIs2C,EAAiBC,qBAAqBF,EAAmB3D,GAC7D2D,EAAkB7B,cAAgBvhC,EAAMwhC,GACxC,IAAItsD,EAAsB,OAAfiuD,EAAKruC,GAAGzc,GAAc8qD,EAAKruC,GAAG5f,KAAOiuD,EAAKruC,GAerD,OAdA5f,EAAKhD,EAAEstD,iBAAiB+D,kBAAkB,OAAQF,IAClDnuD,EAAK1C,EAAEgtD,iBAAiB+D,kBAAkB,WAAYF,IACtD7/C,OAAOggD,iBAAiBJ,EAAmB,CACzC,KAAQ,CACN3hD,IAAKqjD,4BAA4B5vD,EAAKhD,IAExC,SAAY,CACVuP,IAAKqjD,4BAA4B5vD,EAAK1C,IAExC,MAAS,CACP+B,MAAOyrB,EAAM3f,MAGjB+iD,EAAkBK,GAAKzjC,EAAMyjC,GACtBL,CACT,CACA,SAASe,EAAqBnkC,EAAOmjC,EAAM1D,GACzC,SAAS2D,EAAkB7uD,GACzB,OAAIyrB,EAAMxtB,EAAEgvD,KAAOjtD,EACV6uD,EAAkBrzD,SAEvBiwB,EAAM5tB,EAAEovD,KAAOjtD,EACV6uD,EAAkBtH,SAEvB97B,EAAMrkB,GAAG6lD,KAAOjtD,EACX6uD,EAAkB9hD,OAEvB0e,EAAMlH,GAAG0oC,KAAOjtD,GAAS,kCAAoCA,EACxD6uD,EAAkBgC,YAEvBplC,EAAM5C,GAAGokC,KAAOjtD,EACX6uD,EAAkBiC,gBAEvBrlC,EAAMjD,IAAOiD,EAAMjD,GAAGykC,KAAOjtD,GAAS,kCAAoCA,EAG1EyrB,EAAMhD,IAAMgD,EAAMhD,GAAGwkC,KAAOjtD,EACvB6uD,EAAkBkC,oBAD3B,EAFSlC,EAAkBmC,WAK7B,CACA,IAAIlC,EAAiBC,qBAAqBF,EAAmB3D,GACzDvqD,EAAsB,OAAfiuD,EAAKruC,GAAGzc,GAAc8qD,EAAKruC,GAAG5f,KAAOiuD,EAAKruC,GAsCrD,OArCAsuC,EAAkB7B,cAAgBvhC,EAAMwhC,GACxCtsD,EAAK4jB,GAAG0mC,iBAAiB+D,kBAAkB,eAAgBF,IAC3DnuD,EAAKkoB,GAAGoiC,iBAAiB+D,kBAAkB,kBAAmBF,IAC9DnuD,EAAKyG,GAAG6jD,iBAAiB+D,kBAAkB,SAAUF,IACrDnuD,EAAK1C,EAAEgtD,iBAAiB+D,kBAAkB,WAAYF,IACtDnuD,EAAK9C,EAAEotD,iBAAiB+D,kBAAkB,WAAYF,IAClDrjC,EAAMjD,KACR7nB,EAAK6nB,GAAGyiC,iBAAiB+D,kBAAkB,eAAgBF,IAC3DnuD,EAAK8nB,GAAGwiC,iBAAiB+D,kBAAkB,kBAAmBF,KAEhE7/C,OAAOggD,iBAAiBJ,EAAmB,CACzC,SAAY,CACV3hD,IAAKqjD,4BAA4B5vD,EAAK1C,IAExC,SAAY,CACViP,IAAKqjD,4BAA4B5vD,EAAK9C,IAExC,OAAU,CACRqP,IAAKqjD,4BAA4B5vD,EAAKyG,KAExC,YAAe,CACb8F,IAAKqjD,4BAA4B5vD,EAAK4jB,KAExC,eAAkB,CAChBrX,IAAKqjD,4BAA4B5vD,EAAKkoB,KAExC,YAAe,CACb3b,IAAKqjD,4BAA4B5vD,EAAK6nB,KAExC,eAAkB,CAChBtb,IAAKqjD,4BAA4B5vD,EAAK8nB,KAExC,MAAS,CACPzoB,MAAOyrB,EAAM3f,MAGjB+iD,EAAkBK,GAAKzjC,EAAMyjC,GACtBL,CACT,CACA,SAASgB,EAAqBpkC,EAAOmjC,EAAM1D,GACzC,SAAS2D,EAAkB7uD,GACzB,OAAIyrB,EAAMxtB,EAAEgvD,KAAOjtD,EACV6uD,EAAkBrzD,SAEvBiwB,EAAM5tB,EAAEovD,KAAOjtD,EACV6uD,EAAkB9lC,UAEvB0C,EAAM9tB,EAAEsvD,KAAOjtD,GAAmB,SAAVA,GAA8B,0BAAVA,EACvC6uD,EAAkBr2C,UAD3B,CAGF,CACA,IAAIs2C,EAAiBC,qBAAqBF,EAAmB3D,GACzDvqD,EAAsB,OAAfiuD,EAAKruC,GAAGzc,GAAc8qD,EAAKruC,GAAG5f,KAAOiuD,EAAKruC,GAoBrD,OAnBAsuC,EAAkB7B,cAAgBvhC,EAAMwhC,GACxCtsD,EAAK1C,EAAEgtD,iBAAiB+D,kBAAkB,WAAYF,IACtDnuD,EAAKhD,EAAEstD,iBAAiB+D,kBAAkB,OAAQF,IAClDnuD,EAAK9C,EAAEotD,iBAAiB+D,kBAAkB,WAAYF,IACtD7/C,OAAOggD,iBAAiBJ,EAAmB,CACzC,SAAY,CACV3hD,IAAKqjD,4BAA4B5vD,EAAK1C,IAExC,UAAa,CACXiP,IAAKqjD,4BAA4B5vD,EAAK9C,IAExC,KAAQ,CACNqP,IAAKqjD,4BAA4B5vD,EAAKhD,IAExC,MAAS,CACPqC,MAAOyrB,EAAM3f,MAGjB+iD,EAAkBK,GAAKzjC,EAAMyjC,GACtBL,CACT,CACA,SAASiB,EAAwBrkC,EAAOmjC,EAAM1D,GAC5C,SAAS2D,EAAkB7uD,GACzB,GAAIyrB,EAAM5tB,EAAEovD,KAAOjtD,GAAS,oBAAsBA,EAChD,OAAO6uD,EAAkBoC,MAE7B,CACA,IAAInC,EAAiBC,qBAAqBF,EAAmB3D,GACzDvqD,EAAOiuD,EAYX,OAXAC,EAAkB7B,cAAgBvhC,EAAMwhC,GACxCtsD,EAAKitB,GAAGq9B,iBAAiB+D,kBAAkB,SAAUF,IACrD7/C,OAAOggD,iBAAiBJ,EAAmB,CACzC,OAAU,CACR3hD,IAAKqjD,4BAA4B5vD,EAAKitB,KAExC,MAAS,CACP5tB,MAAOyrB,EAAM3f,MAGjB+iD,EAAkBK,GAAKzjC,EAAMyjC,GACtBL,CACT,CACA,SAASkB,EAAyBtkC,EAAOmjC,EAAM1D,GAC7C,SAAS2D,EAAkB7uD,GACzB,OAAIyrB,EAAMroB,EAAE6pD,KAAOjtD,GAAS,WAAaA,EAChC6uD,EAAkBz+B,OAChB3E,EAAM9nB,EAAEspD,KAAOjtD,GAAS,WAAaA,EACvC6uD,EAAkBrwD,YADpB,CAGT,CACA,IAAIswD,EAAiBC,qBAAqBF,EAAmB3D,GACzDvqD,EAAOiuD,EAgBX,OAfAC,EAAkB7B,cAAgBvhC,EAAMwhC,GACxCtsD,EAAKyC,EAAE6nD,iBAAiB+D,kBAAkB,SAAUF,IACpDnuD,EAAKgD,EAAEsnD,iBAAiB+D,kBAAkB,SAAUF,IACpD7/C,OAAOggD,iBAAiBJ,EAAmB,CACzC,OAAU,CACR3hD,IAAKqjD,4BAA4B5vD,EAAKyC,IAExC,OAAU,CACR8J,IAAKqjD,4BAA4B5vD,EAAKgD,IAExC,MAAS,CACP3D,MAAOyrB,EAAM3f,MAGjB+iD,EAAkBK,GAAKzjC,EAAMyjC,GACtBL,CACT,CACA,OAAO,SAAUz4C,EAAQw4C,EAAM1D,GAC7B,IAAI8E,EACJ,SAASkB,EAAmBlxD,GAC1B,GAAqB,kBAAVA,EAET,OAAc,KADdA,OAAkBm/B,IAAVn/B,EAAsB,EAAIA,GAEzBkrD,EAEA8E,EAAWhwD,EAAQ,GAK5B,IAFA,IAAIzF,EAAI,EACNE,EAAMu1D,EAAWt1D,OACZH,EAAIE,GAAK,CACd,GAAIu1D,EAAWz1D,GAAG80D,QAAUrvD,EAC1B,OAAOgwD,EAAWz1D,GAEpBA,GAAK,CACP,CAEJ,CAIA,OAHA22D,EAAmBhG,cAAgBA,EACnC8E,EAAaV,EAAgBl5C,EAAQw4C,EAAMsC,GAC3CA,EAAmBjB,cAAgBD,EAAWt1D,OACvCw2D,CACT,CACF,CApd+B,GAqd3Bte,wBACK,SAAUlwB,GACf,IAAIyuC,EAAYC,EAChB,SAASC,EAAmBn0C,GAC1B,GACO,uBADCA,EAEJ,OAAOm0C,EAAmBC,UAEhC,CAcA,OAbAriD,OAAOu3C,eAAe6K,EAAoB,aAAc,CACtDnkD,IAAK,WACHwV,EAAKqd,aAAa7+B,WAClB,IAAIqwD,EAAc7uC,EAAKqd,aAAa3H,YAAYj6B,EAOhD,OANIozD,IAAgBJ,IAClBzuC,EAAKqd,aAAa3H,YAAYj6B,EAAIgzD,GAClCC,EAAc,IAAIhnD,OAAOmnD,IAEbvxD,MAAQuxD,GAA4B,IAAInnD,OAAOmnD,IAEtDH,CACT,IAEKC,CACT,EAEErf,yBAA2B,WAC7B,SAASkV,EAAQjnD,EAAKy2C,GACpB,IAAI8a,EAAa,IAAIjwD,OASrB,GARAiwD,EAAWzvD,aAEEo9B,IAATuX,EACF8a,EAAah1D,KAAKq6B,MAAM2S,eAAeC,MAAMtkB,eAAeuxB,GAE7Cl6C,KAAKq6B,MAAM2S,eAAeC,MAC5B9kB,cAAc6sC,GAEzBh1D,KAAKq6B,MAAMmQ,WAAaxqC,KAAKq6B,MAAMmQ,UAAUtsC,OAAQ,CACvD,IAAIH,EACFE,EAAM+B,KAAKq6B,MAAMmQ,UAAUtsC,OAC7B,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKq6B,MAAMmQ,UAAUzsC,GAAGivC,eAAeC,MAAM9kB,cAAc6sC,GAE7D,OAAOA,EAAWnqD,kBAAkBpH,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAAM,EAChE,CACA,OAAOuxD,EAAWnqD,kBAAkBpH,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAAM,EAChE,CACA,SAASknD,EAAUlnD,EAAKy2C,GACtB,IAAI8a,EAAa,IAAIjwD,OASrB,GARAiwD,EAAWzvD,aAEEo9B,IAATuX,EACF8a,EAAah1D,KAAKq6B,MAAM2S,eAAeC,MAAMtkB,eAAeuxB,GAE7Cl6C,KAAKq6B,MAAM2S,eAAeC,MAC5B9kB,cAAc6sC,GAEzBh1D,KAAKq6B,MAAMmQ,WAAaxqC,KAAKq6B,MAAMmQ,UAAUtsC,OAAQ,CACvD,IAAIH,EACFE,EAAM+B,KAAKq6B,MAAMmQ,UAAUtsC,OAC7B,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKq6B,MAAMmQ,UAAUzsC,GAAGivC,eAAeC,MAAM9kB,cAAc6sC,GAE7D,OAAOA,EAAWrqD,aAAalH,EACjC,CACA,OAAOuxD,EAAWrqD,aAAalH,EACjC,CACA,SAASmnD,EAASnnD,GAChB,IAAIuxD,EAAa,IAAIjwD,OAGrB,GAFAiwD,EAAWzvD,QACXvF,KAAKq6B,MAAM2S,eAAeC,MAAM9kB,cAAc6sC,GAC1Ch1D,KAAKq6B,MAAMmQ,WAAaxqC,KAAKq6B,MAAMmQ,UAAUtsC,OAAQ,CACvD,IAAIH,EACFE,EAAM+B,KAAKq6B,MAAMmQ,UAAUtsC,OAC7B,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBiC,KAAKq6B,MAAMmQ,UAAUzsC,GAAGivC,eAAeC,MAAM9kB,cAAc6sC,GAE7D,OAAOA,EAAWrqD,aAAalH,EACjC,CACA,OAAOuxD,EAAWrqD,aAAalH,EACjC,CACA,SAASwxD,IACP,MAAO,CAAC,EAAG,EAAG,EAAG,EACnB,CACA,OAAO,SAAU/uC,GACf,IAAIwtC,EAOJ,SAASmB,EAAmBn0C,GAC1B,OAAQA,GACN,IAAK,0BACL,IAAK,WACL,KAAK,EACH,OAAOm0C,EAAmB7e,eAC5B,KAAK,EACL,KAAK,EACL,IAAK,YACL,IAAK,YACL,IAAK,uBACH,OAAO0d,EACT,KAAK,EACL,IAAK,qBACL,IAAK,UACL,IAAK,UACH,OAAOmB,EAAmBhL,OAC5B,IAAK,uBACH,OAAOgL,EAAmB1e,cAEhC,CACA0e,EAAmBnK,QAAUA,EAC7BmK,EAAmBlK,UAAYA,EAC/BkK,EAAmBhK,OAASH,EAC5BmK,EAAmBjK,SAAWA,EAC9BiK,EAAmBI,YAAcA,EACjCJ,EAAmBjmB,iBAAmB1oB,EAAK0oB,iBAAiB1rC,KAAKgjB,GACjE2uC,EAAmBx6B,MAAQnU,EAE3B,IAAIgvC,EAAwB3iD,cAD5BmhD,EAAqByB,6BAA6BjvC,EAAK8mB,eAAeC,OACR,eAuC9D,OAtCAx6B,OAAOggD,iBAAiBoC,EAAoB,CAC1C/G,UAAW,CACTp9C,IAAK,WACH,OAAOwV,EAAKskB,UAAUtsC,MACxB,GAEFmf,OAAQ,CACN3M,IAAK,WACH,OAAOwV,EAAKskB,UAAU,GAAG+K,cAC3B,GAEFwV,SAAUx4C,cAAcmhD,EAAoB,YAC5CltD,MAAO+L,cAAcmhD,EAAoB,SACzC10D,SAAUuT,cAAcmhD,EAAoB,YAC5CnX,QAAShqC,cAAcmhD,EAAoB,WAC3C1I,YAAakK,EACbE,aAAcF,EACd1tD,UAAW,CACTkJ,IAAK,WACH,OAAOgjD,CACT,GAEFhI,OAAQ,CACNh7C,IAAK,WACH,OAAOwV,EAAKgoB,SACd,KAGJ2mB,EAAmBQ,UAAYnvC,EAAKjN,KAAK+N,GACzC6tC,EAAmB/zC,MAAQoF,EAAKjN,KAAKgK,IACrC4xC,EAAmBS,OAASpvC,EAAKjN,KAAKS,MACtCm7C,EAAmBj+B,OAA0B,IAAjB1Q,EAAKjN,KAAK3R,GAAW4e,EAAKjN,KAAK/X,EAAI,IAC/D2zD,EAAmB1oD,MAAyB,IAAjB+Z,EAAKjN,KAAK3R,GAAW4e,EAAKjN,KAAK8C,EAAI,IAC9D84C,EAAmB1K,QAAUjkC,EAAKjN,KAAKgwB,GAAK/iB,EAAKT,KAAKU,WAAWuC,UACjEmsC,EAAmBzK,SAAWlkC,EAAKjN,KAAKsb,GAAKrO,EAAKT,KAAKU,WAAWuC,UAClEmsC,EAAmBhC,MAAQ3sC,EAAKjN,KAAK3J,GACrCulD,EAAmBpf,sBAxEnB,SAAgCxY,GAC9B43B,EAAmBroD,KAAO,IAAI+oD,qBAAqBt4B,EAAa/W,EAClE,EAuEA2uC,EAAmBhf,yBAtEnB,SAAmC2f,GACjCX,EAAmBhL,OAAS2L,CAC9B,EAqEOX,CACT,CACF,CAxI+B,GAyI3B9e,wBACK,SAAUtwB,GACf,SAASovC,EAAmBn0C,GAG1B,IAFA,IAAI3iB,EAAI,EACNE,EAAMwnB,EAAK9M,OAAOza,OACbH,EAAIE,GAAK,CACd,GAAIwnB,EAAK9M,OAAO5a,GAAGuR,KAAOoR,GAAQ+E,EAAK9M,OAAO5a,GAAGklB,MAAQvC,EACvD,OAAO+E,EAAKyN,SAASn1B,GAAGw3C,eAE1Bx3C,GAAK,CACP,CACA,OAAO,IAET,CAYA,OAXA0U,OAAOu3C,eAAe6K,EAAoB,QAAS,CACjDrxD,MAAOiiB,EAAKxM,KAAK3J,KAEnBulD,EAAmBxrB,MAAQwrB,EAC3BA,EAAmBY,YAAc,EACjCZ,EAAmBj+B,OAASnR,EAAKxM,KAAK/X,GAAKukB,EAAKU,WAAWqlB,SAAStqC,EACpE2zD,EAAmB1oD,MAAQsZ,EAAKxM,KAAK8C,GAAK0J,EAAKU,WAAWqlB,SAASzvB,EACnE84C,EAAmBY,YAAc,EACjCZ,EAAmB5K,cAAgB,EAAIxkC,EAAKU,WAAWuC,UACvDmsC,EAAmB3K,iBAAmB,EACtC2K,EAAmBa,UAAYjwC,EAAK9M,OAAOza,OACpC22D,CACT,EAEEM,6BACK,SAAU3tD,GACf,SAASmuD,EAAcj1C,GACrB,OAAQA,GACN,IAAK,QACL,IAAK,QACL,IAAK,aACL,KAAK,EACH,OAAOi1C,EAAcnvD,MACvB,IAAK,WACL,IAAK,WACL,IAAK,gBACL,IAAK,gBACL,KAAK,GACH,OAAOmvD,EAAc5K,SACvB,IAAK,gBACH,OAAO4K,EAAcC,UACvB,IAAK,gBACH,OAAOD,EAAcE,UACvB,IAAK,WACL,IAAK,WACL,IAAK,gBACL,KAAK,EACH,OAAOF,EAAc32D,SACvB,IAAK,kBACH,OAAO22D,EAAcG,UACvB,IAAK,kBACH,OAAOH,EAAcI,UACvB,IAAK,kBACH,OAAOJ,EAAcK,UACvB,IAAK,cACL,IAAK,cACL,IAAK,eACL,IAAK,mBACL,KAAK,EACH,OAAOL,EAAc3K,YACvB,IAAK,UACL,IAAK,UACL,KAAK,GACH,OAAO2K,EAAcpZ,QAE3B,CAgBA,GAfA9pC,OAAOu3C,eAAe2L,EAAe,WAAY,CAC/CjlD,IAAKqjD,4BAA4BvsD,EAAUnG,GAAKmG,EAAUsgB,MAE5DrV,OAAOu3C,eAAe2L,EAAe,YAAa,CAChDjlD,IAAKqjD,4BAA4BvsD,EAAUsgB,IAAMtgB,EAAUnG,KAE7DoR,OAAOu3C,eAAe2L,EAAe,YAAa,CAChDjlD,IAAKqjD,4BAA4BvsD,EAAUogB,MAE7CnV,OAAOu3C,eAAe2L,EAAe,YAAa,CAChDjlD,IAAKqjD,4BAA4BvsD,EAAUqgB,MAE7CpV,OAAOu3C,eAAe2L,EAAe,QAAS,CAC5CjlD,IAAKqjD,4BAA4BvsD,EAAUrG,KAEzCqG,EAAU/F,EACZ,IAAIw0D,EAAoBlC,4BAA4BvsD,EAAU/F,OACzD,CACL,IAEIy0D,EAFAC,EAAMpC,4BAA4BvsD,EAAUigB,IAC5C2uC,EAAMrC,4BAA4BvsD,EAAUkgB,IAE5ClgB,EAAUmgB,KACZuuC,EAAMnC,4BAA4BvsD,EAAUmgB,IAEhD,CAkCA,OAjCAlV,OAAOu3C,eAAe2L,EAAe,WAAY,CAC/CjlD,IAAK,WACH,OAAIlJ,EAAU/F,EACLw0D,IAEA,CAACE,IAAOC,IAAOF,EAAMA,IAAQ,EAExC,IAEFzjD,OAAOu3C,eAAe2L,EAAe,YAAa,CAChDjlD,IAAKqjD,4BAA4BvsD,EAAUigB,MAE7ChV,OAAOu3C,eAAe2L,EAAe,YAAa,CAChDjlD,IAAKqjD,4BAA4BvsD,EAAUkgB,MAE7CjV,OAAOu3C,eAAe2L,EAAe,YAAa,CAChDjlD,IAAKqjD,4BAA4BvsD,EAAUmgB,MAE7ClV,OAAOu3C,eAAe2L,EAAe,cAAe,CAClDjlD,IAAKqjD,4BAA4BvsD,EAAUb,KAE7C8L,OAAOu3C,eAAe2L,EAAe,UAAW,CAC9CjlD,IAAKqjD,4BAA4BvsD,EAAUL,KAE7CsL,OAAOu3C,eAAe2L,EAAe,OAAQ,CAC3CjlD,IAAKqjD,4BAA4BvsD,EAAUwgB,MAE7CvV,OAAOu3C,eAAe2L,EAAe,WAAY,CAC/CjlD,IAAKqjD,4BAA4BvsD,EAAUygB,MAE7CxV,OAAOu3C,eAAe2L,EAAe,cAAe,CAClDjlD,IAAKqjD,4BAA4BvsD,EAAUugB,MAEtC4tC,CACT,EAEE73D,iBAAmB,WACrB,SAASitC,EAAoBtlB,GAC3BzlB,KAAKq2D,aAAarzD,KAAKyiB,EACzB,CACA,OAAO,WACL,SAAS6wC,EAAqB51C,GAG5B,IAFA,IAAI3iB,EAAI,EACNE,EAAM+B,KAAKq2D,aAAan4D,OACnBH,EAAIE,GAAK,CACd,GAAI+B,KAAKq2D,aAAat4D,GAAGkb,MAAQjZ,KAAKq2D,aAAat4D,GAAGkb,KAAK3J,KAAOoR,EAIhE,OAHI1gB,KAAKq2D,aAAat4D,GAAGyuC,cAAgBxsC,KAAKq2D,aAAat4D,GAAGkb,KAAK4xB,IACjE7qC,KAAKq2D,aAAat4D,GAAGyuC,aAAaxsC,KAAKusC,cAElCvsC,KAAKq2D,aAAat4D,GAAG+3C,cAE9B/3C,GAAK,CACP,CACF,CAIA,OAHAu4D,EAAqBD,aAAe,GACpCC,EAAqB/pB,aAAe,EACpC+pB,EAAqBvrB,oBAAsBA,EACpCurB,CACT,CACF,CAvBuB,GAwBnB3gB,2BAA6B,WA+B/B,SAAS4gB,EAAqBt9C,EAAMia,EAAUw7B,EAAexoC,GAC3D,SAASswC,EAAe91C,GAItB,IAHA,IAAI80C,EAAUv8C,EAAK4lC,GACjB9gD,EAAI,EACJE,EAAMu3D,EAAQt3D,OACTH,EAAIE,GAAK,CACd,GAAIyiB,IAAS80C,EAAQz3D,GAAGuR,IAAMoR,IAAS80C,EAAQz3D,GAAG20D,IAAMhyC,IAAS80C,EAAQz3D,GAAG0yD,GAC1E,OAAsB,IAAlB+E,EAAQz3D,GAAGuJ,GACNmsC,EAAe11C,GAEf01C,EAAe11C,KAG1BA,GAAK,CACP,CACA,MAAM,IAAI8rC,KACZ,CAEA,IAEI9rC,EAFAu0D,EAAiBC,qBAAqBiE,EAAgB9H,GACtDjb,EAAiB,GAEnBx1C,EAAMgb,EAAK4lC,GAAG3gD,OAChB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACF,IAAlBkb,EAAK4lC,GAAG9gD,GAAGuJ,GACbmsC,EAAezwC,KAAKuzD,EAAqBt9C,EAAK4lC,GAAG9gD,GAAIm1B,EAASugB,eAAe11C,GAAIm1B,EAASugB,eAAe11C,GAAG2wD,cAAexoC,IAE3HutB,EAAezwC,KAAKyzD,EAAqBvjC,EAASugB,eAAe11C,GAAIkb,EAAK4lC,GAAG9gD,GAAGuJ,GAAI4e,EAAMosC,IAwB9F,MArBgB,uBAAZr5C,EAAKy5C,IACPjgD,OAAOu3C,eAAewM,EAAgB,QAAS,CAC7C9lD,IAAK,WACH,OAAO+iC,EAAe,IACxB,IAGJhhC,OAAOggD,iBAAiB+D,EAAgB,CACtC/C,cAAe,CACb/iD,IAAK,WACH,OAAOuI,EAAK66C,EACd,GAEFjB,MAAO,CACLrvD,MAAOyV,EAAK3J,IAEdo/C,cAAe,CACblrD,MAAO8uD,KAGXkE,EAAe9K,OAAS8K,EAAeE,QAAsB,IAAZz9C,EAAK09C,GAC/CH,CACT,CACA,SAASC,EAAqB33D,EAASc,EAAMsmB,EAAMwoC,GACjD,IAAIkI,EAAqB7C,4BAA4Bj1D,EAAQ2C,GAU7D,OAHI3C,EAAQ2C,EAAEgtD,kBACZ3vD,EAAQ2C,EAAEgtD,iBAAiB+D,kBAAkB,GAAI9D,IAPnD,WACE,OAAa,KAAT9uD,EACKsmB,EAAKT,KAAKqwB,cAAch3C,EAAQ2C,EAAEL,GAEpCw1D,GACT,CAKF,CACA,MA/FS,CACPhhB,uBAEF,SAAgC1vB,EAAMwoC,GACpC,GAAIxoC,EAAKuwB,eAAgB,CACvB,IAEI14C,EAFA01C,EAAiB,GACjBojB,EAAc3wC,EAAKjN,KAAK4lC,GAE1B5gD,EAAMioB,EAAKuwB,eAAehD,eAAev1C,OAC3C,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxB01C,EAAezwC,KAAKuzD,EAAqBM,EAAY94D,GAAImoB,EAAKuwB,eAAehD,eAAe11C,GAAI2wD,EAAexoC,IAEjH,IAAIsvC,EAAUtvC,EAAKjN,KAAK4lC,IAAM,GAC1B2X,EAAiB,SAAU91C,GAE7B,IADA3iB,EAAI,EAAGE,EAAMu3D,EAAQt3D,OACdH,EAAIE,GAAK,CACd,GAAIyiB,IAAS80C,EAAQz3D,GAAGuR,IAAMoR,IAAS80C,EAAQz3D,GAAG20D,IAAMhyC,IAAS80C,EAAQz3D,GAAG0yD,GAC1E,OAAOhd,EAAe11C,GAExBA,GAAK,CACP,CACF,EAMA,OALA0U,OAAOu3C,eAAewM,EAAgB,gBAAiB,CACrD9lD,IAAK,WACH,OAAO8kD,EAAQt3D,MACjB,IAEKs4D,CACT,CACF,EAmEF,CAjGiC,GAkG7BjB,qBAAuB,WACzB,SAASuB,EAActqD,EAAMyM,GAC3BjZ,KAAK+2D,MAAQvqD,EACbxM,KAAKg3D,MAAQ/9C,CACf,CAqCA,OApCAxG,OAAOu3C,eAAe8M,EAAcr0D,UAAW,WAAY,CACzDiO,IAAK,WAIH,OAHI1Q,KAAK+2D,MAAM5yD,KAAK4C,GAClB/G,KAAK+2D,MAAM5yD,KAAKO,WAEX1E,KAAK+2D,MAAM5yD,IACpB,IAEFsO,OAAOu3C,eAAe8M,EAAcr0D,UAAW,cAAe,CAC5DiO,IAAK,WAIH,OAHI1Q,KAAK+2D,MAAMxiC,GAAGxtB,GAChB/G,KAAK+2D,MAAMxiC,GAAG7vB,WAES,IAAlB1E,KAAK+2D,MAAMxiC,GAAGnzB,CACvB,IAEgB,SAAU67B,EAAa/W,GACvC,IAGInoB,EADAk5D,EAAmB34D,iBAAiB2+B,EAAY+I,SAAS9nC,QAE3DD,EAAMg/B,EAAY+I,SAAS9nC,OAC7B,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EACxBk5D,EAAiBl5D,GAAK,IAAI+4D,EAAc75B,EAAY+I,SAASjoC,GAAIk/B,EAAY1jB,gBAAgBxb,IAW/F,OATmB,SAAU2iB,GAE3B,IADA3iB,EAAI,EACGA,EAAIE,GAAK,CACd,GAAIg/B,EAAY1jB,gBAAgBxb,GAAGuR,KAAOoR,EACxC,OAAOu2C,EAAiBl5D,GAE1BA,GAAK,CACP,CACF,CAEF,CAEF,CA1C2B,GA2CvBg2D,4BAA8B,WAChC,IAAImD,EAA6B,CAC/Br1C,GAAI,EACJzgB,EAAG,EACH4kB,KAAM,GAEJmxC,EAA+B,CACjCt1C,GAAI,CAAC,EAAG,EAAG,GACXzgB,EAAG,CAAC,EAAG,EAAG,GACV4kB,KAAM,GAER,SAASoxC,EAAiBC,EAAiB7N,EAAU5pD,GACnD6S,OAAOu3C,eAAeqN,EAAiB,WAAY,CACjD3mD,IAAK,WACH,OAAO84C,EAAS2C,kBAAkB3C,EAAS/jC,KAAK8mB,aAClD,IAEF8qB,EAAgB5L,QAAUjC,EAASrnC,UAAYqnC,EAASrnC,UAAUjkB,OAAS,EAC3Em5D,EAAgB3qD,IAAM,SAAU4c,GAC9B,GAAK+tC,EAAgB5L,QAEd,CACL,IAAIjoD,EAAQ,GAEVA,EADE,MAAOgmD,EAASrnC,UAAUmH,EAAM,GAC1BkgC,EAASrnC,UAAUmH,EAAM,GAAGnoB,EAC3B,MAAOqoD,EAASrnC,UAAUmH,EAAM,GACjCkgC,EAASrnC,UAAUmH,EAAM,GAAGziB,EAE5B2iD,EAASrnC,UAAUmH,EAAM,GAAGnoB,EAEtC,IAAIm2D,EAAqB,mBAAT13D,EAA4B,IAAI6mD,OAAOjjD,GAASiP,OAAO8kD,OAAO,CAAC,EAAG/zD,GAGlF,OAFA8zD,EAAUpd,KAAOsP,EAASrnC,UAAUmH,EAAM,GAAG3nB,EAAI6nD,EAAStjC,KAAKT,KAAKU,WAAWuC,UAC/E4uC,EAAU9zD,MAAiB,mBAAT5D,EAA4B4D,EAAM,GAAKA,EAClD8zD,CACT,CAdE,OAAO,CAeX,EACAD,EAAgBtN,YAAcP,EAAS7gC,eACvC0uC,EAAgBG,YAAchO,EAAS4E,eACvCiJ,EAAgBlM,eAAiB3B,EAAS2C,kBAC1CkL,EAAgB3I,cAAgBlF,EAASkF,aAC3C,CA6CA,SAAS+I,IACP,OAAOP,CACT,CACA,OAAO,SAAU1N,GACf,OAAKA,EAE4B,mBAAtBA,EAAS5nC,SAlDtB,SAAyC4nC,GAClCA,GAAc,OAAQA,IACzBA,EAAW0N,GAEb,IAAIlxC,EAAO,EAAIwjC,EAASxjC,KACpB5nB,EAAMorD,EAAS3nC,GAAKmE,EACpBqxC,EAAkB,IAAI5Q,OAAOroD,GAGjC,OAFAi5D,EAAgB7zD,MAAQpF,EACxBg5D,EAAiBC,EAAiB7N,EAAU,kBACrC,WAUL,OATIA,EAASziD,GACXyiD,EAAS9kD,WAEXtG,EAAMorD,EAASpoD,EAAI4kB,EACfqxC,EAAgB7zD,QAAUpF,KAC5Bi5D,EAAkB,IAAI5Q,OAAOroD,IACboF,MAAQpF,EACxBg5D,EAAiBC,EAAiB7N,EAAU,mBAEvC6N,CACT,CACF,CA8BWK,CAAgClO,GA7B3C,SAA2CA,GACpCA,GAAc,OAAQA,IACzBA,EAAW2N,GAEb,IAAInxC,EAAO,EAAIwjC,EAASxjC,KACpB/nB,EAAMurD,EAAS3nC,GAAG3jB,OAClBm5D,EAAkBj0D,iBAAiB,UAAWnF,GAC9C05D,EAAWv0D,iBAAiB,UAAWnF,GAG3C,OAFAo5D,EAAgB7zD,MAAQm0D,EACxBP,EAAiBC,EAAiB7N,EAAU,oBACrC,WACDA,EAASziD,GACXyiD,EAAS9kD,WAEX,IAAK,IAAI3G,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAC5Bs5D,EAAgBt5D,GAAK45D,EAAS55D,GAAKyrD,EAASpoD,EAAErD,GAAKioB,EAErD,OAAOqxC,CACT,CACF,CAYWO,CAAkCpO,GAJlCiO,CAMX,CACF,CAjGkC,GAmG5BI,2BA6BAC,oBASN,SAASC,aAAa9+C,EAAMiN,EAAM5hB,GAChCtE,KAAKyB,EAAI2f,gBAAgB+F,QAAQjB,EAAMjN,EAAK7X,EAAG,EAAG,EAAGkD,EACvD,CACA,SAAS0zD,YAAY/+C,EAAMiN,EAAM5hB,GAC/BtE,KAAKyB,EAAI2f,gBAAgB+F,QAAQjB,EAAMjN,EAAK7X,EAAG,EAAG,EAAGkD,EACvD,CACA,SAAS2zD,YAAYh/C,EAAMiN,EAAM5hB,GAC/BtE,KAAKyB,EAAI2f,gBAAgB+F,QAAQjB,EAAMjN,EAAK7X,EAAG,EAAG,EAAGkD,EACvD,CACA,SAAS4zD,YAAYj/C,EAAMiN,EAAM5hB,GAC/BtE,KAAKyB,EAAI2f,gBAAgB+F,QAAQjB,EAAMjN,EAAK7X,EAAG,EAAG,EAAGkD,EACvD,CACA,SAAS6zD,iBAAiBl/C,EAAMiN,EAAM5hB,GACpCtE,KAAKyB,EAAI2f,gBAAgB+F,QAAQjB,EAAMjN,EAAK7X,EAAG,EAAG,EAAGkD,EACvD,CACA,SAAS8zD,gBAAgBn/C,EAAMiN,EAAM5hB,GACnCtE,KAAKyB,EAAI2f,gBAAgB+F,QAAQjB,EAAMjN,EAAK7X,EAAG,EAAG,EAAGkD,EACvD,CACA,SAAS+zD,eAAep/C,EAAMiN,EAAM5hB,GAClCtE,KAAKyB,EAAI2f,gBAAgB+F,QAAQjB,EAAMjN,EAAK7X,EAAG,EAAG,EAAGkD,EACvD,CACA,SAASg0D,gBACPt4D,KAAKyB,EAAI,CAAC,CACZ,CACA,SAASi1C,iBAAkB,CAC3B,SAASA,eAAez9B,EAAMna,GAC5B,IAAI02D,EAAUv8C,EAAK4lC,IAAM,GACzB7+C,KAAKyzC,eAAiB,GACtB,IAAI11C,EAEAw6D,EADFt6D,EAAMu3D,EAAQt3D,OAEhB,IAAKH,EAAI,EAAGA,EAAIE,EAAKF,IACnBw6D,EAAa,IAAIC,YAAYhD,EAAQz3D,GAAIe,GACzCkB,KAAKyzC,eAAezwC,KAAKu1D,EAE7B,CACA,SAASC,YAAYv/C,EAAMna,GACzBkB,KAAKmqB,KAAKlR,EAAMna,EAClB,CA5EM+4D,2BAA6B,WAC/B,SAASY,EAAc33C,EAAO43C,GAI5B,OAHA14D,KAAKqsD,UAAYvrC,EAAQ,EACzB9gB,KAAKssD,UAAYoM,EACjB14D,KAAKoB,EAAIpB,KAAK0E,WAAa1E,KAAKgmB,KACzBhmB,KAAKoB,CACd,CACA,OAAO,SAAoC8kB,EAAMjN,GAC/CjZ,KAAK6hB,GAAK,EACV7hB,KAAKylB,KAAOS,EAAKT,KACjBzlB,KAAKkmB,KAAOA,EACZlmB,KAAKgmB,KAAO,IACZhmB,KAAK4hB,SAAW,eAChB5hB,KAAKssD,UAAYrzC,EAAK2mB,WACtB5/B,KAAKusD,cAAgB,IACrBvsD,KAAKovD,UAAY,CAAC,EAAG,EAAG,GACxBpvD,KAAK+G,GAAI,EACT/G,KAAKkK,GAAI,EACTlK,KAAK0E,SAAW2hD,kBAAkBkD,mBAAmBrmD,KAAKlD,KAA1CqmD,CAAgDngC,EAAMjN,EAAMjZ,MAC5EA,KAAK0/B,QAAU+4B,EACfz4D,KAAKmsD,kBAAoB+B,kBAAkB/B,kBACvCnsD,KAAKymB,GACPzmB,KAAK2oB,eAAiBulC,kBAAkBvlC,eAAezlB,KAAKlD,MAE5DA,KAAK2oB,eAAiBulC,kBAAkBM,qBAAqBtrD,KAAKlD,MAEpEA,KAAKyuD,iBAAmBP,kBAAkBO,gBAC5C,CACF,CA5BiC,GA6B7BqJ,oBAAsBz8B,iBAAiBC,oBAC3CD,iBAAiBC,oBAAsB,SAAUpV,EAAMjN,EAAMxV,GAC3D,OAAe,IAAXwV,EAAKtX,EACA,IAAIk2D,2BAA2B3xC,EAAMjN,EAAMxV,GAE3Cq0D,oBAAoB5xC,EAAMjN,EAAMxV,EAE3C,EAyCFwO,gBAAgB,CAAChO,0BAA2Bu0D,aAC5CA,YAAY/1D,UAAUiC,SAAW8zD,YAAY/1D,UAAU+B,yBACvDg0D,YAAY/1D,UAAU0nB,KAAO,SAAUlR,EAAMna,GAC3CkB,KAAKiZ,KAAOA,EACZjZ,KAAKyzC,eAAiB,GACtBzzC,KAAK2E,6BAA6B7F,GAClC,IAAIf,EAEA46D,EADF16D,EAAM+B,KAAKiZ,KAAK4lC,GAAG3gD,OAEnBs3D,EAAUx1D,KAAKiZ,KAAK4lC,GACtB,IAAK9gD,EAAI,EAAGA,EAAIE,EAAKF,GAAK,EAAG,CAE3B,OADA46D,EAAM,KACEnD,EAAQz3D,GAAGuJ,IACjB,KAAK,EACHqxD,EAAM,IAAIZ,aAAavC,EAAQz3D,GAAIe,EAASkB,MAC5C,MACF,KAAK,EACH24D,EAAM,IAAIX,YAAYxC,EAAQz3D,GAAIe,EAASkB,MAC3C,MACF,KAAK,EACH24D,EAAM,IAAIV,YAAYzC,EAAQz3D,GAAIe,EAASkB,MAC3C,MACF,KAAK,EACH24D,EAAM,IAAIT,YAAY1C,EAAQz3D,GAAIe,EAASkB,MAC3C,MACF,KAAK,EACL,KAAK,EACH24D,EAAM,IAAIN,eAAe7C,EAAQz3D,GAAIe,EAASkB,MAC9C,MACF,KAAK,GACH24D,EAAM,IAAIR,iBAAiB3C,EAAQz3D,GAAIe,EAASkB,MAChD,MACF,KAAK,GACH24D,EAAM,IAAIP,gBAAgB5C,EAAQz3D,GAAIe,EAASkB,MAC/C,MACF,KAAK,EACH24D,EAAM,IAAIjiB,eAAe8e,EAAQz3D,GAAIe,EAASkB,MAC9C,MAEF,QACE24D,EAAM,IAAIL,cAAc9C,EAAQz3D,GAAIe,EAASkB,MAG7C24D,GACF34D,KAAKyzC,eAAezwC,KAAK21D,EAE7B,CACF,EACA,IAAIC,OAAS,CAAC,EACVlZ,WAAY,EAChB,SAASmZ,gBAAgB94C,GACvB5jB,aAAe4jB,CACjB,CACA,SAASkhC,oBACY,IAAfC,WACF5B,iBAAiB2B,iBAAiBlmC,cAAemmC,WAAY/yB,UAE7DmxB,iBAAiB2B,kBAErB,CACA,SAAS6X,qBAAqBl6D,GAC5BvC,gBAAkBuC,CACpB,CACA,SAAS+hD,cAAcC,GAIrB,OAHmB,IAAfM,aACFN,EAAO7lC,cAAgBhB,KAAKC,MAAMe,gBAE7BukC,iBAAiBqB,cAAcC,EACxC,CACA,SAASmY,WAAWv1D,GAClB,GAAqB,kBAAVA,EACT,OAAQA,GACN,IAAK,OACHjF,qBAAuB,IACvB,MACF,IAAK,SACHA,qBAAuB,GACvB,MACF,IAAK,MACHA,qBAAuB,QAGjBy6D,MAAMx1D,IAAUA,EAAQ,IAClCjF,qBAAuBiF,GAGvB7E,cADEJ,sBAAwB,IAK9B,CACA,SAAS06D,YACP,MAA4B,qBAAdx8D,SAChB,CACA,SAASy8D,cAAct5D,EAAMu5D,GACd,gBAATv5D,IACFtD,kBAAoB68D,EAExB,CACA,SAASC,WAAW14C,GAClB,OAAQA,GACN,IAAK,kBACH,OAAOU,gBACT,IAAK,uBACH,OAAOiJ,qBACT,IAAK,SACH,OAAOtlB,OAEb,CA2BA,SAASs0D,aACqB,aAAxBx1D,SAAS+1B,aACX0/B,cAAcC,yBACdtY,mBAEJ,CACA,SAASuY,iBAAiBC,GAExB,IADA,IAAIC,EAAOC,YAAYl/C,MAAM,KACpB1c,EAAI,EAAGA,EAAI27D,EAAKx7D,OAAQH,IAAK,CACpC,IAAI67D,EAAOF,EAAK37D,GAAG0c,MAAM,KACzB,GAAIo/C,mBAAmBD,EAAK,KAAOH,EACjC,OAAOI,mBAAmBD,EAAK,GAEnC,CACF,CAxCAhB,OAAO9iC,KAAOwpB,iBAAiBxpB,KAC/B8iC,OAAOtjC,MAAQgqB,iBAAiBhqB,MAChCsjC,OAAOC,gBAAkBA,gBACzBD,OAAO5X,YAAc1B,iBAAiB0B,YACtC4X,OAAO9X,SAAWxB,iBAAiBwB,SACnC8X,OAAO7X,aAAezB,iBAAiByB,aACvC6X,OAAO7oB,KAAOuP,iBAAiBvP,KAC/B6oB,OAAO3X,iBAAmBA,iBAC1B2X,OAAO3Y,kBAAoBX,iBAAiBW,kBAC5C2Y,OAAOjY,cAAgBA,cACvBiY,OAAOE,qBAAuBA,qBAC9BF,OAAOrX,OAASjC,iBAAiBiC,OAEjCqX,OAAOpX,YAAclC,iBAAiBkC,YACtCoX,OAAO3gC,QAAUqnB,iBAAiBrnB,QAClC2gC,OAAOG,WAAaA,WACpBH,OAAOK,UAAYA,UACnBL,OAAOM,cAAgBA,cACvBN,OAAOlX,OAASpC,iBAAiBoC,OACjCkX,OAAOjX,SAAWrC,iBAAiBqC,SACnCiX,OAAO1iC,UAAYopB,iBAAiBppB,UACpC0iC,OAAOviC,KAAOipB,iBAAiBjpB,KAC/BuiC,OAAOtiC,OAASgpB,iBAAiBhpB,OACjCsiC,OAAOhX,wBAA0BtC,iBAAiBsC,wBAClDgX,OAAOkB,aAAeV,WACtBR,OAAOmB,QAAU,QAgBjB,IAAI7Y,WAAa,mBACbnmC,cAAgB,sBAChBoT,SAAW,GACf,GAAI+yB,WAAY,CACd,IAAI8Y,QAAUn2D,SAASw9C,qBAAqB,UACxCvgC,MAAQk5C,QAAQ97D,OAAS,EACzB+7D,SAAWD,QAAQl5C,QAAU,CAC/Bb,IAAK,IAEH05C,YAAcM,SAASh6C,IAAIzQ,QAAQ,aAAc,IACrD2e,SAAWqrC,iBAAiB,WAC9B,CACA,IAAID,wBAA0BW,YAAYb,WAAY,KACtD,OAAOT,MACT,OAx4XK,KAFD,yCACE,OAAOlrC,QAAQysC,KAChB,oG,qBCJL,UAUI,EAAO,CAAC,MAAW,EAMpB,SAAUC,GACXA,EAAEC,OAAOD,EAAEze,GAAI,CAEb2e,SAAU,SAAUxsD,GAElB,GAAK9N,KAAK9B,OAAV,CAQA,IAAIq8D,EAAYH,EAAEnhD,KAAKjZ,KAAK,GAAI,aAChC,OAAIu6D,IAKJv6D,KAAKqS,KAAK,aAAc,cACxBkoD,EAAY,IAAIH,EAAEG,UAAUzsD,EAAS9N,KAAK,IAC1Co6D,EAAEnhD,KAAKjZ,KAAK,GAAI,YAAau6D,GACzBA,EAAUC,SAASC,WACrBz6D,KAAK06D,GAAG,iBAAkB,WAAW,SAAUC,GAG7CJ,EAAUK,aAAeD,EAAME,cAG3BT,EAAEp6D,MAAM86D,SAAS,YACnBP,EAAUQ,cAAe,QAIYp4B,IAAnCy3B,EAAEp6D,MAAMqS,KAAK,oBACfkoD,EAAUQ,cAAe,EAE7B,IAGA/6D,KAAK06D,GAAG,mBAAmB,SAAUC,GAKnC,SAASK,IACP,IAAI7sB,EAAQ/gC,EAUZ,OAHImtD,EAAUK,eAAiBL,EAAUC,SAASS,eAAiBV,EAAUW,iBAC3E/sB,EAASisB,EAAE,0BAA0B/nD,KAAK,OAAQkoD,EAAUK,aAAal6C,MAAMtiB,IAAIg8D,EAAEG,EAAUK,cAAcx8D,OAAO+8D,SAASZ,EAAUa,gBAErIb,EAAUC,SAASS,gBAAkBV,EAAUC,SAASa,SAC1DjuD,EAASmtD,EAAUC,SAASS,cAAc3c,KAAKic,EAAWA,EAAUa,YAAaT,GAC7ExsB,GAEFA,EAAOmtB,cAEM34B,IAAXv1B,GACKA,EAKb,CAGA,OA9BImtD,EAAUC,SAASa,OAErBV,EAAMY,iBA4BJhB,EAAUQ,cACZR,EAAUQ,cAAe,EAClBC,KAELT,EAAUiB,OACRjB,EAAUkB,gBACZlB,EAAUW,eAAgB,GACnB,GAEFF,KAEPT,EAAUmB,gBACH,EAEX,KAEKnB,EA7EP,CAJMzsD,GAAWA,EAAQutD,OAASp/D,OAAOskB,SACrCA,QAAQC,KAAK,uDAiFnB,EAEAm7C,MAAO,WACL,IAAIA,EAAOpB,EAAWqB,EAetB,OAdIxB,EAAEp6D,KAAK,IAAIisB,GAAG,QAChB0vC,EAAQ37D,KAAKs6D,WAAWkB,QAExBI,EAAY,GACZD,GAAQ,EACRpB,EAAYH,EAAEp6D,KAAK,GAAGw7D,MAAMlB,WAC5Bt6D,KAAK67D,MAAK,YACRF,EAAQpB,EAAUz7D,QAAQkB,OAAS27D,KAEjCC,EAAYA,EAAU39C,OAAOs8C,EAAUqB,WAE3C,IACArB,EAAUqB,UAAYA,GAEjBD,CACT,EAEAG,MAAO,SAAUC,EAASC,GACxB,IAEExB,EACAyB,EACAC,EACAjjD,EACAkjD,EACAC,EAPEt9D,EAAUkB,KAAK,GACjBq8D,EAA4D,qBAAjCr8D,KAAKqS,KAAK,oBAAuE,UAAjCrS,KAAKqS,KAAK,mBASvF,GAAe,MAAXvT,KAGCA,EAAQ08D,MAAQa,IACnBv9D,EAAQ08D,KAAOx7D,KAAKs8D,QAAQ,QAAQ,GACpCx9D,EAAQ4hB,KAAO1gB,KAAKqS,KAAK,SAEP,MAAhBvT,EAAQ08D,MAAZ,CAGA,GAAIO,EAIF,OAFAE,GADAzB,EAAWJ,EAAEnhD,KAAKna,EAAQ08D,KAAM,aAAahB,UACtBsB,MACvBI,EAAgB9B,EAAEG,UAAU0B,YAAYn9D,GAChCi9D,GACN,IAAK,MACH3B,EAAEC,OAAO6B,EAAe9B,EAAEG,UAAUgC,cAAcP,WAG3CE,EAAcM,SACrBP,EAAYn9D,EAAQ4hB,MAAQw7C,EACxBF,EAASQ,WACXhC,EAASgC,SAAS19D,EAAQ4hB,MAAQ05C,EAAEC,OAAOG,EAASgC,SAAS19D,EAAQ4hB,MAAOs7C,EAASQ,WAEvF,MACF,IAAK,SACH,OAAKR,GAILI,EAAW,CAAC,EACZhC,EAAEyB,KAAKG,EAASvhD,MAAM,OAAO,SAAUqG,EAAO27C,GAC5CL,EAASK,GAAUP,EAAcO,UAC1BP,EAAcO,EACvB,IACOL,WAREH,EAAYn9D,EAAQ4hB,MACpBw7C,GA6Bf,OAnBAjjD,EAAOmhD,EAAEG,UAAUmC,eAAetC,EAAEC,OAAO,CAAC,EAAGD,EAAEG,UAAUoC,WAAW79D,GAAUs7D,EAAEG,UAAUqC,eAAe99D,GAAUs7D,EAAEG,UAAUsC,UAAU/9D,GAAUs7D,EAAEG,UAAU0B,YAAYn9D,IAAWA,IAG/Kg+D,WACPX,EAAQljD,EAAK6jD,gBACN7jD,EAAK6jD,SACZ7jD,EAAOmhD,EAAEC,OAAO,CACdyC,SAAUX,GACTljD,IAIDA,EAAK8jD,SACPZ,EAAQljD,EAAK8jD,cACN9jD,EAAK8jD,OACZ9jD,EAAOmhD,EAAEC,OAAOphD,EAAM,CACpB8jD,OAAQZ,KAGLljD,CAhDP,CAiDF,IAIF,IA0iCU+jD,EA1iCNC,EAAO,SAAU1tD,GAEnB,OAAOA,EAAIC,QAAQ,qCAAsC,GAC3D,EAGA4qD,EAAEC,OAAOD,EAAE8C,KAAKC,SAAW/C,EAAE8C,KAAK,KAAM,CAItCE,MAAO,SAAUz2D,GACf,OAAQs2D,EAAK,GAAK7C,EAAEzzD,GAAGvI,MACzB,EAEAi/D,OAAQ,SAAU12D,GAChB,IAAIvI,EAAMg8D,EAAEzzD,GAAGvI,MACf,OAAe,OAARA,KAAkB6+D,EAAK,GAAK7+D,EACrC,EAEAk/D,UAAW,SAAU32D,GACnB,OAAQyzD,EAAEzzD,GAAGxC,KAAK,UACpB,IAIFi2D,EAAEG,UAAY,SAAUzsD,EAAS0tD,GAC/Bx7D,KAAKw6D,SAAWJ,EAAEC,QAAO,EAAM,CAAC,EAAGD,EAAEG,UAAUgD,SAAUzvD,GACzD9N,KAAKo7D,YAAcI,EACnBx7D,KAAKmqB,MACP,EAGAiwC,EAAEG,UAAUiD,OAAS,SAAUlI,EAAQ1U,GACrC,OAAyB,IAArB6c,UAAUv/D,OACL,WACL,IAAI0E,EAAOw3D,EAAEsD,UAAUD,WAEvB,OADA76D,EAAKowB,QAAQsiC,GACN8E,EAAEG,UAAUiD,OAAO75D,MAAM3D,KAAM4C,EACxC,QAEa+/B,IAAXie,IAGA6c,UAAUv/D,OAAS,GAAK0iD,EAAO17B,cAAgBxhB,QACjDk9C,EAASwZ,EAAEsD,UAAUD,WAAWzwD,MAAM,IAEpC4zC,EAAO17B,cAAgBxhB,QACzBk9C,EAAS,CAACA,IAEZwZ,EAAEyB,KAAKjb,GAAQ,SAAU7iD,EAAGmJ,GAC1BouD,EAASA,EAAO9lD,QAAQ,IAAImuD,OAAO,MAAQ5/D,EAAI,MAAO,MAAM,WAC1D,OAAOmJ,CACT,GACF,KAZSouD,EAcX,EACA8E,EAAEC,OAAOD,EAAEG,UAAW,CACpBgD,SAAU,CACRf,SAAU,CAAC,EACXoB,OAAQ,CAAC,EACT9B,MAAO,CAAC,EACR+B,WAAY,QACZC,aAAc,UACdC,WAAY,QACZC,aAAc,QACdC,cAAc,EACdvC,cAAc,EACdwC,eAAgB9D,EAAE,IAClB+D,oBAAqB/D,EAAE,IACvBK,UAAU,EACV2D,OAAQ,UACRC,aAAa,EACbC,UAAW,SAAUx/D,GACnBkB,KAAKu+D,WAAaz/D,EAGdkB,KAAKw6D,SAASyD,eACZj+D,KAAKw6D,SAASgE,aAChBx+D,KAAKw6D,SAASgE,YAAYlgB,KAAKt+C,KAAMlB,EAASkB,KAAKw6D,SAASqD,WAAY79D,KAAKw6D,SAASuD,YAExF/9D,KAAKy+D,UAAUz+D,KAAK0+D,UAAU5/D,IAElC,EACA6/D,WAAY,SAAU7/D,GACfkB,KAAK4+D,UAAU9/D,MAAaA,EAAQ4hB,QAAQ1gB,KAAK6+D,YAAc7+D,KAAK8+D,SAAShgE,IAChFkB,KAAKlB,QAAQA,EAEjB,EACAigE,QAAS,SAAUjgE,EAAS67D,GAe1B,IAAIqE,EAAe,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,KACjD,IAAhBrE,EAAMsE,OAA8C,KAA/Bj/D,KAAKk/D,aAAapgE,KAA+D,IAA5Cs7D,EAAE+E,QAAQxE,EAAMyE,QAASJ,KAE5ElgE,EAAQ4hB,QAAQ1gB,KAAK6+D,WAAa//D,EAAQ4hB,QAAQ1gB,KAAKq/D,UAChEr/D,KAAKlB,QAAQA,EAEjB,EACAwgE,QAAS,SAAUxgE,GAEbA,EAAQ4hB,QAAQ1gB,KAAK6+D,UACvB7+D,KAAKlB,QAAQA,GAGJA,EAAQud,WAAWqE,QAAQ1gB,KAAK6+D,WACzC7+D,KAAKlB,QAAQA,EAAQud,WAEzB,EACAkjD,UAAW,SAAUzgE,EAAS++D,EAAYE,GACnB,UAAjBj/D,EAAQc,KACVI,KAAKw/D,WAAW1gE,EAAQ4hB,MAAM++C,SAAS5B,GAAY6B,YAAY3B,GAE/D3D,EAAEt7D,GAAS2gE,SAAS5B,GAAY6B,YAAY3B,EAEhD,EACAS,YAAa,SAAU1/D,EAAS++D,EAAYE,GACrB,UAAjBj/D,EAAQc,KACVI,KAAKw/D,WAAW1gE,EAAQ4hB,MAAMg/C,YAAY7B,GAAY4B,SAAS1B,GAE/D3D,EAAEt7D,GAAS4gE,YAAY7B,GAAY4B,SAAS1B,EAEhD,GAGF4B,YAAa,SAAUnF,GACrBJ,EAAEC,OAAOD,EAAEG,UAAUgD,SAAU/C,EACjC,EACAgC,SAAU,CACRM,SAAU,0BACVC,OAAQ,yBACR6C,MAAO,sCACPC,IAAK,4BACLC,KAAM,6BACNC,QAAS,mCACTC,OAAQ,+BACRC,OAAQ,4BACRC,QAAS,qCACTC,UAAW/F,EAAEG,UAAUiD,OAAO,6CAC9B4C,UAAWhG,EAAEG,UAAUiD,OAAO,yCAC9B6C,YAAajG,EAAEG,UAAUiD,OAAO,6DAChC8C,MAAOlG,EAAEG,UAAUiD,OAAO,6CAC1B//D,IAAK28D,EAAEG,UAAUiD,OAAO,mDACxB7/D,IAAKy8D,EAAEG,UAAUiD,OAAO,sDACxB+C,KAAMnG,EAAEG,UAAUiD,OAAO,oCAE3BgD,kBAAkB,EAClB/9D,UAAW,CACT0nB,KAAM,WACJnqB,KAAKygE,eAAiBrG,EAAEp6D,KAAKw6D,SAAS2D,qBACtCn+D,KAAK0gE,aAAe1gE,KAAKygE,eAAeviE,QAAU8B,KAAKygE,gBAAkBrG,EAAEp6D,KAAKo7D,aAChFp7D,KAAK2gE,WAAavG,EAAEp6D,KAAKw6D,SAAS0D,gBAAgBj+B,IAAIjgC,KAAKw6D,SAAS2D,qBACpEn+D,KAAK6+D,UAAY,CAAC,EAClB7+D,KAAK4gE,WAAa,CAAC,EACnB5gE,KAAKy7D,eAAiB,EACtBz7D,KAAK6gE,QAAU,CAAC,EAChB7gE,KAAKq/D,QAAU,CAAC,EAChBr/D,KAAKuF,QACL,IAEEu2D,EAFEV,EAAcp7D,KAAKo7D,YACrBwC,EAAS59D,KAAK49D,OAAS,CAAC,EAc1B,SAASkD,EAASnG,GAChB,IAAI0B,EAA+D,qBAApCjC,EAAEp6D,MAAMqS,KAAK,oBAA0E,UAApC+nD,EAAEp6D,MAAMqS,KAAK,mBAU/F,IAPKrS,KAAKw7D,MAAQa,IAChBr8D,KAAKw7D,KAAOpB,EAAEp6D,MAAMs8D,QAAQ,QAAQ,GACpCt8D,KAAK0gB,KAAO05C,EAAEp6D,MAAMqS,KAAK,SAKvB+oD,IAAgBp7D,KAAKw7D,KAAzB,CAGA,IAAIjB,EAAYH,EAAEnhD,KAAKjZ,KAAKw7D,KAAM,aAChCuF,EAAY,KAAOpG,EAAM/6D,KAAK4P,QAAQ,YAAa,IACnDgrD,EAAWD,EAAUC,SACnBA,EAASuG,KAAe3G,EAAEp6D,MAAMisB,GAAGuuC,EAAS4D,SAC9C5D,EAASuG,GAAWziB,KAAKic,EAAWv6D,KAAM26D,EAL5C,CAOF,CAhCAP,EAAEyB,KAAK77D,KAAKw6D,SAASoD,QAAQ,SAAUlxD,EAAKlJ,GACrB,kBAAVA,IACTA,EAAQA,EAAMiX,MAAM,OAEtB2/C,EAAEyB,KAAKr4D,GAAO,SAAUsd,EAAOJ,GAC7Bk9C,EAAOl9C,GAAQhU,CACjB,GACF,IACAovD,EAAQ97D,KAAKw6D,SAASsB,MACtB1B,EAAEyB,KAAKC,GAAO,SAAUpvD,EAAKlJ,GAC3Bs4D,EAAMpvD,GAAO0tD,EAAEG,UAAUgC,cAAc/4D,EACzC,IAsBA42D,EAAEp6D,KAAKo7D,aAAaV,GAAG,oDAAqD,0VAA0WoG,GAIrbpG,GAAG,iBAAkB,oDAAqDoG,GACvE9gE,KAAKw6D,SAASwG,gBAChB5G,EAAEp6D,KAAKo7D,aAAaV,GAAG,wBAAyB16D,KAAKw6D,SAASwG,eAElE,EAEAxF,KAAM,WAQJ,OAPAx7D,KAAKihE,YACL7G,EAAEC,OAAOr6D,KAAK6+D,UAAW7+D,KAAKkhE,UAC9BlhE,KAAKq/D,QAAUjF,EAAEC,OAAO,CAAC,EAAGr6D,KAAKkhE,UAC5BlhE,KAAK27D,SACRvB,EAAEp6D,KAAKo7D,aAAa+F,eAAe,eAAgB,CAACnhE,OAEtDA,KAAKohE,aACEphE,KAAK27D,OACd,EACAsF,UAAW,WACTjhE,KAAKqhE,cACL,IAAK,IAAItjE,EAAI,EAAGm1B,EAAWlzB,KAAKshE,gBAAkBthE,KAAKkzB,WAAYA,EAASn1B,GAAIA,IAC9EiC,KAAKuhE,MAAMruC,EAASn1B,IAEtB,OAAOiC,KAAK27D,OACd,EAEA78D,QAAS,SAAUA,GACjB,IAIE0iE,EACA1tC,EALE2tC,EAAezhE,KAAK0hE,MAAM5iE,GAC5B6iE,EAAe3hE,KAAK4hE,oBAAoBH,GACxCrgE,EAAIpB,KACJoN,GAAS,EAuCX,YApCqBu1B,IAAjBg/B,SACK3hE,KAAKq/D,QAAQoC,EAAa/gD,OAEjC1gB,KAAK6hE,eAAeF,GACpB3hE,KAAKshE,gBAAkBlH,EAAEuH,IAIzB7tC,EAAQ9zB,KAAK49D,OAAO+D,EAAajhD,QAE/B05C,EAAEyB,KAAK77D,KAAK49D,QAAQ,SAAUl9C,EAAMohD,GAC9BA,IAAchuC,GAASpT,IAASihD,EAAajhD,OAC/C+gD,EAAergE,EAAEwgE,oBAAoBxgE,EAAEsgE,MAAMtgE,EAAEo+D,WAAW9+C,OACtC+gD,EAAa/gD,QAAQtf,EAAEi+D,UACzCj+D,EAAEkgE,gBAAgBt+D,KAAKy+D,GACvBr0D,EAAShM,EAAEmgE,MAAME,IAAiBr0D,EAGxC,IAEFo0D,GAAkC,IAA7BxhE,KAAKuhE,MAAMI,GAChBv0D,EAASA,GAAUo0D,EAEjBxhE,KAAKq/D,QAAQsC,EAAajhD,OADxB8gD,EAKCxhE,KAAK+hE,qBAER/hE,KAAKgiE,OAAShiE,KAAKgiE,OAAO/hC,IAAIjgC,KAAK2gE,aAErC3gE,KAAKohE,aAGLhH,EAAEt7D,GAASuT,KAAK,gBAAiBmvD,IAE5Bp0D,CACT,EAEAg0D,WAAY,SAAUa,GACpB,GAAIA,EAAQ,CACV,IAAI1H,EAAYv6D,KAGhBo6D,EAAEC,OAAOr6D,KAAKkhE,SAAUe,GACxBjiE,KAAK47D,UAAYxB,EAAE8H,IAAIliE,KAAKkhE,UAAU,SAAUiB,EAASzhD,GACvD,MAAO,CACLyhD,QAASA,EACTrjE,QAASy7D,EAAUiF,WAAW9+C,GAAM,GAExC,IAGA1gB,KAAKoiE,YAAchI,EAAEiI,KAAKriE,KAAKoiE,aAAa,SAAUtjE,GACpD,QAASA,EAAQ4hB,QAAQuhD,EAC3B,GACF,CACIjiE,KAAKw6D,SAAS4G,WAChBphE,KAAKw6D,SAAS4G,WAAW9iB,KAAKt+C,KAAMA,KAAKkhE,SAAUlhE,KAAK47D,WAExD57D,KAAKsiE,mBAET,EAEAC,UAAW,WACLnI,EAAEze,GAAG4mB,WACPnI,EAAEp6D,KAAKo7D,aAAamH,YAEtBviE,KAAKq/D,QAAU,CAAC,EAChBr/D,KAAK6+D,UAAY,CAAC,EAClB7+D,KAAKqhE,cACLrhE,KAAKwiE,aACL,IAAItvC,EAAWlzB,KAAKkzB,WAAWuvC,WAAW,iBAAiBC,WAAW,gBACtE1iE,KAAKizB,cAAcC,EACrB,EACAD,cAAe,SAAUC,GACvB,IAAIn1B,EACJ,GAAIiC,KAAKw6D,SAASgE,YAChB,IAAKzgE,EAAI,EAAGm1B,EAASn1B,GAAIA,IACvBiC,KAAKw6D,SAASgE,YAAYlgB,KAAKt+C,KAAMkzB,EAASn1B,GAAIiC,KAAKw6D,SAASqD,WAAY,IAC5E79D,KAAKw/D,WAAWtsC,EAASn1B,GAAG2iB,MAAMg/C,YAAY1/D,KAAKw6D,SAASuD,iBAG9D7qC,EAASwsC,YAAY1/D,KAAKw6D,SAASqD,YAAY6B,YAAY1/D,KAAKw6D,SAASuD,WAE7E,EACAgE,iBAAkB,WAChB,OAAO/hE,KAAK2iE,aAAa3iE,KAAKq/D,QAChC,EACAsD,aAAc,SAAUz1D,GAEtB,IACEnP,EADE+O,EAAQ,EAEZ,IAAK/O,KAAKmP,OAGOy1B,IAAXz1B,EAAInP,IAA+B,OAAXmP,EAAInP,KAA0B,IAAXmP,EAAInP,IACjD+O,IAGJ,OAAOA,CACT,EACA01D,WAAY,WACVxiE,KAAKy+D,UAAUz+D,KAAKgiE,OACtB,EACAvD,UAAW,SAAUwD,GACnBA,EAAOW,IAAI5iE,KAAK2gE,YAAY7/B,KAAK,IACjC9gC,KAAK6iE,WAAWZ,GAAQr1B,MAC1B,EACA+uB,MAAO,WACL,OAAuB,IAAhB37D,KAAKgc,MACd,EACAA,KAAM,WACJ,OAAOhc,KAAK47D,UAAU19D,MACxB,EACAw9D,aAAc,WACZ,GAAI17D,KAAKw6D,SAASkB,aAChB,IACEtB,EAAEp6D,KAAK8iE,kBAAoB9iE,KAAK47D,UAAU19D,QAAU8B,KAAK47D,UAAU,GAAG98D,SAAW,IAAIw0C,OAAO,YAAY8P,QAAQ,SAG/GA,QAAQ,UACX,CAAE,MAAOv8C,GAGT,CAEJ,EACAi8D,eAAgB,WACd,IAAIvE,EAAav+D,KAAKu+D,WACtB,OAAOA,GAEO,IAFOnE,EAAEiI,KAAKriE,KAAK47D,WAAW,SAAU10D,GACpD,OAAOA,EAAEpI,QAAQ4hB,OAAS69C,EAAW79C,IACvC,IAAGxiB,QAAgBqgE,CACrB,EACArrC,SAAU,WACR,IAAIqnC,EAAYv6D,KACd+iE,EAAa,CAAC,EAGhB,OAAO3I,EAAEp6D,KAAKo7D,aAAa4H,KAAK,8CAA8CJ,IAAI,sCAAsCA,IAAI5iE,KAAKw6D,SAAS4D,QAAQ9qB,QAAO,WACvJ,IAAI5yB,EAAO1gB,KAAK0gB,MAAQ05C,EAAEp6D,MAAMqS,KAAK,QACjCgqD,EAA+D,qBAApCjC,EAAEp6D,MAAMqS,KAAK,oBAA0E,UAApC+nD,EAAEp6D,MAAMqS,KAAK,mBAY/F,OAXKqO,GAAQ65C,EAAUC,SAASa,OAASp/D,OAAOskB,SAC9CA,QAAQ4jC,MAAM,0BAA2BnkD,MAIvCq8D,IACFr8D,KAAKw7D,KAAOpB,EAAEp6D,MAAMs8D,QAAQ,QAAQ,GACpCt8D,KAAK0gB,KAAOA,GAIV1gB,KAAKw7D,OAASjB,EAAUa,eAKxB16C,KAAQqiD,IAAexI,EAAUoI,aAAavI,EAAEp6D,MAAM87D,YAG1DiH,EAAWriD,IAAQ,GACZ,EACT,GACF,EACAghD,MAAO,SAAUuB,GACf,OAAO7I,EAAE6I,GAAU,EACrB,EACAhB,OAAQ,WACN,IAAIpE,EAAa79D,KAAKw6D,SAASqD,WAAWpjD,MAAM,KAAK0C,KAAK,KAC1D,OAAOi9C,EAAEp6D,KAAKw6D,SAASwD,aAAe,IAAMH,EAAY79D,KAAK0gE,aAC/D,EACAwC,eAAgB,WACdljE,KAAKoiE,YAAc,GACnBpiE,KAAK47D,UAAY,GACjB57D,KAAKkhE,SAAW,CAAC,EACjBlhE,KAAKmjE,OAAS/I,EAAE,IAChBp6D,KAAKgiE,OAAS5H,EAAE,GAClB,EACA70D,MAAO,WACLvF,KAAKkjE,iBACLljE,KAAKshE,gBAAkBlH,EAAE,GAC3B,EACAiH,YAAa,WACXrhE,KAAKuF,QACLvF,KAAKgiE,OAAShiE,KAAKiiE,SAAShiC,IAAIjgC,KAAK2gE,WACvC,EACAkB,eAAgB,SAAU/iE,GACxBkB,KAAKuF,QACLvF,KAAKgiE,OAAShiE,KAAK0+D,UAAU5/D,EAC/B,EACAogE,aAAc,SAAUpgE,GACtB,IAGEV,EACAglE,EAJEC,EAAWjJ,EAAEt7D,GACfc,EAAOd,EAAQc,KACfy8D,EAAgE,qBAArCgH,EAAShxD,KAAK,oBAA2E,UAArCgxD,EAAShxD,KAAK,mBAG/F,MAAa,UAATzS,GAA6B,aAATA,EACfI,KAAKw/D,WAAW1gE,EAAQ4hB,MAAM4yB,OAAO,YAAYl1C,MACtC,WAATwB,GAAiD,qBAArBd,EAAQwkE,SACtCxkE,EAAQwkE,SAASC,SAAW,MAAQF,EAASjlE,OAGpDA,EADEi+D,EACIgH,EAASviC,OAETuiC,EAASjlE,MAEJ,SAATwB,EAEwB,mBAAtBxB,EAAI8iC,OAAO,EAAG,IACT9iC,EAAI8iC,OAAO,KAKpBkiC,EAAMhlE,EAAI8kD,YAAY,OACX,IAKXkgB,EAAMhlE,EAAI8kD,YAAY,QACX,EALF9kD,EAAI8iC,OAAOkiC,EAAM,GAUnBhlE,EAEU,kBAARA,EACFA,EAAIoR,QAAQ,MAAO,IAErBpR,EACT,EACAmjE,MAAO,SAAUziE,GACfA,EAAUkB,KAAK4hE,oBAAoB5hE,KAAK0hE,MAAM5iE,IAC9C,IAMEsO,EACAqvD,EACA+G,EACAC,EATE3H,EAAQ1B,EAAEt7D,GAASg9D,QACrB4H,EAAatJ,EAAE8H,IAAIpG,GAAO,SAAU50D,EAAGnJ,GACrC,OAAOA,CACT,IAAGG,OACHylE,GAAqB,EACrBvlE,EAAM4B,KAAKk/D,aAAapgE,GAuB1B,IAAK29D,IAf2B,oBAArBX,EAAM2H,WACfA,EAAa3H,EAAM2H,WAC0B,oBAA7BzjE,KAAKw6D,SAASiJ,aAC9BA,EAAazjE,KAAKw6D,SAASiJ,YAMzBA,IACFrlE,EAAMqlE,EAAWnlB,KAAKx/C,EAASV,UAGxB09D,EAAM2H,YAEA3H,EAAO,CACpB0H,EAAO,CACL/G,OAAQA,EACRmH,WAAY9H,EAAMW,IAEpB,IAKE,GAAe,yBAJfrvD,EAASgtD,EAAEG,UAAUsJ,QAAQpH,GAAQne,KAAKt+C,KAAM5B,EAAKU,EAAS0kE,EAAKI,cAIZ,IAAfF,EAAkB,CACxDC,GAAqB,EACrB,QACF,CAEA,GADAA,GAAqB,EACN,YAAXv2D,EAEF,YADApN,KAAKgiE,OAAShiE,KAAKgiE,OAAOY,IAAI5iE,KAAK0+D,UAAU5/D,KAG/C,IAAKsO,EAEH,OADApN,KAAK8jE,aAAahlE,EAAS0kE,IACpB,CAEX,CAAE,MAAO38D,GAOP,MANI7G,KAAKw6D,SAASa,OAASp/D,OAAOskB,SAChCA,QAAQwjD,IAAI,4CAA8CjlE,EAAQuZ,GAAK,gBAAkBmrD,EAAK/G,OAAS,YAAa51D,GAElHA,aAAam9D,YACfn9D,EAAEs7D,SAAW,+CAAiDrjE,EAAQuZ,GAAK,gBAAkBmrD,EAAK/G,OAAS,aAEvG51D,CACR,CACF,CACA,IAAI88D,EAMJ,OAHI3jE,KAAK2iE,aAAa7G,IACpB97D,KAAKoiE,YAAYp/D,KAAKlE,IAEjB,CACT,EAIAmlE,kBAAmB,SAAUnlE,EAAS29D,GACpC,OAAOrC,EAAEt7D,GAASma,KAAK,MAAQwjD,EAAOx7B,OAAO,GAAGijC,cAAgBzH,EAAO9O,UAAU,GAAGhsB,gBAAkBy4B,EAAEt7D,GAASma,KAAK,MACxH,EAEAkrD,cAAe,SAAUzjD,EAAM+7C,GAC7B,IAAIx1D,EAAIjH,KAAKw6D,SAASgC,SAAS97C,GAC/B,OAAOzZ,IAAMA,EAAEie,cAAgBtX,OAAS3G,EAAIA,EAAEw1D,GAChD,EAEA2H,YAAa,WACX,IAAK,IAAIrmE,EAAI,EAAGA,EAAI0/D,UAAUv/D,OAAQH,IACpC,QAAqB4kC,IAAjB86B,UAAU1/D,GACZ,OAAO0/D,UAAU1/D,EAIvB,EAUAsmE,eAAgB,SAAUvlE,EAAS0kE,GACb,kBAATA,IACTA,EAAO,CACL/G,OAAQ+G,IAGZ,IAAIrB,EAAUniE,KAAKokE,YAAYpkE,KAAKmkE,cAAcrlE,EAAQ4hB,KAAM8iD,EAAK/G,QAASz8D,KAAKikE,kBAAkBnlE,EAAS0kE,EAAK/G,SAEhHz8D,KAAKw6D,SAAS6D,aAAev/D,EAAQ4lC,YAAS/B,EAAWy3B,EAAEG,UAAUiC,SAASgH,EAAK/G,QAAS,2CAA6C39D,EAAQ4hB,KAAO,aACzJ4jD,EAAW,gBAMb,MALuB,oBAAZnC,EACTA,EAAUA,EAAQ7jB,KAAKt+C,KAAMwjE,EAAKI,WAAY9kE,GACrCwlE,EAAS9nE,KAAK2lE,KACvBA,EAAU/H,EAAEG,UAAUiD,OAAO2E,EAAQ3yD,QAAQ80D,EAAU,QAASd,EAAKI,aAEhEzB,CACT,EACA2B,aAAc,SAAUhlE,EAAS0kE,GAC/B,IAAIrB,EAAUniE,KAAKqkE,eAAevlE,EAAS0kE,GAC3CxjE,KAAK47D,UAAU54D,KAAK,CAClBm/D,QAASA,EACTrjE,QAASA,EACT29D,OAAQ+G,EAAK/G,SAEfz8D,KAAKkhE,SAASpiE,EAAQ4hB,MAAQyhD,EAC9BniE,KAAK6+D,UAAU//D,EAAQ4hB,MAAQyhD,CACjC,EACAU,WAAY,SAAU0B,GAIpB,OAHIvkE,KAAKw6D,SAASxuB,UAChBu4B,EAAWA,EAAStkC,IAAIskC,EAASlnD,OAAOrd,KAAKw6D,SAASxuB,WAEjDu4B,CACT,EACAjC,kBAAmB,WACjB,IAAIvkE,EAAGm1B,EAAUixB,EACjB,IAAKpmD,EAAI,EAAGiC,KAAK47D,UAAU79D,GAAIA,IAC7BomD,EAAQnkD,KAAK47D,UAAU79D,GACnBiC,KAAKw6D,SAAS+E,WAChBv/D,KAAKw6D,SAAS+E,UAAUjhB,KAAKt+C,KAAMmkD,EAAMrlD,QAASkB,KAAKw6D,SAASqD,WAAY79D,KAAKw6D,SAASuD,YAE5F/9D,KAAKwkE,UAAUrgB,EAAMrlD,QAASqlD,EAAMge,SAKtC,GAHIniE,KAAK47D,UAAU19D,SACjB8B,KAAKmjE,OAASnjE,KAAKmjE,OAAOljC,IAAIjgC,KAAK2gE,aAEjC3gE,KAAKw6D,SAASiK,QAChB,IAAK1mE,EAAI,EAAGiC,KAAKoiE,YAAYrkE,GAAIA,IAC/BiC,KAAKwkE,UAAUxkE,KAAKoiE,YAAYrkE,IAGpC,GAAIiC,KAAKw6D,SAASgE,YAChB,IAAKzgE,EAAI,EAAGm1B,EAAWlzB,KAAK0kE,gBAAiBxxC,EAASn1B,GAAIA,IACxDiC,KAAKw6D,SAASgE,YAAYlgB,KAAKt+C,KAAMkzB,EAASn1B,GAAIiC,KAAKw6D,SAASqD,WAAY79D,KAAKw6D,SAASuD,YAG9F/9D,KAAKgiE,OAAShiE,KAAKgiE,OAAOY,IAAI5iE,KAAKmjE,QACnCnjE,KAAKwiE,aACLxiE,KAAK6iE,WAAW7iE,KAAKmjE,QAAQt2B,MAC/B,EACA63B,cAAe,WACb,OAAO1kE,KAAKshE,gBAAgBsB,IAAI5iE,KAAK2kE,kBACvC,EACAA,gBAAiB,WACf,OAAOvK,EAAEp6D,KAAK47D,WAAWsG,KAAI,WAC3B,OAAOliE,KAAKlB,OACd,GACF,EACA0lE,UAAW,SAAU1lE,EAASqjE,GAC5B,IAAIyC,EACF9wC,EACA+wC,EACAzjE,EACA+iD,EAAQnkD,KAAK0+D,UAAU5/D,GACvBgmE,EAAY9kE,KAAK+kE,SAASjmE,GAC1BkmE,EAAc5K,EAAEt7D,GAASuT,KAAK,oBAC5B8xC,EAAMjmD,QAERimD,EAAMub,YAAY1/D,KAAKw6D,SAASuD,YAAY0B,SAASz/D,KAAKw6D,SAASqD,YAGnE1Z,EAAM8gB,KAAK9C,KAMXyC,EAHAzgB,EAAQiW,EAAE,IAAMp6D,KAAKw6D,SAASwD,aAAe,KAAK3rD,KAAK,KAAMyyD,EAAY,UAAUrF,SAASz/D,KAAKw6D,SAASqD,YAAYoH,KAAK9C,GAAW,IAIlIniE,KAAKw6D,SAASxuB,UAGhB44B,EAAQzgB,EAAMvX,OAAOC,OAAOq4B,KAAK,IAAMllE,KAAKw6D,SAASxuB,QAAU,MAAM3uB,UAEnErd,KAAKygE,eAAeviE,OACtB8B,KAAKygE,eAAe0E,OAAOP,GAClB5kE,KAAKw6D,SAAS4K,eACvBplE,KAAKw6D,SAAS4K,eAAe9mB,KAAKt+C,KAAM4kE,EAAOxK,EAAEt7D,IAEjD8lE,EAAMS,YAAYvmE,GAIhBqlD,EAAMl4B,GAAG,SAEXk4B,EAAM9xC,KAAK,MAAOyyD,GAIsE,IAA/E3gB,EAAMmhB,QAAQ,cAAgBtlE,KAAKulE,cAAcT,GAAa,MAAM5mE,SAC7E2mE,EAAU1gB,EAAM9xC,KAAK,MAGhB2yD,EAEOA,EAAYQ,MAAM,IAAI7H,OAAO,MAAQ39D,KAAKulE,cAAcV,GAAW,UAE7EG,GAAe,IAAMH,GAHrBG,EAAcH,EAKhBzK,EAAEt7D,GAASuT,KAAK,mBAAoB2yD,IAGpClxC,EAAQ9zB,KAAK49D,OAAO9+D,EAAQ4hB,SAE1Btf,EAAIpB,KACJo6D,EAAEyB,KAAKz6D,EAAEw8D,QAAQ,SAAUl9C,EAAMohD,GAC3BA,IAAchuC,GAChBsmC,EAAE,UAAYh5D,EAAEmkE,cAAc7kD,GAAQ,KAAMtf,EAAEg6D,aAAa/oD,KAAK,mBAAoB8xC,EAAM9xC,KAAK,MAEnG,QAID8vD,GAAWniE,KAAKw6D,SAASiK,UAC5BtgB,EAAMrjB,KAAK,IAC0B,kBAA1B9gC,KAAKw6D,SAASiK,QACvBtgB,EAAMsb,SAASz/D,KAAKw6D,SAASiK,SAE7BzkE,KAAKw6D,SAASiK,QAAQtgB,EAAOrlD,IAGjCkB,KAAKmjE,OAASnjE,KAAKmjE,OAAOljC,IAAIkkB,EAChC,EACAua,UAAW,SAAU5/D,GACnB,IAAI4hB,EAAO1gB,KAAKulE,cAAcvlE,KAAK+kE,SAASjmE,IAC1C2mE,EAAYrL,EAAEt7D,GAASuT,KAAK,oBAC5B4wD,EAAW,cAAgBviD,EAAO,kBAAoBA,EAAO,OAM/D,OAHI+kD,IACFxC,EAAWA,EAAW,MAAQjjE,KAAKulE,cAAcE,GAAWj2D,QAAQ,OAAQ,QAEvExP,KAAKiiE,SAAS3uB,OAAO2vB,EAC9B,EAIAsC,cAAe,SAAUG,GACvB,OAAOA,EAAOl2D,QAAQ,yCAA0C,OAClE,EACAu1D,SAAU,SAAUjmE,GAClB,OAAOkB,KAAK49D,OAAO9+D,EAAQ4hB,QAAU1gB,KAAK4+D,UAAU9/D,GAAWA,EAAQ4hB,KAAO5hB,EAAQuZ,IAAMvZ,EAAQ4hB,KACtG,EACAkhD,oBAAqB,SAAU9iE,GAO7B,OALIkB,KAAK4+D,UAAU9/D,KACjBA,EAAUkB,KAAKw/D,WAAW1gE,EAAQ4hB,OAI7B05C,EAAEt7D,GAAS8jE,IAAI5iE,KAAKw6D,SAAS4D,QAAQ,EAC9C,EACAQ,UAAW,SAAU9/D,GACnB,MAAO,kBAAkBtC,KAAKsC,EAAQc,KACxC,EACA4/D,WAAY,SAAU9+C,GACpB,OAAO05C,EAAEp6D,KAAKo7D,aAAa4H,KAAK,UAAYhjE,KAAKulE,cAAc7kD,GAAQ,KACzE,EACAilD,UAAW,SAAUniE,EAAO1E,GAC1B,OAAQA,EAAQ8mE,SAASjkC,eACvB,IAAK,SACH,OAAOy4B,EAAE,kBAAmBt7D,GAASZ,OACvC,IAAK,QACH,GAAI8B,KAAK4+D,UAAU9/D,GACjB,OAAOkB,KAAKw/D,WAAW1gE,EAAQ4hB,MAAM4yB,OAAO,YAAYp1C,OAG9D,OAAOsF,EAAMtF,MACf,EACA2nE,OAAQ,SAAU1J,EAAOr9D,GACvB,OAAOkB,KAAK8lE,mBAAmB3J,IAASn8D,KAAK8lE,mBAAmB3J,GAAOA,EAAOr9D,EAChF,EACAgnE,YAAa,CACX,QAAW,SAAU3J,GACnB,OAAOA,CACT,EACA,OAAU,SAAUA,EAAOr9D,GACzB,QAASs7D,EAAE+B,EAAOr9D,EAAQ08D,MAAMt9D,MAClC,EACA,SAAY,SAAUi+D,EAAOr9D,GAC3B,OAAOq9D,EAAMr9D,EACf,GAEFggE,SAAU,SAAUhgE,GAClB,IAAIV,EAAM4B,KAAKk/D,aAAapgE,GAC5B,OAAQs7D,EAAEG,UAAUsJ,QAAQ/G,SAASxe,KAAKt+C,KAAM5B,EAAKU,IAAY,qBACnE,EACAinE,aAAc,SAAUjnE,GACjBkB,KAAK6gE,QAAQ/hE,EAAQ4hB,QACxB1gB,KAAKy7D,iBACLrB,EAAEt7D,GAAS2gE,SAASz/D,KAAKw6D,SAASsD,cAClC99D,KAAK6gE,QAAQ/hE,EAAQ4hB,OAAQ,EAEjC,EACAslD,YAAa,SAAUlnE,EAAS68D,GAC9B37D,KAAKy7D,iBAGDz7D,KAAKy7D,eAAiB,IACxBz7D,KAAKy7D,eAAiB,UAEjBz7D,KAAK6gE,QAAQ/hE,EAAQ4hB,MAC5B05C,EAAEt7D,GAAS4gE,YAAY1/D,KAAKw6D,SAASsD,cACjCnC,GAAiC,IAAxB37D,KAAKy7D,gBAAwBz7D,KAAKk7D,eAAiBl7D,KAAKw7D,QACnEpB,EAAEp6D,KAAKo7D,aAAa6K,SAMhBjmE,KAAK46D,cACPR,EAAE,sBAAwBp6D,KAAK46D,aAAal6C,KAAO,KAAM1gB,KAAKo7D,aAAaE,SAE7Et7D,KAAKk7D,eAAgB,IACXS,GAAiC,IAAxB37D,KAAKy7D,gBAAwBz7D,KAAKk7D,gBACrDd,EAAEp6D,KAAKo7D,aAAa+F,eAAe,eAAgB,CAACnhE,OACpDA,KAAKk7D,eAAgB,EAEzB,EACA3wC,cAAe,SAAUzrB,EAAS29D,GAEhC,OADAA,EAA2B,kBAAXA,GAAuBA,GAAU,SAC1CrC,EAAEnhD,KAAKna,EAAS,kBAAoBs7D,EAAEnhD,KAAKna,EAAS,gBAAiB,CAC1EonE,IAAK,KACLvK,OAAO,EACPwG,QAASniE,KAAKqkE,eAAevlE,EAAS,CACpC29D,OAAQA,KAGd,EAEAxkC,QAAS,WACPj4B,KAAKuiE,YACLnI,EAAEp6D,KAAKo7D,aAAa+K,IAAI,aAAa1D,WAAW,aAAaO,KAAK,0BAA0BmD,IAAI,qBAAqBzG,YAAY,yBAAyBsD,KAAK,2BAA2BmD,IAAI,sBAAsBzG,YAAY,0BAA0BsD,KAAK,gCAAgCmD,IAAI,2BAA2BzG,YAAY,+BAA+BsD,KAAK,mCAAmCmD,IAAI,8BAA8BzG,YAAY,kCAAkCsD,KAAK,8BAA8BmD,IAAI,yBAAyBzG,YAAY,4BAC/iB,GAEF0G,kBAAmB,CACjBtJ,SAAU,CACRA,UAAU,GAEZ8C,MAAO,CACLA,OAAO,GAETC,IAAK,CACHA,KAAK,GAEPC,KAAM,CACJA,MAAM,GAERC,QAAS,CACPA,SAAS,GAEXC,OAAQ,CACNA,QAAQ,GAEVC,OAAQ,CACNA,QAAQ,GAEVoG,WAAY,CACVA,YAAY,IAGhBC,cAAe,SAAU7gC,EAAWq2B,GAC9Br2B,EAAUvgB,cAAgBtX,OAC5B5N,KAAKomE,kBAAkB3gC,GAAaq2B,EAEpC1B,EAAEC,OAAOr6D,KAAKomE,kBAAmB3gC,EAErC,EACAk3B,WAAY,SAAU79D,GACpB,IAAIg9D,EAAQ,CAAC,EACXyK,EAAUnM,EAAEt7D,GAASuT,KAAK,SAQ5B,OAPIk0D,GACFnM,EAAEyB,KAAK0K,EAAQ9rD,MAAM,MAAM,WACrBza,QAAQo6D,EAAEG,UAAU6L,mBACtBhM,EAAEC,OAAOyB,EAAO1B,EAAEG,UAAU6L,kBAAkBpmE,MAElD,IAEK87D,CACT,EACA0K,uBAAwB,SAAU1K,EAAOl8D,EAAM68D,EAAQj5D,GAGjD,eAAehH,KAAKigE,KAAqB,OAAT78D,GAAiB,oBAAoBpD,KAAKoD,MAC5E4D,EAAQijD,OAAOjjD,GAGXw1D,MAAMx1D,KACRA,OAAQm/B,IAGRn/B,GAAmB,IAAVA,EACXs4D,EAAMW,GAAUj5D,EACP5D,IAAS68D,GAAmB,UAAT78D,IAG5Bk8D,EAAMW,IAAU,EAEpB,EACAG,eAAgB,SAAU99D,GACxB,IAGE29D,EACAj5D,EAJEs4D,EAAQ,CAAC,EACXuH,EAAWjJ,EAAEt7D,GACbc,EAAOd,EAAQ2nE,aAAa,QAG9B,IAAKhK,KAAUrC,EAAEG,UAAUsJ,QAEV,aAAXpH,GAKY,MAJdj5D,EAAQ1E,EAAQ2nE,aAAahK,MAK3Bj5D,GAAQ,GAIVA,IAAUA,GAEVA,EAAQ6/D,EAAShxD,KAAKoqD,GAExBz8D,KAAKwmE,uBAAuB1K,EAAOl8D,EAAM68D,EAAQj5D,GAOnD,OAHIs4D,EAAMqE,WAAa,uBAAuB3jE,KAAKs/D,EAAMqE,mBAChDrE,EAAMqE,UAERrE,CACT,EACAe,UAAW,SAAU/9D,GACnB,IAGE29D,EACAj5D,EAJEs4D,EAAQ,CAAC,EACXuH,EAAWjJ,EAAEt7D,GACbc,EAAOd,EAAQ2nE,aAAa,QAG9B,IAAKhK,KAAUrC,EAAEG,UAAUsJ,QAIX,MAHdrgE,EAAQ6/D,EAASpqD,KAAK,OAASwjD,EAAOx7B,OAAO,GAAGijC,cAAgBzH,EAAO9O,UAAU,GAAGhsB,kBAIlFn+B,GAAQ,GAEVxD,KAAKwmE,uBAAuB1K,EAAOl8D,EAAM68D,EAAQj5D,GAEnD,OAAOs4D,CACT,EACAG,YAAa,SAAUn9D,GACrB,IAAIg9D,EAAQ,CAAC,EACXvB,EAAYH,EAAEnhD,KAAKna,EAAQ08D,KAAM,aAInC,OAHIjB,EAAUC,SAASsB,QACrBA,EAAQ1B,EAAEG,UAAUgC,cAAchC,EAAUC,SAASsB,MAAMh9D,EAAQ4hB,QAAU,CAAC,GAEzEo7C,CACT,EACAY,eAAgB,SAAUZ,EAAOh9D,GA8D/B,OA5DAs7D,EAAEyB,KAAKC,GAAO,SAAU33D,EAAM/F,GAE5B,IAAY,IAARA,GAIJ,GAAIA,EAAI+9D,OAAS/9D,EAAIsoE,QAAS,CAC5B,IAAIC,GAAW,EACf,cAAevoE,EAAIsoE,SACjB,IAAK,SACHC,IAAavM,EAAEh8D,EAAIsoE,QAAS5nE,EAAQ08D,MAAMt9D,OAC1C,MACF,IAAK,WACHyoE,EAAWvoE,EAAIsoE,QAAQpoB,KAAKx/C,EAASA,GAGrC6nE,EACF7K,EAAM33D,QAAsBw+B,IAAdvkC,EAAI+9D,OAAsB/9D,EAAI+9D,OAE5C/B,EAAEnhD,KAAKna,EAAQ08D,KAAM,aAAavoC,cAAcmnC,EAAEt7D,WAC3Cg9D,EAAM33D,GAEjB,cAnBS23D,EAAM33D,EAoBjB,IAGAi2D,EAAEyB,KAAKC,GAAO,SAAU0H,EAAMoD,GAC5B9K,EAAM0H,GAAQpJ,EAAEyM,WAAWD,IAAuB,eAATpD,EAAwBoD,EAAU9nE,GAAW8nE,CACxF,IAGAxM,EAAEyB,KAAK,CAAC,YAAa,cAAc,WAC7BC,EAAM97D,QACR87D,EAAM97D,MAAQymD,OAAOqV,EAAM97D,OAE/B,IACAo6D,EAAEyB,KAAK,CAAC,cAAe,UAAU,WAC/B,IAAIiL,EACAhL,EAAM97D,QACJo6D,EAAE2M,QAAQjL,EAAM97D,OAClB87D,EAAM97D,MAAQ,CAACymD,OAAOqV,EAAM97D,MAAM,IAAKymD,OAAOqV,EAAM97D,MAAM,KAC1B,kBAAhB87D,EAAM97D,QACtB8mE,EAAQhL,EAAM97D,MAAMwP,QAAQ,UAAW,IAAIiL,MAAM,UACjDqhD,EAAM97D,MAAQ,CAACymD,OAAOqgB,EAAM,IAAKrgB,OAAOqgB,EAAM,MAGpD,IACI1M,EAAEG,UAAUiG,mBAEG,MAAb1E,EAAMn+D,KAA4B,MAAbm+D,EAAMr+D,MAC7Bq+D,EAAMwE,MAAQ,CAACxE,EAAMn+D,IAAKm+D,EAAMr+D,YACzBq+D,EAAMn+D,WACNm+D,EAAMr+D,KAEQ,MAAnBq+D,EAAMsE,WAAwC,MAAnBtE,EAAMqE,YACnCrE,EAAMuE,YAAc,CAACvE,EAAMsE,UAAWtE,EAAMqE,kBACrCrE,EAAMsE,iBACNtE,EAAMqE,YAGVrE,CACT,EAEAS,cAAe,SAAUtjD,GACvB,GAAoB,kBAATA,EAAmB,CAC5B,IAAI+tD,EAAc,CAAC,EACnB5M,EAAEyB,KAAK5iD,EAAKwB,MAAM,OAAO,WACvBusD,EAAYhnE,OAAQ,CACtB,IACAiZ,EAAO+tD,CACT,CACA,OAAO/tD,CACT,EAEAguD,UAAW,SAAUvmD,EAAM+7C,EAAQ0F,GACjC/H,EAAEG,UAAUsJ,QAAQnjD,GAAQ+7C,EAC5BrC,EAAEG,UAAUiC,SAAS97C,QAAoBiiB,IAAZw/B,EAAwBA,EAAU/H,EAAEG,UAAUiC,SAAS97C,GAChF+7C,EAAOv+D,OAAS,GAClBk8D,EAAEG,UAAU+L,cAAc5lD,EAAM05C,EAAEG,UAAUgC,cAAc77C,GAE9D,EAEAmjD,QAAS,CAEP/G,SAAU,SAAUt5D,EAAO1E,EAASq9D,GAElC,IAAKn8D,KAAK6lE,OAAO1J,EAAOr9D,GACtB,MAAO,sBAET,GAAuC,WAAnCA,EAAQ8mE,SAASjkC,cAA4B,CAE/C,IAAIvjC,EAAMg8D,EAAEt7D,GAASV,MACrB,OAAOA,GAAOA,EAAIF,OAAS,CAC7B,CACA,OAAI8B,KAAK4+D,UAAU9/D,GACVkB,KAAK2lE,UAAUniE,EAAO1E,GAAW,OAEzB6jC,IAAVn/B,GAAiC,OAAVA,GAAkBA,EAAMtF,OAAS,CACjE,EAEA0hE,MAAO,SAAUp8D,EAAO1E,GAKtB,OAAOkB,KAAK8+D,SAAShgE,IAAY,wIAAwItC,KAAKgH,EAChL,EAEAq8D,IAAK,SAAUr8D,EAAO1E,GAKpB,OAAOkB,KAAK8+D,SAAShgE,IAAY,2cAA2ctC,KAAKgH,EACnf,EAEAs8D,MACM9C,GAAS,EACN,SAAUx5D,EAAO1E,GAOtB,OANKk+D,IACHA,GAAS,EACLh9D,KAAKw6D,SAASa,OAASp/D,OAAOskB,SAChCA,QAAQC,KAAK,uTAGVxgB,KAAK8+D,SAAShgE,KAAa,cAActC,KAAK,IAAIiS,KAAKjL,GAAOjB,WACvE,GAGFw9D,QAAS,SAAUv8D,EAAO1E,GACxB,OAAOkB,KAAK8+D,SAAShgE,IAAY,+DAA+DtC,KAAKgH,EACvG,EAEAw8D,OAAQ,SAAUx8D,EAAO1E,GACvB,OAAOkB,KAAK8+D,SAAShgE,IAAY,8CAA8CtC,KAAKgH,EACtF,EAEAy8D,OAAQ,SAAUz8D,EAAO1E,GACvB,OAAOkB,KAAK8+D,SAAShgE,IAAY,QAAQtC,KAAKgH,EAChD,EAEA48D,UAAW,SAAU58D,EAAO1E,EAASq9D,GACnC,IAAIj+D,EAASk8D,EAAE2M,QAAQvjE,GAASA,EAAMtF,OAAS8B,KAAK2lE,UAAUniE,EAAO1E,GACrE,OAAOkB,KAAK8+D,SAAShgE,IAAYZ,GAAUi+D,CAC7C,EAEAgE,UAAW,SAAU38D,EAAO1E,EAASq9D,GACnC,IAAIj+D,EAASk8D,EAAE2M,QAAQvjE,GAASA,EAAMtF,OAAS8B,KAAK2lE,UAAUniE,EAAO1E,GACrE,OAAOkB,KAAK8+D,SAAShgE,IAAYZ,GAAUi+D,CAC7C,EAEAkE,YAAa,SAAU78D,EAAO1E,EAASq9D,GACrC,IAAIj+D,EAASk8D,EAAE2M,QAAQvjE,GAASA,EAAMtF,OAAS8B,KAAK2lE,UAAUniE,EAAO1E,GACrE,OAAOkB,KAAK8+D,SAAShgE,IAAYZ,GAAUi+D,EAAM,IAAMj+D,GAAUi+D,EAAM,EACzE,EAEAx+D,IAAK,SAAU6F,EAAO1E,EAASq9D,GAC7B,OAAOn8D,KAAK8+D,SAAShgE,IAAY0E,GAAS24D,CAC5C,EAEA1+D,IAAK,SAAU+F,EAAO1E,EAASq9D,GAC7B,OAAOn8D,KAAK8+D,SAAShgE,IAAY0E,GAAS24D,CAC5C,EAEAmE,MAAO,SAAU98D,EAAO1E,EAASq9D,GAC/B,OAAOn8D,KAAK8+D,SAAShgE,IAAY0E,GAAS24D,EAAM,IAAM34D,GAAS24D,EAAM,EACvE,EAEAoE,KAAM,SAAU/8D,EAAO1E,EAASq9D,GAC9B,IAkBE+K,EAlBEtnE,EAAOw6D,EAAEt7D,GAASuT,KAAK,QACzB80D,EAAe,gCAAkCvnE,EAAO,qBACxDwnE,EAAiB,CAAC,OAAQ,SAAU,SACpCC,EAAK,IAAI1J,OAAO,MAAQ/9D,EAAO,OAE/B0nE,EAAgB,SAAUt+B,GACxB,IAAIw8B,GAAS,GAAKx8B,GAAKw8B,MAAM,iBAC7B,OAAKA,GAKEA,EAAM,GAAKA,EAAM,GAAGtnE,OAJlB,CAKX,EACAqpE,EAAQ,SAAUv+B,GAChB,OAAOnsC,KAAKC,MAAMksC,EAAMnsC,KAAKI,IAAI,GAAIiqE,GACvC,EACAvL,GAAQ,EAKV,GAlBiB/7D,IAASynE,EAAG7qE,KAAK4qE,EAAejqD,QAmB/C,MAAM,IAAI0sB,MAAMs9B,GAQlB,OANAD,EAAWI,EAAcnL,IAGrBmL,EAAc9jE,GAAS0jE,GAAYK,EAAM/jE,GAAS+jE,EAAMpL,KAAW,KACrER,GAAQ,GAEH37D,KAAK8+D,SAAShgE,IAAY68D,CACnC,EAEAuE,QAAS,SAAU18D,EAAO1E,EAASq9D,GAEjC,IAAIz7D,EAAS05D,EAAE+B,GAMf,OALIn8D,KAAKw6D,SAASmE,YAAcj+D,EAAOkiE,IAAI,0BAA0B1kE,QACnEwC,EAAO++D,SAAS,yBAAyB/E,GAAG,yBAAyB,WACnEN,EAAEt7D,GAAS68D,OACb,IAEKn4D,IAAU9C,EAAOtC,KAC1B,EAEA2+D,OAAQ,SAAUv5D,EAAO1E,EAASq9D,EAAOM,GACvC,GAAIz8D,KAAK8+D,SAAShgE,GAChB,MAAO,sBAET29D,EAA2B,kBAAXA,GAAuBA,GAAU,SACjD,IACElC,EACAthD,EACAuuD,EAHEC,EAAWznE,KAAKuqB,cAAczrB,EAAS29D,GAe3C,OAXKz8D,KAAKw6D,SAASgC,SAAS19D,EAAQ4hB,QAClC1gB,KAAKw6D,SAASgC,SAAS19D,EAAQ4hB,MAAQ,CAAC,GAE1C+mD,EAASC,gBAAkBD,EAASC,iBAAmB1nE,KAAKw6D,SAASgC,SAAS19D,EAAQ4hB,MAAM+7C,GAC5Fz8D,KAAKw6D,SAASgC,SAAS19D,EAAQ4hB,MAAM+7C,GAAUgL,EAAStF,QACxDhG,EAAyB,kBAAVA,GAAsB,CACnC0D,IAAK1D,IACFA,EACLqL,EAAmBpN,EAAE+B,MAAM/B,EAAEC,OAAO,CAClCphD,KAAMzV,GACL24D,EAAMljD,OACLwuD,EAASvB,MAAQsB,EACZC,EAAS9L,OAElB8L,EAASvB,IAAMsB,EACfjN,EAAYv6D,KACZA,KAAK+lE,aAAajnE,IAClBma,EAAO,CAAC,GACHna,EAAQ4hB,MAAQld,EACrB42D,EAAEuN,KAAKvN,EAAEC,QAAO,EAAM,CACpBv1D,KAAM,QACN8iE,KAAM,WAAa9oE,EAAQ4hB,KAC3BmnD,SAAU,OACV5uD,KAAMA,EACN6uD,QAASvN,EAAUa,YACnBqJ,QAAS,SAAUvrC,GACjB,IACE+oC,EACAE,EACAtD,EAHElD,GAAqB,IAAbziC,GAAkC,SAAbA,EAIjCqhC,EAAUC,SAASgC,SAAS19D,EAAQ4hB,MAAM+7C,GAAUgL,EAASC,gBACzD/L,GACFkD,EAAYtE,EAAUW,cACtBX,EAAU2I,iBACV3I,EAAUyH,OAASzH,EAAUmE,UAAU5/D,GACvCy7D,EAAUW,cAAgB2D,EAC1BtE,EAAU6H,YAAYp/D,KAAKlE,GAC3By7D,EAAU8E,QAAQvgE,EAAQ4hB,OAAQ,EAClC65C,EAAU6G,eAEVa,EAAS,CAAC,EACVE,EAAUjpC,GAAYqhC,EAAU8J,eAAevlE,EAAS,CACtD29D,OAAQA,EACRmH,WAAYpgE,IAEdy+D,EAAOnjE,EAAQ4hB,MAAQ+mD,EAAStF,QAAUA,EAC1C5H,EAAU8E,QAAQvgE,EAAQ4hB,OAAQ,EAClC65C,EAAU6G,WAAWa,IAEvBwF,EAAS9L,MAAQA,EACjBpB,EAAUyL,YAAYlnE,EAAS68D,EACjC,GACCQ,IACI,UACT,KAQJ,IACEwL,EADEI,EAAkB,CAAC,EA8BvB,OA1BI3N,EAAE4N,cACJ5N,EAAE4N,eAAc,SAAUxN,EAAUyN,EAAGhvC,GACrC,IAAI2uC,EAAOpN,EAASoN,KACE,UAAlBpN,EAAS11D,OACPijE,EAAgBH,IAClBG,EAAgBH,GAAMM,QAExBH,EAAgBH,GAAQ3uC,EAE5B,KAGA0uC,EAAOvN,EAAEuN,KACTvN,EAAEuN,KAAO,SAAUnN,GACjB,IAAI11D,GAAQ,SAAU01D,EAAWA,EAAWJ,EAAE+N,cAAcrjE,KAC1D8iE,GAAQ,SAAUpN,EAAWA,EAAWJ,EAAE+N,cAAcP,KAC1D,MAAa,UAAT9iE,GACEijE,EAAgBH,IAClBG,EAAgBH,GAAMM,QAExBH,EAAgBH,GAAQD,EAAKhkE,MAAM3D,KAAMy9D,WAClCsK,EAAgBH,IAElBD,EAAKhkE,MAAM3D,KAAMy9D,UAC1B,GAEKrD,CACT,OA76C8B,2D,qBCH9B,IAAW1sC,IAER,SAAUiV,GACX,aAEA,OAAO,WAiBL,IAFA,IAAIylC,EAAe,CAAC,CAAC,yFAA8B,KAAM,MAAO,CAAC,wBAAsB,KAAM,OAAQ,CAAC,yEAAwB,KAAM,OAAQ,CAAC,iBAAkB,KAAM,IAAK,EAAG,CAAC,QAAS,CAAC,UAAW,KAAM,OAAQ,CAAC,SAAU,KAAM,OAAQ,CAAC,WAAY,KAAM,IAAK,EAAG,CAAC,QAAS,CAAC,sBAAuB,KAAM,IAAK,EAAG,CAAC,QAAS,CAAC,YAAa,KAAM,MAAO,CAAC,6DAAsB,KAAM,OAAQ,CAAC,QAAS,KAAM,OAAQ,CAAC,YAAa,KAAM,KAAM,GAAI,CAAC,0BAAwB,KAAM,MAAO,CAAC,+BAA2B,KAAM,OAAQ,CAAC,UAAW,KAAM,IAAK,EAAG,CAAC,QAAS,CAAC,yEAAwB,KAAM,OAAQ,CAAC,gEAAyB,KAAM,OAAQ,CAAC,WAAY,KAAM,IAAK,EAAG,CAAC,QAAS,CAAC,6DAAsB,KAAM,OAAQ,CAAC,sBAAoB,KAAM,MAAO,CAAC,SAAU,KAAM,OAAQ,CAAC,mBAAiB,KAAM,OAAQ,CAAC,UAAW,KAAM,IAAK,GAAI,CAAC,QAAS,CAAC,0CAAkB,KAAM,OAAQ,CAAC,UAAW,KAAM,OAAQ,CAAC,oIAAgD,KAAM,OAAQ,CAAC,WAAY,KAAM,OAAQ,CAAC,kBAAmB,KAAM,MAAO,CAAC,iCAAkC,KAAM,OAAQ,CAAC,yBAA0B,KAAM,IAAK,GAAI,CAAC,QAAS,CAAC,SAAU,KAAM,OAAQ,CAAC,8DAAuB,KAAM,OAAQ,CAAC,eAAgB,KAAM,OAAQ,CAAC,qBAAsB,KAAM,OAAQ,CAAC,wDAAsB,KAAM,OAAQ,CAAC,sBAAuB,KAAM,OAAQ,CAAC,SAAU,KAAM,IAAK,EAAG,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,QAAS,CAAC,0BAA2B,KAAM,OAAQ,CAAC,wBAAyB,KAAM,MAAO,EAAG,CAAC,IAAK,IAAK,MAAO,CAAC,iBAAkB,KAAM,IAAK,GAAI,CAAC,QAAS,CAAC,0DAAwD,KAAM,OAAQ,CAAC,eAAgB,KAAM,OAAQ,CAAC,QAAS,KAAM,MAAO,CAAC,uBAAc,KAAM,MAAO,CAAC,mBAAoB,KAAM,KAAM,EAAG,CAAC,UAAW,CAAC,0BAA2B,KAAM,KAAM,EAAG,CAAC,UAAW,CAAC,WAAY,KAAM,MAAO,CAAC,gFAA0B,KAAM,OAAQ,CAAC,iDAAkD,KAAM,OAAQ,CAAC,uCAAwC,KAAM,OAAQ,CAAC,eAAgB,KAAM,OAAQ,CAAC,aAAc,KAAM,OAAQ,CAAC,wBAAiB,KAAM,OAAQ,CAAC,qBAAsB,KAAM,OAAQ,CAAC,OAAQ,KAAM,MAAO,CAAC,aAAW,KAAM,MAAO,GAAI,CAAC,gDAAmB,KAAM,OAAQ,CAAC,2CAAoC,KAAM,OAAQ,CAAC,oBAAqB,KAAM,MAAO,CAAC,WAAY,KAAM,OAAQ,CAAC,WAAY,KAAM,IAAK,GAAI,CAAC,QAAS,CAAC,+CAA6C,KAAM,IAAK,EAAG,CAAC,MAAO,MAAO,QAAS,CAAC,UAAW,KAAM,OAAQ,CAAC,+CAAkB,KAAM,MAAO,CAAC,cAAe,KAAM,OAAQ,CAAC,wCAAyC,KAAM,OAAQ,CAAC,UAAW,KAAM,OAAQ,CAAC,kBAAmB,KAAM,OAAQ,CAAC,WAAY,KAAM,OAAQ,CAAC,oCAAqC,KAAM,OAAQ,CAAC,6BAA2B,KAAM,OAAQ,CAAC,OAAQ,KAAM,OAAQ,CAAC,kBAAmB,KAAM,MAAO,GAAI,CAAC,SAAU,KAAM,MAAO,CAAC,sCAAoC,KAAM,OAAQ,CAAC,+CAA0C,KAAM,OAAQ,CAAC,QAAS,KAAM,OAAQ,CAAC,SAAU,KAAM,OAAQ,CAAC,yEAAwB,KAAM,OAAQ,CAAC,wBAAyB,KAAM,MAAO,CAAC,gBAAiB,KAAM,OAAQ,CAAC,YAAa,KAAM,OAAQ,CAAC,gDAAmB,KAAM,MAAO,CAAC,+BAAgC,KAAM,OAAQ,CAAC,UAAW,KAAM,IAAK,GAAI,CAAC,QAAS,CAAC,aAAc,KAAM,MAAO,GAAI,CAAC,OAAQ,KAAM,IAAK,GAAI,CAAC,QAAS,CAAC,YAAa,KAAM,OAAQ,CAAC,WAAY,KAAM,KAAM,EAAG,CAAC,OAAQ,OAAQ,OAAQ,SAAU,CAAC,qBAAmB,KAAM,OAAQ,CAAC,kCAAgC,KAAM,OAAQ,CAAC,SAAU,KAAM,OAAQ,CAAC,QAAS,KAAM,OAAQ,CAAC,WAAY,KAAM,OAAQ,CAAC,2BAAkB,KAAM,OAAQ,CAAC,4BAA0B,KAAM,MAAO,CAAC,sBAAoB,KAAM,OAAQ,CAAC,mCAAgB,KAAM,MAAO,CAAC,YAAa,KAAM,MAAO,CAAC,0DAAmB,KAAM,MAAO,CAAC,gEAAoB,KAAM,OAAQ,CAAC,UAAW,KAAM,OAAQ,CAAC,cAAe,KAAM,KAAM,EAAG,CAAC,OAAQ,QAAS,OAAQ,OAAQ,SAAU,CAAC,4DAAqB,KAAM,OAAQ,CAAC,iBAAkB,KAAM,KAAM,GAAI,CAAC,UAAW,KAAM,IAAK,EAAG,CAAC,MAAO,QAAS,CAAC,uBAAc,KAAM,MAAO,CAAC,SAAU,KAAM,KAAM,EAAG,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,SAAU,CAAC,kEAAsB,KAAM,OAAQ,CAAC,sEAA0B,KAAM,IAAK,EAAG,CAAC,KAAM,MAAO,CAAC,QAAS,KAAM,OAAQ,CAAC,WAAY,KAAM,OAAQ,CAAC,SAAU,KAAM,OAAQ,CAAC,kEAAsB,KAAM,OAAQ,CAAC,4EAA2B,KAAM,OAAQ,CAAC,4BAAc,KAAM,OAAQ,CAAC,mBAAoB,KAAM,OAAQ,CAAC,6DAAsB,KAAM,OAAQ,CAAC,UAAW,KAAM,OAAQ,CAAC,UAAW,KAAM,OAAQ,CAAC,2DAAoB,KAAM,OAAQ,CAAC,gBAAiB,KAAM,OAAQ,CAAC,sBAAuB,KAAM,OAAQ,CAAC,aAAc,KAAM,OAAQ,CAAC,uBAAc,KAAM,OAAQ,CAAC,mFAAkC,KAAM,OAAQ,CAAC,4BAA6B,KAAM,OAAQ,CAAC,SAAU,KAAM,OAAQ,CAAC,WAAY,KAAM,MAAO,CAAC,WAAY,KAAM,OAAQ,CAAC,OAAQ,KAAM,OAAQ,CAAC,QAAS,KAAM,OAAQ,CAAC,mBAAoB,KAAM,OAAQ,CAAC,aAAc,KAAM,OAAQ,CAAC,wFAA6B,KAAM,OAAQ,CAAC,oBAAqB,KAAM,OAAQ,CAAC,UAAW,KAAM,MAAO,EAAG,CAAC,MAAO,QAAS,CAAC,qBAAmB,KAAM,MAAO,CAAC,aAAc,KAAM,OAAQ,CAAC,8BAA+B,KAAM,OAAQ,CAAC,SAAU,KAAM,OAAQ,CAAC,kDAAqB,KAAM,OAAQ,CAAC,yBAA0B,KAAM,OAAQ,CAAC,aAAc,KAAM,IAAK,GAAI,CAAC,QAAS,CAAC,mEAAuB,KAAM,MAAO,GAAI,CAAC,6BAA2B,KAAM,OAAQ,CAAC,yDAA4B,KAAM,MAAO,CAAC,uBAAqB,KAAM,OAAQ,CAAC,QAAS,KAAM,OAAQ,CAAC,yCAAiB,KAAM,OAAQ,CAAC,0BAA2B,KAAM,MAAO,CAAC,wCAAsC,KAAM,OAAQ,CAAC,cAAe,KAAM,MAAO,CAAC,YAAa,KAAM,OAAQ,CAAC,gBAAiB,KAAM,OAAQ,CAAC,UAAW,KAAM,OAAQ,CAAC,OAAQ,KAAM,OAAQ,CAAC,iBAAkB,KAAM,OAAQ,CAAC,sFAAgC,KAAM,OAAQ,CAAC,2BAA4B,KAAM,IAAK,GAAI,CAAC,QAAS,CAAC,iBAAkB,KAAM,KAAM,GAAI,CAAC,0DAAmB,KAAM,OAAQ,CAAC,0EAAyB,KAAM,MAAO,CAAC,QAAS,KAAM,OAAQ,CAAC,qEAAyB,KAAM,OAAQ,CAAC,qBAAmB,KAAM,OAAQ,CAAC,mBAAoB,KAAM,OAAQ,CAAC,WAAY,KAAM,OAAQ,CAAC,iBAAe,KAAM,MAAO,CAAC,cAAe,KAAM,MAAO,CAAC,kBAAmB,KAAM,MAAO,CAAC,WAAY,KAAM,OAAQ,CAAC,cAAe,KAAM,IAAK,EAAG,CAAC,MAAO,QAAS,CAAC,+CAAkB,KAAM,OAAQ,CAAC,6BAAwB,KAAM,MAAO,GAAI,CAAC,uBAAqB,KAAM,MAAO,CAAC,gDAAmB,KAAM,IAAK,GAAI,CAAC,SAAU,KAAM,OAAQ,CAAC,sBAAoB,KAAM,MAAO,GAAI,CAAC,eAAgB,KAAM,OAAQ,CAAC,wBAAyB,KAAM,IAAK,GAAI,CAAC,QAAS,CAAC,cAAe,KAAM,IAAK,GAAI,CAAC,QAAS,CAAC,oDAAkD,KAAM,MAAO,GAAI,CAAC,uDAAwD,KAAM,OAAQ,CAAC,mCAAoC,KAAM,IAAK,GAAI,CAAC,QAAS,CAAC,QAAS,KAAM,OAAQ,CAAC,aAAc,KAAM,OAAQ,CAAC,gEAA+C,KAAM,OAAQ,CAAC,0KAA8C,KAAM,OAAQ,CAAC,0BAAqB,KAAM,OAAQ,CAAC,gDAAmB,KAAM,OAAQ,CAAC,aAAc,KAAM,OAAQ,CAAC,eAAgB,KAAM,OAAQ,CAAC,YAAa,KAAM,MAAO,CAAC,eAAgB,KAAM,IAAK,GAAI,CAAC,QAAS,CAAC,uBAAwB,KAAM,OAAQ,CAAC,uBAAwB,KAAM,OAAQ,CAAC,kBAAmB,KAAM,OAAQ,CAAC,uBAAwB,KAAM,OAAQ,CAAC,eAAgB,KAAM,MAAO,CAAC,yCAAsB,KAAM,MAAO,CAAC,sGAAiC,KAAM,OAAQ,CAAC,oBAAkB,KAAM,MAAO,CAAC,4EAA2B,KAAM,MAAO,CAAC,uEAAsB,KAAM,OAAQ,CAAC,WAAY,KAAM,OAAQ,CAAC,yBAA0B,KAAM,KAAM,EAAG,CAAC,OAAQ,CAAC,YAAa,KAAM,OAAQ,CAAC,mBAAoB,KAAM,MAAO,CAAC,wBAAyB,KAAM,MAAO,CAAC,2DAAoB,KAAM,OAAQ,CAAC,wBAAe,KAAM,OAAQ,CAAC,aAAc,KAAM,OAAQ,CAAC,WAAY,KAAM,OAAQ,CAAC,gCAAkB,KAAM,MAAO,CAAC,cAAe,KAAM,OAAQ,CAAC,OAAQ,KAAM,OAAQ,CAAC,UAAW,KAAM,OAAQ,CAAC,QAAS,KAAM,OAAQ,CAAC,sBAAuB,KAAM,IAAK,GAAI,CAAC,QAAS,CAAC,uDAAqB,KAAM,OAAQ,CAAC,sBAAoB,KAAM,MAAO,CAAC,eAAgB,KAAM,OAAQ,CAAC,2BAA4B,KAAM,IAAK,GAAI,CAAC,QAAS,CAAC,SAAU,KAAM,OAAQ,CAAC,sBAAuB,KAAM,IAAK,GAAI,CAAC,QAAS,CAAC,SAAU,KAAM,OAAQ,CAAC,uDAAqB,KAAM,OAAQ,CAAC,kLAAsD,KAAM,OAAQ,CAAC,iBAAkB,KAAM,KAAM,GAAI,CAAC,gBAAiB,KAAM,IAAK,GAAI,CAAC,UAAW,KAAM,OAAQ,CAAC,gCAA4B,KAAM,OAAQ,CAAC,UAAW,KAAM,OAAQ,CAAC,uCAAqC,KAAM,KAAM,EAAG,CAAC,UAAW,CAAC,YAAa,KAAM,MAAO,CAAC,0BAAsB,KAAM,MAAO,CAAC,uCAAwC,KAAM,OAAQ,CAAC,2HAAuC,KAAM,MAAO,EAAG,CAAC,OAAQ,SAAU,CAAC,2DAAoB,KAAM,OAAQ,CAAC,SAAU,KAAM,OAAQ,CAAC,WAAY,KAAM,OAAQ,CAAC,mBAAiB,KAAM,MAAO,EAAG,CAAC,QAEljSrqE,EAAI,EAAGA,EAAIqqE,EAAalqE,OAAQH,IAAK,CAC5C,IAAI6I,EAAIwhE,EAAarqE,GACrBqqE,EAAarqE,GAAK,CAChB2iB,KAAM9Z,EAAE,GACRyhE,KAAMzhE,EAAE,GACR0hE,SAAU1hE,EAAE,GACZ2hE,SAAU3hE,EAAE,IAAM,EAClB4hE,UAAW5hE,EAAE,IAAM,KAEvB,CAOA,SAAS6hE,EAAkB/nE,EAAQ8E,GACjC,IAAK,IAAIzH,EAAI,EAAGA,EAAIyH,EAAMtH,OAAQH,IAAK,CACrC,IAAI2qE,EAAaljE,EAAMzH,GACvB2qE,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDp2D,OAAOu3C,eAAetpD,EAAQgoE,EAAWh8D,IAAKg8D,EAChD,CACF,CAMA,IAAII,EAAsB,CACxBC,YAAa,SAAqBC,GAChC,IAAI3wD,EAAK2wD,EAAMvC,aAAa,0BAC5B,OAAOxqE,OAAO6sE,oBAAoBG,UAAU5wD,EAC9C,EACA4wD,UAAW,CAAC,EAEZC,cAAe,WACb,MAA+B,aAAxBrlE,SAAS+1B,UAClB,GAEoB,kBAAX39B,SAAqBA,OAAO6sE,oBAAsBA,GAE7D,IAAIzwD,EAAK,EACLklD,EAAW,CAEb4L,eAAe,EAEfC,kBAAkB,EAElBC,gBAAiB,SAEjBC,gBAAiB,GAEjBC,kBAAmB,KAEnBC,kBAAmB,KAEnBC,iBAAkB,GAElBC,iBAAiB,EAEjBC,YAAa,KAEbC,YAAa,GAEbC,eAAgB,GAEhBC,mBAAoB,KAEpBC,cAAc,EAEdC,cAAe,GAEfC,sBAAuB,SAEvBC,mBAAoB,CAAC,KAAM,MAE3BC,kBAAkB,EAElBC,YAAa,IAGXC,EAAwB,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAGzIC,EAAc,SAAqBp9D,EAAKnK,GAE1C,IADA,IAAIwnE,EAAO93D,OAAO83D,KAAKr9D,GACdnP,EAAI,EAAGA,EAAIwsE,EAAKrsE,OAAQH,IAC/BgF,EAASwnE,EAAKxsE,GAAImP,EAAIq9D,EAAKxsE,IAE/B,EAEIysE,EAAkB,SAAyB/N,GAC7C6N,EAAYruE,OAAO6sE,oBAAoBG,WAAW,SAAUv8D,GAC1DzQ,OAAO6sE,oBAAoBG,UAAUv8D,GAAK+vD,IAC5C,GACF,EAGIgO,EACJ,WACE,SAASA,EAAIzB,EAAOl7D,GAClB,IAAI48D,EAAQ1qE,MA5FhB,SAAyB2qE,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAI5G,UAAU,oCAExB,CAyFI6G,CAAgB7qE,KAAMyqE,GACtBzqE,KAAKqY,GAAKA,IACVrY,KAAK8qE,SAAW9B,EAChBhpE,KAAK+qE,WAAa,KAClB/qE,KAAKgrE,gBAAkB,KAGvB,IAAIC,EAAgBn9D,GAAW,CAAC,EAChC9N,KAAK8N,QAAU,CAAC,EAChBw8D,EAAY/M,GAAU,SAAU7wD,EAAKlJ,GACnCknE,EAAM58D,QAAQpB,GAAOu+D,EAAc34D,eAAe5F,GAAOu+D,EAAcv+D,GAAOlJ,CAChF,IACAxD,KAAKkrE,sBAAwBC,QAAQnC,EAAMvC,aAAa,eAC1D,CA5FF,IAAsBmE,EAAaQ,EAAYC,EAytC7C,OAztCoBT,EA6FPH,EA7FoBW,EA6Ff,CAAC,CACjB1+D,IAAK,QACLlJ,MAAO,WACL,IAAI8nE,EAAStrE,KAwBb,GAtBIA,KAAK8N,QAAQi8D,eAAc/pE,KAAK8N,QAAQs7D,kBAAmB,GAI3DppE,KAAK8N,QAAQq8D,mBACfnqE,KAAK8N,QAAQs7D,iBAAmBppE,KAAK8N,QAAQi8D,cAAe,GAO9D/pE,KAAKurE,SAAW,oEAAoE/uE,KAAKC,UAAUC,WAC/FsD,KAAKurE,WAEP1nE,SAASkZ,KAAKyuD,UAAUvrC,IAAI,cAEvBjgC,KAAK8N,QAAQ07D,oBAAmBxpE,KAAK8N,QAAQ07D,kBAAoB3lE,SAASkZ,OAK1D,qBAAZ0uD,QAAyB,CAClC,IAAIC,EAAqB,IAAID,SAAQ,SAAUE,EAASC,GACtDN,EAAOO,0BAA4BF,EACnCL,EAAOQ,yBAA2BF,CACpC,IACIG,EAAqB,IAAIN,SAAQ,SAAUE,EAASC,GACtDN,EAAOU,0BAA4BL,EACnCL,EAAOW,yBAA2BL,CACpC,IACA5rE,KAAKksE,QAAUT,QAAQU,IAAI,CAACT,EAAoBK,GAClD,MAEE/rE,KAAK6rE,0BAA4B7rE,KAAK8rE,yBAA2B,WAAa,EAC9E9rE,KAAKgsE,0BAA4BhsE,KAAKisE,yBAA2B,WAAa,EAIhFjsE,KAAKosE,oBAAsB,CAAC,EAE5BpsE,KAAKqsE,sBAELrsE,KAAKssE,kBAELtsE,KAAKusE,mBAELvsE,KAAKwsE,iBAELxsE,KAAKysE,eACP,GACC,CACD//D,IAAK,sBACLlJ,MAAO,WAELxD,KAAK0sE,uBAEL1sE,KAAK2sE,uBAEL3sE,KAAK4sE,6BAED5sE,KAAK8N,QAAQg8D,oBAAoB9pE,KAAK6sE,+BAEtC7sE,KAAK8N,QAAQk8D,cAAc9rE,QAAU8B,KAAK8N,QAAQg8D,qBACpD9pE,KAAK8sE,UAAUC,KAAK/sE,KAAKgtE,iBAE7B,GACC,CACDtgE,IAAK,kBACLlJ,MAAO,SAAyB6kE,EAAM4E,EAAa1E,GAC7C0E,EAAY/uE,OAAS8B,KAAKktE,oBAC5BltE,KAAKktE,kBAAoBD,EAAY/uE,QAElC8B,KAAKmtE,aAAa76D,eAAe26D,KACpCjtE,KAAKmtE,aAAaF,GAAe,IAGnC,IAAK,IAAIlvE,EAAI,EAAGA,EAAIiC,KAAKmtE,aAAaF,GAAa/uE,OAAQH,IACzD,GAAIiC,KAAKmtE,aAAaF,GAAalvE,KAAOsqE,EAAM,OAGlD,IAAIvnD,EAAQynD,IAAa5lC,EAAY4lC,EAAWvoE,KAAKmtE,aAAaF,GAAa/uE,OAC/E8B,KAAKmtE,aAAaF,GAAansD,GAASunD,CAC1C,GACC,CACD37D,IAAK,uBACLlJ,MAAO,WACL,GAAIxD,KAAK8N,QAAQk8D,cAAc9rE,OAAQ,CACrC,IAAIkvE,EAAyBptE,KAAK8N,QAAQk8D,cAAc9H,KAAI,SAAUmL,GACpE,OAAOA,EAAQ1rC,aACjB,IACA3hC,KAAK8sE,UAAY1E,EAAa90B,QAAO,SAAU+5B,GAC7C,OAAOD,EAAuB/oE,QAAQgpE,EAAQhF,OAAS,CACzD,GACF,MAAO,GAAIroE,KAAK8N,QAAQ27D,iBAAiBvrE,OAAQ,CAC/C,IAAIovE,EAA4BttE,KAAK8N,QAAQ27D,iBAAiBvH,KAAI,SAAUmL,GAC1E,OAAOA,EAAQ1rC,aACjB,IACA3hC,KAAK8sE,UAAY1E,EAAa90B,QAAO,SAAU+5B,GAC7C,OAA4D,IAArDC,EAA0BjpE,QAAQgpE,EAAQhF,KACnD,GACF,MACEroE,KAAK8sE,UAAY1E,CAErB,GACC,CACD17D,IAAK,8BACLlJ,MAAO,WACL,IAAK,IAAIzF,EAAI,EAAGA,EAAIiC,KAAK8sE,UAAU5uE,OAAQH,IAAK,CAC9C,IAAIwvE,EAAMvtE,KAAK8sE,UAAU/uE,GAAGsqE,KAAK1mC,cAC7B3hC,KAAK8N,QAAQg8D,mBAAmBx3D,eAAei7D,KACjDvtE,KAAK8sE,UAAU/uE,GAAG2iB,KAAO1gB,KAAK8N,QAAQg8D,mBAAmByD,GAE7D,CACF,GACC,CACD7gE,IAAK,mBACLlJ,MAAO,SAA0BmD,EAAGpF,GAClC,OAAOoF,EAAE+Z,KAAK8sD,cAAcjsE,EAAEmf,KAChC,GACC,CACDhU,IAAK,uBACLlJ,MAAO,WACLxD,KAAKktE,kBAAoB,EAEzBltE,KAAKytE,UAAY,CAAC,EAElBztE,KAAKmtE,aAAe,CAAC,EAErB,IAAK,IAAIpvE,EAAI,EAAGA,EAAIiC,KAAK8sE,UAAU5uE,OAAQH,IAAK,CAC9C,IAAI6I,EAAI5G,KAAK8sE,UAAU/uE,GAClBiC,KAAKytE,UAAU7mE,EAAE0hE,YAAWtoE,KAAKytE,UAAU7mE,EAAE0hE,WAAY,GAC9DtoE,KAAK0tE,gBAAgB9mE,EAAEyhE,KAAMzhE,EAAE0hE,SAAU1hE,EAAE2hE,SAC7C,CAKA,IAAK,IAAI3zC,EAAK,EAAGA,EAAK50B,KAAK8sE,UAAU5uE,OAAQ02B,IAAM,CACjD,IAAI+4C,EAAK3tE,KAAK8sE,UAAUl4C,GAExB,GAAI+4C,EAAGnF,UAGL,IAFA,IAAIoF,EAAkB5tE,KAAKmtE,aAAaQ,EAAGrF,UAAU,GAE5CxhE,EAAI,EAAGA,EAAI6mE,EAAGnF,UAAUtqE,OAAQ4I,IAAK,CAG5C,IAFA,IAAI+mE,EAAWF,EAAGnF,UAAU1hE,GAEnBC,EAAI,EAAGA,EAAI8mE,EAAS3vE,OAAQ6I,IAAK,CACxC,IAAI+mE,EAAkBH,EAAGrF,SAAWuF,EAAS3sC,OAAO,EAAGn6B,GAEvD/G,KAAK0tE,gBAAgBE,EAAiBE,GACtC9tE,KAAK0tE,gBAAgBC,EAAGtF,KAAMyF,EAChC,CAEA9tE,KAAK0tE,gBAAgBC,EAAGtF,KAAMsF,EAAGrF,SAAWuF,EAC9C,CAEJ,CACF,GACC,CACDnhE,IAAK,6BACLlJ,MAAO,WACLxD,KAAKkqE,mBAAqB,GAC1B,IAAK,IAAInsE,EAAI,EAAGA,EAAIiC,KAAK8N,QAAQo8D,mBAAmBhsE,OAAQH,IAAK,CAC/D,IAAIkvE,EAAcjtE,KAAK8N,QAAQo8D,mBAAmBnsE,GAAG4jC,cACjDosC,EAAc/tE,KAAKguE,gBAAgBf,GAAa,GAAO,GACvDc,GAAa/tE,KAAKkqE,mBAAmBlnE,KAAK+qE,EAChD,CACF,GACC,CACDrhE,IAAK,YACLlJ,MAAO,SAAmBkd,EAAMutD,EAAO3pE,GACrC,IAAI4pE,EAAKrqE,SAASG,cAAc0c,GAKhC,OAJIutD,GAAO3D,EAAY2D,GAAO,SAAUvhE,EAAKlJ,GAC3C,OAAO0qE,EAAGxwD,aAAahR,EAAKlJ,EAC9B,IACIc,GAAWA,EAAUwY,YAAYoxD,GAC9BA,CACT,GACC,CACDxhE,IAAK,kBACLlJ,MAAO,WAKAxD,KAAK8qE,SAASqD,aAAa,iBAAqBnuE,KAAK8qE,SAAStP,MAAQx7D,KAAK8qE,SAAStP,KAAK2S,aAAa,iBACzGnuE,KAAK8qE,SAASptD,aAAa,eAAgB,OAG7C,IAAI0wD,EAAc,MACdpuE,KAAK8N,QAAQq7D,gBAAeiF,GAAe,wBAC3CpuE,KAAK8N,QAAQq8D,mBAAkBiE,GAAe,4BAC9CpuE,KAAK8N,QAAQw7D,kBACf8E,GAAe,IACfA,GAAepuE,KAAK8N,QAAQw7D,iBAE9B,IAAIt9B,EAAUhsC,KAAKquE,UAAU,MAAO,CAClC,MAASD,IAuDX,GArDApuE,KAAK8qE,SAASzuD,WAAWswB,aAAaX,EAAShsC,KAAK8qE,UACpD9qE,KAAKsuE,eAAiBtuE,KAAKquE,UAAU,MAAO,CAC1C,MAAS,uBACRriC,GACHA,EAAQlvB,YAAY9c,KAAK8qE,UAEzB9qE,KAAKuuE,aAAevuE,KAAKquE,UAAU,MAAO,CACxC,MAAS,qBACTG,KAAM,WACN,gBAAiB,OAAOvwD,OAAOje,KAAKqY,GAAI,qBACxC,YAAa,OAAO4F,OAAOje,KAAKqY,GAAI,qBACpC,gBAAiB,SAChBrY,KAAKsuE,gBACRtuE,KAAKyuE,kBAAoBzuE,KAAKquE,UAAU,MAAO,CAC7C,MAAS,aACRruE,KAAKuuE,cACJvuE,KAAK8N,QAAQq8D,mBACfnqE,KAAK0uE,iBAAmB1uE,KAAKquE,UAAU,MAAO,CAC5C,MAAS,2BACRruE,KAAKuuE,eAENvuE,KAAK8N,QAAQq7D,gBAEfnpE,KAAKuuE,aAAa7wD,aAAa,WAAY,KAC3C1d,KAAK2uE,cAAgB3uE,KAAKquE,UAAU,MAAO,CACzC,MAAS,cACRruE,KAAKuuE,cAERvuE,KAAK4uE,YAAc5uE,KAAKquE,UAAU,KAAM,CACtC,MAAS,8BACTh2D,GAAI,OAAO4F,OAAOje,KAAKqY,GAAI,qBAC3Bm2D,KAAM,UACN,aAAc,sBAEZxuE,KAAKkqE,mBAAmBhsE,SAC1B8B,KAAK6uE,iBAAiB7uE,KAAKkqE,mBAAoB,kBAAkB,GACjElqE,KAAKquE,UAAU,KAAM,CACnB,MAAS,eACTG,KAAM,YACN,gBAAiB,QAChBxuE,KAAK4uE,cAEV5uE,KAAK6uE,iBAAiB7uE,KAAK8sE,UAAW,iBAElC9sE,KAAK8N,QAAQ07D,mBACfxpE,KAAK8uE,SAAW9uE,KAAKquE,UAAU,MAAO,CACpC,MAAS,uBAEXruE,KAAK8uE,SAAShyD,YAAY9c,KAAK4uE,cAE/B5uE,KAAKsuE,eAAexxD,YAAY9c,KAAK4uE,cAGrC5uE,KAAK8N,QAAQ87D,YAAa,CAC5B,IAAImF,EAAkB/uE,KAAK8N,QAAQ87D,YAC/BlpD,EAAO1gB,KAAK8qE,SAASrE,aAAa,QACtC,GAAI/lD,EAAM,CACR,IAAI3iB,EAAI2iB,EAAKwiC,YAAY,MAGd,IAAPnlD,IAAUgxE,EAAkB,GAAG9wD,OAAOyC,EAAKwgB,OAAO,EAAGnjC,GAAI,KAAKkgB,OAAO8wD,EAAiB,KAC5F,CACA/uE,KAAK4pE,YAAc5pE,KAAKquE,UAAU,QAAS,CACzCzuE,KAAM,SACN8gB,KAAMquD,IAER/iC,EAAQlvB,YAAY9c,KAAK4pE,YAC3B,CACF,GACC,CACDl9D,IAAK,mBACLlJ,MAAO,SAA0BspE,EAAWrnC,EAAWupC,GAKrD,IAFA,IAAIC,EAAM,GAEDlxE,EAAI,EAAGA,EAAI+uE,EAAU5uE,OAAQH,IAAK,CACzC,IAAI6I,EAAIkmE,EAAU/uE,GACdmxE,EAAWF,EAAY,aAAe,GAE1CC,GAAO,2BAA2BhxD,OAAOwnB,EAAW,4BAA4BxnB,OAAOje,KAAKqY,GAAI,WAAW4F,OAAOrX,EAAEyhE,MAAMpqD,OAAOixD,EAAU,oCAAoCjxD,OAAOrX,EAAE0hE,SAAU,yBAAyBrqD,OAAOrX,EAAEyhE,KAAM,4BAE1O4G,GAAO,yDAAyDhxD,OAAOrX,EAAEyhE,KAAM,kBAE/E4G,GAAO,mCAAmChxD,OAAOrX,EAAE8Z,KAAM,WACzDuuD,GAAO,iCAAiChxD,OAAOrX,EAAE0hE,SAAU,WAE3D2G,GAAO,OACT,CACAjvE,KAAK4uE,YAAYO,mBAAmB,YAAaF,EACnD,GACC,CACDviE,IAAK,mBACLlJ,MAAO,WACL,IAAIpF,EAAM4B,KAAK8qE,SAAStnE,MACpB8kE,EAAWtoE,KAAKovE,aAAahxE,GAC7BixE,EAAmBrvE,KAAKsvE,kBAAkBlxE,GAC1CmxE,EAAgBvvE,KAAK8N,QACvB+7D,EAAiB0F,EAAc1F,eAC/BE,EAAewF,EAAcxF,aAC7BX,EAAmBmG,EAAcnG,iBACjCe,EAAmBoF,EAAcpF,iBAG/B7B,IAAa+G,EACfrvE,KAAKwvE,sBAAsBpxE,GACC,SAAnByrE,IAELA,EACF7pE,KAAKyvE,SAAS5F,EAAeloC,eAEzB2mC,GAAY+G,EAEdrvE,KAAKyvE,SAAS,OAGdzvE,KAAK0vE,eAAiB1vE,KAAKkqE,mBAAmBhsE,OAAS8B,KAAKkqE,mBAAmB,GAAG7B,KAAOroE,KAAK8sE,UAAU,GAAGzE,KACtGjqE,GACH4B,KAAKyvE,SAASzvE,KAAK0vE,iBAKpBtxE,GAAQ2rE,GAAiBX,GAAqBe,IACjDnqE,KAAK8qE,SAAStnE,MAAQ,IAAIya,OAAOje,KAAKosE,oBAAoB9D,YAK1DlqE,GAAK4B,KAAK2vE,qBAAqBvxE,EACrC,GACC,CACDsO,IAAK,iBACLlJ,MAAO,WACLxD,KAAK4vE,oBACD5vE,KAAK8N,QAAQs7D,kBAAkBppE,KAAK6vE,qBACpC7vE,KAAK8N,QAAQq7D,eAAenpE,KAAK8vE,yBACjC9vE,KAAK4pE,aAAa5pE,KAAK+vE,0BAC7B,GACC,CACDrjE,IAAK,2BACLlJ,MAAO,WACL,IAAIwsE,EAAShwE,KACbA,KAAKiwE,yBAA2B,WAC9BD,EAAOpG,YAAYpmE,MAAQwsE,EAAOE,WACpC,EACIlwE,KAAK8qE,SAAStP,MAAMx7D,KAAK8qE,SAAStP,KAAK14D,iBAAiB,SAAU9C,KAAKiwE,yBAC7E,GACC,CACDvjE,IAAK,mBACLlJ,MAAO,WAEL,IADA,IAAI0qE,EAAKluE,KAAK8qE,SACPoD,GAAqB,UAAfA,EAAGiC,SACdjC,EAAKA,EAAG7xD,WAEV,OAAO6xD,CACT,GACC,CACDxhE,IAAK,yBACLlJ,MAAO,WACL,IAAI4sE,EAASpwE,KAIbA,KAAKqwE,kBAAoB,SAAUxpE,GAE7BupE,EAAOxB,YAAYpD,UAAU8E,SAAS,aAAcF,EAAOtF,SAASyF,QAAa1pE,EAAE00D,gBACzF,EACA,IAAIiV,EAAQxwE,KAAKywE,mBACbD,GAAOA,EAAM1tE,iBAAiB,QAAS9C,KAAKqwE,mBAEhDrwE,KAAK0wE,yBAA2B,YAI1BN,EAAOxB,YAAYpD,UAAU8E,SAAS,cAAiBF,EAAOtF,SAAS6F,UAAaP,EAAOtF,SAAS8F,UACtGR,EAAOS,eAEX,EACA7wE,KAAKuuE,aAAazrE,iBAAiB,QAAS9C,KAAK0wE,0BAEjD1wE,KAAK8wE,6BAA+B,SAAUjqE,GACrBupE,EAAOxB,YAAYpD,UAAU8E,SAAS,eACoC,IAAzE,CAAC,UAAW,KAAM,YAAa,OAAQ,IAAK,SAASjsE,QAAQwC,EAAE6F,OAErF7F,EAAE00D,iBAEF10D,EAAEkqE,kBACFX,EAAOS,iBAGK,QAAVhqE,EAAE6F,KAAe0jE,EAAOY,gBAC9B,EACAhxE,KAAKsuE,eAAexrE,iBAAiB,UAAW9C,KAAK8wE,6BACvD,GACC,CACDpkE,IAAK,gBACLlJ,MAAO,WACL,IAAIytE,EAASjxE,KAETA,KAAK8N,QAAQs8D,cAAgBnuE,OAAOi1E,kBAElCj1E,OAAO6sE,oBAAoBI,gBAC7BjtE,OAAO6sE,oBAAoBqI,UAAUnxE,KAAK8N,QAAQs8D,aAGlDnuE,OAAO6G,iBAAiB,QAAQ,WAC9B7G,OAAO6sE,oBAAoBqI,UAAUF,EAAOnjE,QAAQs8D,YACtD,IAEGpqE,KAAKgsE,4BACwB,SAAhChsE,KAAK8N,QAAQ+7D,eAA2B7pE,KAAKoxE,mBAAwBpxE,KAAK6rE,2BAChF,GACC,CACDn/D,IAAK,mBACLlJ,MAAO,WAKDvH,OAAO6sE,oBAAoBuI,YAC7BrxE,KAAKsxE,oBACKr1E,OAAO6sE,oBAAoByI,4BAErCt1E,OAAO6sE,oBAAoByI,2BAA4B,EACf,oBAA7BvxE,KAAK8N,QAAQ67D,aACtB3pE,KAAK8N,QAAQ67D,aAAY,SAAUsD,GACjChxE,OAAO6sE,oBAAoBuI,YAAcpE,EAAYtrC,cAOrDrpB,YAAW,WACT,OAAOkyD,EAAgB,oBACzB,GACF,IAAG,WACD,OAAOA,EAAgB,2BACzB,IAGN,GACC,CACD99D,IAAK,oBACLlJ,MAAO,WACL,IAAIguE,EAASxxE,KAEbA,KAAKyxE,kBAAoB,WACnBD,EAAOhC,sBAAsBgC,EAAO1G,SAAStnE,QAC/CguE,EAAOE,uBAEX,EACA1xE,KAAK8qE,SAAShoE,iBAAiB,QAAS9C,KAAKyxE,mBAE7CzxE,KAAK2xE,sBAAwB,WAE3Br5D,WAAWk5D,EAAOC,kBACpB,EACAzxE,KAAK8qE,SAAShoE,iBAAiB,MAAO9C,KAAK2xE,uBAC3C3xE,KAAK8qE,SAAShoE,iBAAiB,QAAS9C,KAAK2xE,sBAC/C,GACC,CACDjlE,IAAK,OACLlJ,MAAO,SAAcw8D,GACnB,IAAIviE,EAAMuC,KAAK8qE,SAASrE,aAAa,aACrC,OAAOhpE,GAAOuiE,EAAO9hE,OAAST,EAAMuiE,EAAO9+B,OAAO,EAAGzjC,GAAOuiE,CAC9D,GACC,CACDtzD,IAAK,qBACLlJ,MAAO,WACL,IAAIouE,EAAS5xE,KAEbA,KAAK6xE,yBAA2B,WAC9BD,EAAOE,sBACT,EACI9xE,KAAK8qE,SAAStP,MAAMx7D,KAAK8qE,SAAStP,KAAK14D,iBAAiB,SAAU9C,KAAK6xE,0BAC3E7xE,KAAK8qE,SAAShoE,iBAAiB,OAAQ9C,KAAK6xE,yBAC9C,GACC,CACDnlE,IAAK,uBACLlJ,MAAO,WACL,GAAsC,MAAlCxD,KAAK8qE,SAAStnE,MAAMy9B,OAAO,GAAY,CACzC,IAAI8wC,EAAU/xE,KAAKgyE,YAAYhyE,KAAK8qE,SAAStnE,OAExCuuE,GAAW/xE,KAAKosE,oBAAoB9D,WAAayJ,IACpD/xE,KAAK8qE,SAAStnE,MAAQ,GAE1B,CACF,GACC,CACDkJ,IAAK,cACLlJ,MAAO,SAAqBrC,GAC1B,OAAOA,EAAEqO,QAAQ,MAAO,GAC1B,GACC,CACD9C,IAAK,WACLlJ,MAAO,SAAkBkd,GAEvB,IAAI7Z,EAAIhD,SAASouE,YAAY,SAC7BprE,EAAEqrE,UAAUxxD,GAAM,GAAM,GAExB1gB,KAAK8qE,SAASqH,cAActrE,EAC9B,GACC,CACD6F,IAAK,gBACLlJ,MAAO,WACLxD,KAAK4uE,YAAYpD,UAAUlQ,OAAO,aAClCt7D,KAAKuuE,aAAa7wD,aAAa,gBAAiB,QAChD1d,KAAKoyE,uBAEDpyE,KAAK+qE,aACP/qE,KAAKqyE,mBAAmBryE,KAAK+qE,YAAY,GACzC/qE,KAAKsyE,UAAUtyE,KAAK+qE,YAAY,IAGlC/qE,KAAKuyE,yBAELvyE,KAAK2uE,cAAcnD,UAAUvrC,IAAI,kBACjCjgC,KAAKwyE,SAAS,uBAChB,GACC,CACD9lE,IAAK,eACLlJ,MAAO,SAAsB0qE,EAAIzoC,EAAWgtC,GACtCA,IAAoBvE,EAAG1C,UAAU8E,SAAS7qC,GAAYyoC,EAAG1C,UAAUvrC,IAAIwF,IAAqBgtC,GAAmBvE,EAAG1C,UAAU8E,SAAS7qC,IAAYyoC,EAAG1C,UAAUlQ,OAAO71B,EAC3K,GACC,CACD/4B,IAAK,uBACLlJ,MAAO,WACL,IAAIkvE,EAAS1yE,KAIb,GAHIA,KAAK8N,QAAQ07D,mBACfxpE,KAAK8N,QAAQ07D,kBAAkB1sD,YAAY9c,KAAK8uE,WAE7C9uE,KAAKurE,SAAU,CAClB,IAAIjiD,EAAMtpB,KAAK8qE,SAAS6H,wBAEpBC,EAAY32E,OAAO42E,aAAehvE,SAASivE,gBAAgBC,UAC3DC,EAAW1pD,EAAIrqB,IAAM2zE,EACrBK,EAAiBjzE,KAAK4uE,YAAYsE,aAElCC,EAAoBH,EAAWhzE,KAAK8qE,SAASoI,aAAeD,EAAiBL,EAAY32E,OAAOm3E,YAChGC,EAAoBL,EAAWC,EAAiBL,EAKpD,GAFA5yE,KAAKszE,aAAatzE,KAAK4uE,YAAa,6BAA8BuE,GAAqBE,GAEnFrzE,KAAK8N,QAAQ07D,kBAAmB,CAGlC,IAAI+J,GAAYJ,GAAqBE,EAAoB,EAAIrzE,KAAK8qE,SAASoI,aAE3ElzE,KAAK8uE,SAAS/vE,MAAME,IAAM,GAAGgf,OAAO+0D,EAAWO,EAAU,MACzDvzE,KAAK8uE,SAAS/vE,MAAMG,KAAO,GAAG+e,OAAOqL,EAAIpqB,KAAO2E,SAASkZ,KAAKy2D,WAAY,MAE1ExzE,KAAKyzE,oBAAsB,WACzB,OAAOf,EAAO1B,gBAChB,EACA/0E,OAAO6G,iBAAiB,SAAU9C,KAAKyzE,oBACzC,CACF,CACF,GACC,CACD/mE,IAAK,sBACLlJ,MAAO,SAA6B9C,GAElC,IADA,IAAIwtE,EAAKxtE,EACFwtE,GAAMA,IAAOluE,KAAK4uE,cAAgBV,EAAG1C,UAAU8E,SAAS,iBAC7DpC,EAAKA,EAAG7xD,WAGV,OAAO6xD,IAAOluE,KAAK4uE,YAAc,KAAOV,CAC1C,GACC,CACDxhE,IAAK,yBACLlJ,MAAO,WACL,IAAIkwE,EAAS1zE,KAGbA,KAAK2zE,4BAA8B,SAAU9sE,GAE3C,IAAI+sE,EAAWF,EAAOG,oBAAoBhtE,EAAEnG,QACxCkzE,GAAUF,EAAOrB,mBAAmBuB,GAAU,EACpD,EACA5zE,KAAK4uE,YAAY9rE,iBAAiB,YAAa9C,KAAK2zE,6BAEpD3zE,KAAK8zE,wBAA0B,SAAUjtE,GACvC,IAAI+sE,EAAWF,EAAOG,oBAAoBhtE,EAAEnG,QACxCkzE,GAAUF,EAAOK,gBAAgBH,EACvC,EACA5zE,KAAK4uE,YAAY9rE,iBAAiB,QAAS9C,KAAK8zE,yBAIhD,IAAIE,GAAY,EAChBh0E,KAAKi0E,uBAAyB,WACvBD,GAAWN,EAAO1C,iBACvBgD,GAAY,CACd,EACAnwE,SAASivE,gBAAgBhwE,iBAAiB,QAAS9C,KAAKi0E,wBAKxD,IAAIC,EAAQ,GACRC,EAAa,KACjBn0E,KAAKo0E,yBAA2B,SAAUvtE,GAGxCA,EAAE00D,iBAEY,YAAV10D,EAAE6F,KAA+B,OAAV7F,EAAE6F,KAA0B,cAAV7F,EAAE6F,KAAiC,SAAV7F,EAAE6F,IAAgBgnE,EAAOW,iBAAiBxtE,EAAE6F,KAAwB,UAAV7F,EAAE6F,IAAiBgnE,EAAOY,kBAAqC,WAAVztE,EAAE6F,IAAkBgnE,EAAO1C,iBAA0B,iDAAuBx0E,KAAKqK,EAAE6F,OAElQynE,GAAY57D,aAAa47D,GAC7BD,GAASrtE,EAAE6F,IAAIi1B,cACf+xC,EAAOa,kBAAkBL,GAEzBC,EAAa77D,YAAW,WACtB47D,EAAQ,EACV,GAAG,KAEP,EACArwE,SAASf,iBAAiB,UAAW9C,KAAKo0E,yBAC5C,GACC,CACD1nE,IAAK,mBACLlJ,MAAO,SAA0BkJ,GAC/B,IAAI8nE,EAAe,YAAR9nE,GAA6B,OAARA,EAAe1M,KAAKgrE,gBAAgByJ,uBAAyBz0E,KAAKgrE,gBAAgB0J,mBAC9GF,IAEEA,EAAKhJ,UAAU8E,SAAS,kBAC1BkE,EAAe,YAAR9nE,GAA6B,OAARA,EAAe8nE,EAAKC,uBAAyBD,EAAKE,oBAEhF10E,KAAKqyE,mBAAmBmC,GAAM,GAElC,GACC,CACD9nE,IAAK,kBACLlJ,MAAO,WACDxD,KAAKgrE,iBAAiBhrE,KAAK+zE,gBAAgB/zE,KAAKgrE,gBACtD,GACC,CACDt+D,IAAK,oBACLlJ,MAAO,SAA2B0wE,GAChC,IAAK,IAAIn2E,EAAI,EAAGA,EAAIiC,KAAK8sE,UAAU5uE,OAAQH,IACzC,GAAIiC,KAAK20E,YAAY30E,KAAK8sE,UAAU/uE,GAAG2iB,KAAMwzD,GAAQ,CACnD,IAAIN,EAAW5zE,KAAK4uE,YAAYgG,cAAc,QAAQ32D,OAAOje,KAAKqY,GAAI,WAAW4F,OAAOje,KAAK8sE,UAAU/uE,GAAGsqE,OAE1GroE,KAAKqyE,mBAAmBuB,GAAU,GAClC5zE,KAAKsyE,UAAUsB,GAAU,GACzB,KACF,CAEJ,GACC,CACDlnE,IAAK,cACLlJ,MAAO,SAAqBmD,EAAGpF,GAC7B,OAAOoF,EAAEu6B,OAAO,EAAG3/B,EAAErD,QAAQyjC,gBAAkBpgC,CACjD,GACC,CACDmL,IAAK,uBACLlJ,MAAO,SAA8BqxE,GACnC,IAAI7U,EAAS6U,EACb,GAAI70E,KAAK8N,QAAQ47D,iBAAmBztE,OAAOi1E,mBAAqBlxE,KAAKosE,oBAAqB,CACxF,IAAI0I,GAAe90E,KAAK8N,QAAQq8D,mBAAqBnqE,KAAK8N,QAAQi8D,cAAqC,MAArB/J,EAAO/+B,OAAO,IAC5F8zC,EAAwB7D,kBAAkB8D,aAC5CC,EAAWF,EAAsBE,SACjCC,EAAgBH,EAAsBG,cACpC1X,EAASsX,EAAcG,EAAWC,EACtClV,EAASkR,kBAAkBiE,aAAanV,EAAQhgE,KAAKosE,oBAAoB/D,KAAM7K,EACjF,CACAwC,EAAShgE,KAAKo1E,iBAAiBpV,GAC/BhgE,KAAK8qE,SAAStnE,MAAQw8D,CACxB,GACC,CACDtzD,IAAK,wBACLlJ,MAAO,SAA+BqxE,GAMpC,IAAI7U,EAAS6U,EACTnG,EAAmB1uE,KAAKosE,oBAAoB9D,SAC5C+M,EAA8B,MAArB3G,EACT1O,GAAUhgE,KAAK8N,QAAQi8D,cAAgBsL,GAA+B,MAArBrV,EAAO/+B,OAAO,KACxC,MAArB++B,EAAO/+B,OAAO,KAAY++B,EAAS,IAAI/hD,OAAO+hD,IAClDA,EAAS,IAAI/hD,OAAO+hD,IAGlBhgE,KAAK8N,QAAQq8D,kBAAoBuE,GAAyC,MAArB1O,EAAO/+B,OAAO,KACrE++B,EAAS,IAAI/hD,OAAOywD,GAAkBzwD,OAAO+hD,IAG/C,IAAIsI,EAAWtoE,KAAKovE,aAAapP,GAAQ,GACrC+R,EAAU/xE,KAAKgyE,YAAYhS,GAC3BiN,EAAc,KAClB,GAAI3E,EAAU,CACZ,IAAI6E,EAAentE,KAAKmtE,aAAantE,KAAKgyE,YAAY1J,IAKlDgN,GAA2E,IAAzDnI,EAAa9oE,QAAQrE,KAAKosE,oBAAoB/D,OAAgB0J,EAAQ7zE,QAAUoqE,EAASpqE,OAAS,EAMxH,IALkD,MAArBwwE,IAA4B1uE,KAAKsvE,kBAAkByC,MAKhDuD,EAG9B,IAAK,IAAIxuE,EAAI,EAAGA,EAAIqmE,EAAajvE,OAAQ4I,IACvC,GAAIqmE,EAAarmE,GAAI,CACnBmmE,EAAcE,EAAarmE,GAC3B,KACF,CAGN,KAAgC,MAArBk5D,EAAO/+B,OAAO,IAAc8wC,EAAQ7zE,OAI7C+uE,EAAc,GACJjN,GAAqB,MAAXA,IAEpBiN,EAAcjtE,KAAK0vE,gBAErB,OAAoB,OAAhBzC,GACKjtE,KAAKyvE,SAASxC,EAGzB,GACC,CACDvgE,IAAK,oBACLlJ,MAAO,SAA2Bw8D,GAChC,IAAI+R,EAAU/xE,KAAKgyE,YAAYhS,GAC/B,GAA0B,MAAtB+R,EAAQ9wC,OAAO,GAAY,CAC7B,IAAI4sC,EAAWkE,EAAQ7wC,OAAO,EAAG,GACjC,OAAoD,IAA7CmpC,EAAsBhmE,QAAQwpE,EACvC,CACA,OAAO,CACT,GACC,CACDnhE,IAAK,qBACLlJ,MAAO,SAA4BowE,EAAU2B,GAC3C,IAAIC,EAAWx1E,KAAKgrE,gBAChBwK,GAAUA,EAAShK,UAAUlQ,OAAO,kBACxCt7D,KAAKgrE,gBAAkB4I,EACvB5zE,KAAKgrE,gBAAgBQ,UAAUvrC,IAAI,kBAC/Bs1C,GAAav1E,KAAKgrE,gBAAgBuF,OACxC,GACC,CACD7jE,IAAK,kBACLlJ,MAAO,SAAyBypE,EAAawI,EAA2BC,GAEtE,IADA,IAAI9G,EAAc6G,EAA4BrN,EAAepoE,KAAK8sE,UACzD/uE,EAAI,EAAGA,EAAI6wE,EAAY1wE,OAAQH,IACtC,GAAI6wE,EAAY7wE,GAAGsqE,OAAS4E,EAC1B,OAAO2B,EAAY7wE,GAGvB,GAAI23E,EACF,OAAO,KAET,MAAM,IAAI7rC,MAAM,wBAAwB5rB,OAAOgvD,EAAa,KAC9D,GACC,CACDvgE,IAAK,WACLlJ,MAAO,SAAkBypE,GACvB,IAAI0I,EAAc31E,KAAKosE,oBAAoB/D,KAAOroE,KAAKosE,oBAAsB,CAAC,EAE9EpsE,KAAKosE,oBAAsBa,EAAcjtE,KAAKguE,gBAAgBf,GAAa,GAAO,GAAS,CAAC,EAExFjtE,KAAKosE,oBAAoB/D,OAC3BroE,KAAK0vE,eAAiB1vE,KAAKosE,oBAAoB/D,MAEjDroE,KAAKyuE,kBAAkB/wD,aAAa,QAAS,kBAAkBO,OAAOgvD,IAEtE,IAAIvoC,EAAQuoC,EAAc,GAAGhvD,OAAOje,KAAKosE,oBAAoB1rD,KAAM,OAAOzC,OAAOje,KAAKosE,oBAAoB9D,UAAY,UAEtH,GADAtoE,KAAKuuE,aAAa7wD,aAAa,QAASgnB,GACpC1kC,KAAK8N,QAAQq8D,iBAAkB,CACjC,IAAI7B,EAAWtoE,KAAKosE,oBAAoB9D,SAAW,IAAIrqD,OAAOje,KAAKosE,oBAAoB9D,UAAY,GACnGtoE,KAAK0uE,iBAAiBkH,UAAYtN,EAElC,IAAIuN,EAAoB71E,KAAKuuE,aAAavxD,aAAehd,KAAK81E,8BAE9D91E,KAAK8qE,SAAS/rE,MAAMg3E,YAAc,GAAG93D,OAAO43D,EAAoB,EAAG,KACrE,CAIA,GAFA71E,KAAKg2E,qBAEDh2E,KAAK8N,QAAQq7D,cAAe,CAC9B,IAAIqM,EAAWx1E,KAAK+qE,WAKpB,GAJIyK,IACFA,EAAShK,UAAUlQ,OAAO,eAC1Bka,EAAS93D,aAAa,gBAAiB,UAErCuvD,EAAa,CAEf,IAAIgJ,EAAWj2E,KAAK4uE,YAAYgG,cAAc,QAAQ32D,OAAOje,KAAKqY,GAAI,WAAW4F,OAAOgvD,EAAa,gBAAkBjtE,KAAK4uE,YAAYgG,cAAc,QAAQ32D,OAAOje,KAAKqY,GAAI,WAAW4F,OAAOgvD,IAChMgJ,EAASv4D,aAAa,gBAAiB,QACvCu4D,EAASzK,UAAUvrC,IAAI,eACvBjgC,KAAK+qE,WAAakL,EAClBj2E,KAAKuuE,aAAa7wD,aAAa,wBAAyBu4D,EAASxP,aAAa,MAChF,CACF,CAEA,OAAOkP,EAAYtN,OAAS4E,CAC9B,GACC,CACDvgE,IAAK,8BACLlJ,MAAO,WAGL,IAAI0yE,EAAiBl2E,KAAK8qE,SAASzuD,WAAW85D,YAC9CD,EAAen3E,MAAMq3E,WAAa,SAClCvyE,SAASkZ,KAAKD,YAAYo5D,GAC1B,IAAIG,EAAsBr2E,KAAKsuE,eAAe6H,YAC9CD,EAAep5D,YAAYu5D,GAC3B,IAAIC,EAAoBt2E,KAAKuuE,aAAa4H,WAAU,GACpDE,EAAoBv5D,YAAYw5D,GAChC,IAAInqE,EAAQmqE,EAAkBt5D,YAE9B,OADAk5D,EAAe75D,WAAW8E,YAAY+0D,GAC/B/pE,CACT,GACC,CACDO,IAAK,qBACLlJ,MAAO,WACL,IAAI+yE,EAAwD,eAAjCv2E,KAAK8N,QAAQu7D,kBAAqCrpE,KAAKkrE,uBAA0D,WAAjClrE,KAAK8N,QAAQu7D,gBACxH,GAAIptE,OAAOi1E,mBAAqBqF,EAAsB,CACpD,IAAIC,EAAatF,kBAAkBsF,WAAWx2E,KAAK8N,QAAQm8D,uBACvDwM,EAAcz2E,KAAKosE,oBAAoB/D,KAAO6I,kBAAkBwF,iBAAiB12E,KAAKosE,oBAAoB/D,KAAMroE,KAAK8N,QAAQi8D,aAAcyM,GAAc,GAC7JC,EAAcz2E,KAAKo1E,iBAAiBqB,GACU,oBAAnCz2E,KAAK8N,QAAQy7D,oBACtBkN,EAAcz2E,KAAK8N,QAAQy7D,kBAAkBkN,EAAaz2E,KAAKosE,sBAEjEpsE,KAAK8qE,SAASptD,aAAa,cAAe+4D,EAC5C,CACF,GACC,CACD/pE,IAAK,kBACLlJ,MAAO,SAAyBowE,GAE9B,IAAI+C,EAAc32E,KAAKyvE,SAASmE,EAASnN,aAAa,sBACtDzmE,KAAKgxE,iBACLhxE,KAAK42E,gBAAgBhD,EAASnN,aAAa,mBAAmB,GAE9DzmE,KAAK8qE,SAASyF,QAGd,IAAItyE,EAAM+B,KAAK8qE,SAAStnE,MAAMtF,OAC9B8B,KAAK8qE,SAAS+L,kBAAkB54E,EAAKA,GACjC04E,GACF32E,KAAK0xE,uBAET,GACC,CACDhlE,IAAK,iBACLlJ,MAAO,WACLxD,KAAK4uE,YAAYpD,UAAUvrC,IAAI,aAC/BjgC,KAAKuuE,aAAa7wD,aAAa,gBAAiB,SAEhD1d,KAAK2uE,cAAcnD,UAAUlQ,OAAO,kBAEpCz3D,SAASZ,oBAAoB,UAAWjD,KAAKo0E,0BAC7CvwE,SAASivE,gBAAgB7vE,oBAAoB,QAASjD,KAAKi0E,wBAC3Dj0E,KAAK4uE,YAAY3rE,oBAAoB,YAAajD,KAAK2zE,6BACvD3zE,KAAK4uE,YAAY3rE,oBAAoB,QAASjD,KAAK8zE,yBAE/C9zE,KAAK8N,QAAQ07D,oBACVxpE,KAAKurE,UAAUtvE,OAAOgH,oBAAoB,SAAUjD,KAAKyzE,qBAC1DzzE,KAAK8uE,SAASzyD,YAAYrc,KAAK8uE,SAASzyD,WAAW8E,YAAYnhB,KAAK8uE,WAE1E9uE,KAAKwyE,SAAS,wBAChB,GACC,CACD9lE,IAAK,YACLlJ,MAAO,SAAmB1E,EAASg4E,GACjC,IAAIxyE,EAAYtE,KAAK4uE,YAEjBgE,EAAY32E,OAAO42E,aAAehvE,SAASivE,gBAAgBC,UAC3DgE,EAAkBzyE,EAAU4uE,aAC5B8D,EAAe1yE,EAAUquE,wBAAwB1zE,IAAM2zE,EACvDqE,EAAkBD,EAAeD,EACjCG,EAAgBp4E,EAAQo0E,aACxBiE,EAAar4E,EAAQ6zE,wBAAwB1zE,IAAM2zE,EACnDwE,EAAgBD,EAAaD,EAC7BG,EAAeF,EAAaH,EAAe1yE,EAAUyuE,UACrDuE,EAAeP,EAAkB,EAAIG,EAAgB,EACzD,GAAIC,EAAaH,EAEXF,IAAQO,GAAgBC,GAC5BhzE,EAAUyuE,UAAYsE,OACjB,GAAID,EAAgBH,EAAiB,CAEtCH,IAAQO,GAAgBC,GAC5B,IAAIC,EAAmBR,EAAkBG,EACzC5yE,EAAUyuE,UAAYsE,EAAeE,CACvC,CACF,GACC,CACD7qE,IAAK,kBACLlJ,MAAO,SAAyBg0E,EAAiBC,GAC/C,IAGIC,EAHAC,EAAW33E,KAAK8qE,SAAStnE,MAEzBo0E,EAAc,IAAI35D,OAAOu5D,GAE7B,GAA2B,MAAvBG,EAAS12C,OAAO,GAAY,CAE9B,IAAI42C,EAAe73E,KAAKovE,aAAauI,GAGnCD,EAFEG,EAEUF,EAASnoE,QAAQqoE,EAAcD,GAI/BA,CAEhB,KAAO,IAAI53E,KAAK8N,QAAQi8D,cAAgB/pE,KAAK8N,QAAQq8D,iBAEnD,OAGA,GAAIwN,EAEFD,EAAYE,EAAcD,MACrB,KAAIF,GAAwBz3E,KAAK8N,QAAQs7D,iBAK9C,OAFAsO,EAAYE,CAGd,CACF,CACA53E,KAAK8qE,SAAStnE,MAAQk0E,CACxB,GACC,CACDhrE,IAAK,eACLlJ,MAAO,SAAsBw8D,EAAQ8X,GACnC,IAAIxP,EAAW,GAEf,GAAyB,MAArBtI,EAAO/+B,OAAO,GAGhB,IAFA,IAAI82C,EAAe,GAEVh6E,EAAI,EAAGA,EAAIiiE,EAAO9hE,OAAQH,IAAK,CACtC,IAAI6I,EAAIo5D,EAAO/+B,OAAOljC,GAEtB,IAAKi7D,MAAMjW,SAASn8C,EAAG,KAAM,CAG3B,GAFAmxE,GAAgBnxE,EAEZkxE,EACE93E,KAAKmtE,aAAa4K,KAEpBzP,EAAWtI,EAAO9+B,OAAO,EAAGnjC,EAAI,SAGlC,GAAIiC,KAAKytE,UAAUsK,GAAe,CAChCzP,EAAWtI,EAAO9+B,OAAO,EAAGnjC,EAAI,GAEhC,KACF,CAGF,GAAIg6E,EAAa75E,SAAW8B,KAAKktE,kBAC/B,KAEJ,CACF,CAEF,OAAO5E,CACT,GACC,CACD57D,IAAK,iBACLlJ,MAAO,WACL,IAAIpF,EAAM4B,KAAK8qE,SAAStnE,MAAMy5D,OAC1BqL,EAAWtoE,KAAKosE,oBAAoB9D,SAEpC0P,EAAah4E,KAAKgyE,YAAY5zE,GAOlC,OANI4B,KAAK8N,QAAQq8D,kBAAsC,MAAlB/rE,EAAI6iC,OAAO,IAAcqnC,GAAY0P,EAE/D,IAAI/5D,OAAOqqD,GAEX,IAEKlqE,CAClB,GACC,CACDsO,IAAK,mBACLlJ,MAAO,SAA0BqxE,GAC/B,IAAI7U,EAAS6U,EACb,GAAI70E,KAAK8N,QAAQq8D,iBAAkB,CACjC,IAAI7B,EAAWtoE,KAAKovE,aAAapP,GAEjC,GAAIsI,EAAU,CAOZ,IAAIlU,EAAoC,MAA5B4L,GALZsI,EAAW,IAAIrqD,OAAOje,KAAKosE,oBAAoB9D,WAKnBpqE,SAA+C,MAA5B8hE,EAAOsI,EAASpqE,QAAkBoqE,EAASpqE,OAAS,EAAIoqE,EAASpqE,OAChH8hE,EAASA,EAAO9+B,OAAOkzB,EACzB,CACF,CACA,OAAOp0D,KAAKi4E,KAAKjY,EACnB,GACC,CACDtzD,IAAK,wBACLlJ,MAAO,WACLxD,KAAKwyE,SAAS,gBAChB,GACC,CACD9lE,IAAK,oBACLlJ,MAAO,WAC+B,SAAhCxD,KAAK8N,QAAQ+7D,iBAGf7pE,KAAK0vE,eAAiBzzE,OAAO6sE,oBAAoBuI,YAE5CrxE,KAAK8qE,SAAStnE,OACjBxD,KAAKk4E,WAAWl4E,KAAK0vE,gBAEvB1vE,KAAK6rE,4BAET,GACC,CACDn/D,IAAK,cACLlJ,MAAO,WAEDvH,OAAOi1E,oBAELlxE,KAAK8qE,SAAStnE,OAChBxD,KAAK2vE,qBAAqB3vE,KAAK8qE,SAAStnE,OAE1CxD,KAAKg2E,sBAEPh2E,KAAKgsE,2BACP,GACC,CACDt/D,IAAK,UACLlJ,MAAO,WACL,IAAIg4D,EAAOx7D,KAAK8qE,SAAStP,KACzB,GAAIx7D,KAAK8N,QAAQq7D,cAAe,CAE9BnpE,KAAKgxE,iBACLhxE,KAAKuuE,aAAatrE,oBAAoB,QAASjD,KAAK0wE,0BACpD1wE,KAAKsuE,eAAerrE,oBAAoB,UAAWjD,KAAK8wE,8BAExD,IAAIN,EAAQxwE,KAAKywE,mBACbD,GAAOA,EAAMvtE,oBAAoB,QAASjD,KAAKqwE,kBACrD,CAEIrwE,KAAK4pE,aAAepO,GAAMA,EAAKv4D,oBAAoB,SAAUjD,KAAKiwE,0BAElEjwE,KAAK8N,QAAQs7D,mBACX5N,GAAMA,EAAKv4D,oBAAoB,SAAUjD,KAAK6xE,0BAClD7xE,KAAK8qE,SAAS7nE,oBAAoB,OAAQjD,KAAK6xE,2BAGjD7xE,KAAK8qE,SAAS7nE,oBAAoB,QAASjD,KAAKyxE,mBAChDzxE,KAAK8qE,SAAS7nE,oBAAoB,MAAOjD,KAAK2xE,uBAC9C3xE,KAAK8qE,SAAS7nE,oBAAoB,QAASjD,KAAK2xE,uBAEhD3xE,KAAK8qE,SAAS5tB,gBAAgB,0BAE9B,IAAIlR,EAAUhsC,KAAK8qE,SAASzuD,WAC5B2vB,EAAQ3vB,WAAWswB,aAAa3sC,KAAK8qE,SAAU9+B,GAC/CA,EAAQ3vB,WAAW8E,YAAY6qB,UACxB/vC,OAAO6sE,oBAAoBG,UAAUjpE,KAAKqY,GACnD,GACC,CACD3L,IAAK,eACLlJ,MAAO,WACL,OAAIvH,OAAOi1E,kBACFA,kBAAkBiH,aAAan4E,KAAKo4E,iBAAkBp4E,KAAKosE,oBAAoB/D,MAEjF,EACT,GACC,CACD37D,IAAK,YACLlJ,MAAO,SAAmBg6D,GACxB,GAAIvhE,OAAOi1E,kBAAmB,CAC5B,IAAI7I,EAAOroE,KAAKosE,oBAAoB/D,KACpC,OAAO6I,kBAAkBiE,aAAan1E,KAAKo4E,iBAAkB/P,EAAM7K,EACrE,CACA,MAAO,EACT,GACC,CACD9wD,IAAK,gBACLlJ,MAAO,WACL,OAAIvH,OAAOi1E,kBACFA,kBAAkBmH,cAAcr4E,KAAKo4E,iBAAkBp4E,KAAKosE,oBAAoB/D,OAEjF,EACV,GACC,CACD37D,IAAK,yBACLlJ,MAAO,WACL,OAAOxD,KAAKosE,mBACd,GACC,CACD1/D,IAAK,qBACLlJ,MAAO,WACL,GAAIvH,OAAOi1E,kBAAmB,CAC5B,IAAI7I,EAAOroE,KAAKosE,oBAAoB/D,KACpC,OAAO6I,kBAAkBoH,mBAAmBt4E,KAAKo4E,iBAAkB/P,EACrE,CACA,OAAQ,EACV,GACC,CACD37D,IAAK,gBACLlJ,MAAO,WACL,IAAIpF,EAAM4B,KAAKo4E,iBAAiBnb,OAC5BgQ,EAAcjtE,KAAK8N,QAAQi8D,aAAe/pE,KAAKosE,oBAAoB/D,KAAO,GAC9E,OAAOpsE,OAAOi1E,kBAAoBA,kBAAkBqH,cAAcn6E,EAAK6uE,GAAe,IACxF,GACC,CACDvgE,IAAK,aACLlJ,MAAO,SAAoBg1E,GACzB,IAAIvL,EAAcuL,EAAoB72C,cAEjC3hC,KAAKyuE,kBAAkBjD,UAAU8E,SAAS,QAAQryD,OAAOgvD,MAC5DjtE,KAAKyvE,SAASxC,GACdjtE,KAAK42E,gBAAgB52E,KAAKosE,oBAAoB9D,UAAU,GACxDtoE,KAAK0xE,wBAET,GACC,CACDhlE,IAAK,YACLlJ,MAAO,SAAmBw8D,GAGxB,IAAI2W,EAAc32E,KAAKwvE,sBAAsBxP,GAC7ChgE,KAAK2vE,qBAAqB3P,GACtB2W,GACF32E,KAAK0xE,uBAET,GACC,CACDhlE,IAAK,2BACLlJ,MAAO,SAAkC5D,GACvCI,KAAK8N,QAAQm8D,sBAAwBrqE,EACrCI,KAAKg2E,oBACP,IAttCE5K,GAAY3C,EAAkBmC,EAAYnoE,UAAW2oE,GACrDC,GAAa5C,EAAkBmC,EAAaS,GAutCzCZ,CACT,CA9oCA,GAmpCA3B,EAAoB2P,eAAiB,WACnC,OAAOrQ,CACT,EAEA,IAAIsQ,EAAe,SAAsBt+D,EAAMu+D,EAAeC,GAE5D,IAAIC,EAASh1E,SAASG,cAAc,UACpC60E,EAAOC,OAAS,WACdtO,EAAgB,eACZmO,GAAeA,GACrB,EACAE,EAAOE,QAAU,WACfvO,EAAgB,4BACZoO,GAAeA,GACrB,EACAC,EAAOpzC,UAAY,iBACnBozC,EAAOG,OAAQ,EACfH,EAAO54D,IAAM7F,EACbvW,SAASkZ,KAAKD,YAAY+7D,EAC5B,EAyBA,OAvBA/P,EAAoBqI,UAAY,SAAU/2D,GAKxC,IAAKne,OAAOi1E,oBAAsBj1E,OAAO6sE,oBAAoBmQ,0BAA2B,CAItF,GAFAh9E,OAAO6sE,oBAAoBmQ,2BAA4B,EAEhC,qBAAZxN,QACT,OAAO,IAAIA,SAAQ,SAAUE,EAASC,GACpC,OAAO8M,EAAat+D,EAAMuxD,EAASC,EACrC,IAEF8M,EAAat+D,EACf,CACA,OAAO,IACT,EAEA0uD,EAAoBvL,SAAWA,EAE/BuL,EAAoB/O,QAAU,SAEvB,SAAUiP,EAAOl7D,GACtB,IAAIorE,EAAM,IAAIzO,EAAIzB,EAAOl7D,GAIzB,OAHAorE,EAAIC,QACJnQ,EAAMtrD,aAAa,yBAA0Bw7D,EAAI7gE,IACjDpc,OAAO6sE,oBAAoBG,UAAUiQ,EAAI7gE,IAAM6gE,EACxCA,CACT,CACF,CA5zCO,EA6zCT,EAj0CoCE,EAAOC,QAASD,EAAOC,QAAU3rD,IAAezxB,OAAOq9E,aAAe5rD,G,oBCR1G,WAKE,IAAI6rD,EAAKv5E,MAAQw5E,KACjB,SAASzyE,EAAEJ,EAAGpF,GACZoF,EAAIA,EAAE8T,MAAM,KACZ,IAES5Y,EAFL+E,EAAI2yE,EACR5yE,EAAE,KAAMC,GAAK,oBAAsBA,EAAE6yE,YAAc7yE,EAAE6yE,WAAW,OAAS9yE,EAAE,IAC3E,KAAYA,EAAEzI,SAAW2D,EAAI8E,EAAEg9C,UAAWh9C,EAAEzI,aAAU,IAAWqD,EAA2CqF,EAAvCA,EAAE/E,IAAM+E,EAAE/E,KAAO4Q,OAAOhQ,UAAUZ,GAAS+E,EAAE/E,GAAS+E,EAAE/E,GAAK,CAAC,EAAI+E,EAAE/E,GAAKN,CAChJ,CACA,SAAS0F,EAAEN,EAAGpF,GACZ,SAASqF,IAAK,CACdA,EAAEnE,UAAYlB,EAAEkB,UAChBkE,EAAEQ,EAAI5F,EAAEkB,UACRkE,EAAElE,UAAY,IAAImE,EAClBD,EAAElE,UAAUyiB,YAAcve,CAC5B,CAEA,IAAIO,EAAIxD,MAAMjB,UAAU4B,QAAU,SAAUsC,EAAGpF,EAAGqF,GAChD,OAAOlD,MAAMjB,UAAU4B,QAAQi6C,KAAK33C,EAAGpF,EAAGqF,EAC5C,EAAI,SAAUD,EAAGpF,EAAGqF,GAElB,GADAA,EAAI,MAAQA,EAAI,EAAI,EAAIA,EAAI/J,KAAKY,IAAI,EAAGkJ,EAAEzI,OAAS0I,GAAKA,EACpD,kBAAoBD,EAAG,MAAO,kBAAoBpF,GAAK,GAAKA,EAAErD,QAAU,EAAIyI,EAAEtC,QAAQ9C,EAAGqF,GAC7F,KAAOA,EAAID,EAAEzI,OAAQ0I,IAAK,GAAIA,KAAKD,GAAKA,EAAEC,KAAOrF,EAAG,OAAOqF,EAC3D,OAAQ,CACV,EACA,SAASnF,EAAEkF,EAAGpF,GACZoF,EAAEomE,KAAKxrE,GAAKm4E,EACd,CACA,SAASA,EAAG/yE,EAAGpF,GACb,OAAOoF,EAAIpF,EAAI,EAAIoF,EAAIpF,GAAK,EAAI,CAClC,CAUA,SAASo4E,EAAGhzE,EAAGpF,GAMb,OALAvB,KAAK2G,EAAIA,EACT3G,KAAKkB,IAAMK,EAAExD,EACbiC,KAAK4G,EAAIrF,EAAEA,EACXvB,KAAKiH,EAAI1F,EAAE3B,KACXI,KAAKgH,GAAI,EACDhH,KAAK4G,GACX,KAAKgzE,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACHl6E,KAAKgH,GAAI,EAEbhH,KAAKsB,EAAIC,EAAE44E,YACb,CACA,IAAID,EAAK,EACPD,EAAK,EACLL,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,GACLC,EAAK,GACP,SAASI,EAAGzzE,EAAGpF,GAGb,IAFAvB,KAAK4G,EAAID,EACT3G,KAAK2G,EAAI,CAAC,EACLA,EAAI,EAAGA,EAAIpF,EAAErD,OAAQyI,IAAK,CAC7B,IAAIC,EAAIrF,EAAEoF,GACV3G,KAAK2G,EAAEC,EAAED,GAAKC,CAChB,CACF,CASA,SAASlF,IACP1B,KAAK2G,EAAI,CAAC,EACV3G,KAAKsB,EAAItB,KAAKwB,IAAImF,EAClB3G,KAAK4G,EAAI5G,KAAKkB,EAAI,IACpB,CAaA,SAASE,EAAEuF,EAAGpF,GACZ,IAAK,IAAIqF,EA1BX,SAAYD,GAKV,OAHAlF,EADAkF,EA1CF,SAAYA,GACV,IAEE9E,EAFEN,EAAI,GACNqF,EAAI,EAEN,IAAK/E,KAAK8E,EAAGpF,EAAEqF,KAAOD,EAAE9E,GACxB,OAAON,CACT,CAoCM84E,CAAG1zE,EAAEA,IACJ,SAAUpF,EAAGqF,GAChB,OAAOrF,EAAEoF,EAAIC,EAAED,CACjB,IACOA,CACT,CAoBe2zE,CAAG3zE,EAAEnF,KAAMK,EAAI,EAAGA,EAAI+E,EAAE1I,OAAQ2D,IAAK,CAChD,IAAIgF,EAAID,EAAE/E,GACRL,EAAIqF,EAAEF,EACR,GAAI,MAAQpF,EAAEoF,EAAEnF,GAAI,CAClBmF,EAAEC,UAAYD,EAAEC,EAAEC,EAAEF,GACpB,IAAIrF,EAAI,IAAMuF,EAAED,GAAK,IAAMC,EAAED,EAC7B,GAAIC,EAAE3F,EAAG,CACP2F,EAAIkV,EAAExa,EAAGC,GACT,IAAK,IAAIN,EAAI,EAAGA,EAAI2F,EAAE3I,OAAQgD,IAAKu2B,EAAE9wB,EAAGnF,EAAGF,EAAIuF,EAAE3F,GAAG6I,QAAUlD,EAAE3F,GAClE,MAAO2F,EAAIqD,EAAE3I,EAAGC,GAAIF,GAAKA,EAAI4I,EAAEvD,EAAGnF,IAAMJ,EAAEE,EAAGuF,GAAKlF,EAAEgF,EAAGnF,EAAGqF,EAAEkD,SAAWpI,EAAEgF,EAAGnF,EAAGqF,EACjF,CACF,CACF,CAMA,SAASqD,EAAEvD,EAAGpF,GACZ,IAAIqF,EAAID,EAAEA,EAAEpF,GACZ,GAAI,MAAQqF,EAAG,OAAO,KACtB,GAAID,EAAEzF,EAAG,CACP,KAAMK,KAAKoF,EAAEC,GAAI,CACf,IAAI/E,EAAI8E,EAAEzF,EACR2F,EAAIF,EAAErF,EAAEC,GACV,GAAI,MAAQqF,EAAG,GAAIC,EAAE3F,EAAG,CACtB,IAAK,IAAIM,EAAI,GAAIF,EAAI,EAAGA,EAAIsF,EAAE1I,OAAQoD,IAAKE,EAAEF,GAAKO,EAAE+E,EAAEC,EAAGD,EAAEtF,IAC3DsF,EAAIpF,CACN,MAAOoF,EAAI/E,EAAE+E,EAAEC,EAAGD,GAClB,OAAOD,EAAEC,EAAErF,GAAKqF,CAClB,CACA,OAAOD,EAAEC,EAAErF,EACb,CACA,OAAOqF,CACT,CACA,SAASvF,EAAEsF,EAAGpF,EAAGqF,GACf,IAAI/E,EAAIqI,EAAEvD,EAAGpF,GACb,OAAOoF,EAAErF,EAAEC,GAAGL,EAAIW,EAAE+E,GAAK,GAAK/E,CAChC,CACA,SAASsI,EAAExD,EAAGpF,GACZ,GAAI,MAAQoF,EAAEA,EAAEpF,GAAIoF,EAAItF,EAAEsF,EAAGpF,OAAG,QAAaoF,EAAG,CAE9C,QAAI,KADJA,EAAIA,EAAErF,EAAEC,IACSD,EAAG,IAAIC,EAAIoF,EAAEM,KAASkkE,QAASxkE,EAAErF,GAAI,OAAQ,GAAIC,IAAMklD,OAAQ9/C,EAAErF,EAAI,MAAO,IAAIC,IAAMqM,OAAkC,CACvIjH,EAAI,IAAIpF,EACR,MAAMoF,CACR,CAH+GA,EAAErF,EAAIqF,EAAEK,EAAI,IAAM,EAGjI,CACAL,EAAIA,EAAErF,CACR,CACA,OAAOqF,CACT,CACA,SAASoV,EAAEpV,EAAGpF,GACZ,OAAO2I,EAAEvD,EAAGpF,IAAM,EACpB,CACA,SAASwO,EAAEpJ,EAAGpF,GACZ,OAAOoF,EAAErF,EAAEC,GAAGL,EAAI,MAAQyF,EAAEA,EAAEpF,GAAKoF,EAAEA,EAAEpF,GAAGrD,OAAS,EAAI,MAAQyI,EAAEA,EAAEpF,GAAK,EAAI,CAC9E,CACA,SAASI,EAAEgF,EAAGpF,EAAGqF,GACfD,EAAEA,EAAEpF,GAAKqF,EACTD,EAAEC,IAAMD,EAAEC,EAAErF,GAAKqF,EACnB,CACA,SAAS6wB,EAAE9wB,EAAGpF,EAAGqF,GACfD,EAAEA,EAAEpF,KAAOoF,EAAEA,EAAEpF,GAAK,IACpBoF,EAAEA,EAAEpF,GAAGyB,KAAK4D,GACZD,EAAEC,UAAYD,EAAEC,EAAErF,EACpB,CACA,SAAS2O,EAAEvJ,EAAGpF,GACZ,IACEM,EADE+E,EAAI,GAER,IAAK/E,KAAKN,EAAG,GAAKM,GAAK+E,EAAE5D,KAAK,IAAI22E,EAAG93E,EAAGN,EAAEM,KAC1C,OAAO,IAAIu4E,EAAGzzE,EAAGC,EACnB,CAEA,SAASuJ,IAAK,CArFdzO,EAAEe,UAAU83E,IAAM,SAAU5zE,GAC1B,OAAO,MAAQ3G,KAAK2G,EAAEA,EAAEA,EAC1B,EACAjF,EAAEe,UAAUiO,IAAM,SAAU/J,EAAGpF,GAC7B,OAAOF,EAAErB,KAAM2G,EAAEA,EAAGpF,EACtB,EACAG,EAAEe,UAAU+3E,IAAM,SAAU7zE,EAAGpF,GAC7BI,EAAE3B,KAAM2G,EAAEA,EAAGpF,EACf,EACAG,EAAEe,UAAUw9B,IAAM,SAAUt5B,EAAGpF,GAC7Bk2B,EAAEz3B,KAAM2G,EAAEA,EAAGpF,EACf,EAeAG,EAAEe,UAAUsH,MAAQ,WAClB,IAAIpD,EAAI,IAAI3G,KAAKklB,YAEjB,OADAve,GAAK3G,OAAS2G,EAAEA,EAAI,CAAC,EAAGA,EAAEC,IAAMD,EAAEC,EAAI,CAAC,GAAIxF,EAAEuF,EAAG3G,OACzC2G,CACT,EAwDAwJ,EAAE1N,UAAUkE,EAAI,SAAUA,GAExB,MADA,IAAIA,EAAEC,EACAijC,MAAM,gBACd,EACA15B,EAAE1N,UAAUmE,EAAI,SAAUD,EAAGpF,GAC3B,GAAI,IAAMoF,EAAEC,GAAK,IAAMD,EAAEC,EAAG,OAAOrF,aAAaG,EAAIH,EAAIvB,KAAK2G,EAAEA,EAAEM,EAAExE,UAAUjB,IAAKD,GAClF,GAAI,IAAMoF,EAAEC,EAAG,MAAO,kBAAoBrF,GAAKk5E,EAAGj+E,KAAK+E,IAAsB,GAAfoF,EAAI8/C,OAAOllD,IAAaoF,EAAIpF,EAC1F,IAAKoF,EAAEK,EAAG,OAAOzF,EAEjB,IADAoF,EAAIA,EAAEM,KACI2G,QACR,GAAI,kBAAoBrM,EAAG,OAAOqM,OAAOrM,QACpC,GAAIoF,IAAM8/C,QAAU,kBAAoBllD,IAAM,aAAeA,GAAK,cAAgBA,GAAK,QAAUA,GAAKk5E,EAAGj+E,KAAK+E,IAAK,OAAOklD,OAAOllD,GACxI,OAAOA,CACT,EACA,IAAIk5E,EAAK,aACT,SAASC,IAAK,CASd,SAASC,IAAK,CAQd,SAASC,EAAEj0E,EAAGpF,GACZ,MAAQoF,GAAK3G,KAAK2G,EAAEhD,MAAM3D,KAAMy9D,UAClC,CA0BA,SAASod,IACPn5E,EAAE48C,KAAKt+C,KACT,CA9CAiH,EAAEyzE,EAAGvqE,GACLuqE,EAAEj4E,UAAUkE,EAAI,SAAUA,EAAGpF,GAK3B,OAJAoF,EAAI,IAAIA,EAAEC,GACR1F,EAAIlB,KACN2G,EAAEA,EAAIpF,EACNoF,EAAEC,EAAI,CAAC,EACAD,CACT,EAEAM,EAAE0zE,EAAGD,GACLC,EAAEl4E,UAAUmE,EAAI,SAAUD,EAAGpF,GAC3B,OAAO,GAAKoF,EAAEC,IAAMrF,EAAI4O,EAAE1N,UAAUmE,EAAEjD,MAAM3D,KAAMy9D,UACpD,EACAkd,EAAEl4E,UAAUkE,EAAI,SAAUA,EAAGpF,GAC3B,OAAOo5E,EAAExzE,EAAER,EAAE23C,KAAKt+C,KAAM2G,EAAGpF,EAC7B,EAIAq5E,EAAEn4E,UAAUmE,EAAI,GAChBg0E,EAAEn4E,UAAU+3E,IAAM,SAAU7zE,GAC1B3G,KAAK4G,EAAI,GAAKD,CAChB,EACAi0E,EAAEn4E,UAAUkE,EAAI,SAAUA,EAAGpF,EAAGqF,GAE9B,GADA5G,KAAK4G,GAAKgH,OAAOjH,GACb,MAAQpF,EAAG,IAAK,IAAIM,EAAI,EAAGA,EAAI47D,UAAUv/D,OAAQ2D,IAAK7B,KAAK4G,GAAK62D,UAAU57D,GAC9E,OAAO7B,IACT,EACA46E,EAAEn4E,UAAUF,SAAW,WACrB,OAAOvC,KAAK4G,CACd,EAiBAK,EAAE4zE,EAAGn5E,GACL,IAAIo5E,EAAK,KACT,SAASC,IACPr5E,EAAE48C,KAAKt+C,KACT,CACAiH,EAAE8zE,EAAGr5E,GACL,IAAIs5E,EAAK,KACT,SAASC,IACPv5E,EAAE48C,KAAKt+C,KACT,CACAiH,EAAEg0E,EAAGv5E,GACL,IAAIw5E,EAAK,KA2PT,SAASC,IACPz5E,EAAE48C,KAAKt+C,KACT,CA5PA66E,EAAEp4E,UAAUjB,EAAI,WACd,IAAImF,EAAIm0E,EAyCR,OAxCAn0E,IAAMm0E,EAAKn0E,EAAIuJ,EAAE2qE,EAAG,CAClB,EAAG,CACDn6D,KAAM,eACN5Z,EAAG,kCAEL,EAAG,CACD4Z,KAAM,UACNo8C,UAAU,EACVv7D,EAAG,EACH3B,KAAMgO,QAER,EAAG,CACD8S,KAAM,SACNo8C,UAAU,EACVv7D,EAAG,EACH3B,KAAMgO,QAER,EAAG,CACD8S,KAAM,yBACN3iB,GAAG,EACHwD,EAAG,EACH3B,KAAMgO,QAER,EAAG,CACD8S,KAAM,kCACNnf,EAAG,EACH3B,KAAMgO,QAER,EAAG,CACD8S,KAAM,2CACNnf,EAAG,EACH44E,cAAc,EACdv6E,KAAMurE,SAER,EAAG,CACDzqD,KAAM,wCACNnf,EAAG,EACH3B,KAAMgO,WAGHjH,CACT,EACAk0E,EAAEr5E,EAAIq5E,EAAEp4E,UAAUjB,EAClBu5E,EAAEt4E,UAAUjB,EAAI,WACd,IAAImF,EAAIq0E,EA6BR,OA5BAr0E,IAAMq0E,EAAKr0E,EAAIuJ,EAAE6qE,EAAG,CAClB,EAAG,CACDr6D,KAAM,kBACN5Z,EAAG,qCAEL,EAAG,CACD4Z,KAAM,0BACNnf,EAAG,EACH3B,KAAMgO,QAER,EAAG,CACD8S,KAAM,kBACN3iB,GAAG,EACHwD,EAAG,EACH3B,KAAM6mD,QAER,GAAI,CACF/lC,KAAM,6BACN3iB,GAAG,EACHwD,EAAG,EACH3B,KAAM6mD,QAER,EAAG,CACD/lC,KAAM,iBACNnf,EAAG,EACH3B,KAAMgO,WAGHjH,CACT,EACAo0E,EAAEv5E,EAAIu5E,EAAEt4E,UAAUjB,EAClBy5E,EAAEx4E,UAAUjB,EAAI,WACd,IAAImF,EAAIu0E,EAwKR,OAvKAv0E,IAAMu0E,EAAKv0E,EAAIuJ,EAAE+qE,EAAG,CAClB,EAAG,CACDv6D,KAAM,gBACN5Z,EAAG,mCAEL,EAAG,CACD4Z,KAAM,eACNnf,EAAG,GACH3B,KAAMm7E,GAER,EAAG,CACDr6D,KAAM,aACNnf,EAAG,GACH3B,KAAMm7E,GAER,EAAG,CACDr6D,KAAM,SACNnf,EAAG,GACH3B,KAAMm7E,GAER,EAAG,CACDr6D,KAAM,YACNnf,EAAG,GACH3B,KAAMm7E,GAER,EAAG,CACDr6D,KAAM,eACNnf,EAAG,GACH3B,KAAMm7E,GAER,EAAG,CACDr6D,KAAM,cACNnf,EAAG,GACH3B,KAAMm7E,GAER,EAAG,CACDr6D,KAAM,kBACNnf,EAAG,GACH3B,KAAMm7E,GAER,EAAG,CACDr6D,KAAM,OACNnf,EAAG,GACH3B,KAAMm7E,GAER,GAAI,CACFr6D,KAAM,QACNnf,EAAG,GACH3B,KAAMm7E,GAER,GAAI,CACFr6D,KAAM,MACNnf,EAAG,GACH3B,KAAMm7E,GAER,GAAI,CACFr6D,KAAM,YACNnf,EAAG,GACH3B,KAAMm7E,GAER,GAAI,CACFr6D,KAAM,YACNnf,EAAG,GACH3B,KAAMm7E,GAER,GAAI,CACFr6D,KAAM,aACNnf,EAAG,GACH3B,KAAMm7E,GAER,GAAI,CACFr6D,KAAM,gBACNnf,EAAG,GACH3B,KAAMm7E,GAER,GAAI,CACFr6D,KAAM,mBACNnf,EAAG,GACH3B,KAAMm7E,GAER,GAAI,CACFr6D,KAAM,eACNnf,EAAG,GACH3B,KAAMm7E,GAER,GAAI,CACFr6D,KAAM,4BACNnf,EAAG,GACH3B,KAAMm7E,GAER,EAAG,CACDr6D,KAAM,KACNo8C,UAAU,EACVv7D,EAAG,EACH3B,KAAMgO,QAER,GAAI,CACF8S,KAAM,eACNnf,EAAG,EACH3B,KAAM6mD,QAER,GAAI,CACF/lC,KAAM,uBACNnf,EAAG,EACH3B,KAAMgO,QAER,GAAI,CACF8S,KAAM,iCACNnf,EAAG,EACH3B,KAAMgO,QAER,GAAI,CACF8S,KAAM,kBACNnf,EAAG,EACH3B,KAAMgO,QAER,GAAI,CACF8S,KAAM,wBACNnf,EAAG,EACH3B,KAAMgO,QAER,GAAI,CACF8S,KAAM,8BACNnf,EAAG,EACH3B,KAAMgO,QAER,GAAI,CACF8S,KAAM,iCACNnf,EAAG,EACH3B,KAAMgO,QAER,GAAI,CACF8S,KAAM,qCACNnf,EAAG,EACH44E,cAAc,EACdv6E,KAAMurE,SAER,GAAI,CACFzqD,KAAM,gBACN3iB,GAAG,EACHwD,EAAG,GACH3B,KAAMi7E,GAER,GAAI,CACFn6D,KAAM,qBACN3iB,GAAG,EACHwD,EAAG,GACH3B,KAAMi7E,GAER,GAAI,CACFn6D,KAAM,wBACNnf,EAAG,EACH44E,cAAc,EACdv6E,KAAMurE,SAER,GAAI,CACFzqD,KAAM,iBACNnf,EAAG,EACH3B,KAAMgO,QAER,GAAI,CACF8S,KAAM,wBACNnf,EAAG,EACH44E,cAAc,EACdv6E,KAAMurE,YAGHxkE,CACT,EACAs0E,EAAEz5E,EAAIy5E,EAAEx4E,UAAUjB,EAIlByF,EAAEk0E,EAAGz5E,GACL,IAAIumB,EAAK,KACPmzD,EAAK,CACHhhB,EAAG,EACHr+C,EAAG,EACH3a,EAAG,EACHq2B,EAAG,GACHt2B,EAAG,IAEPg6E,EAAE14E,UAAUjB,EAAI,WACd,IAAImF,EAAIshB,EAmDR,OAlDAthB,IAAMshB,EAAKthB,EAAIuJ,EAAEirE,EAAG,CAClB,EAAG,CACDz6D,KAAM,cACN5Z,EAAG,iCAEL,EAAG,CACD4Z,KAAM,eACNo8C,UAAU,EACVv7D,EAAG,EACH3B,KAAM6mD,QAER,EAAG,CACD/lC,KAAM,kBACNo8C,UAAU,EACVv7D,EAAG,EACH3B,KAAM6mD,QAER,EAAG,CACD/lC,KAAM,YACNnf,EAAG,EACH3B,KAAMgO,QAER,EAAG,CACD8S,KAAM,uBACNnf,EAAG,EACH3B,KAAMurE,SAER,EAAG,CACDzqD,KAAM,0BACNnf,EAAG,EACH44E,aAAc,EACdv6E,KAAM6mD,QAER,EAAG,CACD/lC,KAAM,YACNnf,EAAG,EACH3B,KAAMgO,QAER,EAAG,CACD8S,KAAM,sBACNnf,EAAG,GACH44E,aAAc,EACdv6E,KAAMw7E,GAER,EAAG,CACD16D,KAAM,kCACNnf,EAAG,EACH3B,KAAMgO,WAGHjH,CACT,EACAw0E,EAAEE,KAAOF,EACTA,EAAEE,KAAK75E,EAAI25E,EAAE14E,UAAUjB,EAYvB,IAAI85E,EAAI,CACJ,EAAG,6EAA6E7gE,MAAM,KACtF,EAAG,CAAC,KAAM,MACV,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,KAAM,MACX,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,KAAM,KAAM,KAAM,MACvB,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,KAAM,MACX,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,KAAM,KAAM,MACjB,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,GAAI,CAAC,MACL,IAAK,CAAC,MACN,IAAK,CAAC,KAAM,MACZ,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,KAAM,MACZ,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,KAAM,MACZ,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,KAAM,MACZ,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,KAAM,KAAM,MAClB,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,KAAM,MACZ,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,MACN,IAAK,CAAC,OACN,IAAK,CAAC,OACN,IAAK,CAAC,MACN,IAA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","file":"js/homepage-4f9ac60446dd118dd216.chunk.js","sourcesContent":["/*!\n * Font Awesome Free 5.15.0 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar prefix = \"fab\";\nvar fa500px = {\n prefix: 'fab',\n iconName: '500px',\n icon: [448, 512, [], \"f26e\", \"M103.3 344.3c-6.5-14.2-6.9-18.3 7.4-23.1 25.6-8 8 9.2 43.2 49.2h.3v-93.9c1.2-50.2 44-92.2 97.7-92.2 53.9 0 97.7 43.5 97.7 96.8 0 63.4-60.8 113.2-128.5 93.3-10.5-4.2-2.1-31.7 8.5-28.6 53 0 89.4-10.1 89.4-64.4 0-61-77.1-89.6-116.9-44.6-23.5 26.4-17.6 42.1-17.6 157.6 50.7 31 118.3 22 160.4-20.1 24.8-24.8 38.5-58 38.5-93 0-35.2-13.8-68.2-38.8-93.3-24.8-24.8-57.8-38.5-93.3-38.5s-68.8 13.8-93.5 38.5c-.3.3-16 16.5-21.2 23.9l-.5.6c-3.3 4.7-6.3 9.1-20.1 6.1-6.9-1.7-14.3-5.8-14.3-11.8V20c0-5 3.9-10.5 10.5-10.5h241.3c8.3 0 8.3 11.6 8.3 15.1 0 3.9 0 15.1-8.3 15.1H130.3v132.9h.3c104.2-109.8 282.8-36 282.8 108.9 0 178.1-244.8 220.3-310.1 62.8zm63.3-260.8c-.5 4.2 4.6 24.5 14.6 20.6C306 56.6 384 144.5 390.6 144.5c4.8 0 22.8-15.3 14.3-22.8-93.2-89-234.5-57-238.3-38.2zM393 414.7C283 524.6 94 475.5 61 310.5c0-12.2-30.4-7.4-28.9 3.3 24 173.4 246 256.9 381.6 121.3 6.9-7.8-12.6-28.4-20.7-20.4zM213.6 306.6c0 4 4.3 7.3 5.5 8.5 3 3 6.1 4.4 8.5 4.4 3.8 0 2.6.2 22.3-19.5 19.6 19.3 19.1 19.5 22.3 19.5 5.4 0 18.5-10.4 10.7-18.2L265.6 284l18.2-18.2c6.3-6.8-10.1-21.8-16.2-15.7L249.7 268c-18.6-18.8-18.4-19.5-21.5-19.5-5 0-18 11.7-12.4 17.3L234 284c-18.1 17.9-20.4 19.2-20.4 22.6z\"]\n};\nvar faAccessibleIcon = {\n prefix: 'fab',\n iconName: 'accessible-icon',\n icon: [448, 512, [], \"f368\", \"M423.9 255.8L411 413.1c-3.3 40.7-63.9 35.1-60.6-4.9l10-122.5-41.1 2.3c10.1 20.7 15.8 43.9 15.8 68.5 0 41.2-16.1 78.7-42.3 106.5l-39.3-39.3c57.9-63.7 13.1-167.2-74-167.2-25.9 0-49.5 9.9-67.2 26L73 243.2c22-20.7 50.1-35.1 81.4-40.2l75.3-85.7-42.6-24.8-51.6 46c-30 26.8-70.6-18.5-40.5-45.4l68-60.7c9.8-8.8 24.1-10.2 35.5-3.6 0 0 139.3 80.9 139.5 81.1 16.2 10.1 20.7 36 6.1 52.6L285.7 229l106.1-5.9c18.5-1.1 33.6 14.4 32.1 32.7zm-64.9-154c28.1 0 50.9-22.8 50.9-50.9C409.9 22.8 387.1 0 359 0c-28.1 0-50.9 22.8-50.9 50.9 0 28.1 22.8 50.9 50.9 50.9zM179.6 456.5c-80.6 0-127.4-90.6-82.7-156.1l-39.7-39.7C36.4 287 24 320.3 24 356.4c0 130.7 150.7 201.4 251.4 122.5l-39.7-39.7c-16 10.9-35.3 17.3-56.1 17.3z\"]\n};\nvar faAccusoft = {\n prefix: 'fab',\n iconName: 'accusoft',\n icon: [640, 512, [], \"f369\", \"M322.1 252v-1l-51.2-65.8s-12 1.6-25 15.1c-9 9.3-242.1 239.1-243.4 240.9-7 10 1.6 6.8 15.7 1.7.8 0 114.5-36.6 114.5-36.6.5-.6-.1-.1.6-.6-.4-5.1-.8-26.2-1-27.7-.6-5.2 2.2-6.9 7-8.9l92.6-33.8c.6-.8 88.5-81.7 90.2-83.3zm160.1 120.1c13.3 16.1 20.7 13.3 30.8 9.3 3.2-1.2 115.4-47.6 117.8-48.9 8-4.3-1.7-16.7-7.2-23.4-2.1-2.5-205.1-245.6-207.2-248.3-9.7-12.2-14.3-12.9-38.4-12.8-10.2 0-106.8.5-116.5.6-19.2.1-32.9-.3-19.2 16.9C250 75 476.5 365.2 482.2 372.1zm152.7 1.6c-2.3-.3-24.6-4.7-38-7.2 0 0-115 50.4-117.5 51.6-16 7.3-26.9-3.2-36.7-14.6l-57.1-74c-5.4-.9-60.4-9.6-65.3-9.3-3.1.2-9.6.8-14.4 2.9-4.9 2.1-145.2 52.8-150.2 54.7-5.1 2-11.4 3.6-11.1 7.6.2 2.5 2 2.6 4.6 3.5 2.7.8 300.9 67.6 308 69.1 15.6 3.3 38.5 10.5 53.6 1.7 2.1-1.2 123.8-76.4 125.8-77.8 5.4-4 4.3-6.8-1.7-8.2z\"]\n};\nvar faAcquisitionsIncorporated = {\n prefix: 'fab',\n iconName: 'acquisitions-incorporated',\n icon: [384, 512, [], \"f6af\", \"M357.45 468.2c-1.2-7.7-1.3-7.6-9.6-7.6-99.8.2-111.8-2.4-112.7-2.6-12.3-1.7-20.6-10.5-21-23.1-.1-1.6-.2-71.6-1-129.1-.1-4.7 1.6-6.4 5.9-7.5 12.5-3 24.9-6.1 37.3-9.7 4.3-1.3 6.8-.2 8.4 3.5 4.5 10.3 8.8 20.6 13.2 30.9 1.6 3.7.1 4.4-3.4 4.4-10-.2-20-.1-30.4-.1v27h116c-1.4-9.5-2.7-18.1-4-27.5-7 0-13.8.4-20.4-.1-22.6-1.6-18.3-4.4-84-158.6-8.8-20.1-27.9-62.1-36.5-89.2-4.4-14 5.5-25.4 18.9-26.6 18.6-1.7 37.5-1.6 56.2-2 20.6-.4 41.2-.4 61.8-.5 3.1 0 4-1.4 4.3-4.3 1.2-9.8 2.7-19.5 4-29.2.8-5.3 1.6-10.7 2.4-16.1L23.75 0c-3.6 0-5.3 1.1-4.6 5.3 2.2 13.2-.8.8 6.4 45.3 63.4 0 71.8.9 101.8.5 12.3-.2 37 3.5 37.7 22.1.4 11.4-1.1 11.3-32.6 87.4-53.8 129.8-50.7 120.3-67.3 161-1.7 4.1-3.6 5.2-7.6 5.2-8.5-.2-17-.3-25.4.1-1.9.1-5.2 1.8-5.5 3.2-1.5 8.1-2.2 16.3-3.2 24.9h114.3v-27.6c-6.9 0-33.5.4-35.3-2.9 5.3-12.3 10.4-24.4 15.7-36.7 16.3 4 31.9 7.8 47.6 11.7 3.4.9 4.6 3 4.6 6.8-.1 42.9.1 85.9.2 128.8 0 10.2-5.5 19.1-14.9 23.1-6.5 2.7-3.3 3.4-121.4 2.4-5.3 0-7.1 2-7.6 6.8-1.5 12.9-2.9 25.9-5 38.8-.8 5 1.3 5.7 5.3 5.7 183.2.6-30.7 0 337.1 0-2.5-15-4.4-29.4-6.6-43.7zm-174.9-205.7c-13.3-4.2-26.6-8.2-39.9-12.5a44.53 44.53 0 0 1-5.8-2.9c17.2-44.3 34.2-88.1 51.3-132.1 7.5 2.4 7.9-.8 9.4 0 9.3 22.5 18.1 60.1 27 82.8 6.6 16.7 13 33.5 19.7 50.9a35.78 35.78 0 0 1-3.9 2.1c-13.1 3.9-26.4 7.5-39.4 11.7a27.66 27.66 0 0 1-18.4 0z\"]\n};\nvar faAdn = {\n prefix: 'fab',\n iconName: 'adn',\n icon: [496, 512, [], \"f170\", \"M248 167.5l64.9 98.8H183.1l64.9-98.8zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-99.8 82.7L248 115.5 99.8 338.7h30.4l33.6-51.7h168.6l33.6 51.7h30.2z\"]\n};\nvar faAdversal = {\n prefix: 'fab',\n iconName: 'adversal',\n icon: [512, 512, [], \"f36a\", \"M482.1 32H28.7C5.8 32 0 37.9 0 60.9v390.2C0 474.4 5.8 480 28.7 480h453.4c24.4 0 29.9-5.2 29.9-29.7V62.2c0-24.6-5.4-30.2-29.9-30.2zM178.4 220.3c-27.5-20.2-72.1-8.7-84.2 23.4-4.3 11.1-9.3 9.5-17.5 8.3-9.7-1.5-17.2-3.2-22.5-5.5-28.8-11.4 8.6-55.3 24.9-64.3 41.1-21.4 83.4-22.2 125.3-4.8 40.9 16.8 34.5 59.2 34.5 128.5 2.7 25.8-4.3 58.3 9.3 88.8 1.9 4.4.4 7.9-2.7 10.7-8.4 6.7-39.3 2.2-46.6-7.4-1.9-2.2-1.8-3.6-3.9-6.2-3.6-3.9-7.3-2.2-11.9 1-57.4 36.4-140.3 21.4-147-43.3-3.1-29.3 12.4-57.1 39.6-71 38.2-19.5 112.2-11.8 114-30.9 1.1-10.2-1.9-20.1-11.3-27.3zm286.7 222c0 15.1-11.1 9.9-17.8 9.9H52.4c-7.4 0-18.2 4.8-17.8-10.7.4-13.9 10.5-9.1 17.1-9.1 132.3-.4 264.5-.4 396.8 0 6.8 0 16.6-4.4 16.6 9.9zm3.8-340.5v291c0 5.7-.7 13.9-8.1 13.9-12.4-.4-27.5 7.1-36.1-5.6-5.8-8.7-7.8-4-12.4-1.2-53.4 29.7-128.1 7.1-144.4-85.2-6.1-33.4-.7-67.1 15.7-100 11.8-23.9 56.9-76.1 136.1-30.5v-71c0-26.2-.1-26.2 26-26.2 3.1 0 6.6.4 9.7 0 10.1-.8 13.6 4.4 13.6 14.3-.1.2-.1.3-.1.5zm-51.5 232.3c-19.5 47.6-72.9 43.3-90 5.2-15.1-33.3-15.5-68.2.4-101.5 16.3-34.1 59.7-35.7 81.5-4.8 20.6 28.8 14.9 84.6 8.1 101.1zm-294.8 35.3c-7.5-1.3-33-3.3-33.7-27.8-.4-13.9 7.8-23 19.8-25.8 24.4-5.9 49.3-9.9 73.7-14.7 8.9-2 7.4 4.4 7.8 9.5 1.4 33-26.1 59.2-67.6 58.8z\"]\n};\nvar faAffiliatetheme = {\n prefix: 'fab',\n iconName: 'affiliatetheme',\n icon: [512, 512, [], \"f36b\", \"M159.7 237.4C108.4 308.3 43.1 348.2 14 326.6-15.2 304.9 2.8 230 54.2 159.1c51.3-70.9 116.6-110.8 145.7-89.2 29.1 21.6 11.1 96.6-40.2 167.5zm351.2-57.3C437.1 303.5 319 367.8 246.4 323.7c-25-15.2-41.3-41.2-49-73.8-33.6 64.8-92.8 113.8-164.1 133.2 49.8 59.3 124.1 96.9 207 96.9 150 0 271.6-123.1 271.6-274.9.1-8.5-.3-16.8-1-25z\"]\n};\nvar faAirbnb = {\n prefix: 'fab',\n iconName: 'airbnb',\n icon: [448, 512, [], \"f834\", \"M224 373.12c-25.24-31.67-40.08-59.43-45-83.18-22.55-88 112.61-88 90.06 0-5.45 24.25-20.29 52-45 83.18zm138.15 73.23c-42.06 18.31-83.67-10.88-119.3-50.47 103.9-130.07 46.11-200-18.85-200-54.92 0-85.16 46.51-73.28 100.5 6.93 29.19 25.23 62.39 54.43 99.5-32.53 36.05-60.55 52.69-85.15 54.92-50 7.43-89.11-41.06-71.3-91.09 15.1-39.16 111.72-231.18 115.87-241.56 15.75-30.07 25.56-57.4 59.38-57.4 32.34 0 43.4 25.94 60.37 59.87 36 70.62 89.35 177.48 114.84 239.09 13.17 33.07-1.37 71.29-37.01 86.64zm47-136.12C280.27 35.93 273.13 32 224 32c-45.52 0-64.87 31.67-84.66 72.79C33.18 317.1 22.89 347.19 22 349.81-3.22 419.14 48.74 480 111.63 480c21.71 0 60.61-6.06 112.37-62.4 58.68 63.78 101.26 62.4 112.37 62.4 62.89.05 114.85-60.86 89.61-130.19.02-3.89-16.82-38.9-16.82-39.58z\"]\n};\nvar faAlgolia = {\n prefix: 'fab',\n iconName: 'algolia',\n icon: [448, 512, [], \"f36c\", \"M229.3 182.6c-49.3 0-89.2 39.9-89.2 89.2 0 49.3 39.9 89.2 89.2 89.2s89.2-39.9 89.2-89.2c0-49.3-40-89.2-89.2-89.2zm62.7 56.6l-58.9 30.6c-1.8.9-3.8-.4-3.8-2.3V201c0-1.5 1.3-2.7 2.7-2.6 26.2 1 48.9 15.7 61.1 37.1.7 1.3.2 3-1.1 3.7zM389.1 32H58.9C26.4 32 0 58.4 0 90.9V421c0 32.6 26.4 59 58.9 59H389c32.6 0 58.9-26.4 58.9-58.9V90.9C448 58.4 421.6 32 389.1 32zm-202.6 84.7c0-10.8 8.7-19.5 19.5-19.5h45.3c10.8 0 19.5 8.7 19.5 19.5v15.4c0 1.8-1.7 3-3.3 2.5-12.3-3.4-25.1-5.1-38.1-5.1-13.5 0-26.7 1.8-39.4 5.5-1.7.5-3.4-.8-3.4-2.5v-15.8zm-84.4 37l9.2-9.2c7.6-7.6 19.9-7.6 27.5 0l7.7 7.7c1.1 1.1 1 3-.3 4-6.2 4.5-12.1 9.4-17.6 14.9-5.4 5.4-10.4 11.3-14.8 17.4-1 1.3-2.9 1.5-4 .3l-7.7-7.7c-7.6-7.5-7.6-19.8 0-27.4zm127.2 244.8c-70 0-126.6-56.7-126.6-126.6s56.7-126.6 126.6-126.6c70 0 126.6 56.6 126.6 126.6 0 69.8-56.7 126.6-126.6 126.6z\"]\n};\nvar faAlipay = {\n prefix: 'fab',\n iconName: 'alipay',\n icon: [448, 512, [], \"f642\", \"M377.74 32H70.26C31.41 32 0 63.41 0 102.26v307.48C0 448.59 31.41 480 70.26 480h307.48c38.52 0 69.76-31.08 70.26-69.6-45.96-25.62-110.59-60.34-171.6-88.44-32.07 43.97-84.14 81-148.62 81-70.59 0-93.73-45.3-97.04-76.37-3.97-39.01 14.88-81.5 99.52-81.5 35.38 0 79.35 10.25 127.13 24.96 16.53-30.09 26.45-60.34 26.45-60.34h-178.2v-16.7h92.08v-31.24H88.28v-19.01h109.44V92.34h50.92v50.42h109.44v19.01H248.63v31.24h88.77s-15.21 46.62-38.35 90.92c48.93 16.7 100.01 36.04 148.62 52.74V102.26C447.83 63.57 416.43 32 377.74 32zM47.28 322.95c.99 20.17 10.25 53.73 69.93 53.73 52.07 0 92.58-39.68 117.87-72.9-44.63-18.68-84.48-31.41-109.44-31.41-67.45 0-79.35 33.06-78.36 50.58z\"]\n};\nvar faAmazon = {\n prefix: 'fab',\n iconName: 'amazon',\n icon: [448, 512, [], \"f270\", \"M257.2 162.7c-48.7 1.8-169.5 15.5-169.5 117.5 0 109.5 138.3 114 183.5 43.2 6.5 10.2 35.4 37.5 45.3 46.8l56.8-56S341 288.9 341 261.4V114.3C341 89 316.5 32 228.7 32 140.7 32 94 87 94 136.3l73.5 6.8c16.3-49.5 54.2-49.5 54.2-49.5 40.7-.1 35.5 29.8 35.5 69.1zm0 86.8c0 80-84.2 68-84.2 17.2 0-47.2 50.5-56.7 84.2-57.8v40.6zm136 163.5c-7.7 10-70 67-174.5 67S34.2 408.5 9.7 379c-6.8-7.7 1-11.3 5.5-8.3C88.5 415.2 203 488.5 387.7 401c7.5-3.7 13.3 2 5.5 12zm39.8 2.2c-6.5 15.8-16 26.8-21.2 31-5.5 4.5-9.5 2.7-6.5-3.8s19.3-46.5 12.7-55c-6.5-8.3-37-4.3-48-3.2-10.8 1-13 2-14-.3-2.3-5.7 21.7-15.5 37.5-17.5 15.7-1.8 41-.8 46 5.7 3.7 5.1 0 27.1-6.5 43.1z\"]\n};\nvar faAmazonPay = {\n prefix: 'fab',\n iconName: 'amazon-pay',\n icon: [640, 512, [], \"f42c\", \"M14 325.3c2.3-4.2 5.2-4.9 9.7-2.5 10.4 5.6 20.6 11.4 31.2 16.7a595.88 595.88 0 0 0 127.4 46.3 616.61 616.61 0 0 0 63.2 11.8 603.33 603.33 0 0 0 95 5.2c17.4-.4 34.8-1.8 52.1-3.8a603.66 603.66 0 0 0 163.3-42.8c2.9-1.2 5.9-2 9.1-1.2 6.7 1.8 9 9 4.1 13.9a70 70 0 0 1-9.6 7.4c-30.7 21.1-64.2 36.4-99.6 47.9a473.31 473.31 0 0 1-75.1 17.6 431 431 0 0 1-53.2 4.8 21.3 21.3 0 0 0-2.5.3H308a21.3 21.3 0 0 0-2.5-.3c-3.6-.2-7.2-.3-10.7-.4a426.3 426.3 0 0 1-50.4-5.3A448.4 448.4 0 0 1 164 420a443.33 443.33 0 0 1-145.6-87c-1.8-1.6-3-3.8-4.4-5.7zM172 65.1l-4.3.6a80.92 80.92 0 0 0-38 15.1c-2.4 1.7-4.6 3.5-7.1 5.4a4.29 4.29 0 0 1-.4-1.4c-.4-2.7-.8-5.5-1.3-8.2-.7-4.6-3-6.6-7.6-6.6h-11.5c-6.9 0-8.2 1.3-8.2 8.2v209.3c0 1 0 2 .1 3 .2 3 2 4.9 4.9 5 7 .1 14.1.1 21.1 0 2.9 0 4.7-2 5-5 .1-1 .1-2 .1-3v-72.4c1.1.9 1.7 1.4 2.2 1.9 17.9 14.9 38.5 19.8 61 15.4 20.4-4 34.6-16.5 43.8-34.9 7-13.9 9.9-28.7 10.3-44.1.5-17.1-1.2-33.9-8.1-49.8-8.5-19.6-22.6-32.5-43.9-36.9-3.2-.7-6.5-1-9.8-1.5-2.8-.1-5.5-.1-8.3-.1zM124.6 107a3.48 3.48 0 0 1 1.7-3.3c13.7-9.5 28.8-14.5 45.6-13.2 14.9 1.1 27.1 8.4 33.5 25.9 3.9 10.7 4.9 21.8 4.9 33 0 10.4-.8 20.6-4 30.6-6.8 21.3-22.4 29.4-42.6 28.5-14-.6-26.2-6-37.4-13.9a3.57 3.57 0 0 1-1.7-3.3c.1-14.1 0-28.1 0-42.2s.1-28 0-42.1zm205.7-41.9c-1 .1-2 .3-2.9.4a148 148 0 0 0-28.9 4.1c-6.1 1.6-12 3.8-17.9 5.8-3.6 1.2-5.4 3.8-5.3 7.7.1 3.3-.1 6.6 0 9.9.1 4.8 2.1 6.1 6.8 4.9 7.8-2 15.6-4.2 23.5-5.7 12.3-2.3 24.7-3.3 37.2-1.4 6.5 1 12.6 2.9 16.8 8.4 3.7 4.8 5.1 10.5 5.3 16.4.3 8.3.2 16.6.3 24.9a7.84 7.84 0 0 1-.2 1.4c-.5-.1-.9 0-1.3-.1a180.56 180.56 0 0 0-32-4.9c-11.3-.6-22.5.1-33.3 3.9-12.9 4.5-23.3 12.3-29.4 24.9-4.7 9.8-5.4 20.2-3.9 30.7 2 14 9 24.8 21.4 31.7 11.9 6.6 24.8 7.4 37.9 5.4 15.1-2.3 28.5-8.7 40.3-18.4a7.36 7.36 0 0 1 1.6-1.1c.6 3.8 1.1 7.4 1.8 11 .6 3.1 2.5 5.1 5.4 5.2 5.4.1 10.9.1 16.3 0a4.84 4.84 0 0 0 4.8-4.7 26.2 26.2 0 0 0 .1-2.8v-106a80 80 0 0 0-.9-12.9c-1.9-12.9-7.4-23.5-19-30.4-6.7-4-14.1-6-21.8-7.1-3.6-.5-7.2-.8-10.8-1.3-3.9.1-7.9.1-11.9.1zm35 127.7a3.33 3.33 0 0 1-1.5 3c-11.2 8.1-23.5 13.5-37.4 14.9-5.7.6-11.4.4-16.8-1.8a20.08 20.08 0 0 1-12.4-13.3 32.9 32.9 0 0 1-.1-19.4c2.5-8.3 8.4-13 16.4-15.6a61.33 61.33 0 0 1 24.8-2.2c8.4.7 16.6 2.3 25 3.4 1.6.2 2.1 1 2.1 2.6-.1 4.8 0 9.5 0 14.3s-.2 9.4-.1 14.1zm259.9 129.4c-1-5-4.8-6.9-9.1-8.3a88.42 88.42 0 0 0-21-3.9 147.32 147.32 0 0 0-39.2 1.9c-14.3 2.7-27.9 7.3-40 15.6a13.75 13.75 0 0 0-3.7 3.5 5.11 5.11 0 0 0-.5 4c.4 1.5 2.1 1.9 3.6 1.8a16.2 16.2 0 0 0 2.2-.1c7.8-.8 15.5-1.7 23.3-2.5 11.4-1.1 22.9-1.8 34.3-.9a71.64 71.64 0 0 1 14.4 2.7c5.1 1.4 7.4 5.2 7.6 10.4.4 8-1.4 15.7-3.5 23.3-4.1 15.4-10 30.3-15.8 45.1a17.6 17.6 0 0 0-1 3c-.5 2.9 1.2 4.8 4.1 4.1a10.56 10.56 0 0 0 4.8-2.5 145.91 145.91 0 0 0 12.7-13.4c12.8-16.4 20.3-35.3 24.7-55.6.8-3.6 1.4-7.3 2.1-10.9v-17.3zM493.1 199q-19.35-53.55-38.7-107.2c-2-5.7-4.2-11.3-6.3-16.9-1.1-2.9-3.2-4.8-6.4-4.8-7.6-.1-15.2-.2-22.9-.1-2.5 0-3.7 2-3.2 4.5a43.1 43.1 0 0 0 1.9 6.1q29.4 72.75 59.1 145.5c1.7 4.1 2.1 7.6.2 11.8-3.3 7.3-5.9 15-9.3 22.3-3 6.5-8 11.4-15.2 13.3a42.13 42.13 0 0 1-15.4 1.1c-2.5-.2-5-.8-7.5-1-3.4-.2-5.1 1.3-5.2 4.8q-.15 5 0 9.9c.1 5.5 2 8 7.4 8.9a108.18 108.18 0 0 0 16.9 2c17.1.4 30.7-6.5 39.5-21.4a131.63 131.63 0 0 0 9.2-18.4q35.55-89.7 70.6-179.6a26.62 26.62 0 0 0 1.6-5.5c.4-2.8-.9-4.4-3.7-4.4-6.6-.1-13.3 0-19.9 0a7.54 7.54 0 0 0-7.7 5.2c-.5 1.4-1.1 2.7-1.6 4.1l-34.8 100c-2.5 7.2-5.1 14.5-7.7 22.2-.4-1.1-.6-1.7-.9-2.4z\"]\n};\nvar faAmilia = {\n prefix: 'fab',\n iconName: 'amilia',\n icon: [448, 512, [], \"f36d\", \"M240.1 32c-61.9 0-131.5 16.9-184.2 55.4-5.1 3.1-9.1 9.2-7.2 19.4 1.1 5.1 5.1 27.4 10.2 39.6 4.1 10.2 14.2 10.2 20.3 6.1 32.5-22.3 96.5-47.7 152.3-47.7 57.9 0 58.9 28.4 58.9 73.1v38.5C203 227.7 78.2 251 46.7 264.2 11.2 280.5 16.3 357.7 16.3 376s15.2 104 124.9 104c47.8 0 113.7-20.7 153.3-42.1v25.4c0 3 2.1 8.2 6.1 9.1 3.1 1 50.7 2 59.9 2s62.5.3 66.5-.7c4.1-1 5.1-6.1 5.1-9.1V168c-.1-80.3-57.9-136-192-136zm50.2 348c-21.4 13.2-48.7 24.4-79.1 24.4-52.8 0-58.9-33.5-59-44.7 0-12.2-3-42.7 18.3-52.9 24.3-13.2 75.1-29.4 119.8-33.5z\"]\n};\nvar faAndroid = {\n prefix: 'fab',\n iconName: 'android',\n icon: [576, 512, [], \"f17b\", \"M420.55,301.93a24,24,0,1,1,24-24,24,24,0,0,1-24,24m-265.1,0a24,24,0,1,1,24-24,24,24,0,0,1-24,24m273.7-144.48,47.94-83a10,10,0,1,0-17.27-10h0l-48.54,84.07a301.25,301.25,0,0,0-246.56,0L116.18,64.45a10,10,0,1,0-17.27,10h0l47.94,83C64.53,202.22,8.24,285.55,0,384H576c-8.24-98.45-64.54-181.78-146.85-226.55\"]\n};\nvar faAngellist = {\n prefix: 'fab',\n iconName: 'angellist',\n icon: [448, 512, [], \"f209\", \"M347.1 215.4c11.7-32.6 45.4-126.9 45.4-157.1 0-26.6-15.7-48.9-43.7-48.9-44.6 0-84.6 131.7-97.1 163.1C242 144 196.6 0 156.6 0c-31.1 0-45.7 22.9-45.7 51.7 0 35.3 34.2 126.8 46.6 162-6.3-2.3-13.1-4.3-20-4.3-23.4 0-48.3 29.1-48.3 52.6 0 8.9 4.9 21.4 8 29.7-36.9 10-51.1 34.6-51.1 71.7C46 435.6 114.4 512 210.6 512c118 0 191.4-88.6 191.4-202.9 0-43.1-6.9-82-54.9-93.7zM311.7 108c4-12.3 21.1-64.3 37.1-64.3 8.6 0 10.9 8.9 10.9 16 0 19.1-38.6 124.6-47.1 148l-34-6 33.1-93.7zM142.3 48.3c0-11.9 14.5-45.7 46.3 47.1l34.6 100.3c-15.6-1.3-27.7-3-35.4 1.4-10.9-28.8-45.5-119.7-45.5-148.8zM140 244c29.3 0 67.1 94.6 67.1 107.4 0 5.1-4.9 11.4-10.6 11.4-20.9 0-76.9-76.9-76.9-97.7.1-7.7 12.7-21.1 20.4-21.1zm184.3 186.3c-29.1 32-66.3 48.6-109.7 48.6-59.4 0-106.3-32.6-128.9-88.3-17.1-43.4 3.8-68.3 20.6-68.3 11.4 0 54.3 60.3 54.3 73.1 0 4.9-7.7 8.3-11.7 8.3-16.1 0-22.4-15.5-51.1-51.4-29.7 29.7 20.5 86.9 58.3 86.9 26.1 0 43.1-24.2 38-42 3.7 0 8.3.3 11.7-.6 1.1 27.1 9.1 59.4 41.7 61.7 0-.9 2-7.1 2-7.4 0-17.4-10.6-32.6-10.6-50.3 0-28.3 21.7-55.7 43.7-71.7 8-6 17.7-9.7 27.1-13.1 9.7-3.7 20-8 27.4-15.4-1.1-11.2-5.7-21.1-16.9-21.1-27.7 0-120.6 4-120.6-39.7 0-6.7.1-13.1 17.4-13.1 32.3 0 114.3 8 138.3 29.1 18.1 16.1 24.3 113.2-31 174.7zm-98.6-126c9.7 3.1 19.7 4 29.7 6-7.4 5.4-14 12-20.3 19.1-2.8-8.5-6.2-16.8-9.4-25.1z\"]\n};\nvar faAngrycreative = {\n prefix: 'fab',\n iconName: 'angrycreative',\n icon: [640, 512, [], \"f36e\", \"M640 238.2l-3.2 28.2-34.5 2.3-2 18.1 34.5-2.3-3.2 28.2-34.4 2.2-2.3 20.1 34.4-2.2-3 26.1-64.7 4.1 12.7-113.2L527 365.2l-31.9 2-23.8-117.8 30.3-2 13.6 79.4 31.7-82.4 93.1-6.2zM426.8 371.5l28.3-1.8L468 249.6l-28.4 1.9-12.8 120zM162 388.1l-19.4-36-3.5 37.4-28.2 1.7 2.7-29.1c-11 18-32 34.3-56.9 35.8C23.9 399.9-3 377 .3 339.7c2.6-29.3 26.7-62.8 67.5-65.4 37.7-2.4 47.6 23.2 51.3 28.8l2.8-30.8 38.9-2.5c20.1-1.3 38.7 3.7 42.5 23.7l2.6-26.6 64.8-4.2-2.7 27.9-36.4 2.4-1.7 17.9 36.4-2.3-2.7 27.9-36.4 2.3-1.9 19.9 36.3-2.3-2.1 20.8 55-117.2 23.8-1.6L370.4 369l8.9-85.6-22.3 1.4 2.9-27.9 75-4.9-3 28-24.3 1.6-9.7 91.9-58 3.7-4.3-15.6-39.4 2.5-8 16.3-126.2 7.7zm-44.3-70.2l-26.4 1.7C84.6 307.2 76.9 303 65 303.8c-19 1.2-33.3 17.5-34.6 33.3-1.4 16 7.3 32.5 28.7 31.2 12.8-.8 21.3-8.6 28.9-18.9l27-1.7 2.7-29.8zm56.1-7.7c1.2-12.9-7.6-13.6-26.1-12.4l-2.7 28.5c14.2-.9 27.5-2.1 28.8-16.1zm21.1 70.8l5.8-60c-5 13.5-14.7 21.1-27.9 26.6l22.1 33.4zm135.4-45l-7.9-37.8-15.8 39.3 23.7-1.5zm-170.1-74.6l-4.3-17.5-39.6 2.6-8.1 18.2-31.9 2.1 57-121.9 23.9-1.6 30.7 102 9.9-104.7 27-1.8 37.8 63.6 6.5-66.6 28.5-1.9-4 41.2c7.4-13.5 22.9-44.7 63.6-47.5 40.5-2.8 52.4 29.3 53.4 30.3l3.3-32 39.3-2.7c12.7-.9 27.8.3 36.3 9.7l-4.4-11.9 32.2-2.2 12.9 43.2 23-45.7 31-2.2-43.6 78.4-4.8 44.3-28.4 1.9 4.8-44.3-15.8-43c1 22.3-9.2 40.1-32 49.6l25.2 38.8-36.4 2.4-19.2-36.8-4 38.3-28.4 1.9 3.3-31.5c-6.7 9.3-19.7 35.4-59.6 38-26.2 1.7-45.6-10.3-55.4-39.2l-4 40.3-25 1.6-37.6-63.3-6.3 66.2-56.8 3.7zm276.6-82.1c10.2-.7 17.5-2.1 21.6-4.3 4.5-2.4 7-6.4 7.6-12.1.6-5.3-.6-8.8-3.4-10.4-3.6-2.1-10.6-2.8-22.9-2l-2.9 28.8zM327.7 214c5.6 5.9 12.7 8.5 21.3 7.9 4.7-.3 9.1-1.8 13.3-4.1 5.5-3 10.6-8 15.1-14.3l-34.2 2.3 2.4-23.9 63.1-4.3 1.2-12-31.2 2.1c-4.1-3.7-7.8-6.6-11.1-8.1-4-1.7-8.1-2.8-12.2-2.5-8 .5-15.3 3.6-22 9.2-7.7 6.4-12 14.5-12.9 24.4-1.1 9.6 1.4 17.3 7.2 23.3zm-201.3 8.2l23.8-1.6-8.3-37.6-15.5 39.2z\"]\n};\nvar faAngular = {\n prefix: 'fab',\n iconName: 'angular',\n icon: [448, 512, [], \"f420\", \"M185.7 268.1h76.2l-38.1-91.6-38.1 91.6zM223.8 32L16 106.4l31.8 275.7 176 97.9 176-97.9 31.8-275.7zM354 373.8h-48.6l-26.2-65.4H168.6l-26.2 65.4H93.7L223.8 81.5z\"]\n};\nvar faAppStore = {\n prefix: 'fab',\n iconName: 'app-store',\n icon: [512, 512, [], \"f36f\", \"M255.9 120.9l9.1-15.7c5.6-9.8 18.1-13.1 27.9-7.5 9.8 5.6 13.1 18.1 7.5 27.9l-87.5 151.5h63.3c20.5 0 32 24.1 23.1 40.8H113.8c-11.3 0-20.4-9.1-20.4-20.4 0-11.3 9.1-20.4 20.4-20.4h52l66.6-115.4-20.8-36.1c-5.6-9.8-2.3-22.2 7.5-27.9 9.8-5.6 22.2-2.3 27.9 7.5l8.9 15.7zm-78.7 218l-19.6 34c-5.6 9.8-18.1 13.1-27.9 7.5-9.8-5.6-13.1-18.1-7.5-27.9l14.6-25.2c16.4-5.1 29.8-1.2 40.4 11.6zm168.9-61.7h53.1c11.3 0 20.4 9.1 20.4 20.4 0 11.3-9.1 20.4-20.4 20.4h-29.5l19.9 34.5c5.6 9.8 2.3 22.2-7.5 27.9-9.8 5.6-22.2 2.3-27.9-7.5-33.5-58.1-58.7-101.6-75.4-130.6-17.1-29.5-4.9-59.1 7.2-69.1 13.4 23 33.4 57.7 60.1 104zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm216 248c0 118.7-96.1 216-216 216-118.7 0-216-96.1-216-216 0-118.7 96.1-216 216-216 118.7 0 216 96.1 216 216z\"]\n};\nvar faAppStoreIos = {\n prefix: 'fab',\n iconName: 'app-store-ios',\n icon: [448, 512, [], \"f370\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM127 384.5c-5.5 9.6-17.8 12.8-27.3 7.3-9.6-5.5-12.8-17.8-7.3-27.3l14.3-24.7c16.1-4.9 29.3-1.1 39.6 11.4L127 384.5zm138.9-53.9H84c-11 0-20-9-20-20s9-20 20-20h51l65.4-113.2-20.5-35.4c-5.5-9.6-2.2-21.8 7.3-27.3 9.6-5.5 21.8-2.2 27.3 7.3l8.9 15.4 8.9-15.4c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-85.8 148.6h62.1c20.2 0 31.5 23.7 22.7 40zm98.1 0h-29l19.6 33.9c5.5 9.6 2.2 21.8-7.3 27.3-9.6 5.5-21.8 2.2-27.3-7.3-32.9-56.9-57.5-99.7-74-128.1-16.7-29-4.8-58 7.1-67.8 13.1 22.7 32.7 56.7 58.9 102h52c11 0 20 9 20 20 0 11.1-9 20-20 20z\"]\n};\nvar faApper = {\n prefix: 'fab',\n iconName: 'apper',\n icon: [640, 512, [], \"f371\", \"M42.1 239.1c22.2 0 29 2.8 33.5 14.6h.8v-22.9c0-11.3-4.8-15.4-17.9-15.4-11.3 0-14.4 2.5-15.1 12.8H4.8c.3-13.9 1.5-19.1 5.8-24.4C17.9 195 29.5 192 56.7 192c33 0 47.1 5 53.9 18.9 2 4.3 4 15.6 4 23.7v76.3H76.3l1.3-19.1h-1c-5.3 15.6-13.6 20.4-35.5 20.4-30.3 0-41.1-10.1-41.1-37.3 0-25.2 12.3-35.8 42.1-35.8zm17.1 48.1c13.1 0 16.9-3 16.9-13.4 0-9.1-4.3-11.6-19.6-11.6-13.1 0-17.9 3-17.9 12.1-.1 10.4 3.7 12.9 20.6 12.9zm77.8-94.9h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.2 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3H137v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm57.9-60.7h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.3 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3h-39.5v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm53.8-3.8c0-25.4 3.3-37.8 12.3-45.8 8.8-8.1 22.2-11.3 45.1-11.3 42.8 0 55.7 12.8 55.7 55.7v11.1h-75.3c-.3 2-.3 4-.3 4.8 0 16.9 4.5 21.9 20.1 21.9 13.9 0 17.9-3 17.9-13.9h37.5v2.3c0 9.8-2.5 18.9-6.8 24.7-7.3 9.8-19.6 13.6-44.3 13.6-27.5 0-41.6-3.3-50.6-12.3-8.5-8.5-11.3-21.3-11.3-50.8zm76.4-11.6c-.3-1.8-.3-3.3-.3-3.8 0-12.3-3.3-14.6-19.6-14.6-14.4 0-17.1 3-18.1 15.1l-.3 3.3h38.3zm55.6-45.3h38.3l-1.8 19.9h.7c6.8-14.9 14.4-20.2 29.7-20.2 10.8 0 19.1 3.3 23.4 9.3 5.3 7.3 6.8 14.4 6.8 34 0 1.5 0 5 .2 9.3h-35c.3-1.8.3-3.3.3-4 0-15.4-2-19.4-10.3-19.4-6.3 0-10.8 3.3-13.1 9.3-1 3-1 4.3-1 12.3v68h-38.3V192.3z\"]\n};\nvar faApple = {\n prefix: 'fab',\n iconName: 'apple',\n icon: [384, 512, [], \"f179\", \"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z\"]\n};\nvar faApplePay = {\n prefix: 'fab',\n iconName: 'apple-pay',\n icon: [640, 512, [], \"f415\", \"M116.9 158.5c-7.5 8.9-19.5 15.9-31.5 14.9-1.5-12 4.4-24.8 11.3-32.6 7.5-9.1 20.6-15.6 31.3-16.1 1.2 12.4-3.7 24.7-11.1 33.8m10.9 17.2c-17.4-1-32.3 9.9-40.5 9.9-8.4 0-21-9.4-34.8-9.1-17.9.3-34.5 10.4-43.6 26.5-18.8 32.3-4.9 80 13.3 106.3 8.9 13 19.5 27.3 33.5 26.8 13.3-.5 18.5-8.6 34.5-8.6 16.1 0 20.8 8.6 34.8 8.4 14.5-.3 23.6-13 32.5-26 10.1-14.8 14.3-29.1 14.5-29.9-.3-.3-28-10.9-28.3-42.9-.3-26.8 21.9-39.5 22.9-40.3-12.5-18.6-32-20.6-38.8-21.1m100.4-36.2v194.9h30.3v-66.6h41.9c38.3 0 65.1-26.3 65.1-64.3s-26.4-64-64.1-64h-73.2zm30.3 25.5h34.9c26.3 0 41.3 14 41.3 38.6s-15 38.8-41.4 38.8h-34.8V165zm162.2 170.9c19 0 36.6-9.6 44.6-24.9h.6v23.4h28v-97c0-28.1-22.5-46.3-57.1-46.3-32.1 0-55.9 18.4-56.8 43.6h27.3c2.3-12 13.4-19.9 28.6-19.9 18.5 0 28.9 8.6 28.9 24.5v10.8l-37.8 2.3c-35.1 2.1-54.1 16.5-54.1 41.5.1 25.2 19.7 42 47.8 42zm8.2-23.1c-16.1 0-26.4-7.8-26.4-19.6 0-12.3 9.9-19.4 28.8-20.5l33.6-2.1v11c0 18.2-15.5 31.2-36 31.2zm102.5 74.6c29.5 0 43.4-11.3 55.5-45.4L640 193h-30.8l-35.6 115.1h-.6L537.4 193h-31.6L557 334.9l-2.8 8.6c-4.6 14.6-12.1 20.3-25.5 20.3-2.4 0-7-.3-8.9-.5v23.4c1.8.4 9.3.7 11.6.7z\"]\n};\nvar faArtstation = {\n prefix: 'fab',\n iconName: 'artstation',\n icon: [512, 512, [], \"f77a\", \"M2 377.4l43 74.3A51.35 51.35 0 0 0 90.9 480h285.4l-59.2-102.6zM501.8 350L335.6 59.3A51.38 51.38 0 0 0 290.2 32h-88.4l257.3 447.6 40.7-70.5c1.9-3.2 21-29.7 2-59.1zM275 304.5l-115.5-200L44 304.5z\"]\n};\nvar faAsymmetrik = {\n prefix: 'fab',\n iconName: 'asymmetrik',\n icon: [576, 512, [], \"f372\", \"M517.5 309.2c38.8-40 58.1-80 58.5-116.1.8-65.5-59.4-118.2-169.4-135C277.9 38.4 118.1 73.6 0 140.5 52 114 110.6 92.3 170.7 82.3c74.5-20.5 153-25.4 221.3-14.8C544.5 91.3 588.8 195 490.8 299.2c-10.2 10.8-22 21.1-35 30.6L304.9 103.4 114.7 388.9c-65.6-29.4-76.5-90.2-19.1-151.2 20.8-22.2 48.3-41.9 79.5-58.1 20-12.2 39.7-22.6 62-30.7-65.1 20.3-122.7 52.9-161.6 92.9-27.7 28.6-41.4 57.1-41.7 82.9-.5 35.1 23.4 65.1 68.4 83l-34.5 51.7h101.6l22-34.4c22.2 1 45.3 0 68.6-2.7l-22.8 37.1h135.5L340 406.3c18.6-5.3 36.9-11.5 54.5-18.7l45.9 71.8H542L468.6 349c18.5-12.1 35-25.5 48.9-39.8zm-187.6 80.5l-25-40.6-32.7 53.3c-23.4 3.5-46.7 5.1-69.2 4.4l101.9-159.3 78.7 123c-17.2 7.4-35.3 13.9-53.7 19.2z\"]\n};\nvar faAtlassian = {\n prefix: 'fab',\n iconName: 'atlassian',\n icon: [512, 512, [], \"f77b\", \"M152.2 236.4c-7.7-8.2-19.7-7.7-24.8 2.8L1.6 490.2c-5 10 2.4 21.7 13.4 21.7h175c5.8.1 11-3.2 13.4-8.4 37.9-77.8 15.1-196.3-51.2-267.1zM244.4 8.1c-122.3 193.4-8.5 348.6 65 495.5 2.5 5.1 7.7 8.4 13.4 8.4H497c11.2 0 18.4-11.8 13.4-21.7 0 0-234.5-470.6-240.4-482.3-5.3-10.6-18.8-10.8-25.6.1z\"]\n};\nvar faAudible = {\n prefix: 'fab',\n iconName: 'audible',\n icon: [640, 512, [], \"f373\", \"M640 199.9v54l-320 200L0 254v-54l320 200 320-200.1zm-194.5 72l47.1-29.4c-37.2-55.8-100.7-92.6-172.7-92.6-72 0-135.5 36.7-172.6 92.4h.3c2.5-2.3 5.1-4.5 7.7-6.7 89.7-74.4 219.4-58.1 290.2 36.3zm-220.1 18.8c16.9-11.9 36.5-18.7 57.4-18.7 34.4 0 65.2 18.4 86.4 47.6l45.4-28.4c-20.9-29.9-55.6-49.5-94.8-49.5-38.9 0-73.4 19.4-94.4 49zM103.6 161.1c131.8-104.3 318.2-76.4 417.5 62.1l.7 1 48.8-30.4C517.1 112.1 424.8 58.1 319.9 58.1c-103.5 0-196.6 53.5-250.5 135.6 9.9-10.5 22.7-23.5 34.2-32.6zm467 32.7z\"]\n};\nvar faAutoprefixer = {\n prefix: 'fab',\n iconName: 'autoprefixer',\n icon: [640, 512, [], \"f41c\", \"M318.4 16l-161 480h77.5l25.4-81.4h119.5L405 496h77.5L318.4 16zm-40.3 341.9l41.2-130.4h1.5l40.9 130.4h-83.6zM640 405l-10-31.4L462.1 358l19.4 56.5L640 405zm-462.1-47L10 373.7 0 405l158.5 9.4 19.4-56.4z\"]\n};\nvar faAvianex = {\n prefix: 'fab',\n iconName: 'avianex',\n icon: [512, 512, [], \"f374\", \"M453.1 32h-312c-38.9 0-76.2 31.2-83.3 69.7L1.2 410.3C-5.9 448.8 19.9 480 58.9 480h312c38.9 0 76.2-31.2 83.3-69.7l56.7-308.5c7-38.6-18.8-69.8-57.8-69.8zm-58.2 347.3l-32 13.5-115.4-110c-14.7 10-29.2 19.5-41.7 27.1l22.1 64.2-17.9 12.7-40.6-61-52.4-48.1 15.7-15.4 58 31.1c9.3-10.5 20.8-22.6 32.8-34.9L203 228.9l-68.8-99.8 18.8-28.9 8.9-4.8L265 207.8l4.9 4.5c19.4-18.8 33.8-32.4 33.8-32.4 7.7-6.5 21.5-2.9 30.7 7.9 9 10.5 10.6 24.7 2.7 31.3-1.8 1.3-15.5 11.4-35.3 25.6l4.5 7.3 94.9 119.4-6.3 7.9z\"]\n};\nvar faAviato = {\n prefix: 'fab',\n iconName: 'aviato',\n icon: [640, 512, [], \"f421\", \"M107.2 283.5l-19-41.8H36.1l-19 41.8H0l62.2-131.4 62.2 131.4h-17.2zm-45-98.1l-19.6 42.5h39.2l-19.6-42.5zm112.7 102.4l-62.2-131.4h17.1l45.1 96 45.1-96h17l-62.1 131.4zm80.6-4.3V156.4H271v127.1h-15.5zm209.1-115.6v115.6h-17.3V167.9h-41.2v-11.5h99.6v11.5h-41.1zM640 218.8c0 9.2-1.7 17.8-5.1 25.8-3.4 8-8.2 15.1-14.2 21.1-6 6-13.1 10.8-21.1 14.2-8 3.4-16.6 5.1-25.8 5.1s-17.8-1.7-25.8-5.1c-8-3.4-15.1-8.2-21.1-14.2-6-6-10.8-13-14.2-21.1-3.4-8-5.1-16.6-5.1-25.8s1.7-17.8 5.1-25.8c3.4-8 8.2-15.1 14.2-21.1 6-6 13-8.4 21.1-11.9 8-3.4 16.6-5.1 25.8-5.1s17.8 1.7 25.8 5.1c8 3.4 15.1 5.8 21.1 11.9 6 6 10.7 13.1 14.2 21.1 3.4 8 5.1 16.6 5.1 25.8zm-15.5 0c0-7.3-1.3-14-3.9-20.3-2.6-6.3-6.2-11.7-10.8-16.3-4.6-4.6-10-8.2-16.2-10.9-6.2-2.7-12.8-4-19.8-4s-13.6 1.3-19.8 4c-6.2 2.7-11.6 6.3-16.2 10.9-4.6 4.6-8.2 10-10.8 16.3-2.6 6.3-3.9 13.1-3.9 20.3 0 7.3 1.3 14 3.9 20.3 2.6 6.3 6.2 11.7 10.8 16.3 4.6 4.6 10 8.2 16.2 10.9 6.2 2.7 12.8 4 19.8 4s13.6-1.3 19.8-4c6.2-2.7 11.6-6.3 16.2-10.9 4.6-4.6 8.2-10 10.8-16.3 2.6-6.3 3.9-13.1 3.9-20.3zm-94.8 96.7v-6.3l88.9-10-242.9 13.4c.6-2.2 1.1-4.6 1.4-7.2.3-2 .5-4.2.6-6.5l64.8-8.1-64.9 1.9c0-.4-.1-.7-.1-1.1-2.8-17.2-25.5-23.7-25.5-23.7l-1.1-26.3h23.8l19 41.8h17.1L348.6 152l-62.2 131.4h17.1l19-41.8h23.6L345 268s-22.7 6.5-25.5 23.7c-.1.3-.1.7-.1 1.1l-64.9-1.9 64.8 8.1c.1 2.3.3 4.4.6 6.5.3 2.6.8 5 1.4 7.2L78.4 299.2l88.9 10v6.3c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4 0-6.2-4.6-11.3-10.5-12.2v-5.8l80.3 9v5.4c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-4.9l28.4 3.2v23.7h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9V323l38.3 4.3c8.1 11.4 19 13.6 19 13.6l-.1 6.7-5.1.2-.1 12.1h4.1l.1-5h5.2l.1 5h4.1l-.1-12.1-5.1-.2-.1-6.7s10.9-2.1 19-13.6l38.3-4.3v23.2h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9v-23.7l28.4-3.2v4.9c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-5.4l80.3-9v5.8c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4-.2-6.3-4.7-11.4-10.7-12.3zm-200.8-87.6l19.6-42.5 19.6 42.5h-17.9l-1.7-40.3-1.7 40.3h-17.9z\"]\n};\nvar faAws = {\n prefix: 'fab',\n iconName: 'aws',\n icon: [640, 512, [], \"f375\", \"M180.41 203.01c-.72 22.65 10.6 32.68 10.88 39.05a8.164 8.164 0 0 1-4.1 6.27l-12.8 8.96a10.66 10.66 0 0 1-5.63 1.92c-.43-.02-8.19 1.83-20.48-25.61a78.608 78.608 0 0 1-62.61 29.45c-16.28.89-60.4-9.24-58.13-56.21-1.59-38.28 34.06-62.06 70.93-60.05 7.1.02 21.6.37 46.99 6.27v-15.62c2.69-26.46-14.7-46.99-44.81-43.91-2.4.01-19.4-.5-45.84 10.11-7.36 3.38-8.3 2.82-10.75 2.82-7.41 0-4.36-21.48-2.94-24.2 5.21-6.4 35.86-18.35 65.94-18.18a76.857 76.857 0 0 1 55.69 17.28 70.285 70.285 0 0 1 17.67 52.36l-.01 69.29zM93.99 235.4c32.43-.47 46.16-19.97 49.29-30.47 2.46-10.05 2.05-16.41 2.05-27.4-9.67-2.32-23.59-4.85-39.56-4.87-15.15-1.14-42.82 5.63-41.74 32.26-1.24 16.79 11.12 31.4 29.96 30.48zm170.92 23.05c-7.86.72-11.52-4.86-12.68-10.37l-49.8-164.65c-.97-2.78-1.61-5.65-1.92-8.58a4.61 4.61 0 0 1 3.86-5.25c.24-.04-2.13 0 22.25 0 8.78-.88 11.64 6.03 12.55 10.37l35.72 140.83 33.16-140.83c.53-3.22 2.94-11.07 12.8-10.24h17.16c2.17-.18 11.11-.5 12.68 10.37l33.42 142.63L420.98 80.1c.48-2.18 2.72-11.37 12.68-10.37h19.72c.85-.13 6.15-.81 5.25 8.58-.43 1.85 3.41-10.66-52.75 169.9-1.15 5.51-4.82 11.09-12.68 10.37h-18.69c-10.94 1.15-12.51-9.66-12.68-10.75L328.67 110.7l-32.78 136.99c-.16 1.09-1.73 11.9-12.68 10.75h-18.3zm273.48 5.63c-5.88.01-33.92-.3-57.36-12.29a12.802 12.802 0 0 1-7.81-11.91v-10.75c0-8.45 6.2-6.9 8.83-5.89 10.04 4.06 16.48 7.14 28.81 9.6 36.65 7.53 52.77-2.3 56.72-4.48 13.15-7.81 14.19-25.68 5.25-34.95-10.48-8.79-15.48-9.12-53.13-21-4.64-1.29-43.7-13.61-43.79-52.36-.61-28.24 25.05-56.18 69.52-55.95 12.67-.01 46.43 4.13 55.57 15.62 1.35 2.09 2.02 4.55 1.92 7.04v10.11c0 4.44-1.62 6.66-4.87 6.66-7.71-.86-21.39-11.17-49.16-10.75-6.89-.36-39.89.91-38.41 24.97-.43 18.96 26.61 26.07 29.7 26.89 36.46 10.97 48.65 12.79 63.12 29.58 17.14 22.25 7.9 48.3 4.35 55.44-19.08 37.49-68.42 34.44-69.26 34.42zm40.2 104.86c-70.03 51.72-171.69 79.25-258.49 79.25A469.127 469.127 0 0 1 2.83 327.46c-6.53-5.89-.77-13.96 7.17-9.47a637.37 637.37 0 0 0 316.88 84.12 630.22 630.22 0 0 0 241.59-49.55c11.78-5 21.77 7.8 10.12 16.38zm29.19-33.29c-8.96-11.52-59.28-5.38-81.81-2.69-6.79.77-7.94-5.12-1.79-9.47 40.07-28.17 105.88-20.1 113.44-10.63 7.55 9.47-2.05 75.41-39.56 106.91-5.76 4.87-11.27 2.3-8.71-4.1 8.44-21.25 27.39-68.49 18.43-80.02z\"]\n};\nvar faBandcamp = {\n prefix: 'fab',\n iconName: 'bandcamp',\n icon: [512, 512, [], \"f2d5\", \"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm48.2,326.1h-181L207.9,178h181Z\"]\n};\nvar faBattleNet = {\n prefix: 'fab',\n iconName: 'battle-net',\n icon: [512, 512, [], \"f835\", \"M448.61 225.62c26.87.18 35.57-7.43 38.92-12.37 12.47-16.32-7.06-47.6-52.85-71.33 17.76-33.58 30.11-63.68 36.34-85.3 3.38-11.83 1.09-19 .45-20.25-1.72 10.52-15.85 48.46-48.2 100.05-25-11.22-56.52-20.1-93.77-23.8-8.94-16.94-34.88-63.86-60.48-88.93C252.18 7.14 238.7 1.07 228.18.22h-.05c-13.83-1.55-22.67 5.85-27.4 11-17.2 18.53-24.33 48.87-25 84.07-7.24-12.35-17.17-24.63-28.5-25.93h-.18c-20.66-3.48-38.39 29.22-36 81.29-38.36 1.38-71 5.75-93 11.23-9.9 2.45-16.22 7.27-17.76 9.72 1-.38 22.4-9.22 111.56-9.22 5.22 53 29.75 101.82 26 93.19-9.73 15.4-38.24 62.36-47.31 97.7-5.87 22.88-4.37 37.61.15 47.14 5.57 12.75 16.41 16.72 23.2 18.26 25 5.71 55.38-3.63 86.7-21.14-7.53 12.84-13.9 28.51-9.06 39.34 7.31 19.65 44.49 18.66 88.44-9.45 20.18 32.18 40.07 57.94 55.7 74.12a39.79 39.79 0 0 0 8.75 7.09c5.14 3.21 8.58 3.37 8.58 3.37-8.24-6.75-34-38-62.54-91.78 22.22-16 45.65-38.87 67.47-69.27 122.82 4.6 143.29-24.76 148-31.64 14.67-19.88 3.43-57.44-57.32-93.69zm-77.85 106.22c23.81-37.71 30.34-67.77 29.45-92.33 27.86 17.57 47.18 37.58 49.06 58.83 1.14 12.93-8.1 29.12-78.51 33.5zM216.9 387.69c9.76-6.23 19.53-13.12 29.2-20.49 6.68 13.33 13.6 26.1 20.6 38.19-40.6 21.86-68.84 12.76-49.8-17.7zm215-171.35c-10.29-5.34-21.16-10.34-32.38-15.05a722.459 722.459 0 0 0 22.74-36.9c39.06 24.1 45.9 53.18 9.64 51.95zM279.18 398c-5.51-11.35-11-23.5-16.5-36.44 43.25 1.27 62.42-18.73 63.28-20.41 0 .07-25 15.64-62.53 12.25a718.78 718.78 0 0 0 85.06-84q13.06-15.31 24.93-31.11c-.36-.29-1.54-3-16.51-12-51.7 60.27-102.34 98-132.75 115.92-20.59-11.18-40.84-31.78-55.71-61.49-20-39.92-30-82.39-31.57-116.07 12.3.91 25.27 2.17 38.85 3.88-22.29 36.8-14.39 63-13.47 64.23 0-.07-.95-29.17 20.14-59.57a695.23 695.23 0 0 0 44.67 152.84c.93-.38 1.84.88 18.67-8.25-26.33-74.47-33.76-138.17-34-173.43 20-12.42 48.18-19.8 81.63-17.81 44.57 2.67 86.36 15.25 116.32 30.71q-10.69 15.66-23.33 32.47C365.63 152 339.1 145.84 337.5 146c.11 0 25.9 14.07 41.52 47.22a717.63 717.63 0 0 0-115.34-31.71 646.608 646.608 0 0 0-39.39-6.05c-.07.45-1.81 1.85-2.16 20.33C300 190.28 358.78 215.68 389.36 233c.74 23.55-6.95 51.61-25.41 79.57-24.6 37.31-56.39 67.23-84.77 85.43zm27.4-287c-44.56-1.66-73.58 7.43-94.69 20.67 2-52.3 21.31-76.38 38.21-75.28C267 52.15 305 108.55 306.58 111zm-130.65 3.1c.48 12.11 1.59 24.62 3.21 37.28-14.55-.85-28.74-1.25-42.4-1.26-.08 3.24-.12-51 24.67-49.59h.09c5.76 1.09 10.63 6.88 14.43 13.57zm-28.06 162c20.76 39.7 43.3 60.57 65.25 72.31-46.79 24.76-77.53 20-84.92 4.51-.2-.21-11.13-15.3 19.67-76.81zm210.06 74.8\"]\n};\nvar faBehance = {\n prefix: 'fab',\n iconName: 'behance',\n icon: [576, 512, [], \"f1b4\", \"M232 237.2c31.8-15.2 48.4-38.2 48.4-74 0-70.6-52.6-87.8-113.3-87.8H0v354.4h171.8c64.4 0 124.9-30.9 124.9-102.9 0-44.5-21.1-77.4-64.7-89.7zM77.9 135.9H151c28.1 0 53.4 7.9 53.4 40.5 0 30.1-19.7 42.2-47.5 42.2h-79v-82.7zm83.3 233.7H77.9V272h84.9c34.3 0 56 14.3 56 50.6 0 35.8-25.9 47-57.6 47zm358.5-240.7H376V94h143.7v34.9zM576 305.2c0-75.9-44.4-139.2-124.9-139.2-78.2 0-131.3 58.8-131.3 135.8 0 79.9 50.3 134.7 131.3 134.7 61.3 0 101-27.6 120.1-86.3H509c-6.7 21.9-34.3 33.5-55.7 33.5-41.3 0-63-24.2-63-65.3h185.1c.3-4.2.6-8.7.6-13.2zM390.4 274c2.3-33.7 24.7-54.8 58.5-54.8 35.4 0 53.2 20.8 56.2 54.8H390.4z\"]\n};\nvar faBehanceSquare = {\n prefix: 'fab',\n iconName: 'behance-square',\n icon: [448, 512, [], \"f1b5\", \"M186.5 293c0 19.3-14 25.4-31.2 25.4h-45.1v-52.9h46c18.6.1 30.3 7.8 30.3 27.5zm-7.7-82.3c0-17.7-13.7-21.9-28.9-21.9h-39.6v44.8H153c15.1 0 25.8-6.6 25.8-22.9zm132.3 23.2c-18.3 0-30.5 11.4-31.7 29.7h62.2c-1.7-18.5-11.3-29.7-30.5-29.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM271.7 185h77.8v-18.9h-77.8V185zm-43 110.3c0-24.1-11.4-44.9-35-51.6 17.2-8.2 26.2-17.7 26.2-37 0-38.2-28.5-47.5-61.4-47.5H68v192h93.1c34.9-.2 67.6-16.9 67.6-55.9zM380 280.5c0-41.1-24.1-75.4-67.6-75.4-42.4 0-71.1 31.8-71.1 73.6 0 43.3 27.3 73 71.1 73 33.2 0 54.7-14.9 65.1-46.8h-33.7c-3.7 11.9-18.6 18.1-30.2 18.1-22.4 0-34.1-13.1-34.1-35.3h100.2c.1-2.3.3-4.8.3-7.2z\"]\n};\nvar faBimobject = {\n prefix: 'fab',\n iconName: 'bimobject',\n icon: [448, 512, [], \"f378\", \"M416 32H32C14.4 32 0 46.4 0 64v384c0 17.6 14.4 32 32 32h384c17.6 0 32-14.4 32-32V64c0-17.6-14.4-32-32-32zm-64 257.4c0 49.4-11.4 82.6-103.8 82.6h-16.9c-44.1 0-62.4-14.9-70.4-38.8h-.9V368H96V136h64v74.7h1.1c4.6-30.5 39.7-38.8 69.7-38.8h17.3c92.4 0 103.8 33.1 103.8 82.5v35zm-64-28.9v22.9c0 21.7-3.4 33.8-38.4 33.8h-45.3c-28.9 0-44.1-6.5-44.1-35.7v-19c0-29.3 15.2-35.7 44.1-35.7h45.3c35-.2 38.4 12 38.4 33.7z\"]\n};\nvar faBitbucket = {\n prefix: 'fab',\n iconName: 'bitbucket',\n icon: [512, 512, [], \"f171\", \"M22.2 32A16 16 0 0 0 6 47.8a26.35 26.35 0 0 0 .2 2.8l67.9 412.1a21.77 21.77 0 0 0 21.3 18.2h325.7a16 16 0 0 0 16-13.4L505 50.7a16 16 0 0 0-13.2-18.3 24.58 24.58 0 0 0-2.8-.2L22.2 32zm285.9 297.8h-104l-28.1-147h157.3l-25.2 147z\"]\n};\nvar faBitcoin = {\n prefix: 'fab',\n iconName: 'bitcoin',\n icon: [512, 512, [], \"f379\", \"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-141.651-35.33c4.937-32.999-20.191-50.739-54.55-62.573l11.146-44.702-27.213-6.781-10.851 43.524c-7.154-1.783-14.502-3.464-21.803-5.13l10.929-43.81-27.198-6.781-11.153 44.686c-5.922-1.349-11.735-2.682-17.377-4.084l.031-.14-37.53-9.37-7.239 29.062s20.191 4.627 19.765 4.913c11.022 2.751 13.014 10.044 12.68 15.825l-12.696 50.925c.76.194 1.744.473 2.829.907-.907-.225-1.876-.473-2.876-.713l-17.796 71.338c-1.349 3.348-4.767 8.37-12.471 6.464.271.395-19.78-4.937-19.78-4.937l-13.51 31.147 35.414 8.827c6.588 1.651 13.045 3.379 19.4 5.006l-11.262 45.213 27.182 6.781 11.153-44.733a1038.209 1038.209 0 0 0 21.687 5.627l-11.115 44.523 27.213 6.781 11.262-45.128c46.404 8.781 81.299 5.239 95.986-36.727 11.836-33.79-.589-53.281-25.004-65.991 17.78-4.098 31.174-15.792 34.747-39.949zm-62.177 87.179c-8.41 33.79-65.308 15.523-83.755 10.943l14.944-59.899c18.446 4.603 77.6 13.717 68.811 48.956zm8.417-87.667c-7.673 30.736-55.031 15.12-70.393 11.292l13.548-54.327c15.363 3.828 64.836 10.973 56.845 43.035z\"]\n};\nvar faBity = {\n prefix: 'fab',\n iconName: 'bity',\n icon: [496, 512, [], \"f37a\", \"M78.4 67.2C173.8-22 324.5-24 421.5 71c14.3 14.1-6.4 37.1-22.4 21.5-84.8-82.4-215.8-80.3-298.9-3.2-16.3 15.1-36.5-8.3-21.8-22.1zm98.9 418.6c19.3 5.7 29.3-23.6 7.9-30C73 421.9 9.4 306.1 37.7 194.8c5-19.6-24.9-28.1-30.2-7.1-32.1 127.4 41.1 259.8 169.8 298.1zm148.1-2c121.9-40.2 192.9-166.9 164.4-291-4.5-19.7-34.9-13.8-30 7.9 24.2 107.7-37.1 217.9-143.2 253.4-21.2 7-10.4 36 8.8 29.7zm-62.9-79l.2-71.8c0-8.2-6.6-14.8-14.8-14.8-8.2 0-14.8 6.7-14.8 14.8l-.2 71.8c0 8.2 6.6 14.8 14.8 14.8s14.8-6.6 14.8-14.8zm71-269c2.1 90.9 4.7 131.9-85.5 132.5-92.5-.7-86.9-44.3-85.5-132.5 0-21.8-32.5-19.6-32.5 0v71.6c0 69.3 60.7 90.9 118 90.1 57.3.8 118-20.8 118-90.1v-71.6c0-19.6-32.5-21.8-32.5 0z\"]\n};\nvar faBlackTie = {\n prefix: 'fab',\n iconName: 'black-tie',\n icon: [448, 512, [], \"f27e\", \"M0 32v448h448V32H0zm316.5 325.2L224 445.9l-92.5-88.7 64.5-184-64.5-86.6h184.9L252 173.2l64.5 184z\"]\n};\nvar faBlackberry = {\n prefix: 'fab',\n iconName: 'blackberry',\n icon: [512, 512, [], \"f37b\", \"M166 116.9c0 23.4-16.4 49.1-72.5 49.1H23.4l21-88.8h67.8c42.1 0 53.8 23.3 53.8 39.7zm126.2-39.7h-67.8L205.7 166h70.1c53.8 0 70.1-25.7 70.1-49.1.1-16.4-11.6-39.7-53.7-39.7zM88.8 208.1H21L0 296.9h70.1c56.1 0 72.5-23.4 72.5-49.1 0-16.3-11.7-39.7-53.8-39.7zm180.1 0h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1 0-16.3-11.7-39.7-53.7-39.7zm189.3-53.8h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7zm-28 137.9h-67.8L343.7 381h70.1c56.1 0 70.1-23.4 70.1-49.1 0-16.3-11.6-39.7-53.7-39.7zM240.8 346H173l-18.7 88.8h70.1c56.1 0 70.1-25.7 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7z\"]\n};\nvar faBlogger = {\n prefix: 'fab',\n iconName: 'blogger',\n icon: [448, 512, [], \"f37c\", \"M162.4 196c4.8-4.9 6.2-5.1 36.4-5.1 27.2 0 28.1.1 32.1 2.1 5.8 2.9 8.3 7 8.3 13.6 0 5.9-2.4 10-7.6 13.4-2.8 1.8-4.5 1.9-31.1 2.1-16.4.1-29.5-.2-31.5-.8-10.3-2.9-14.1-17.7-6.6-25.3zm61.4 94.5c-53.9 0-55.8.2-60.2 4.1-3.5 3.1-5.7 9.4-5.1 13.9.7 4.7 4.8 10.1 9.2 12 2.2 1 14.1 1.7 56.3 1.2l47.9-.6 9.2-1.5c9-5.1 10.5-17.4 3.1-24.4-5.3-4.7-5-4.7-60.4-4.7zm223.4 130.1c-3.5 28.4-23 50.4-51.1 57.5-7.2 1.8-9.7 1.9-172.9 1.8-157.8 0-165.9-.1-172-1.8-8.4-2.2-15.6-5.5-22.3-10-5.6-3.8-13.9-11.8-17-16.4-3.8-5.6-8.2-15.3-10-22C.1 423 0 420.3 0 256.3 0 93.2 0 89.7 1.8 82.6 8.1 57.9 27.7 39 53 33.4c7.3-1.6 332.1-1.9 340-.3 21.2 4.3 37.9 17.1 47.6 36.4 7.7 15.3 7-1.5 7.3 180.6.2 115.8 0 164.5-.7 170.5zm-85.4-185.2c-1.1-5-4.2-9.6-7.7-11.5-1.1-.6-8-1.3-15.5-1.7-12.4-.6-13.8-.8-17.8-3.1-6.2-3.6-7.9-7.6-8-18.3 0-20.4-8.5-39.4-25.3-56.5-12-12.2-25.3-20.5-40.6-25.1-3.6-1.1-11.8-1.5-39.2-1.8-42.9-.5-52.5.4-67.1 6.2-27 10.7-46.3 33.4-53.4 62.4-1.3 5.4-1.6 14.2-1.9 64.3-.4 62.8 0 72.1 4 84.5 9.7 30.7 37.1 53.4 64.6 58.4 9.2 1.7 122.2 2.1 133.7.5 20.1-2.7 35.9-10.8 50.7-25.9 10.7-10.9 17.4-22.8 21.8-38.5 3.2-10.9 2.9-88.4 1.7-93.9z\"]\n};\nvar faBloggerB = {\n prefix: 'fab',\n iconName: 'blogger-b',\n icon: [448, 512, [], \"f37d\", \"M446.6 222.7c-1.8-8-6.8-15.4-12.5-18.5-1.8-1-13-2.2-25-2.7-20.1-.9-22.3-1.3-28.7-5-10.1-5.9-12.8-12.3-12.9-29.5-.1-33-13.8-63.7-40.9-91.3-19.3-19.7-40.9-33-65.5-40.5-5.9-1.8-19.1-2.4-63.3-2.9-69.4-.8-84.8.6-108.4 10C45.9 59.5 14.7 96.1 3.3 142.9 1.2 151.7.7 165.8.2 246.8c-.6 101.5.1 116.4 6.4 136.5 15.6 49.6 59.9 86.3 104.4 94.3 14.8 2.7 197.3 3.3 216 .8 32.5-4.4 58-17.5 81.9-41.9 17.3-17.7 28.1-36.8 35.2-62.1 4.9-17.6 4.5-142.8 2.5-151.7zm-322.1-63.6c7.8-7.9 10-8.2 58.8-8.2 43.9 0 45.4.1 51.8 3.4 9.3 4.7 13.4 11.3 13.4 21.9 0 9.5-3.8 16.2-12.3 21.6-4.6 2.9-7.3 3.1-50.3 3.3-26.5.2-47.7-.4-50.8-1.2-16.6-4.7-22.8-28.5-10.6-40.8zm191.8 199.8l-14.9 2.4-77.5.9c-68.1.8-87.3-.4-90.9-2-7.1-3.1-13.8-11.7-14.9-19.4-1.1-7.3 2.6-17.3 8.2-22.4 7.1-6.4 10.2-6.6 97.3-6.7 89.6-.1 89.1-.1 97.6 7.8 12.1 11.3 9.5 31.2-4.9 39.4z\"]\n};\nvar faBluetooth = {\n prefix: 'fab',\n iconName: 'bluetooth',\n icon: [448, 512, [], \"f293\", \"M292.6 171.1L249.7 214l-.3-86 43.2 43.1m-43.2 219.8l43.1-43.1-42.9-42.9-.2 86zM416 259.4C416 465 344.1 512 230.9 512S32 465 32 259.4 115.4 0 228.6 0 416 53.9 416 259.4zm-158.5 0l79.4-88.6L211.8 36.5v176.9L138 139.6l-27 26.9 92.7 93-92.7 93 26.9 26.9 73.8-73.8 2.3 170 127.4-127.5-83.9-88.7z\"]\n};\nvar faBluetoothB = {\n prefix: 'fab',\n iconName: 'bluetooth-b',\n icon: [320, 512, [], \"f294\", \"M196.48 260.023l92.626-103.333L143.125 0v206.33l-86.111-86.111-31.406 31.405 108.061 108.399L25.608 368.422l31.406 31.405 86.111-86.111L145.84 512l148.552-148.644-97.912-103.333zm40.86-102.996l-49.977 49.978-.338-100.295 50.315 50.317zM187.363 313.04l49.977 49.978-50.315 50.316.338-100.294z\"]\n};\nvar faBootstrap = {\n prefix: 'fab',\n iconName: 'bootstrap',\n icon: [448, 512, [], \"f836\", \"M292.3 311.93c0 42.41-39.72 41.43-43.92 41.43h-80.89v-81.69h80.89c42.56 0 43.92 31.9 43.92 40.26zm-50.15-73.13c.67 0 38.44 1 38.44-36.31 0-15.52-3.51-35.87-38.44-35.87h-74.66v72.18h74.66zM448 106.67v298.66A74.89 74.89 0 0 1 373.33 480H74.67A74.89 74.89 0 0 1 0 405.33V106.67A74.89 74.89 0 0 1 74.67 32h298.66A74.89 74.89 0 0 1 448 106.67zM338.05 317.86c0-21.57-6.65-58.29-49.05-67.35v-.73c22.91-9.78 37.34-28.25 37.34-55.64 0-7 2-64.78-77.6-64.78h-127v261.33c128.23 0 139.87 1.68 163.6-5.71 14.21-4.42 52.71-17.98 52.71-67.12z\"]\n};\nvar faBtc = {\n prefix: 'fab',\n iconName: 'btc',\n icon: [384, 512, [], \"f15a\", \"M310.204 242.638c27.73-14.18 45.377-39.39 41.28-81.3-5.358-57.351-52.458-76.573-114.85-81.929V0h-48.528v77.203c-12.605 0-25.525.315-38.444.63V0h-48.528v79.409c-17.842.539-38.622.276-97.37 0v51.678c38.314-.678 58.417-3.14 63.023 21.427v217.429c-2.925 19.492-18.524 16.685-53.255 16.071L3.765 443.68c88.481 0 97.37.315 97.37.315V512h48.528v-67.06c13.234.315 26.154.315 38.444.315V512h48.528v-68.005c81.299-4.412 135.647-24.894 142.895-101.467 5.671-61.446-23.32-88.862-69.326-99.89zM150.608 134.553c27.415 0 113.126-8.507 113.126 48.528 0 54.515-85.71 48.212-113.126 48.212v-96.74zm0 251.776V279.821c32.772 0 133.127-9.138 133.127 53.255-.001 60.186-100.355 53.253-133.127 53.253z\"]\n};\nvar faBuffer = {\n prefix: 'fab',\n iconName: 'buffer',\n icon: [448, 512, [], \"f837\", \"M427.84 380.67l-196.5 97.82a18.6 18.6 0 0 1-14.67 0L20.16 380.67c-4-2-4-5.28 0-7.29L67.22 350a18.65 18.65 0 0 1 14.69 0l134.76 67a18.51 18.51 0 0 0 14.67 0l134.76-67a18.62 18.62 0 0 1 14.68 0l47.06 23.43c4.05 1.96 4.05 5.24 0 7.24zm0-136.53l-47.06-23.43a18.62 18.62 0 0 0-14.68 0l-134.76 67.08a18.68 18.68 0 0 1-14.67 0L81.91 220.71a18.65 18.65 0 0 0-14.69 0l-47.06 23.43c-4 2-4 5.29 0 7.31l196.51 97.8a18.6 18.6 0 0 0 14.67 0l196.5-97.8c4.05-2.02 4.05-5.3 0-7.31zM20.16 130.42l196.5 90.29a20.08 20.08 0 0 0 14.67 0l196.51-90.29c4-1.86 4-4.89 0-6.74L231.33 33.4a19.88 19.88 0 0 0-14.67 0l-196.5 90.28c-4.05 1.85-4.05 4.88 0 6.74z\"]\n};\nvar faBuromobelexperte = {\n prefix: 'fab',\n iconName: 'buromobelexperte',\n icon: [448, 512, [], \"f37f\", \"M0 32v128h128V32H0zm120 120H8V40h112v112zm40-120v128h128V32H160zm120 120H168V40h112v112zm40-120v128h128V32H320zm120 120H328V40h112v112zM0 192v128h128V192H0zm120 120H8V200h112v112zm40-120v128h128V192H160zm120 120H168V200h112v112zm40-120v128h128V192H320zm120 120H328V200h112v112zM0 352v128h128V352H0zm120 120H8V360h112v112zm40-120v128h128V352H160zm120 120H168V360h112v112zm40-120v128h128V352H320z\"]\n};\nvar faBuyNLarge = {\n prefix: 'fab',\n iconName: 'buy-n-large',\n icon: [576, 512, [], \"f8a6\", \"M288 32C133.27 32 7.79 132.32 7.79 256S133.27 480 288 480s280.21-100.32 280.21-224S442.73 32 288 32zm-85.39 357.19L64.1 390.55l77.25-290.74h133.44c63.15 0 84.93 28.65 78 72.84a60.24 60.24 0 0 1-1.5 6.85 77.39 77.39 0 0 0-17.21-1.93c-42.35 0-76.69 33.88-76.69 75.65 0 37.14 27.14 68 62.93 74.45-18.24 37.16-56.16 60.92-117.71 61.52zM358 207.11h32l-22.16 90.31h-35.41l-11.19-35.63-7.83 35.63h-37.83l26.63-90.31h31.34l15 36.75zm145.86 182.08H306.79L322.63 328a78.8 78.8 0 0 0 11.47.83c42.34 0 76.69-33.87 76.69-75.65 0-32.65-21-60.46-50.38-71.06l21.33-82.35h92.5l-53.05 205.36h103.87zM211.7 269.39H187l-13.8 56.47h24.7c16.14 0 32.11-3.18 37.94-26.65 5.56-22.31-7.99-29.82-24.14-29.82zM233 170h-21.34L200 217.71h21.37c18 0 35.38-14.64 39.21-30.14C265.23 168.71 251.07 170 233 170z\"]\n};\nvar faBuysellads = {\n prefix: 'fab',\n iconName: 'buysellads',\n icon: [448, 512, [], \"f20d\", \"M224 150.7l42.9 160.7h-85.8L224 150.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-65.3 325.3l-94.5-298.7H159.8L65.3 405.3H156l111.7-91.6 24.2 91.6h90.8z\"]\n};\nvar faCanadianMapleLeaf = {\n prefix: 'fab',\n iconName: 'canadian-maple-leaf',\n icon: [512, 512, [], \"f785\", \"M383.8 351.7c2.5-2.5 105.2-92.4 105.2-92.4l-17.5-7.5c-10-4.9-7.4-11.5-5-17.4 2.4-7.6 20.1-67.3 20.1-67.3s-47.7 10-57.7 12.5c-7.5 2.4-10-2.5-12.5-7.5s-15-32.4-15-32.4-52.6 59.9-55.1 62.3c-10 7.5-20.1 0-17.6-10 0-10 27.6-129.6 27.6-129.6s-30.1 17.4-40.1 22.4c-7.5 5-12.6 5-17.6-5C293.5 72.3 255.9 0 255.9 0s-37.5 72.3-42.5 79.8c-5 10-10 10-17.6 5-10-5-40.1-22.4-40.1-22.4S183.3 182 183.3 192c2.5 10-7.5 17.5-17.6 10-2.5-2.5-55.1-62.3-55.1-62.3S98.1 167 95.6 172s-5 9.9-12.5 7.5C73 177 25.4 167 25.4 167s17.6 59.7 20.1 67.3c2.4 6 5 12.5-5 17.4L23 259.3s102.6 89.9 105.2 92.4c5.1 5 10 7.5 5.1 22.5-5.1 15-10.1 35.1-10.1 35.1s95.2-20.1 105.3-22.6c8.7-.9 18.3 2.5 18.3 12.5S241 512 241 512h30s-5.8-102.7-5.8-112.8 9.5-13.4 18.4-12.5c10 2.5 105.2 22.6 105.2 22.6s-5-20.1-10-35.1 0-17.5 5-22.5z\"]\n};\nvar faCcAmazonPay = {\n prefix: 'fab',\n iconName: 'cc-amazon-pay',\n icon: [576, 512, [], \"f42d\", \"M124.7 201.8c.1-11.8 0-23.5 0-35.3v-35.3c0-1.3.4-2 1.4-2.7 11.5-8 24.1-12.1 38.2-11.1 12.5.9 22.7 7 28.1 21.7 3.3 8.9 4.1 18.2 4.1 27.7 0 8.7-.7 17.3-3.4 25.6-5.7 17.8-18.7 24.7-35.7 23.9-11.7-.5-21.9-5-31.4-11.7-.9-.8-1.4-1.6-1.3-2.8zm154.9 14.6c4.6 1.8 9.3 2 14.1 1.5 11.6-1.2 21.9-5.7 31.3-12.5.9-.6 1.3-1.3 1.3-2.5-.1-3.9 0-7.9 0-11.8 0-4-.1-8 0-12 0-1.4-.4-2-1.8-2.2-7-.9-13.9-2.2-20.9-2.9-7-.6-14-.3-20.8 1.9-6.7 2.2-11.7 6.2-13.7 13.1-1.6 5.4-1.6 10.8.1 16.2 1.6 5.5 5.2 9.2 10.4 11.2zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zm-207.5 23.9c.4 1.7.9 3.4 1.6 5.1 16.5 40.6 32.9 81.3 49.5 121.9 1.4 3.5 1.7 6.4.2 9.9-2.8 6.2-4.9 12.6-7.8 18.7-2.6 5.5-6.7 9.5-12.7 11.2-4.2 1.1-8.5 1.3-12.9.9-2.1-.2-4.2-.7-6.3-.8-2.8-.2-4.2 1.1-4.3 4-.1 2.8-.1 5.6 0 8.3.1 4.6 1.6 6.7 6.2 7.5 4.7.8 9.4 1.6 14.2 1.7 14.3.3 25.7-5.4 33.1-17.9 2.9-4.9 5.6-10.1 7.7-15.4 19.8-50.1 39.5-100.3 59.2-150.5.6-1.5 1.1-3 1.3-4.6.4-2.4-.7-3.6-3.1-3.7-5.6-.1-11.1 0-16.7 0-3.1 0-5.3 1.4-6.4 4.3-.4 1.1-.9 2.3-1.3 3.4l-29.1 83.7c-2.1 6.1-4.2 12.1-6.5 18.6-.4-.9-.6-1.4-.8-1.9-10.8-29.9-21.6-59.9-32.4-89.8-1.7-4.7-3.5-9.5-5.3-14.2-.9-2.5-2.7-4-5.4-4-6.4-.1-12.8-.2-19.2-.1-2.2 0-3.3 1.6-2.8 3.7zM242.4 206c1.7 11.7 7.6 20.8 18 26.6 9.9 5.5 20.7 6.2 31.7 4.6 12.7-1.9 23.9-7.3 33.8-15.5.4-.3.8-.6 1.4-1 .5 3.2.9 6.2 1.5 9.2.5 2.6 2.1 4.3 4.5 4.4 4.6.1 9.1.1 13.7 0 2.3-.1 3.8-1.6 4-3.9.1-.8.1-1.6.1-2.3v-88.8c0-3.6-.2-7.2-.7-10.8-1.6-10.8-6.2-19.7-15.9-25.4-5.6-3.3-11.8-5-18.2-5.9-3-.4-6-.7-9.1-1.1h-10c-.8.1-1.6.3-2.5.3-8.2.4-16.3 1.4-24.2 3.5-5.1 1.3-10 3.2-15 4.9-3 1-4.5 3.2-4.4 6.5.1 2.8-.1 5.6 0 8.3.1 4.1 1.8 5.2 5.7 4.1 6.5-1.7 13.1-3.5 19.7-4.8 10.3-1.9 20.7-2.7 31.1-1.2 5.4.8 10.5 2.4 14.1 7 3.1 4 4.2 8.8 4.4 13.7.3 6.9.2 13.9.3 20.8 0 .4-.1.7-.2 1.2-.4 0-.8 0-1.1-.1-8.8-2.1-17.7-3.6-26.8-4.1-9.5-.5-18.9.1-27.9 3.2-10.8 3.8-19.5 10.3-24.6 20.8-4.1 8.3-4.6 17-3.4 25.8zM98.7 106.9v175.3c0 .8 0 1.7.1 2.5.2 2.5 1.7 4.1 4.1 4.2 5.9.1 11.8.1 17.7 0 2.5 0 4-1.7 4.1-4.1.1-.8.1-1.7.1-2.5v-60.7c.9.7 1.4 1.2 1.9 1.6 15 12.5 32.2 16.6 51.1 12.9 17.1-3.4 28.9-13.9 36.7-29.2 5.8-11.6 8.3-24.1 8.7-37 .5-14.3-1-28.4-6.8-41.7-7.1-16.4-18.9-27.3-36.7-30.9-2.7-.6-5.5-.8-8.2-1.2h-7c-1.2.2-2.4.3-3.6.5-11.7 1.4-22.3 5.8-31.8 12.7-2 1.4-3.9 3-5.9 4.5-.1-.5-.3-.8-.4-1.2-.4-2.3-.7-4.6-1.1-6.9-.6-3.9-2.5-5.5-6.4-5.6h-9.7c-5.9-.1-6.9 1-6.9 6.8zM493.6 339c-2.7-.7-5.1 0-7.6 1-43.9 18.4-89.5 30.2-136.8 35.8-14.5 1.7-29.1 2.8-43.7 3.2-26.6.7-53.2-.8-79.6-4.3-17.8-2.4-35.5-5.7-53-9.9-37-8.9-72.7-21.7-106.7-38.8-8.8-4.4-17.4-9.3-26.1-14-3.8-2.1-6.2-1.5-8.2 2.1v1.7c1.2 1.6 2.2 3.4 3.7 4.8 36 32.2 76.6 56.5 122 72.9 21.9 7.9 44.4 13.7 67.3 17.5 14 2.3 28 3.8 42.2 4.5 3 .1 6 .2 9 .4.7 0 1.4.2 2.1.3h17.7c.7-.1 1.4-.3 2.1-.3 14.9-.4 29.8-1.8 44.6-4 21.4-3.2 42.4-8.1 62.9-14.7 29.6-9.6 57.7-22.4 83.4-40.1 2.8-1.9 5.7-3.8 8-6.2 4.3-4.4 2.3-10.4-3.3-11.9zm50.4-27.7c-.8-4.2-4-5.8-7.6-7-5.7-1.9-11.6-2.8-17.6-3.3-11-.9-22-.4-32.8 1.6-12 2.2-23.4 6.1-33.5 13.1-1.2.8-2.4 1.8-3.1 3-.6.9-.7 2.3-.5 3.4.3 1.3 1.7 1.6 3 1.5.6 0 1.2 0 1.8-.1l19.5-2.1c9.6-.9 19.2-1.5 28.8-.8 4.1.3 8.1 1.2 12 2.2 4.3 1.1 6.2 4.4 6.4 8.7.3 6.7-1.2 13.1-2.9 19.5-3.5 12.9-8.3 25.4-13.3 37.8-.3.8-.7 1.7-.8 2.5-.4 2.5 1 4 3.4 3.5 1.4-.3 3-1.1 4-2.1 3.7-3.6 7.5-7.2 10.6-11.2 10.7-13.8 17-29.6 20.7-46.6.7-3 1.2-6.1 1.7-9.1.2-4.7.2-9.6.2-14.5z\"]\n};\nvar faCcAmex = {\n prefix: 'fab',\n iconName: 'cc-amex',\n icon: [576, 512, [], \"f1f3\", \"M325.1 167.8c0-16.4-14.1-18.4-27.4-18.4l-39.1-.3v69.3H275v-25.1h18c18.4 0 14.5 10.3 14.8 25.1h16.6v-13.5c0-9.2-1.5-15.1-11-18.4 7.4-3 11.8-10.7 11.7-18.7zm-29.4 11.3H275v-15.3h21c5.1 0 10.7 1 10.7 7.4 0 6.6-5.3 7.9-11 7.9zM279 268.6h-52.7l-21 22.8-20.5-22.8h-66.5l-.1 69.3h65.4l21.3-23 20.4 23h32.2l.1-23.3c18.9 0 49.3 4.6 49.3-23.3 0-17.3-12.3-22.7-27.9-22.7zm-103.8 54.7h-40.6v-13.8h36.3v-14.1h-36.3v-12.5h41.7l17.9 20.2zm65.8 8.2l-25.3-28.1L241 276zm37.8-31h-21.2v-17.6h21.5c5.6 0 10.2 2.3 10.2 8.4 0 6.4-4.6 9.2-10.5 9.2zm-31.6-136.7v-14.6h-55.5v69.3h55.5v-14.3h-38.9v-13.8h37.8v-14.1h-37.8v-12.5zM576 255.4h-.2zm-194.6 31.9c0-16.4-14.1-18.7-27.1-18.7h-39.4l-.1 69.3h16.6l.1-25.3h17.6c11 0 14.8 2 14.8 13.8l-.1 11.5h16.6l.1-13.8c0-8.9-1.8-15.1-11-18.4 7.7-3.1 11.8-10.8 11.9-18.4zm-29.2 11.2h-20.7v-15.6h21c5.1 0 10.7 1 10.7 7.4 0 6.9-5.4 8.2-11 8.2zm-172.8-80v-69.3h-27.6l-19.7 47-21.7-47H83.3v65.7l-28.1-65.7H30.7L1 218.5h17.9l6.4-15.3h34.5l6.4 15.3H100v-54.2l24 54.2h14.6l24-54.2v54.2zM31.2 188.8l11.2-27.6 11.5 27.6zm477.4 158.9v-4.5c-10.8 5.6-3.9 4.5-156.7 4.5 0-25.2.1-23.9 0-25.2-1.7-.1-3.2-.1-9.4-.1 0 17.9-.1 6.8-.1 25.3h-39.6c0-12.1.1-15.3.1-29.2-10 6-22.8 6.4-34.3 6.2 0 14.7-.1 8.3-.1 23h-48.9c-5.1-5.7-2.7-3.1-15.4-17.4-3.2 3.5-12.8 13.9-16.1 17.4h-82v-92.3h83.1c5 5.6 2.8 3.1 15.5 17.2 3.2-3.5 12.2-13.4 15.7-17.2h58c9.8 0 18 1.9 24.3 5.6v-5.6c54.3 0 64.3-1.4 75.7 5.1v-5.1h78.2v5.2c11.4-6.9 19.6-5.2 64.9-5.2v5c10.3-5.9 16.6-5.2 54.3-5V80c0-26.5-21.5-48-48-48h-480c-26.5 0-48 21.5-48 48v109.8c9.4-21.9 19.7-46 23.1-53.9h39.7c4.3 10.1 1.6 3.7 9 21.1v-21.1h46c2.9 6.2 11.1 24 13.9 30 5.8-13.6 10.1-23.9 12.6-30h103c0-.1 11.5 0 11.6 0 43.7.2 53.6-.8 64.4 5.3v-5.3H363v9.3c7.6-6.1 17.9-9.3 30.7-9.3h27.6c0 .5 1.9.3 2.3.3H456c4.2 9.8 2.6 6 8.8 20.6v-20.6h43.3c4.9 8-1-1.8 11.2 18.4v-18.4h39.9v92h-41.6c-5.4-9-1.4-2.2-13.2-21.9v21.9h-52.8c-6.4-14.8-.1-.3-6.6-15.3h-19c-4.2 10-2.2 5.2-6.4 15.3h-26.8c-12.3 0-22.3-3-29.7-8.9v8.9h-66.5c-.3-13.9-.1-24.8-.1-24.8-1.8-.3-3.4-.2-9.8-.2v25.1H151.2v-11.4c-2.5 5.6-2.7 5.9-5.1 11.4h-29.5c-4-8.9-2.9-6.4-5.1-11.4v11.4H58.6c-4.2-10.1-2.2-5.3-6.4-15.3H33c-4.2 10-2.2 5.2-6.4 15.3H0V432c0 26.5 21.5 48 48 48h480.1c26.5 0 48-21.5 48-48v-90.4c-12.7 8.3-32.7 6.1-67.5 6.1zm36.3-64.5H575v-14.6h-32.9c-12.8 0-23.8 6.6-23.8 20.7 0 33 42.7 12.8 42.7 27.4 0 5.1-4.3 6.4-8.4 6.4h-32l-.1 14.8h32c8.4 0 17.6-1.8 22.5-8.9v-25.8c-10.5-13.8-39.3-1.3-39.3-13.5 0-5.8 4.6-6.5 9.2-6.5zm-57 39.8h-32.2l-.1 14.8h32.2c14.8 0 26.2-5.6 26.2-22 0-33.2-42.9-11.2-42.9-26.3 0-5.6 4.9-6.4 9.2-6.4h30.4v-14.6h-33.2c-12.8 0-23.5 6.6-23.5 20.7 0 33 42.7 12.5 42.7 27.4-.1 5.4-4.7 6.4-8.8 6.4zm-42.2-40.1v-14.3h-55.2l-.1 69.3h55.2l.1-14.3-38.6-.3v-13.8H445v-14.1h-37.8v-12.5zm-56.3-108.1c-.3.2-1.4 2.2-1.4 7.6 0 6 .9 7.7 1.1 7.9.2.1 1.1.5 3.4.5l7.3-16.9c-1.1 0-2.1-.1-3.1-.1-5.6 0-7 .7-7.3 1zm20.4-10.5h-.1zm-16.2-15.2c-23.5 0-34 12-34 35.3 0 22.2 10.2 34 33 34h19.2l6.4-15.3h34.3l6.6 15.3h33.7v-51.9l31.2 51.9h23.6v-69h-16.9v48.1l-29.1-48.1h-25.3v65.4l-27.9-65.4h-24.8l-23.5 54.5h-7.4c-13.3 0-16.1-8.1-16.1-19.9 0-23.8 15.7-20 33.1-19.7v-15.2zm42.1 12.1l11.2 27.6h-22.8zm-101.1-12v69.3h16.9v-69.3z\"]\n};\nvar faCcApplePay = {\n prefix: 'fab',\n iconName: 'cc-apple-pay',\n icon: [576, 512, [], \"f416\", \"M302.2 218.4c0 17.2-10.5 27.1-29 27.1h-24.3v-54.2h24.4c18.4 0 28.9 9.8 28.9 27.1zm47.5 62.6c0 8.3 7.2 13.7 18.5 13.7 14.4 0 25.2-9.1 25.2-21.9v-7.7l-23.5 1.5c-13.3.9-20.2 5.8-20.2 14.4zM576 79v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM127.8 197.2c8.4.7 16.8-4.2 22.1-10.4 5.2-6.4 8.6-15 7.7-23.7-7.4.3-16.6 4.9-21.9 11.3-4.8 5.5-8.9 14.4-7.9 22.8zm60.6 74.5c-.2-.2-19.6-7.6-19.8-30-.2-18.7 15.3-27.7 16-28.2-8.8-13-22.4-14.4-27.1-14.7-12.2-.7-22.6 6.9-28.4 6.9-5.9 0-14.7-6.6-24.3-6.4-12.5.2-24.2 7.3-30.5 18.6-13.1 22.6-3.4 56 9.3 74.4 6.2 9.1 13.7 19.1 23.5 18.7 9.3-.4 13-6 24.2-6 11.3 0 14.5 6 24.3 5.9 10.2-.2 16.5-9.1 22.8-18.2 6.9-10.4 9.8-20.4 10-21zm135.4-53.4c0-26.6-18.5-44.8-44.9-44.8h-51.2v136.4h21.2v-46.6h29.3c26.8 0 45.6-18.4 45.6-45zm90 23.7c0-19.7-15.8-32.4-40-32.4-22.5 0-39.1 12.9-39.7 30.5h19.1c1.6-8.4 9.4-13.9 20-13.9 13 0 20.2 6 20.2 17.2v7.5l-26.4 1.6c-24.6 1.5-37.9 11.6-37.9 29.1 0 17.7 13.7 29.4 33.4 29.4 13.3 0 25.6-6.7 31.2-17.4h.4V310h19.6v-68zM516 210.9h-21.5l-24.9 80.6h-.4l-24.9-80.6H422l35.9 99.3-1.9 6c-3.2 10.2-8.5 14.2-17.9 14.2-1.7 0-4.9-.2-6.2-.3v16.4c1.2.4 6.5.5 8.1.5 20.7 0 30.4-7.9 38.9-31.8L516 210.9z\"]\n};\nvar faCcDinersClub = {\n prefix: 'fab',\n iconName: 'cc-diners-club',\n icon: [576, 512, [], \"f24c\", \"M239.7 79.9c-96.9 0-175.8 78.6-175.8 175.8 0 96.9 78.9 175.8 175.8 175.8 97.2 0 175.8-78.9 175.8-175.8 0-97.2-78.6-175.8-175.8-175.8zm-39.9 279.6c-41.7-15.9-71.4-56.4-71.4-103.8s29.7-87.9 71.4-104.1v207.9zm79.8.3V151.6c41.7 16.2 71.4 56.7 71.4 104.1s-29.7 87.9-71.4 104.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM329.7 448h-90.3c-106.2 0-193.8-85.5-193.8-190.2C45.6 143.2 133.2 64 239.4 64h90.3c105 0 200.7 79.2 200.7 193.8 0 104.7-95.7 190.2-200.7 190.2z\"]\n};\nvar faCcDiscover = {\n prefix: 'fab',\n iconName: 'cc-discover',\n icon: [576, 512, [], \"f1f2\", \"M520.4 196.1c0-7.9-5.5-12.1-15.6-12.1h-4.9v24.9h4.7c10.3 0 15.8-4.4 15.8-12.8zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-44.1 138.9c22.6 0 52.9-4.1 52.9 24.4 0 12.6-6.6 20.7-18.7 23.2l25.8 34.4h-19.6l-22.2-32.8h-2.2v32.8h-16zm-55.9.1h45.3v14H444v18.2h28.3V217H444v22.2h29.3V253H428zm-68.7 0l21.9 55.2 22.2-55.2h17.5l-35.5 84.2h-8.6l-35-84.2zm-55.9-3c24.7 0 44.6 20 44.6 44.6 0 24.7-20 44.6-44.6 44.6-24.7 0-44.6-20-44.6-44.6 0-24.7 20-44.6 44.6-44.6zm-49.3 6.1v19c-20.1-20.1-46.8-4.7-46.8 19 0 25 27.5 38.5 46.8 19.2v19c-29.7 14.3-63.3-5.7-63.3-38.2 0-31.2 33.1-53 63.3-38zm-97.2 66.3c11.4 0 22.4-15.3-3.3-24.4-15-5.5-20.2-11.4-20.2-22.7 0-23.2 30.6-31.4 49.7-14.3l-8.4 10.8c-10.4-11.6-24.9-6.2-24.9 2.5 0 4.4 2.7 6.9 12.3 10.3 18.2 6.6 23.6 12.5 23.6 25.6 0 29.5-38.8 37.4-56.6 11.3l10.3-9.9c3.7 7.1 9.9 10.8 17.5 10.8zM55.4 253H32v-82h23.4c26.1 0 44.1 17 44.1 41.1 0 18.5-13.2 40.9-44.1 40.9zm67.5 0h-16v-82h16zM544 433c0 8.2-6.8 15-15 15H128c189.6-35.6 382.7-139.2 416-160zM74.1 191.6c-5.2-4.9-11.6-6.6-21.9-6.6H48v54.2h4.2c10.3 0 17-2 21.9-6.4 5.7-5.2 8.9-12.8 8.9-20.7s-3.2-15.5-8.9-20.5z\"]\n};\nvar faCcJcb = {\n prefix: 'fab',\n iconName: 'cc-jcb',\n icon: [576, 512, [], \"f24b\", \"M431.5 244.3V212c41.2 0 38.5.2 38.5.2 7.3 1.3 13.3 7.3 13.3 16 0 8.8-6 14.5-13.3 15.8-1.2.4-3.3.3-38.5.3zm42.8 20.2c-2.8-.7-3.3-.5-42.8-.5v35c39.6 0 40 .2 42.8-.5 7.5-1.5 13.5-8 13.5-17 0-8.7-6-15.5-13.5-17zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM182 192.3h-57c0 67.1 10.7 109.7-35.8 109.7-19.5 0-38.8-5.7-57.2-14.8v28c30 8.3 68 8.3 68 8.3 97.9 0 82-47.7 82-131.2zm178.5 4.5c-63.4-16-165-14.9-165 59.3 0 77.1 108.2 73.6 165 59.2V287C312.9 311.7 253 309 253 256s59.8-55.6 107.5-31.2v-28zM544 286.5c0-18.5-16.5-30.5-38-32v-.8c19.5-2.7 30.3-15.5 30.3-30.2 0-19-15.7-30-37-31 0 0 6.3-.3-120.3-.3v127.5h122.7c24.3.1 42.3-12.9 42.3-33.2z\"]\n};\nvar faCcMastercard = {\n prefix: 'fab',\n iconName: 'cc-mastercard',\n icon: [576, 512, [], \"f1f1\", \"M482.9 410.3c0 6.8-4.6 11.7-11.2 11.7-6.8 0-11.2-5.2-11.2-11.7 0-6.5 4.4-11.7 11.2-11.7 6.6 0 11.2 5.2 11.2 11.7zm-310.8-11.7c-7.1 0-11.2 5.2-11.2 11.7 0 6.5 4.1 11.7 11.2 11.7 6.5 0 10.9-4.9 10.9-11.7-.1-6.5-4.4-11.7-10.9-11.7zm117.5-.3c-5.4 0-8.7 3.5-9.5 8.7h19.1c-.9-5.7-4.4-8.7-9.6-8.7zm107.8.3c-6.8 0-10.9 5.2-10.9 11.7 0 6.5 4.1 11.7 10.9 11.7 6.8 0 11.2-4.9 11.2-11.7 0-6.5-4.4-11.7-11.2-11.7zm105.9 26.1c0 .3.3.5.3 1.1 0 .3-.3.5-.3 1.1-.3.3-.3.5-.5.8-.3.3-.5.5-1.1.5-.3.3-.5.3-1.1.3-.3 0-.5 0-1.1-.3-.3 0-.5-.3-.8-.5-.3-.3-.5-.5-.5-.8-.3-.5-.3-.8-.3-1.1 0-.5 0-.8.3-1.1 0-.5.3-.8.5-1.1.3-.3.5-.3.8-.5.5-.3.8-.3 1.1-.3.5 0 .8 0 1.1.3.5.3.8.3 1.1.5s.2.6.5 1.1zm-2.2 1.4c.5 0 .5-.3.8-.3.3-.3.3-.5.3-.8 0-.3 0-.5-.3-.8-.3 0-.5-.3-1.1-.3h-1.6v3.5h.8V426h.3l1.1 1.4h.8l-1.1-1.3zM576 81v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V81c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM64 220.6c0 76.5 62.1 138.5 138.5 138.5 27.2 0 53.9-8.2 76.5-23.1-72.9-59.3-72.4-171.2 0-230.5-22.6-15-49.3-23.1-76.5-23.1-76.4-.1-138.5 62-138.5 138.2zm224 108.8c70.5-55 70.2-162.2 0-217.5-70.2 55.3-70.5 162.6 0 217.5zm-142.3 76.3c0-8.7-5.7-14.4-14.7-14.7-4.6 0-9.5 1.4-12.8 6.5-2.4-4.1-6.5-6.5-12.2-6.5-3.8 0-7.6 1.4-10.6 5.4V392h-8.2v36.7h8.2c0-18.9-2.5-30.2 9-30.2 10.2 0 8.2 10.2 8.2 30.2h7.9c0-18.3-2.5-30.2 9-30.2 10.2 0 8.2 10 8.2 30.2h8.2v-23zm44.9-13.7h-7.9v4.4c-2.7-3.3-6.5-5.4-11.7-5.4-10.3 0-18.2 8.2-18.2 19.3 0 11.2 7.9 19.3 18.2 19.3 5.2 0 9-1.9 11.7-5.4v4.6h7.9V392zm40.5 25.6c0-15-22.9-8.2-22.9-15.2 0-5.7 11.9-4.8 18.5-1.1l3.3-6.5c-9.4-6.1-30.2-6-30.2 8.2 0 14.3 22.9 8.3 22.9 15 0 6.3-13.5 5.8-20.7.8l-3.5 6.3c11.2 7.6 32.6 6 32.6-7.5zm35.4 9.3l-2.2-6.8c-3.8 2.1-12.2 4.4-12.2-4.1v-16.6h13.1V392h-13.1v-11.2h-8.2V392h-7.6v7.3h7.6V416c0 17.6 17.3 14.4 22.6 10.9zm13.3-13.4h27.5c0-16.2-7.4-22.6-17.4-22.6-10.6 0-18.2 7.9-18.2 19.3 0 20.5 22.6 23.9 33.8 14.2l-3.8-6c-7.8 6.4-19.6 5.8-21.9-4.9zm59.1-21.5c-4.6-2-11.6-1.8-15.2 4.4V392h-8.2v36.7h8.2V408c0-11.6 9.5-10.1 12.8-8.4l2.4-7.6zm10.6 18.3c0-11.4 11.6-15.1 20.7-8.4l3.8-6.5c-11.6-9.1-32.7-4.1-32.7 15 0 19.8 22.4 23.8 32.7 15l-3.8-6.5c-9.2 6.5-20.7 2.6-20.7-8.6zm66.7-18.3H408v4.4c-8.3-11-29.9-4.8-29.9 13.9 0 19.2 22.4 24.7 29.9 13.9v4.6h8.2V392zm33.7 0c-2.4-1.2-11-2.9-15.2 4.4V392h-7.9v36.7h7.9V408c0-11 9-10.3 12.8-8.4l2.4-7.6zm40.3-14.9h-7.9v19.3c-8.2-10.9-29.9-5.1-29.9 13.9 0 19.4 22.5 24.6 29.9 13.9v4.6h7.9v-51.7zm7.6-75.1v4.6h.8V302h1.9v-.8h-4.6v.8h1.9zm6.6 123.8c0-.5 0-1.1-.3-1.6-.3-.3-.5-.8-.8-1.1-.3-.3-.8-.5-1.1-.8-.5 0-1.1-.3-1.6-.3-.3 0-.8.3-1.4.3-.5.3-.8.5-1.1.8-.5.3-.8.8-.8 1.1-.3.5-.3 1.1-.3 1.6 0 .3 0 .8.3 1.4 0 .3.3.8.8 1.1.3.3.5.5 1.1.8.5.3 1.1.3 1.4.3.5 0 1.1 0 1.6-.3.3-.3.8-.5 1.1-.8.3-.3.5-.8.8-1.1.3-.6.3-1.1.3-1.4zm3.2-124.7h-1.4l-1.6 3.5-1.6-3.5h-1.4v5.4h.8v-4.1l1.6 3.5h1.1l1.4-3.5v4.1h1.1v-5.4zm4.4-80.5c0-76.2-62.1-138.3-138.5-138.3-27.2 0-53.9 8.2-76.5 23.1 72.1 59.3 73.2 171.5 0 230.5 22.6 15 49.5 23.1 76.5 23.1 76.4.1 138.5-61.9 138.5-138.4z\"]\n};\nvar faCcPaypal = {\n prefix: 'fab',\n iconName: 'cc-paypal',\n icon: [576, 512, [], \"f1f4\", \"M186.3 258.2c0 12.2-9.7 21.5-22 21.5-9.2 0-16-5.2-16-15 0-12.2 9.5-22 21.7-22 9.3 0 16.3 5.7 16.3 15.5zM80.5 209.7h-4.7c-1.5 0-3 1-3.2 2.7l-4.3 26.7 8.2-.3c11 0 19.5-1.5 21.5-14.2 2.3-13.4-6.2-14.9-17.5-14.9zm284 0H360c-1.8 0-3 1-3.2 2.7l-4.2 26.7 8-.3c13 0 22-3 22-18-.1-10.6-9.6-11.1-18.1-11.1zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM128.3 215.4c0-21-16.2-28-34.7-28h-40c-2.5 0-5 2-5.2 4.7L32 294.2c-.3 2 1.2 4 3.2 4h19c2.7 0 5.2-2.9 5.5-5.7l4.5-26.6c1-7.2 13.2-4.7 18-4.7 28.6 0 46.1-17 46.1-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.2 8.2-5.8-8.5-14.2-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9 0 20.2-4.9 26.5-11.9-.5 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H200c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm40.5 97.9l63.7-92.6c.5-.5.5-1 .5-1.7 0-1.7-1.5-3.5-3.2-3.5h-19.2c-1.7 0-3.5 1-4.5 2.5l-26.5 39-11-37.5c-.8-2.2-3-4-5.5-4h-18.7c-1.7 0-3.2 1.8-3.2 3.5 0 1.2 19.5 56.8 21.2 62.1-2.7 3.8-20.5 28.6-20.5 31.6 0 1.8 1.5 3.2 3.2 3.2h19.2c1.8-.1 3.5-1.1 4.5-2.6zm159.3-106.7c0-21-16.2-28-34.7-28h-39.7c-2.7 0-5.2 2-5.5 4.7l-16.2 102c-.2 2 1.3 4 3.2 4h20.5c2 0 3.5-1.5 4-3.2l4.5-29c1-7.2 13.2-4.7 18-4.7 28.4 0 45.9-17 45.9-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.3 8.2-5.5-8.5-14-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9.3 0 20.5-4.9 26.5-11.9-.3 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H484c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm47.5-33.3c0-2-1.5-3.5-3.2-3.5h-18.5c-1.5 0-3 1.2-3.2 2.7l-16.2 104-.3.5c0 1.8 1.5 3.5 3.5 3.5h16.5c2.5 0 5-2.9 5.2-5.7L544 191.2v-.3zm-90 51.8c-12.2 0-21.7 9.7-21.7 22 0 9.7 7 15 16.2 15 12 0 21.7-9.2 21.7-21.5.1-9.8-6.9-15.5-16.2-15.5z\"]\n};\nvar faCcStripe = {\n prefix: 'fab',\n iconName: 'cc-stripe',\n icon: [576, 512, [], \"f1f5\", \"M492.4 220.8c-8.9 0-18.7 6.7-18.7 22.7h36.7c0-16-9.3-22.7-18-22.7zM375 223.4c-8.2 0-13.3 2.9-17 7l.2 52.8c3.5 3.7 8.5 6.7 16.8 6.7 13.1 0 21.9-14.3 21.9-33.4 0-18.6-9-33.2-21.9-33.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM122.2 281.1c0 25.6-20.3 40.1-49.9 40.3-12.2 0-25.6-2.4-38.8-8.1v-33.9c12 6.4 27.1 11.3 38.9 11.3 7.9 0 13.6-2.1 13.6-8.7 0-17-54-10.6-54-49.9 0-25.2 19.2-40.2 48-40.2 11.8 0 23.5 1.8 35.3 6.5v33.4c-10.8-5.8-24.5-9.1-35.3-9.1-7.5 0-12.1 2.2-12.1 7.7 0 16 54.3 8.4 54.3 50.7zm68.8-56.6h-27V275c0 20.9 22.5 14.4 27 12.6v28.9c-4.7 2.6-13.3 4.7-24.9 4.7-21.1 0-36.9-15.5-36.9-36.5l.2-113.9 34.7-7.4v30.8H191zm74 2.4c-4.5-1.5-18.7-3.6-27.1 7.4v84.4h-35.5V194.2h30.7l2.2 10.5c8.3-15.3 24.9-12.2 29.6-10.5h.1zm44.1 91.8h-35.7V194.2h35.7zm0-142.9l-35.7 7.6v-28.9l35.7-7.6zm74.1 145.5c-12.4 0-20-5.3-25.1-9l-.1 40.2-35.5 7.5V194.2h31.3l1.8 8.8c4.9-4.5 13.9-11.1 27.8-11.1 24.9 0 48.4 22.5 48.4 63.8 0 45.1-23.2 65.5-48.6 65.6zm160.4-51.5h-69.5c1.6 16.6 13.8 21.5 27.6 21.5 14.1 0 25.2-3 34.9-7.9V312c-9.7 5.3-22.4 9.2-39.4 9.2-34.6 0-58.8-21.7-58.8-64.5 0-36.2 20.5-64.9 54.3-64.9 33.7 0 51.3 28.7 51.3 65.1 0 3.5-.3 10.9-.4 12.9z\"]\n};\nvar faCcVisa = {\n prefix: 'fab',\n iconName: 'cc-visa',\n icon: [576, 512, [], \"f1f0\", \"M470.1 231.3s7.6 37.2 9.3 45H446c3.3-8.9 16-43.5 16-43.5-.2.3 3.3-9.1 5.3-14.9l2.8 13.4zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM152.5 331.2L215.7 176h-42.5l-39.3 106-4.3-21.5-14-71.4c-2.3-9.9-9.4-12.7-18.2-13.1H32.7l-.7 3.1c15.8 4 29.9 9.8 42.2 17.1l35.8 135h42.5zm94.4.2L272.1 176h-40.2l-25.1 155.4h40.1zm139.9-50.8c.2-17.7-10.6-31.2-33.7-42.3-14.1-7.1-22.7-11.9-22.7-19.2.2-6.6 7.3-13.4 23.1-13.4 13.1-.3 22.7 2.8 29.9 5.9l3.6 1.7 5.5-33.6c-7.9-3.1-20.5-6.6-36-6.6-39.7 0-67.6 21.2-67.8 51.4-.3 22.3 20 34.7 35.2 42.2 15.5 7.6 20.8 12.6 20.8 19.3-.2 10.4-12.6 15.2-24.1 15.2-16 0-24.6-2.5-37.7-8.3l-5.3-2.5-5.6 34.9c9.4 4.3 26.8 8.1 44.8 8.3 42.2.1 69.7-20.8 70-53zM528 331.4L495.6 176h-31.1c-9.6 0-16.9 2.8-21 12.9l-59.7 142.5H426s6.9-19.2 8.4-23.3H486c1.2 5.5 4.8 23.3 4.8 23.3H528z\"]\n};\nvar faCentercode = {\n prefix: 'fab',\n iconName: 'centercode',\n icon: [512, 512, [], \"f380\", \"M329.2 268.6c-3.8 35.2-35.4 60.6-70.6 56.8-35.2-3.8-60.6-35.4-56.8-70.6 3.8-35.2 35.4-60.6 70.6-56.8 35.1 3.8 60.6 35.4 56.8 70.6zm-85.8 235.1C96.7 496-8.2 365.5 10.1 224.3c11.2-86.6 65.8-156.9 139.1-192 161-77.1 349.7 37.4 354.7 216.6 4.1 147-118.4 262.2-260.5 254.8zm179.9-180c27.9-118-160.5-205.9-237.2-234.2-57.5 56.3-69.1 188.6-33.8 344.4 68.8 15.8 169.1-26.4 271-110.2z\"]\n};\nvar faCentos = {\n prefix: 'fab',\n iconName: 'centos',\n icon: [448, 512, [], \"f789\", \"M289.6 97.5l31.6 31.7-76.3 76.5V97.5zm-162.4 31.7l76.3 76.5V97.5h-44.7zm41.5-41.6h44.7v127.9l10.8 10.8 10.8-10.8V87.6h44.7L224.2 32zm26.2 168.1l-10.8-10.8H55.5v-44.8L0 255.7l55.5 55.6v-44.8h128.6l10.8-10.8zm79.3-20.7h107.9v-44.8l-31.6-31.7zm173.3 20.7L392 200.1v44.8H264.3l-10.8 10.8 10.8 10.8H392v44.8l55.5-55.6zM65.4 176.2l32.5-31.7 90.3 90.5h15.3v-15.3l-90.3-90.5 31.6-31.7H65.4zm316.7-78.7h-78.5l31.6 31.7-90.3 90.5V235h15.3l90.3-90.5 31.6 31.7zM203.5 413.9V305.8l-76.3 76.5 31.6 31.7h44.7zM65.4 235h108.8l-76.3-76.5-32.5 31.7zm316.7 100.2l-31.6 31.7-90.3-90.5h-15.3v15.3l90.3 90.5-31.6 31.7h78.5zm0-58.8H274.2l76.3 76.5 31.6-31.7zm-60.9 105.8l-76.3-76.5v108.1h44.7zM97.9 352.9l76.3-76.5H65.4v44.8zm181.8 70.9H235V295.9l-10.8-10.8-10.8 10.8v127.9h-44.7l55.5 55.6zm-166.5-41.6l90.3-90.5v-15.3h-15.3l-90.3 90.5-32.5-31.7v78.7h79.4z\"]\n};\nvar faChrome = {\n prefix: 'fab',\n iconName: 'chrome',\n icon: [496, 512, [], \"f268\", \"M131.5 217.5L55.1 100.1c47.6-59.2 119-91.8 192-92.1 42.3-.3 85.5 10.5 124.8 33.2 43.4 25.2 76.4 61.4 97.4 103L264 133.4c-58.1-3.4-113.4 29.3-132.5 84.1zm32.9 38.5c0 46.2 37.4 83.6 83.6 83.6s83.6-37.4 83.6-83.6-37.4-83.6-83.6-83.6-83.6 37.3-83.6 83.6zm314.9-89.2L339.6 174c37.9 44.3 38.5 108.2 6.6 157.2L234.1 503.6c46.5 2.5 94.4-7.7 137.8-32.9 107.4-62 150.9-192 107.4-303.9zM133.7 303.6L40.4 120.1C14.9 159.1 0 205.9 0 256c0 124 90.8 226.7 209.5 244.9l63.7-124.8c-57.6 10.8-113.2-20.8-139.5-72.5z\"]\n};\nvar faChromecast = {\n prefix: 'fab',\n iconName: 'chromecast',\n icon: [512, 512, [], \"f838\", \"M447.8,64H64c-23.6,0-42.7,19.1-42.7,42.7v63.9H64v-63.9h383.8v298.6H298.6V448H448c23.6,0,42.7-19.1,42.7-42.7V106.7 C490.7,83.1,471.4,64,447.8,64z M21.3,383.6L21.3,383.6l0,63.9h63.9C85.2,412.2,56.6,383.6,21.3,383.6L21.3,383.6z M21.3,298.6V341 c58.9,0,106.6,48.1,106.6,107h42.7C170.7,365.6,103.7,298.7,21.3,298.6z M213.4,448h42.7c-0.5-129.5-105.3-234.3-234.8-234.6l0,42.4 C127.3,255.6,213.3,342,213.4,448z\"]\n};\nvar faCloudflare = {\n prefix: 'fab',\n iconName: 'cloudflare',\n icon: [640, 512, [], \"e07d\", \"M407.906,319.913l-230.8-2.928a4.58,4.58,0,0,1-3.632-1.926,4.648,4.648,0,0,1-.494-4.147,6.143,6.143,0,0,1,5.361-4.076L411.281,303.9c27.631-1.26,57.546-23.574,68.022-50.784l13.286-34.542a7.944,7.944,0,0,0,.524-2.936,7.735,7.735,0,0,0-.164-1.631A151.91,151.91,0,0,0,201.257,198.4,68.12,68.12,0,0,0,94.2,269.59C41.924,271.106,0,313.728,0,366.12a96.054,96.054,0,0,0,1.029,13.958,4.508,4.508,0,0,0,4.445,3.871l426.1.051c.043,0,.08-.019.122-.02a5.606,5.606,0,0,0,5.271-4l3.273-11.265c3.9-13.4,2.448-25.8-4.1-34.9C430.124,325.423,420.09,320.487,407.906,319.913ZM513.856,221.1c-2.141,0-4.271.062-6.391.164a3.771,3.771,0,0,0-3.324,2.653l-9.077,31.193c-3.9,13.4-2.449,25.786,4.1,34.89,6.02,8.4,16.054,13.323,28.238,13.9l49.2,2.939a4.491,4.491,0,0,1,3.51,1.894,4.64,4.64,0,0,1,.514,4.169,6.153,6.153,0,0,1-5.351,4.075l-51.125,2.939c-27.754,1.27-57.669,23.574-68.145,50.784l-3.695,9.606a2.716,2.716,0,0,0,2.427,3.68c.046,0,.088.017.136.017h175.91a4.69,4.69,0,0,0,4.539-3.37,124.807,124.807,0,0,0,4.682-34C640,277.3,583.524,221.1,513.856,221.1Z\"]\n};\nvar faCloudscale = {\n prefix: 'fab',\n iconName: 'cloudscale',\n icon: [448, 512, [], \"f383\", \"M318.1 154l-9.4 7.6c-22.5-19.3-51.5-33.6-83.3-33.6C153.8 128 96 188.8 96 260.3c0 6.6.4 13.1 1.4 19.4-2-56 41.8-97.4 92.6-97.4 24.2 0 46.2 9.4 62.6 24.7l-25.2 20.4c-8.3-.9-16.8 1.8-23.1 8.1-11.1 11-11.1 28.9 0 40 11.1 11 28.9 11 40 0 6.3-6.3 9-14.9 8.1-23.1l75.2-88.8c6.3-6.5-3.3-15.9-9.5-9.6zm-83.8 111.5c-5.6 5.5-14.6 5.5-20.2 0-5.6-5.6-5.6-14.6 0-20.2s14.6-5.6 20.2 0 5.6 14.7 0 20.2zM224 32C100.5 32 0 132.5 0 256s100.5 224 224 224 224-100.5 224-224S347.5 32 224 32zm0 384c-88.2 0-160-71.8-160-160S135.8 96 224 96s160 71.8 160 160-71.8 160-160 160z\"]\n};\nvar faCloudsmith = {\n prefix: 'fab',\n iconName: 'cloudsmith',\n icon: [332, 512, [], \"f384\", \"M332.5 419.9c0 46.4-37.6 84.1-84 84.1s-84-37.7-84-84.1 37.6-84 84-84 84 37.6 84 84zm-84-243.9c46.4 0 80-37.6 80-84s-33.6-84-80-84-88 37.6-88 84-29.6 76-76 76-84 41.6-84 88 37.6 80 84 80 84-33.6 84-80 33.6-80 80-80z\"]\n};\nvar faCloudversify = {\n prefix: 'fab',\n iconName: 'cloudversify',\n icon: [616, 512, [], \"f385\", \"M148.6 304c8.2 68.5 67.4 115.5 146 111.3 51.2 43.3 136.8 45.8 186.4-5.6 69.2 1.1 118.5-44.6 131.5-99.5 14.8-62.5-18.2-132.5-92.1-155.1-33-88.1-131.4-101.5-186.5-85-57.3 17.3-84.3 53.2-99.3 109.7-7.8 2.7-26.5 8.9-45 24.1 11.7 0 15.2 8.9 15.2 19.5v20.4c0 10.7-8.7 19.5-19.5 19.5h-20.2c-10.7 0-19.5-6-19.5-16.7V240H98.8C95 240 88 244.3 88 251.9v40.4c0 6.4 5.3 11.8 11.7 11.8h48.9zm227.4 8c-10.7 46.3 21.7 72.4 55.3 86.8C324.1 432.6 259.7 348 296 288c-33.2 21.6-33.7 71.2-29.2 92.9-17.9-12.4-53.8-32.4-57.4-79.8-3-39.9 21.5-75.7 57-93.9C297 191.4 369.9 198.7 400 248c-14.1-48-53.8-70.1-101.8-74.8 30.9-30.7 64.4-50.3 114.2-43.7 69.8 9.3 133.2 82.8 67.7 150.5 35-16.3 48.7-54.4 47.5-76.9l10.5 19.6c11.8 22 15.2 47.6 9.4 72-9.2 39-40.6 68.8-79.7 76.5-32.1 6.3-83.1-5.1-91.8-59.2zM128 208H88.2c-8.9 0-16.2-7.3-16.2-16.2v-39.6c0-8.9 7.3-16.2 16.2-16.2H128c8.9 0 16.2 7.3 16.2 16.2v39.6c0 8.9-7.3 16.2-16.2 16.2zM10.1 168C4.5 168 0 163.5 0 157.9v-27.8c0-5.6 4.5-10.1 10.1-10.1h27.7c5.5 0 10.1 4.5 10.1 10.1v27.8c0 5.6-4.5 10.1-10.1 10.1H10.1zM168 142.7v-21.4c0-5.1 4.2-9.3 9.3-9.3h21.4c5.1 0 9.3 4.2 9.3 9.3v21.4c0 5.1-4.2 9.3-9.3 9.3h-21.4c-5.1 0-9.3-4.2-9.3-9.3zM56 235.5v25c0 6.3-5.1 11.5-11.4 11.5H19.4C13.1 272 8 266.8 8 260.5v-25c0-6.3 5.1-11.5 11.4-11.5h25.1c6.4 0 11.5 5.2 11.5 11.5z\"]\n};\nvar faCodepen = {\n prefix: 'fab',\n iconName: 'codepen',\n icon: [512, 512, [], \"f1cb\", \"M502.285 159.704l-234-156c-7.987-4.915-16.511-4.96-24.571 0l-234 156C3.714 163.703 0 170.847 0 177.989v155.999c0 7.143 3.714 14.286 9.715 18.286l234 156.022c7.987 4.915 16.511 4.96 24.571 0l234-156.022c6-3.999 9.715-11.143 9.715-18.286V177.989c-.001-7.142-3.715-14.286-9.716-18.285zM278 63.131l172.286 114.858-76.857 51.429L278 165.703V63.131zm-44 0v102.572l-95.429 63.715-76.857-51.429L234 63.131zM44 219.132l55.143 36.857L44 292.846v-73.714zm190 229.715L61.714 333.989l76.857-51.429L234 346.275v102.572zm22-140.858l-77.715-52 77.715-52 77.715 52-77.715 52zm22 140.858V346.275l95.429-63.715 76.857 51.429L278 448.847zm190-156.001l-55.143-36.857L468 219.132v73.714z\"]\n};\nvar faCodiepie = {\n prefix: 'fab',\n iconName: 'codiepie',\n icon: [472, 512, [], \"f284\", \"M422.5 202.9c30.7 0 33.5 53.1-.3 53.1h-10.8v44.3h-26.6v-97.4h37.7zM472 352.6C429.9 444.5 350.4 504 248 504 111 504 0 393 0 256S111 8 248 8c97.4 0 172.8 53.7 218.2 138.4l-186 108.8L472 352.6zm-38.5 12.5l-60.3-30.7c-27.1 44.3-70.4 71.4-122.4 71.4-82.5 0-149.2-66.7-149.2-148.9 0-82.5 66.7-149.2 149.2-149.2 48.4 0 88.9 23.5 116.9 63.4l59.5-34.6c-40.7-62.6-104.7-100-179.2-100-121.2 0-219.5 98.3-219.5 219.5S126.8 475.5 248 475.5c78.6 0 146.5-42.1 185.5-110.4z\"]\n};\nvar faConfluence = {\n prefix: 'fab',\n iconName: 'confluence',\n icon: [512, 512, [], \"f78d\", \"M2.3 412.2c-4.5 7.6-2.1 17.5 5.5 22.2l105.9 65.2c7.7 4.7 17.7 2.4 22.4-5.3 0-.1.1-.2.1-.2 67.1-112.2 80.5-95.9 280.9-.7 8.1 3.9 17.8.4 21.7-7.7.1-.1.1-.3.2-.4l50.4-114.1c3.6-8.1-.1-17.6-8.1-21.3-22.2-10.4-66.2-31.2-105.9-50.3C127.5 179 44.6 345.3 2.3 412.2zm507.4-312.1c4.5-7.6 2.1-17.5-5.5-22.2L398.4 12.8c-7.5-5-17.6-3.1-22.6 4.4-.2.3-.4.6-.6 1-67.3 112.6-81.1 95.6-280.6.9-8.1-3.9-17.8-.4-21.7 7.7-.1.1-.1.3-.2.4L22.2 141.3c-3.6 8.1.1 17.6 8.1 21.3 22.2 10.4 66.3 31.2 106 50.4 248 120 330.8-45.4 373.4-112.9z\"]\n};\nvar faConnectdevelop = {\n prefix: 'fab',\n iconName: 'connectdevelop',\n icon: [576, 512, [], \"f20e\", \"M550.5 241l-50.089-86.786c1.071-2.142 1.875-4.553 1.875-7.232 0-8.036-6.696-14.733-14.732-15.001l-55.447-95.893c.536-1.607 1.071-3.214 1.071-4.821 0-8.571-6.964-15.268-15.268-15.268-4.821 0-8.839 2.143-11.786 5.625H299.518C296.839 18.143 292.821 16 288 16s-8.839 2.143-11.518 5.625H170.411C167.464 18.143 163.447 16 158.625 16c-8.303 0-15.268 6.696-15.268 15.268 0 1.607.536 3.482 1.072 4.821l-55.983 97.233c-5.356 2.41-9.107 7.5-9.107 13.661 0 .535.268 1.071.268 1.607l-53.304 92.143c-7.232 1.339-12.59 7.5-12.59 15 0 7.232 5.089 13.393 12.054 15l55.179 95.358c-.536 1.607-.804 2.946-.804 4.821 0 7.232 5.089 13.393 12.054 14.732l51.697 89.732c-.536 1.607-1.071 3.482-1.071 5.357 0 8.571 6.964 15.268 15.268 15.268 4.821 0 8.839-2.143 11.518-5.357h106.875C279.161 493.857 283.447 496 288 496s8.839-2.143 11.518-5.357h107.143c2.678 2.946 6.696 4.821 10.982 4.821 8.571 0 15.268-6.964 15.268-15.268 0-1.607-.267-2.946-.803-4.285l51.697-90.268c6.964-1.339 12.054-7.5 12.054-14.732 0-1.607-.268-3.214-.804-4.821l54.911-95.358c6.964-1.339 12.322-7.5 12.322-15-.002-7.232-5.092-13.393-11.788-14.732zM153.535 450.732l-43.66-75.803h43.66v75.803zm0-83.839h-43.66c-.268-1.071-.804-2.142-1.339-3.214l44.999-47.41v50.624zm0-62.411l-50.357 53.304c-1.339-.536-2.679-1.34-4.018-1.607L43.447 259.75c.535-1.339.535-2.679.535-4.018s0-2.41-.268-3.482l51.965-90c2.679-.268 5.357-1.072 7.768-2.679l50.089 51.965v92.946zm0-102.322l-45.803-47.41c1.339-2.143 2.143-4.821 2.143-7.767 0-.268-.268-.804-.268-1.072l43.928-15.804v72.053zm0-80.625l-43.66 15.804 43.66-75.536v59.732zm326.519 39.108l.804 1.339L445.5 329.125l-63.75-67.232 98.036-101.518.268.268zM291.75 355.107l11.518 11.786H280.5l11.25-11.786zm-.268-11.25l-83.303-85.446 79.553-84.375 83.036 87.589-79.286 82.232zm5.357 5.893l79.286-82.232 67.5 71.25-5.892 28.125H313.714l-16.875-17.143zM410.411 44.393c1.071.536 2.142 1.072 3.482 1.34l57.857 100.714v.536c0 2.946.803 5.624 2.143 7.767L376.393 256l-83.035-87.589L410.411 44.393zm-9.107-2.143L287.732 162.518l-57.054-60.268 166.339-60h4.287zm-123.483 0c2.678 2.678 6.16 4.285 10.179 4.285s7.5-1.607 10.179-4.285h75L224.786 95.821 173.893 42.25h103.928zm-116.249 5.625l1.071-2.142a33.834 33.834 0 0 0 2.679-.804l51.161 53.84-54.911 19.821V47.875zm0 79.286l60.803-21.964 59.732 63.214-79.553 84.107-40.982-42.053v-83.304zm0 92.678L198 257.607l-36.428 38.304v-76.072zm0 87.858l42.053-44.464 82.768 85.982-17.143 17.678H161.572v-59.196zm6.964 162.053c-1.607-1.607-3.482-2.678-5.893-3.482l-1.071-1.607v-89.732h99.91l-91.607 94.821h-1.339zm129.911 0c-2.679-2.41-6.428-4.285-10.447-4.285s-7.767 1.875-10.447 4.285h-96.429l91.607-94.821h38.304l91.607 94.821H298.447zm120-11.786l-4.286 7.5c-1.339.268-2.41.803-3.482 1.339l-89.196-91.875h114.376l-17.412 83.036zm12.856-22.232l12.858-60.803h21.964l-34.822 60.803zm34.822-68.839h-20.357l4.553-21.16 17.143 18.214c-.535.803-1.071 1.874-1.339 2.946zm66.161-107.411l-55.447 96.697c-1.339.535-2.679 1.071-4.018 1.874l-20.625-21.964 34.554-163.928 45.803 79.286c-.267 1.339-.803 2.678-.803 4.285 0 1.339.268 2.411.536 3.75z\"]\n};\nvar faContao = {\n prefix: 'fab',\n iconName: 'contao',\n icon: [512, 512, [], \"f26d\", \"M45.4 305c14.4 67.1 26.4 129 68.2 175H34c-18.7 0-34-15.2-34-34V66c0-18.7 15.2-34 34-34h57.7C77.9 44.6 65.6 59.2 54.8 75.6c-45.4 70-27 146.8-9.4 229.4zM478 32h-90.2c21.4 21.4 39.2 49.5 52.7 84.1l-137.1 29.3c-14.9-29-37.8-53.3-82.6-43.9-24.6 5.3-41 19.3-48.3 34.6-8.8 18.7-13.2 39.8 8.2 140.3 21.1 100.2 33.7 117.7 49.5 131.2 12.9 11.1 33.4 17 58.3 11.7 44.5-9.4 55.7-40.7 57.4-73.2l137.4-29.6c3.2 71.5-18.7 125.2-57.4 163.6H478c18.7 0 34-15.2 34-34V66c0-18.8-15.2-34-34-34z\"]\n};\nvar faCottonBureau = {\n prefix: 'fab',\n iconName: 'cotton-bureau',\n icon: [512, 512, [], \"f89e\", \"M474.31 330.41c-23.66 91.85-94.23 144.59-201.9 148.35V429.6c0-48 26.41-74.39 74.39-74.39 62 0 99.2-37.2 99.2-99.21 0-61.37-36.53-98.28-97.38-99.06-33-69.32-146.5-64.65-177.24 0C110.52 157.72 74 194.63 74 256c0 62.13 37.27 99.41 99.4 99.41 48 0 74.55 26.23 74.55 74.39V479c-134.43-5-211.1-85.07-211.1-223 0-141.82 81.35-223.2 223.2-223.2 114.77 0 189.84 53.2 214.69 148.81H500C473.88 71.51 388.22 8 259.82 8 105 8 12 101.19 12 255.82 12 411.14 105.19 504.34 259.82 504c128.27 0 213.87-63.81 239.67-173.59zM357 182.33c41.37 3.45 64.2 29 64.2 73.67 0 48-26.43 74.41-74.4 74.41-28.61 0-49.33-9.59-61.59-27.33 83.06-16.55 75.59-99.67 71.79-120.75zm-81.68 97.36c-2.46-10.34-16.33-87 56.23-97 2.27 10.09 16.52 87.11-56.26 97zM260 132c28.61 0 49 9.67 61.44 27.61-28.36 5.48-49.36 20.59-61.59 43.45-12.23-22.86-33.23-38-61.6-43.45 12.41-17.69 33.27-27.35 61.57-27.35zm-71.52 50.72c73.17 10.57 58.91 86.81 56.49 97-72.41-9.84-59-86.95-56.25-97zM173.2 330.41c-48 0-74.4-26.4-74.4-74.41 0-44.36 22.86-70 64.22-73.67-6.75 37.2-1.38 106.53 71.65 120.75-12.14 17.63-32.84 27.3-61.14 27.3zm53.21 12.39A80.8 80.8 0 0 0 260 309.25c7.77 14.49 19.33 25.54 33.82 33.55a80.28 80.28 0 0 0-33.58 33.83c-8-14.5-19.07-26.23-33.56-33.83z\"]\n};\nvar faCpanel = {\n prefix: 'fab',\n iconName: 'cpanel',\n icon: [640, 512, [], \"f388\", \"M210.3 220.2c-5.6-24.8-26.9-41.2-51-41.2h-37c-7.1 0-12.5 4.5-14.3 10.9L73.1 320l24.7-.1c6.8 0 12.3-4.5 14.2-10.7l25.8-95.7h19.8c8.4 0 16.2 5.6 18.3 14.8 2.5 10.9-5.9 22.6-18.3 22.6h-10.3c-7 0-12.5 4.6-14.3 10.8l-6.4 23.8h32c37.2 0 58.3-36.2 51.7-65.3zm-156.5 28h18.6c6.9 0 12.4-4.4 14.3-10.9l6.2-23.6h-40C30 213.7 9 227.8 1.7 254.8-7 288.6 18.5 320 52 320h12.4l7.1-26.1c1.2-4.4-2.2-8.3-6.4-8.3H53.8c-24.7 0-24.9-37.4 0-37.4zm247.5-34.8h-77.9l-3.5 13.4c-2.4 9.6 4.5 18.5 14.2 18.5h57.5c4 0 2.4 4.3 2.1 5.3l-8.6 31.8c-.4 1.4-.9 5.3-5.5 5.3h-34.9c-5.3 0-5.3-7.9 0-7.9h21.6c6.8 0 12.3-4.6 14.2-10.8l3.5-13.2h-48.4c-39.2 0-43.6 63.8-.7 63.8l57.5.2c11.2 0 20.6-7.2 23.4-17.8l14-51.8c4.8-19.2-9.7-36.8-28.5-36.8zM633.1 179h-18.9c-4.9 0-9.2 3.2-10.4 7.9L568.2 320c20.7 0 39.8-13.8 44.9-34.5l26.5-98.2c1.2-4.3-2-8.3-6.5-8.3zm-236.3 34.7v.1h-48.3l-26.2 98c-1.2 4.4 2.2 8.3 6.4 8.3h18.9c4.8 0 9.2-3 10.4-7.8l17.2-64H395c12.5 0 21.4 11.8 18.1 23.4l-10.6 40c-1.2 4.3 1.9 8.3 6.4 8.3H428c4.6 0 9.1-2.9 10.3-7.8l8.8-33.1c9-33.1-15.9-65.4-50.3-65.4zm98.3 74.6c-3.6 0-6-3.4-5.1-6.7l8-30c.9-3.9 3.7-6 7.8-6h32.9c2.6 0 4.6 2.4 3.9 5.1l-.7 2.6c-.6 2-1.9 3-3.9 3h-21.6c-7 0-12.6 4.6-14.2 10.8l-3.5 13h53.4c10.5 0 20.3-6.6 23.2-17.6l3.2-12c4.9-19.1-9.3-36.8-28.3-36.8h-47.3c-17.9 0-33.8 12-38.6 29.6l-10.8 40c-5 17.7 8.3 36.7 28.3 36.7h66.7c6.8 0 12.3-4.5 14.2-10.7l5.7-21z\"]\n};\nvar faCreativeCommons = {\n prefix: 'fab',\n iconName: 'creative-commons',\n icon: [496, 512, [], \"f25e\", \"M245.83 214.87l-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0l-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z\"]\n};\nvar faCreativeCommonsBy = {\n prefix: 'fab',\n iconName: 'creative-commons-by',\n icon: [496, 512, [], \"f4e7\", \"M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z\"]\n};\nvar faCreativeCommonsNc = {\n prefix: 'fab',\n iconName: 'creative-commons-nc',\n icon: [496, 512, [], \"f4e8\", \"M247.6 8C387.4 8 496 115.9 496 256c0 147.2-118.5 248-248.4 248C113.1 504 0 393.2 0 256 0 123.1 104.7 8 247.6 8zM55.8 189.1c-7.4 20.4-11.1 42.7-11.1 66.9 0 110.9 92.1 202.4 203.7 202.4 122.4 0 177.2-101.8 178.5-104.1l-93.4-41.6c-7.7 37.1-41.2 53-68.2 55.4v38.1h-28.8V368c-27.5-.3-52.6-10.2-75.3-29.7l34.1-34.5c31.7 29.4 86.4 31.8 86.4-2.2 0-6.2-2.2-11.2-6.6-15.1-14.2-6-1.8-.1-219.3-97.4zM248.4 52.3c-38.4 0-112.4 8.7-170.5 93l94.8 42.5c10-31.3 40.4-42.9 63.8-44.3v-38.1h28.8v38.1c22.7 1.2 43.4 8.9 62 23L295 199.7c-42.7-29.9-83.5-8-70 11.1 53.4 24.1 43.8 19.8 93 41.6l127.1 56.7c4.1-17.4 6.2-35.1 6.2-53.1 0-57-19.8-105-59.3-143.9-39.3-39.9-87.2-59.8-143.6-59.8z\"]\n};\nvar faCreativeCommonsNcEu = {\n prefix: 'fab',\n iconName: 'creative-commons-nc-eu',\n icon: [496, 512, [], \"f4e9\", \"M247.7 8C103.6 8 0 124.8 0 256c0 136.3 111.7 248 247.7 248C377.9 504 496 403.1 496 256 496 117 388.4 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-23.2 3.7-45.2 10.9-66l65.7 29.1h-4.7v29.5h23.3c0 6.2-.4 3.2-.4 19.5h-22.8v29.5h27c11.4 67 67.2 101.3 124.6 101.3 26.6 0 50.6-7.9 64.8-15.8l-10-46.1c-8.7 4.6-28.2 10.8-47.3 10.8-28.2 0-58.1-10.9-67.3-50.2h90.3l128.3 56.8c-1.5 2.1-56.2 104.3-178.8 104.3zm-16.7-190.6l-.5-.4.9.4h-.4zm77.2-19.5h3.7v-29.5h-70.3l-28.6-12.6c2.5-5.5 5.4-10.5 8.8-14.3 12.9-15.8 31.1-22.4 51.1-22.4 18.3 0 35.3 5.4 46.1 10l11.6-47.3c-15-6.6-37-12.4-62.3-12.4-39 0-72.2 15.8-95.9 42.3-5.3 6.1-9.8 12.9-13.9 20.1l-81.6-36.1c64.6-96.8 157.7-93.6 170.7-93.6 113 0 203 90.2 203 203.4 0 18.7-2.1 36.3-6.3 52.9l-136.1-60.5z\"]\n};\nvar faCreativeCommonsNcJp = {\n prefix: 'fab',\n iconName: 'creative-commons-nc-jp',\n icon: [496, 512, [], \"f4ea\", \"M247.7 8C103.6 8 0 124.8 0 256c0 136.4 111.8 248 247.7 248C377.9 504 496 403.2 496 256 496 117.2 388.5 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-21.1 3-41.2 9-60.3l127 56.5h-27.9v38.6h58.1l5.7 11.8v18.7h-63.8V360h63.8v56h61.7v-56h64.2v-35.7l81 36.1c-1.5 2.2-57.1 98.3-175.2 98.3zm87.6-137.3h-57.6v-18.7l2.9-5.6 54.7 24.3zm6.5-51.4v-17.8h-38.6l63-116H301l-43.4 96-23-10.2-39.6-85.7h-65.8l27.3 51-81.9-36.5c27.8-44.1 82.6-98.1 173.7-98.1 112.8 0 203 90 203 203.4 0 21-2.7 40.6-7.9 59l-101-45.1z\"]\n};\nvar faCreativeCommonsNd = {\n prefix: 'fab',\n iconName: 'creative-commons-nd',\n icon: [496, 512, [], \"f4eb\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z\"]\n};\nvar faCreativeCommonsPd = {\n prefix: 'fab',\n iconName: 'creative-commons-pd',\n icon: [496, 512, [], \"f4ec\", \"M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm0 449.5c-139.2 0-235.8-138-190.2-267.9l78.8 35.1c-2.1 10.5-3.3 21.5-3.3 32.9 0 99 73.9 126.9 120.4 126.9 22.9 0 53.5-6.7 79.4-29.5L297 311.1c-5.5 6.3-17.6 16.7-36.3 16.7-37.8 0-53.7-39.9-53.9-71.9 230.4 102.6 216.5 96.5 217.9 96.8-34.3 62.4-100.6 104.8-176.7 104.8zm194.2-150l-224-100c18.8-34 54.9-30.7 74.7-11l40.4-41.6c-27.1-23.3-58-27.5-78.1-27.5-47.4 0-80.9 20.5-100.7 51.6l-74.9-33.4c36.1-54.9 98.1-91.2 168.5-91.2 111.1 0 201.5 90.4 201.5 201.5 0 18-2.4 35.4-6.8 52-.3-.1-.4-.2-.6-.4z\"]\n};\nvar faCreativeCommonsPdAlt = {\n prefix: 'fab',\n iconName: 'creative-commons-pd-alt',\n icon: [496, 512, [], \"f4ed\", \"M247.6 8C104.7 8 0 123.1 0 256c0 138.5 113.6 248 247.6 248C377.5 504 496 403.1 496 256 496 118.1 389.4 8 247.6 8zm.8 450.8c-112.5 0-203.7-93-203.7-202.8 0-105.4 85.5-203.3 203.7-203.3 112.6 0 202.9 89.5 202.8 203.3 0 121.7-99.6 202.8-202.8 202.8zM316.7 186h-53.2v137.2h53.2c21.4 0 70-5.1 70-68.6 0-63.4-48.6-68.6-70-68.6zm.8 108.5h-19.9v-79.7l19.4-.1c3.8 0 35-2.1 35 39.9 0 24.6-10.5 39.9-34.5 39.9zM203.7 186h-68.2v137.3h34.6V279h27c54.1 0 57.1-37.5 57.1-46.5 0-31-16.8-46.5-50.5-46.5zm-4.9 67.3h-29.2v-41.6h28.3c30.9 0 28.8 41.6.9 41.6z\"]\n};\nvar faCreativeCommonsRemix = {\n prefix: 'fab',\n iconName: 'creative-commons-remix',\n icon: [496, 512, [], \"f4ee\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm161.7 207.7l4.9 2.2v70c-7.2 3.6-63.4 27.5-67.3 28.8-6.5-1.8-113.7-46.8-137.3-56.2l-64.2 26.6-63.3-27.5v-63.8l59.3-24.8c-.7-.7-.4 5-.4-70.4l67.3-29.7L361 178.5v61.6l49.1 20.3zm-70.4 81.5v-43.8h-.4v-1.8l-113.8-46.5V295l113.8 46.9v-.4l.4.4zm7.5-57.6l39.9-16.4-36.8-15.5-39 16.4 35.9 15.5zm52.3 38.1v-43L355.2 298v43.4l44.3-19z\"]\n};\nvar faCreativeCommonsSa = {\n prefix: 'fab',\n iconName: 'creative-commons-sa',\n icon: [496, 512, [], \"f4ef\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zM137.7 221c13-83.9 80.5-95.7 108.9-95.7 99.8 0 127.5 82.5 127.5 134.2 0 63.6-41 132.9-128.9 132.9-38.9 0-99.1-20-109.4-97h62.5c1.5 30.1 19.6 45.2 54.5 45.2 23.3 0 58-18.2 58-82.8 0-82.5-49.1-80.6-56.7-80.6-33.1 0-51.7 14.6-55.8 43.8h18.2l-49.2 49.2-49-49.2h19.4z\"]\n};\nvar faCreativeCommonsSampling = {\n prefix: 'fab',\n iconName: 'creative-commons-sampling',\n icon: [496, 512, [], \"f4f0\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm3.6 53.2c2.8-.3 11.5 1 11.5 11.5l6.6 107.2 4.9-59.3c0-6 4.7-10.6 10.6-10.6 5.9 0 10.6 4.7 10.6 10.6 0 2.5-.5-5.7 5.7 81.5l5.8-64.2c.3-2.9 2.9-9.3 10.2-9.3 3.8 0 9.9 2.3 10.6 8.9l11.5 96.5 5.3-12.8c1.8-4.4 5.2-6.6 10.2-6.6h58v21.3h-50.9l-18.2 44.3c-3.9 9.9-19.5 9.1-20.8-3.1l-4-31.9-7.5 92.6c-.3 3-3 9.3-10.2 9.3-3 0-9.8-2.1-10.6-9.3 0-1.9.6 5.8-6.2-77.9l-5.3 72.2c-1.1 4.8-4.8 9.3-10.6 9.3-2.9 0-9.8-2-10.6-9.3 0-1.9.5 6.7-5.8-87.7l-5.8 94.8c0 6.3-3.6 12.4-10.6 12.4-5.2 0-10.6-4.1-10.6-12l-5.8-87.7c-5.8 92.5-5.3 84-5.3 85.9-1.1 4.8-4.8 9.3-10.6 9.3-3 0-9.8-2.1-10.6-9.3 0-.7-.4-1.1-.4-2.6l-6.2-88.6L182 348c-.7 6.5-6.7 9.3-10.6 9.3-5.8 0-9.6-4.1-10.6-8.9L149.7 272c-2 4-3.5 8.4-11.1 8.4H87.2v-21.3H132l13.7-27.9c4.4-9.9 18.2-7.2 19.9 2.7l3.1 20.4 8.4-97.9c0-6 4.8-10.6 10.6-10.6.5 0 10.6-.2 10.6 12.4l4.9 69.1 6.6-92.6c0-10.1 9.5-10.6 10.2-10.6.6 0 10.6.7 10.6 10.6l5.3 80.6 6.2-97.9c.1-1.1-.6-10.3 9.9-11.5z\"]\n};\nvar faCreativeCommonsSamplingPlus = {\n prefix: 'fab',\n iconName: 'creative-commons-sampling-plus',\n icon: [496, 512, [], \"f4f1\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm107 205.6c-4.7 0-9 2.8-10.7 7.2l-4 9.5-11-92.8c-1.7-13.9-22-13.4-23.1.4l-4.3 51.4-5.2-68.8c-1.1-14.3-22.1-14.2-23.2 0l-3.5 44.9-5.9-94.3c-.9-14.5-22.3-14.4-23.2 0l-5.1 83.7-4.3-66.3c-.9-14.4-22.2-14.4-23.2 0l-5.3 80.2-4.1-57c-1.1-14.3-22-14.3-23.2-.2l-7.7 89.8-1.8-12.2c-1.7-11.4-17.1-13.6-22-3.3l-13.2 27.7H87.5v23.2h51.3c4.4 0 8.4-2.5 10.4-6.4l10.7 73.1c2 13.5 21.9 13 23.1-.7l3.8-43.6 5.7 78.3c1.1 14.4 22.3 14.2 23.2-.1l4.6-70.4 4.8 73.3c.9 14.4 22.3 14.4 23.2-.1l4.9-80.5 4.5 71.8c.9 14.3 22.1 14.5 23.2.2l4.6-58.6 4.9 64.4c1.1 14.3 22 14.2 23.1.1l6.8-83 2.7 22.3c1.4 11.8 17.7 14.1 22.3 3.1l18-43.4h50.5V258l-58.4.3zm-78 5.2h-21.9v21.9c0 4.1-3.3 7.5-7.5 7.5-4.1 0-7.5-3.3-7.5-7.5v-21.9h-21.9c-4.1 0-7.5-3.3-7.5-7.5 0-4.1 3.4-7.5 7.5-7.5h21.9v-21.9c0-4.1 3.4-7.5 7.5-7.5s7.5 3.3 7.5 7.5v21.9h21.9c4.1 0 7.5 3.3 7.5 7.5 0 4.1-3.4 7.5-7.5 7.5z\"]\n};\nvar faCreativeCommonsShare = {\n prefix: 'fab',\n iconName: 'creative-commons-share',\n icon: [496, 512, [], \"f4f2\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm101 132.4c7.8 0 13.7 6.1 13.7 13.7v182.5c0 7.7-6.1 13.7-13.7 13.7H214.3c-7.7 0-13.7-6-13.7-13.7v-54h-54c-7.8 0-13.7-6-13.7-13.7V131.1c0-8.2 6.6-12.7 12.4-13.7h136.4c7.7 0 13.7 6 13.7 13.7v54h54zM159.9 300.3h40.7V198.9c0-7.4 5.8-12.6 12-13.7h55.8v-40.3H159.9v155.4zm176.2-88.1H227.6v155.4h108.5V212.2z\"]\n};\nvar faCreativeCommonsZero = {\n prefix: 'fab',\n iconName: 'creative-commons-zero',\n icon: [496, 512, [], \"f4f3\", \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm-.4 60.5c-81.9 0-102.5 77.3-102.5 142.8 0 65.5 20.6 142.8 102.5 142.8S350.5 321.5 350.5 256c0-65.5-20.6-142.8-102.5-142.8zm0 53.9c3.3 0 6.4.5 9.2 1.2 5.9 5.1 8.8 12.1 3.1 21.9l-54.5 100.2c-1.7-12.7-1.9-25.1-1.9-34.4 0-28.8 2-88.9 44.1-88.9zm40.8 46.2c2.9 15.4 3.3 31.4 3.3 42.7 0 28.9-2 88.9-44.1 88.9-13.5 0-32.6-7.7-20.1-26.4l60.9-105.2z\"]\n};\nvar faCriticalRole = {\n prefix: 'fab',\n iconName: 'critical-role',\n icon: [448, 512, [], \"f6c9\", \"M225.82 0c.26.15 216.57 124.51 217.12 124.72 3 1.18 3.7 3.46 3.7 6.56q-.11 125.17 0 250.36a5.88 5.88 0 0 1-3.38 5.78c-21.37 12-207.86 118.29-218.93 124.58h-3C142 466.34 3.08 386.56 2.93 386.48a3.29 3.29 0 0 1-1.88-3.24c0-.87 0-225.94-.05-253.1a5 5 0 0 1 2.93-4.93C27.19 112.11 213.2 6 224.07 0zM215.4 20.42l-.22-.16Q118.06 75.55 21 130.87c0 .12.08.23.13.35l30.86 11.64c-7.71 6-8.32 6-10.65 5.13-.1 0-24.17-9.28-26.8-10v230.43c.88-1.41 64.07-110.91 64.13-111 1.62-2.82 3-1.92 9.12-1.52 1.4.09 1.48.22.78 1.42-41.19 71.33-36.4 63-67.48 116.94-.81 1.4-.61 1.13 1.25 1.13h186.5c1.44 0 1.69-.23 1.7-1.64v-8.88c0-1.34 2.36-.81-18.37-1-7.46-.07-14.14-3.22-21.38-12.7-7.38-9.66-14.62-19.43-21.85-29.21-2.28-3.08-3.45-2.38-16.76-2.38-1.75 0-1.78 0-1.76 1.82.29 26.21.15 25.27 1 32.66.52 4.37 2.16 4.2 9.69 4.81 3.14.26 3.88 4.08.52 4.92-1.57.39-31.6.51-33.67-.1a2.42 2.42 0 0 1 .3-4.73c3.29-.76 6.16.81 6.66-4.44 1.3-13.66 1.17-9 1.1-79.42 0-10.82-.35-12.58-5.36-13.55-1.22-.24-3.54-.16-4.69-.55-2.88-1-2-4.84 1.77-4.85 33.67 0 46.08-1.07 56.06 4.86 7.74 4.61 12 11.48 12.51 20.4.88 14.59-6.51 22.35-15 32.59a1.46 1.46 0 0 0 0 2.22c2.6 3.25 5 6.63 7.71 9.83 27.56 33.23 24.11 30.54 41.28 33.06.89.13 1-.42 1-1.15v-11c0-1 .32-1.43 1.41-1.26a72.37 72.37 0 0 0 23.58-.3c1.08-.15 1.5.2 1.48 1.33 0 .11.88 26.69.87 26.8-.05 1.52.67 1.62 1.89 1.62h186.71Q386.51 304.6 346 234.33c2.26-.66-.4 0 6.69-1.39 2-.39 2.05-.41 3.11 1.44 7.31 12.64 77.31 134 77.37 134.06V138c-1.72.5-103.3 38.72-105.76 39.68-1.08.42-1.55.2-1.91-.88-.63-1.9-1.34-3.76-2.09-5.62-.32-.79-.09-1.13.65-1.39.1 0 95.53-35.85 103-38.77-65.42-37.57-130.56-75-196-112.6l86.82 150.39-.28.33c-9.57-.9-10.46-1.6-11.8-3.94-1-1.69-73.5-127.71-82-142.16-9.1 14.67-83.56 146.21-85.37 146.32-2.93.17-5.88.08-9.25.08q43.25-74.74 86.18-149zm51.93 129.92a37.68 37.68 0 0 0 5.54-.85c1.69-.3 2.53.2 2.6 1.92 0 .11.07 19.06-.86 20.45s-1.88 1.22-2.6-.19c-5-9.69 6.22-9.66-39.12-12-.7 0-1 .23-1 .93 0 .13 3.72 122 3.73 122.11 0 .89.52 1.2 1.21 1.51a83.92 83.92 0 0 1 8.7 4.05c7.31 4.33 11.38 10.84 12.41 19.31 1.44 11.8-2.77 35.77-32.21 37.14-2.75.13-28.26 1.08-34.14-23.25-4.66-19.26 8.26-32.7 19.89-36.4a2.45 2.45 0 0 0 2-2.66c.1-5.63 3-107.1 3.71-121.35.05-1.08-.62-1.16-1.35-1.15-32.35.52-36.75-.34-40.22 8.52-2.42 6.18-4.14 1.32-3.95.23q1.59-9 3.31-18c.4-2.11 1.43-2.61 3.43-1.86 5.59 2.11 6.72 1.7 37.25 1.92 1.73 0 1.78-.08 1.82-1.85.68-27.49.58-22.59 1-29.55a2.69 2.69 0 0 0-1.63-2.8c-5.6-2.91-8.75-7.55-8.9-13.87-.35-14.81 17.72-21.67 27.38-11.51 6.84 7.19 5.8 18.91-2.45 24.15a4.35 4.35 0 0 0-2.22 4.34c0 .59-.11-4.31 1 30.05 0 .9.43 1.12 1.24 1.11.1 0 23-.09 34.47-.37zM68.27 141.7c19.84-4.51 32.68-.56 52.49 1.69 2.76.31 3.74 1.22 3.62 4-.21 5-1.16 22.33-1.24 23.15a2.65 2.65 0 0 1-1.63 2.34c-4.06 1.7-3.61-4.45-4-7.29-3.13-22.43-73.87-32.7-74.63 25.4-.31 23.92 17 53.63 54.08 50.88 27.24-2 19-20.19 24.84-20.47a2.72 2.72 0 0 1 3 3.36c-1.83 10.85-3.42 18.95-3.45 19.15-1.54 9.17-86.7 22.09-93.35-42.06-2.71-25.85 10.44-53.37 40.27-60.15zm80 87.67h-19.49a2.57 2.57 0 0 1-2.66-1.79c2.38-3.75 5.89.92 5.86-6.14-.08-25.75.21-38 .23-40.1 0-3.42-.53-4.65-3.32-4.94-7-.72-3.11-3.37-1.11-3.38 11.84-.1 22.62-.18 30.05.72 8.77 1.07 16.71 12.63 7.93 22.62-2 2.25-4 4.42-6.14 6.73.95 1.15 6.9 8.82 17.28 19.68 2.66 2.78 6.15 3.51 9.88 3.13a2.21 2.21 0 0 0 2.23-2.12c.3-3.42.26 4.73.45-40.58 0-5.65-.34-6.58-3.23-6.83-3.95-.35-4-2.26-.69-3.37l19.09-.09c.32 0 4.49.53 1 3.38 0 .05-.16 0-.24 0-3.61.26-3.94 1-4 4.62-.27 43.93.07 40.23.41 42.82.11.84.27 2.23 5.1 2.14 2.49 0 3.86 3.37 0 3.4-10.37.08-20.74 0-31.11.07-10.67 0-13.47-6.2-24.21-20.82-1.6-2.18-8.31-2.36-8.2-.37.88 16.47 0 17.78 4 17.67 4.75-.1 4.73 3.57.83 3.55zm275-10.15c-1.21 7.13.17 10.38-5.3 10.34-61.55-.42-47.82-.22-50.72-.31a18.4 18.4 0 0 1-3.63-.73c-2.53-.6 1.48-1.23-.38-5.6-1.43-3.37-2.78-6.78-4.11-10.19a1.94 1.94 0 0 0-2-1.44 138 138 0 0 0-14.58.07 2.23 2.23 0 0 0-1.62 1.06c-1.58 3.62-3.07 7.29-4.51 11-1.27 3.23 7.86 1.32 12.19 2.16 3 .57 4.53 3.72.66 3.73H322.9c-2.92 0-3.09-3.15-.74-3.21a6.3 6.3 0 0 0 5.92-3.47c1.5-3 2.8-6 4.11-9.09 18.18-42.14 17.06-40.17 18.42-41.61a1.83 1.83 0 0 1 3 0c2.93 3.34 18.4 44.71 23.62 51.92 2 2.7 5.74 2 6.36 2 3.61.13 4-1.11 4.13-4.29.09-1.87.08 1.17.07-41.24 0-4.46-2.36-3.74-5.55-4.27-.26 0-2.56-.63-.08-3.06.21-.2-.89-.24 21.7-.15 2.32 0 5.32 2.75-1.21 3.45a2.56 2.56 0 0 0-2.66 2.83c-.07 1.63-.19 38.89.29 41.21a3.06 3.06 0 0 0 3.23 2.43c13.25.43 14.92.44 16-3.41 1.67-5.78 4.13-2.52 3.73-.19zm-104.72 64.37c-4.24 0-4.42-3.39-.61-3.41 35.91-.16 28.11.38 37.19-.65 1.68-.19 2.38.24 2.25 1.89-.26 3.39-.64 6.78-1 10.16-.25 2.16-3.2 2.61-3.4-.15-.38-5.31-2.15-4.45-15.63-5.08-1.58-.07-1.64 0-1.64 1.52V304c0 1.65 0 1.6 1.62 1.47 3.12-.25 10.31.34 15.69-1.52.47-.16 3.3-1.79 3.07 1.76 0 .21-.76 10.35-1.18 11.39-.53 1.29-1.88 1.51-2.58.32-1.17-2 0-5.08-3.71-5.3-15.42-.9-12.91-2.55-12.91 6 0 12.25-.76 16.11 3.89 16.24 16.64.48 14.4 0 16.43-5.71.84-2.37 3.5-1.77 3.18.58-.44 3.21-.85 6.43-1.23 9.64 0 .36-.16 2.4-4.66 2.39-37.16-.08-34.54-.19-35.21-.31-2.72-.51-2.2-3 .22-3.45 1.1-.19 4 .54 4.16-2.56 2.44-56.22-.07-51.34-3.91-51.33zm-.41-109.52c2.46.61 3.13 1.76 2.95 4.65-.33 5.3-.34 9-.55 9.69-.66 2.23-3.15 2.12-3.34-.27-.38-4.81-3.05-7.82-7.57-9.15-26.28-7.73-32.81 15.46-27.17 30.22 5.88 15.41 22 15.92 28.86 13.78 5.92-1.85 5.88-6.5 6.91-7.58 1.23-1.3 2.25-1.84 3.12 1.1 0 .1.57 11.89-6 12.75-1.6.21-19.38 3.69-32.68-3.39-21-11.19-16.74-35.47-6.88-45.33 14-14.06 39.91-7.06 42.32-6.47zM289.8 280.14c3.28 0 3.66 3 .16 3.43-2.61.32-5-.42-5 5.46 0 2-.19 29.05.4 41.45.11 2.29 1.15 3.52 3.44 3.65 22 1.21 14.95-1.65 18.79-6.34 1.83-2.24 2.76.84 2.76 1.08.35 13.62-4 12.39-5.19 12.4l-38.16-.19c-1.93-.23-2.06-3-.42-3.38 2-.48 4.94.4 5.13-2.8 1-15.87.57-44.65.34-47.81-.27-3.77-2.8-3.27-5.68-3.71-2.47-.38-2-3.22.34-3.22 1.45-.02 17.97-.03 23.09-.02zm-31.63-57.79c.07 4.08 2.86 3.46 6 3.58 2.61.1 2.53 3.41-.07 3.43-6.48 0-13.7 0-21.61-.06-3.84 0-3.38-3.35 0-3.37 4.49 0 3.24 1.61 3.41-45.54 0-5.08-3.27-3.54-4.72-4.23-2.58-1.23-1.36-3.09.41-3.15 1.29 0 20.19-.41 21.17.21s1.87 1.65-.42 2.86c-1 .52-3.86-.28-4.15 2.47 0 .21-.82 1.63-.07 43.8zm-36.91 274.27a2.93 2.93 0 0 0 3.26 0c17-9.79 182-103.57 197.42-112.51-.14-.43 11.26-.18-181.52-.27-1.22 0-1.57.37-1.53 1.56 0 .1 1.25 44.51 1.22 50.38a28.33 28.33 0 0 1-1.36 7.71c-.55 1.83.38-.5-13.5 32.23-.73 1.72-1 2.21-2-.08-4.19-10.34-8.28-20.72-12.57-31a23.6 23.6 0 0 1-2-10.79c.16-2.46.8-16.12 1.51-48 0-1.95 0-2-2-2h-183c2.58 1.63 178.32 102.57 196 112.76zm-90.9-188.75c0 2.4.36 2.79 2.76 3 11.54 1.17 21 3.74 25.64-7.32 6-14.46 2.66-34.41-12.48-38.84-2-.59-16-2.76-15.94 1.51.05 8.04.01 11.61.02 41.65zm105.75-15.05c0 2.13 1.07 38.68 1.09 39.13.34 9.94-25.58 5.77-25.23-2.59.08-2 1.37-37.42 1.1-39.43-14.1 7.44-14.42 40.21 6.44 48.8a17.9 17.9 0 0 0 22.39-7.07c4.91-7.76 6.84-29.47-5.43-39a2.53 2.53 0 0 1-.36.12zm-12.28-198c-9.83 0-9.73 14.75-.07 14.87s10.1-14.88.07-14.91zm-80.15 103.83c0 1.8.41 2.4 2.17 2.58 13.62 1.39 12.51-11 12.16-13.36-1.69-11.22-14.38-10.2-14.35-7.81.05 4.5-.03 13.68.02 18.59zm212.32 6.4l-6.1-15.84c-2.16 5.48-4.16 10.57-6.23 15.84z\"]\n};\nvar faCss3 = {\n prefix: 'fab',\n iconName: 'css3',\n icon: [512, 512, [], \"f13c\", \"M480 32l-64 368-223.3 80L0 400l19.6-94.8h82l-8 40.6L210 390.2l134.1-44.4 18.8-97.1H29.5l16-82h333.7l10.5-52.7H56.3l16.3-82H480z\"]\n};\nvar faCss3Alt = {\n prefix: 'fab',\n iconName: 'css3-alt',\n icon: [384, 512, [], \"f38b\", \"M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z\"]\n};\nvar faCuttlefish = {\n prefix: 'fab',\n iconName: 'cuttlefish',\n icon: [440, 512, [], \"f38c\", \"M344 305.5c-17.5 31.6-57.4 54.5-96 54.5-56.6 0-104-47.4-104-104s47.4-104 104-104c38.6 0 78.5 22.9 96 54.5 13.7-50.9 41.7-93.3 87-117.8C385.7 39.1 320.5 8 248 8 111 8 0 119 0 256s111 248 248 248c72.5 0 137.7-31.1 183-80.7-45.3-24.5-73.3-66.9-87-117.8z\"]\n};\nvar faDAndD = {\n prefix: 'fab',\n iconName: 'd-and-d',\n icon: [576, 512, [], \"f38d\", \"M82.5 98.9c-.6-17.2 2-33.8 12.7-48.2.3 7.4 1.2 14.5 4.2 21.6 5.9-27.5 19.7-49.3 42.3-65.5-1.9 5.9-3.5 11.8-3 17.7 8.7-7.4 18.8-17.8 44.4-22.7 14.7-2.8 29.7-2 42.1 1 38.5 9.3 61 34.3 69.7 72.3 5.3 23.1.7 45-8.3 66.4-5.2 12.4-12 24.4-20.7 35.1-2-1.9-3.9-3.8-5.8-5.6-42.8-40.8-26.8-25.2-37.4-37.4-1.1-1.2-1-2.2-.1-3.6 8.3-13.5 11.8-28.2 10-44-1.1-9.8-4.3-18.9-11.3-26.2-14.5-15.3-39.2-15-53.5.6-11.4 12.5-14.1 27.4-10.9 43.6.2 1.3.4 2.7 0 3.9-3.4 13.7-4.6 27.6-2.5 41.6.1.5.1 1.1.1 1.6 0 .3-.1.5-.2 1.1-21.8-11-36-28.3-43.2-52.2-8.3 17.8-11.1 35.5-6.6 54.1-15.6-15.2-21.3-34.3-22-55.2zm469.6 123.2c-11.6-11.6-25-20.4-40.1-26.6-12.8-5.2-26-7.9-39.9-7.1-10 .6-19.6 3.1-29 6.4-2.5.9-5.1 1.6-7.7 2.2-4.9 1.2-7.3-3.1-4.7-6.8 3.2-4.6 3.4-4.2 15-12 .6-.4 1.2-.8 2.2-1.5h-2.5c-.6 0-1.2.2-1.9.3-19.3 3.3-30.7 15.5-48.9 29.6-10.4 8.1-13.8 3.8-12-.5 1.4-3.5 3.3-6.7 5.1-10 1-1.8 2.3-3.4 3.5-5.1-.2-.2-.5-.3-.7-.5-27 18.3-46.7 42.4-57.7 73.3.3.3.7.6 1 .9.3-.6.5-1.2.9-1.7 10.4-12.1 22.8-21.8 36.6-29.8 18.2-10.6 37.5-18.3 58.7-20.2 4.3-.4 8.7-.1 13.1-.1-1.8.7-3.5.9-5.3 1.1-18.5 2.4-35.5 9-51.5 18.5-30.2 17.9-54.5 42.2-75.1 70.4-.3.4-.4.9-.7 1.3 14.5 5.3 24 17.3 36.1 25.6.2-.1.3-.2.4-.4l1.2-2.7c12.2-26.9 27-52.3 46.7-74.5 16.7-18.8 38-25.3 62.5-20 5.9 1.3 11.4 4.4 17.2 6.8 2.3-1.4 5.1-3.2 8-4.7 8.4-4.3 17.4-7 26.7-9 14.7-3.1 29.5-4.9 44.5-1.3v-.5c-.5-.4-1.2-.8-1.7-1.4zM316.7 397.6c-39.4-33-22.8-19.5-42.7-35.6-.8.9 0-.2-1.9 3-11.2 19.1-25.5 35.3-44 47.6-10.3 6.8-21.5 11.8-34.1 11.8-21.6 0-38.2-9.5-49.4-27.8-12-19.5-13.3-40.7-8.2-62.6 7.8-33.8 30.1-55.2 38.6-64.3-18.7-6.2-33 1.7-46.4 13.9.8-13.9 4.3-26.2 11.8-37.3-24.3 10.6-45.9 25-64.8 43.9-.3-5.8 5.4-43.7 5.6-44.7.3-2.7-.6-5.3-3-7.4-24.2 24.7-44.5 51.8-56.1 84.6 7.4-5.9 14.9-11.4 23.6-16.2-8.3 22.3-19.6 52.8-7.8 101.1 4.6 19 11.9 36.8 24.1 52.3 2.9 3.7 6.3 6.9 9.5 10.3.2-.2.4-.3.6-.5-1.4-7-2.2-14.1-1.5-21.9 2.2 3.2 3.9 6 5.9 8.6 12.6 16 28.7 27.4 47.2 35.6 25 11.3 51.1 13.3 77.9 8.6 54.9-9.7 90.7-48.6 116-98.8 1-1.8.6-2.9-.9-4.2zm172-46.4c-9.5-3.1-22.2-4.2-28.7-2.9 9.9 4 14.1 6.6 18.8 12 12.6 14.4 10.4 34.7-5.4 45.6-11.7 8.1-24.9 10.5-38.9 9.1-1.2-.1-2.3-.4-3-.6 2.8-3.7 6-7 8.1-10.8 9.4-16.8 5.4-42.1-8.7-56.1-2.1-2.1-4.6-3.9-7-5.9-.3 1.3-.1 2.1.1 2.8 4.2 16.6-8.1 32.4-24.8 31.8-7.6-.3-13.9-3.8-19.6-8.5-19.5-16.1-39.1-32.1-58.5-48.3-5.9-4.9-12.5-8.1-20.1-8.7-4.6-.4-9.3-.6-13.9-.9-5.9-.4-8.8-2.8-10.4-8.4-.9-3.4-1.5-6.8-2.2-10.2-1.5-8.1-6.2-13-14.3-14.2-4.4-.7-8.9-1-13.3-1.5-13-1.4-19.8-7.4-22.6-20.3-5 11-1.6 22.4 7.3 29.9 4.5 3.8 9.3 7.3 13.8 11.2 4.6 3.8 7.4 8.7 7.9 14.8.4 4.7.8 9.5 1.8 14.1 2.2 10.6 8.9 18.4 17 25.1 16.5 13.7 33 27.3 49.5 41.1 17.9 15 13.9 32.8 13 56-.9 22.9 12.2 42.9 33.5 51.2 1 .4 2 .6 3.6 1.1-15.7-18.2-10.1-44.1.7-52.3.3 2.2.4 4.3.9 6.4 9.4 44.1 45.4 64.2 85 56.9 16-2.9 30.6-8.9 42.9-19.8 2-1.8 3.7-4.1 5.9-6.5-19.3 4.6-35.8.1-50.9-10.6.7-.3 1.3-.3 1.9-.3 21.3 1.8 40.6-3.4 57-17.4 19.5-16.6 26.6-42.9 17.4-66-8.3-20.1-23.6-32.3-43.8-38.9zM99.4 179.3c-5.3-9.2-13.2-15.6-22.1-21.3 13.7-.5 26.6.2 39.6 3.7-7-12.2-8.5-24.7-5-38.7 5.3 11.9 13.7 20.1 23.6 26.8 19.7 13.2 35.7 19.6 46.7 30.2 3.4 3.3 6.3 7.1 9.6 10.9-.8-2.1-1.4-4.1-2.2-6-5-10.6-13-18.6-22.6-25-1.8-1.2-2.8-2.5-3.4-4.5-3.3-12.5-3-25.1-.7-37.6 1-5.5 2.8-10.9 4.5-16.3.8-2.4 2.3-4.6 4-6.6.6 6.9 0 25.5 19.6 46 10.8 11.3 22.4 21.9 33.9 32.7 9 8.5 18.3 16.7 25.5 26.8 1.1 1.6 2.2 3.3 3.8 4.7-5-13-14.2-24.1-24.2-33.8-9.6-9.3-19.4-18.4-29.2-27.4-3.3-3-4.6-6.7-5.1-10.9-1.2-10.4 0-20.6 4.3-30.2.5-1 1.1-2 1.9-3.3.5 4.2.6 7.9 1.4 11.6 4.8 23.1 20.4 36.3 49.3 63.5 10 9.4 19.3 19.2 25.6 31.6 4.8 9.3 7.3 19 5.7 29.6-.1.6.5 1.7 1.1 2 6.2 2.6 10 6.9 9.7 14.3 7.7-2.6 12.5-8 16.4-14.5 4.2 20.2-9.1 50.3-27.2 58.7.4-4.5 5-23.4-16.5-27.7-6.8-1.3-12.8-1.3-22.9-2.1 4.7-9 10.4-20.6.5-22.4-24.9-4.6-52.8 1.9-57.8 4.6 8.2.4 16.3 1 23.5 3.3-2 6.5-4 12.7-5.8 18.9-1.9 6.5 2.1 14.6 9.3 9.6 1.2-.9 2.3-1.9 3.3-2.7-3.1 17.9-2.9 15.9-2.8 18.3.3 10.2 9.5 7.8 15.7 7.3-2.5 11.8-29.5 27.3-45.4 25.8 7-4.7 12.7-10.3 15.9-17.9-6.5.8-12.9 1.6-19.2 2.4l-.3-.9c4.7-3.4 8-7.8 10.2-13.1 8.7-21.1-3.6-38-25-39.9-9.1-.8-17.8.8-25.9 5.5 6.2-15.6 17.2-26.6 32.6-34.5-15.2-4.3-8.9-2.7-24.6-6.3 14.6-9.3 30.2-13.2 46.5-14.6-5.2-3.2-48.1-3.6-70.2 20.9 7.9 1.4 15.5 2.8 23.2 4.2-23.8 7-44 19.7-62.4 35.6 1.1-4.8 2.7-9.5 3.3-14.3.6-4.5.8-9.2.1-13.6-1.5-9.4-8.9-15.1-19.7-16.3-7.9-.9-15.6.1-23.3 1.3-.9.1-1.7.3-2.9 0 15.8-14.8 36-21.7 53.1-33.5 6-4.5 6.8-8.2 3-14.9zm128.4 26.8c3.3 16 12.6 25.5 23.8 24.3-4.6-11.3-12.1-19.5-23.8-24.3z\"]\n};\nvar faDAndDBeyond = {\n prefix: 'fab',\n iconName: 'd-and-d-beyond',\n icon: [640, 512, [], \"f6ca\", \"M313.8 241.5c13.8 0 21-10.1 24.8-17.9-1-1.1-5-4.2-7.4-6.6-2.4 4.3-8.2 10.7-13.9 10.7-10.2 0-15.4-14.7-3.2-26.6-.5-.2-4.3-1.8-8 2.4 0-3 1-5.1 2.1-6.6-3.5 1.3-9.8 5.6-11.4 7.9.2-5.8 1.6-7.5.6-9l-.2-.2s-8.5 5.6-9.3 14.7c0 0 1.1-1.6 2.1-1.9.6-.3 1.3 0 .6 1.9-.2.6-5.8 15.7 5.1 26-.6-1.6-1.9-7.6 2.4-1.9-.3.1 5.8 7.1 15.7 7.1zm52.4-21.1c0-4-4.9-4.4-5.6-4.5 2 3.9.9 7.5.2 9 2.5-.4 5.4-1.6 5.4-4.5zm10.3 5.2c0-6.4-6.2-11.4-13.5-10.7 8 1.3 5.6 13.8-5 11.4 3.7-2.6 3.2-9.9-1.3-12.5 1.4 4.2-3 8.2-7.4 4.6-2.4-1.9-8-6.6-10.6-8.6-2.4-2.1-5.5-1-6.6-1.8-1.3-1.1-.5-3.8-2.2-5-1.6-.8-3-.3-4.8-1-1.6-.6-2.7-1.9-2.6-3.5-2.5 4.4 3.4 6.3 4.5 8.5 1 1.9-.8 4.8 4 8.5 14.8 11.6 9.1 8 10.4 18.1.6 4.3 4.2 6.7 6.4 7.4-2.1-1.9-2.9-6.4 0-9.3 0 13.9 19.2 13.3 23.1 6.4-2.4 1.1-7-.2-9-1.9 7.7 1 14.2-4.1 14.6-10.6zm-39.4-18.4c2 .8 1.6.7 6.4 4.5 10.2-24.5 21.7-15.7 22-15.5 2.2-1.9 9.8-3.8 13.8-2.7-2.4-2.7-7.5-6.2-13.3-6.2-4.7 0-7.4 2.2-8 1.3-.8-1.4 3.2-3.4 3.2-3.4-5.4.2-9.6 6.7-11.2 5.9-1.1-.5 1.4-3.7 1.4-3.7-5.1 2.9-9.3 9.1-10.2 13 4.6-5.8 13.8-9.8 19.7-9-10.5.5-19.5 9.7-23.8 15.8zm242.5 51.9c-20.7 0-40 1.3-50.3 2.1l7.4 8.2v77.2l-7.4 8.2c10.4.8 30.9 2.1 51.6 2.1 42.1 0 59.1-20.7 59.1-48.9 0-29.3-23.2-48.9-60.4-48.9zm-15.1 75.6v-53.3c30.1-3.3 46.8 3.8 46.8 26.3 0 25.6-21.4 30.2-46.8 27zM301.6 181c-1-3.4-.2-6.9 1.1-9.4 1 3 2.6 6.4 7.5 9-.5-2.4-.2-5.6.5-8-1.4-5.4 2.1-9.9 6.4-9.9 6.9 0 8.5 8.8 4.7 14.4 2.1 3.2 5.5 5.6 7.7 7.8 3.2-3.7 5.5-9.5 5.5-13.8 0-8.2-5.5-15.9-16.7-16.5-20-.9-20.2 16.6-20 18.9.5 5.2 3.4 7.8 3.3 7.5zm-.4 6c-.5 1.8-7 3.7-10.2 6.9 4.8-1 7-.2 7.8 1.8.5 1.4-.2 3.4-.5 5.6 1.6-1.8 7-5.5 11-6.2-1-.3-3.4-.8-4.3-.8 2.9-3.4 9.3-4.5 12.8-3.7-2.2-.2-6.7 1.1-8.5 2.6 1.6.3 3 .6 4.3 1.1-2.1.8-4.8 3.4-5.8 6.1 7-5 13.1 5.2 7 8.2.8.2 2.7 0 3.5-.5-.3 1.1-1.9 3-3 3.4 2.9 0 7-1.9 8.2-4.6 0 0-1.8.6-2.6-.2s.3-4.3.3-4.3c-2.3 2.9-3.4-1.3-1.3-4.2-1-.3-3.5-.6-4.6-.5 3.2-1.1 10.4-1.8 11.2-.3.6 1.1-1 3.4-1 3.4 4-.5 8.3 1.1 6.7 5.1 2.9-1.4 5.5-5.9 4.8-10.4-.3 1-1.6 2.4-2.9 2.7.2-1.4-1-2.2-1.9-2.6 1.7-9.6-14.6-14.2-14.1-23.9-1 1.3-1.8 5-.8 7.1 2.7 3.2 8.7 6.7 10.1 12.2-2.6-6.4-15.1-11.4-14.6-20.2-1.6 1.6-2.6 7.8-1.3 11 2.4 1.4 4.5 3.8 4.8 6.1-2.2-5.1-11.4-6.1-13.9-12.2-.6 2.2-.3 5 1 6.7 0 0-2.2-.8-7-.6 1.7.6 5.1 3.5 4.8 5.2zm25.9 7.4c-2.7 0-3.5-2.1-4.2-4.3 3.3 1.3 4.2 4.3 4.2 4.3zm38.9 3.7l-1-.6c-1.1-1-2.9-1.4-4.7-1.4-2.9 0-5.8 1.3-7.5 3.4-.8.8-1.4 1.8-2.1 2.6v15.7c3.5 2.6 7.1-2.9 3-7.2 1.5.3 4.6 2.7 5.1 3.2 0 0 2.6-.5 5-.5 2.1 0 3.9.3 5.6 1.1V196c-1.1.5-2.2 1-2.7 1.4zM79.9 305.9c17.2-4.6 16.2-18 16.2-19.9 0-20.6-24.1-25-37-25H3l8.3 8.6v29.5H0l11.4 14.6V346L3 354.6c61.7 0 73.8 1.5 86.4-5.9 6.7-4 9.9-9.8 9.9-17.6 0-5.1 2.6-18.8-19.4-25.2zm-41.3-27.5c20 0 29.6-.8 29.6 9.1v3c0 12.1-19 8.8-29.6 8.8zm0 59.2V315c12.2 0 32.7-2.3 32.7 8.8v4.5h.2c0 11.2-12.5 9.3-32.9 9.3zm101.2-19.3l23.1.2v-.2l14.1-21.2h-37.2v-14.9h52.4l-14.1-21v-.2l-73.5.2 7.4 8.2v77.1l-7.4 8.2h81.2l14.1-21.2-60.1.2zm214.7-60.1c-73.9 0-77.5 99.3-.3 99.3 77.9 0 74.1-99.3.3-99.3zm-.3 77.5c-37.4 0-36.9-55.3.2-55.3 36.8.1 38.8 55.3-.2 55.3zm-91.3-8.3l44.1-66.2h-41.7l6.1 7.2-20.5 37.2h-.3l-21-37.2 6.4-7.2h-44.9l44.1 65.8.2 19.4-7.7 8.2h42.6l-7.2-8.2zm-28.4-151.3c1.6 1.3 2.9 2.4 2.9 6.6v38.8c0 4.2-.8 5.3-2.7 6.4-.1.1-7.5 4.5-7.9 4.6h35.1c10 0 17.4-1.5 26-8.6-.6-5 .2-9.5.8-12 0-.2-1.8 1.4-2.7 3.5 0-5.7 1.6-15.4 9.6-20.5-.1 0-3.7-.8-9 1.1 2-3.1 10-7.9 10.4-7.9-8.2-26-38-22.9-32.2-22.9-30.9 0-32.6.3-39.9-4 .1.8.5 8.2 9.6 14.9zm21.5 5.5c4.6 0 23.1-3.3 23.1 17.3 0 20.7-18.4 17.3-23.1 17.3zm228.9 79.6l7 8.3V312h-.3c-5.4-14.4-42.3-41.5-45.2-50.9h-31.6l7.4 8.5v76.9l-7.2 8.3h39l-7.4-8.2v-47.4h.3c3.7 10.6 44.5 42.9 48.5 55.6h21.3v-85.2l7.4-8.3zm-106.7-96.1c-32.2 0-32.8.2-39.9-4 .1.7.5 8.3 9.6 14.9 3.1 2 2.9 4.3 2.9 9.5 1.8-1.1 3.8-2.2 6.1-3-1.1 1.1-2.7 2.7-3.5 4.5 1-1.1 7.5-5.1 14.6-3.5-1.6.3-4 1.1-6.1 2.9.1 0 2.1-1.1 7.5-.3v-4.3c4.7 0 23.1-3.4 23.1 17.3 0 20.5-18.5 17.3-19.7 17.3 5.7 4.4 5.8 12 2.2 16.3h.3c33.4 0 36.7-27.3 36.7-34 0-3.8-1.1-32-33.8-33.6z\"]\n};\nvar faDailymotion = {\n prefix: 'fab',\n iconName: 'dailymotion',\n icon: [448, 512, [], \"e052\", \"M298.93,267a48.4,48.4,0,0,0-24.36-6.21q-19.83,0-33.44,13.27t-13.61,33.42q0,21.16,13.28,34.6t33.43,13.44q20.5,0,34.11-13.78T322,307.47A47.13,47.13,0,0,0,315.9,284,44.13,44.13,0,0,0,298.93,267ZM0,32V480H448V32ZM374.71,405.26h-53.1V381.37h-.67q-15.79,26.2-55.78,26.2-27.56,0-48.89-13.1a88.29,88.29,0,0,1-32.94-35.77q-11.6-22.68-11.59-50.89,0-27.56,11.76-50.22a89.9,89.9,0,0,1,32.93-35.78q21.18-13.09,47.72-13.1a80.87,80.87,0,0,1,29.74,5.21q13.28,5.21,25,17V153l55.79-12.09Z\"]\n};\nvar faDashcube = {\n prefix: 'fab',\n iconName: 'dashcube',\n icon: [448, 512, [], \"f210\", \"M326.6 104H110.4c-51.1 0-91.2 43.3-91.2 93.5V427c0 50.5 40.1 85 91.2 85h227.2c51.1 0 91.2-34.5 91.2-85V0L326.6 104zM153.9 416.5c-17.7 0-32.4-15.1-32.4-32.8V240.8c0-17.7 14.7-32.5 32.4-32.5h140.7c17.7 0 32 14.8 32 32.5v123.5l51.1 52.3H153.9z\"]\n};\nvar faDeezer = {\n prefix: 'fab',\n iconName: 'deezer',\n icon: [576, 512, [], \"e077\", \"M451.46,244.71H576V172H451.46Zm0-173.89v72.67H576V70.82Zm0,275.06H576V273.2H451.46ZM0,447.09H124.54V374.42H0Zm150.47,0H275V374.42H150.47Zm150.52,0H425.53V374.42H301Zm150.47,0H576V374.42H451.46ZM301,345.88H425.53V273.2H301Zm-150.52,0H275V273.2H150.47Zm0-101.17H275V172H150.47Z\"]\n};\nvar faDelicious = {\n prefix: 'fab',\n iconName: 'delicious',\n icon: [448, 512, [], \"f1a5\", \"M446.5 68c-.4-1.5-.9-3-1.4-4.5-.9-2.5-2-4.8-3.3-7.1-1.4-2.4-3-4.8-4.7-6.9-2.1-2.5-4.4-4.8-6.9-6.8-1.1-.9-2.2-1.7-3.3-2.5-1.3-.9-2.6-1.7-4-2.4-1.8-1-3.6-1.8-5.5-2.5-1.7-.7-3.5-1.3-5.4-1.7-3.8-1-7.9-1.5-12-1.5H48C21.5 32 0 53.5 0 80v352c0 4.1.5 8.2 1.5 12 2 7.7 5.8 14.6 11 20.3 1 1.1 2.1 2.2 3.3 3.3 5.7 5.2 12.6 9 20.3 11 3.8 1 7.9 1.5 12 1.5h352c26.5 0 48-21.5 48-48V80c-.1-4.1-.6-8.2-1.6-12zM416 432c0 8.8-7.2 16-16 16H224V256H32V80c0-8.8 7.2-16 16-16h176v192h192z\"]\n};\nvar faDeploydog = {\n prefix: 'fab',\n iconName: 'deploydog',\n icon: [512, 512, [], \"f38e\", \"M382.2 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.6 0-33.2 16.4-33.2 32.6zM188.5 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.7 0-33.2 16.4-33.2 32.6zM448 96c17.5 0 32 14.4 32 32v256c0 17.5-14.4 32-32 32H64c-17.5 0-32-14.4-32-32V128c0-17.5 14.4-32 32-32h384m0-32H64C28.8 64 0 92.8 0 128v256c0 35.2 28.8 64 64 64h384c35.2 0 64-28.8 64-64V128c0-35.2-28.8-64-64-64z\"]\n};\nvar faDeskpro = {\n prefix: 'fab',\n iconName: 'deskpro',\n icon: [480, 512, [], \"f38f\", \"M205.9 512l31.1-38.4c12.3-.2 25.6-1.4 36.5-6.6 38.9-18.6 38.4-61.9 38.3-63.8-.1-5-.8-4.4-28.9-37.4H362c-.2 50.1-7.3 68.5-10.2 75.7-9.4 23.7-43.9 62.8-95.2 69.4-8.7 1.1-32.8 1.2-50.7 1.1zm200.4-167.7c38.6 0 58.5-13.6 73.7-30.9l-175.5-.3-17.4 31.3 119.2-.1zm-43.6-223.9v168.3h-73.5l-32.7 55.5H250c-52.3 0-58.1-56.5-58.3-58.9-1.2-13.2-21.3-11.6-20.1 1.8 1.4 15.8 8.8 40 26.4 57.1h-91c-25.5 0-110.8-26.8-107-114V16.9C0 .9 9.7.3 15 .1h82c.2 0 .3.1.5.1 4.3-.4 50.1-2.1 50.1 43.7 0 13.3 20.2 13.4 20.2 0 0-18.2-5.5-32.8-15.8-43.7h84.2c108.7-.4 126.5 79.4 126.5 120.2zm-132.5 56l64 29.3c13.3-45.5-42.2-71.7-64-29.3z\"]\n};\nvar faDev = {\n prefix: 'fab',\n iconName: 'dev',\n icon: [448, 512, [], \"f6cc\", \"M120.12 208.29c-3.88-2.9-7.77-4.35-11.65-4.35H91.03v104.47h17.45c3.88 0 7.77-1.45 11.65-4.35 3.88-2.9 5.82-7.25 5.82-13.06v-69.65c-.01-5.8-1.96-10.16-5.83-13.06zM404.1 32H43.9C19.7 32 .06 51.59 0 75.8v360.4C.06 460.41 19.7 480 43.9 480h360.2c24.21 0 43.84-19.59 43.9-43.8V75.8c-.06-24.21-19.7-43.8-43.9-43.8zM154.2 291.19c0 18.81-11.61 47.31-48.36 47.25h-46.4V172.98h47.38c35.44 0 47.36 28.46 47.37 47.28l.01 70.93zm100.68-88.66H201.6v38.42h32.57v29.57H201.6v38.41h53.29v29.57h-62.18c-11.16.29-20.44-8.53-20.72-19.69V193.7c-.27-11.15 8.56-20.41 19.71-20.69h63.19l-.01 29.52zm103.64 115.29c-13.2 30.75-36.85 24.63-47.44 0l-38.53-144.8h32.57l29.71 113.72 29.57-113.72h32.58l-38.46 144.8z\"]\n};\nvar faDeviantart = {\n prefix: 'fab',\n iconName: 'deviantart',\n icon: [320, 512, [], \"f1bd\", \"M320 93.2l-98.2 179.1 7.4 9.5H320v127.7H159.1l-13.5 9.2-43.7 84c-.3 0-8.6 8.6-9.2 9.2H0v-93.2l93.2-179.4-7.4-9.2H0V102.5h156l13.5-9.2 43.7-84c.3 0 8.6-8.6 9.2-9.2H320v93.1z\"]\n};\nvar faDhl = {\n prefix: 'fab',\n iconName: 'dhl',\n icon: [640, 512, [], \"f790\", \"M238 301.2h58.7L319 271h-58.7L238 301.2zM0 282.9v6.4h81.8l4.7-6.4H0zM172.9 271c-8.7 0-6-3.6-4.6-5.5 2.8-3.8 7.6-10.4 10.4-14.1 2.8-3.7 2.8-5.9-2.8-5.9h-51l-41.1 55.8h100.1c33.1 0 51.5-22.5 57.2-30.3h-68.2zm317.5-6.9l39.3-53.4h-62.2l-39.3 53.4h62.2zM95.3 271H0v6.4h90.6l4.7-6.4zm111-26.6c-2.8 3.8-7.5 10.4-10.3 14.2-1.4 2-4.1 5.5 4.6 5.5h45.6s7.3-10 13.5-18.4c8.4-11.4.7-35-29.2-35H112.6l-20.4 27.8h111.4c5.6 0 5.5 2.2 2.7 5.9zM0 301.2h73.1l4.7-6.4H0v6.4zm323 0h58.7L404 271h-58.7c-.1 0-22.3 30.2-22.3 30.2zm222 .1h95v-6.4h-90.3l-4.7 6.4zm22.3-30.3l-4.7 6.4H640V271h-72.7zm-13.5 18.3H640v-6.4h-81.5l-4.7 6.4zm-164.2-78.6l-22.5 30.6h-26.2l22.5-30.6h-58.7l-39.3 53.4H409l39.3-53.4h-58.7zm33.5 60.3s-4.3 5.9-6.4 8.7c-7.4 10-.9 21.6 23.2 21.6h94.3l22.3-30.3H423.1z\"]\n};\nvar faDiaspora = {\n prefix: 'fab',\n iconName: 'diaspora',\n icon: [512, 512, [], \"f791\", \"M251.64 354.55c-1.4 0-88 119.9-88.7 119.9S76.34 414 76 413.25s86.6-125.7 86.6-127.4c0-2.2-129.6-44-137.6-47.1-1.3-.5 31.4-101.8 31.7-102.1.6-.7 144.4 47 145.5 47 .4 0 .9-.6 1-1.3.4-2 1-148.6 1.7-149.6.8-1.2 104.5-.7 105.1-.3 1.5 1 3.5 156.1 6.1 156.1 1.4 0 138.7-47 139.3-46.3.8.9 31.9 102.2 31.5 102.6-.9.9-140.2 47.1-140.6 48.8-.3 1.4 82.8 122.1 82.5 122.9s-85.5 63.5-86.3 63.5c-1-.2-89-125.5-90.9-125.5z\"]\n};\nvar faDigg = {\n prefix: 'fab',\n iconName: 'digg',\n icon: [512, 512, [], \"f1a6\", \"M81.7 172.3H0v174.4h132.7V96h-51v76.3zm0 133.4H50.9v-92.3h30.8v92.3zm297.2-133.4v174.4h81.8v28.5h-81.8V416H512V172.3H378.9zm81.8 133.4h-30.8v-92.3h30.8v92.3zm-235.6 41h82.1v28.5h-82.1V416h133.3V172.3H225.1v174.4zm51.2-133.3h30.8v92.3h-30.8v-92.3zM153.3 96h51.3v51h-51.3V96zm0 76.3h51.3v174.4h-51.3V172.3z\"]\n};\nvar faDigitalOcean = {\n prefix: 'fab',\n iconName: 'digital-ocean',\n icon: [512, 512, [], \"f391\", \"M87 481.8h73.7v-73.6H87zM25.4 346.6v61.6H87v-61.6zm466.2-169.7c-23-74.2-82.4-133.3-156.6-156.6C164.9-32.8 8 93.7 8 255.9h95.8c0-101.8 101-180.5 208.1-141.7 39.7 14.3 71.5 46.1 85.8 85.7 39.1 107-39.7 207.8-141.4 208v.3h-.3V504c162.6 0 288.8-156.8 235.6-327.1zm-235.3 231v-95.3h-95.6v95.6H256v-.3z\"]\n};\nvar faDiscord = {\n prefix: 'fab',\n iconName: 'discord',\n icon: [448, 512, [], \"f392\", \"M297.216 243.2c0 15.616-11.52 28.416-26.112 28.416-14.336 0-26.112-12.8-26.112-28.416s11.52-28.416 26.112-28.416c14.592 0 26.112 12.8 26.112 28.416zm-119.552-28.416c-14.592 0-26.112 12.8-26.112 28.416s11.776 28.416 26.112 28.416c14.592 0 26.112-12.8 26.112-28.416.256-15.616-11.52-28.416-26.112-28.416zM448 52.736V512c-64.494-56.994-43.868-38.128-118.784-107.776l13.568 47.36H52.48C23.552 451.584 0 428.032 0 398.848V52.736C0 23.552 23.552 0 52.48 0h343.04C424.448 0 448 23.552 448 52.736zm-72.96 242.688c0-82.432-36.864-149.248-36.864-149.248-36.864-27.648-71.936-26.88-71.936-26.88l-3.584 4.096c43.52 13.312 63.744 32.512 63.744 32.512-60.811-33.329-132.244-33.335-191.232-7.424-9.472 4.352-15.104 7.424-15.104 7.424s21.248-20.224 67.328-33.536l-2.56-3.072s-35.072-.768-71.936 26.88c0 0-36.864 66.816-36.864 149.248 0 0 21.504 37.12 78.08 38.912 0 0 9.472-11.52 17.152-21.248-32.512-9.728-44.8-30.208-44.8-30.208 3.766 2.636 9.976 6.053 10.496 6.4 43.21 24.198 104.588 32.126 159.744 8.96 8.96-3.328 18.944-8.192 29.44-15.104 0 0-12.8 20.992-46.336 30.464 7.68 9.728 16.896 20.736 16.896 20.736 56.576-1.792 78.336-38.912 78.336-38.912z\"]\n};\nvar faDiscourse = {\n prefix: 'fab',\n iconName: 'discourse',\n icon: [448, 512, [], \"f393\", \"M225.9 32C103.3 32 0 130.5 0 252.1 0 256 .1 480 .1 480l225.8-.2c122.7 0 222.1-102.3 222.1-223.9C448 134.3 348.6 32 225.9 32zM224 384c-19.4 0-37.9-4.3-54.4-12.1L88.5 392l22.9-75c-9.8-18.1-15.4-38.9-15.4-61 0-70.7 57.3-128 128-128s128 57.3 128 128-57.3 128-128 128z\"]\n};\nvar faDochub = {\n prefix: 'fab',\n iconName: 'dochub',\n icon: [416, 512, [], \"f394\", \"M397.9 160H256V19.6L397.9 160zM304 192v130c0 66.8-36.5 100.1-113.3 100.1H96V84.8h94.7c12 0 23.1.8 33.1 2.5v-84C212.9 1.1 201.4 0 189.2 0H0v512h189.2C329.7 512 400 447.4 400 318.1V192h-96z\"]\n};\nvar faDocker = {\n prefix: 'fab',\n iconName: 'docker',\n icon: [640, 512, [], \"f395\", \"M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z\"]\n};\nvar faDraft2digital = {\n prefix: 'fab',\n iconName: 'draft2digital',\n icon: [480, 512, [], \"f396\", \"M480 398.1l-144-82.2v64.7h-91.3c30.8-35 81.8-95.9 111.8-149.3 35.2-62.6 16.1-123.4-12.8-153.3-4.4-4.6-62.2-62.9-166-41.2-59.1 12.4-89.4 43.4-104.3 67.3-13.1 20.9-17 39.8-18.2 47.7-5.5 33 19.4 67.1 56.7 67.1 31.7 0 57.3-25.7 57.3-57.4 0-27.1-19.7-52.1-48-56.8 1.8-7.3 17.7-21.1 26.3-24.7 41.1-17.3 78 5.2 83.3 33.5 8.3 44.3-37.1 90.4-69.7 127.6C84.5 328.1 18.3 396.8 0 415.9l336-.1V480zM369.9 371l47.1 27.2-47.1 27.2zM134.2 161.4c0 12.4-10 22.4-22.4 22.4s-22.4-10-22.4-22.4 10-22.4 22.4-22.4 22.4 10.1 22.4 22.4zM82.5 380.5c25.6-27.4 97.7-104.7 150.8-169.9 35.1-43.1 40.3-82.4 28.4-112.7-7.4-18.8-17.5-30.2-24.3-35.7 45.3 2.1 68 23.4 82.2 38.3 0 0 42.4 48.2 5.8 113.3-37 65.9-110.9 147.5-128.5 166.7z\"]\n};\nvar faDribbble = {\n prefix: 'fab',\n iconName: 'dribbble',\n icon: [512, 512, [], \"f17d\", \"M256 8C119.252 8 8 119.252 8 256s111.252 248 248 248 248-111.252 248-248S392.748 8 256 8zm163.97 114.366c29.503 36.046 47.369 81.957 47.835 131.955-6.984-1.477-77.018-15.682-147.502-6.818-5.752-14.041-11.181-26.393-18.617-41.614 78.321-31.977 113.818-77.482 118.284-83.523zM396.421 97.87c-3.81 5.427-35.697 48.286-111.021 76.519-34.712-63.776-73.185-116.168-79.04-124.008 67.176-16.193 137.966 1.27 190.061 47.489zm-230.48-33.25c5.585 7.659 43.438 60.116 78.537 122.509-99.087 26.313-186.36 25.934-195.834 25.809C62.38 147.205 106.678 92.573 165.941 64.62zM44.17 256.323c0-2.166.043-4.322.108-6.473 9.268.19 111.92 1.513 217.706-30.146 6.064 11.868 11.857 23.915 17.174 35.949-76.599 21.575-146.194 83.527-180.531 142.306C64.794 360.405 44.17 310.73 44.17 256.323zm81.807 167.113c22.127-45.233 82.178-103.622 167.579-132.756 29.74 77.283 42.039 142.053 45.189 160.638-68.112 29.013-150.015 21.053-212.768-27.882zm248.38 8.489c-2.171-12.886-13.446-74.897-41.152-151.033 66.38-10.626 124.7 6.768 131.947 9.055-9.442 58.941-43.273 109.844-90.795 141.978z\"]\n};\nvar faDribbbleSquare = {\n prefix: 'fab',\n iconName: 'dribbble-square',\n icon: [448, 512, [], \"f397\", \"M90.2 228.2c8.9-42.4 37.4-77.7 75.7-95.7 3.6 4.9 28 38.8 50.7 79-64 17-120.3 16.8-126.4 16.7zM314.6 154c-33.6-29.8-79.3-41.1-122.6-30.6 3.8 5.1 28.6 38.9 51 80 48.6-18.3 69.1-45.9 71.6-49.4zM140.1 364c40.5 31.6 93.3 36.7 137.3 18-2-12-10-53.8-29.2-103.6-55.1 18.8-93.8 56.4-108.1 85.6zm98.8-108.2c-3.4-7.8-7.2-15.5-11.1-23.2C159.6 253 93.4 252.2 87.4 252c0 1.4-.1 2.8-.1 4.2 0 35.1 13.3 67.1 35.1 91.4 22.2-37.9 67.1-77.9 116.5-91.8zm34.9 16.3c17.9 49.1 25.1 89.1 26.5 97.4 30.7-20.7 52.5-53.6 58.6-91.6-4.6-1.5-42.3-12.7-85.1-5.8zm-20.3-48.4c4.8 9.8 8.3 17.8 12 26.8 45.5-5.7 90.7 3.4 95.2 4.4-.3-32.3-11.8-61.9-30.9-85.1-2.9 3.9-25.8 33.2-76.3 53.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 176c0-88.2-71.8-160-160-160S64 167.8 64 256s71.8 160 160 160 160-71.8 160-160z\"]\n};\nvar faDropbox = {\n prefix: 'fab',\n iconName: 'dropbox',\n icon: [528, 512, [], \"f16b\", \"M264.4 116.3l-132 84.3 132 84.3-132 84.3L0 284.1l132.3-84.3L0 116.3 132.3 32l132.1 84.3zM131.6 395.7l132-84.3 132 84.3-132 84.3-132-84.3zm132.8-111.6l132-84.3-132-83.6L395.7 32 528 116.3l-132.3 84.3L528 284.8l-132.3 84.3-131.3-85z\"]\n};\nvar faDrupal = {\n prefix: 'fab',\n iconName: 'drupal',\n icon: [448, 512, [], \"f1a9\", \"M319.5 114.7c-22.2-14-43.5-19.5-64.7-33.5-13-8.8-31.3-30-46.5-48.3-2.7 29.3-11.5 41.2-22 49.5-21.3 17-34.8 22.2-53.5 32.3C117 123 32 181.5 32 290.5 32 399.7 123.8 480 225.8 480 327.5 480 416 406 416 294c0-112.3-83-171-96.5-179.3zm2.5 325.6c-20.1 20.1-90.1 28.7-116.7 4.2-4.8-4.8.3-12 6.5-12 0 0 17 13.3 51.5 13.3 27 0 46-7.7 54.5-14 6.1-4.6 8.4 4.3 4.2 8.5zm-54.5-52.6c8.7-3.6 29-3.8 36.8 1.3 4.1 2.8 16.1 18.8 6.2 23.7-8.4 4.2-1.2-15.7-26.5-15.7-14.7 0-19.5 5.2-26.7 11-7 6-9.8 8-12.2 4.7-6-8.2 15.9-22.3 22.4-25zM360 405c-15.2-1-45.5-48.8-65-49.5-30.9-.9-104.1 80.7-161.3 42-38.8-26.6-14.6-104.8 51.8-105.2 49.5-.5 83.8 49 108.5 48.5 21.3-.3 61.8-41.8 81.8-41.8 48.7 0 23.3 109.3-15.8 106z\"]\n};\nvar faDyalog = {\n prefix: 'fab',\n iconName: 'dyalog',\n icon: [416, 512, [], \"f399\", \"M0 32v119.2h64V96h107.2C284.6 96 352 176.2 352 255.9 352 332 293.4 416 171.2 416H0v64h171.2C331.9 480 416 367.3 416 255.9c0-58.7-22.1-113.4-62.3-154.3C308.9 56 245.7 32 171.2 32H0z\"]\n};\nvar faEarlybirds = {\n prefix: 'fab',\n iconName: 'earlybirds',\n icon: [480, 512, [], \"f39a\", \"M313.2 47.5c1.2-13 21.3-14 36.6-8.7.9.3 26.2 9.7 19 15.2-27.9-7.4-56.4 18.2-55.6-6.5zm-201 6.9c30.7-8.1 62 20 61.1-7.1-1.3-14.2-23.4-15.3-40.2-9.6-1 .3-28.7 10.5-20.9 16.7zM319.4 160c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-159.7 0c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm318.5 163.2c-9.9 24-40.7 11-63.9-1.2-13.5 69.1-58.1 111.4-126.3 124.2.3.9-2-.1 24 1 33.6 1.4 63.8-3.1 97.4-8-19.8-13.8-11.4-37.1-9.8-38.1 1.4-.9 14.7 1.7 21.6 11.5 8.6-12.5 28.4-14.8 30.2-13.6 1.6 1.1 6.6 20.9-6.9 34.6 4.7-.9 8.2-1.6 9.8-2.1 2.6-.8 17.7 11.3 3.1 13.3-14.3 2.3-22.6 5.1-47.1 10.8-45.9 10.7-85.9 11.8-117.7 12.8l1 11.6c3.8 18.1-23.4 24.3-27.6 6.2.8 17.9-27.1 21.8-28.4-1l-.5 5.3c-.7 18.4-28.4 17.9-28.3-.6-7.5 13.5-28.1 6.8-26.4-8.5l1.2-12.4c-36.7.9-59.7 3.1-61.8 3.1-20.9 0-20.9-31.6 0-31.6 2.4 0 27.7 1.3 63.2 2.8-61.1-15.5-103.7-55-114.9-118.2-25 12.8-57.5 26.8-68.2.8-10.5-25.4 21.5-42.6 66.8-73.4.7-6.6 1.6-13.3 2.7-19.8-14.4-19.6-11.6-36.3-16.1-60.4-16.8 2.4-23.2-9.1-23.6-23.1.3-7.3 2.1-14.9 2.4-15.4 1.1-1.8 10.1-2 12.7-2.6 6-31.7 50.6-33.2 90.9-34.5 19.7-21.8 45.2-41.5 80.9-48.3C203.3 29 215.2 8.5 216.2 8c1.7-.8 21.2 4.3 26.3 23.2 5.2-8.8 18.3-11.4 19.6-10.7 1.1.6 6.4 15-4.9 25.9 40.3 3.5 72.2 24.7 96 50.7 36.1 1.5 71.8 5.9 77.1 34 2.7.6 11.6.8 12.7 2.6.3.5 2.1 8.1 2.4 15.4-.5 13.9-6.8 25.4-23.6 23.1-3.2 17.3-2.7 32.9-8.7 47.7 2.4 11.7 4 23.8 4.8 36.4 37 25.4 70.3 42.5 60.3 66.9zM207.4 159.9c.9-44-37.9-42.2-78.6-40.3-21.7 1-38.9 1.9-45.5 13.9-11.4 20.9 5.9 92.9 23.2 101.2 9.8 4.7 73.4 7.9 86.3-7.1 8.2-9.4 15-49.4 14.6-67.7zm52 58.3c-4.3-12.4-6-30.1-15.3-32.7-2-.5-9-.5-11 0-10 2.8-10.8 22.1-17 37.2 15.4 0 19.3 9.7 23.7 9.7 4.3 0 6.3-11.3 19.6-14.2zm135.7-84.7c-6.6-12.1-24.8-12.9-46.5-13.9-40.2-1.9-78.2-3.8-77.3 40.3-.5 18.3 5 58.3 13.2 67.8 13 14.9 76.6 11.8 86.3 7.1 15.8-7.6 36.5-78.9 24.3-101.3z\"]\n};\nvar faEbay = {\n prefix: 'fab',\n iconName: 'ebay',\n icon: [640, 512, [], \"f4f4\", \"M606 189.5l-54.8 109.9-54.9-109.9h-37.5l10.9 20.6c-11.5-19-35.9-26-63.3-26-31.8 0-67.9 8.7-71.5 43.1h33.7c1.4-13.8 15.7-21.8 35-21.8 26 0 41 9.6 41 33v3.4c-12.7 0-28 .1-41.7.4-42.4.9-69.6 10-76.7 34.4 1-5.2 1.5-10.6 1.5-16.2 0-52.1-39.7-76.2-75.4-76.2-21.3 0-43 5.5-58.7 24.2v-80.6h-32.1v169.5c0 10.3-.6 22.9-1.1 33.1h31.5c.7-6.3 1.1-12.9 1.1-19.5 13.6 16.6 35.4 24.9 58.7 24.9 36.9 0 64.9-21.9 73.3-54.2-.5 2.8-.7 5.8-.7 9 0 24.1 21.1 45 60.6 45 26.6 0 45.8-5.7 61.9-25.5 0 6.6.3 13.3 1.1 20.2h29.8c-.7-8.2-1-17.5-1-26.8v-65.6c0-9.3-1.7-17.2-4.8-23.8l61.5 116.1-28.5 54.1h35.9L640 189.5zM243.7 313.8c-29.6 0-50.2-21.5-50.2-53.8 0-32.4 20.6-53.8 50.2-53.8 29.8 0 50.2 21.4 50.2 53.8 0 32.3-20.4 53.8-50.2 53.8zm200.9-47.3c0 30-17.9 48.4-51.6 48.4-25.1 0-35-13.4-35-25.8 0-19.1 18.1-24.4 47.2-25.3 13.1-.5 27.6-.6 39.4-.6zm-411.9 1.6h128.8v-8.5c0-51.7-33.1-75.4-78.4-75.4-56.8 0-83 30.8-83 77.6 0 42.5 25.3 74 82.5 74 31.4 0 68-11.7 74.4-46.1h-33.1c-12 35.8-87.7 36.7-91.2-21.6zm95-21.4H33.3c6.9-56.6 92.1-54.7 94.4 0z\"]\n};\nvar faEdge = {\n prefix: 'fab',\n iconName: 'edge',\n icon: [512, 512, [], \"f282\", \"M481.92,134.48C440.87,54.18,352.26,8,255.91,8,137.05,8,37.51,91.68,13.47,203.66c26-46.49,86.22-79.14,149.46-79.14,79.27,0,121.09,48.93,122.25,50.18,22,23.8,33,50.39,33,83.1,0,10.4-5.31,25.82-15.11,38.57-1.57,2-6.39,4.84-6.39,11,0,5.06,3.29,9.92,9.14,14,27.86,19.37,80.37,16.81,80.51,16.81A115.39,115.39,0,0,0,444.94,322a118.92,118.92,0,0,0,58.95-102.44C504.39,176.13,488.39,147.26,481.92,134.48ZM212.77,475.67a154.88,154.88,0,0,1-46.64-45c-32.94-47.42-34.24-95.6-20.1-136A155.5,155.5,0,0,1,203,215.75c59-45.2,94.84-5.65,99.06-1a80,80,0,0,0-4.89-10.14c-9.24-15.93-24-36.41-56.56-53.51-33.72-17.69-70.59-18.59-77.64-18.59-38.71,0-77.9,13-107.53,35.69C35.68,183.3,12.77,208.72,8.6,243c-1.08,12.31-2.75,62.8,23,118.27a248,248,0,0,0,248.3,141.61C241.78,496.26,214.05,476.24,212.77,475.67Zm250.72-98.33a7.76,7.76,0,0,0-7.92-.23,181.66,181.66,0,0,1-20.41,9.12,197.54,197.54,0,0,1-69.55,12.52c-91.67,0-171.52-63.06-171.52-144A61.12,61.12,0,0,1,200.61,228,168.72,168.72,0,0,0,161.85,278c-14.92,29.37-33,88.13,13.33,151.66,6.51,8.91,23,30,56,47.67,23.57,12.65,49,19.61,71.7,19.61,35.14,0,115.43-33.44,163-108.87A7.75,7.75,0,0,0,463.49,377.34Z\"]\n};\nvar faEdgeLegacy = {\n prefix: 'fab',\n iconName: 'edge-legacy',\n icon: [512, 512, [], \"e078\", \"M25.71,228.16l.35-.48c0,.16,0,.32-.07.48Zm460.58,15.51c0-44-7.76-84.46-28.81-122.4C416.5,47.88,343.91,8,258.89,8,119,7.72,40.62,113.21,26.06,227.68c42.42-61.31,117.07-121.38,220.37-125,0,0,109.67,0,99.42,105H170c6.37-37.39,18.55-59,34.34-78.93-75.05,34.9-121.85,96.1-120.75,188.32.83,71.45,50.13,144.84,120.75,172,83.35,31.84,192.77,7.2,240.13-21.33V363.31C363.6,419.8,173.6,424.23,172.21,295.74H486.29V243.67Z\"]\n};\nvar faElementor = {\n prefix: 'fab',\n iconName: 'elementor',\n icon: [448, 512, [], \"f430\", \"M425.6 32H22.4C10 32 0 42 0 54.4v403.2C0 470 10 480 22.4 480h403.2c12.4 0 22.4-10 22.4-22.4V54.4C448 42 438 32 425.6 32M164.3 355.5h-39.8v-199h39.8v199zm159.3 0H204.1v-39.8h119.5v39.8zm0-79.6H204.1v-39.8h119.5v39.8zm0-79.7H204.1v-39.8h119.5v39.8z\"]\n};\nvar faEllo = {\n prefix: 'fab',\n iconName: 'ello',\n icon: [496, 512, [], \"f5f1\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm143.84 285.2C375.31 358.51 315.79 404.8 248 404.8s-127.31-46.29-143.84-111.6c-1.65-7.44 2.48-15.71 9.92-17.36 7.44-1.65 15.71 2.48 17.36 9.92 14.05 52.91 62 90.11 116.56 90.11s102.51-37.2 116.56-90.11c1.65-7.44 9.92-12.4 17.36-9.92 7.44 1.65 12.4 9.92 9.92 17.36z\"]\n};\nvar faEmber = {\n prefix: 'fab',\n iconName: 'ember',\n icon: [640, 512, [], \"f423\", \"M639.9 254.6c-1.1-10.7-10.7-6.8-10.7-6.8s-15.6 12.1-29.3 10.7c-13.7-1.3-9.4-32-9.4-32s3-28.1-5.1-30.4c-8.1-2.4-18 7.3-18 7.3s-12.4 13.7-18.3 31.2l-1.6.5s1.9-30.6-.3-37.6c-1.6-3.5-16.4-3.2-18.8 3s-14.2 49.2-15 67.2c0 0-23.1 19.6-43.3 22.8s-25-9.4-25-9.4 54.8-15.3 52.9-59.1-44.2-27.6-49-24c-4.6 3.5-29.4 18.4-36.6 59.7-.2 1.4-.7 7.5-.7 7.5s-21.2 14.2-33 18c0 0 33-55.6-7.3-80.9-11.4-6.8-21.3-.5-27.2 5.3 13.6-17.3 46.4-64.2 36.9-105.2-5.8-24.4-18-27.1-29.2-23.1-17 6.7-23.5 16.7-23.5 16.7s-22 32-27.1 79.5-12.6 105.1-12.6 105.1-10.5 10.2-20.2 10.7-5.4-28.7-5.4-28.7 7.5-44.6 7-52.1-1.1-11.6-9.9-14.2c-8.9-2.7-18.5 8.6-18.5 8.6s-25.5 38.7-27.7 44.6l-1.3 2.4-1.3-1.6s18-52.7.8-53.5-28.5 18.8-28.5 18.8-19.6 32.8-20.4 36.5l-1.3-1.6s8.1-38.2 6.4-47.6c-1.6-9.4-10.5-7.5-10.5-7.5s-11.3-1.3-14.2 5.9-13.7 55.3-15 70.7c0 0-28.2 20.2-46.8 20.4-18.5.3-16.7-11.8-16.7-11.8s68-23.3 49.4-69.2c-8.3-11.8-18-15.5-31.7-15.3-13.7.3-30.3 8.6-41.3 33.3-5.3 11.8-6.8 23-7.8 31.5 0 0-12.3 2.4-18.8-2.9s-10 0-10 0-11.2 14-.1 18.3 28.1 6.1 28.1 6.1c1.6 7.5 6.2 19.5 19.6 29.7 20.2 15.3 58.8-1.3 58.8-1.3l15.9-8.8s.5 14.6 12.1 16.7 16.4 1 36.5-47.9c11.8-25 12.6-23.6 12.6-23.6l1.3-.3s-9.1 46.8-5.6 59.7C187.7 319.4 203 318 203 318s8.3 2.4 15-21.2 19.6-49.9 19.6-49.9h1.6s-5.6 48.1 3 63.7 30.9 5.3 30.9 5.3 15.6-7.8 18-10.2c0 0 18.5 15.8 44.6 12.9 58.3-11.5 79.1-25.9 79.1-25.9s10 24.4 41.1 26.7c35.5 2.7 54.8-18.6 54.8-18.6s-.3 13.5 12.1 18.6 20.7-22.8 20.7-22.8l20.7-57.2h1.9s1.1 37.3 21.5 43.2 47-13.7 47-13.7 6.4-3.5 5.3-14.3zm-578 5.3c.8-32 21.8-45.9 29-39 7.3 7 4.6 22-9.1 31.4-13.7 9.5-19.9 7.6-19.9 7.6zm272.8-123.8s19.1-49.7 23.6-25.5-40 96.2-40 96.2c.5-16.2 16.4-70.7 16.4-70.7zm22.8 138.4c-12.6 33-43.3 19.6-43.3 19.6s-3.5-11.8 6.4-44.9 33.3-20.2 33.3-20.2 16.2 12.4 3.6 45.5zm84.6-14.6s-3-10.5 8.1-30.6c11-20.2 19.6-9.1 19.6-9.1s9.4 10.2-1.3 25.5-26.4 14.2-26.4 14.2z\"]\n};\nvar faEmpire = {\n prefix: 'fab',\n iconName: 'empire',\n icon: [496, 512, [], \"f1d1\", \"M287.6 54.2c-10.8-2.2-22.1-3.3-33.5-3.6V32.4c78.1 2.2 146.1 44 184.6 106.6l-15.8 9.1c-6.1-9.7-12.7-18.8-20.2-27.1l-18 15.5c-26-29.6-61.4-50.7-101.9-58.4l4.8-23.9zM53.4 322.4l23-7.7c-6.4-18.3-10-38.2-10-58.7s3.3-40.4 9.7-58.7l-22.7-7.7c3.6-10.8 8.3-21.3 13.6-31l-15.8-9.1C34 181 24.1 217.5 24.1 256s10 75 27.1 106.6l15.8-9.1c-5.3-10-9.7-20.3-13.6-31.1zM213.1 434c-40.4-8-75.8-29.1-101.9-58.7l-18 15.8c-7.5-8.6-14.4-17.7-20.2-27.4l-16 9.4c38.5 62.3 106.8 104.3 184.9 106.6v-18.3c-11.3-.3-22.7-1.7-33.5-3.6l4.7-23.8zM93.3 120.9l18 15.5c26-29.6 61.4-50.7 101.9-58.4l-4.7-23.8c10.8-2.2 22.1-3.3 33.5-3.6V32.4C163.9 34.6 95.9 76.4 57.4 139l15.8 9.1c6-9.7 12.6-18.9 20.1-27.2zm309.4 270.2l-18-15.8c-26 29.6-61.4 50.7-101.9 58.7l4.7 23.8c-10.8 1.9-22.1 3.3-33.5 3.6v18.3c78.1-2.2 146.4-44.3 184.9-106.6l-16.1-9.4c-5.7 9.7-12.6 18.8-20.1 27.4zM496 256c0 137-111 248-248 248S0 393 0 256 111 8 248 8s248 111 248 248zm-12.2 0c0-130.1-105.7-235.8-235.8-235.8S12.2 125.9 12.2 256 117.9 491.8 248 491.8 483.8 386.1 483.8 256zm-39-106.6l-15.8 9.1c5.3 9.7 10 20.2 13.6 31l-22.7 7.7c6.4 18.3 9.7 38.2 9.7 58.7s-3.6 40.4-10 58.7l23 7.7c-3.9 10.8-8.3 21-13.6 31l15.8 9.1C462 331 471.9 294.5 471.9 256s-9.9-75-27.1-106.6zm-183 177.7c16.3-3.3 30.4-11.6 40.7-23.5l51.2 44.8c11.9-13.6 21.3-29.3 27.1-46.8l-64.2-22.1c2.5-7.5 3.9-15.2 3.9-23.5s-1.4-16.1-3.9-23.5l64.5-22.1c-6.1-17.4-15.5-33.2-27.4-46.8l-51.2 44.8c-10.2-11.9-24.4-20.5-40.7-23.8l13.3-66.4c-8.6-1.9-17.7-2.8-27.1-2.8-9.4 0-18.5.8-27.1 2.8l13.3 66.4c-16.3 3.3-30.4 11.9-40.7 23.8l-51.2-44.8c-11.9 13.6-21.3 29.3-27.4 46.8l64.5 22.1c-2.5 7.5-3.9 15.2-3.9 23.5s1.4 16.1 3.9 23.5l-64.2 22.1c5.8 17.4 15.2 33.2 27.1 46.8l51.2-44.8c10.2 11.9 24.4 20.2 40.7 23.5l-13.3 66.7c8.6 1.7 17.7 2.8 27.1 2.8 9.4 0 18.5-1.1 27.1-2.8l-13.3-66.7z\"]\n};\nvar faEnvira = {\n prefix: 'fab',\n iconName: 'envira',\n icon: [448, 512, [], \"f299\", \"M0 32c477.6 0 366.6 317.3 367.1 366.3L448 480h-26l-70.4-71.2c-39 4.2-124.4 34.5-214.4-37C47 300.3 52 214.7 0 32zm79.7 46c-49.7-23.5-5.2 9.2-5.2 9.2 45.2 31.2 66 73.7 90.2 119.9 31.5 60.2 79 139.7 144.2 167.7 65 28 34.2 12.5 6-8.5-28.2-21.2-68.2-87-91-130.2-31.7-60-61-118.6-144.2-158.1z\"]\n};\nvar faErlang = {\n prefix: 'fab',\n iconName: 'erlang',\n icon: [640, 512, [], \"f39d\", \"M87.2 53.5H0v405h100.4c-49.7-52.6-78.8-125.3-78.7-212.1-.1-76.7 24-142.7 65.5-192.9zm238.2 9.7c-45.9.1-85.1 33.5-89.2 83.2h169.9c-1.1-49.7-34.5-83.1-80.7-83.2zm230.7-9.6h.3l-.1-.1zm.3 0c31.4 42.7 48.7 97.5 46.2 162.7.5 6 .5 11.7 0 24.1H230.2c-.2 109.7 38.9 194.9 138.6 195.3 68.5-.3 118-51 151.9-106.1l96.4 48.2c-17.4 30.9-36.5 57.8-57.9 80.8H640v-405z\"]\n};\nvar faEthereum = {\n prefix: 'fab',\n iconName: 'ethereum',\n icon: [320, 512, [], \"f42e\", \"M311.9 260.8L160 353.6 8 260.8 160 0l151.9 260.8zM160 383.4L8 290.6 160 512l152-221.4-152 92.8z\"]\n};\nvar faEtsy = {\n prefix: 'fab',\n iconName: 'etsy',\n icon: [384, 512, [], \"f2d7\", \"M384 348c-1.75 10.75-13.75 110-15.5 132-117.879-4.299-219.895-4.743-368.5 0v-25.5c45.457-8.948 60.627-8.019 61-35.25 1.793-72.322 3.524-244.143 0-322-1.029-28.46-12.13-26.765-61-36v-25.5c73.886 2.358 255.933 8.551 362.999-3.75-3.5 38.25-7.75 126.5-7.75 126.5H332C320.947 115.665 313.241 68 277.25 68h-137c-10.25 0-10.75 3.5-10.75 9.75V241.5c58 .5 88.5-2.5 88.5-2.5 29.77-.951 27.56-8.502 40.75-65.251h25.75c-4.407 101.351-3.91 61.829-1.75 160.25H257c-9.155-40.086-9.065-61.045-39.501-61.5 0 0-21.5-2-88-2v139c0 26 14.25 38.25 44.25 38.25H263c63.636 0 66.564-24.996 98.751-99.75H384z\"]\n};\nvar faEvernote = {\n prefix: 'fab',\n iconName: 'evernote',\n icon: [384, 512, [], \"f839\", \"M120.82 132.21c1.6 22.31-17.55 21.59-21.61 21.59-68.93 0-73.64-1-83.58 3.34-.56.22-.74 0-.37-.37L123.79 46.45c.38-.37.6-.22.38.37-4.35 9.99-3.35 15.09-3.35 85.39zm79 308c-14.68-37.08 13-76.93 52.52-76.62 17.49 0 22.6 23.21 7.95 31.42-6.19 3.3-24.95 1.74-25.14 19.2-.05 17.09 19.67 25 31.2 24.89A45.64 45.64 0 0 0 312 393.45v-.08c0-11.63-7.79-47.22-47.54-55.34-7.72-1.54-65-6.35-68.35-50.52-3.74 16.93-17.4 63.49-43.11 69.09-8.74 1.94-69.68 7.64-112.92-36.77 0 0-18.57-15.23-28.23-57.95-3.38-15.75-9.28-39.7-11.14-62 0-18 11.14-30.45 25.07-32.2 81 0 90 2.32 101-7.8 9.82-9.24 7.8-15.5 7.8-102.78 1-8.3 7.79-30.81 53.41-24.14 6 .86 31.91 4.18 37.48 30.64l64.26 11.15c20.43 3.71 70.94 7 80.6 57.94 22.66 121.09 8.91 238.46 7.8 238.46C362.15 485.53 267.06 480 267.06 480c-18.95-.23-54.25-9.4-67.27-39.83zm80.94-204.84c-1 1.92-2.2 6 .85 7 14.09 4.93 39.75 6.84 45.88 5.53 3.11-.25 3.05-4.43 2.48-6.65-3.53-21.85-40.83-26.5-49.24-5.92z\"]\n};\nvar faExpeditedssl = {\n prefix: 'fab',\n iconName: 'expeditedssl',\n icon: [496, 512, [], \"f23e\", \"M248 43.4C130.6 43.4 35.4 138.6 35.4 256S130.6 468.6 248 468.6 460.6 373.4 460.6 256 365.4 43.4 248 43.4zm-97.4 132.9c0-53.7 43.7-97.4 97.4-97.4s97.4 43.7 97.4 97.4v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6c0-82.1-124-82.1-124 0v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6zM389.7 380c0 9.7-8 17.7-17.7 17.7H124c-9.7 0-17.7-8-17.7-17.7V238.3c0-9.7 8-17.7 17.7-17.7h248c9.7 0 17.7 8 17.7 17.7V380zm-248-137.3v132.9c0 2.5-1.9 4.4-4.4 4.4h-8.9c-2.5 0-4.4-1.9-4.4-4.4V242.7c0-2.5 1.9-4.4 4.4-4.4h8.9c2.5 0 4.4 1.9 4.4 4.4zm141.7 48.7c0 13-7.2 24.4-17.7 30.4v31.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-31.6c-10.5-6.1-17.7-17.4-17.7-30.4 0-19.7 15.8-35.4 35.4-35.4s35.5 15.8 35.5 35.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 478.3C121 486.3 17.7 383 17.7 256S121 25.7 248 25.7 478.3 129 478.3 256 375 486.3 248 486.3z\"]\n};\nvar faFacebook = {\n prefix: 'fab',\n iconName: 'facebook',\n icon: [512, 512, [], \"f09a\", \"M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z\"]\n};\nvar faFacebookF = {\n prefix: 'fab',\n iconName: 'facebook-f',\n icon: [320, 512, [], \"f39e\", \"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"]\n};\nvar faFacebookMessenger = {\n prefix: 'fab',\n iconName: 'facebook-messenger',\n icon: [512, 512, [], \"f39f\", \"M256.55 8C116.52 8 8 110.34 8 248.57c0 72.3 29.71 134.78 78.07 177.94 8.35 7.51 6.63 11.86 8.05 58.23A19.92 19.92 0 0 0 122 502.31c52.91-23.3 53.59-25.14 62.56-22.7C337.85 521.8 504 423.7 504 248.57 504 110.34 396.59 8 256.55 8zm149.24 185.13l-73 115.57a37.37 37.37 0 0 1-53.91 9.93l-58.08-43.47a15 15 0 0 0-18 0l-78.37 59.44c-10.46 7.93-24.16-4.6-17.11-15.67l73-115.57a37.36 37.36 0 0 1 53.91-9.93l58.06 43.46a15 15 0 0 0 18 0l78.41-59.38c10.44-7.98 24.14 4.54 17.09 15.62z\"]\n};\nvar faFacebookSquare = {\n prefix: 'fab',\n iconName: 'facebook-square',\n icon: [448, 512, [], \"f082\", \"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z\"]\n};\nvar faFantasyFlightGames = {\n prefix: 'fab',\n iconName: 'fantasy-flight-games',\n icon: [512, 512, [], \"f6dc\", \"M256 32.86L32.86 256 256 479.14 479.14 256 256 32.86zM88.34 255.83c1.96-2 11.92-12.3 96.49-97.48 41.45-41.75 86.19-43.77 119.77-18.69 24.63 18.4 62.06 58.9 62.15 59 .68.74 1.07 2.86.58 3.38-11.27 11.84-22.68 23.54-33.5 34.69-34.21-32.31-40.52-38.24-48.51-43.95-17.77-12.69-41.4-10.13-56.98 5.1-2.17 2.13-1.79 3.43.12 5.35 2.94 2.95 28.1 28.33 35.09 35.78-11.95 11.6-23.66 22.97-35.69 34.66-12.02-12.54-24.48-25.53-36.54-38.11-21.39 21.09-41.69 41.11-61.85 60.99a42569.01 42569.01 0 0 1-41.13-40.72zm234.82 101.6c-35.49 35.43-78.09 38.14-106.99 20.47-22.08-13.5-39.38-32.08-72.93-66.84 12.05-12.37 23.79-24.42 35.37-36.31 33.02 31.91 37.06 36.01 44.68 42.09 18.48 14.74 42.52 13.67 59.32-1.8 3.68-3.39 3.69-3.64.14-7.24-10.59-10.73-21.19-21.44-31.77-32.18-1.32-1.34-3.03-2.48-.8-4.69 10.79-10.71 21.48-21.52 32.21-32.29.26-.26.65-.38 1.91-1.07 12.37 12.87 24.92 25.92 37.25 38.75 21.01-20.73 41.24-40.68 61.25-60.42 13.68 13.4 27.13 26.58 40.86 40.03-20.17 20.86-81.68 82.71-100.5 101.5zM256 0L0 256l256 256 256-256L256 0zM16 256L256 16l240 240-240 240L16 256z\"]\n};\nvar faFedex = {\n prefix: 'fab',\n iconName: 'fedex',\n icon: [640, 512, [], \"f797\", \"M586 284.5l53.3-59.9h-62.4l-21.7 24.8-22.5-24.8H414v-16h56.1v-48.1H318.9V236h-.5c-9.6-11-21.5-14.8-35.4-14.8-28.4 0-49.8 19.4-57.3 44.9-18-59.4-97.4-57.6-121.9-14v-24.2H49v-26.2h60v-41.1H0V345h49v-77.5h48.9c-1.5 5.7-2.3 11.8-2.3 18.2 0 73.1 102.6 91.4 130.2 23.7h-42c-14.7 20.9-45.8 8.9-45.8-14.6h85.5c3.7 30.5 27.4 56.9 60.1 56.9 14.1 0 27-6.9 34.9-18.6h.5V345h212.2l22.1-25 22.3 25H640l-54-60.5zm-446.7-16.6c6.1-26.3 41.7-25.6 46.5 0h-46.5zm153.4 48.9c-34.6 0-34-62.8 0-62.8 32.6 0 34.5 62.8 0 62.8zm167.8 19.1h-94.4V169.4h95v30.2H405v33.9h55.5v28.1h-56.1v44.7h56.1v29.6zm-45.9-39.8v-24.4h56.1v-44l50.7 57-50.7 57v-45.6h-56.1zm138.6 10.3l-26.1 29.5H489l45.6-51.2-45.6-51.2h39.7l26.6 29.3 25.6-29.3h38.5l-45.4 51 46 51.4h-40.5l-26.3-29.5z\"]\n};\nvar faFedora = {\n prefix: 'fab',\n iconName: 'fedora',\n icon: [448, 512, [], \"f798\", \"M225 32C101.3 31.7.8 131.7.4 255.4L0 425.7a53.6 53.6 0 0 0 53.6 53.9l170.2.4c123.7.3 224.3-99.7 224.6-223.4S348.7 32.3 225 32zm169.8 157.2L333 126.6c2.3-4.7 3.8-9.2 3.8-14.3v-1.6l55.2 56.1a101 101 0 0 1 2.8 22.4zM331 94.3a106.06 106.06 0 0 1 58.5 63.8l-54.3-54.6a26.48 26.48 0 0 0-4.2-9.2zM118.1 247.2a49.66 49.66 0 0 0-7.7 11.4l-8.5-8.5a85.78 85.78 0 0 1 16.2-2.9zM97 251.4l11.8 11.9-.9 8a34.74 34.74 0 0 0 2.4 12.5l-27-27.2a80.6 80.6 0 0 1 13.7-5.2zm-18.2 7.4l38.2 38.4a53.17 53.17 0 0 0-14.1 4.7L67.6 266a107 107 0 0 1 11.2-7.2zm-15.2 9.8l35.3 35.5a67.25 67.25 0 0 0-10.5 8.5L53.5 278a64.33 64.33 0 0 1 10.1-9.4zm-13.3 12.3l34.9 35a56.84 56.84 0 0 0-7.7 11.4l-35.8-35.9c2.8-3.8 5.7-7.2 8.6-10.5zm-11 14.3l36.4 36.6a48.29 48.29 0 0 0-3.6 15.2l-39.5-39.8a99.81 99.81 0 0 1 6.7-12zm-8.8 16.3l41.3 41.8a63.47 63.47 0 0 0 6.7 26.2L25.8 326c1.4-4.9 2.9-9.6 4.7-14.5zm-7.9 43l61.9 62.2a31.24 31.24 0 0 0-3.6 14.3v1.1l-55.4-55.7a88.27 88.27 0 0 1-2.9-21.9zm5.3 30.7l54.3 54.6a28.44 28.44 0 0 0 4.2 9.2 106.32 106.32 0 0 1-58.5-63.8zm-5.3-37a80.69 80.69 0 0 1 2.1-17l72.2 72.5a37.59 37.59 0 0 0-9.9 8.7zm253.3-51.8l-42.6-.1-.1 56c-.2 69.3-64.4 115.8-125.7 102.9-5.7 0-19.9-8.7-19.9-24.2a24.89 24.89 0 0 1 24.5-24.6c6.3 0 6.3 1.6 15.7 1.6a55.91 55.91 0 0 0 56.1-55.9l.1-47c0-4.5-4.5-9-8.9-9l-33.6-.1c-32.6-.1-32.5-49.4.1-49.3l42.6.1.1-56a105.18 105.18 0 0 1 105.6-105 86.35 86.35 0 0 1 20.2 2.3c11.2 1.8 19.9 11.9 19.9 24 0 15.5-14.9 27.8-30.3 23.9-27.4-5.9-65.9 14.4-66 54.9l-.1 47a8.94 8.94 0 0 0 8.9 9l33.6.1c32.5.2 32.4 49.5-.2 49.4zm23.5-.3a35.58 35.58 0 0 0 7.6-11.4l8.5 8.5a102 102 0 0 1-16.1 2.9zm21-4.2L308.6 280l.9-8.1a34.74 34.74 0 0 0-2.4-12.5l27 27.2a74.89 74.89 0 0 1-13.7 5.3zm18-7.4l-38-38.4c4.9-1.1 9.6-2.4 13.7-4.7l36.2 35.9c-3.8 2.5-7.9 5-11.9 7.2zm15.5-9.8l-35.3-35.5a61.06 61.06 0 0 0 10.5-8.5l34.9 35a124.56 124.56 0 0 1-10.1 9zm13.2-12.3l-34.9-35a63.18 63.18 0 0 0 7.7-11.4l35.8 35.9a130.28 130.28 0 0 1-8.6 10.5zm11-14.3l-36.4-36.6a48.29 48.29 0 0 0 3.6-15.2l39.5 39.8a87.72 87.72 0 0 1-6.7 12zm13.5-30.9a140.63 140.63 0 0 1-4.7 14.3L345.6 190a58.19 58.19 0 0 0-7.1-26.2zm1-5.6l-71.9-72.1a32 32 0 0 0 9.9-9.2l64.3 64.7a90.93 90.93 0 0 1-2.3 16.6z\"]\n};\nvar faFigma = {\n prefix: 'fab',\n iconName: 'figma',\n icon: [384, 512, [], \"f799\", \"M277 170.7A85.35 85.35 0 0 0 277 0H106.3a85.3 85.3 0 0 0 0 170.6 85.35 85.35 0 0 0 0 170.7 85.35 85.35 0 1 0 85.3 85.4v-256zm0 0a85.3 85.3 0 1 0 85.3 85.3 85.31 85.31 0 0 0-85.3-85.3z\"]\n};\nvar faFirefox = {\n prefix: 'fab',\n iconName: 'firefox',\n icon: [512, 512, [], \"f269\", \"M503.52,241.48c-.12-1.56-.24-3.12-.24-4.68v-.12l-.36-4.68v-.12a245.86,245.86,0,0,0-7.32-41.15c0-.12,0-.12-.12-.24l-1.08-4c-.12-.24-.12-.48-.24-.6-.36-1.2-.72-2.52-1.08-3.72-.12-.24-.12-.6-.24-.84-.36-1.2-.72-2.4-1.08-3.48-.12-.36-.24-.6-.36-1-.36-1.2-.72-2.28-1.2-3.48l-.36-1.08c-.36-1.08-.84-2.28-1.2-3.36a8.27,8.27,0,0,0-.36-1c-.48-1.08-.84-2.28-1.32-3.36-.12-.24-.24-.6-.36-.84-.48-1.2-1-2.28-1.44-3.48,0-.12-.12-.24-.12-.36-1.56-3.84-3.24-7.68-5-11.4l-.36-.72c-.48-1-.84-1.8-1.32-2.64-.24-.48-.48-1.08-.72-1.56-.36-.84-.84-1.56-1.2-2.4-.36-.6-.6-1.2-1-1.8s-.84-1.44-1.2-2.28c-.36-.6-.72-1.32-1.08-1.92s-.84-1.44-1.2-2.16a18.07,18.07,0,0,0-1.2-2c-.36-.72-.84-1.32-1.2-2s-.84-1.32-1.2-2-.84-1.32-1.2-1.92-.84-1.44-1.32-2.16a15.63,15.63,0,0,0-1.2-1.8L463.2,119a15.63,15.63,0,0,0-1.2-1.8c-.48-.72-1.08-1.56-1.56-2.28-.36-.48-.72-1.08-1.08-1.56l-1.8-2.52c-.36-.48-.6-.84-1-1.32-1-1.32-1.8-2.52-2.76-3.72a248.76,248.76,0,0,0-23.51-26.64A186.82,186.82,0,0,0,412,62.46c-4-3.48-8.16-6.72-12.48-9.84a162.49,162.49,0,0,0-24.6-15.12c-2.4-1.32-4.8-2.52-7.2-3.72a254,254,0,0,0-55.43-19.56c-1.92-.36-3.84-.84-5.64-1.2h-.12c-1-.12-1.8-.36-2.76-.48a236.35,236.35,0,0,0-38-4H255.14a234.62,234.62,0,0,0-45.48,5c-33.59,7.08-63.23,21.24-82.91,39-1.08,1-1.92,1.68-2.4,2.16l-.48.48H124l-.12.12.12-.12a.12.12,0,0,0,.12-.12l-.12.12a.42.42,0,0,1,.24-.12c14.64-8.76,34.92-16,49.44-19.56l5.88-1.44c.36-.12.84-.12,1.2-.24,1.68-.36,3.36-.72,5.16-1.08.24,0,.6-.12.84-.12C250.94,20.94,319.34,40.14,367,85.61a171.49,171.49,0,0,1,26.88,32.76c30.36,49.2,27.48,111.11,3.84,147.59-34.44,53-111.35,71.27-159,24.84a84.19,84.19,0,0,1-25.56-59,74.05,74.05,0,0,1,6.24-31c1.68-3.84,13.08-25.67,18.24-24.59-13.08-2.76-37.55,2.64-54.71,28.19-15.36,22.92-14.52,58.2-5,83.28a132.85,132.85,0,0,1-12.12-39.24c-12.24-82.55,43.31-153,94.31-170.51-27.48-24-96.47-22.31-147.71,15.36-29.88,22-51.23,53.16-62.51,90.36,1.68-20.88,9.6-52.08,25.8-83.88-17.16,8.88-39,37-49.8,62.88-15.6,37.43-21,82.19-16.08,124.79.36,3.24.72,6.36,1.08,9.6,19.92,117.11,122,206.38,244.78,206.38C392.77,503.42,504,392.19,504,255,503.88,250.48,503.76,245.92,503.52,241.48Z\"]\n};\nvar faFirefoxBrowser = {\n prefix: 'fab',\n iconName: 'firefox-browser',\n icon: [512, 512, [], \"e007\", \"M189.37,152.86Zm-58.74-29.37C130.79,123.5,130.71,123.5,130.63,123.49Zm351.42,45.35c-10.61-25.5-32.08-53-48.94-61.73,13.72,26.89,21.67,53.88,24.7,74,0,0,0,.14.05.41-27.58-68.75-74.35-96.47-112.55-156.83-1.93-3.05-3.86-6.11-5.74-9.33-1-1.65-1.86-3.34-2.69-5.05A44.88,44.88,0,0,1,333.24.69a.63.63,0,0,0-.55-.66.9.9,0,0,0-.46,0l-.12.07-.18.1.1-.14c-54.23,31.77-76.72,87.38-82.5,122.78a130,130,0,0,0-48.33,12.33,6.25,6.25,0,0,0-3.09,7.75,6.13,6.13,0,0,0,7.79,3.79l.52-.21a117.84,117.84,0,0,1,42.11-11l1.42-.1c2-.12,4-.2,6-.22A122.61,122.61,0,0,1,291,140c.67.2,1.32.42,2,.63,1.89.57,3.76,1.2,5.62,1.87,1.36.5,2.71,1,4.05,1.58,1.09.44,2.18.88,3.25,1.35q2.52,1.13,5,2.35c.75.37,1.5.74,2.25,1.13q2.4,1.26,4.74,2.63,1.51.87,3,1.8a124.89,124.89,0,0,1,42.66,44.13c-13-9.15-36.35-18.19-58.82-14.28,87.74,43.86,64.18,194.9-57.39,189.2a108.43,108.43,0,0,1-31.74-6.12c-2.42-.91-4.8-1.89-7.16-2.93-1.38-.63-2.76-1.27-4.12-2C174.5,346,149.9,316.92,146.83,281.59c0,0,11.25-41.95,80.62-41.95,7.5,0,28.93-20.92,29.33-27-.09-2-42.54-18.87-59.09-35.18-8.85-8.71-13.05-12.91-16.77-16.06a69.58,69.58,0,0,0-6.31-4.77A113.05,113.05,0,0,1,173.92,97c-25.06,11.41-44.55,29.45-58.71,45.37h-.12c-9.67-12.25-9-52.65-8.43-61.08-.12-.53-7.22,3.68-8.15,4.31a178.54,178.54,0,0,0-23.84,20.43A214,214,0,0,0,51.9,133.36l0,0a.08.08,0,0,1,0,0,205.84,205.84,0,0,0-32.73,73.9c-.06.27-2.33,10.21-4,22.48q-.42,2.87-.78,5.74c-.57,3.69-1,7.71-1.44,14,0,.24,0,.48-.05.72-.18,2.71-.34,5.41-.49,8.12,0,.41,0,.82,0,1.24,0,134.7,109.21,243.89,243.92,243.89,120.64,0,220.82-87.58,240.43-202.62.41-3.12.74-6.26,1.11-9.41,4.85-41.83-.54-85.79-15.82-122.55Z\"]\n};\nvar faFirstOrder = {\n prefix: 'fab',\n iconName: 'first-order',\n icon: [448, 512, [], \"f2b0\", \"M12.9 229.2c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4h-.2zM224 96.6c-7.1 0-14.6.6-21.4 1.7l3.7 67.4-22-64c-14.3 3.7-27.7 9.4-40 16.6l29.4 61.4-45.1-50.9c-11.4 8.9-21.7 19.1-30.6 30.9l50.6 45.4-61.1-29.7c-7.1 12.3-12.9 25.7-16.6 40l64.3 22.6-68-4c-.9 7.1-1.4 14.6-1.4 22s.6 14.6 1.4 21.7l67.7-4-64 22.6c3.7 14.3 9.4 27.7 16.6 40.3l61.1-29.7L97.7 352c8.9 11.7 19.1 22.3 30.9 30.9l44.9-50.9-29.5 61.4c12.3 7.4 25.7 13.1 40 16.9l22.3-64.6-4 68c7.1 1.1 14.6 1.7 21.7 1.7 7.4 0 14.6-.6 21.7-1.7l-4-68.6 22.6 65.1c14.3-4 27.7-9.4 40-16.9L274.9 332l44.9 50.9c11.7-8.9 22-19.1 30.6-30.9l-50.6-45.1 61.1 29.4c7.1-12.3 12.9-25.7 16.6-40.3l-64-22.3 67.4 4c1.1-7.1 1.4-14.3 1.4-21.7s-.3-14.9-1.4-22l-67.7 4 64-22.3c-3.7-14.3-9.1-28-16.6-40.3l-60.9 29.7 50.6-45.4c-8.9-11.7-19.1-22-30.6-30.9l-45.1 50.9 29.4-61.1c-12.3-7.4-25.7-13.1-40-16.9L241.7 166l4-67.7c-7.1-1.2-14.3-1.7-21.7-1.7zM443.4 128v256L224 512 4.6 384V128L224 0l219.4 128zm-17.1 10.3L224 20.9 21.7 138.3v235.1L224 491.1l202.3-117.7V138.3zM224 37.1l187.7 109.4v218.9L224 474.9 36.3 365.4V146.6L224 37.1zm0 50.9c-92.3 0-166.9 75.1-166.9 168 0 92.6 74.6 167.7 166.9 167.7 92 0 166.9-75.1 166.9-167.7 0-92.9-74.9-168-166.9-168z\"]\n};\nvar faFirstOrderAlt = {\n prefix: 'fab',\n iconName: 'first-order-alt',\n icon: [496, 512, [], \"f50a\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 488.21C115.34 496.21 7.79 388.66 7.79 256S115.34 15.79 248 15.79 488.21 123.34 488.21 256 380.66 496.21 248 496.21zm0-459.92C126.66 36.29 28.29 134.66 28.29 256S126.66 475.71 248 475.71 467.71 377.34 467.71 256 369.34 36.29 248 36.29zm0 431.22c-116.81 0-211.51-94.69-211.51-211.51S131.19 44.49 248 44.49 459.51 139.19 459.51 256 364.81 467.51 248 467.51zm186.23-162.98a191.613 191.613 0 0 1-20.13 48.69l-74.13-35.88 61.48 54.82a193.515 193.515 0 0 1-37.2 37.29l-54.8-61.57 35.88 74.27a190.944 190.944 0 0 1-48.63 20.23l-27.29-78.47 4.79 82.93c-8.61 1.18-17.4 1.8-26.33 1.8s-17.72-.62-26.33-1.8l4.76-82.46-27.15 78.03a191.365 191.365 0 0 1-48.65-20.2l35.93-74.34-54.87 61.64a193.85 193.85 0 0 1-37.22-37.28l61.59-54.9-74.26 35.93a191.638 191.638 0 0 1-20.14-48.69l77.84-27.11-82.23 4.76c-1.16-8.57-1.78-17.32-1.78-26.21 0-9 .63-17.84 1.82-26.51l82.38 4.77-77.94-27.16a191.726 191.726 0 0 1 20.23-48.67l74.22 35.92-61.52-54.86a193.85 193.85 0 0 1 37.28-37.22l54.76 61.53-35.83-74.17a191.49 191.49 0 0 1 48.65-20.13l26.87 77.25-4.71-81.61c8.61-1.18 17.39-1.8 26.32-1.8s17.71.62 26.32 1.8l-4.74 82.16 27.05-77.76c17.27 4.5 33.6 11.35 48.63 20.17l-35.82 74.12 54.72-61.47a193.13 193.13 0 0 1 37.24 37.23l-61.45 54.77 74.12-35.86a191.515 191.515 0 0 1 20.2 48.65l-77.81 27.1 82.24-4.75c1.19 8.66 1.82 17.5 1.82 26.49 0 8.88-.61 17.63-1.78 26.19l-82.12-4.75 77.72 27.09z\"]\n};\nvar faFirstdraft = {\n prefix: 'fab',\n iconName: 'firstdraft',\n icon: [384, 512, [], \"f3a1\", \"M384 192h-64v128H192v128H0v-25.6h166.4v-128h128v-128H384V192zm-25.6 38.4v128h-128v128H64V512h192V384h128V230.4h-25.6zm25.6 192h-89.6V512H320v-64h64v-25.6zM0 0v384h128V256h128V128h128V0H0z\"]\n};\nvar faFlickr = {\n prefix: 'fab',\n iconName: 'flickr',\n icon: [448, 512, [], \"f16e\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM144.5 319c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5zm159 0c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5z\"]\n};\nvar faFlipboard = {\n prefix: 'fab',\n iconName: 'flipboard',\n icon: [448, 512, [], \"f44d\", \"M0 32v448h448V32H0zm358.4 179.2h-89.6v89.6h-89.6v89.6H89.6V121.6h268.8v89.6z\"]\n};\nvar faFly = {\n prefix: 'fab',\n iconName: 'fly',\n icon: [384, 512, [], \"f417\", \"M197.8 427.8c12.9 11.7 33.7 33.3 33.2 50.7 0 .8-.1 1.6-.1 2.5-1.8 19.8-18.8 31.1-39.1 31-25-.1-39.9-16.8-38.7-35.8 1-16.2 20.5-36.7 32.4-47.6 2.3-2.1 2.7-2.7 5.6-3.6 3.4 0 3.9.3 6.7 2.8zM331.9 67.3c-16.3-25.7-38.6-40.6-63.3-52.1C243.1 4.5 214-.2 192 0c-44.1 0-71.2 13.2-81.1 17.3C57.3 45.2 26.5 87.2 28 158.6c7.1 82.2 97 176 155.8 233.8 1.7 1.6 4.5 4.5 6.2 5.1l3.3.1c2.1-.7 1.8-.5 3.5-2.1 52.3-49.2 140.7-145.8 155.9-215.7 7-39.2 3.1-72.5-20.8-112.5zM186.8 351.9c-28-51.1-65.2-130.7-69.3-189-3.4-47.5 11.4-131.2 69.3-136.7v325.7zM328.7 180c-16.4 56.8-77.3 128-118.9 170.3C237.6 298.4 275 217 277 158.4c1.6-45.9-9.8-105.8-48-131.4 88.8 18.3 115.5 98.1 99.7 153z\"]\n};\nvar faFontAwesome = {\n prefix: 'fab',\n iconName: 'font-awesome',\n icon: [448, 512, [], \"f2b4\", \"M397.8 32H50.2C22.7 32 0 54.7 0 82.2v347.6C0 457.3 22.7 480 50.2 480h347.6c27.5 0 50.2-22.7 50.2-50.2V82.2c0-27.5-22.7-50.2-50.2-50.2zm-45.4 284.3c0 4.2-3.6 6-7.8 7.8-16.7 7.2-34.6 13.7-53.8 13.7-26.9 0-39.4-16.7-71.7-16.7-23.3 0-47.8 8.4-67.5 17.3-1.2.6-2.4.6-3.6 1.2V385c0 1.8 0 3.6-.6 4.8v1.2c-2.4 8.4-10.2 14.3-19.1 14.3-11.3 0-20.3-9-20.3-20.3V166.4c-7.8-6-13.1-15.5-13.1-26.3 0-18.5 14.9-33.5 33.5-33.5 18.5 0 33.5 14.9 33.5 33.5 0 10.8-4.8 20.3-13.1 26.3v18.5c1.8-.6 3.6-1.2 5.4-2.4 18.5-7.8 40.6-14.3 61.5-14.3 22.7 0 40.6 6 60.9 13.7 4.2 1.8 8.4 2.4 13.1 2.4 22.7 0 47.8-16.1 53.8-16.1 4.8 0 9 3.6 9 7.8v140.3z\"]\n};\nvar faFontAwesomeAlt = {\n prefix: 'fab',\n iconName: 'font-awesome-alt',\n icon: [448, 512, [], \"f35c\", \"M339.3 171.2c-6 0-29.9 15.5-52.6 15.5-4.2 0-8.4-.6-12.5-2.4-19.7-7.8-37-13.7-59.1-13.7-20.3 0-41.8 6.6-59.7 13.7-1.8.6-3.6 1.2-4.8 1.8v-17.9c7.8-6 12.5-14.9 12.5-25.7 0-17.9-14.3-32.3-32.3-32.3s-32.3 14.3-32.3 32.3c0 10.2 4.8 19.7 12.5 25.7v212.1c0 10.8 9 19.7 19.7 19.7 9 0 16.1-6 18.5-13.7V385c.6-1.8.6-3 .6-4.8V336c1.2 0 2.4-.6 3-1.2 19.7-8.4 43-16.7 65.7-16.7 31.1 0 43 16.1 69.3 16.1 18.5 0 36.4-6.6 52-13.7 4.2-1.8 7.2-3.6 7.2-7.8V178.3c1.8-4.1-2.3-7.1-7.7-7.1zM397.8 32H50.2C22.7 32 0 54.7 0 82.2v347.6C0 457.3 22.7 480 50.2 480h347.6c27.5 0 50.2-22.7 50.2-50.2V82.2c0-27.5-22.7-50.2-50.2-50.2zm14.3 397.7c0 7.8-6.6 14.3-14.3 14.3H50.2c-7.8 0-14.3-6.6-14.3-14.3V82.2c0-7.8 6.6-14.3 14.3-14.3h347.6v-.1c7.8 0 14.3 6.6 14.3 14.3z\"]\n};\nvar faFontAwesomeFlag = {\n prefix: 'fab',\n iconName: 'font-awesome-flag',\n icon: [448, 512, [], \"f425\", \"M444.373 359.424c0 7.168-6.144 10.24-13.312 13.312-28.672 12.288-59.392 23.552-92.16 23.552-46.08 0-67.584-28.672-122.88-28.672-39.936 0-81.92 14.336-115.712 29.696-2.048 1.024-4.096 1.024-6.144 2.048v77.824c0 21.405-16.122 34.816-33.792 34.816-19.456 0-34.816-15.36-34.816-34.816V102.4C12.245 92.16 3.029 75.776 3.029 57.344 3.029 25.6 28.629 0 60.373 0s57.344 25.6 57.344 57.344c0 18.432-8.192 34.816-22.528 45.056v31.744c4.124-1.374 58.768-28.672 114.688-28.672 65.27 0 97.676 27.648 126.976 27.648 38.912 0 81.92-27.648 92.16-27.648 8.192 0 15.36 6.144 15.36 13.312v240.64z\"]\n};\nvar faFontAwesomeLogoFull = {\n prefix: 'fab',\n iconName: 'font-awesome-logo-full',\n icon: [3992, 512, [\"Font Awesome\"], \"f4e6\", \"M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z\"]\n};\nvar faFonticons = {\n prefix: 'fab',\n iconName: 'fonticons',\n icon: [448, 512, [], \"f280\", \"M0 32v448h448V32zm187 140.9c-18.4 0-19 9.9-19 27.4v23.3c0 2.4-3.5 4.4-.6 4.4h67.4l-11.1 37.3H168v112.9c0 5.8-2 6.7 3.2 7.3l43.5 4.1v25.1H84V389l21.3-2c5.2-.6 6.7-2.3 6.7-7.9V267.7c0-2.3-2.9-2.3-5.8-2.3H84V228h28v-21c0-49.6 26.5-70 77.3-70 34.1 0 64.7 8.2 64.7 52.8l-50.7 6.1c.3-18.7-4.4-23-16.3-23zm74.3 241.8v-25.1l20.4-2.6c5.2-.6 7.6-1.7 7.6-7.3V271.8c0-4.1-2.9-6.7-6.7-7.9l-24.2-6.4 6.7-29.5h80.2v151.7c0 5.8-2.6 6.4 2.9 7.3l15.7 2.6v25.1zm80.8-255.5l9 33.2-7.3 7.3-31.2-16.6-31.2 16.6-7.3-7.3 9-33.2-21.8-24.2 3.5-9.6h27.7l15.5-28h9.3l15.5 28h27.7l3.5 9.6z\"]\n};\nvar faFonticonsFi = {\n prefix: 'fab',\n iconName: 'fonticons-fi',\n icon: [384, 512, [], \"f3a2\", \"M114.4 224h92.4l-15.2 51.2h-76.4V433c0 8-2.8 9.2 4.4 10l59.6 5.6V483H0v-35.2l29.2-2.8c7.2-.8 9.2-3.2 9.2-10.8V278.4c0-3.2-4-3.2-8-3.2H0V224h38.4v-28.8c0-68 36.4-96 106-96 46.8 0 88.8 11.2 88.8 72.4l-69.6 8.4c.4-25.6-6-31.6-22.4-31.6-25.2 0-26 13.6-26 37.6v32c0 3.2-4.8 6-.8 6zM384 483H243.2v-34.4l28-3.6c7.2-.8 10.4-2.4 10.4-10V287c0-5.6-4-9.2-9.2-10.8l-33.2-8.8 9.2-40.4h110v208c0 8-3.6 8.8 4 10l21.6 3.6V483zm-30-347.2l12.4 45.6-10 10-42.8-22.8-42.8 22.8-10-10 12.4-45.6-30-36.4 4.8-10h38L307.2 51H320l21.2 38.4h38l4.8 13.2-30 33.2z\"]\n};\nvar faFortAwesome = {\n prefix: 'fab',\n iconName: 'fort-awesome',\n icon: [512, 512, [], \"f286\", \"M489.2 287.9h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6V146.2c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-6-8-4.6-11.7-4.6v-38c8.3-2 17.1-3.4 25.7-3.4 10.9 0 20.9 4.3 31.4 4.3 4.6 0 27.7-1.1 27.7-8v-60c0-2.6-2-4.6-4.6-4.6-5.1 0-15.1 4.3-24 4.3-9.7 0-20.9-4.3-32.6-4.3-8 0-16 1.1-23.7 2.9v-4.9c5.4-2.6 9.1-8.3 9.1-14.3 0-20.7-31.4-20.8-31.4 0 0 6 3.7 11.7 9.1 14.3v111.7c-3.7 0-11.7-1.4-11.7 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32H128v-32c0-2.6-2-4.6-4.6-4.6H96c-2.6 0-4.6 2-4.6 4.6v178.3H54.8v-32c0-2.6-2-4.6-4.6-4.6H22.8c-2.6 0-4.6 2-4.6 4.6V512h182.9v-96c0-72.6 109.7-72.6 109.7 0v96h182.9V292.5c.1-2.6-1.9-4.6-4.5-4.6zm-288.1-4.5c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64zm146.4 0c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64z\"]\n};\nvar faFortAwesomeAlt = {\n prefix: 'fab',\n iconName: 'fort-awesome-alt',\n icon: [512, 512, [], \"f3a3\", \"M208 237.4h-22.2c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7H208c2.1 0 3.7-1.6 3.7-3.7v-51.7c0-2.1-1.6-3.7-3.7-3.7zm118.2 0H304c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7h22.2c2.1 0 3.7-1.6 3.7-3.7v-51.7c-.1-2.1-1.7-3.7-3.7-3.7zm132-125.1c-2.3-3.2-4.6-6.4-7.1-9.5-9.8-12.5-20.8-24-32.8-34.4-4.5-3.9-9.1-7.6-13.9-11.2-1.6-1.2-3.2-2.3-4.8-3.5C372 34.1 340.3 20 306 13c-16.2-3.3-32.9-5-50-5s-33.9 1.7-50 5c-34.3 7.1-66 21.2-93.3 40.8-1.6 1.1-3.2 2.3-4.8 3.5-4.8 3.6-9.4 7.3-13.9 11.2-3 2.6-5.9 5.3-8.8 8s-5.7 5.5-8.4 8.4c-5.5 5.7-10.7 11.8-15.6 18-2.4 3.1-4.8 6.3-7.1 9.5C25.2 153 8.3 202.5 8.3 256c0 2 .1 4 .1 6 .1.7.1 1.3.1 2 .1 1.3.1 2.7.2 4 0 .8.1 1.5.1 2.3 0 1.3.1 2.5.2 3.7.1.8.1 1.6.2 2.4.1 1.1.2 2.3.3 3.5 0 .8.1 1.6.2 2.4.1 1.2.3 2.4.4 3.6.1.8.2 1.5.3 2.3.1 1.3.3 2.6.5 3.9.1.6.2 1.3.3 1.9l.9 5.7c.1.6.2 1.1.3 1.7.3 1.3.5 2.7.8 4 .2.8.3 1.6.5 2.4.2 1 .5 2.1.7 3.2.2.9.4 1.7.6 2.6.2 1 .4 2 .7 3 .2.9.5 1.8.7 2.7.3 1 .5 1.9.8 2.9.3.9.5 1.8.8 2.7.2.9.5 1.9.8 2.8s.5 1.8.8 2.7c.3 1 .6 1.9.9 2.8.6 1.6 1.1 3.3 1.7 4.9.4 1 .7 1.9 1 2.8.3 1 .7 2 1.1 3 .3.8.6 1.5.9 2.3l1.2 3c.3.7.6 1.5.9 2.2.4 1 .9 2 1.3 3l.9 2.1c.5 1 .9 2 1.4 3 .3.7.6 1.3.9 2 .5 1 1 2.1 1.5 3.1.2.6.5 1.1.8 1.7.6 1.1 1.1 2.2 1.7 3.3.1.2.2.3.3.5 2.2 4.1 4.4 8.2 6.8 12.2.2.4.5.8.7 1.2.7 1.1 1.3 2.2 2 3.3.3.5.6.9.9 1.4.6 1.1 1.3 2.1 2 3.2.3.5.6.9.9 1.4.7 1.1 1.4 2.1 2.1 3.2.2.4.5.8.8 1.2.7 1.1 1.5 2.2 2.3 3.3.2.2.3.5.5.7 37.5 51.7 94.4 88.5 160 99.4.9.1 1.7.3 2.6.4 1 .2 2.1.4 3.1.5s1.9.3 2.8.4c1 .2 2 .3 3 .4.9.1 1.9.2 2.9.3s1.9.2 2.9.3 2.1.2 3.1.3c.9.1 1.8.1 2.7.2 1.1.1 2.3.1 3.4.2.8 0 1.7.1 2.5.1 1.3 0 2.6.1 3.9.1.7.1 1.4.1 2.1.1 2 .1 4 .1 6 .1s4-.1 6-.1c.7 0 1.4-.1 2.1-.1 1.3 0 2.6 0 3.9-.1.8 0 1.7-.1 2.5-.1 1.1-.1 2.3-.1 3.4-.2.9 0 1.8-.1 2.7-.2 1-.1 2.1-.2 3.1-.3s1.9-.2 2.9-.3c.9-.1 1.9-.2 2.9-.3s2-.3 3-.4 1.9-.3 2.8-.4c1-.2 2.1-.3 3.1-.5.9-.1 1.7-.3 2.6-.4 65.6-11 122.5-47.7 160.1-102.4.2-.2.3-.5.5-.7.8-1.1 1.5-2.2 2.3-3.3.2-.4.5-.8.8-1.2.7-1.1 1.4-2.1 2.1-3.2.3-.5.6-.9.9-1.4.6-1.1 1.3-2.1 2-3.2.3-.5.6-.9.9-1.4.7-1.1 1.3-2.2 2-3.3.2-.4.5-.8.7-1.2 2.4-4 4.6-8.1 6.8-12.2.1-.2.2-.3.3-.5.6-1.1 1.1-2.2 1.7-3.3.2-.6.5-1.1.8-1.7.5-1 1-2.1 1.5-3.1.3-.7.6-1.3.9-2 .5-1 1-2 1.4-3l.9-2.1c.5-1 .9-2 1.3-3 .3-.7.6-1.5.9-2.2l1.2-3c.3-.8.6-1.5.9-2.3.4-1 .7-2 1.1-3s.7-1.9 1-2.8c.6-1.6 1.2-3.3 1.7-4.9.3-1 .6-1.9.9-2.8s.5-1.8.8-2.7c.2-.9.5-1.9.8-2.8s.6-1.8.8-2.7c.3-1 .5-1.9.8-2.9.2-.9.5-1.8.7-2.7.2-1 .5-2 .7-3 .2-.9.4-1.7.6-2.6.2-1 .5-2.1.7-3.2.2-.8.3-1.6.5-2.4.3-1.3.6-2.7.8-4 .1-.6.2-1.1.3-1.7l.9-5.7c.1-.6.2-1.3.3-1.9.1-1.3.3-2.6.5-3.9.1-.8.2-1.5.3-2.3.1-1.2.3-2.4.4-3.6 0-.8.1-1.6.2-2.4.1-1.1.2-2.3.3-3.5.1-.8.1-1.6.2-2.4.1 1.7.1.5.2-.7 0-.8.1-1.5.1-2.3.1-1.3.2-2.7.2-4 .1-.7.1-1.3.1-2 .1-2 .1-4 .1-6 0-53.5-16.9-103-45.8-143.7zM448 371.5c-9.4 15.5-20.6 29.9-33.6 42.9-20.6 20.6-44.5 36.7-71.2 48-13.9 5.8-28.2 10.3-42.9 13.2v-75.8c0-58.6-88.6-58.6-88.6 0v75.8c-14.7-2.9-29-7.3-42.9-13.2-26.7-11.3-50.6-27.4-71.2-48-13-13-24.2-27.4-33.6-42.9v-71.3c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7V326h29.6V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7H208c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-4.8 6.5-3.7 9.5-3.7V88.1c-4.4-2-7.4-6.7-7.4-11.5 0-16.8 25.4-16.8 25.4 0 0 4.8-3 9.4-7.4 11.5V92c6.3-1.4 12.7-2.3 19.2-2.3 9.4 0 18.4 3.5 26.3 3.5 7.2 0 15.2-3.5 19.4-3.5 2.1 0 3.7 1.6 3.7 3.7v48.4c0 5.6-18.7 6.5-22.4 6.5-8.6 0-16.6-3.5-25.4-3.5-7 0-14.1 1.2-20.8 2.8v30.7c3 0 9.5-1.1 9.5 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v144h29.5v-25.8c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7z\"]\n};\nvar faForumbee = {\n prefix: 'fab',\n iconName: 'forumbee',\n icon: [448, 512, [], \"f211\", \"M5.8 309.7C2 292.7 0 275.5 0 258.3 0 135 99.8 35 223.1 35c16.6 0 33.3 2 49.3 5.5C149 87.5 51.9 186 5.8 309.7zm392.9-189.2C385 103 369 87.8 350.9 75.2c-149.6 44.3-266.3 162.1-309.7 312 12.5 18.1 28 35.6 45.2 49 43.1-151.3 161.2-271.7 312.3-315.7zm15.8 252.7c15.2-25.1 25.4-53.7 29.5-82.8-79.4 42.9-145 110.6-187.6 190.3 30-4.4 58.9-15.3 84.6-31.3 35 13.1 70.9 24.3 107 33.6-9.3-36.5-20.4-74.5-33.5-109.8zm29.7-145.5c-2.6-19.5-7.9-38.7-15.8-56.8C290.5 216.7 182 327.5 137.1 466c18.1 7.6 37 12.5 56.6 15.2C240 367.1 330.5 274.4 444.2 227.7z\"]\n};\nvar faFoursquare = {\n prefix: 'fab',\n iconName: 'foursquare',\n icon: [368, 512, [], \"f180\", \"M323.1 3H49.9C12.4 3 0 31.3 0 49.1v433.8c0 20.3 12.1 27.7 18.2 30.1 6.2 2.5 22.8 4.6 32.9-7.1C180 356.5 182.2 354 182.2 354c3.1-3.4 3.4-3.1 6.8-3.1h83.4c35.1 0 40.6-25.2 44.3-39.7l48.6-243C373.8 25.8 363.1 3 323.1 3zm-16.3 73.8l-11.4 59.7c-1.2 6.5-9.5 13.2-16.9 13.2H172.1c-12 0-20.6 8.3-20.6 20.3v13c0 12 8.6 20.6 20.6 20.6h90.4c8.3 0 16.6 9.2 14.8 18.2-1.8 8.9-10.5 53.8-11.4 58.8-.9 4.9-6.8 13.5-16.9 13.5h-73.5c-13.5 0-17.2 1.8-26.5 12.6 0 0-8.9 11.4-89.5 108.3-.9.9-1.8.6-1.8-.3V75.9c0-7.7 6.8-16.6 16.6-16.6h219c8.2 0 15.6 7.7 13.5 17.5z\"]\n};\nvar faFreeCodeCamp = {\n prefix: 'fab',\n iconName: 'free-code-camp',\n icon: [576, 512, [], \"f2c5\", \"M97.22,96.21c10.36-10.65,16-17.12,16-21.9,0-2.76-1.92-5.51-3.83-7.42A14.81,14.81,0,0,0,101,64.05c-8.48,0-20.92,8.79-35.84,25.69C23.68,137,2.51,182.81,3.37,250.34s17.47,117,54.06,161.87C76.22,435.86,90.62,448,100.9,448a13.55,13.55,0,0,0,8.37-3.84c1.91-2.76,3.81-5.63,3.81-8.38,0-5.63-3.86-12.2-13.2-20.55-44.45-42.33-67.32-97-67.48-165C32.25,188.8,54,137.83,97.22,96.21ZM239.47,420.07c.58.37.91.55.91.55Zm93.79.55.17-.13C333.24,420.62,333.17,420.67,333.26,420.62Zm3.13-158.18c-16.24-4.15,50.41-82.89-68.05-177.17,0,0,15.54,49.38-62.83,159.57-74.27,104.35,23.46,168.73,34,175.23-6.73-4.35-47.4-35.7,9.55-128.64,11-18.3,25.53-34.87,43.5-72.16,0,0,15.91,22.45,7.6,71.13C287.7,364,354,342.91,355,343.94c22.75,26.78-17.72,73.51-21.58,76.55,5.49-3.65,117.71-78,33-188.1C360.43,238.4,352.62,266.59,336.39,262.44ZM510.88,89.69C496,72.79,483.52,64,475,64a14.81,14.81,0,0,0-8.39,2.84c-1.91,1.91-3.83,4.66-3.83,7.42,0,4.78,5.6,11.26,16,21.9,43.23,41.61,65,92.59,64.82,154.06-.16,68-23,122.63-67.48,165-9.34,8.35-13.18,14.92-13.2,20.55,0,2.75,1.9,5.62,3.81,8.38A13.61,13.61,0,0,0,475.1,448c10.28,0,24.68-12.13,43.47-35.79,36.59-44.85,53.14-94.38,54.06-161.87S552.32,137,510.88,89.69Z\"]\n};\nvar faFreebsd = {\n prefix: 'fab',\n iconName: 'freebsd',\n icon: [448, 512, [], \"f3a4\", \"M303.7 96.2c11.1-11.1 115.5-77 139.2-53.2 23.7 23.7-42.1 128.1-53.2 139.2-11.1 11.1-39.4.9-63.1-22.9-23.8-23.7-34.1-52-22.9-63.1zM109.9 68.1C73.6 47.5 22 24.6 5.6 41.1c-16.6 16.6 7.1 69.4 27.9 105.7 18.5-32.2 44.8-59.3 76.4-78.7zM406.7 174c3.3 11.3 2.7 20.7-2.7 26.1-20.3 20.3-87.5-27-109.3-70.1-18-32.3-11.1-53.4 14.9-48.7 5.7-3.6 12.3-7.6 19.6-11.6-29.8-15.5-63.6-24.3-99.5-24.3-119.1 0-215.6 96.5-215.6 215.6 0 119 96.5 215.6 215.6 215.6S445.3 380.1 445.3 261c0-38.4-10.1-74.5-27.7-105.8-3.9 7-7.6 13.3-10.9 18.8z\"]\n};\nvar faFulcrum = {\n prefix: 'fab',\n iconName: 'fulcrum',\n icon: [320, 512, [], \"f50b\", \"M95.75 164.14l-35.38 43.55L25 164.14l35.38-43.55zM144.23 0l-20.54 198.18L72.72 256l51 57.82L144.23 512V300.89L103.15 256l41.08-44.89zm79.67 164.14l35.38 43.55 35.38-43.55-35.38-43.55zm-48.48 47L216.5 256l-41.08 44.89V512L196 313.82 247 256l-51-57.82L175.42 0z\"]\n};\nvar faGalacticRepublic = {\n prefix: 'fab',\n iconName: 'galactic-republic',\n icon: [496, 512, [], \"f50c\", \"M248 504C111.25 504 0 392.75 0 256S111.25 8 248 8s248 111.25 248 248-111.25 248-248 248zm0-479.47C120.37 24.53 16.53 128.37 16.53 256S120.37 487.47 248 487.47 479.47 383.63 479.47 256 375.63 24.53 248 24.53zm27.62 21.81v24.62a185.933 185.933 0 0 1 83.57 34.54l17.39-17.36c-28.75-22.06-63.3-36.89-100.96-41.8zm-55.37.07c-37.64 4.94-72.16 19.8-100.88 41.85l17.28 17.36h.08c24.07-17.84 52.55-30.06 83.52-34.67V46.41zm12.25 50.17v82.87c-10.04 2.03-19.42 5.94-27.67 11.42l-58.62-58.59-21.93 21.93 58.67 58.67c-5.47 8.23-9.45 17.59-11.47 27.62h-82.9v31h82.9c2.02 10.02 6.01 19.31 11.47 27.54l-58.67 58.69 21.93 21.93 58.62-58.62a77.873 77.873 0 0 0 27.67 11.47v82.9h31v-82.9c10.05-2.03 19.37-6.06 27.62-11.55l58.67 58.69 21.93-21.93-58.67-58.69c5.46-8.23 9.47-17.52 11.5-27.54h82.87v-31h-82.87c-2.02-10.02-6.03-19.38-11.5-27.62l58.67-58.67-21.93-21.93-58.67 58.67c-8.25-5.49-17.57-9.47-27.62-11.5V96.58h-31zm183.24 30.72l-17.36 17.36a186.337 186.337 0 0 1 34.67 83.67h24.62c-4.95-37.69-19.83-72.29-41.93-101.03zm-335.55.13c-22.06 28.72-36.91 63.26-41.85 100.91h24.65c4.6-30.96 16.76-59.45 34.59-83.52l-17.39-17.39zM38.34 283.67c4.92 37.64 19.75 72.18 41.8 100.9l17.36-17.39c-17.81-24.07-29.92-52.57-34.51-83.52H38.34zm394.7 0c-4.61 30.99-16.8 59.5-34.67 83.6l17.36 17.36c22.08-28.74 36.98-63.29 41.93-100.96h-24.62zM136.66 406.38l-17.36 17.36c28.73 22.09 63.3 36.98 100.96 41.93v-24.64c-30.99-4.63-59.53-16.79-83.6-34.65zm222.53.05c-24.09 17.84-52.58 30.08-83.57 34.67v24.57c37.67-4.92 72.21-19.79 100.96-41.85l-17.31-17.39h-.08z\"]\n};\nvar faGalacticSenate = {\n prefix: 'fab',\n iconName: 'galactic-senate',\n icon: [512, 512, [], \"f50d\", \"M249.86 33.48v26.07C236.28 80.17 226 168.14 225.39 274.9c11.74-15.62 19.13-33.33 19.13-48.24v-16.88c-.03-5.32.75-10.53 2.19-15.65.65-2.14 1.39-4.08 2.62-5.82 1.23-1.75 3.43-3.79 6.68-3.79 3.24 0 5.45 2.05 6.68 3.79 1.23 1.75 1.97 3.68 2.62 5.82 1.44 5.12 2.22 10.33 2.19 15.65v16.88c0 14.91 7.39 32.62 19.13 48.24-.63-106.76-10.91-194.73-24.49-215.35V33.48h-12.28zm-26.34 147.77c-9.52 2.15-18.7 5.19-27.46 9.08 8.9 16.12 9.76 32.64 1.71 37.29-8 4.62-21.85-4.23-31.36-19.82-11.58 8.79-21.88 19.32-30.56 31.09 14.73 9.62 22.89 22.92 18.32 30.66-4.54 7.7-20.03 7.14-35.47-.96-5.78 13.25-9.75 27.51-11.65 42.42 9.68.18 18.67 2.38 26.18 6.04 17.78-.3 32.77-1.96 40.49-4.22 5.55-26.35 23.02-48.23 46.32-59.51.73-25.55 1.88-49.67 3.48-72.07zm64.96 0c1.59 22.4 2.75 46.52 3.47 72.07 23.29 11.28 40.77 33.16 46.32 59.51 7.72 2.26 22.71 3.92 40.49 4.22 7.51-3.66 16.5-5.85 26.18-6.04-1.9-14.91-5.86-29.17-11.65-42.42-15.44 8.1-30.93 8.66-35.47.96-4.57-7.74 3.6-21.05 18.32-30.66-8.68-11.77-18.98-22.3-30.56-31.09-9.51 15.59-23.36 24.44-31.36 19.82-8.05-4.65-7.19-21.16 1.71-37.29a147.49 147.49 0 0 0-27.45-9.08zm-32.48 8.6c-3.23 0-5.86 8.81-6.09 19.93h-.05v16.88c0 41.42-49.01 95.04-93.49 95.04-52 0-122.75-1.45-156.37 29.17v2.51c9.42 17.12 20.58 33.17 33.18 47.97C45.7 380.26 84.77 360.4 141.2 360c45.68 1.02 79.03 20.33 90.76 40.87.01.01-.01.04 0 .05 7.67 2.14 15.85 3.23 24.04 3.21 8.19.02 16.37-1.07 24.04-3.21.01-.01-.01-.04 0-.05 11.74-20.54 45.08-39.85 90.76-40.87 56.43.39 95.49 20.26 108.02 41.35 12.6-14.8 23.76-30.86 33.18-47.97v-2.51c-33.61-30.62-104.37-29.17-156.37-29.17-44.48 0-93.49-53.62-93.49-95.04v-16.88h-.05c-.23-11.12-2.86-19.93-6.09-19.93zm0 96.59c22.42 0 40.6 18.18 40.6 40.6s-18.18 40.65-40.6 40.65-40.6-18.23-40.6-40.65c0-22.42 18.18-40.6 40.6-40.6zm0 7.64c-18.19 0-32.96 14.77-32.96 32.96S237.81 360 256 360s32.96-14.77 32.96-32.96-14.77-32.96-32.96-32.96zm0 6.14c14.81 0 26.82 12.01 26.82 26.82s-12.01 26.82-26.82 26.82-26.82-12.01-26.82-26.82 12.01-26.82 26.82-26.82zm-114.8 66.67c-10.19.07-21.6.36-30.5 1.66.43 4.42 1.51 18.63 7.11 29.76 9.11-2.56 18.36-3.9 27.62-3.9 41.28.94 71.48 34.35 78.26 74.47l.11 4.7c10.4 1.91 21.19 2.94 32.21 2.94 11.03 0 21.81-1.02 32.21-2.94l.11-4.7c6.78-40.12 36.98-73.53 78.26-74.47 9.26 0 18.51 1.34 27.62 3.9 5.6-11.13 6.68-25.34 7.11-29.76-8.9-1.3-20.32-1.58-30.5-1.66-18.76.42-35.19 4.17-48.61 9.67-12.54 16.03-29.16 30.03-49.58 33.07-.09.02-.17.04-.27.05-.05.01-.11.04-.16.05-5.24 1.07-10.63 1.6-16.19 1.6-5.55 0-10.95-.53-16.19-1.6-.05-.01-.11-.04-.16-.05-.1-.02-.17-.04-.27-.05-20.42-3.03-37.03-17.04-49.58-33.07-13.42-5.49-29.86-9.25-48.61-9.67z\"]\n};\nvar faGetPocket = {\n prefix: 'fab',\n iconName: 'get-pocket',\n icon: [448, 512, [], \"f265\", \"M407.6 64h-367C18.5 64 0 82.5 0 104.6v135.2C0 364.5 99.7 464 224.2 464c124 0 223.8-99.5 223.8-224.2V104.6c0-22.4-17.7-40.6-40.4-40.6zm-162 268.5c-12.4 11.8-31.4 11.1-42.4 0C89.5 223.6 88.3 227.4 88.3 209.3c0-16.9 13.8-30.7 30.7-30.7 17 0 16.1 3.8 105.2 89.3 90.6-86.9 88.6-89.3 105.5-89.3 16.9 0 30.7 13.8 30.7 30.7 0 17.8-2.9 15.7-114.8 123.2z\"]\n};\nvar faGg = {\n prefix: 'fab',\n iconName: 'gg',\n icon: [512, 512, [], \"f260\", \"M179.2 230.4l102.4 102.4-102.4 102.4L0 256 179.2 76.8l44.8 44.8-25.6 25.6-19.2-19.2-128 128 128 128 51.5-51.5-77.1-76.5 25.6-25.6zM332.8 76.8L230.4 179.2l102.4 102.4 25.6-25.6-77.1-76.5 51.5-51.5 128 128-128 128-19.2-19.2-25.6 25.6 44.8 44.8L512 256 332.8 76.8z\"]\n};\nvar faGgCircle = {\n prefix: 'fab',\n iconName: 'gg-circle',\n icon: [512, 512, [], \"f261\", \"M257 8C120 8 9 119 9 256s111 248 248 248 248-111 248-248S394 8 257 8zm-49.5 374.8L81.8 257.1l125.7-125.7 35.2 35.4-24.2 24.2-11.1-11.1-77.2 77.2 77.2 77.2 26.6-26.6-53.1-52.9 24.4-24.4 77.2 77.2-75 75.2zm99-2.2l-35.2-35.2 24.1-24.4 11.1 11.1 77.2-77.2-77.2-77.2-26.5 26.5 53.1 52.9-24.4 24.4-77.2-77.2 75-75L432.2 255 306.5 380.6z\"]\n};\nvar faGit = {\n prefix: 'fab',\n iconName: 'git',\n icon: [512, 512, [], \"f1d3\", \"M216.29 158.39H137C97 147.9 6.51 150.63 6.51 233.18c0 30.09 15 51.23 35 61-25.1 23-37 33.85-37 49.21 0 11 4.47 21.14 17.89 26.81C8.13 383.61 0 393.35 0 411.65c0 32.11 28.05 50.82 101.63 50.82 70.75 0 111.79-26.42 111.79-73.18 0-58.66-45.16-56.5-151.63-63l13.43-21.55c27.27 7.58 118.7 10 118.7-67.89 0-18.7-7.73-31.71-15-41.07l37.41-2.84zm-63.42 241.9c0 32.06-104.89 32.1-104.89 2.43 0-8.14 5.27-15 10.57-21.54 77.71 5.3 94.32 3.37 94.32 19.11zm-50.81-134.58c-52.8 0-50.46-71.16 1.2-71.16 49.54 0 50.82 71.16-1.2 71.16zm133.3 100.51v-32.1c26.75-3.66 27.24-2 27.24-11V203.61c0-8.5-2.05-7.38-27.24-16.26l4.47-32.92H324v168.71c0 6.51.4 7.32 6.51 8.14l20.73 2.84v32.1zm52.45-244.31c-23.17 0-36.59-13.43-36.59-36.61s13.42-35.77 36.59-35.77c23.58 0 37 12.62 37 35.77s-13.42 36.61-37 36.61zM512 350.46c-17.49 8.53-43.1 16.26-66.28 16.26-48.38 0-66.67-19.5-66.67-65.46V194.75c0-5.42 1.05-4.06-31.71-4.06V154.5c35.78-4.07 50-22 54.47-66.27h38.63c0 65.83-1.34 61.81 3.26 61.81H501v40.65h-60.56v97.15c0 6.92-4.92 51.41 60.57 26.84z\"]\n};\nvar faGitAlt = {\n prefix: 'fab',\n iconName: 'git-alt',\n icon: [448, 512, [], \"f841\", \"M439.55 236.05L244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z\"]\n};\nvar faGitSquare = {\n prefix: 'fab',\n iconName: 'git-square',\n icon: [448, 512, [], \"f1d2\", \"M100.59 334.24c48.57 3.31 58.95 2.11 58.95 11.94 0 20-65.55 20.06-65.55 1.52.01-5.09 3.29-9.4 6.6-13.46zm27.95-116.64c-32.29 0-33.75 44.47-.75 44.47 32.51 0 31.71-44.47.75-44.47zM448 80v352a48 48 0 0 1-48 48H48a48 48 0 0 1-48-48V80a48 48 0 0 1 48-48h352a48 48 0 0 1 48 48zm-227 69.31c0 14.49 8.38 22.88 22.86 22.88 14.74 0 23.13-8.39 23.13-22.88S258.62 127 243.88 127c-14.48 0-22.88 7.84-22.88 22.31zM199.18 195h-49.55c-25-6.55-81.56-4.85-81.56 46.75 0 18.8 9.4 32 21.85 38.11C74.23 294.23 66.8 301 66.8 310.6c0 6.87 2.79 13.22 11.18 16.76-8.9 8.4-14 14.48-14 25.92C64 373.35 81.53 385 127.52 385c44.22 0 69.87-16.51 69.87-45.73 0-36.67-28.23-35.32-94.77-39.38l8.38-13.43c17 4.74 74.19 6.23 74.19-42.43 0-11.69-4.83-19.82-9.4-25.67l23.38-1.78zm84.34 109.84l-13-1.78c-3.82-.51-4.07-1-4.07-5.09V192.52h-52.6l-2.79 20.57c15.75 5.55 17 4.86 17 10.17V298c0 5.62-.31 4.58-17 6.87v20.06h72.42zM384 315l-6.87-22.37c-40.93 15.37-37.85-12.41-37.85-16.73v-60.72h37.85v-25.41h-35.82c-2.87 0-2 2.52-2-38.63h-24.18c-2.79 27.7-11.68 38.88-34 41.42v22.62c20.47 0 19.82-.85 19.82 2.54v66.57c0 28.72 11.43 40.91 41.67 40.91 14.45 0 30.45-4.83 41.38-10.2z\"]\n};\nvar faGithub = {\n prefix: 'fab',\n iconName: 'github',\n icon: [496, 512, [], \"f09b\", \"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z\"]\n};\nvar faGithubAlt = {\n prefix: 'fab',\n iconName: 'github-alt',\n icon: [480, 512, [], \"f113\", \"M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z\"]\n};\nvar faGithubSquare = {\n prefix: 'fab',\n iconName: 'github-square',\n icon: [448, 512, [], \"f092\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM277.3 415.7c-8.4 1.5-11.5-3.7-11.5-8 0-5.4.2-33 .2-55.3 0-15.6-5.2-25.5-11.3-30.7 37-4.1 76-9.2 76-73.1 0-18.2-6.5-27.3-17.1-39 1.7-4.3 7.4-22-1.7-45-13.9-4.3-45.7 17.9-45.7 17.9-13.2-3.7-27.5-5.6-41.6-5.6-14.1 0-28.4 1.9-41.6 5.6 0 0-31.8-22.2-45.7-17.9-9.1 22.9-3.5 40.6-1.7 45-10.6 11.7-15.6 20.8-15.6 39 0 63.6 37.3 69 74.3 73.1-4.8 4.3-9.1 11.7-10.6 22.3-9.5 4.3-33.8 11.7-48.3-13.9-9.1-15.8-25.5-17.1-25.5-17.1-16.2-.2-1.1 10.2-1.1 10.2 10.8 5 18.4 24.2 18.4 24.2 9.7 29.7 56.1 19.7 56.1 19.7 0 13.9.2 36.5.2 40.6 0 4.3-3 9.5-11.5 8-66-22.1-112.2-84.9-112.2-158.3 0-91.8 70.2-161.5 162-161.5S388 165.6 388 257.4c.1 73.4-44.7 136.3-110.7 158.3zm-98.1-61.1c-1.9.4-3.7-.4-3.9-1.7-.2-1.5 1.1-2.8 3-3.2 1.9-.2 3.7.6 3.9 1.9.3 1.3-1 2.6-3 3zm-9.5-.9c0 1.3-1.5 2.4-3.5 2.4-2.2.2-3.7-.9-3.7-2.4 0-1.3 1.5-2.4 3.5-2.4 1.9-.2 3.7.9 3.7 2.4zm-13.7-1.1c-.4 1.3-2.4 1.9-4.1 1.3-1.9-.4-3.2-1.9-2.8-3.2.4-1.3 2.4-1.9 4.1-1.5 2 .6 3.3 2.1 2.8 3.4zm-12.3-5.4c-.9 1.1-2.8.9-4.3-.6-1.5-1.3-1.9-3.2-.9-4.1.9-1.1 2.8-.9 4.3.6 1.3 1.3 1.8 3.3.9 4.1zm-9.1-9.1c-.9.6-2.6 0-3.7-1.5s-1.1-3.2 0-3.9c1.1-.9 2.8-.2 3.7 1.3 1.1 1.5 1.1 3.3 0 4.1zm-6.5-9.7c-.9.9-2.4.4-3.5-.6-1.1-1.3-1.3-2.8-.4-3.5.9-.9 2.4-.4 3.5.6 1.1 1.3 1.3 2.8.4 3.5zm-6.7-7.4c-.4.9-1.7 1.1-2.8.4-1.3-.6-1.9-1.7-1.5-2.6.4-.6 1.5-.9 2.8-.4 1.3.7 1.9 1.8 1.5 2.6z\"]\n};\nvar faGitkraken = {\n prefix: 'fab',\n iconName: 'gitkraken',\n icon: [592, 512, [], \"f3a6\", \"M565.7 118.1c-2.3-6.1-9.3-9.2-15.3-6.6-5.7 2.4-8.5 8.9-6.3 14.6 10.9 29 16.9 60.5 16.9 93.3 0 134.6-100.3 245.7-230.2 262.7V358.4c7.9-1.5 15.5-3.6 23-6.2v104c106.7-25.9 185.9-122.1 185.9-236.8 0-91.8-50.8-171.8-125.8-213.3-5.7-3.2-13-.9-15.9 5-2.7 5.5-.6 12.2 4.7 15.1 67.9 37.6 113.9 110 113.9 193.2 0 93.3-57.9 173.1-139.8 205.4v-92.2c14.2-4.5 24.9-17.7 24.9-33.5 0-13.1-6.8-24.4-17.3-30.5 8.3-79.5 44.5-58.6 44.5-83.9V170c0-38-87.9-161.8-129-164.7-2.5-.2-5-.2-7.6 0C251.1 8.3 163.2 132 163.2 170v14.8c0 25.3 36.3 4.3 44.5 83.9-10.6 6.1-17.3 17.4-17.3 30.5 0 15.8 10.6 29 24.8 33.5v92.2c-81.9-32.2-139.8-112-139.8-205.4 0-83.1 46-155.5 113.9-193.2 5.4-3 7.4-9.6 4.7-15.1-2.9-5.9-10.1-8.2-15.9-5-75 41.5-125.8 121.5-125.8 213.3 0 114.7 79.2 210.8 185.9 236.8v-104c7.6 2.5 15.1 4.6 23 6.2v123.7C131.4 465.2 31 354.1 31 219.5c0-32.8 6-64.3 16.9-93.3 2.2-5.8-.6-12.2-6.3-14.6-6-2.6-13 .4-15.3 6.6C14.5 149.7 8 183.8 8 219.5c0 155.1 122.6 281.6 276.3 287.8V361.4c6.8.4 15 .5 23.4 0v145.8C461.4 501.1 584 374.6 584 219.5c0-35.7-6.5-69.8-18.3-101.4zM365.9 275.5c13 0 23.7 10.5 23.7 23.7 0 13.1-10.6 23.7-23.7 23.7-13 0-23.7-10.5-23.7-23.7 0-13.1 10.6-23.7 23.7-23.7zm-139.8 47.3c-13.2 0-23.7-10.7-23.7-23.7s10.5-23.7 23.7-23.7c13.1 0 23.7 10.6 23.7 23.7 0 13-10.5 23.7-23.7 23.7z\"]\n};\nvar faGitlab = {\n prefix: 'fab',\n iconName: 'gitlab',\n icon: [512, 512, [], \"f296\", \"M105.2 24.9c-3.1-8.9-15.7-8.9-18.9 0L29.8 199.7h132c-.1 0-56.6-174.8-56.6-174.8zM.9 287.7c-2.6 8 .3 16.9 7.1 22l247.9 184-226.2-294zm160.8-88l94.3 294 94.3-294zm349.4 88l-28.8-88-226.3 294 247.9-184c6.9-5.1 9.7-14 7.2-22zM425.7 24.9c-3.1-8.9-15.7-8.9-18.9 0l-56.6 174.8h132z\"]\n};\nvar faGitter = {\n prefix: 'fab',\n iconName: 'gitter',\n icon: [384, 512, [], \"f426\", \"M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z\"]\n};\nvar faGlide = {\n prefix: 'fab',\n iconName: 'glide',\n icon: [448, 512, [], \"f2a5\", \"M252.8 148.6c0 8.8-1.6 17.7-3.4 26.4-5.8 27.8-11.6 55.8-17.3 83.6-1.4 6.3-8.3 4.9-13.7 4.9-23.8 0-30.5-26-30.5-45.5 0-29.3 11.2-68.1 38.5-83.1 4.3-2.5 9.2-4.2 14.1-4.2 11.4 0 12.3 8.3 12.3 17.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 187c0-5.1-20.8-37.7-25.5-39.5-2.2-.9-7.2-2.3-9.6-2.3-23.1 0-38.7 10.5-58.2 21.5l-.5-.5c4.3-29.4 14.6-57.2 14.6-87.4 0-44.6-23.8-62.7-67.5-62.7-71.7 0-108 70.8-108 123.5 0 54.7 32 85 86.3 85 7.5 0 6.9-.6 6.9 2.3-10.5 80.3-56.5 82.9-56.5 58.9 0-24.4 28-36.5 28.3-38-.2-7.6-29.3-17.2-36.7-17.2-21.1 0-32.7 33-32.7 50.6 0 32.3 20.4 54.7 53.3 54.7 48.2 0 83.4-49.7 94.3-91.7 9.4-37.7 7-39.4 12.3-42.1 20-10.1 35.8-16.8 58.4-16.8 11.1 0 19 2.3 36.7 5.2 1.8.1 4.1-1.7 4.1-3.5z\"]\n};\nvar faGlideG = {\n prefix: 'fab',\n iconName: 'glide-g',\n icon: [448, 512, [], \"f2a6\", \"M407.1 211.2c-3.5-1.4-11.6-3.8-15.4-3.8-37.1 0-62.2 16.8-93.5 34.5l-.9-.9c7-47.3 23.5-91.9 23.5-140.4C320.8 29.1 282.6 0 212.4 0 97.3 0 39 113.7 39 198.4 39 286.3 90.3 335 177.6 335c12 0 11-1 11 3.8-16.9 128.9-90.8 133.1-90.8 94.6 0-39.2 45-58.6 45.5-61-.3-12.2-47-27.6-58.9-27.6-33.9.1-52.4 51.2-52.4 79.3C32 476 64.8 512 117.5 512c77.4 0 134-77.8 151.4-145.4 15.1-60.5 11.2-63.3 19.7-67.6 32.2-16.2 57.5-27 93.8-27 17.8 0 30.5 3.7 58.9 8.4 2.9 0 6.7-2.9 6.7-5.8 0-8-33.4-60.5-40.9-63.4zm-175.3-84.4c-9.3 44.7-18.6 89.6-27.8 134.3-2.3 10.2-13.3 7.8-22 7.8-38.3 0-49-41.8-49-73.1 0-47 18-109.3 61.8-133.4 7-4.1 14.8-6.7 22.6-6.7 18.6 0 20 13.3 20 28.7-.1 14.3-2.7 28.5-5.6 42.4z\"]\n};\nvar faGofore = {\n prefix: 'fab',\n iconName: 'gofore',\n icon: [400, 512, [], \"f3a7\", \"M324 319.8h-13.2v34.7c-24.5 23.1-56.3 35.8-89.9 35.8-73.2 0-132.4-60.2-132.4-134.4 0-74.1 59.2-134.4 132.4-134.4 35.3 0 68.6 14 93.6 39.4l62.3-63.3C335 55.3 279.7 32 220.7 32 98 32 0 132.6 0 256c0 122.5 97 224 220.7 224 63.2 0 124.5-26.2 171-82.5-2-27.6-13.4-77.7-67.7-77.7zm-12.1-112.5H205.6v89H324c33.5 0 60.5 15.1 76 41.8v-30.6c0-65.2-40.4-100.2-88.1-100.2z\"]\n};\nvar faGoodreads = {\n prefix: 'fab',\n iconName: 'goodreads',\n icon: [448, 512, [], \"f3a8\", \"M299.9 191.2c5.1 37.3-4.7 79-35.9 100.7-22.3 15.5-52.8 14.1-70.8 5.7-37.1-17.3-49.5-58.6-46.8-97.2 4.3-60.9 40.9-87.9 75.3-87.5 46.9-.2 71.8 31.8 78.2 78.3zM448 88v336c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V88c0-30.9 25.1-56 56-56h336c30.9 0 56 25.1 56 56zM330 313.2s-.1-34-.1-217.3h-29v40.3c-.8.3-1.2-.5-1.6-1.2-9.6-20.7-35.9-46.3-76-46-51.9.4-87.2 31.2-100.6 77.8-4.3 14.9-5.8 30.1-5.5 45.6 1.7 77.9 45.1 117.8 112.4 115.2 28.9-1.1 54.5-17 69-45.2.5-1 1.1-1.9 1.7-2.9.2.1.4.1.6.2.3 3.8.2 30.7.1 34.5-.2 14.8-2 29.5-7.2 43.5-7.8 21-22.3 34.7-44.5 39.5-17.8 3.9-35.6 3.8-53.2-1.2-21.5-6.1-36.5-19-41.1-41.8-.3-1.6-1.3-1.3-2.3-1.3h-26.8c.8 10.6 3.2 20.3 8.5 29.2 24.2 40.5 82.7 48.5 128.2 37.4 49.9-12.3 67.3-54.9 67.4-106.3z\"]\n};\nvar faGoodreadsG = {\n prefix: 'fab',\n iconName: 'goodreads-g',\n icon: [384, 512, [], \"f3a9\", \"M42.6 403.3h2.8c12.7 0 25.5 0 38.2.1 1.6 0 3.1-.4 3.6 2.1 7.1 34.9 30 54.6 62.9 63.9 26.9 7.6 54.1 7.8 81.3 1.8 33.8-7.4 56-28.3 68-60.4 8-21.5 10.7-43.8 11-66.5.1-5.8.3-47-.2-52.8l-.9-.3c-.8 1.5-1.7 2.9-2.5 4.4-22.1 43.1-61.3 67.4-105.4 69.1-103 4-169.4-57-172-176.2-.5-23.7 1.8-46.9 8.3-69.7C58.3 47.7 112.3.6 191.6 0c61.3-.4 101.5 38.7 116.2 70.3.5 1.1 1.3 2.3 2.4 1.9V10.6h44.3c0 280.3.1 332.2.1 332.2-.1 78.5-26.7 143.7-103 162.2-69.5 16.9-159 4.8-196-57.2-8-13.5-11.8-28.3-13-44.5zM188.9 36.5c-52.5-.5-108.5 40.7-115 133.8-4.1 59 14.8 122.2 71.5 148.6 27.6 12.9 74.3 15 108.3-8.7 47.6-33.2 62.7-97 54.8-154-9.7-71.1-47.8-120-119.6-119.7z\"]\n};\nvar faGoogle = {\n prefix: 'fab',\n iconName: 'google',\n icon: [488, 512, [], \"f1a0\", \"M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z\"]\n};\nvar faGoogleDrive = {\n prefix: 'fab',\n iconName: 'google-drive',\n icon: [512, 512, [], \"f3aa\", \"M339 314.9L175.4 32h161.2l163.6 282.9H339zm-137.5 23.6L120.9 480h310.5L512 338.5H201.5zM154.1 67.4L0 338.5 80.6 480 237 208.8 154.1 67.4z\"]\n};\nvar faGooglePay = {\n prefix: 'fab',\n iconName: 'google-pay',\n icon: [640, 512, [], \"e079\", \"M105.72,215v41.25h57.1a49.66,49.66,0,0,1-21.14,32.6c-9.54,6.55-21.72,10.28-36,10.28-27.6,0-50.93-18.91-59.3-44.22a65.61,65.61,0,0,1,0-41l0,0c8.37-25.46,31.7-44.37,59.3-44.37a56.43,56.43,0,0,1,40.51,16.08L176.47,155a101.24,101.24,0,0,0-70.75-27.84,105.55,105.55,0,0,0-94.38,59.11,107.64,107.64,0,0,0,0,96.18v.15a105.41,105.41,0,0,0,94.38,59c28.47,0,52.55-9.53,70-25.91,20-18.61,31.41-46.15,31.41-78.91A133.76,133.76,0,0,0,205.38,215Zm389.41-4c-10.13-9.38-23.93-14.14-41.39-14.14-22.46,0-39.34,8.34-50.5,24.86l20.85,13.26q11.45-17,31.26-17a34.05,34.05,0,0,1,22.75,8.79A28.14,28.14,0,0,1,487.79,248v5.51c-9.1-5.07-20.55-7.75-34.64-7.75-16.44,0-29.65,3.88-39.49,11.77s-14.82,18.31-14.82,31.56a39.74,39.74,0,0,0,13.94,31.27c9.25,8.34,21,12.51,34.79,12.51,16.29,0,29.21-7.3,39-21.89h1v17.72h22.61V250C510.25,233.45,505.26,220.34,495.13,211ZM475.9,300.3a37.32,37.32,0,0,1-26.57,11.16A28.61,28.61,0,0,1,431,305.21a19.41,19.41,0,0,1-7.77-15.63c0-7,3.22-12.81,9.54-17.42s14.53-7,24.07-7C470,265,480.3,268,487.64,273.94,487.64,284.07,483.68,292.85,475.9,300.3Zm-93.65-142A55.71,55.71,0,0,0,341.74,142H279.07V328.74H302.7V253.1h39c16,0,29.5-5.36,40.51-15.93.88-.89,1.76-1.79,2.65-2.68A54.45,54.45,0,0,0,382.25,158.26Zm-16.58,62.23a30.65,30.65,0,0,1-23.34,9.68H302.7V165h39.63a32,32,0,0,1,22.6,9.23A33.18,33.18,0,0,1,365.67,220.49ZM614.31,201,577.77,292.7h-.45L539.9,201H514.21L566,320.55l-29.35,64.32H561L640,201Z\"]\n};\nvar faGooglePlay = {\n prefix: 'fab',\n iconName: 'google-play',\n icon: [512, 512, [], \"f3ab\", \"M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l256.6-256L47 0zm425.2 225.6l-58.9-34.1-65.7 64.5 65.7 64.5 60.1-34.1c18-14.3 18-46.5-1.2-60.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z\"]\n};\nvar faGooglePlus = {\n prefix: 'fab',\n iconName: 'google-plus',\n icon: [512, 512, [], \"f2b3\", \"M256,8C119.1,8,8,119.1,8,256S119.1,504,256,504,504,392.9,504,256,392.9,8,256,8ZM185.3,380a124,124,0,0,1,0-248c31.3,0,60.1,11,83,32.3l-33.6,32.6c-13.2-12.9-31.3-19.1-49.4-19.1-42.9,0-77.2,35.5-77.2,78.1S142.3,334,185.3,334c32.6,0,64.9-19.1,70.1-53.3H185.3V238.1H302.2a109.2,109.2,0,0,1,1.9,20.7c0,70.8-47.5,121.2-118.8,121.2ZM415.5,273.8v35.5H380V273.8H344.5V238.3H380V202.8h35.5v35.5h35.2v35.5Z\"]\n};\nvar faGooglePlusG = {\n prefix: 'fab',\n iconName: 'google-plus-g',\n icon: [640, 512, [], \"f0d5\", \"M386.061 228.496c1.834 9.692 3.143 19.384 3.143 31.956C389.204 370.205 315.599 448 204.8 448c-106.084 0-192-85.915-192-192s85.916-192 192-192c51.864 0 95.083 18.859 128.611 50.292l-52.126 50.03c-14.145-13.621-39.028-29.599-76.485-29.599-65.484 0-118.92 54.221-118.92 121.277 0 67.056 53.436 121.277 118.92 121.277 75.961 0 104.513-54.745 108.965-82.773H204.8v-66.009h181.261zm185.406 6.437V179.2h-56.001v55.733h-55.733v56.001h55.733v55.733h56.001v-55.733H627.2v-56.001h-55.733z\"]\n};\nvar faGooglePlusSquare = {\n prefix: 'fab',\n iconName: 'google-plus-square',\n icon: [448, 512, [], \"f0d4\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM164 356c-55.3 0-100-44.7-100-100s44.7-100 100-100c27 0 49.5 9.8 67 26.2l-27.1 26.1c-7.4-7.1-20.3-15.4-39.8-15.4-34.1 0-61.9 28.2-61.9 63.2 0 34.9 27.8 63.2 61.9 63.2 39.6 0 54.4-28.5 56.8-43.1H164v-34.4h94.4c1 5 1.6 10.1 1.6 16.6 0 57.1-38.3 97.6-96 97.6zm220-81.8h-29v29h-29.2v-29h-29V245h29v-29H355v29h29v29.2z\"]\n};\nvar faGoogleWallet = {\n prefix: 'fab',\n iconName: 'google-wallet',\n icon: [448, 512, [], \"f1ee\", \"M156.8 126.8c37.6 60.6 64.2 113.1 84.3 162.5-8.3 33.8-18.8 66.5-31.3 98.3-13.2-52.3-26.5-101.3-56-148.5 6.5-36.4 2.3-73.6 3-112.3zM109.3 200H16.1c-6.5 0-10.5 7.5-6.5 12.7C51.8 267 81.3 330.5 101.3 400h103.5c-16.2-69.7-38.7-133.7-82.5-193.5-3-4-8-6.5-13-6.5zm47.8-88c68.5 108 130 234.5 138.2 368H409c-12-138-68.4-265-143.2-368H157.1zm251.8-68.5c-1.8-6.8-8.2-11.5-15.2-11.5h-88.3c-5.3 0-9 5-7.8 10.3 13.2 46.5 22.3 95.5 26.5 146 48.2 86.2 79.7 178.3 90.6 270.8 15.8-60.5 25.3-133.5 25.3-203 0-73.6-12.1-145.1-31.1-212.6z\"]\n};\nvar faGratipay = {\n prefix: 'fab',\n iconName: 'gratipay',\n icon: [496, 512, [], \"f184\", \"M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm114.6 226.4l-113 152.7-112.7-152.7c-8.7-11.9-19.1-50.4 13.6-72 28.1-18.1 54.6-4.2 68.5 11.9 15.9 17.9 46.6 16.9 61.7 0 13.9-16.1 40.4-30 68.1-11.9 32.9 21.6 22.6 60 13.8 72z\"]\n};\nvar faGrav = {\n prefix: 'fab',\n iconName: 'grav',\n icon: [512, 512, [], \"f2d6\", \"M301.1 212c4.4 4.4 4.4 11.9 0 16.3l-9.7 9.7c-4.4 4.7-11.9 4.7-16.6 0l-10.5-10.5c-4.4-4.7-4.4-11.9 0-16.6l9.7-9.7c4.4-4.4 11.9-4.4 16.6 0l10.5 10.8zm-30.2-19.7c3-3 3-7.8 0-10.5-2.8-3-7.5-3-10.5 0-2.8 2.8-2.8 7.5 0 10.5 3.1 2.8 7.8 2.8 10.5 0zm-26 5.3c-3 2.8-3 7.5 0 10.2 2.8 3 7.5 3 10.5 0 2.8-2.8 2.8-7.5 0-10.2-3-3-7.7-3-10.5 0zm72.5-13.3c-19.9-14.4-33.8-43.2-11.9-68.1 21.6-24.9 40.7-17.2 59.8.8 11.9 11.3 29.3 24.9 17.2 48.2-12.5 23.5-45.1 33.2-65.1 19.1zm47.7-44.5c-8.9-10-23.3 6.9-15.5 16.1 7.4 9 32.1 2.4 15.5-16.1zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-66.2 42.6c2.5-16.1-20.2-16.6-25.2-25.7-13.6-24.1-27.7-36.8-54.5-30.4 11.6-8 23.5-6.1 23.5-6.1.3-6.4 0-13-9.4-24.9 3.9-12.5.3-22.4.3-22.4 15.5-8.6 26.8-24.4 29.1-43.2 3.6-31-18.8-59.2-49.8-62.8-22.1-2.5-43.7 7.7-54.3 25.7-23.2 40.1 1.4 70.9 22.4 81.4-14.4-1.4-34.3-11.9-40.1-34.3-6.6-25.7 2.8-49.8 8.9-61.4 0 0-4.4-5.8-8-8.9 0 0-13.8 0-24.6 5.3 11.9-15.2 25.2-14.4 25.2-14.4 0-6.4-.6-14.9-3.6-21.6-5.4-11-23.8-12.9-31.7 2.8.1-.2.3-.4.4-.5-5 11.9-1.1 55.9 16.9 87.2-2.5 1.4-9.1 6.1-13 10-21.6 9.7-56.2 60.3-56.2 60.3-28.2 10.8-77.2 50.9-70.6 79.7.3 3 1.4 5.5 3 7.5-2.8 2.2-5.5 5-8.3 8.3-11.9 13.8-5.3 35.2 17.7 24.4 15.8-7.2 29.6-20.2 36.3-30.4 0 0-5.5-5-16.3-4.4 27.7-6.6 34.3-9.4 46.2-9.1 8 3.9 8-34.3 8-34.3 0-14.7-2.2-31-11.1-41.5 12.5 12.2 29.1 32.7 28 60.6-.8 18.3-15.2 23-15.2 23-9.1 16.6-43.2 65.9-30.4 106 0 0-9.7-14.9-10.2-22.1-17.4 19.4-46.5 52.3-24.6 64.5 26.6 14.7 108.8-88.6 126.2-142.3 34.6-20.8 55.4-47.3 63.9-65 22 43.5 95.3 94.5 101.1 59z\"]\n};\nvar faGripfire = {\n prefix: 'fab',\n iconName: 'gripfire',\n icon: [384, 512, [], \"f3ac\", \"M112.5 301.4c0-73.8 105.1-122.5 105.1-203 0-47.1-34-88-39.1-90.4.4 3.3.6 6.7.6 10C179.1 110.1 32 171.9 32 286.6c0 49.8 32.2 79.2 66.5 108.3 65.1 46.7 78.1 71.4 78.1 86.6 0 10.1-4.8 17-4.8 22.3 13.1-16.7 17.4-31.9 17.5-46.4 0-29.6-21.7-56.3-44.2-86.5-16-22.3-32.6-42.6-32.6-69.5zm205.3-39c-12.1-66.8-78-124.4-94.7-130.9l4 7.2c2.4 5.1 3.4 10.9 3.4 17.1 0 44.7-54.2 111.2-56.6 116.7-2.2 5.1-3.2 10.5-3.2 15.8 0 20.1 15.2 42.1 17.9 42.1 2.4 0 56.6-55.4 58.1-87.7 6.4 11.7 9.1 22.6 9.1 33.4 0 41.2-41.8 96.9-41.8 96.9 0 11.6 31.9 53.2 35.5 53.2 1 0 2.2-1.4 3.2-2.4 37.9-39.3 67.3-85 67.3-136.8 0-8-.7-16.2-2.2-24.6z\"]\n};\nvar faGrunt = {\n prefix: 'fab',\n iconName: 'grunt',\n icon: [384, 512, [], \"f3ad\", \"M61.3 189.3c-1.1 10 5.2 19.1 5.2 19.1.7-7.5 2.2-12.8 4-16.6.4 10.3 3.2 23.5 12.8 34.1 6.9 7.6 35.6 23.3 54.9 6.1 1 2.4 2.1 5.3 3 8.5 2.9 10.3-2.7 25.3-2.7 25.3s15.1-17.1 13.9-32.5c10.8-.5 21.4-8.4 21.1-19.5 0 0-18.9 10.4-35.5-8.8-9.7-11.2-40.9-42-83.1-31.8 4.3 1 8.9 2.4 13.5 4.1h-.1c-4.2 2-6.5 7.1-7 12zm28.3-1.8c19.5 11 37.4 25.7 44.9 37-5.7 3.3-21.7 10.4-38-1.7-10.3-7.6-9.8-26.2-6.9-35.3zm142.1 45.8c-1.2 15.5 13.9 32.5 13.9 32.5s-5.6-15-2.7-25.3c.9-3.2 2-6 3-8.5 19.3 17.3 48 1.5 54.8-6.1 9.6-10.6 12.3-23.8 12.8-34.1 1.8 3.8 3.4 9.1 4 16.6 0 0 6.4-9.1 5.2-19.1-.6-5-2.9-10-7-11.8h-.1c4.6-1.8 9.2-3.2 13.5-4.1-42.3-10.2-73.4 20.6-83.1 31.8-16.7 19.2-35.5 8.8-35.5 8.8-.2 10.9 10.4 18.9 21.2 19.3zm62.7-45.8c3 9.1 3.4 27.7-7 35.4-16.3 12.1-32.2 5-37.9 1.6 7.5-11.4 25.4-26 44.9-37zM160 418.5h-29.4c-5.5 0-8.2 1.6-9.5 2.9-1.9 2-2.2 4.7-.9 8.1 3.5 9.1 11.4 16.5 13.7 18.6 3.1 2.7 7.5 4.3 11.8 4.3 4.4 0 8.3-1.7 11-4.6 7.5-8.2 11.9-17.1 13-19.8.6-1.5 1.3-4.5-.9-6.8-1.8-1.8-4.7-2.7-8.8-2.7zm189.2-101.2c-2.4 17.9-13 33.8-24.6 43.7-3.1-22.7-3.7-55.5-3.7-62.4 0-14.7 9.5-24.5 12.2-26.1 2.5-1.5 5.4-3 8.3-4.6 18-9.6 40.4-21.6 40.4-43.7 0-16.2-9.3-23.2-15.4-27.8-.8-.6-1.5-1.1-2.2-1.7-2.1-1.7-3.7-3-4.3-4.4-4.4-9.8-3.6-34.2-1.7-37.6.6-.6 16.7-20.9 11.8-39.2-2-7.4-6.9-13.3-14.1-17-5.3-2.7-11.9-4.2-19.5-4.5-.1-2-.5-3.9-.9-5.9-.6-2.6-1.1-5.3-.9-8.1.4-4.7.8-9 2.2-11.3 8.4-13.3 28.8-17.6 29-17.6l12.3-2.4-8.1-9.5c-.1-.2-17.3-17.5-46.3-17.5-7.9 0-16 1.3-24.1 3.9-24.2 7.8-42.9 30.5-49.4 39.3-3.1-1-6.3-1.9-9.6-2.7-4.2-15.8 9-38.5 9-38.5s-13.6-3-33.7 15.2c-2.6-6.5-8.1-20.5-1.8-37.2C184.6 10.1 177.2 26 175 40.4c-7.6-5.4-6.7-23.1-7.2-27.6-7.5.9-29.2 21.9-28.2 48.3-2 .5-3.9 1.1-5.9 1.7-6.5-8.8-25.1-31.5-49.4-39.3-7.9-2.2-16-3.5-23.9-3.5-29 0-46.1 17.3-46.3 17.5L6 46.9l12.3 2.4c.2 0 20.6 4.3 29 17.6 1.4 2.2 1.8 6.6 2.2 11.3.2 2.8-.4 5.5-.9 8.1-.4 1.9-.8 3.9-.9 5.9-7.7.3-14.2 1.8-19.5 4.5-7.2 3.7-12.1 9.6-14.1 17-5 18.2 11.2 38.5 11.8 39.2 1.9 3.4 2.7 27.8-1.7 37.6-.6 1.4-2.2 2.7-4.3 4.4-.7.5-1.4 1.1-2.2 1.7-6.1 4.6-15.4 11.7-15.4 27.8 0 22.1 22.4 34.1 40.4 43.7 3 1.6 5.8 3.1 8.3 4.6 2.7 1.6 12.2 11.4 12.2 26.1 0 6.9-.6 39.7-3.7 62.4-11.6-9.9-22.2-25.9-24.6-43.8 0 0-29.2 22.6-20.6 70.8 5.2 29.5 23.2 46.1 47 54.7 8.8 19.1 29.4 45.7 67.3 49.6C143 504.3 163 512 192.2 512h.2c29.1 0 49.1-7.7 63.6-19.5 37.9-3.9 58.5-30.5 67.3-49.6 23.8-8.7 41.7-25.2 47-54.7 8.2-48.4-21.1-70.9-21.1-70.9zM305.7 37.7c5.6-1.8 11.6-2.7 17.7-2.7 11 0 19.9 3 24.7 5-3.1 1.4-6.4 3.2-9.7 5.3-2.4-.4-5.6-.8-9.2-.8-10.5 0-20.5 3.1-28.7 8.9-12.3 8.7-18 16.9-20.7 22.4-2.2-1.3-4.5-2.5-7.1-3.7-1.6-.8-3.1-1.5-4.7-2.2 6.1-9.1 19.9-26.5 37.7-32.2zm21 18.2c-.8 1-1.6 2.1-2.3 3.2-3.3 5.2-3.9 11.6-4.4 17.8-.5 6.4-1.1 12.5-4.4 17-4.2.8-8.1 1.7-11.5 2.7-2.3-3.1-5.6-7-10.5-11.2 1.4-4.8 5.5-16.1 13.5-22.5 5.6-4.3 12.2-6.7 19.6-7zM45.6 45.3c-3.3-2.2-6.6-4-9.7-5.3 4.8-2 13.7-5 24.7-5 6.1 0 12 .9 17.7 2.7 17.8 5.8 31.6 23.2 37.7 32.1-1.6.7-3.2 1.4-4.8 2.2-2.5 1.2-4.9 2.5-7.1 3.7-2.6-5.4-8.3-13.7-20.7-22.4-8.3-5.8-18.2-8.9-28.8-8.9-3.4.1-6.6.5-9 .9zm44.7 40.1c-4.9 4.2-8.3 8-10.5 11.2-3.4-.9-7.3-1.9-11.5-2.7C65 89.5 64.5 83.4 64 77c-.5-6.2-1.1-12.6-4.4-17.8-.7-1.1-1.5-2.2-2.3-3.2 7.4.3 14 2.6 19.5 7 8 6.3 12.1 17.6 13.5 22.4zM58.1 259.9c-2.7-1.6-5.6-3.1-8.4-4.6-14.9-8-30.2-16.3-30.2-30.5 0-11.1 4.3-14.6 8.9-18.2l.5-.4c.7-.6 1.4-1.2 2.2-1.8-.9 7.2-1.9 13.3-2.7 14.9 0 0 12.1-15 15.7-44.3 1.4-11.5-1.1-34.3-5.1-43 .2 4.9 0 9.8-.3 14.4-.4-.8-.8-1.6-1.3-2.2-3.2-4-11.8-17.5-9.4-26.6.9-3.5 3.1-6 6.7-7.8 3.8-1.9 8.8-2.9 15.1-2.9 12.3 0 25.9 3.7 32.9 6 25.1 8 55.4 30.9 64.1 37.7.2.2.4.3.4.3l5.6 3.9-3.5-5.8c-.2-.3-19.1-31.4-53.2-46.5 2-2.9 7.4-8.1 21.6-15.1 21.4-10.5 46.5-15.8 74.3-15.8 27.9 0 52.9 5.3 74.3 15.8 14.2 6.9 19.6 12.2 21.6 15.1-34 15.1-52.9 46.2-53.1 46.5l-3.5 5.8 5.6-3.9s.2-.1.4-.3c8.7-6.8 39-29.8 64.1-37.7 7-2.2 20.6-6 32.9-6 6.3 0 11.3 1 15.1 2.9 3.5 1.8 5.7 4.4 6.7 7.8 2.5 9.1-6.1 22.6-9.4 26.6-.5.6-.9 1.3-1.3 2.2-.3-4.6-.5-9.5-.3-14.4-4 8.8-6.5 31.5-5.1 43 3.6 29.3 15.7 44.3 15.7 44.3-.8-1.6-1.8-7.7-2.7-14.9.7.6 1.5 1.2 2.2 1.8l.5.4c4.6 3.7 8.9 7.1 8.9 18.2 0 14.2-15.4 22.5-30.2 30.5-2.9 1.5-5.7 3.1-8.4 4.6-8.7 5-18 16.7-19.1 34.2-.9 14.6.9 49.9 3.4 75.9-12.4 4.8-26.7 6.4-39.7 6.8-2-4.1-3.9-8.5-5.5-13.1-.7-2-19.6-51.1-26.4-62.2 5.5 39 17.5 73.7 23.5 89.6-3.5-.5-7.3-.7-11.7-.7h-117c-4.4 0-8.3.3-11.7.7 6-15.9 18.1-50.6 23.5-89.6-6.8 11.2-25.7 60.3-26.4 62.2-1.6 4.6-3.5 9-5.5 13.1-13-.4-27.2-2-39.7-6.8 2.5-26 4.3-61.2 3.4-75.9-.9-17.4-10.3-29.2-19-34.2zM34.8 404.6c-12.1-20-8.7-54.1-3.7-59.1 10.9 34.4 47.2 44.3 74.4 45.4-2.7 4.2-5.2 7.6-7 10l-1.4 1.4c-7.2 7.8-8.6 18.5-4.1 31.8-22.7-.1-46.3-9.8-58.2-29.5zm45.7 43.5c6 1.1 12.2 1.9 18.6 2.4 3.5 8 7.4 15.9 12.3 23.1-14.4-5.9-24.4-16-30.9-25.5zM192 498.2c-60.6-.1-78.3-45.8-84.9-64.7-3.7-10.5-3.4-18.2.9-23.1 2.9-3.3 9.5-7.2 24.6-7.2h118.8c15.1 0 21.8 3.9 24.6 7.2 4.2 4.8 4.5 12.6.9 23.1-6.6 18.8-24.3 64.6-84.9 64.7zm80.6-24.6c4.9-7.2 8.8-15.1 12.3-23.1 6.4-.5 12.6-1.3 18.6-2.4-6.5 9.5-16.5 19.6-30.9 25.5zm76.6-69c-12 19.7-35.6 29.3-58.1 29.7 4.5-13.3 3.1-24.1-4.1-31.8-.4-.5-.9-1-1.4-1.5-1.8-2.4-4.3-5.8-7-10 27.2-1.2 63.5-11 74.4-45.4 5 5 8.4 39.1-3.8 59zM191.9 187.7h.2c12.7-.1 27.2-17.8 27.2-17.8-9.9 6-18.8 8.1-27.3 8.3-8.5-.2-17.4-2.3-27.3-8.3 0 0 14.5 17.6 27.2 17.8zm61.7 230.7h-29.4c-4.2 0-7.2.9-8.9 2.7-2.2 2.3-1.5 5.2-.9 6.7 1 2.6 5.5 11.3 13 19.3 2.7 2.9 6.6 4.5 11 4.5s8.7-1.6 11.8-4.2c2.3-2 10.2-9.2 13.7-18.1 1.3-3.3 1-6-.9-7.9-1.3-1.3-4-2.9-9.4-3z\"]\n};\nvar faGuilded = {\n prefix: 'fab',\n iconName: 'guilded',\n icon: [448, 512, [], \"e07e\", \"M443.427,64H4.571c0,103.26,22.192,180.06,43.418,222.358C112.046,414.135,224,448,225.256,448a312.824,312.824,0,0,0,140.55-103.477c25.907-33.923,53.1-87.19,65.916-145.761H171.833c4.14,36.429,22.177,67.946,45.1,86.944h88.589c-17.012,28.213-48.186,54.4-80.456,69.482-31.232-13.259-69.09-46.544-96.548-98.362-26.726-53.833-27.092-105.883-27.092-105.883H437.573A625.91,625.91,0,0,0,443.427,64Z\"]\n};\nvar faGulp = {\n prefix: 'fab',\n iconName: 'gulp',\n icon: [256, 512, [], \"f3ae\", \"M209.8 391.1l-14.1 24.6-4.6 80.2c0 8.9-28.3 16.1-63.1 16.1s-63.1-7.2-63.1-16.1l-5.8-79.4-14.9-25.4c41.2 17.3 126 16.7 165.6 0zm-196-253.3l13.6 125.5c5.9-20 20.8-47 40-55.2 6.3-2.7 12.7-2.7 18.7.9 5.2 3 9.6 9.3 10.1 11.8 1.2 6.5-2 9.1-4.5 9.1-3 0-5.3-4.6-6.8-7.3-4.1-7.3-10.3-7.6-16.9-2.8-6.9 5-12.9 13.4-17.1 20.7-5.1 8.8-9.4 18.5-12 28.2-1.5 5.6-2.9 14.6-.6 19.9 1 2.2 2.5 3.6 4.9 3.6 5 0 12.3-6.6 15.8-10.1 4.5-4.5 10.3-11.5 12.5-16l5.2-15.5c2.6-6.8 9.9-5.6 9.9 0 0 10.2-3.7 13.6-10 34.7-5.8 19.5-7.6 25.8-7.6 25.8-.7 2.8-3.4 7.5-6.3 7.5-1.2 0-2.1-.4-2.6-1.2-1-1.4-.9-5.3-.8-6.3.2-3.2 6.3-22.2 7.3-25.2-2 2.2-4.1 4.4-6.4 6.6-5.4 5.1-14.1 11.8-21.5 11.8-3.4 0-5.6-.9-7.7-2.4l7.6 79.6c2 5 39.2 17.1 88.2 17.1 49.1 0 86.3-12.2 88.2-17.1l10.9-94.6c-5.7 5.2-12.3 11.6-19.6 14.8-5.4 2.3-17.4 3.8-17.4-5.7 0-5.2 9.1-14.8 14.4-21.5 1.4-1.7 4.7-5.9 4.7-8.1 0-2.9-6-2.2-11.7 2.5-3.2 2.7-6.2 6.3-8.7 9.7-4.3 6-6.6 11.2-8.5 15.5-6.2 14.2-4.1 8.6-9.1 22-5 13.3-4.2 11.8-5.2 14-.9 1.9-2.2 3.5-4 4.5-1.9 1-4.5.9-6.1-.3-.9-.6-1.3-1.9-1.3-3.7 0-.9.1-1.8.3-2.7 1.5-6.1 7.8-18.1 15-34.3 1.6-3.7 1-2.6.8-2.3-6.2 6-10.9 8.9-14.4 10.5-5.8 2.6-13 2.6-14.5-4.1-.1-.4-.1-.8-.2-1.2-11.8 9.2-24.3 11.7-20-8.1-4.6 8.2-12.6 14.9-22.4 14.9-4.1 0-7.1-1.4-8.6-5.1-2.3-5.5 1.3-14.9 4.6-23.8 1.7-4.5 4-9.9 7.1-16.2 1.6-3.4 4.2-5.4 7.6-4.5.6.2 1.1.4 1.6.7 2.6 1.8 1.6 4.5.3 7.2-3.8 7.5-7.1 13-9.3 20.8-.9 3.3-2 9 1.5 9 2.4 0 4.7-.8 6.9-2.4 4.6-3.4 8.3-8.5 11.1-13.5 2-3.6 4.4-8.3 5.6-12.3.5-1.7 1.1-3.3 1.8-4.8 1.1-2.5 2.6-5.1 5.2-5.1 1.3 0 2.4.5 3.2 1.5 1.7 2.2 1.3 4.5.4 6.9-2 5.6-4.7 10.6-6.9 16.7-1.3 3.5-2.7 8-2.7 11.7 0 3.4 3.7 2.6 6.8 1.2 2.4-1.1 4.8-2.8 6.8-4.5 1.2-4.9.9-3.8 26.4-68.2 1.3-3.3 3.7-4.7 6.1-4.7 1.2 0 2.2.4 3.2 1.1 1.7 1.3 1.7 4.1 1 6.2-.7 1.9-.6 1.3-4.5 10.5-5.2 12.1-8.6 20.8-13.2 31.9-1.9 4.6-7.7 18.9-8.7 22.3-.6 2.2-1.3 5.8 1 5.8 5.4 0 19.3-13.1 23.1-17 .2-.3.5-.4.9-.6.6-1.9 1.2-3.7 1.7-5.5 1.4-3.8 2.7-8.2 5.3-11.3.8-1 1.7-1.6 2.7-1.6 2.8 0 4.2 1.2 4.2 4 0 1.1-.7 5.1-1.1 6.2 1.4-1.5 2.9-3 4.5-4.5 15-13.9 25.7-6.8 25.7.2 0 7.4-8.9 17.7-13.8 23.4-1.6 1.9-4.9 5.4-5 6.4 0 1.3.9 1.8 2.2 1.8 2 0 6.4-3.5 8-4.7 5-3.9 11.8-9.9 16.6-14.1l14.8-136.8c-30.5 17.1-197.6 17.2-228.3.2zm229.7-8.5c0 21-231.2 21-231.2 0 0-8.8 51.8-15.9 115.6-15.9 9 0 17.8.1 26.3.4l12.6-48.7L228.1.6c1.4-1.4 5.8-.2 9.9 3.5s6.6 7.9 5.3 9.3l-.1.1L185.9 74l-10 40.7c39.9 2.6 67.6 8.1 67.6 14.6zm-69.4 4.6c0-.8-.9-1.5-2.5-2.1l-.2.8c0 1.3-5 2.4-11.1 2.4s-11.1-1.1-11.1-2.4c0-.1 0-.2.1-.3l.2-.7c-1.8.6-3 1.4-3 2.3 0 2.1 6.2 3.7 13.7 3.7 7.7.1 13.9-1.6 13.9-3.7z\"]\n};\nvar faHackerNews = {\n prefix: 'fab',\n iconName: 'hacker-news',\n icon: [448, 512, [], \"f1d4\", \"M0 32v448h448V32H0zm21.2 197.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z\"]\n};\nvar faHackerNewsSquare = {\n prefix: 'fab',\n iconName: 'hacker-news-square',\n icon: [448, 512, [], \"f3af\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.2 229.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z\"]\n};\nvar faHackerrank = {\n prefix: 'fab',\n iconName: 'hackerrank',\n icon: [512, 512, [], \"f5f7\", \"M477.5 128C463 103.05 285.13 0 256.16 0S49.25 102.79 34.84 128s-14.49 230.8 0 256 192.38 128 221.32 128S463 409.08 477.49 384s14.51-231 .01-256zM316.13 414.22c-4 0-40.91-35.77-38-38.69.87-.87 6.26-1.48 17.55-1.83 0-26.23.59-68.59.94-86.32 0-2-.44-3.43-.44-5.85h-79.93c0 7.1-.46 36.2 1.37 72.88.23 4.54-1.58 6-5.74 5.94-10.13 0-20.27-.11-30.41-.08-4.1 0-5.87-1.53-5.74-6.11.92-33.44 3-84-.15-212.67v-3.17c-9.67-.35-16.38-1-17.26-1.84-2.92-2.92 34.54-38.69 38.49-38.69s41.17 35.78 38.27 38.69c-.87.87-7.9 1.49-16.77 1.84v3.16c-2.42 25.75-2 79.59-2.63 105.39h80.26c0-4.55.39-34.74-1.2-83.64-.1-3.39.95-5.17 4.21-5.2 11.07-.08 22.15-.13 33.23-.06 3.46 0 4.57 1.72 4.5 5.38C333 354.64 336 341.29 336 373.69c8.87.35 16.82 1 17.69 1.84 2.88 2.91-33.62 38.69-37.58 38.69z\"]\n};\nvar faHips = {\n prefix: 'fab',\n iconName: 'hips',\n icon: [640, 512, [], \"f452\", \"M251.6 157.6c0-1.9-.9-2.8-2.8-2.8h-40.9c-1.6 0-2.7 1.4-2.7 2.8v201.8c0 1.4 1.1 2.8 2.7 2.8h40.9c1.9 0 2.8-.9 2.8-2.8zM156.5 168c-16.1-11.8-36.3-17.9-60.3-18-18.1-.1-34.6 3.7-49.8 11.4V80.2c0-1.8-.9-2.7-2.8-2.7H2.7c-1.8 0-2.7.9-2.7 2.7v279.2c0 1.9.9 2.8 2.7 2.8h41c1.9 0 2.8-.9 2.8-2.8V223.3c0-.8-2.8-27 45.8-27 48.5 0 45.8 26.1 45.8 27v122.6c0 9 7.3 16.3 16.4 16.3h27.3c1.8 0 2.7-.9 2.7-2.8V223.3c0-23.4-9.3-41.8-28-55.3zm478.4 110.1c-6.8-15.7-18.4-27-34.9-34.1l-57.6-25.3c-8.6-3.6-9.2-11.2-2.6-16.1 7.4-5.5 44.3-13.9 84 6.8 1.7 1 4-.3 4-2.4v-44.7c0-1.3-.6-2.1-1.9-2.6-17.7-6.6-36.1-9.9-55.1-9.9-26.5 0-45.3 5.8-58.5 15.4-.5.4-28.4 20-22.7 53.7 3.4 19.6 15.8 34.2 37.2 43.6l53.6 23.5c11.6 5.1 15.2 13.3 12.2 21.2-3.7 9.1-13.2 13.6-36.5 13.6-24.3 0-44.7-8.9-58.4-19.1-2.1-1.4-4.4.2-4.4 2.3v34.4c0 10.4 4.9 17.3 14.6 20.7 15.6 5.5 31.6 8.2 48.2 8.2 12.7 0 25.8-1.2 36.3-4.3.7-.3 36-8.9 45.6-45.8 3.5-13.5 2.4-26.5-3.1-39.1zM376.2 149.8c-31.7 0-104.2 20.1-104.2 103.5v183.5c0 .8.6 2.7 2.7 2.7h40.9c1.9 0 2.8-.9 2.8-2.7V348c16.5 12.7 35.8 19.1 57.7 19.1 60.5 0 108.7-48.5 108.7-108.7.1-60.3-48.2-108.6-108.6-108.6zm0 170.9c-17.2 0-31.9-6.1-44-18.2-12.2-12.2-18.2-26.8-18.2-44 0-34.5 27.6-62.2 62.2-62.2 34.5 0 62.2 27.6 62.2 62.2.1 34.3-27.3 62.2-62.2 62.2zM228.3 72.5c-15.9 0-28.8 12.9-28.9 28.9 0 15.6 12.7 28.9 28.9 28.9s28.9-13.1 28.9-28.9c0-16.2-13-28.9-28.9-28.9z\"]\n};\nvar faHireAHelper = {\n prefix: 'fab',\n iconName: 'hire-a-helper',\n icon: [512, 512, [], \"f3b0\", \"M443.1 0H71.9C67.9 37.3 37.4 67.8 0 71.7v371.5c37.4 4.9 66 32.4 71.9 68.8h372.2c3-36.4 32.5-65.8 67.9-69.8V71.7c-36.4-5.9-65-35.3-68.9-71.7zm-37 404.9c-36.3 0-18.8-2-55.1-2-35.8 0-21 2-56.1 2-5.9 0-4.9-8.2 0-9.8 22.8-7.6 22.9-10.2 24.6-12.8 10.4-15.6 5.9-83 5.9-113 0-5.3-6.4-12.8-13.8-12.8H200.4c-7.4 0-13.8 7.5-13.8 12.8 0 30-4.5 97.4 5.9 113 1.7 2.5 1.8 5.2 24.6 12.8 4.9 1.6 6 9.8 0 9.8-35.1 0-20.3-2-56.1-2-36.3 0-18.8 2-55.1 2-7.9 0-5.8-10.8 0-10.8 10.2-3.4 13.5-3.5 21.7-13.8 7.7-12.9 7.9-44.4 7.9-127.8V151.3c0-22.2-12.2-28.3-28.6-32.4-8.8-2.2-4-11.8 1-11.8 36.5 0 20.6 2 57.1 2 32.7 0 16.5-2 49.2-2 3.3 0 8.5 8.3 1 10.8-4.9 1.6-27.6 3.7-27.6 39.3 0 45.6-.2 55.8 1 68.8 0 1.3 2.3 12.8 12.8 12.8h109.2c10.5 0 12.8-11.5 12.8-12.8 1.2-13 1-23.2 1-68.8 0-35.6-22.7-37.7-27.6-39.3-7.5-2.5-2.3-10.8 1-10.8 32.7 0 16.5 2 49.2 2 36.5 0 20.6-2 57.1-2 4.9 0 9.9 9.6 1 11.8-16.4 4.1-28.6 10.3-28.6 32.4v101.2c0 83.4.1 114.9 7.9 127.8 8.2 10.2 11.4 10.4 21.7 13.8 5.8 0 7.8 10.8 0 10.8z\"]\n};\nvar faHive = {\n prefix: 'fab',\n iconName: 'hive',\n icon: [512, 512, [], \"e07f\", \"M260.353,254.878,131.538,33.1a2.208,2.208,0,0,0-3.829.009L.3,254.887A2.234,2.234,0,0,0,.3,257.122L129.116,478.9a2.208,2.208,0,0,0,3.83-.009L260.358,257.113A2.239,2.239,0,0,0,260.353,254.878Zm39.078-25.713a2.19,2.19,0,0,0,1.9,1.111h66.509a2.226,2.226,0,0,0,1.9-3.341L259.115,33.111a2.187,2.187,0,0,0-1.9-1.111H190.707a2.226,2.226,0,0,0-1.9,3.341ZM511.7,254.886,384.9,33.112A2.2,2.2,0,0,0,382.99,32h-66.6a2.226,2.226,0,0,0-1.906,3.34L440.652,256,314.481,476.66a2.226,2.226,0,0,0,1.906,3.34h66.6a2.2,2.2,0,0,0,1.906-1.112L511.7,257.114A2.243,2.243,0,0,0,511.7,254.886ZM366.016,284.917H299.508a2.187,2.187,0,0,0-1.9,1.111l-108.8,190.631a2.226,2.226,0,0,0,1.9,3.341h66.509a2.187,2.187,0,0,0,1.9-1.111l108.8-190.631A2.226,2.226,0,0,0,366.016,284.917Z\"]\n};\nvar faHooli = {\n prefix: 'fab',\n iconName: 'hooli',\n icon: [640, 512, [], \"f427\", \"M144.5 352l38.3.8c-13.2-4.6-26-10.2-38.3-16.8zm57.7-5.3v5.3l-19.4.8c36.5 12.5 69.9 14.2 94.7 7.2-19.9.2-45.8-2.6-75.3-13.3zm408.9-115.2c15.9 0 28.9-12.9 28.9-28.9s-12.9-24.5-28.9-24.5c-15.9 0-28.9 8.6-28.9 24.5s12.9 28.9 28.9 28.9zm-29 120.5H640V241.5h-57.9zm-73.7 0h57.9V156.7L508.4 184zm-31-119.4c-18.2-18.2-50.4-17.1-50.4-17.1s-32.3-1.1-50.4 17.1c-18.2 18.2-16.8 33.9-16.8 52.6s-1.4 34.3 16.8 52.5 50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.8-33.8 16.8-52.5-.1-18.8 1.3-34.5-16.8-52.6zm-39.8 71.9c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9zm-106.2-71.9c-18.2-18.2-50.4-17.1-50.4-17.1s-32.2-1.1-50.4 17.1c-1.9 1.9-3.7 3.9-5.3 6-38.2-29.6-72.5-46.5-102.1-61.1v-20.7l-22.5 10.6c-54.4-22.1-89-18.2-97.3.1 0 0-24.9 32.8 61.8 110.8V352h57.9v-28.6c-6.5-4.2-13-8.7-19.4-13.6-14.8-11.2-27.4-21.6-38.4-31.4v-31c13.1 14.7 30.5 31.4 53.4 50.3l4.5 3.6v-29.8c0-6.9 1.7-18.2 10.8-18.2s10.6 6.9 10.6 15V317c18 12.2 37.3 22.1 57.7 29.6v-93.9c0-18.7-13.4-37.4-40.6-37.4-15.8-.1-30.5 8.2-38.5 21.9v-54.3c41.9 20.9 83.9 46.5 99.9 58.3-10.2 14.6-9.3 28.1-9.3 43.7 0 18.7-1.4 34.3 16.8 52.5s50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.7-33.8 16.7-52.5 0-18.5 1.5-34.2-16.7-52.3zM65.2 184v63.3c-48.7-54.5-38.9-76-35.2-79.1 13.5-11.4 37.5-8 64.4 2.1zm226.5 120.5c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9z\"]\n};\nvar faHornbill = {\n prefix: 'fab',\n iconName: 'hornbill',\n icon: [512, 512, [], \"f592\", \"M76.38 370.3a37.8 37.8 0 1 1-32.07-32.42c-78.28-111.35 52-190.53 52-190.53-5.86 43-8.24 91.16-8.24 91.16-67.31 41.49.93 64.06 39.81 72.87a140.38 140.38 0 0 0 131.66 91.94c1.92 0 3.77-.21 5.67-.28l.11 18.86c-99.22 1.39-158.7-29.14-188.94-51.6zm108-327.7A37.57 37.57 0 0 0 181 21.45a37.95 37.95 0 1 0-31.17 54.22c-22.55 29.91-53.83 89.57-52.42 190l21.84-.15c0-.9-.14-1.77-.14-2.68A140.42 140.42 0 0 1 207 132.71c8-37.71 30.7-114.3 73.8-44.29 0 0 48.14 2.38 91.18 8.24 0 0-77.84-128-187.59-54.06zm304.19 134.17a37.94 37.94 0 1 0-53.84-28.7C403 126.13 344.89 99 251.28 100.33l.14 22.5c2.7-.15 5.39-.41 8.14-.41a140.37 140.37 0 0 1 130.49 88.76c39.1 9 105.06 31.58 38.46 72.54 0 0-2.34 48.13-8.21 91.16 0 0 133.45-81.16 49-194.61a37.45 37.45 0 0 0 19.31-3.5zM374.06 436.24c21.43-32.46 46.42-89.69 45.14-179.66l-19.52.14c.08 2.06.3 4.07.3 6.15a140.34 140.34 0 0 1-91.39 131.45c-8.85 38.95-31.44 106.66-72.77 39.49 0 0-48.12-2.34-91.19-8.22 0 0 79.92 131.34 191.9 51a37.5 37.5 0 0 0 3.64 14 37.93 37.93 0 1 0 33.89-54.29z\"]\n};\nvar faHotjar = {\n prefix: 'fab',\n iconName: 'hotjar',\n icon: [448, 512, [], \"f3b1\", \"M414.9 161.5C340.2 29 121.1 0 121.1 0S222.2 110.4 93 197.7C11.3 252.8-21 324.4 14 402.6c26.8 59.9 83.5 84.3 144.6 93.4-29.2-55.1-6.6-122.4-4.1-129.6 57.1 86.4 165 0 110.8-93.9 71 15.4 81.6 138.6 27.1 215.5 80.5-25.3 134.1-88.9 148.8-145.6 15.5-59.3 3.7-127.9-26.3-180.9z\"]\n};\nvar faHouzz = {\n prefix: 'fab',\n iconName: 'houzz',\n icon: [448, 512, [], \"f27c\", \"M275.9 330.7H171.3V480H17V32h109.5v104.5l305.1 85.6V480H275.9z\"]\n};\nvar faHtml5 = {\n prefix: 'fab',\n iconName: 'html5',\n icon: [384, 512, [], \"f13b\", \"M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z\"]\n};\nvar faHubspot = {\n prefix: 'fab',\n iconName: 'hubspot',\n icon: [512, 512, [], \"f3b2\", \"M267.4 211.6c-25.1 23.7-40.8 57.3-40.8 94.6 0 29.3 9.7 56.3 26 78L203.1 434c-4.4-1.6-9.1-2.5-14-2.5-10.8 0-20.9 4.2-28.5 11.8-7.6 7.6-11.8 17.8-11.8 28.6s4.2 20.9 11.8 28.5c7.6 7.6 17.8 11.6 28.5 11.6 10.8 0 20.9-3.9 28.6-11.6 7.6-7.6 11.8-17.8 11.8-28.5 0-4.2-.6-8.2-1.9-12.1l50-50.2c22 16.9 49.4 26.9 79.3 26.9 71.9 0 130-58.3 130-130.2 0-65.2-47.7-119.2-110.2-128.7V116c17.5-7.4 28.2-23.8 28.2-42.9 0-26.1-20.9-47.9-47-47.9S311.2 47 311.2 73.1c0 19.1 10.7 35.5 28.2 42.9v61.2c-15.2 2.1-29.6 6.7-42.7 13.6-27.6-20.9-117.5-85.7-168.9-124.8 1.2-4.4 2-9 2-13.8C129.8 23.4 106.3 0 77.4 0 48.6 0 25.2 23.4 25.2 52.2c0 28.9 23.4 52.3 52.2 52.3 9.8 0 18.9-2.9 26.8-7.6l163.2 114.7zm89.5 163.6c-38.1 0-69-30.9-69-69s30.9-69 69-69 69 30.9 69 69-30.9 69-69 69z\"]\n};\nvar faIdeal = {\n prefix: 'fab',\n iconName: 'ideal',\n icon: [576, 512, [], \"e013\", \"M125.61,165.48a49.07,49.07,0,1,0,49.06,49.06A49.08,49.08,0,0,0,125.61,165.48ZM86.15,425.84h78.94V285.32H86.15Zm151.46-211.6c0-20-10-22.53-18.74-22.53H204.82V237.5h14.05C228.62,237.5,237.61,234.69,237.61,214.24Zm201.69,46V168.93h22.75V237.5h33.69C486.5,113.08,388.61,86.19,299.67,86.19H204.84V169h14c25.6,0,41.5,17.35,41.5,45.26,0,28.81-15.52,46-41.5,46h-14V425.88h94.83c144.61,0,194.94-67.16,196.72-165.64Zm-109.75,0H273.3V169h54.43v22.73H296v10.58h30V225H296V237.5h33.51Zm74.66,0-5.16-17.67H369.31l-5.18,17.67H340.47L368,168.92h32.35l27.53,91.34ZM299.65,32H32V480H299.65c161.85,0,251-79.73,251-224.52C550.62,172,518,32,299.65,32Zm0,426.92H53.07V53.07H299.65c142.1,0,229.9,64.61,229.9,202.41C529.55,389.57,448.55,458.92,299.65,458.92Zm83.86-264.85L376,219.88H392.4l-7.52-25.81Z\"]\n};\nvar faImdb = {\n prefix: 'fab',\n iconName: 'imdb',\n icon: [448, 512, [], \"f2d8\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.3 229.2H21c.1-.1.2-.3.3-.4zM97 319.8H64V192h33zm113.2 0h-28.7v-86.4l-11.6 86.4h-20.6l-12.2-84.5v84.5h-29V192h42.8c3.3 19.8 6 39.9 8.7 59.9l7.6-59.9h43zm11.4 0V192h24.6c17.6 0 44.7-1.6 49 20.9 1.7 7.6 1.4 16.3 1.4 24.4 0 88.5 11.1 82.6-75 82.5zm160.9-29.2c0 15.7-2.4 30.9-22.2 30.9-9 0-15.2-3-20.9-9.8l-1.9 8.1h-29.8V192h31.7v41.7c6-6.5 12-9.2 20.9-9.2 21.4 0 22.2 12.8 22.2 30.1zM265 229.9c0-9.7 1.6-16-10.3-16v83.7c12.2.3 10.3-8.7 10.3-18.4zm85.5 26.1c0-5.4 1.1-12.7-6.2-12.7-6 0-4.9 8.9-4.9 12.7 0 .6-1.1 39.6 1.1 44.7.8 1.6 2.2 2.4 3.8 2.4 7.8 0 6.2-9 6.2-14.4z\"]\n};\nvar faInnosoft = {\n prefix: 'fab',\n iconName: 'innosoft',\n icon: [448, 512, [], \"e080\", \"M422.559,159.71a27.379,27.379,0,0,0-13.866-23.337,26.42,26.42,0,0,0-26.211.133L73.943,314.647V176.261a11.955,11.955,0,0,1,6.047-10.34L218.066,86.208a12.153,12.153,0,0,1,11.922.025l32.656,18.853L112.581,191.723v56L359.642,105.086,241.129,36.679c-10.992-6.129-22.3-6.255-33.8-.27l-164.6,95.026c-10.634,6.12-16.771,16.39-17.29,29.124l0,191.5c.17,10.135,5.08,18.672,13.474,23.428a27.037,27.037,0,0,0,26.736-.045L374.057,197.376V335.657a11.976,11.976,0,0,1-5.92,10.368L230.025,425.77a12.175,12.175,0,0,1-11.937.062l-32.723-18.9,150.051-86.627v-56L88.367,406.932l118.794,68.583a33.88,33.88,0,0,0,34.25-.327l164.527-94.995c10.746-6.631,16.649-17.118,16.624-29.528Z\"]\n};\nvar faInstagram = {\n prefix: 'fab',\n iconName: 'instagram',\n icon: [448, 512, [], \"f16d\", \"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z\"]\n};\nvar faInstagramSquare = {\n prefix: 'fab',\n iconName: 'instagram-square',\n icon: [448, 512, [], \"e055\", \"M224,202.66A53.34,53.34,0,1,0,277.36,256,53.38,53.38,0,0,0,224,202.66Zm124.71-41a54,54,0,0,0-30.41-30.41c-21-8.29-71-6.43-94.3-6.43s-73.25-1.93-94.31,6.43a54,54,0,0,0-30.41,30.41c-8.28,21-6.43,71.05-6.43,94.33S91,329.26,99.32,350.33a54,54,0,0,0,30.41,30.41c21,8.29,71,6.43,94.31,6.43s73.24,1.93,94.3-6.43a54,54,0,0,0,30.41-30.41c8.35-21,6.43-71.05,6.43-94.33S357.1,182.74,348.75,161.67ZM224,338a82,82,0,1,1,82-82A81.9,81.9,0,0,1,224,338Zm85.38-148.3a19.14,19.14,0,1,1,19.13-19.14A19.1,19.1,0,0,1,309.42,189.74ZM400,32H48A48,48,0,0,0,0,80V432a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V80A48,48,0,0,0,400,32ZM382.88,322c-1.29,25.63-7.14,48.34-25.85,67s-41.4,24.63-67,25.85c-26.41,1.49-105.59,1.49-132,0-25.63-1.29-48.26-7.15-67-25.85s-24.63-41.42-25.85-67c-1.49-26.42-1.49-105.61,0-132,1.29-25.63,7.07-48.34,25.85-67s41.47-24.56,67-25.78c26.41-1.49,105.59-1.49,132,0,25.63,1.29,48.33,7.15,67,25.85s24.63,41.42,25.85,67.05C384.37,216.44,384.37,295.56,382.88,322Z\"]\n};\nvar faInstalod = {\n prefix: 'fab',\n iconName: 'instalod',\n icon: [512, 512, [], \"e081\", \"M153.384,480H387.113L502.554,275.765,204.229,333.211ZM504.726,240.078,387.113,32H155.669L360.23,267.9ZM124.386,48.809,7.274,256,123.236,461.154,225.627,165.561Z\"]\n};\nvar faIntercom = {\n prefix: 'fab',\n iconName: 'intercom',\n icon: [448, 512, [], \"f7af\", \"M392 32H56C25.1 32 0 57.1 0 88v336c0 30.9 25.1 56 56 56h336c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56zm-108.3 82.1c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zm-74.6-7.5c0-19.8 29.9-19.8 29.9 0v216.5c0 19.8-29.9 19.8-29.9 0V106.6zm-74.7 7.5c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zM59.7 144c0-19.8 29.9-19.8 29.9 0v134.3c0 19.8-29.9 19.8-29.9 0V144zm323.4 227.8c-72.8 63-241.7 65.4-318.1 0-15-12.8 4.4-35.5 19.4-22.7 65.9 55.3 216.1 53.9 279.3 0 14.9-12.9 34.3 9.8 19.4 22.7zm5.2-93.5c0 19.8-29.9 19.8-29.9 0V144c0-19.8 29.9-19.8 29.9 0v134.3z\"]\n};\nvar faInternetExplorer = {\n prefix: 'fab',\n iconName: 'internet-explorer',\n icon: [512, 512, [], \"f26b\", \"M483.049 159.706c10.855-24.575 21.424-60.438 21.424-87.871 0-72.722-79.641-98.371-209.673-38.577-107.632-7.181-211.221 73.67-237.098 186.457 30.852-34.862 78.271-82.298 121.977-101.158C125.404 166.85 79.128 228.002 43.992 291.725 23.246 329.651 0 390.94 0 436.747c0 98.575 92.854 86.5 180.251 42.006 31.423 15.43 66.559 15.573 101.695 15.573 97.124 0 184.249-54.294 216.814-146.022H377.927c-52.509 88.593-196.819 52.996-196.819-47.436H509.9c6.407-43.581-1.655-95.715-26.851-141.162zM64.559 346.877c17.711 51.15 53.703 95.871 100.266 123.304-88.741 48.94-173.267 29.096-100.266-123.304zm115.977-108.873c2-55.151 50.276-94.871 103.98-94.871 53.418 0 101.981 39.72 103.981 94.871H180.536zm184.536-187.6c21.425-10.287 48.563-22.003 72.558-22.003 31.422 0 54.274 21.717 54.274 53.722 0 20.003-7.427 49.007-14.569 67.867-26.28-42.292-65.986-81.584-112.263-99.586z\"]\n};\nvar faInvision = {\n prefix: 'fab',\n iconName: 'invision',\n icon: [448, 512, [], \"f7b0\", \"M407.4 32H40.6C18.2 32 0 50.2 0 72.6v366.8C0 461.8 18.2 480 40.6 480h366.8c22.4 0 40.6-18.2 40.6-40.6V72.6c0-22.4-18.2-40.6-40.6-40.6zM176.1 145.6c.4 23.4-22.4 27.3-26.6 27.4-14.9 0-27.1-12-27.1-27 .1-35.2 53.1-35.5 53.7-.4zM332.8 377c-65.6 0-34.1-74-25-106.6 14.1-46.4-45.2-59-59.9.7l-25.8 103.3H177l8.1-32.5c-31.5 51.8-94.6 44.4-94.6-4.3.1-14.3.9-14 23-104.1H81.7l9.7-35.6h76.4c-33.6 133.7-32.6 126.9-32.9 138.2 0 20.9 40.9 13.5 57.4-23.2l19.8-79.4h-32.3l9.7-35.6h68.8l-8.9 40.5c40.5-75.5 127.9-47.8 101.8 38-14.2 51.1-14.6 50.7-14.9 58.8 0 15.5 17.5 22.6 31.8-16.9L386 325c-10.5 36.7-29.4 52-53.2 52z\"]\n};\nvar faIoxhost = {\n prefix: 'fab',\n iconName: 'ioxhost',\n icon: [640, 512, [], \"f208\", \"M616 160h-67.3C511.2 70.7 422.9 8 320 8 183 8 72 119 72 256c0 16.4 1.6 32.5 4.7 48H24c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h67.3c37.5 89.3 125.8 152 228.7 152 137 0 248-111 248-248 0-16.4-1.6-32.5-4.7-48H616c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24zm-96 96c0 110.5-89.5 200-200 200-75.7 0-141.6-42-175.5-104H424c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24H125.8c-3.8-15.4-5.8-31.4-5.8-48 0-110.5 89.5-200 200-200 75.7 0 141.6 42 175.5 104H216c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h298.2c3.8 15.4 5.8 31.4 5.8 48zm-304-24h208c13.3 0 24 10.7 24 24 0 13.2-10.7 24-24 24H216c-13.3 0-24-10.7-24-24 0-13.2 10.7-24 24-24z\"]\n};\nvar faItchIo = {\n prefix: 'fab',\n iconName: 'itch-io',\n icon: [512, 512, [], \"f83a\", \"M71.92 34.77C50.2 47.67 7.4 96.84 7 109.73v21.34c0 27.06 25.29 50.84 48.25 50.84 27.57 0 50.54-22.85 50.54-50 0 27.12 22.18 50 49.76 50s49-22.85 49-50c0 27.12 23.59 50 51.16 50h.5c27.57 0 51.16-22.85 51.16-50 0 27.12 21.47 50 49 50s49.76-22.85 49.76-50c0 27.12 23 50 50.54 50 23 0 48.25-23.78 48.25-50.84v-21.34c-.4-12.9-43.2-62.07-64.92-75C372.56 32.4 325.76 32 256 32S91.14 33.1 71.92 34.77zm132.32 134.39c-22 38.4-77.9 38.71-99.85.25-13.17 23.14-43.17 32.07-56 27.66-3.87 40.15-13.67 237.13 17.73 269.15 80 18.67 302.08 18.12 379.76 0 31.65-32.27 21.32-232 17.75-269.15-12.92 4.44-42.88-4.6-56-27.66-22 38.52-77.85 38.1-99.85-.24-7.1 12.49-23.05 28.94-51.76 28.94a57.54 57.54 0 0 1-51.75-28.94zm-41.58 53.77c16.47 0 31.09 0 49.22 19.78a436.91 436.91 0 0 1 88.18 0C318.22 223 332.85 223 349.31 223c52.33 0 65.22 77.53 83.87 144.45 17.26 62.15-5.52 63.67-33.95 63.73-42.15-1.57-65.49-32.18-65.49-62.79-39.25 6.43-101.93 8.79-155.55 0 0 30.61-23.34 61.22-65.49 62.79-28.42-.06-51.2-1.58-33.94-63.73 18.67-67 31.56-144.45 83.88-144.45zM256 270.79s-44.38 40.77-52.35 55.21l29-1.17v25.32c0 1.55 21.34.16 23.33.16 11.65.54 23.31 1 23.31-.16v-25.28l29 1.17c-8-14.48-52.35-55.24-52.35-55.24z\"]\n};\nvar faItunes = {\n prefix: 'fab',\n iconName: 'itunes',\n icon: [448, 512, [], \"f3b4\", \"M223.6 80.3C129 80.3 52.5 157 52.5 251.5S129 422.8 223.6 422.8s171.2-76.7 171.2-171.2c0-94.6-76.7-171.3-171.2-171.3zm79.4 240c-3.2 13.6-13.5 21.2-27.3 23.8-12.1 2.2-22.2 2.8-31.9-5-11.8-10-12-26.4-1.4-36.8 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 3.2-3.6 2.2-2 2.2-80.8 0-5.6-2.7-7.1-8.4-6.1-4 .7-91.9 17.1-91.9 17.1-5 1.1-6.7 2.6-6.7 8.3 0 116.1.5 110.8-1.2 118.5-2.1 9-7.6 15.8-14.9 19.6-8.3 4.6-23.4 6.6-31.4 5.2-21.4-4-28.9-28.7-14.4-42.9 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 5-5.7.9-127 2.6-133.7.4-2.6 1.5-4.8 3.5-6.4 2.1-1.7 5.8-2.7 6.7-2.7 101-19 113.3-21.4 115.1-21.4 5.7-.4 9 3 9 8.7-.1 170.6.4 161.4-1 167.6zM345.2 32H102.8C45.9 32 0 77.9 0 134.8v242.4C0 434.1 45.9 480 102.8 480h242.4c57 0 102.8-45.9 102.8-102.8V134.8C448 77.9 402.1 32 345.2 32zM223.6 444c-106.3 0-192.5-86.2-192.5-192.5S117.3 59 223.6 59s192.5 86.2 192.5 192.5S329.9 444 223.6 444z\"]\n};\nvar faItunesNote = {\n prefix: 'fab',\n iconName: 'itunes-note',\n icon: [384, 512, [], \"f3b5\", \"M381.9 388.2c-6.4 27.4-27.2 42.8-55.1 48-24.5 4.5-44.9 5.6-64.5-10.2-23.9-20.1-24.2-53.4-2.7-74.4 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 6.4-7.2 4.4-4.1 4.4-163.2 0-11.2-5.5-14.3-17-12.3-8.2 1.4-185.7 34.6-185.7 34.6-10.2 2.2-13.4 5.2-13.4 16.7 0 234.7 1.1 223.9-2.5 239.5-4.2 18.2-15.4 31.9-30.2 39.5-16.8 9.3-47.2 13.4-63.4 10.4-43.2-8.1-58.4-58-29.1-86.6 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 10.1-11.5 1.8-256.6 5.2-270.2.8-5.2 3-9.6 7.1-12.9 4.2-3.5 11.8-5.5 13.4-5.5 204-38.2 228.9-43.1 232.4-43.1 11.5-.8 18.1 6 18.1 17.6.2 344.5 1.1 326-1.8 338.5z\"]\n};\nvar faJava = {\n prefix: 'fab',\n iconName: 'java',\n icon: [384, 512, [], \"f4e4\", \"M277.74 312.9c9.8-6.7 23.4-12.5 23.4-12.5s-38.7 7-77.2 10.2c-47.1 3.9-97.7 4.7-123.1 1.3-60.1-8 33-30.1 33-30.1s-36.1-2.4-80.6 19c-52.5 25.4 130 37 224.5 12.1zm-85.4-32.1c-19-42.7-83.1-80.2 0-145.8C296 53.2 242.84 0 242.84 0c21.5 84.5-75.6 110.1-110.7 162.6-23.9 35.9 11.7 74.4 60.2 118.2zm114.6-176.2c.1 0-175.2 43.8-91.5 140.2 24.7 28.4-6.5 54-6.5 54s62.7-32.4 33.9-72.9c-26.9-37.8-47.5-56.6 64.1-121.3zm-6.1 270.5a12.19 12.19 0 0 1-2 2.6c128.3-33.7 81.1-118.9 19.8-97.3a17.33 17.33 0 0 0-8.2 6.3 70.45 70.45 0 0 1 11-3c31-6.5 75.5 41.5-20.6 91.4zM348 437.4s14.5 11.9-15.9 21.2c-57.9 17.5-240.8 22.8-291.6.7-18.3-7.9 16-19 26.8-21.3 11.2-2.4 17.7-2 17.7-2-20.3-14.3-131.3 28.1-56.4 40.2C232.84 509.4 401 461.3 348 437.4zM124.44 396c-78.7 22 47.9 67.4 148.1 24.5a185.89 185.89 0 0 1-28.2-13.8c-44.7 8.5-65.4 9.1-106 4.5-33.5-3.8-13.9-15.2-13.9-15.2zm179.8 97.2c-78.7 14.8-175.8 13.1-233.3 3.6 0-.1 11.8 9.7 72.4 13.6 92.2 5.9 233.8-3.3 237.1-46.9 0 0-6.4 16.5-76.2 29.7zM260.64 353c-59.2 11.4-93.5 11.1-136.8 6.6-33.5-3.5-11.6-19.7-11.6-19.7-86.8 28.8 48.2 61.4 169.5 25.9a60.37 60.37 0 0 1-21.1-12.8z\"]\n};\nvar faJediOrder = {\n prefix: 'fab',\n iconName: 'jedi-order',\n icon: [448, 512, [], \"f50e\", \"M398.5 373.6c95.9-122.1 17.2-233.1 17.2-233.1 45.4 85.8-41.4 170.5-41.4 170.5 105-171.5-60.5-271.5-60.5-271.5 96.9 72.7-10.1 190.7-10.1 190.7 85.8 158.4-68.6 230.1-68.6 230.1s-.4-16.9-2.2-85.7c4.3 4.5 34.5 36.2 34.5 36.2l-24.2-47.4 62.6-9.1-62.6-9.1 20.2-55.5-31.4 45.9c-2.2-87.7-7.8-305.1-7.9-306.9v-2.4 1-1 2.4c0 1-5.6 219-7.9 306.9l-31.4-45.9 20.2 55.5-62.6 9.1 62.6 9.1-24.2 47.4 34.5-36.2c-1.8 68.8-2.2 85.7-2.2 85.7s-154.4-71.7-68.6-230.1c0 0-107-118.1-10.1-190.7 0 0-165.5 99.9-60.5 271.5 0 0-86.8-84.8-41.4-170.5 0 0-78.7 111 17.2 233.1 0 0-26.2-16.1-49.4-77.7 0 0 16.9 183.3 222 185.7h4.1c205-2.4 222-185.7 222-185.7-23.6 61.5-49.9 77.7-49.9 77.7z\"]\n};\nvar faJenkins = {\n prefix: 'fab',\n iconName: 'jenkins',\n icon: [512, 512, [], \"f3b6\", \"M487.1 425c-1.4-11.2-19-23.1-28.2-31.9-5.1-5-29-23.1-30.4-29.9-1.4-6.6 9.7-21.5 13.3-28.9 5.1-10.7 8.8-23.7 11.3-32.6 18.8-66.1 20.7-156.9-6.2-211.2-10.2-20.6-38.6-49-56.4-62.5-42-31.7-119.6-35.3-170.1-16.6-14.1 5.2-27.8 9.8-40.1 17.1-33.1 19.4-68.3 32.5-78.1 71.6-24.2 10.8-31.5 41.8-30.3 77.8.2 7 4.1 15.8 2.7 22.4-.7 3.3-5.2 7.6-6.1 9.8-11.6 27.7-2.3 64 11.1 83.7 8.1 11.9 21.5 22.4 39.2 25.2.7 10.6 3.3 19.7 8.2 30.4 3.1 6.8 14.7 19 10.4 27.7-2.2 4.4-21 13.8-27.3 17.6C89 407.2 73.7 415 54.2 429c-12.6 9-32.3 10.2-29.2 31.1 2.1 14.1 10.1 31.6 14.7 45.8.7 2 1.4 4.1 2.1 6h422c4.9-15.3 9.7-30.9 14.6-47.2 3.4-11.4 10.2-27.8 8.7-39.7zM205.9 33.7c1.8-.5 3.4.7 4.9 2.4-.2 5.2-5.4 5.1-8.9 6.8-5.4 6.7-13.4 9.8-20 17.2-6.8 7.5-14.4 27.7-23.4 30-4.5 1.1-9.7-.8-13.6-.5-10.4.7-17.7 6-28.3 7.5 13.6-29.9 56.1-54 89.3-63.4zm-104.8 93.6c13.5-14.9 32.1-24.1 54.8-25.9 11.7 29.7-8.4 65-.9 97.6 2.3 9.9 10.2 25.4-2.4 25.7.3-28.3-34.8-46.3-61.3-29.6-1.8-21.5-4.9-51.7 9.8-67.8zm36.7 200.2c-1-4.1-2.7-12.9-2.3-15.1 1.6-8.7 17.1-12.5 11-24.7-11.3-.1-13.8 10.2-24.1 11.3-26.7 2.6-45.6-35.4-44.4-58.4 1-19.5 17.6-38.2 40.1-35.8 16 1.8 21.4 19.2 24.5 34.7 9.2.5 22.5-.4 26.9-7.6-.6-17.5-8.8-31.6-8.2-47.7 1-30.3 17.5-57.6 4.8-87.4 13.6-30.9 53.5-55.3 83.1-70 36.6-18.3 94.9-3.7 129.3 15.8 19.7 11.1 34.4 32.7 48.3 50.7-19.5-5.8-36.1 4.2-33.1 20.3 16.3-14.9 44.2-.2 52.5 16.4 7.9 15.8 7.8 39.3 9 62.8 2.9 57-10.4 115.9-39.1 157.1-7.7 11-14.1 23-24.9 30.6-26 18.2-65.4 34.7-99.2 23.4-44.7-15-65-44.8-89.5-78.8.7 18.7 13.8 34.1 26.8 48.4 11.3 12.5 25 26.6 39.7 32.4-12.3-2.9-31.1-3.8-36.2 7.2-28.6-1.9-55.1-4.8-68.7-24.2-10.6-15.4-21.4-41.4-26.3-61.4zm222 124.1c4.1-3 11.1-2.9 17.4-3.6-5.4-2.7-13-3.7-19.3-2.2-.1-4.2-2-6.8-3.2-10.2 10.6-3.8 35.5-28.5 49.6-20.3 6.7 3.9 9.5 26.2 10.1 37 .4 9-.8 18-4.5 22.8-18.8-.6-35.8-2.8-50.7-7 .9-6.1-1-12.1.6-16.5zm-17.2-20c-16.8.8-26-1.2-38.3-10.8.2-.8 1.4-.5 1.5-1.4 18 8 40.8-3.3 59-4.9-7.9 5.1-14.6 11.6-22.2 17.1zm-12.1 33.2c-1.6-9.4-3.5-12-2.8-20.2 25-16.6 29.7 28.6 2.8 20.2zM226 438.6c-11.6-.7-48.1-14-38.5-23.7 9.4 6.5 27.5 4.9 41.3 7.3.8 4.4-2.8 10.2-2.8 16.4zM57.7 497.1c-4.3-12.7-9.2-25.1-14.8-36.9 30.8-23.8 65.3-48.9 102.2-63.5 2.8-1.1 23.2 25.4 26.2 27.6 16.5 11.7 37 21 56.2 30.2 1.2 8.8 3.9 20.2 8.7 35.5.7 2.3 1.4 4.7 2.2 7.2H57.7zm240.6 5.7h-.8c.3-.2.5-.4.8-.5v.5zm7.5-5.7c2.1-1.4 4.3-2.8 6.4-4.3 1.1 1.4 2.2 2.8 3.2 4.3h-9.6zm15.1-24.7c-10.8 7.3-20.6 18.3-33.3 25.2-6 3.3-27 11.7-33.4 10.2-3.6-.8-3.9-5.3-5.4-9.5-3.1-9-10.1-23.4-10.8-37-.8-17.2-2.5-46 16-42.4 14.9 2.9 32.3 9.7 43.9 16.1 7.1 3.9 11.1 8.6 21.9 9.5-.1 1.4-.1 2.8-.2 4.3-5.9 3.9-15.3 3.8-21.8 7.1 9.5.4 17 2.7 23.5 5.9-.1 3.4-.3 7-.4 10.6zm53.4 24.7h-14c-.1-3.2-2.8-5.8-6.1-5.8s-5.9 2.6-6.1 5.8h-17.4c-2.8-4.4-5.7-8.6-8.9-12.5 2.1-2.2 4-4.7 6-6.9 9 3.7 14.8-4.9 21.7-4.2 7.9.8 14.2 11.7 25.4 11l-.6 12.6zm8.7 0c.2-4 .4-7.8.6-11.5 15.6-7.3 29 1.3 35.7 11.5H383zm83.4-37c-2.3 11.2-5.8 24-9.9 37.1-.2-.1-.4-.1-.6-.1H428c.6-1.1 1.2-2.2 1.9-3.3-2.6-6.1-9-8.7-10.9-15.5 12.1-22.7 6.5-93.4-24.2-78.5 4.3-6.3 15.6-11.5 20.8-19.3 13 10.4 20.8 20.3 33.2 31.4 6.8 6 20 13.3 21.4 23.1.8 5.5-2.6 18.9-3.8 25.1zM222.2 130.5c5.4-14.9 27.2-34.7 45-32 7.7 1.2 18 8.2 12.2 17.7-30.2-7-45.2 12.6-54.4 33.1-8.1-2-4.9-13.1-2.8-18.8zm184.1 63.1c8.2-3.6 22.4-.7 29.6-5.3-4.2-11.5-10.3-21.4-9.3-37.7.5 0 1 0 1.4.1 6.8 14.2 12.7 29.2 21.4 41.7-5.7 13.5-43.6 25.4-43.1 1.2zm20.4-43zm-117.2 45.7c-6.8-10.9-19-32.5-14.5-45.3 6.5 11.9 8.6 24.4 17.8 33.3 4.1 4 12.2 9 8.2 20.2-.9 2.7-7.8 8.6-11.7 9.7-14.4 4.3-47.9.9-36.6-17.1 11.9.7 27.9 7.8 36.8-.8zm27.3 70c3.8 6.6 1.4 18.7 12.1 20.6 20.2 3.4 43.6-12.3 58.1-17.8 9-15.2-.8-20.7-8.9-30.5-16.6-20-38.8-44.8-38-74.7 6.7-4.9 7.3 7.4 8.2 9.7 8.7 20.3 30.4 46.2 46.3 63.5 3.9 4.3 10.3 8.4 11 11.2 2.1 8.2-5.4 18-4.5 23.5-21.7 13.9-45.8 29.1-81.4 25.6-7.4-6.7-10.3-21.4-2.9-31.1zm-201.3-9.2c-6.8-3.9-8.4-21-16.4-21.4-11.4-.7-9.3 22.2-9.3 35.5-7.8-7.1-9.2-29.1-3.5-40.3-6.6-3.2-9.5 3.6-13.1 5.9 4.7-34.1 49.8-15.8 42.3 20.3zm299.6 28.8c-10.1 19.2-24.4 40.4-54 41-.6-6.2-1.1-15.6 0-19.4 22.7-2.2 36.6-13.7 54-21.6zm-141.9 12.4c18.9 9.9 53.6 11 79.3 10.2 1.4 5.6 1.3 12.6 1.4 19.4-33 1.8-72-6.4-80.7-29.6zm92.2 46.7c-1.7 4.3-5.3 9.3-9.8 11.1-12.1 4.9-45.6 8.7-62.4-.3-10.7-5.7-17.5-18.5-23.4-26-2.8-3.6-16.9-12.9-.2-12.9 13.1 32.7 58 29 95.8 28.1z\"]\n};\nvar faJira = {\n prefix: 'fab',\n iconName: 'jira',\n icon: [496, 512, [], \"f7b1\", \"M490 241.7C417.1 169 320.6 71.8 248.5 0 83 164.9 6 241.7 6 241.7c-7.9 7.9-7.9 20.7 0 28.7C138.8 402.7 67.8 331.9 248.5 512c379.4-378 15.7-16.7 241.5-241.7 8-7.9 8-20.7 0-28.6zm-241.5 90l-76-75.7 76-75.7 76 75.7-76 75.7z\"]\n};\nvar faJoget = {\n prefix: 'fab',\n iconName: 'joget',\n icon: [496, 512, [], \"f3b7\", \"M378.1 45C337.6 19.9 292.6 8 248.2 8 165 8 83.8 49.9 36.9 125.9c-71.9 116.6-35.6 269.3 81 341.2s269.3 35.6 341.2-80.9c71.9-116.6 35.6-269.4-81-341.2zm51.8 323.2c-40.4 65.5-110.4 101.5-182 101.5-6.8 0-13.6-.4-20.4-1-9-13.6-19.9-33.3-23.7-42.4-5.7-13.7-27.2-45.6 31.2-67.1 51.7-19.1 176.7-16.5 208.8-17.6-4 9-8.6 17.9-13.9 26.6zm-200.8-86.3c-55.5-1.4-81.7-20.8-58.5-48.2s51.1-40.7 68.9-51.2c17.9-10.5 27.3-33.7-23.6-29.7C87.3 161.5 48.6 252.1 37.6 293c-8.8-49.7-.1-102.7 28.5-149.1C128 43.4 259.6 12.2 360.1 74.1c74.8 46.1 111.2 130.9 99.3 212.7-24.9-.5-179.3-3.6-230.3-4.9zm183.8-54.8c-22.7-6-57 11.3-86.7 27.2-29.7 15.8-31.1 8.2-31.1 8.2s40.2-28.1 50.7-34.5 31.9-14 13.4-24.6c-3.2-1.8-6.7-2.7-10.4-2.7-17.8 0-41.5 18.7-67.5 35.6-31.5 20.5-65.3 31.3-65.3 31.3l169.5-1.6 46.5-23.4s3.6-9.5-19.1-15.5z\"]\n};\nvar faJoomla = {\n prefix: 'fab',\n iconName: 'joomla',\n icon: [448, 512, [], \"f1aa\", \"M.6 92.1C.6 58.8 27.4 32 60.4 32c30 0 54.5 21.9 59.2 50.2 32.6-7.6 67.1.6 96.5 30l-44.3 44.3c-20.5-20.5-42.6-16.3-55.4-3.5-14.3 14.3-14.3 37.9 0 52.2l99.5 99.5-44 44.3c-87.7-87.2-49.7-49.7-99.8-99.7-26.8-26.5-35-64.8-24.8-98.9C20.4 144.6.6 120.7.6 92.1zm129.5 116.4l44.3 44.3c10-10 89.7-89.7 99.7-99.8 14.3-14.3 37.6-14.3 51.9 0 12.8 12.8 17 35-3.5 55.4l44 44.3c31.2-31.2 38.5-67.6 28.9-101.2 29.2-4.1 51.9-29.2 51.9-59.5 0-33.2-26.8-60.1-59.8-60.1-30.3 0-55.4 22.5-59.5 51.6-33.8-9.9-71.7-1.5-98.3 25.1-18.3 19.1-71.1 71.5-99.6 99.9zm266.3 152.2c8.2-32.7-.9-68.5-26.3-93.9-11.8-12.2 5 4.7-99.5-99.7l-44.3 44.3 99.7 99.7c14.3 14.3 14.3 37.6 0 51.9-12.8 12.8-35 17-55.4-3.5l-44 44.3c27.6 30.2 68 38.8 102.7 28 5.5 27.4 29.7 48.1 58.9 48.1 33 0 59.8-26.8 59.8-60.1 0-30.2-22.5-55-51.6-59.1zm-84.3-53.1l-44-44.3c-87 86.4-50.4 50.4-99.7 99.8-14.3 14.3-37.6 14.3-51.9 0-13.1-13.4-16.9-35.3 3.2-55.4l-44-44.3c-30.2 30.2-38 65.2-29.5 98.3-26.7 6-46.2 29.9-46.2 58.2C0 453.2 26.8 480 59.8 480c28.6 0 52.5-19.8 58.6-46.7 32.7 8.2 68.5-.6 94.2-26 32.1-32 12.2-12.4 99.5-99.7z\"]\n};\nvar faJs = {\n prefix: 'fab',\n iconName: 'js',\n icon: [448, 512, [], \"f3b8\", \"M0 32v448h448V32H0zm243.8 349.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"]\n};\nvar faJsSquare = {\n prefix: 'fab',\n iconName: 'js-square',\n icon: [448, 512, [], \"f3b9\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"]\n};\nvar faJsfiddle = {\n prefix: 'fab',\n iconName: 'jsfiddle',\n icon: [576, 512, [], \"f1cc\", \"M510.634 237.462c-4.727-2.621-5.664-5.748-6.381-10.776-2.352-16.488-3.539-33.619-9.097-49.095-35.895-99.957-153.99-143.386-246.849-91.646-27.37 15.25-48.971 36.369-65.493 63.903-3.184-1.508-5.458-2.71-7.824-3.686-30.102-12.421-59.049-10.121-85.331 9.167-25.531 18.737-36.422 44.548-32.676 76.408.355 3.025-1.967 7.621-4.514 9.545-39.712 29.992-56.031 78.065-41.902 124.615 13.831 45.569 57.514 79.796 105.608 81.433 30.291 1.031 60.637.546 90.959.539 84.041-.021 168.09.531 252.12-.48 52.664-.634 96.108-36.873 108.212-87.293 11.54-48.074-11.144-97.3-56.832-122.634zm21.107 156.88c-18.23 22.432-42.343 35.253-71.28 35.65-56.874.781-113.767.23-170.652.23 0 .7-163.028.159-163.728.154-43.861-.332-76.739-19.766-95.175-59.995-18.902-41.245-4.004-90.848 34.186-116.106 9.182-6.073 12.505-11.566 10.096-23.136-5.49-26.361 4.453-47.956 26.42-62.981 22.987-15.723 47.422-16.146 72.034-3.083 10.269 5.45 14.607 11.564 22.198-2.527 14.222-26.399 34.557-46.727 60.671-61.294 97.46-54.366 228.37 7.568 230.24 132.697.122 8.15 2.412 12.428 9.848 15.894 57.56 26.829 74.456 96.122 35.142 144.497zm-87.789-80.499c-5.848 31.157-34.622 55.096-66.666 55.095-16.953-.001-32.058-6.545-44.079-17.705-27.697-25.713-71.141-74.98-95.937-93.387-20.056-14.888-41.99-12.333-60.272 3.782-49.996 44.071 15.859 121.775 67.063 77.188 4.548-3.96 7.84-9.543 12.744-12.844 8.184-5.509 20.766-.884 13.168 10.622-17.358 26.284-49.33 38.197-78.863 29.301-28.897-8.704-48.84-35.968-48.626-70.179 1.225-22.485 12.364-43.06 35.414-55.965 22.575-12.638 46.369-13.146 66.991 2.474C295.68 280.7 320.467 323.97 352.185 343.47c24.558 15.099 54.254 7.363 68.823-17.506 28.83-49.209-34.592-105.016-78.868-63.46-3.989 3.744-6.917 8.932-11.41 11.72-10.975 6.811-17.333-4.113-12.809-10.353 20.703-28.554 50.464-40.44 83.271-28.214 31.429 11.714 49.108 44.366 42.76 78.186z\"]\n};\nvar faKaggle = {\n prefix: 'fab',\n iconName: 'kaggle',\n icon: [320, 512, [], \"f5fa\", \"M304.2 501.5L158.4 320.3 298.2 185c2.6-2.7 1.7-10.5-5.3-10.5h-69.2c-3.5 0-7 1.8-10.5 5.3L80.9 313.5V7.5q0-7.5-7.5-7.5H21.5Q14 0 14 7.5v497q0 7.5 7.5 7.5h51.9q7.5 0 7.5-7.5v-109l30.8-29.3 110.5 140.6c3 3.5 6.5 5.3 10.5 5.3h66.9q5.25 0 6-3z\"]\n};\nvar faKeybase = {\n prefix: 'fab',\n iconName: 'keybase',\n icon: [448, 512, [], \"f4f5\", \"M286.17 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18zm111.92-147.6c-9.5-14.62-39.37-52.45-87.26-73.71q-9.1-4.06-18.38-7.27a78.43 78.43 0 0 0-47.88-104.13c-12.41-4.1-23.33-6-32.41-5.77-.6-2-1.89-11 9.4-35L198.66 32l-5.48 7.56c-8.69 12.06-16.92 23.55-24.34 34.89a51 51 0 0 0-8.29-1.25c-41.53-2.45-39-2.33-41.06-2.33-50.61 0-50.75 52.12-50.75 45.88l-2.36 36.68c-1.61 27 19.75 50.21 47.63 51.85l8.93.54a214 214 0 0 0-46.29 35.54C14 304.66 14 374 14 429.77v33.64l23.32-29.8a148.6 148.6 0 0 0 14.56 37.56c5.78 10.13 14.87 9.45 19.64 7.33 4.21-1.87 10-6.92 3.75-20.11a178.29 178.29 0 0 1-15.76-53.13l46.82-59.83-24.66 74.11c58.23-42.4 157.38-61.76 236.25-38.59 34.2 10.05 67.45.69 84.74-23.84.72-1 1.2-2.16 1.85-3.22a156.09 156.09 0 0 1 2.8 28.43c0 23.3-3.69 52.93-14.88 81.64-2.52 6.46 1.76 14.5 8.6 15.74 7.42 1.57 15.33-3.1 18.37-11.15C429 443 434 414 434 382.32c0-38.58-13-77.46-35.91-110.92zM142.37 128.58l-15.7-.93-1.39 21.79 13.13.78a93 93 0 0 0 .32 19.57l-22.38-1.34a12.28 12.28 0 0 1-11.76-12.79L107 119c1-12.17 13.87-11.27 13.26-11.32l29.11 1.73a144.35 144.35 0 0 0-7 19.17zm148.42 172.18a10.51 10.51 0 0 1-14.35-1.39l-9.68-11.49-34.42 27a8.09 8.09 0 0 1-11.13-1.08l-15.78-18.64a7.38 7.38 0 0 1 1.34-10.34l34.57-27.18-14.14-16.74-17.09 13.45a7.75 7.75 0 0 1-10.59-1s-3.72-4.42-3.8-4.53a7.38 7.38 0 0 1 1.37-10.34L214 225.19s-18.51-22-18.6-22.14a9.56 9.56 0 0 1 1.74-13.42 10.38 10.38 0 0 1 14.3 1.37l81.09 96.32a9.58 9.58 0 0 1-1.74 13.44zM187.44 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18z\"]\n};\nvar faKeycdn = {\n prefix: 'fab',\n iconName: 'keycdn',\n icon: [512, 512, [], \"f3ba\", \"M63.8 409.3l60.5-59c32.1 42.8 71.1 66 126.6 67.4 30.5.7 60.3-7 86.4-22.4 5.1 5.3 18.5 19.5 20.9 22-32.2 20.7-69.6 31.1-108.1 30.2-43.3-1.1-84.6-16.7-117.7-44.4.3-.6-38.2 37.5-38.6 37.9 9.5 29.8-13.1 62.4-46.3 62.4C20.7 503.3 0 481.7 0 454.9c0-34.3 33.1-56.6 63.8-45.6zm354.9-252.4c19.1 31.3 29.6 67.4 28.7 104-1.1 44.8-19 87.5-48.6 121 .3.3 23.8 25.2 24.1 25.5 9.6-1.3 19.2 2 25.9 9.1 11.3 12 10.9 30.9-1.1 42.4-12 11.3-30.9 10.9-42.4-1.1-6.7-7-9.4-16.8-7.6-26.3-24.9-26.6-44.4-47.2-44.4-47.2 42.7-34.1 63.3-79.6 64.4-124.2.7-28.9-7.2-57.2-21.1-82.2l22.1-21zM104 53.1c6.7 7 9.4 16.8 7.6 26.3l45.9 48.1c-4.7 3.8-13.3 10.4-22.8 21.3-25.4 28.5-39.6 64.8-40.7 102.9-.7 28.9 6.1 57.2 20 82.4l-22 21.5C72.7 324 63.1 287.9 64.2 250.9c1-44.6 18.3-87.6 47.5-121.1l-25.3-26.4c-9.6 1.3-19.2-2-25.9-9.1-11.3-12-10.9-30.9 1.1-42.4C73.5 40.7 92.2 41 104 53.1zM464.9 8c26 0 47.1 22.4 47.1 48.3S490.9 104 464.9 104c-6.3.1-14-1.1-15.9-1.8l-62.9 59.7c-32.7-43.6-76.7-65.9-126.9-67.2-30.5-.7-60.3 6.8-86.2 22.4l-21.1-22C184.1 74.3 221.5 64 260 64.9c43.3 1.1 84.6 16.7 117.7 44.6l41.1-38.6c-1.5-4.7-2.2-9.6-2.2-14.5C416.5 29.7 438.9 8 464.9 8zM256.7 113.4c5.5 0 10.9.4 16.4 1.1 78.1 9.8 133.4 81.1 123.8 159.1-9.8 78.1-81.1 133.4-159.1 123.8-78.1-9.8-133.4-81.1-123.8-159.2 9.3-72.4 70.1-124.6 142.7-124.8zm-59 119.4c.6 22.7 12.2 41.8 32.4 52.2l-11 51.7h73.7l-11-51.7c20.1-10.9 32.1-29 32.4-52.2-.4-32.8-25.8-57.5-58.3-58.3-32.1.8-57.3 24.8-58.2 58.3zM256 160\"]\n};\nvar faKickstarter = {\n prefix: 'fab',\n iconName: 'kickstarter',\n icon: [448, 512, [], \"f3bb\", \"M400 480H48c-26.4 0-48-21.6-48-48V80c0-26.4 21.6-48 48-48h352c26.4 0 48 21.6 48 48v352c0 26.4-21.6 48-48 48zM199.6 178.5c0-30.7-17.6-45.1-39.7-45.1-25.8 0-40 19.8-40 44.5v154.8c0 25.8 13.7 45.6 40.5 45.6 21.5 0 39.2-14 39.2-45.6v-41.8l60.6 75.7c12.3 14.9 39 16.8 55.8 0 14.6-15.1 14.8-36.8 4-50.4l-49.1-62.8 40.5-58.7c9.4-13.5 9.5-34.5-5.6-49.1-16.4-15.9-44.6-17.3-61.4 7l-44.8 64.7v-38.8z\"]\n};\nvar faKickstarterK = {\n prefix: 'fab',\n iconName: 'kickstarter-k',\n icon: [384, 512, [], \"f3bc\", \"M147.3 114.4c0-56.2-32.5-82.4-73.4-82.4C26.2 32 0 68.2 0 113.4v283c0 47.3 25.3 83.4 74.9 83.4 39.8 0 72.4-25.6 72.4-83.4v-76.5l112.1 138.3c22.7 27.2 72.1 30.7 103.2 0 27-27.6 27.3-67.4 7.4-92.2l-90.8-114.8 74.9-107.4c17.4-24.7 17.5-63.1-10.4-89.8-30.3-29-82.4-31.6-113.6 12.8L147.3 185v-70.6z\"]\n};\nvar faKorvue = {\n prefix: 'fab',\n iconName: 'korvue',\n icon: [446, 512, [], \"f42f\", \"M386.5 34h-327C26.8 34 0 60.8 0 93.5v327.1C0 453.2 26.8 480 59.5 480h327.1c33 0 59.5-26.8 59.5-59.5v-327C446 60.8 419.2 34 386.5 34zM87.1 120.8h96v116l61.8-116h110.9l-81.2 132H87.1v-132zm161.8 272.1l-65.7-113.6v113.6h-96V262.1h191.5l88.6 130.8H248.9z\"]\n};\nvar faLaravel = {\n prefix: 'fab',\n iconName: 'laravel',\n icon: [512, 512, [], \"f3bd\", \"M504.4,115.83a5.72,5.72,0,0,0-.28-.68,8.52,8.52,0,0,0-.53-1.25,6,6,0,0,0-.54-.71,9.36,9.36,0,0,0-.72-.94c-.23-.22-.52-.4-.77-.6a8.84,8.84,0,0,0-.9-.68L404.4,55.55a8,8,0,0,0-8,0L300.12,111h0a8.07,8.07,0,0,0-.88.69,7.68,7.68,0,0,0-.78.6,8.23,8.23,0,0,0-.72.93c-.17.24-.39.45-.54.71a9.7,9.7,0,0,0-.52,1.25c-.08.23-.21.44-.28.68a8.08,8.08,0,0,0-.28,2.08V223.18l-80.22,46.19V63.44a7.8,7.8,0,0,0-.28-2.09c-.06-.24-.2-.45-.28-.68a8.35,8.35,0,0,0-.52-1.24c-.14-.26-.37-.47-.54-.72a9.36,9.36,0,0,0-.72-.94,9.46,9.46,0,0,0-.78-.6,9.8,9.8,0,0,0-.88-.68h0L115.61,1.07a8,8,0,0,0-8,0L11.34,56.49h0a6.52,6.52,0,0,0-.88.69,7.81,7.81,0,0,0-.79.6,8.15,8.15,0,0,0-.71.93c-.18.25-.4.46-.55.72a7.88,7.88,0,0,0-.51,1.24,6.46,6.46,0,0,0-.29.67,8.18,8.18,0,0,0-.28,2.1v329.7a8,8,0,0,0,4,6.95l192.5,110.84a8.83,8.83,0,0,0,1.33.54c.21.08.41.2.63.26a7.92,7.92,0,0,0,4.1,0c.2-.05.37-.16.55-.22a8.6,8.6,0,0,0,1.4-.58L404.4,400.09a8,8,0,0,0,4-6.95V287.88l92.24-53.11a8,8,0,0,0,4-7V117.92A8.63,8.63,0,0,0,504.4,115.83ZM111.6,17.28h0l80.19,46.15-80.2,46.18L31.41,63.44Zm88.25,60V278.6l-46.53,26.79-33.69,19.4V123.5l46.53-26.79Zm0,412.78L23.37,388.5V77.32L57.06,96.7l46.52,26.8V338.68a6.94,6.94,0,0,0,.12.9,8,8,0,0,0,.16,1.18h0a5.92,5.92,0,0,0,.38.9,6.38,6.38,0,0,0,.42,1v0a8.54,8.54,0,0,0,.6.78,7.62,7.62,0,0,0,.66.84l0,0c.23.22.52.38.77.58a8.93,8.93,0,0,0,.86.66l0,0,0,0,92.19,52.18Zm8-106.17-80.06-45.32,84.09-48.41,92.26-53.11,80.13,46.13-58.8,33.56Zm184.52,4.57L215.88,490.11V397.8L346.6,323.2l45.77-26.15Zm0-119.13L358.68,250l-46.53-26.79V131.79l33.69,19.4L392.37,178Zm8-105.28-80.2-46.17,80.2-46.16,80.18,46.15Zm8,105.28V178L455,151.19l33.68-19.4v91.39h0Z\"]\n};\nvar faLastfm = {\n prefix: 'fab',\n iconName: 'lastfm',\n icon: [512, 512, [], \"f202\", \"M225.8 367.1l-18.8-51s-30.5 34-76.2 34c-40.5 0-69.2-35.2-69.2-91.5 0-72.1 36.4-97.9 72.1-97.9 66.5 0 74.8 53.3 100.9 134.9 18.8 56.9 54 102.6 155.4 102.6 72.7 0 122-22.3 122-80.9 0-72.9-62.7-80.6-115-92.1-25.8-5.9-33.4-16.4-33.4-34 0-19.9 15.8-31.7 41.6-31.7 28.2 0 43.4 10.6 45.7 35.8l58.6-7c-4.7-52.8-41.1-74.5-100.9-74.5-52.8 0-104.4 19.9-104.4 83.9 0 39.9 19.4 65.1 68 76.8 44.9 10.6 79.8 13.8 79.8 45.7 0 21.7-21.1 30.5-61 30.5-59.2 0-83.9-31.1-97.9-73.9-32-96.8-43.6-163-161.3-163C45.7 113.8 0 168.3 0 261c0 89.1 45.7 137.2 127.9 137.2 66.2 0 97.9-31.1 97.9-31.1z\"]\n};\nvar faLastfmSquare = {\n prefix: 'fab',\n iconName: 'lastfm-square',\n icon: [448, 512, [], \"f203\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-92.2 312.9c-63.4 0-85.4-28.6-97.1-64.1-16.3-51-21.5-84.3-63-84.3-22.4 0-45.1 16.1-45.1 61.2 0 35.2 18 57.2 43.3 57.2 28.6 0 47.6-21.3 47.6-21.3l11.7 31.9s-19.8 19.4-61.2 19.4c-51.3 0-79.9-30.1-79.9-85.8 0-57.9 28.6-92 82.5-92 73.5 0 80.8 41.4 100.8 101.9 8.8 26.8 24.2 46.2 61.2 46.2 24.9 0 38.1-5.5 38.1-19.1 0-19.9-21.8-22-49.9-28.6-30.4-7.3-42.5-23.1-42.5-48 0-40 32.3-52.4 65.2-52.4 37.4 0 60.1 13.6 63 46.6l-36.7 4.4c-1.5-15.8-11-22.4-28.6-22.4-16.1 0-26 7.3-26 19.8 0 11 4.8 17.6 20.9 21.3 32.7 7.1 71.8 12 71.8 57.5.1 36.7-30.7 50.6-76.1 50.6z\"]\n};\nvar faLeanpub = {\n prefix: 'fab',\n iconName: 'leanpub',\n icon: [576, 512, [], \"f212\", \"M386.539 111.485l15.096 248.955-10.979-.275c-36.232-.824-71.64 8.783-102.657 27.997-31.016-19.214-66.424-27.997-102.657-27.997-45.564 0-82.07 10.705-123.516 27.723L93.117 129.6c28.546-11.803 61.484-18.115 92.226-18.115 41.173 0 73.836 13.175 102.657 42.544 27.723-28.271 59.013-41.721 98.539-42.544zM569.07 448c-25.526 0-47.485-5.215-70.542-15.645-34.31-15.645-69.993-24.978-107.871-24.978-38.977 0-74.934 12.901-102.657 40.623-27.723-27.723-63.68-40.623-102.657-40.623-37.878 0-73.561 9.333-107.871 24.978C55.239 442.236 32.731 448 8.303 448H6.93L49.475 98.859C88.726 76.626 136.486 64 181.775 64 218.83 64 256.984 71.685 288 93.095 319.016 71.685 357.17 64 394.225 64c45.289 0 93.049 12.626 132.3 34.859L569.07 448zm-43.368-44.741l-34.036-280.246c-30.742-13.999-67.248-21.41-101.009-21.41-38.428 0-74.385 12.077-102.657 38.702-28.272-26.625-64.228-38.702-102.657-38.702-33.761 0-70.267 7.411-101.009 21.41L50.298 403.259c47.211-19.487 82.894-33.486 135.045-33.486 37.604 0 70.817 9.606 102.657 29.644 31.84-20.038 65.052-29.644 102.657-29.644 52.151 0 87.834 13.999 135.045 33.486z\"]\n};\nvar faLess = {\n prefix: 'fab',\n iconName: 'less',\n icon: [640, 512, [], \"f41d\", \"M612.7 219c0-20.5 3.2-32.6 3.2-54.6 0-34.2-12.6-45.2-40.5-45.2h-20.5v24.2h6.3c14.2 0 17.3 4.7 17.3 22.1 0 16.3-1.6 32.6-1.6 51.5 0 24.2 7.9 33.6 23.6 37.3v1.6c-15.8 3.7-23.6 13.1-23.6 37.3 0 18.9 1.6 34.2 1.6 51.5 0 17.9-3.7 22.6-17.3 22.6v.5h-6.3V393h20.5c27.8 0 40.5-11 40.5-45.2 0-22.6-3.2-34.2-3.2-54.6 0-11 6.8-22.6 27.3-23.6v-27.3c-20.5-.7-27.3-12.3-27.3-23.3zm-105.6 32c-15.8-6.3-30.5-10-30.5-20.5 0-7.9 6.3-12.6 17.9-12.6s22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-21 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51s-22.5-41-43-47.8zm-358.9 59.4c-3.7 0-8.4-3.2-8.4-13.1V119.1H65.2c-28.4 0-41 11-41 45.2 0 22.6 3.2 35.2 3.2 54.6 0 11-6.8 22.6-27.3 23.6v27.3c20.5.5 27.3 12.1 27.3 23.1 0 19.4-3.2 31-3.2 53.6 0 34.2 12.6 45.2 40.5 45.2h20.5v-24.2h-6.3c-13.1 0-17.3-5.3-17.3-22.6s1.6-32.1 1.6-51.5c0-24.2-7.9-33.6-23.6-37.3v-1.6c15.8-3.7 23.6-13.1 23.6-37.3 0-18.9-1.6-34.2-1.6-51.5s3.7-22.1 17.3-22.1H93v150.8c0 32.1 11 53.1 43.1 53.1 10 0 17.9-1.6 23.6-3.7l-5.3-34.2c-3.1.8-4.6.8-6.2.8zM379.9 251c-16.3-6.3-31-10-31-20.5 0-7.9 6.3-12.6 17.9-12.6 11.6 0 22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-20.5 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51 .1-28.9-22.5-41-43-47.8zm-155-68.8c-38.4 0-75.1 32.1-74.1 82.5 0 52 34.2 82.5 79.3 82.5 18.9 0 39.9-6.8 56.2-17.9l-15.8-27.8c-11.6 6.8-22.6 10-34.2 10-21 0-37.3-10-41.5-34.2H290c.5-3.7 1.6-11 1.6-19.4.6-42.6-22.6-75.7-66.7-75.7zm-30 66.2c3.2-21 15.8-31 30.5-31 18.9 0 26.3 13.1 26.3 31h-56.8z\"]\n};\nvar faLine = {\n prefix: 'fab',\n iconName: 'line',\n icon: [448, 512, [], \"f3c0\", \"M272.1 204.2v71.1c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.1 0-2.1-.6-2.6-1.3l-32.6-44v42.2c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.8 0-3.2-1.4-3.2-3.2v-71.1c0-1.8 1.4-3.2 3.2-3.2H219c1 0 2.1.5 2.6 1.4l32.6 44v-42.2c0-1.8 1.4-3.2 3.2-3.2h11.4c1.8-.1 3.3 1.4 3.3 3.1zm-82-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 1.8 1.4 3.2 3.2 3.2h11.4c1.8 0 3.2-1.4 3.2-3.2v-71.1c0-1.7-1.4-3.2-3.2-3.2zm-27.5 59.6h-31.1v-56.4c0-1.8-1.4-3.2-3.2-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 .9.3 1.6.9 2.2.6.5 1.3.9 2.2.9h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.7-1.4-3.2-3.1-3.2zM332.1 201h-45.7c-1.7 0-3.2 1.4-3.2 3.2v71.1c0 1.7 1.4 3.2 3.2 3.2h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2V234c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2v-11.4c-.1-1.7-1.5-3.2-3.2-3.2zM448 113.7V399c-.1 44.8-36.8 81.1-81.7 81H81c-44.8-.1-81.1-36.9-81-81.7V113c.1-44.8 36.9-81.1 81.7-81H367c44.8.1 81.1 36.8 81 81.7zm-61.6 122.6c0-73-73.2-132.4-163.1-132.4-89.9 0-163.1 59.4-163.1 132.4 0 65.4 58 120.2 136.4 130.6 19.1 4.1 16.9 11.1 12.6 36.8-.7 4.1-3.3 16.1 14.1 8.8 17.4-7.3 93.9-55.3 128.2-94.7 23.6-26 34.9-52.3 34.9-81.5z\"]\n};\nvar faLinkedin = {\n prefix: 'fab',\n iconName: 'linkedin',\n icon: [448, 512, [], \"f08c\", \"M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z\"]\n};\nvar faLinkedinIn = {\n prefix: 'fab',\n iconName: 'linkedin-in',\n icon: [448, 512, [], \"f0e1\", \"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z\"]\n};\nvar faLinode = {\n prefix: 'fab',\n iconName: 'linode',\n icon: [448, 512, [], \"f2b8\", \"M437.4 226.3c-.3-.9-.9-1.4-1.4-2l-70-38.6c-.9-.6-2-.6-3.1 0l-58.9 36c-.9.6-1.4 1.7-1.4 2.6l-.9 31.4-24-16c-.9-.6-2.3-.6-3.1 0L240 260.9l-1.4-35.1c0-.9-.6-2-1.4-2.3l-36-24.3 33.7-17.4c1.1-.6 1.7-1.7 1.7-2.9l-5.7-132.3c0-.9-.9-2-1.7-2.6L138.6.3c-.9-.3-1.7-.3-2.3-.3L12.6 38.6c-1.4.6-2.3 2-2 3.7L38 175.4c.9 3.4 34 27.4 38.6 30.9l-26.9 12.9c-1.4.9-2 2.3-1.7 3.4l20.6 100.3c.6 2.9 23.7 23.1 27.1 26.3l-17.4 10.6c-.9.6-1.7 2-1.4 3.1 1.4 7.1 15.4 77.7 16.9 79.1l65.1 69.1c.6.6 1.4.6 2.3.9.6 0 1.1-.3 1.7-.6l83.7-66.9c.9-.6 1.1-1.4 1.1-2.3l-2-46 28 23.7c1.1.9 2.9.9 4 0l66.9-53.4c.9-.6 1.1-1.4 1.1-2.3l2.3-33.4 20.3 14c1.1.9 2.6.9 3.7 0l54.6-43.7c.6-.3 1.1-1.1 1.1-2 .9-6.5 10.3-70.8 9.7-72.8zm-204.8 4.8l4 92.6-90.6 61.2-14-96.6 100.6-57.2zm-7.7-180l5.4 126-106.6 55.4L104 97.7l120.9-46.6zM44 173.1L18 48l79.7 49.4 19.4 132.9L44 173.1zm30.6 147.8L55.7 230l70 58.3 13.7 93.4-64.8-60.8zm24.3 117.7l-13.7-67.1 61.7 60.9 9.7 67.4-57.7-61.2zm64.5 64.5l-10.6-70.9 85.7-61.4 3.1 70-78.2 62.3zm82-115.1c0-3.4.9-22.9-2-25.1l-24.3-20 22.3-14.9c2.3-1.7 1.1-5.7 1.1-8l29.4 22.6.6 68.3-27.1-22.9zm94.3-25.4l-60.9 48.6-.6-68.6 65.7-46.9-4.2 66.9zm27.7-25.7l-19.1-13.4 2-34c.3-.9-.3-2-1.1-2.6L308 259.7l.6-30 64.6 40.6-5.8 66.6zm54.6-39.8l-48.3 38.3 5.7-65.1 51.1-36.6-8.5 63.4z\"]\n};\nvar faLinux = {\n prefix: 'fab',\n iconName: 'linux',\n icon: [448, 512, [], \"f17c\", \"M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z\"]\n};\nvar faLyft = {\n prefix: 'fab',\n iconName: 'lyft',\n icon: [512, 512, [], \"f3c3\", \"M0 81.1h77.8v208.7c0 33.1 15 52.8 27.2 61-12.7 11.1-51.2 20.9-80.2-2.8C7.8 334 0 310.7 0 289V81.1zm485.9 173.5v-22h23.8v-76.8h-26.1c-10.1-46.3-51.2-80.7-100.3-80.7-56.6 0-102.7 46-102.7 102.7V357c16 2.3 35.4-.3 51.7-14 17.1-14 24.8-37.2 24.8-59v-6.7h38.8v-76.8h-38.8v-23.3c0-34.6 52.2-34.6 52.2 0v77.1c0 56.6 46 102.7 102.7 102.7v-76.5c-14.5 0-26.1-11.7-26.1-25.9zm-294.3-99v113c0 15.4-23.8 15.4-23.8 0v-113H91v132.7c0 23.8 8 54 45 63.9 37 9.8 58.2-10.6 58.2-10.6-2.1 13.4-14.5 23.3-34.9 25.3-15.5 1.6-35.2-3.6-45-7.8v70.3c25.1 7.5 51.5 9.8 77.6 4.7 47.1-9.1 76.8-48.4 76.8-100.8V155.1h-77.1v.5z\"]\n};\nvar faMagento = {\n prefix: 'fab',\n iconName: 'magento',\n icon: [448, 512, [], \"f3c4\", \"M445.7 127.9V384l-63.4 36.5V164.7L223.8 73.1 65.2 164.7l.4 255.9L2.3 384V128.1L224.2 0l221.5 127.9zM255.6 420.5L224 438.9l-31.8-18.2v-256l-63.3 36.6.1 255.9 94.9 54.9 95.1-54.9v-256l-63.4-36.6v255.9z\"]\n};\nvar faMailchimp = {\n prefix: 'fab',\n iconName: 'mailchimp',\n icon: [448, 512, [], \"f59e\", \"M330.61 243.52a36.15 36.15 0 0 1 9.3 0c1.66-3.83 1.95-10.43.45-17.61-2.23-10.67-5.25-17.14-11.48-16.13s-6.47 8.74-4.24 19.42c1.26 6 3.49 11.14 6 14.32zM277.05 252c4.47 2 7.2 3.26 8.28 2.13 1.89-1.94-3.48-9.39-12.12-13.09a31.44 31.44 0 0 0-30.61 3.68c-3 2.18-5.81 5.22-5.41 7.06.85 3.74 10-2.71 22.6-3.48 7-.44 12.8 1.75 17.26 3.71zm-9 5.13c-9.07 1.42-15 6.53-13.47 10.1.9.34 1.17.81 5.21-.81a37 37 0 0 1 18.72-1.95c2.92.34 4.31.52 4.94-.49 1.46-2.22-5.71-8-15.39-6.85zm54.17 17.1c3.38-6.87-10.9-13.93-14.3-7s10.92 13.88 14.32 6.97zm15.66-20.47c-7.66-.13-7.95 15.8-.26 15.93s7.98-15.81.28-15.96zm-218.79 78.9c-1.32.31-6 1.45-8.47-2.35-5.2-8 11.11-20.38 3-35.77-9.1-17.47-27.82-13.54-35.05-5.54-8.71 9.6-8.72 23.54-5 24.08 4.27.57 4.08-6.47 7.38-11.63a12.83 12.83 0 0 1 17.85-3.72c11.59 7.59 1.37 17.76 2.28 28.62 1.39 16.68 18.42 16.37 21.58 9a2.08 2.08 0 0 0-.2-2.33c.03.89.68-1.3-3.35-.39zm299.72-17.07c-3.35-11.73-2.57-9.22-6.78-20.52 2.45-3.67 15.29-24-3.07-43.25-10.4-10.92-33.9-16.54-41.1-18.54-1.5-11.39 4.65-58.7-21.52-83 20.79-21.55 33.76-45.29 33.73-65.65-.06-39.16-48.15-51-107.42-26.47l-12.55 5.33c-.06-.05-22.71-22.27-23.05-22.57C169.5-18-41.77 216.81 25.78 273.85l14.76 12.51a72.49 72.49 0 0 0-4.1 33.5c3.36 33.4 36 60.42 67.53 60.38 57.73 133.06 267.9 133.28 322.29 3 1.74-4.47 9.11-24.61 9.11-42.38s-10.09-25.27-16.53-25.27zm-316 48.16c-22.82-.61-47.46-21.15-49.91-45.51-6.17-61.31 74.26-75.27 84-12.33 4.54 29.64-4.67 58.49-34.12 57.81zM84.3 249.55C69.14 252.5 55.78 261.09 47.6 273c-4.88-4.07-14-12-15.59-15-13.01-24.85 14.24-73 33.3-100.21C112.42 90.56 186.19 39.68 220.36 48.91c5.55 1.57 23.94 22.89 23.94 22.89s-34.15 18.94-65.8 45.35c-42.66 32.85-74.89 80.59-94.2 132.4zM323.18 350.7s-35.74 5.3-69.51-7.07c6.21-20.16 27 6.1 96.4-13.81 15.29-4.38 35.37-13 51-25.35a102.85 102.85 0 0 1 7.12 24.28c3.66-.66 14.25-.52 11.44 18.1-3.29 19.87-11.73 36-25.93 50.84A106.86 106.86 0 0 1 362.55 421a132.45 132.45 0 0 1-20.34 8.58c-53.51 17.48-108.3-1.74-126-43a66.33 66.33 0 0 1-3.55-9.74c-7.53-27.2-1.14-59.83 18.84-80.37 1.23-1.31 2.48-2.85 2.48-4.79a8.45 8.45 0 0 0-1.92-4.54c-7-10.13-31.19-27.4-26.33-60.83 3.5-24 24.49-40.91 44.07-39.91l5 .29c8.48.5 15.89 1.59 22.88 1.88 11.69.5 22.2-1.19 34.64-11.56 4.2-3.5 7.57-6.54 13.26-7.51a17.45 17.45 0 0 1 13.6 2.24c10 6.64 11.4 22.73 11.92 34.49.29 6.72 1.1 23 1.38 27.63.63 10.67 3.43 12.17 9.11 14 3.19 1.05 6.15 1.83 10.51 3.06 13.21 3.71 21 7.48 26 12.31a16.38 16.38 0 0 1 4.74 9.29c1.56 11.37-8.82 25.4-36.31 38.16-46.71 21.68-93.68 14.45-100.48 13.68-20.15-2.71-31.63 23.32-19.55 41.15 22.64 33.41 122.4 20 151.37-21.35.69-1 .12-1.59-.73-1-41.77 28.58-97.06 38.21-128.46 26-4.77-1.85-14.73-6.44-15.94-16.67 43.6 13.49 71 .74 71 .74s2.03-2.79-.56-2.53zm-68.47-5.7zm-83.4-187.5c16.74-19.35 37.36-36.18 55.83-45.63a.73.73 0 0 1 1 1c-1.46 2.66-4.29 8.34-5.19 12.65a.75.75 0 0 0 1.16.79c11.49-7.83 31.48-16.22 49-17.3a.77.77 0 0 1 .52 1.38 41.86 41.86 0 0 0-7.71 7.74.75.75 0 0 0 .59 1.19c12.31.09 29.66 4.4 41 10.74.76.43.22 1.91-.64 1.72-69.55-15.94-123.08 18.53-134.5 26.83a.76.76 0 0 1-1-1.12z\"]\n};\nvar faMandalorian = {\n prefix: 'fab',\n iconName: 'mandalorian',\n icon: [448, 512, [], \"f50f\", \"M232.27 511.89c-1-3.26-1.69-15.83-1.39-24.58.55-15.89 1-24.72 1.4-28.76.64-6.2 2.87-20.72 3.28-21.38.6-1 .4-27.87-.24-33.13-.31-2.58-.63-11.9-.69-20.73-.13-16.47-.53-20.12-2.73-24.76-1.1-2.32-1.23-3.84-1-11.43a92.38 92.38 0 0 0-.34-12.71c-2-13-3.46-27.7-3.25-33.9s.43-7.15 2.06-9.67c3.05-4.71 6.51-14 8.62-23.27 2.26-9.86 3.88-17.18 4.59-20.74a109.54 109.54 0 0 1 4.42-15.05c2.27-6.25 2.49-15.39.37-15.39-.3 0-1.38 1.22-2.41 2.71s-4.76 4.8-8.29 7.36c-8.37 6.08-11.7 9.39-12.66 12.58s-1 7.23-.16 7.76c.34.21 1.29 2.4 2.11 4.88a28.83 28.83 0 0 1 .72 15.36c-.39 1.77-1 5.47-1.46 8.23s-1 6.46-1.25 8.22a9.85 9.85 0 0 1-1.55 4.26c-1 1-1.14.91-2.05-.53a14.87 14.87 0 0 1-1.44-4.75c-.25-1.74-1.63-7.11-3.08-11.93-3.28-10.9-3.52-16.15-1-21a14.24 14.24 0 0 0 1.67-4.61c0-2.39-2.2-5.32-7.41-9.89-7-6.18-8.63-7.92-10.23-11.3-1.71-3.6-3.06-4.06-4.54-1.54-1.78 3-2.6 9.11-3 22l-.34 12.19 2 2.25c3.21 3.7 12.07 16.45 13.78 19.83 3.41 6.74 4.34 11.69 4.41 23.56s.95 22.75 2 24.71c.36.66.51 1.35.34 1.52s.41 2.09 1.29 4.27a38.14 38.14 0 0 1 2.06 9 91 91 0 0 0 1.71 10.37c2.23 9.56 2.77 14.08 2.39 20.14-.2 3.27-.53 11.07-.73 17.32-1.31 41.76-1.85 58-2 61.21-.12 2-.39 11.51-.6 21.07-.36 16.3-1.3 27.37-2.42 28.65-.64.73-8.07-4.91-12.52-9.49-3.75-3.87-4-4.79-2.83-9.95.7-3 2.26-18.29 3.33-32.62.36-4.78.81-10.5 1-12.71.83-9.37 1.66-20.35 2.61-34.78.56-8.46 1.33-16.44 1.72-17.73s.89-9.89 1.13-19.11l.43-16.77-2.26-4.3c-1.72-3.28-4.87-6.94-13.22-15.34-6-6.07-11.84-12.3-12.91-13.85l-1.95-2.81.75-10.9c1.09-15.71 1.1-48.57 0-59.06l-.89-8.7-3.28-4.52c-5.86-8.08-5.8-7.75-6.22-33.27-.1-6.07-.38-11.5-.63-12.06-.83-1.87-3.05-2.66-8.54-3.05-8.86-.62-11-1.9-23.85-14.55-6.15-6-12.34-12-13.75-13.19-2.81-2.42-2.79-2-.56-9.63l1.35-4.65-1.69-3a32.22 32.22 0 0 0-2.59-4.07c-1.33-1.51-5.5-10.89-6-13.49a4.24 4.24 0 0 1 .87-3.9c2.23-2.86 3.4-5.68 4.45-10.73 2.33-11.19 7.74-26.09 10.6-29.22 3.18-3.47 7.7-1 9.41 5 1.34 4.79 1.37 9.79.1 18.55a101.2 101.2 0 0 0-1 11.11c0 4 .19 4.69 2.25 7.39 3.33 4.37 7.73 7.41 15.2 10.52a18.67 18.67 0 0 1 4.72 2.85c11.17 10.72 18.62 16.18 22.95 16.85 5.18.8 8 4.54 10 13.39 1.31 5.65 4 11.14 5.46 11.14a9.38 9.38 0 0 0 3.33-1.39c2-1.22 2.25-1.73 2.25-4.18a132.88 132.88 0 0 0-2-17.84c-.37-1.66-.78-4.06-.93-5.35s-.61-3.85-1-5.69c-2.55-11.16-3.65-15.46-4.1-16-1.55-2-4.08-10.2-4.93-15.92-1.64-11.11-4-14.23-12.91-17.39A43.15 43.15 0 0 1 165.24 78c-1.15-1-4-3.22-6.35-5.06s-4.41-3.53-4.6-3.76a22.7 22.7 0 0 0-2.69-2c-6.24-4.22-8.84-7-11.26-12l-2.44-5-.22-13-.22-13 6.91-6.55c3.95-3.75 8.48-7.35 10.59-8.43 3.31-1.69 4.45-1.89 11.37-2 8.53-.19 10.12 0 11.66 1.56s1.36 6.4-.29 8.5a6.66 6.66 0 0 0-1.34 2.32c0 .58-2.61 4.91-5.42 9a30.39 30.39 0 0 0-2.37 6.82c20.44 13.39 21.55 3.77 14.07 29L194 66.92c3.11-8.66 6.47-17.26 8.61-26.22.29-7.63-12-4.19-15.4-8.68-2.33-5.93 3.13-14.18 6.06-19.2 1.6-2.34 6.62-4.7 8.82-4.15.88.22 4.16-.35 7.37-1.28a45.3 45.3 0 0 1 7.55-1.68 29.57 29.57 0 0 0 6-1.29c3.65-1.11 4.5-1.17 6.35-.4a29.54 29.54 0 0 0 5.82 1.36 18.18 18.18 0 0 1 6 1.91 22.67 22.67 0 0 0 5 2.17c2.51.68 3 .57 7.05-1.67l4.35-2.4L268.32 5c10.44-.4 10.81-.47 15.26-2.68L288.16 0l2.46 1.43c1.76 1 3.14 2.73 4.85 6 2.36 4.51 2.38 4.58 1.37 7.37-.88 2.44-.89 3.3-.1 6.39a35.76 35.76 0 0 0 2.1 5.91 13.55 13.55 0 0 1 1.31 4c.31 4.33 0 5.3-2.41 6.92-2.17 1.47-7 7.91-7 9.34a14.77 14.77 0 0 1-1.07 3c-5 11.51-6.76 13.56-14.26 17-9.2 4.2-12.3 5.19-16.21 5.19-3.1 0-4 .25-4.54 1.26a18.33 18.33 0 0 1-4.09 3.71 13.62 13.62 0 0 0-4.38 4.78 5.89 5.89 0 0 1-2.49 2.91 6.88 6.88 0 0 0-2.45 1.71 67.62 67.62 0 0 1-7 5.38c-3.33 2.34-6.87 5-7.87 6A7.27 7.27 0 0 1 224 100a5.76 5.76 0 0 0-2.13 1.65c-1.31 1.39-1.49 2.11-1.14 4.6a36.45 36.45 0 0 0 1.42 5.88c1.32 3.8 1.31 7.86 0 10.57s-.89 6.65 1.35 9.59c2 2.63 2.16 4.56.71 8.84a33.45 33.45 0 0 0-1.06 8.91c0 4.88.22 6.28 1.46 8.38s1.82 2.48 3.24 2.32c2-.23 2.3-1.05 4.71-12.12 2.18-10 3.71-11.92 13.76-17.08 2.94-1.51 7.46-4 10-5.44s6.79-3.69 9.37-4.91a40.09 40.09 0 0 0 15.22-11.67c7.11-8.79 10-16.22 12.85-33.3a18.37 18.37 0 0 1 2.86-7.73 20.39 20.39 0 0 0 2.89-7.31c1-5.3 2.85-9.08 5.58-11.51 4.7-4.18 6-1.09 4.59 10.87-.46 3.86-1.1 10.33-1.44 14.38l-.61 7.36 4.45 4.09 4.45 4.09.11 8.42c.06 4.63.47 9.53.92 10.89l.82 2.47-6.43 6.28c-8.54 8.33-12.88 13.93-16.76 21.61-1.77 3.49-3.74 7.11-4.38 8-2.18 3.11-6.46 13-8.76 20.26l-2.29 7.22-7 6.49c-3.83 3.57-8 7.25-9.17 8.17-3.05 2.32-4.26 5.15-4.26 10a14.62 14.62 0 0 0 1.59 7.26 42 42 0 0 1 2.09 4.83 9.28 9.28 0 0 0 1.57 2.89c1.4 1.59 1.92 16.12.83 23.22-.68 4.48-3.63 12-4.7 12-1.79 0-4.06 9.27-5.07 20.74-.18 2-.62 5.94-1 8.7s-1 10-1.35 16.05c-.77 12.22-.19 18.77 2 23.15 3.41 6.69.52 12.69-11 22.84l-4 3.49.07 5.19a40.81 40.81 0 0 0 1.14 8.87c4.61 16 4.73 16.92 4.38 37.13-.46 26.4-.26 40.27.63 44.15a61.31 61.31 0 0 1 1.08 7c.17 2 .66 5.33 1.08 7.36.47 2.26.78 11 .79 22.74v19.06l-1.81 2.63c-2.71 3.91-15.11 13.54-15.49 12.29zm29.53-45.11c-.18-.3-.33-6.87-.33-14.59 0-14.06-.89-27.54-2.26-34.45-.4-2-.81-9.7-.9-17.06-.15-11.93-1.4-24.37-2.64-26.38-.66-1.07-3-17.66-3-21.3 0-4.23 1-6 5.28-9.13s4.86-3.14 5.48-.72c.28 1.1 1.45 5.62 2.6 10 3.93 15.12 4.14 16.27 4.05 21.74-.1 5.78-.13 6.13-1.74 17.73-1 7.07-1.17 12.39-1 28.43.17 19.4-.64 35.73-2 41.27-.71 2.78-2.8 5.48-3.43 4.43zm-71-37.58a101 101 0 0 1-1.73-10.79 100.5 100.5 0 0 0-1.73-10.79 37.53 37.53 0 0 1-1-6.49c-.31-3.19-.91-7.46-1.33-9.48-1-4.79-3.35-19.35-3.42-21.07 0-.74-.34-4.05-.7-7.36-.67-6.21-.84-27.67-.22-28.29 1-1 6.63 2.76 11.33 7.43l5.28 5.25-.45 6.47c-.25 3.56-.6 10.23-.78 14.83s-.49 9.87-.67 11.71-.61 9.36-.94 16.72c-.79 17.41-1.94 31.29-2.65 32a.62.62 0 0 1-1-.14zm-87.18-266.59c21.07 12.79 17.84 14.15 28.49 17.66 13 4.29 18.87 7.13 23.15 16.87C111.6 233.28 86.25 255 78.55 268c-31 52-6 101.59 62.75 87.21-14.18 29.23-78 28.63-98.68-4.9-24.68-39.95-22.09-118.3 61-187.66zm210.79 179c56.66 6.88 82.32-37.74 46.54-89.23 0 0-26.87-29.34-64.28-68 3-15.45 9.49-32.12 30.57-53.82 89.2 63.51 92 141.61 92.46 149.36 4.3 70.64-78.7 91.18-105.29 61.71z\"]\n};\nvar faMarkdown = {\n prefix: 'fab',\n iconName: 'markdown',\n icon: [640, 512, [], \"f60f\", \"M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z\"]\n};\nvar faMastodon = {\n prefix: 'fab',\n iconName: 'mastodon',\n icon: [448, 512, [], \"f4f6\", \"M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z\"]\n};\nvar faMaxcdn = {\n prefix: 'fab',\n iconName: 'maxcdn',\n icon: [512, 512, [], \"f136\", \"M461.1 442.7h-97.4L415.6 200c2.3-10.2.9-19.5-4.4-25.7-5-6.1-13.7-9.6-24.2-9.6h-49.3l-59.5 278h-97.4l59.5-278h-83.4l-59.5 278H0l59.5-278-44.6-95.4H387c39.4 0 75.3 16.3 98.3 44.9 23.3 28.6 31.8 67.4 23.6 105.9l-47.8 222.6z\"]\n};\nvar faMdb = {\n prefix: 'fab',\n iconName: 'mdb',\n icon: [576, 512, [], \"f8ca\", \"M17.37 160.41L7 352h43.91l5.59-79.83L84.43 352h44.71l25.54-77.43 4.79 77.43H205l-12.79-191.59H146.7L106 277.74 63.67 160.41zm281 0h-47.9V352h47.9s95 .8 94.2-95.79c-.78-94.21-94.18-95.78-94.18-95.78zm-1.2 146.46V204.78s46 4.27 46.8 50.57-46.78 51.54-46.78 51.54zm238.29-74.24a56.16 56.16 0 0 0 8-38.31c-5.34-35.76-55.08-34.32-55.08-34.32h-51.9v191.58H482s87 4.79 87-63.85c0-43.14-33.52-55.08-33.52-55.08zm-51.9-31.94s13.57-1.59 16 9.59c1.43 6.66-4 12-4 12h-12v-21.57zm-.1 109.46l.1-24.92V267h.08s41.58-4.73 41.19 22.43c-.33 25.65-41.35 20.74-41.35 20.74z\"]\n};\nvar faMedapps = {\n prefix: 'fab',\n iconName: 'medapps',\n icon: [320, 512, [], \"f3c6\", \"M118.3 238.4c3.5-12.5 6.9-33.6 13.2-33.6 8.3 1.8 9.6 23.4 18.6 36.6 4.6-23.5 5.3-85.1 14.1-86.7 9-.7 19.7 66.5 22 77.5 9.9 4.1 48.9 6.6 48.9 6.6 1.9 7.3-24 7.6-40 7.8-4.6 14.8-5.4 27.7-11.4 28-4.7.2-8.2-28.8-17.5-49.6l-9.4 65.5c-4.4 13-15.5-22.5-21.9-39.3-3.3-.1-62.4-1.6-47.6-7.8l31-5zM228 448c21.2 0 21.2-32 0-32H92c-21.2 0-21.2 32 0 32h136zm-24 64c21.2 0 21.2-32 0-32h-88c-21.2 0-21.2 32 0 32h88zm34.2-141.5c3.2-18.9 5.2-36.4 11.9-48.8 7.9-14.7 16.1-28.1 24-41 24.6-40.4 45.9-75.2 45.9-125.5C320 69.6 248.2 0 160 0S0 69.6 0 155.2c0 50.2 21.3 85.1 45.9 125.5 7.9 12.9 16 26.3 24 41 6.7 12.5 8.7 29.8 11.9 48.9 3.5 21 36.1 15.7 32.6-5.1-3.6-21.7-5.6-40.7-15.3-58.6C66.5 246.5 33 211.3 33 155.2 33 87.3 90 32 160 32s127 55.3 127 123.2c0 56.1-33.5 91.3-66.1 151.6-9.7 18-11.7 37.4-15.3 58.6-3.4 20.6 29 26.4 32.6 5.1z\"]\n};\nvar faMedium = {\n prefix: 'fab',\n iconName: 'medium',\n icon: [448, 512, [], \"f23a\", \"M0 32v448h448V32H0zm372.2 106.1l-24 23c-2.1 1.6-3.1 4.2-2.7 6.7v169.3c-.4 2.6.6 5.2 2.7 6.7l23.5 23v5.1h-118V367l24.3-23.6c2.4-2.4 2.4-3.1 2.4-6.7V199.8l-67.6 171.6h-9.1L125 199.8v115c-.7 4.8 1 9.7 4.4 13.2l31.6 38.3v5.1H71.2v-5.1l31.6-38.3c3.4-3.5 4.9-8.4 4.1-13.2v-133c.4-3.7-1-7.3-3.8-9.8L75 138.1V133h87.3l67.4 148L289 133.1h83.2v5z\"]\n};\nvar faMediumM = {\n prefix: 'fab',\n iconName: 'medium-m',\n icon: [512, 512, [], \"f3c7\", \"M71.5 142.3c.6-5.9-1.7-11.8-6.1-15.8L20.3 72.1V64h140.2l108.4 237.7L364.2 64h133.7v8.1l-38.6 37c-3.3 2.5-5 6.7-4.3 10.8v272c-.7 4.1 1 8.3 4.3 10.8l37.7 37v8.1H307.3v-8.1l39.1-37.9c3.8-3.8 3.8-5 3.8-10.8V171.2L241.5 447.1h-14.7L100.4 171.2v184.9c-1.1 7.8 1.5 15.6 7 21.2l50.8 61.6v8.1h-144v-8L65 377.3c5.4-5.6 7.9-13.5 6.5-21.2V142.3z\"]\n};\nvar faMedrt = {\n prefix: 'fab',\n iconName: 'medrt',\n icon: [544, 512, [], \"f3c8\", \"M113.7 256c0 121.8 83.9 222.8 193.5 241.1-18.7 4.5-38.2 6.9-58.2 6.9C111.4 504 0 393 0 256S111.4 8 248.9 8c20.1 0 39.6 2.4 58.2 6.9C197.5 33.2 113.7 134.2 113.7 256m297.4 100.3c-77.7 55.4-179.6 47.5-240.4-14.6 5.5 14.1 12.7 27.7 21.7 40.5 61.6 88.2 182.4 109.3 269.7 47 87.3-62.3 108.1-184.3 46.5-272.6-9-12.9-19.3-24.3-30.5-34.2 37.4 78.8 10.7 178.5-67 233.9m-218.8-244c-1.4 1-2.7 2.1-4 3.1 64.3-17.8 135.9 4 178.9 60.5 35.7 47 42.9 106.6 24.4 158 56.7-56.2 67.6-142.1 22.3-201.8-50-65.5-149.1-74.4-221.6-19.8M296 224c-4.4 0-8-3.6-8-8v-40c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v40c0 4.4-3.6 8-8 8h-40c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h40c4.4 0 8 3.6 8 8v40c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-40z\"]\n};\nvar faMeetup = {\n prefix: 'fab',\n iconName: 'meetup',\n icon: [512, 512, [], \"f2e0\", \"M99 414.3c1.1 5.7-2.3 11.1-8 12.3-5.4 1.1-10.9-2.3-12-8-1.1-5.4 2.3-11.1 7.7-12.3 5.4-1.2 11.1 2.3 12.3 8zm143.1 71.4c-6.3 4.6-8 13.4-3.7 20 4.6 6.6 13.4 8.3 20 3.7 6.3-4.6 8-13.4 3.4-20-4.2-6.5-13.1-8.3-19.7-3.7zm-86-462.3c6.3-1.4 10.3-7.7 8.9-14-1.1-6.6-7.4-10.6-13.7-9.1-6.3 1.4-10.3 7.7-9.1 14 1.4 6.6 7.6 10.6 13.9 9.1zM34.4 226.3c-10-6.9-23.7-4.3-30.6 6-6.9 10-4.3 24 5.7 30.9 10 7.1 23.7 4.6 30.6-5.7 6.9-10.4 4.3-24.1-5.7-31.2zm272-170.9c10.6-6.3 13.7-20 7.7-30.3-6.3-10.6-19.7-14-30-7.7s-13.7 20-7.4 30.6c6 10.3 19.4 13.7 29.7 7.4zm-191.1 58c7.7-5.4 9.4-16 4.3-23.7s-15.7-9.4-23.1-4.3c-7.7 5.4-9.4 16-4.3 23.7 5.1 7.8 15.6 9.5 23.1 4.3zm372.3 156c-7.4 1.7-12.3 9.1-10.6 16.9 1.4 7.4 8.9 12.3 16.3 10.6 7.4-1.4 12.3-8.9 10.6-16.6-1.5-7.4-8.9-12.3-16.3-10.9zm39.7-56.8c-1.1-5.7-6.6-9.1-12-8-5.7 1.1-9.1 6.9-8 12.6 1.1 5.4 6.6 9.1 12.3 8 5.4-1.5 9.1-6.9 7.7-12.6zM447 138.9c-8.6 6-10.6 17.7-4.9 26.3 5.7 8.6 17.4 10.6 26 4.9 8.3-6 10.3-17.7 4.6-26.3-5.7-8.7-17.4-10.9-25.7-4.9zm-6.3 139.4c26.3 43.1 15.1 100-26.3 129.1-17.4 12.3-37.1 17.7-56.9 17.1-12 47.1-69.4 64.6-105.1 32.6-1.1.9-2.6 1.7-3.7 2.9-39.1 27.1-92.3 17.4-119.4-22.3-9.7-14.3-14.6-30.6-15.1-46.9-65.4-10.9-90-94-41.1-139.7-28.3-46.9.6-107.4 53.4-114.9C151.6 70 234.1 38.6 290.1 82c67.4-22.3 136.3 29.4 130.9 101.1 41.1 12.6 52.8 66.9 19.7 95.2zm-70 74.3c-3.1-20.6-40.9-4.6-43.1-27.1-3.1-32 43.7-101.1 40-128-3.4-24-19.4-29.1-33.4-29.4-13.4-.3-16.9 2-21.4 4.6-2.9 1.7-6.6 4.9-11.7-.3-6.3-6-11.1-11.7-19.4-12.9-12.3-2-17.7 2-26.6 9.7-3.4 2.9-12 12.9-20 9.1-3.4-1.7-15.4-7.7-24-11.4-16.3-7.1-40 4.6-48.6 20-12.9 22.9-38 113.1-41.7 125.1-8.6 26.6 10.9 48.6 36.9 47.1 11.1-.6 18.3-4.6 25.4-17.4 4-7.4 41.7-107.7 44.6-112.6 2-3.4 8.9-8 14.6-5.1 5.7 3.1 6.9 9.4 6 15.1-1.1 9.7-28 70.9-28.9 77.7-3.4 22.9 26.9 26.6 38.6 4 3.7-7.1 45.7-92.6 49.4-98.3 4.3-6.3 7.4-8.3 11.7-8 3.1 0 8.3.9 7.1 10.9-1.4 9.4-35.1 72.3-38.9 87.7-4.6 20.6 6.6 41.4 24.9 50.6 11.4 5.7 62.5 15.7 58.5-11.1zm5.7 92.3c-10.3 7.4-12.9 22-5.7 32.6 7.1 10.6 21.4 13.1 32 6 10.6-7.4 13.1-22 6-32.6-7.4-10.6-21.7-13.5-32.3-6z\"]\n};\nvar faMegaport = {\n prefix: 'fab',\n iconName: 'megaport',\n icon: [496, 512, [], \"f5a3\", \"M214.5 209.6v66.2l33.5 33.5 33.3-33.3v-66.4l-33.4-33.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm145.1 414.4L367 441.6l-26-19.2v-65.5l-33.4-33.4-33.4 33.4v65.5L248 441.6l-26.1-19.2v-65.5l-33.4-33.4-33.5 33.4v65.5l-26.1 19.2-26.1-19.2v-87l59.5-59.5V188l59.5-59.5V52.9l26.1-19.2L274 52.9v75.6l59.5 59.5v87.6l59.7 59.7v87.1z\"]\n};\nvar faMendeley = {\n prefix: 'fab',\n iconName: 'mendeley',\n icon: [640, 512, [], \"f7b3\", \"M624.6 325.2c-12.3-12.4-29.7-19.2-48.4-17.2-43.3-1-49.7-34.9-37.5-98.8 22.8-57.5-14.9-131.5-87.4-130.8-77.4.7-81.7 82-130.9 82-48.1 0-54-81.3-130.9-82-72.9-.8-110.1 73.3-87.4 130.8 12.2 63.9 5.8 97.8-37.5 98.8-21.2-2.3-37 6.5-53 22.5-19.9 19.7-19.3 94.8 42.6 102.6 47.1 5.9 81.6-42.9 61.2-87.8-47.3-103.7 185.9-106.1 146.5-8.2-.1.1-.2.2-.3.4-26.8 42.8 6.8 97.4 58.8 95.2 52.1 2.1 85.4-52.6 58.8-95.2-.1-.2-.2-.3-.3-.4-39.4-97.9 193.8-95.5 146.5 8.2-4.6 10-6.7 21.3-5.7 33 4.9 53.4 68.7 74.1 104.9 35.2 17.8-14.8 23.1-65.6 0-88.3zm-303.9-19.1h-.6c-43.4 0-62.8-37.5-62.8-62.8 0-34.7 28.2-62.8 62.8-62.8h.6c34.7 0 62.8 28.1 62.8 62.8 0 25-19.2 62.8-62.8 62.8z\"]\n};\nvar faMicroblog = {\n prefix: 'fab',\n iconName: 'microblog',\n icon: [448, 512, [], \"e01a\", \"M399.36,362.23c29.49-34.69,47.1-78.34,47.1-125.79C446.46,123.49,346.86,32,224,32S1.54,123.49,1.54,236.44,101.14,440.87,224,440.87a239.28,239.28,0,0,0,79.44-13.44,7.18,7.18,0,0,1,8.12,2.56c18.58,25.09,47.61,42.74,79.89,49.92a4.42,4.42,0,0,0,5.22-3.43,4.37,4.37,0,0,0-.85-3.62,87,87,0,0,1,3.69-110.69ZM329.52,212.4l-57.3,43.49L293,324.75a6.5,6.5,0,0,1-9.94,7.22L224,290.92,164.94,332a6.51,6.51,0,0,1-9.95-7.22l20.79-68.86-57.3-43.49a6.5,6.5,0,0,1,3.8-11.68l71.88-1.51,23.66-67.92a6.5,6.5,0,0,1,12.28,0l23.66,67.92,71.88,1.51a6.5,6.5,0,0,1,3.88,11.68Z\"]\n};\nvar faMicrosoft = {\n prefix: 'fab',\n iconName: 'microsoft',\n icon: [448, 512, [], \"f3ca\", \"M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z\"]\n};\nvar faMix = {\n prefix: 'fab',\n iconName: 'mix',\n icon: [448, 512, [], \"f3cb\", \"M0 64v348.9c0 56.2 88 58.1 88 0V174.3c7.9-52.9 88-50.4 88 6.5v175.3c0 57.9 96 58 96 0V240c5.3-54.7 88-52.5 88 4.3v23.8c0 59.9 88 56.6 88 0V64H0z\"]\n};\nvar faMixcloud = {\n prefix: 'fab',\n iconName: 'mixcloud',\n icon: [640, 512, [], \"f289\", \"M424.43 219.729C416.124 134.727 344.135 68 256.919 68c-72.266 0-136.224 46.516-159.205 114.074-54.545 8.029-96.63 54.822-96.63 111.582 0 62.298 50.668 112.966 113.243 112.966h289.614c52.329 0 94.969-42.362 94.969-94.693 0-45.131-32.118-83.063-74.48-92.2zm-20.489 144.53H114.327c-39.04 0-70.881-31.564-70.881-70.604s31.841-70.604 70.881-70.604c18.827 0 36.548 7.475 49.838 20.766 19.963 19.963 50.133-10.227 30.18-30.18-14.675-14.398-32.672-24.365-52.053-29.349 19.935-44.3 64.79-73.926 114.628-73.926 69.496 0 125.979 56.483 125.979 125.702 0 13.568-2.215 26.857-6.369 39.594-8.943 27.517 32.133 38.939 40.147 13.29 2.769-8.306 4.984-16.889 6.369-25.472 19.381 7.476 33.502 26.303 33.502 48.453 0 28.795-23.535 52.33-52.607 52.33zm235.069-52.33c0 44.024-12.737 86.386-37.102 122.657-4.153 6.092-10.798 9.414-17.72 9.414-16.317 0-27.127-18.826-17.443-32.949 19.381-29.349 29.903-63.682 29.903-99.122s-10.521-69.773-29.903-98.845c-15.655-22.831 19.361-47.24 35.163-23.534 24.366 35.993 37.102 78.356 37.102 122.379zm-70.88 0c0 31.565-9.137 62.021-26.857 88.325-4.153 6.091-10.798 9.136-17.72 9.136-17.201 0-27.022-18.979-17.443-32.948 13.013-19.104 19.658-41.255 19.658-64.513 0-22.981-6.645-45.408-19.658-64.512-15.761-22.986 19.008-47.095 35.163-23.535 17.719 26.026 26.857 56.483 26.857 88.047z\"]\n};\nvar faMixer = {\n prefix: 'fab',\n iconName: 'mixer',\n icon: [512, 512, [], \"e056\", \"M114.57,76.07a45.71,45.71,0,0,0-67.51-6.41c-17.58,16.18-19,43.52-4.75,62.77l91.78,123L41.76,379.58c-14.23,19.25-13.11,46.59,4.74,62.77A45.71,45.71,0,0,0,114,435.94L242.89,262.7a12.14,12.14,0,0,0,0-14.23ZM470.24,379.58,377.91,255.45l91.78-123c14.22-19.25,12.83-46.59-4.75-62.77a45.71,45.71,0,0,0-67.51,6.41l-128,172.12a12.14,12.14,0,0,0,0,14.23L398,435.94a45.71,45.71,0,0,0,67.51,6.41C483.35,426.17,484.47,398.83,470.24,379.58Z\"]\n};\nvar faMizuni = {\n prefix: 'fab',\n iconName: 'mizuni',\n icon: [496, 512, [], \"f3cc\", \"M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm-80 351.9c-31.4 10.6-58.8 27.3-80 48.2V136c0-22.1 17.9-40 40-40s40 17.9 40 40v223.9zm120-9.9c-12.9-2-26.2-3.1-39.8-3.1-13.8 0-27.2 1.1-40.2 3.1V136c0-22.1 17.9-40 40-40s40 17.9 40 40v214zm120 57.7c-21.2-20.8-48.6-37.4-80-48V136c0-22.1 17.9-40 40-40s40 17.9 40 40v271.7z\"]\n};\nvar faModx = {\n prefix: 'fab',\n iconName: 'modx',\n icon: [448, 512, [], \"f285\", \"M356 241.8l36.7 23.7V480l-133-83.8L356 241.8zM440 75H226.3l-23 37.8 153.5 96.5L440 75zm-89 142.8L55.2 32v214.5l46 29L351 217.8zM97 294.2L8 437h213.7l125-200.5L97 294.2z\"]\n};\nvar faMonero = {\n prefix: 'fab',\n iconName: 'monero',\n icon: [496, 512, [], \"f3d0\", \"M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z\"]\n};\nvar faNapster = {\n prefix: 'fab',\n iconName: 'napster',\n icon: [496, 512, [], \"f3d2\", \"M298.3 373.6c-14.2 13.6-31.3 24.1-50.4 30.5-19-6.4-36.2-16.9-50.3-30.5h100.7zm44-199.6c20-16.9 43.6-29.2 69.6-36.2V299c0 219.4-328 217.6-328 .3V137.7c25.9 6.9 49.6 19.6 69.5 36.4 56.8-40 132.5-39.9 188.9-.1zm-208.8-58.5c64.4-60 164.3-60.1 228.9-.2-7.1 3.5-13.9 7.3-20.6 11.5-58.7-30.5-129.2-30.4-187.9.1-6.3-4-13.9-8.2-20.4-11.4zM43.8 93.2v69.3c-58.4 36.5-58.4 121.1.1 158.3 26.4 245.1 381.7 240.3 407.6 1.5l.3-1.7c58.7-36.3 58.9-121.7.2-158.2V93.2c-17.3.5-34 3-50.1 7.4-82-91.5-225.5-91.5-307.5.1-16.3-4.4-33.1-7-50.6-7.5zM259.2 352s36-.3 61.3-1.5c10.2-.5 21.1-4 25.5-6.5 26.3-15.1 25.4-39.2 26.2-47.4-79.5-.6-99.9-3.9-113 55.4zm-135.5-55.3c.8 8.2-.1 32.3 26.2 47.4 4.4 2.5 15.2 6 25.5 6.5 25.3 1.1 61.3 1.5 61.3 1.5-13.2-59.4-33.7-56.1-113-55.4zm169.1 123.4c-3.2-5.3-6.9-7.3-6.9-7.3-24.8 7.3-52.2 6.9-75.9 0 0 0-2.9 1.5-6.4 6.6-2.8 4.1-3.7 9.6-3.7 9.6 29.1 17.6 67.1 17.6 96.2 0-.1-.1-.3-4-3.3-8.9z\"]\n};\nvar faNeos = {\n prefix: 'fab',\n iconName: 'neos',\n icon: [512, 512, [], \"f612\", \"M415.44 512h-95.11L212.12 357.46v91.1L125.69 512H28V29.82L68.47 0h108.05l123.74 176.13V63.45L386.69 0h97.69v461.5zM38.77 35.27V496l72-52.88V194l215.5 307.64h84.79l52.35-38.17h-78.27L69 13zm82.54 466.61l80-58.78v-101l-79.76-114.4v220.94L49 501.89h72.34zM80.63 10.77l310.6 442.57h82.37V10.77h-79.75v317.56L170.91 10.77zM311 191.65l72 102.81V15.93l-72 53v122.72z\"]\n};\nvar faNimblr = {\n prefix: 'fab',\n iconName: 'nimblr',\n icon: [384, 512, [], \"f5a8\", \"M246.6 299.29c15.57 0 27.15 11.46 27.15 27s-11.62 27-27.15 27c-15.7 0-27.15-11.57-27.15-27s11.55-27 27.15-27zM113 326.25c0-15.61 11.68-27 27.15-27s27.15 11.46 27.15 27-11.47 27-27.15 27c-15.44 0-27.15-11.31-27.15-27M191.76 159C157 159 89.45 178.77 59.25 227L14 0v335.48C14 433.13 93.61 512 191.76 512s177.76-78.95 177.76-176.52S290.13 159 191.76 159zm0 308.12c-73.27 0-132.51-58.9-132.51-131.59s59.24-131.59 132.51-131.59 132.51 58.86 132.51 131.54S265 467.07 191.76 467.07z\"]\n};\nvar faNode = {\n prefix: 'fab',\n iconName: 'node',\n icon: [640, 512, [], \"f419\", \"M316.3 452c-2.1 0-4.2-.6-6.1-1.6L291 439c-2.9-1.6-1.5-2.2-.5-2.5 3.8-1.3 4.6-1.6 8.7-4 .4-.2 1-.1 1.4.1l14.8 8.8c.5.3 1.3.3 1.8 0L375 408c.5-.3.9-.9.9-1.6v-66.7c0-.7-.3-1.3-.9-1.6l-57.8-33.3c-.5-.3-1.2-.3-1.8 0l-57.8 33.3c-.6.3-.9 1-.9 1.6v66.7c0 .6.4 1.2.9 1.5l15.8 9.1c8.6 4.3 13.9-.8 13.9-5.8v-65.9c0-.9.7-1.7 1.7-1.7h7.3c.9 0 1.7.7 1.7 1.7v65.9c0 11.5-6.2 18-17.1 18-3.3 0-6 0-13.3-3.6l-15.2-8.7c-3.7-2.2-6.1-6.2-6.1-10.5v-66.7c0-4.3 2.3-8.4 6.1-10.5l57.8-33.4c3.7-2.1 8.5-2.1 12.1 0l57.8 33.4c3.7 2.2 6.1 6.2 6.1 10.5v66.7c0 4.3-2.3 8.4-6.1 10.5l-57.8 33.4c-1.7 1.1-3.8 1.7-6 1.7zm46.7-65.8c0-12.5-8.4-15.8-26.2-18.2-18-2.4-19.8-3.6-19.8-7.8 0-3.5 1.5-8.1 14.8-8.1 11.9 0 16.3 2.6 18.1 10.6.2.8.8 1.3 1.6 1.3h7.5c.5 0 .9-.2 1.2-.5.3-.4.5-.8.4-1.3-1.2-13.8-10.3-20.2-28.8-20.2-16.5 0-26.3 7-26.3 18.6 0 12.7 9.8 16.1 25.6 17.7 18.9 1.9 20.4 4.6 20.4 8.3 0 6.5-5.2 9.2-17.4 9.2-15.3 0-18.7-3.8-19.8-11.4-.1-.8-.8-1.4-1.7-1.4h-7.5c-.9 0-1.7.7-1.7 1.7 0 9.7 5.3 21.3 30.6 21.3 18.5 0 29-7.2 29-19.8zm54.5-50.1c0 6.1-5 11.1-11.1 11.1s-11.1-5-11.1-11.1c0-6.3 5.2-11.1 11.1-11.1 6-.1 11.1 4.8 11.1 11.1zm-1.8 0c0-5.2-4.2-9.3-9.4-9.3-5.1 0-9.3 4.1-9.3 9.3 0 5.2 4.2 9.4 9.3 9.4 5.2-.1 9.4-4.3 9.4-9.4zm-4.5 6.2h-2.6c-.1-.6-.5-3.8-.5-3.9-.2-.7-.4-1.1-1.3-1.1h-2.2v5h-2.4v-12.5h4.3c1.5 0 4.4 0 4.4 3.3 0 2.3-1.5 2.8-2.4 3.1 1.7.1 1.8 1.2 2.1 2.8.1 1 .3 2.7.6 3.3zm-2.8-8.8c0-1.7-1.2-1.7-1.8-1.7h-2v3.5h1.9c1.6 0 1.9-1.1 1.9-1.8zM137.3 191c0-2.7-1.4-5.1-3.7-6.4l-61.3-35.3c-1-.6-2.2-.9-3.4-1h-.6c-1.2 0-2.3.4-3.4 1L3.7 184.6C1.4 185.9 0 188.4 0 191l.1 95c0 1.3.7 2.5 1.8 3.2 1.1.7 2.5.7 3.7 0L42 268.3c2.3-1.4 3.7-3.8 3.7-6.4v-44.4c0-2.6 1.4-5.1 3.7-6.4l15.5-8.9c1.2-.7 2.4-1 3.7-1 1.3 0 2.6.3 3.7 1l15.5 8.9c2.3 1.3 3.7 3.8 3.7 6.4v44.4c0 2.6 1.4 5.1 3.7 6.4l36.4 20.9c1.1.7 2.6.7 3.7 0 1.1-.6 1.8-1.9 1.8-3.2l.2-95zM472.5 87.3v176.4c0 2.6-1.4 5.1-3.7 6.4l-61.3 35.4c-2.3 1.3-5.1 1.3-7.4 0l-61.3-35.4c-2.3-1.3-3.7-3.8-3.7-6.4v-70.8c0-2.6 1.4-5.1 3.7-6.4l61.3-35.4c2.3-1.3 5.1-1.3 7.4 0l15.3 8.8c1.7 1 3.9-.3 3.9-2.2v-94c0-2.8 3-4.6 5.5-3.2l36.5 20.4c2.3 1.2 3.8 3.7 3.8 6.4zm-46 128.9c0-.7-.4-1.3-.9-1.6l-21-12.2c-.6-.3-1.3-.3-1.9 0l-21 12.2c-.6.3-.9.9-.9 1.6v24.3c0 .7.4 1.3.9 1.6l21 12.1c.6.3 1.3.3 1.8 0l21-12.1c.6-.3.9-.9.9-1.6v-24.3zm209.8-.7c2.3-1.3 3.7-3.8 3.7-6.4V192c0-2.6-1.4-5.1-3.7-6.4l-60.9-35.4c-2.3-1.3-5.1-1.3-7.4 0l-61.3 35.4c-2.3 1.3-3.7 3.8-3.7 6.4v70.8c0 2.7 1.4 5.1 3.7 6.4l60.9 34.7c2.2 1.3 5 1.3 7.3 0l36.8-20.5c2.5-1.4 2.5-5 0-6.4L550 241.6c-1.2-.7-1.9-1.9-1.9-3.2v-22.2c0-1.3.7-2.5 1.9-3.2l19.2-11.1c1.1-.7 2.6-.7 3.7 0l19.2 11.1c1.1.7 1.9 1.9 1.9 3.2v17.4c0 2.8 3.1 4.6 5.6 3.2l36.7-21.3zM559 219c-.4.3-.7.7-.7 1.2v13.6c0 .5.3 1 .7 1.2l11.8 6.8c.4.3 1 .3 1.4 0L584 235c.4-.3.7-.7.7-1.2v-13.6c0-.5-.3-1-.7-1.2l-11.8-6.8c-.4-.3-1-.3-1.4 0L559 219zm-254.2 43.5v-70.4c0-2.6-1.6-5.1-3.9-6.4l-61.1-35.2c-2.1-1.2-5-1.4-7.4 0l-61.1 35.2c-2.3 1.3-3.9 3.7-3.9 6.4v70.4c0 2.8 1.9 5.2 4 6.4l61.2 35.2c2.4 1.4 5.2 1.3 7.4 0l61-35.2c1.8-1 3.1-2.7 3.6-4.7.1-.5.2-1.1.2-1.7zm-74.3-124.9l-.8.5h1.1l-.3-.5zm76.2 130.2l-.4-.7v.9l.4-.2z\"]\n};\nvar faNodeJs = {\n prefix: 'fab',\n iconName: 'node-js',\n icon: [448, 512, [], \"f3d3\", \"M224 508c-6.7 0-13.5-1.8-19.4-5.2l-61.7-36.5c-9.2-5.2-4.7-7-1.7-8 12.3-4.3 14.8-5.2 27.9-12.7 1.4-.8 3.2-.5 4.6.4l47.4 28.1c1.7 1 4.1 1 5.7 0l184.7-106.6c1.7-1 2.8-3 2.8-5V149.3c0-2.1-1.1-4-2.9-5.1L226.8 37.7c-1.7-1-4-1-5.7 0L36.6 144.3c-1.8 1-2.9 3-2.9 5.1v213.1c0 2 1.1 4 2.9 4.9l50.6 29.2c27.5 13.7 44.3-2.4 44.3-18.7V167.5c0-3 2.4-5.3 5.4-5.3h23.4c2.9 0 5.4 2.3 5.4 5.3V378c0 36.6-20 57.6-54.7 57.6-10.7 0-19.1 0-42.5-11.6l-48.4-27.9C8.1 389.2.7 376.3.7 362.4V149.3c0-13.8 7.4-26.8 19.4-33.7L204.6 9c11.7-6.6 27.2-6.6 38.8 0l184.7 106.7c12 6.9 19.4 19.8 19.4 33.7v213.1c0 13.8-7.4 26.7-19.4 33.7L243.4 502.8c-5.9 3.4-12.6 5.2-19.4 5.2zm149.1-210.1c0-39.9-27-50.5-83.7-58-57.4-7.6-63.2-11.5-63.2-24.9 0-11.1 4.9-25.9 47.4-25.9 37.9 0 51.9 8.2 57.7 33.8.5 2.4 2.7 4.2 5.2 4.2h24c1.5 0 2.9-.6 3.9-1.7s1.5-2.6 1.4-4.1c-3.7-44.1-33-64.6-92.2-64.6-52.7 0-84.1 22.2-84.1 59.5 0 40.4 31.3 51.6 81.8 56.6 60.5 5.9 65.2 14.8 65.2 26.7 0 20.6-16.6 29.4-55.5 29.4-48.9 0-59.6-12.3-63.2-36.6-.4-2.6-2.6-4.5-5.3-4.5h-23.9c-3 0-5.3 2.4-5.3 5.3 0 31.1 16.9 68.2 97.8 68.2 58.4-.1 92-23.2 92-63.4z\"]\n};\nvar faNpm = {\n prefix: 'fab',\n iconName: 'npm',\n icon: [576, 512, [], \"f3d4\", \"M288 288h-32v-64h32v64zm288-128v192H288v32H160v-32H0V160h576zm-416 32H32v128h64v-96h32v96h32V192zm160 0H192v160h64v-32h64V192zm224 0H352v128h64v-96h32v96h32v-96h32v96h32V192z\"]\n};\nvar faNs8 = {\n prefix: 'fab',\n iconName: 'ns8',\n icon: [640, 512, [], \"f3d5\", \"M104.324,269.172h26.067V242.994H104.324Zm52.466-26.178-.055-26.178v-.941a39.325,39.325,0,0,0-78.644.941v.166h26.4v-.166a12.98,12.98,0,0,1,25.956,0v26.178Zm52.356,25.846a91.1,91.1,0,0,1-91.1,91.1h-.609a91.1,91.1,0,0,1-91.1-91.1H0v.166A117.33,117.33,0,0,0,117.44,386.28h.775A117.331,117.331,0,0,0,235.49,268.84V242.828H209.146Zm-157.233,0a65.362,65.362,0,0,0,130.723,0H156.292a39.023,39.023,0,0,1-78.035,0V242.883H51.968v-26.62A65.42,65.42,0,0,1,182.8,217.48v25.293h26.344V217.48a91.761,91.761,0,0,0-183.522,0v25.4H51.913Zm418.4-71.173c13.67,0,24.573,6.642,30.052,18.264l.719,1.549,23.245-11.511-.609-1.439c-8.025-19.26-28.5-31.27-53.407-31.27-23.134,0-43.611,11.4-50.972,28.447-.123,26.876-.158,23.9,0,24.85,4.7,11.013,14.555,19.37,28.668,24.241a102.033,102.033,0,0,0,19.813,3.984c5.479.72,10.626,1.384,15.829,3.1,6.364,2.1,10.46,5.257,12.84,9.851v9.851c-3.708,7.527-13.781,12.342-25.791,12.342-14.334,0-25.956-6.918-31.933-19.039l-.72-1.494L415.026,280.9l.553,1.439c7.915,19.426,29.609,32.044,55.289,32.044,23.632,0,44.608-11.4,52.3-28.447l.166-25.9-.166-.664c-4.87-11.014-15.219-19.647-28.944-24.241-7.693-2.712-14.335-3.6-20.7-4.427a83.777,83.777,0,0,1-14.832-2.878c-6.31-1.937-10.4-5.092-12.619-9.63v-8.412C449.45,202.427,458.969,197.667,470.315,197.667ZM287.568,311.344h26.067v-68.4H287.568Zm352.266-53.3c-2.933-6.254-8.3-12.01-15.441-16.714A37.99,37.99,0,0,0,637.4,226l.166-25.347-.166-.664C630.038,184,610.667,173.26,589.25,173.26S548.461,184,541.1,199.992l-.166,25.347.166.664a39.643,39.643,0,0,0,13.006,15.331c-7.2,4.7-12.508,10.46-15.441,16.714l-.166,28.889.166.72c7.582,15.994,27.893,26.731,50.585,26.731s43.057-10.737,50.584-26.731l.166-28.89Zm-73.22-50.806c3.6-6.31,12.563-10.516,22.58-10.516s19.038,4.206,22.636,10.516v13.725c-3.542,6.2-12.563,10.349-22.636,10.349s-19.094-4.15-22.58-10.349Zm47.319,72.169c-3.764,6.641-13.338,10.9-24.683,10.9-11.125,0-20.976-4.372-24.684-10.9V263.25c3.708-6.309,13.5-10.515,24.684-10.515,11.345,0,20.919,4.15,24.683,10.515ZM376.4,265.962l-59.827-89.713h-29v40.623h26.51v.387l62.539,94.085H402.3V176.249H376.4Z\"]\n};\nvar faNutritionix = {\n prefix: 'fab',\n iconName: 'nutritionix',\n icon: [400, 512, [], \"f3d6\", \"M88 8.1S221.4-.1 209 112.5c0 0 19.1-74.9 103-40.6 0 0-17.7 74-88 56 0 0 14.6-54.6 66.1-56.6 0 0-39.9-10.3-82.1 48.8 0 0-19.8-94.5-93.6-99.7 0 0 75.2 19.4 77.6 107.5 0 .1-106.4 7-104-119.8zm312 315.6c0 48.5-9.7 95.3-32 132.3-42.2 30.9-105 48-168 48-62.9 0-125.8-17.1-168-48C9.7 419 0 372.2 0 323.7 0 275.3 17.7 229 40 192c42.2-30.9 97.1-48.6 160-48.6 63 0 117.8 17.6 160 48.6 22.3 37 40 83.3 40 131.7zM120 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM192 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM264 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM336 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm24-39.6c-4.8-22.3-7.4-36.9-16-56-38.8-19.9-90.5-32-144-32S94.8 180.1 56 200c-8.8 19.5-11.2 33.9-16 56 42.2-7.9 98.7-14.8 160-14.8s117.8 6.9 160 14.8z\"]\n};\nvar faOctopusDeploy = {\n prefix: 'fab',\n iconName: 'octopus-deploy',\n icon: [512, 512, [], \"e082\", \"M455.6,349.2c-45.891-39.09-36.67-77.877-16.095-128.11C475.16,134.04,415.967,34.14,329.93,8.3,237.04-19.6,134.252,24.341,99.677,117.147a180.862,180.862,0,0,0-10.988,73.544c1.733,29.543,14.717,52.97,24.09,80.3,17.2,50.161-28.1,92.743-66.662,117.582-46.806,30.2-36.319,39.857-8.428,41.858,23.378,1.68,44.478-4.548,65.265-15.045,9.2-4.647,40.687-18.931,45.13-28.588C135.9,413.388,111.122,459.5,126.621,488.9c19.1,36.229,67.112-31.77,76.709-45.812,8.591-12.572,42.963-81.279,63.627-46.926,18.865,31.361,8.6,76.391,35.738,104.622,32.854,34.2,51.155-18.312,51.412-44.221.163-16.411-6.1-95.852,29.9-59.944C405.428,418,436.912,467.8,472.568,463.642c38.736-4.516-22.123-67.967-28.262-78.695,5.393,4.279,53.665,34.128,53.818,9.52C498.234,375.678,468.039,359.8,455.6,349.2Z\"]\n};\nvar faOdnoklassniki = {\n prefix: 'fab',\n iconName: 'odnoklassniki',\n icon: [320, 512, [], \"f263\", \"M275.1 334c-27.4 17.4-65.1 24.3-90 26.9l20.9 20.6 76.3 76.3c27.9 28.6-17.5 73.3-45.7 45.7-19.1-19.4-47.1-47.4-76.3-76.6L84 503.4c-28.2 27.5-73.6-17.6-45.4-45.7 19.4-19.4 47.1-47.4 76.3-76.3l20.6-20.6c-24.6-2.6-62.9-9.1-90.6-26.9-32.6-21-46.9-33.3-34.3-59 7.4-14.6 27.7-26.9 54.6-5.7 0 0 36.3 28.9 94.9 28.9s94.9-28.9 94.9-28.9c26.9-21.1 47.1-8.9 54.6 5.7 12.4 25.7-1.9 38-34.5 59.1zM30.3 129.7C30.3 58 88.6 0 160 0s129.7 58 129.7 129.7c0 71.4-58.3 129.4-129.7 129.4s-129.7-58-129.7-129.4zm66 0c0 35.1 28.6 63.7 63.7 63.7s63.7-28.6 63.7-63.7c0-35.4-28.6-64-63.7-64s-63.7 28.6-63.7 64z\"]\n};\nvar faOdnoklassnikiSquare = {\n prefix: 'fab',\n iconName: 'odnoklassniki-square',\n icon: [448, 512, [], \"f264\", \"M184.2 177.1c0-22.1 17.9-40 39.8-40s39.8 17.9 39.8 40c0 22-17.9 39.8-39.8 39.8s-39.8-17.9-39.8-39.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-305.1 97.1c0 44.6 36.4 80.9 81.1 80.9s81.1-36.2 81.1-80.9c0-44.8-36.4-81.1-81.1-81.1s-81.1 36.2-81.1 81.1zm174.5 90.7c-4.6-9.1-17.3-16.8-34.1-3.6 0 0-22.7 18-59.3 18s-59.3-18-59.3-18c-16.8-13.2-29.5-5.5-34.1 3.6-7.9 16.1 1.1 23.7 21.4 37 17.3 11.1 41.2 15.2 56.6 16.8l-12.9 12.9c-18.2 18-35.5 35.5-47.7 47.7-17.6 17.6 10.7 45.8 28.4 28.6l47.7-47.9c18.2 18.2 35.7 35.7 47.7 47.9 17.6 17.2 46-10.7 28.6-28.6l-47.7-47.7-13-12.9c15.5-1.6 39.1-5.9 56.2-16.8 20.4-13.3 29.3-21 21.5-37z\"]\n};\nvar faOldRepublic = {\n prefix: 'fab',\n iconName: 'old-republic',\n icon: [496, 512, [], \"f510\", \"M235.76 10.23c7.5-.31 15-.28 22.5-.09 3.61.14 7.2.4 10.79.73 4.92.27 9.79 1.03 14.67 1.62 2.93.43 5.83.98 8.75 1.46 7.9 1.33 15.67 3.28 23.39 5.4 12.24 3.47 24.19 7.92 35.76 13.21 26.56 12.24 50.94 29.21 71.63 49.88 20.03 20.09 36.72 43.55 48.89 69.19 1.13 2.59 2.44 5.1 3.47 7.74 2.81 6.43 5.39 12.97 7.58 19.63 4.14 12.33 7.34 24.99 9.42 37.83.57 3.14 1.04 6.3 1.4 9.47.55 3.83.94 7.69 1.18 11.56.83 8.34.84 16.73.77 25.1-.07 4.97-.26 9.94-.75 14.89-.24 3.38-.51 6.76-.98 10.12-.39 2.72-.63 5.46-1.11 8.17-.9 5.15-1.7 10.31-2.87 15.41-4.1 18.5-10.3 36.55-18.51 53.63-15.77 32.83-38.83 62.17-67.12 85.12a246.503 246.503 0 0 1-56.91 34.86c-6.21 2.68-12.46 5.25-18.87 7.41-3.51 1.16-7.01 2.38-10.57 3.39-6.62 1.88-13.29 3.64-20.04 5-4.66.91-9.34 1.73-14.03 2.48-5.25.66-10.5 1.44-15.79 1.74-6.69.66-13.41.84-20.12.81-6.82.03-13.65-.12-20.45-.79-3.29-.23-6.57-.5-9.83-.95-2.72-.39-5.46-.63-8.17-1.11-4.12-.72-8.25-1.37-12.35-2.22-4.25-.94-8.49-1.89-12.69-3.02-8.63-2.17-17.08-5.01-25.41-8.13-10.49-4.12-20.79-8.75-30.64-14.25-2.14-1.15-4.28-2.29-6.35-3.57-11.22-6.58-21.86-14.1-31.92-22.34-34.68-28.41-61.41-66.43-76.35-108.7-3.09-8.74-5.71-17.65-7.8-26.68-1.48-6.16-2.52-12.42-3.58-18.66-.4-2.35-.61-4.73-.95-7.09-.6-3.96-.75-7.96-1.17-11.94-.8-9.47-.71-18.99-.51-28.49.14-3.51.34-7.01.7-10.51.31-3.17.46-6.37.92-9.52.41-2.81.65-5.65 1.16-8.44.7-3.94 1.3-7.9 2.12-11.82 3.43-16.52 8.47-32.73 15.26-48.18 1.15-2.92 2.59-5.72 3.86-8.59 8.05-16.71 17.9-32.56 29.49-47.06 20-25.38 45.1-46.68 73.27-62.47 7.5-4.15 15.16-8.05 23.07-11.37 15.82-6.88 32.41-11.95 49.31-15.38 3.51-.67 7.04-1.24 10.56-1.85 2.62-.47 5.28-.7 7.91-1.08 3.53-.53 7.1-.68 10.65-1.04 2.46-.24 4.91-.36 7.36-.51m8.64 24.41c-9.23.1-18.43.99-27.57 2.23-7.3 1.08-14.53 2.6-21.71 4.3-13.91 3.5-27.48 8.34-40.46 14.42-10.46 4.99-20.59 10.7-30.18 17.22-4.18 2.92-8.4 5.8-12.34 9.03-5.08 3.97-9.98 8.17-14.68 12.59-2.51 2.24-4.81 4.7-7.22 7.06-28.22 28.79-48.44 65.39-57.5 104.69-2.04 8.44-3.54 17.02-4.44 25.65-1.1 8.89-1.44 17.85-1.41 26.8.11 7.14.38 14.28 1.22 21.37.62 7.12 1.87 14.16 3.2 21.18 1.07 4.65 2.03 9.32 3.33 13.91 6.29 23.38 16.5 45.7 30.07 65.75 8.64 12.98 18.78 24.93 29.98 35.77 16.28 15.82 35.05 29.04 55.34 39.22 7.28 3.52 14.66 6.87 22.27 9.63 5.04 1.76 10.06 3.57 15.22 4.98 11.26 3.23 22.77 5.6 34.39 7.06 2.91.29 5.81.61 8.72.9 13.82 1.08 27.74 1 41.54-.43 4.45-.6 8.92-.99 13.35-1.78 3.63-.67 7.28-1.25 10.87-2.1 4.13-.98 8.28-1.91 12.36-3.07 26.5-7.34 51.58-19.71 73.58-36.2 15.78-11.82 29.96-25.76 42.12-41.28 3.26-4.02 6.17-8.31 9.13-12.55 3.39-5.06 6.58-10.25 9.6-15.54 2.4-4.44 4.74-8.91 6.95-13.45 5.69-12.05 10.28-24.62 13.75-37.49 2.59-10.01 4.75-20.16 5.9-30.45 1.77-13.47 1.94-27.1 1.29-40.65-.29-3.89-.67-7.77-1-11.66-2.23-19.08-6.79-37.91-13.82-55.8-5.95-15.13-13.53-29.63-22.61-43.13-12.69-18.8-28.24-35.68-45.97-49.83-25.05-20-54.47-34.55-85.65-42.08-7.78-1.93-15.69-3.34-23.63-4.45-3.91-.59-7.85-.82-11.77-1.24-7.39-.57-14.81-.72-22.22-.58zM139.26 83.53c13.3-8.89 28.08-15.38 43.3-20.18-3.17 1.77-6.44 3.38-9.53 5.29-11.21 6.68-21.52 14.9-30.38 24.49-6.8 7.43-12.76 15.73-17.01 24.89-3.29 6.86-5.64 14.19-6.86 21.71-.93 4.85-1.3 9.81-1.17 14.75.13 13.66 4.44 27.08 11.29 38.82 5.92 10.22 13.63 19.33 22.36 27.26 4.85 4.36 10.24 8.09 14.95 12.6 2.26 2.19 4.49 4.42 6.43 6.91 2.62 3.31 4.89 6.99 5.99 11.1.9 3.02.66 6.2.69 9.31.02 4.1-.04 8.2.03 12.3.14 3.54-.02 7.09.11 10.63.08 2.38.02 4.76.05 7.14.16 5.77.06 11.53.15 17.3.11 2.91.02 5.82.13 8.74.03 1.63.13 3.28-.03 4.91-.91.12-1.82.18-2.73.16-10.99 0-21.88-2.63-31.95-6.93-6-2.7-11.81-5.89-17.09-9.83-5.75-4.19-11.09-8.96-15.79-14.31-6.53-7.24-11.98-15.39-16.62-23.95-1.07-2.03-2.24-4.02-3.18-6.12-1.16-2.64-2.62-5.14-3.67-7.82-4.05-9.68-6.57-19.94-8.08-30.31-.49-4.44-1.09-8.88-1.2-13.35-.7-15.73.84-31.55 4.67-46.82 2.12-8.15 4.77-16.18 8.31-23.83 6.32-14.2 15.34-27.18 26.3-38.19 6.28-6.2 13.13-11.84 20.53-16.67zm175.37-20.12c2.74.74 5.41 1.74 8.09 2.68 6.36 2.33 12.68 4.84 18.71 7.96 13.11 6.44 25.31 14.81 35.82 24.97 10.2 9.95 18.74 21.6 25.14 34.34 1.28 2.75 2.64 5.46 3.81 8.26 6.31 15.1 10 31.26 11.23 47.57.41 4.54.44 9.09.45 13.64.07 11.64-1.49 23.25-4.3 34.53-1.97 7.27-4.35 14.49-7.86 21.18-3.18 6.64-6.68 13.16-10.84 19.24-6.94 10.47-15.6 19.87-25.82 27.22-10.48 7.64-22.64 13.02-35.4 15.38-3.51.69-7.08 1.08-10.66 1.21-1.85.06-3.72.16-5.56-.1-.28-2.15 0-4.31-.01-6.46-.03-3.73.14-7.45.1-11.17.19-7.02.02-14.05.21-21.07.03-2.38-.03-4.76.03-7.14.17-5.07-.04-10.14.14-15.21.1-2.99-.24-6.04.51-8.96.66-2.5 1.78-4.86 3.09-7.08 4.46-7.31 11.06-12.96 17.68-18.26 5.38-4.18 10.47-8.77 15.02-13.84 7.68-8.37 14.17-17.88 18.78-28.27 2.5-5.93 4.52-12.1 5.55-18.46.86-4.37 1.06-8.83 1.01-13.27-.02-7.85-1.4-15.65-3.64-23.17-1.75-5.73-4.27-11.18-7.09-16.45-3.87-6.93-8.65-13.31-13.96-19.2-9.94-10.85-21.75-19.94-34.6-27.1-1.85-1.02-3.84-1.82-5.63-2.97zm-100.8 58.45c.98-1.18 1.99-2.33 3.12-3.38-.61.93-1.27 1.81-1.95 2.68-3.1 3.88-5.54 8.31-7.03 13.06-.87 3.27-1.68 6.6-1.73 10-.07 2.52-.08 5.07.32 7.57 1.13 7.63 4.33 14.85 8.77 21.12 2 2.7 4.25 5.27 6.92 7.33 1.62 1.27 3.53 2.09 5.34 3.05 3.11 1.68 6.32 3.23 9.07 5.48 2.67 2.09 4.55 5.33 4.4 8.79-.01 73.67 0 147.34-.01 221.02 0 1.35-.08 2.7.04 4.04.13 1.48.82 2.83 1.47 4.15.86 1.66 1.78 3.34 3.18 4.62.85.77 1.97 1.4 3.15 1.24 1.5-.2 2.66-1.35 3.45-2.57.96-1.51 1.68-3.16 2.28-4.85.76-2.13.44-4.42.54-6.63.14-4.03-.02-8.06.14-12.09.03-5.89.03-11.77.06-17.66.14-3.62.03-7.24.11-10.86.15-4.03-.02-8.06.14-12.09.03-5.99.03-11.98.07-17.97.14-3.62.02-7.24.11-10.86.14-3.93-.02-7.86.14-11.78.03-5.99.03-11.98.06-17.97.16-3.94-.01-7.88.19-11.82.29 1.44.13 2.92.22 4.38.19 3.61.42 7.23.76 10.84.32 3.44.44 6.89.86 10.32.37 3.1.51 6.22.95 9.31.57 4.09.87 8.21 1.54 12.29 1.46 9.04 2.83 18.11 5.09 26.99 1.13 4.82 2.4 9.61 4 14.3 2.54 7.9 5.72 15.67 10.31 22.62 1.73 2.64 3.87 4.98 6.1 7.21.27.25.55.51.88.71.6.25 1.31-.07 1.7-.57.71-.88 1.17-1.94 1.7-2.93 4.05-7.8 8.18-15.56 12.34-23.31.7-1.31 1.44-2.62 2.56-3.61 1.75-1.57 3.84-2.69 5.98-3.63 2.88-1.22 5.9-2.19 9.03-2.42 6.58-.62 13.11.75 19.56 1.85 3.69.58 7.4 1.17 11.13 1.41 3.74.1 7.48.05 11.21-.28 8.55-.92 16.99-2.96 24.94-6.25 5.3-2.24 10.46-4.83 15.31-7.93 11.46-7.21 21.46-16.57 30.04-27.01 1.17-1.42 2.25-2.9 3.46-4.28-1.2 3.24-2.67 6.37-4.16 9.48-1.25 2.9-2.84 5.61-4.27 8.42-5.16 9.63-11.02 18.91-17.75 27.52-4.03 5.21-8.53 10.05-13.33 14.57-6.64 6.05-14.07 11.37-22.43 14.76-8.21 3.37-17.31 4.63-26.09 3.29-3.56-.58-7.01-1.69-10.41-2.88-2.79-.97-5.39-2.38-8.03-3.69-3.43-1.71-6.64-3.81-9.71-6.08 2.71 3.06 5.69 5.86 8.7 8.61 4.27 3.76 8.74 7.31 13.63 10.23 3.98 2.45 8.29 4.4 12.84 5.51 1.46.37 2.96.46 4.45.6-1.25 1.1-2.63 2.04-3.99 2.98-9.61 6.54-20.01 11.86-30.69 16.43-20.86 8.7-43.17 13.97-65.74 15.34-4.66.24-9.32.36-13.98.36-4.98-.11-9.97-.13-14.92-.65-11.2-.76-22.29-2.73-33.17-5.43-10.35-2.71-20.55-6.12-30.3-10.55-8.71-3.86-17.12-8.42-24.99-13.79-1.83-1.31-3.74-2.53-5.37-4.08 6.6-1.19 13.03-3.39 18.99-6.48 5.74-2.86 10.99-6.66 15.63-11.07 2.24-2.19 4.29-4.59 6.19-7.09-3.43 2.13-6.93 4.15-10.62 5.78-4.41 2.16-9.07 3.77-13.81 5.02-5.73 1.52-11.74 1.73-17.61 1.14-8.13-.95-15.86-4.27-22.51-8.98-4.32-2.94-8.22-6.43-11.96-10.06-9.93-10.16-18.2-21.81-25.66-33.86-3.94-6.27-7.53-12.75-11.12-19.22-1.05-2.04-2.15-4.05-3.18-6.1 2.85 2.92 5.57 5.97 8.43 8.88 8.99 8.97 18.56 17.44 29.16 24.48 7.55 4.9 15.67 9.23 24.56 11.03 3.11.73 6.32.47 9.47.81 2.77.28 5.56.2 8.34.3 5.05.06 10.11.04 15.16-.16 3.65-.16 7.27-.66 10.89-1.09 2.07-.25 4.11-.71 6.14-1.2 3.88-.95 8.11-.96 11.83.61 4.76 1.85 8.44 5.64 11.38 9.71 2.16 3.02 4.06 6.22 5.66 9.58 1.16 2.43 2.46 4.79 3.55 7.26 1 2.24 2.15 4.42 3.42 6.52.67 1.02 1.4 2.15 2.62 2.55 1.06-.75 1.71-1.91 2.28-3.03 2.1-4.16 3.42-8.65 4.89-13.05 2.02-6.59 3.78-13.27 5.19-20.02 2.21-9.25 3.25-18.72 4.54-28.13.56-3.98.83-7.99 1.31-11.97.87-10.64 1.9-21.27 2.24-31.94.08-1.86.24-3.71.25-5.57.01-4.35.25-8.69.22-13.03-.01-2.38-.01-4.76 0-7.13.05-5.07-.2-10.14-.22-15.21-.2-6.61-.71-13.2-1.29-19.78-.73-5.88-1.55-11.78-3.12-17.51-2.05-7.75-5.59-15.03-9.8-21.82-3.16-5.07-6.79-9.88-11.09-14.03-3.88-3.86-8.58-7.08-13.94-8.45-1.5-.41-3.06-.45-4.59-.64.07-2.99.7-5.93 1.26-8.85 1.59-7.71 3.8-15.3 6.76-22.6 1.52-4.03 3.41-7.9 5.39-11.72 3.45-6.56 7.62-12.79 12.46-18.46zm31.27 1.7c.35-.06.71-.12 1.07-.19.19 1.79.09 3.58.1 5.37v38.13c-.01 1.74.13 3.49-.15 5.22-.36-.03-.71-.05-1.06-.05-.95-3.75-1.72-7.55-2.62-11.31-.38-1.53-.58-3.09-1.07-4.59-1.7-.24-3.43-.17-5.15-.2-5.06-.01-10.13 0-15.19-.01-1.66-.01-3.32.09-4.98-.03-.03-.39-.26-.91.16-1.18 1.28-.65 2.72-.88 4.06-1.35 3.43-1.14 6.88-2.16 10.31-3.31 1.39-.48 2.9-.72 4.16-1.54.04-.56.02-1.13-.05-1.68-1.23-.55-2.53-.87-3.81-1.28-3.13-1.03-6.29-1.96-9.41-3.02-1.79-.62-3.67-1-5.41-1.79-.03-.37-.07-.73-.11-1.09 5.09-.19 10.2.06 15.3-.12 3.36-.13 6.73.08 10.09-.07.12-.39.26-.77.37-1.16 1.08-4.94 2.33-9.83 3.39-14.75zm5.97-.2c.36.05.72.12 1.08.2.98 3.85 1.73 7.76 2.71 11.61.36 1.42.56 2.88 1.03 4.27 2.53.18 5.07-.01 7.61.05 5.16.12 10.33.12 15.49.07.76-.01 1.52.03 2.28.08-.04.36-.07.72-.1 1.08-1.82.83-3.78 1.25-5.67 1.89-3.73 1.23-7.48 2.39-11.22 3.57-.57.17-1.12.42-1.67.64-.15.55-.18 1.12-.12 1.69.87.48 1.82.81 2.77 1.09 4.88 1.52 9.73 3.14 14.63 4.6.38.13.78.27 1.13.49.4.27.23.79.15 1.18-1.66.13-3.31.03-4.97.04-5.17.01-10.33-.01-15.5.01-1.61.03-3.22-.02-4.82.21-.52 1.67-.72 3.42-1.17 5.11-.94 3.57-1.52 7.24-2.54 10.78-.36.01-.71.02-1.06.06-.29-1.73-.15-3.48-.15-5.22v-38.13c.02-1.78-.08-3.58.11-5.37zM65.05 168.33c1.12-2.15 2.08-4.4 3.37-6.46-1.82 7.56-2.91 15.27-3.62 23-.8 7.71-.85 15.49-.54 23.23 1.05 19.94 5.54 39.83 14.23 57.88 2.99 5.99 6.35 11.83 10.5 17.11 6.12 7.47 12.53 14.76 19.84 21.09 4.8 4.1 9.99 7.78 15.54 10.8 3.27 1.65 6.51 3.39 9.94 4.68 5.01 2.03 10.19 3.61 15.42 4.94 3.83.96 7.78 1.41 11.52 2.71 5 1.57 9.47 4.61 13.03 8.43 4.93 5.23 8.09 11.87 10.2 18.67.99 2.9 1.59 5.91 2.17 8.92.15.75.22 1.52.16 2.29-6.5 2.78-13.26 5.06-20.26 6.18-4.11.78-8.29.99-12.46 1.08-10.25.24-20.47-1.76-30.12-5.12-3.74-1.42-7.49-2.85-11.03-4.72-8.06-3.84-15.64-8.7-22.46-14.46-2.92-2.55-5.83-5.13-8.4-8.03-9.16-9.83-16.3-21.41-21.79-33.65-2.39-5.55-4.61-11.18-6.37-16.96-1.17-3.94-2.36-7.89-3.26-11.91-.75-2.94-1.22-5.95-1.87-8.92-.46-2.14-.69-4.32-1.03-6.48-.85-5.43-1.28-10.93-1.33-16.43.11-6.18.25-12.37 1.07-18.5.4-2.86.67-5.74 1.15-8.6.98-5.7 2.14-11.37 3.71-16.93 3.09-11.65 7.48-22.95 12.69-33.84zm363.73-6.44c1.1 1.66 1.91 3.48 2.78 5.26 2.1 4.45 4.24 8.9 6.02 13.49 7.61 18.76 12.3 38.79 13.04 59.05.02 1.76.07 3.52.11 5.29.13 9.57-1.27 19.09-3.18 28.45-.73 3.59-1.54 7.17-2.58 10.69-4.04 14.72-10 29-18.41 41.78-8.21 12.57-19.01 23.55-31.84 31.41-5.73 3.59-11.79 6.64-18.05 9.19-5.78 2.19-11.71 4.03-17.8 5.11-6.4 1.05-12.91 1.52-19.4 1.23-7.92-.48-15.78-2.07-23.21-4.85-1.94-.8-3.94-1.46-5.84-2.33-.21-1.51.25-2.99.53-4.46 1.16-5.74 3.03-11.36 5.7-16.58 2.37-4.51 5.52-8.65 9.46-11.9 2.43-2.05 5.24-3.61 8.16-4.83 3.58-1.5 7.47-1.97 11.24-2.83 7.23-1.71 14.37-3.93 21.15-7 10.35-4.65 19.71-11.38 27.65-19.46 1.59-1.61 3.23-3.18 4.74-4.87 3.37-3.76 6.71-7.57 9.85-11.53 7.48-10.07 12.82-21.59 16.71-33.48 1.58-5.3 3.21-10.6 4.21-16.05.63-2.87 1.04-5.78 1.52-8.68.87-6.09 1.59-12.22 1.68-18.38.12-6.65.14-13.32-.53-19.94-.73-7.99-1.87-15.96-3.71-23.78z\"]\n};\nvar faOpencart = {\n prefix: 'fab',\n iconName: 'opencart',\n icon: [640, 512, [], \"f23d\", \"M423.3 440.7c0 25.3-20.3 45.6-45.6 45.6s-45.8-20.3-45.8-45.6 20.6-45.8 45.8-45.8c25.4 0 45.6 20.5 45.6 45.8zm-253.9-45.8c-25.3 0-45.6 20.6-45.6 45.8s20.3 45.6 45.6 45.6 45.8-20.3 45.8-45.6-20.5-45.8-45.8-45.8zm291.7-270C158.9 124.9 81.9 112.1 0 25.7c34.4 51.7 53.3 148.9 373.1 144.2 333.3-5 130 86.1 70.8 188.9 186.7-166.7 319.4-233.9 17.2-233.9z\"]\n};\nvar faOpenid = {\n prefix: 'fab',\n iconName: 'openid',\n icon: [448, 512, [], \"f19b\", \"M271.5 432l-68 32C88.5 453.7 0 392.5 0 318.2c0-71.5 82.5-131 191.7-144.3v43c-71.5 12.5-124 53-124 101.3 0 51 58.5 93.3 135.7 103v-340l68-33.2v384zM448 291l-131.3-28.5 36.8-20.7c-19.5-11.5-43.5-20-70-24.8v-43c46.2 5.5 87.7 19.5 120.3 39.3l35-19.8L448 291z\"]\n};\nvar faOpera = {\n prefix: 'fab',\n iconName: 'opera',\n icon: [496, 512, [], \"f26a\", \"M313.9 32.7c-170.2 0-252.6 223.8-147.5 355.1 36.5 45.4 88.6 75.6 147.5 75.6 36.3 0 70.3-11.1 99.4-30.4-43.8 39.2-101.9 63-165.3 63-3.9 0-8 0-11.9-.3C104.6 489.6 0 381.1 0 248 0 111 111 0 248 0h.8c63.1.3 120.7 24.1 164.4 63.1-29-19.4-63.1-30.4-99.3-30.4zm101.8 397.7c-40.9 24.7-90.7 23.6-132-5.8 56.2-20.5 97.7-91.6 97.7-176.6 0-84.7-41.2-155.8-97.4-176.6 41.8-29.2 91.2-30.3 132.9-5 105.9 98.7 105.5 265.7-1.2 364z\"]\n};\nvar faOptinMonster = {\n prefix: 'fab',\n iconName: 'optin-monster',\n icon: [576, 512, [], \"f23c\", \"M572.6 421.4c5.6-9.5 4.7-15.2-5.4-11.6-3-4.9-7-9.5-11.1-13.8 2.9-9.7-.7-14.2-10.8-9.2-4.6-3.2-10.3-6.5-15.9-9.2 0-15.1-11.6-11.6-17.6-5.7-10.4-1.5-18.7-.3-26.8 5.7.3-6.5.3-13 .3-19.7 12.6 0 40.2-11 45.9-36.2 1.4-6.8 1.6-13.8-.3-21.9-3-13.5-14.3-21.3-25.1-25.7-.8-5.9-7.6-14.3-14.9-15.9s-12.4 4.9-14.1 10.3c-8.5 0-19.2 2.8-21.1 8.4-5.4-.5-11.1-1.4-16.8-1.9 2.7-1.9 5.4-3.5 8.4-4.6 5.4-9.2 14.6-11.4 25.7-11.6V256c19.5-.5 43-5.9 53.8-18.1 12.7-13.8 14.6-37.3 12.4-55.1-2.4-17.3-9.7-37.6-24.6-48.1-8.4-5.9-21.6-.8-22.7 9.5-2.2 19.6 1.2 30-38.6 25.1-10.3-23.8-24.6-44.6-42.7-60C341 49.6 242.9 55.5 166.4 71.7c19.7 4.6 41.1 8.6 59.7 16.5-26.2 2.4-52.7 11.3-76.2 23.2-32.8 17-44 29.9-56.7 42.4 14.9-2.2 28.9-5.1 43.8-3.8-9.7 5.4-18.4 12.2-26.5 20-25.8.9-23.8-5.3-26.2-25.9-1.1-10.5-14.3-15.4-22.7-9.7-28.1 19.9-33.5 79.9-12.2 103.5 10.8 12.2 35.1 17.3 54.9 17.8-.3 1.1-.3 1.9-.3 2.7 10.8.5 19.5 2.7 24.6 11.6 3 1.1 5.7 2.7 8.1 4.6-5.4.5-11.1 1.4-16.5 1.9-3.3-6.6-13.7-8.1-21.1-8.1-1.6-5.7-6.5-12.2-14.1-10.3-6.8 1.9-14.1 10-14.9 15.9-22.5 9.5-30.1 26.8-25.1 47.6 5.3 24.8 33 36.2 45.9 36.2v19.7c-6.6-5-14.3-7.5-26.8-5.7-5.5-5.5-17.3-10.1-17.3 5.7-5.9 2.7-11.4 5.9-15.9 9.2-9.8-4.9-13.6-1.7-11.1 9.2-4.1 4.3-7.8 8.6-11.1 13.8-10.2-3.7-11 2.2-5.4 11.6-1.1 3.5-1.6 7-1.9 10.8-.5 31.6 44.6 64 73.5 65.1 17.3.5 34.6-8.4 43-23.5 113.2 4.9 226.7 4.1 340.2 0 8.1 15.1 25.4 24.3 42.7 23.5 29.2-1.1 74.3-33.5 73.5-65.1.2-3.7-.7-7.2-1.7-10.7zm-73.8-254c1.1-3 2.4-8.4 2.4-14.6 0-5.9 6.8-8.1 14.1-.8 11.1 11.6 14.9 40.5 13.8 51.1-4.1-13.6-13-29-30.3-35.7zm-4.6 6.7c19.5 6.2 28.6 27.6 29.7 48.9-1.1 2.7-3 5.4-4.9 7.6-5.7 5.9-15.4 10-26.2 12.2 4.3-21.3.3-47.3-12.7-63 4.9-.8 10.9-2.4 14.1-5.7zm-24.1 6.8c13.8 11.9 20 39.2 14.1 63.5-4.1.5-8.1.8-11.6.8-1.9-21.9-6.8-44-14.3-64.6 3.7.3 8.1.3 11.8.3zM47.5 203c-1.1-10.5 2.4-39.5 13.8-51.1 7-7.3 14.1-5.1 14.1.8 0 6.2 1.4 11.6 2.4 14.6-17.3 6.8-26.2 22.2-30.3 35.7zm9.7 27.6c-1.9-2.2-3.5-4.9-4.9-7.6 1.4-21.3 10.3-42.7 29.7-48.9 3.2 3.2 9.2 4.9 14.1 5.7-13 15.7-17 41.6-12.7 63-10.8-2.2-20.5-6-26.2-12.2zm47.9 14.6c-4.1 0-8.1-.3-12.7-.8-4.6-18.6-1.9-38.9 5.4-53v.3l12.2-5.1c4.9-1.9 9.7-3.8 14.9-4.9-10.7 19.7-17.4 41.3-19.8 63.5zm184-162.7c41.9 0 76.2 34 76.2 75.9 0 42.2-34.3 76.2-76.2 76.2s-76.2-34-76.2-76.2c0-41.8 34.3-75.9 76.2-75.9zm115.6 174.3c-.3 17.8-7 48.9-23 57-13.2 6.6-6.5-7.5-16.5-58.1 13.3.3 26.6.3 39.5 1.1zm-54-1.6c.8 4.9 3.8 40.3-1.6 41.9-11.6 3.5-40 4.3-51.1-1.1-4.1-3-4.6-35.9-4.3-41.1v.3c18.9-.3 38.1-.3 57 0zM278.3 309c-13 3.5-41.6 4.1-54.6-1.6-6.5-2.7-3.8-42.4-1.9-51.6 19.2-.5 38.4-.5 57.8-.8v.3c1.1 8.3 3.3 51.2-1.3 53.7zm-106.5-51.1c12.2-.8 24.6-1.4 36.8-1.6-2.4 15.4-3 43.5-4.9 52.2-1.1 6.8-4.3 6.8-9.7 4.3-21.9-9.8-27.6-35.2-22.2-54.9zm-35.4 31.3c7.8-1.1 15.7-1.9 23.5-2.7 1.6 6.2 3.8 11.9 7 17.6 10 17 44 35.7 45.1 7 6.2 14.9 40.8 12.2 54.9 10.8 15.7-1.4 23.8-1.4 26.8-14.3 12.4 4.3 30.8 4.1 44 3 11.3-.8 20.8-.5 24.6-8.9 1.1 5.1 1.9 11.6 4.6 16.8 10.8 21.3 37.3 1.4 46.8-31.6 8.6.8 17.6 1.9 26.5 2.7-.4 1.3-3.8 7.3 7.3 11.6-47.6 47-95.7 87.8-163.2 107-63.2-20.8-112.1-59.5-155.9-106.5 9.6-3.4 10.4-8.8 8-12.5zm-21.6 172.5c-3.8 17.8-21.9 29.7-39.7 28.9-19.2-.8-46.5-17-59.2-36.5-2.7-31.1 43.8-61.3 66.2-54.6 14.9 4.3 27.8 30.8 33.5 54 0 3-.3 5.7-.8 8.2zm-8.7-66c-.5-13.5-.5-27-.3-40.5h.3c2.7-1.6 5.7-3.8 7.8-6.5 6.5-1.6 13-5.1 15.1-9.2 3.3-7.1-7-7.5-5.4-12.4 2.7-1.1 5.7-2.2 7.8-3.5 29.2 29.2 58.6 56.5 97.3 77-36.8 11.3-72.4 27.6-105.9 47-1.2-18.6-7.7-35.9-16.7-51.9zm337.6 64.6c-103 3.5-206.2 4.1-309.4 0 0 .3 0 .3-.3.3v-.3h.3c35.1-21.6 72.2-39.2 112.4-50.8 11.6 5.1 23 9.5 34.9 13.2 2.2.8 2.2.8 4.3 0 14.3-4.1 28.4-9.2 42.2-15.4 41.5 11.7 78.8 31.7 115.6 53zm10.5-12.4c-35.9-19.5-73-35.9-111.9-47.6 38.1-20 71.9-47.3 103.5-76.7 2.2 1.4 4.6 2.4 7.6 3.2 0 .8.3 1.9.5 2.4-4.6 2.7-7.8 6.2-5.9 10.3 2.2 3.8 8.6 7.6 15.1 8.9 2.4 2.7 5.1 5.1 8.1 6.8 0 13.8-.3 27.6-.8 41.3l.3-.3c-9.3 15.9-15.5 37-16.5 51.7zm105.9 6.2c-12.7 19.5-40 35.7-59.2 36.5-19.3.9-40.5-13.2-40.5-37 5.7-23.2 18.9-49.7 33.5-54 22.7-6.9 69.2 23.4 66.2 54.5zM372.9 75.2c-3.8-72.1-100.8-79.7-126-23.5 44.6-24.3 90.3-15.7 126 23.5zM74.8 407.1c-15.7 1.6-49.5 25.4-49.5 43.2 0 11.6 15.7 19.5 32.2 14.9 12.2-3.2 31.1-17.6 35.9-27.3 6-11.6-3.7-32.7-18.6-30.8zm215.9-176.2c28.6 0 51.9-21.6 51.9-48.4 0-36.1-40.5-58.1-72.2-44.3 9.5 3 16.5 11.6 16.5 21.6 0 23.3-33.3 32-46.5 11.3-7.3 34.1 19.4 59.8 50.3 59.8zM68 474.1c.5 6.5 12.2 12.7 21.6 9.5 6.8-2.7 14.6-10.5 17.3-16.2 3-7-1.1-20-9.7-18.4-8.9 1.6-29.7 16.7-29.2 25.1zm433.2-67c-14.9-1.9-24.6 19.2-18.9 30.8 4.9 9.7 24.1 24.1 36.2 27.3 16.5 4.6 32.2-3.2 32.2-14.9 0-17.8-33.8-41.6-49.5-43.2zM478.8 449c-8.4-1.6-12.4 11.3-9.5 18.4 2.4 5.7 10.3 13.5 17.3 16.2 9.2 3.2 21.1-3 21.3-9.5.9-8.4-20.2-23.5-29.1-25.1z\"]\n};\nvar faOrcid = {\n prefix: 'fab',\n iconName: 'orcid',\n icon: [512, 512, [], \"f8d2\", \"M294.75 188.19h-45.92V342h47.47c67.62 0 83.12-51.34 83.12-76.91 0-41.64-26.54-76.9-84.67-76.9zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-80.79 360.76h-29.84v-207.5h29.84zm-14.92-231.14a19.57 19.57 0 1 1 19.57-19.57 19.64 19.64 0 0 1-19.57 19.57zM300 369h-81V161.26h80.6c76.73 0 110.44 54.83 110.44 103.85C410 318.39 368.38 369 300 369z\"]\n};\nvar faOsi = {\n prefix: 'fab',\n iconName: 'osi',\n icon: [512, 512, [], \"f41a\", \"M8 266.44C10.3 130.64 105.4 34 221.8 18.34c138.8-18.6 255.6 75.8 278 201.1 21.3 118.8-44 230-151.6 274-9.3 3.8-14.4 1.7-18-7.7q-26.7-69.45-53.4-139c-3.1-8.1-1-13.2 7-16.8 24.2-11 39.3-29.4 43.3-55.8a71.47 71.47 0 0 0-64.5-82.2c-39-3.4-71.8 23.7-77.5 59.7-5.2 33 11.1 63.7 41.9 77.7 9.6 4.4 11.5 8.6 7.8 18.4q-26.85 69.9-53.7 139.9c-2.6 6.9-8.3 9.3-15.5 6.5-52.6-20.3-101.4-61-130.8-119-24.9-49.2-25.2-87.7-26.8-108.7zm20.9-1.9c.4 6.6.6 14.3 1.3 22.1 6.3 71.9 49.6 143.5 131 183.1 3.2 1.5 4.4.8 5.6-2.3q22.35-58.65 45-117.3c1.3-3.3.6-4.8-2.4-6.7-31.6-19.9-47.3-48.5-45.6-86 1-21.6 9.3-40.5 23.8-56.3 30-32.7 77-39.8 115.5-17.6a91.64 91.64 0 0 1 45.2 90.4c-3.6 30.6-19.3 53.9-45.7 69.8-2.7 1.6-3.5 2.9-2.3 6q22.8 58.8 45.2 117.7c1.2 3.1 2.4 3.8 5.6 2.3 35.5-16.6 65.2-40.3 88.1-72 34.8-48.2 49.1-101.9 42.3-161-13.7-117.5-119.4-214.8-255.5-198-106.1 13-195.3 102.5-197.1 225.8z\"]\n};\nvar faPage4 = {\n prefix: 'fab',\n iconName: 'page4',\n icon: [496, 512, [], \"f3d7\", \"M248 504C111 504 0 393 0 256S111 8 248 8c20.9 0 41.3 2.6 60.7 7.5L42.3 392H248v112zm0-143.6V146.8L98.6 360.4H248zm96 31.6v92.7c45.7-19.2 84.5-51.7 111.4-92.7H344zm57.4-138.2l-21.2 8.4 21.2 8.3v-16.7zm-20.3 54.5c-6.7 0-8 6.3-8 12.9v7.7h16.2v-10c0-5.9-2.3-10.6-8.2-10.6zM496 256c0 37.3-8.2 72.7-23 104.4H344V27.3C433.3 64.8 496 153.1 496 256zM360.4 143.6h68.2V96h-13.9v32.6h-13.9V99h-13.9v29.6h-12.7V96h-13.9v47.6zm68.1 185.3H402v-11c0-15.4-5.6-25.2-20.9-25.2-15.4 0-20.7 10.6-20.7 25.9v25.3h68.2v-15zm0-103l-68.2 29.7V268l68.2 29.5v-16.6l-14.4-5.7v-26.5l14.4-5.9v-16.9zm-4.8-68.5h-35.6V184H402v-12.2h11c8.6 15.8 1.3 35.3-18.6 35.3-22.5 0-28.3-25.3-15.5-37.7l-11.6-10.6c-16.2 17.5-12.2 63.9 27.1 63.9 34 0 44.7-35.9 29.3-65.3z\"]\n};\nvar faPagelines = {\n prefix: 'fab',\n iconName: 'pagelines',\n icon: [384, 512, [], \"f18c\", \"M384 312.7c-55.1 136.7-187.1 54-187.1 54-40.5 81.8-107.4 134.4-184.6 134.7-16.1 0-16.6-24.4 0-24.4 64.4-.3 120.5-42.7 157.2-110.1-41.1 15.9-118.6 27.9-161.6-82.2 109-44.9 159.1 11.2 178.3 45.5 9.9-24.4 17-50.9 21.6-79.7 0 0-139.7 21.9-149.5-98.1 119.1-47.9 152.6 76.7 152.6 76.7 1.6-16.7 3.3-52.6 3.3-53.4 0 0-106.3-73.7-38.1-165.2 124.6 43 61.4 162.4 61.4 162.4.5 1.6.5 23.8 0 33.4 0 0 45.2-89 136.4-57.5-4.2 134-141.9 106.4-141.9 106.4-4.4 27.4-11.2 53.4-20 77.5 0 0 83-91.8 172-20z\"]\n};\nvar faPalfed = {\n prefix: 'fab',\n iconName: 'palfed',\n icon: [576, 512, [], \"f3d8\", \"M384.9 193.9c0-47.4-55.2-44.2-95.4-29.8-1.3 39.4-2.5 80.7-3 119.8.7 2.8 2.6 6.2 15.1 6.2 36.8 0 83.4-42.8 83.3-96.2zm-194.5 72.2c.2 0 6.5-2.7 11.2-2.7 26.6 0 20.7 44.1-14.4 44.1-21.5 0-37.1-18.1-37.1-43 0-42 42.9-95.6 100.7-126.5 1-12.4 3-22 10.5-28.2 11.2-9 26.6-3.5 29.5 11.1 72.2-22.2 135.2 1 135.2 72 0 77.9-79.3 152.6-140.1 138.2-.1 39.4.9 74.4 2.7 100v.2c.2 3.4.6 12.5-5.3 19.1-9.6 10.6-33.4 10-36.4-22.3-4.1-44.4.2-206.1 1.4-242.5-21.5 15-58.5 50.3-58.5 75.9.2 2.5.4 4 .6 4.6zM8 181.1s-.1 37.4 38.4 37.4h30l22.4 217.2s0 44.3 44.7 44.3h288.9s44.7-.4 44.7-44.3l22.4-217.2h30s38.4 1.2 38.4-37.4c0 0 .1-37.4-38.4-37.4h-30.1c-7.3-25.6-30.2-74.3-119.4-74.3h-28V50.3s-2.7-18.4-21.1-18.4h-85.8s-21.1 0-21.1 18.4v19.1h-28.1s-105 4.2-120.5 74.3h-29S8 142.5 8 181.1z\"]\n};\nvar faPatreon = {\n prefix: 'fab',\n iconName: 'patreon',\n icon: [512, 512, [], \"f3d9\", \"M512 194.8c0 101.3-82.4 183.8-183.8 183.8-101.7 0-184.4-82.4-184.4-183.8 0-101.6 82.7-184.3 184.4-184.3C429.6 10.5 512 93.2 512 194.8zM0 501.5h90v-491H0v491z\"]\n};\nvar faPaypal = {\n prefix: 'fab',\n iconName: 'paypal',\n icon: [384, 512, [], \"f1ed\", \"M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z\"]\n};\nvar faPennyArcade = {\n prefix: 'fab',\n iconName: 'penny-arcade',\n icon: [640, 512, [], \"f704\", \"M421.91 164.27c-4.49 19.45-1.4 6.06-15.1 65.29l39.73-10.61c-22.34-49.61-17.29-38.41-24.63-54.68zm-206.09 51.11c-20.19 5.4-11.31 3.03-39.63 10.58l4.46 46.19c28.17-7.59 20.62-5.57 34.82-9.34 42.3-9.79 32.85-56.42.35-47.43zm326.16-26.19l-45.47-99.2c-5.69-12.37-19.46-18.84-32.62-15.33-70.27 18.75-38.72 10.32-135.59 36.23a27.618 27.618 0 0 0-18.89 17.41C144.26 113.27 0 153.75 0 226.67c0 33.5 30.67 67.11 80.9 95.37l1.74 17.88a27.891 27.891 0 0 0-17.77 28.67l4.3 44.48c1.39 14.31 13.43 25.21 27.8 25.2 5.18-.01-3.01 1.78 122.53-31.76 12.57-3.37 21.12-15.02 20.58-28.02 216.59 45.5 401.99-5.98 399.89-84.83.01-28.15-22.19-66.56-97.99-104.47zM255.14 298.3l-21.91 5.88-48.44 12.91 2.46 23.55 20.53-5.51 4.51 44.51-115.31 30.78-4.3-44.52 20.02-5.35-11.11-114.64-20.12 5.39-4.35-44.5c178.15-47.54 170.18-46.42 186.22-46.65 56.66-1.13 64.15 71.84 42.55 104.43a86.7 86.7 0 0 1-50.75 33.72zm199.18 16.62l-3.89-39.49 14.9-3.98-6.61-14.68-57.76 15.42-4.1 17.54 19.2-5.12 4.05 39.54-112.85 30.07-4.46-44.43 20.99-5.59 33.08-126.47-17.15 4.56-4.2-44.48c93.36-24.99 65.01-17.41 135.59-36.24l66.67 145.47 20.79-5.56 4.3 44.48-108.55 28.96z\"]\n};\nvar faPerbyte = {\n prefix: 'fab',\n iconName: 'perbyte',\n icon: [448, 512, [], \"e083\", \"M305.314,284.578H246.6V383.3h58.711q24.423,0,38.193-13.77t13.77-36.11q0-21.826-14.032-35.335T305.314,284.578ZM149.435,128.7H90.724v98.723h58.711q24.42,0,38.19-13.773t13.77-36.107q0-21.826-14.029-35.338T149.435,128.7ZM366.647,32H81.353A81.445,81.445,0,0,0,0,113.352V398.647A81.445,81.445,0,0,0,81.353,480H366.647A81.445,81.445,0,0,0,448,398.647V113.352A81.445,81.445,0,0,0,366.647,32Zm63.635,366.647a63.706,63.706,0,0,1-63.635,63.635H81.353a63.706,63.706,0,0,1-63.635-63.635V113.352A63.706,63.706,0,0,1,81.353,49.718H366.647a63.706,63.706,0,0,1,63.635,63.634ZM305.314,128.7H246.6v98.723h58.711q24.423,0,38.193-13.773t13.77-36.107q0-21.826-14.032-35.338T305.314,128.7Z\"]\n};\nvar faPeriscope = {\n prefix: 'fab',\n iconName: 'periscope',\n icon: [448, 512, [], \"f3da\", \"M370 63.6C331.4 22.6 280.5 0 226.6 0 111.9 0 18.5 96.2 18.5 214.4c0 75.1 57.8 159.8 82.7 192.7C137.8 455.5 192.6 512 226.6 512c41.6 0 112.9-94.2 120.9-105 24.6-33.1 82-118.3 82-192.6 0-56.5-21.1-110.1-59.5-150.8zM226.6 493.9c-42.5 0-190-167.3-190-279.4 0-107.4 83.9-196.3 190-196.3 100.8 0 184.7 89 184.7 196.3.1 112.1-147.4 279.4-184.7 279.4zM338 206.8c0 59.1-51.1 109.7-110.8 109.7-100.6 0-150.7-108.2-92.9-181.8v.4c0 24.5 20.1 44.4 44.8 44.4 24.7 0 44.8-19.9 44.8-44.4 0-18.2-11.1-33.8-26.9-40.7 76.6-19.2 141 39.3 141 112.4z\"]\n};\nvar faPhabricator = {\n prefix: 'fab',\n iconName: 'phabricator',\n icon: [496, 512, [], \"f3db\", \"M323 262.1l-.1-13s21.7-19.8 21.1-21.2l-9.5-20c-.6-1.4-29.5-.5-29.5-.5l-9.4-9.3s.2-28.5-1.2-29.1l-20.1-9.2c-1.4-.6-20.7 21-20.7 21l-13.1-.2s-20.5-21.4-21.9-20.8l-20 8.3c-1.4.5.2 28.9.2 28.9l-9.1 9.1s-29.2-.9-29.7.4l-8.1 19.8c-.6 1.4 21 21 21 21l.1 12.9s-21.7 19.8-21.1 21.2l9.5 20c.6 1.4 29.5.5 29.5.5l9.4 9.3s-.2 31.8 1.2 32.3l20.1 8.3c1.4.6 20.7-23.5 20.7-23.5l13.1.2s20.5 23.8 21.8 23.3l20-7.5c1.4-.6-.2-32.1-.2-32.1l9.1-9.1s29.2.9 29.7-.5l8.1-19.8c.7-1.1-20.9-20.7-20.9-20.7zm-44.9-8.7c.7 17.1-12.8 31.6-30.1 32.4-17.3.8-32.1-12.5-32.8-29.6-.7-17.1 12.8-31.6 30.1-32.3 17.3-.8 32.1 12.5 32.8 29.5zm201.2-37.9l-97-97-.1.1c-75.1-73.3-195.4-72.8-269.8 1.6-50.9 51-27.8 27.9-95.7 95.3-22.3 22.3-22.3 58.7 0 81 69.9 69.4 46.4 46 97.4 97l.1-.1c75.1 73.3 195.4 72.9 269.8-1.6 51-50.9 27.9-27.9 95.3-95.3 22.3-22.3 22.3-58.7 0-81zM140.4 363.8c-59.6-59.5-59.6-156 0-215.5 59.5-59.6 156-59.5 215.6 0 59.5 59.5 59.6 156 0 215.6-59.6 59.5-156 59.4-215.6-.1z\"]\n};\nvar faPhoenixFramework = {\n prefix: 'fab',\n iconName: 'phoenix-framework',\n icon: [640, 512, [], \"f3dc\", \"M212.9 344.3c3.8-.1 22.8-1.4 25.6-2.2-2.4-2.6-43.6-1-68-49.6-4.3-8.6-7.5-17.6-6.4-27.6 2.9-25.5 32.9-30 52-18.5 36 21.6 63.3 91.3 113.7 97.5 37 4.5 84.6-17 108.2-45.4-.6-.1-.8-.2-1-.1-.4.1-.8.2-1.1.3-33.3 12.1-94.3 9.7-134.7-14.8-37.6-22.8-53.1-58.7-51.8-74.6 1.8-21.3 22.9-23.2 35.9-19.6 14.4 3.9 24.4 17.6 38.9 27.4 15.6 10.4 32.9 13.7 51.3 10.3 14.9-2.7 34.4-12.3 36.5-14.5-1.1-.1-1.8-.1-2.5-.2-6.2-.6-12.4-.8-18.5-1.7C279.8 194.5 262.1 47.4 138.5 37.9 94.2 34.5 39.1 46 2.2 72.9c-.8.6-1.5 1.2-2.2 1.8.1.2.1.3.2.5.8 0 1.6-.1 2.4-.2 6.3-1 12.5-.8 18.7.3 23.8 4.3 47.7 23.1 55.9 76.5 5.3 34.3-.7 50.8 8 86.1 19 77.1 91 107.6 127.7 106.4zM75.3 64.9c-.9-1-.9-1.2-1.3-2 12.1-2.6 24.2-4.1 36.6-4.8-1.1 14.7-22.2 21.3-35.3 6.8zm196.9 350.5c-42.8 1.2-92-26.7-123.5-61.4-4.6-5-16.8-20.2-18.6-23.4l.4-.4c6.6 4.1 25.7 18.6 54.8 27 24.2 7 48.1 6.3 71.6-3.3 22.7-9.3 41-.5 43.1 2.9-18.5 3.8-20.1 4.4-24 7.9-5.1 4.4-4.6 11.7 7 17.2 26.2 12.4 63-2.8 97.2 25.4 2.4 2 8.1 7.8 10.1 10.7-.1.2-.3.3-.4.5-4.8-1.5-16.4-7.5-40.2-9.3-24.7-2-46.3 5.3-77.5 6.2zm174.8-252c16.4-5.2 41.3-13.4 66.5-3.3 16.1 6.5 26.2 18.7 32.1 34.6 3.5 9.4 5.1 19.7 5.1 28.7-.2 0-.4 0-.6.1-.2-.4-.4-.9-.5-1.3-5-22-29.9-43.8-67.6-29.9-50.2 18.6-130.4 9.7-176.9-48-.7-.9-2.4-1.7-1.3-3.2.1-.2 2.1.6 3 1.3 18.1 13.4 38.3 21.9 60.3 26.2 30.5 6.1 54.6 2.9 79.9-5.2zm102.7 117.5c-32.4.2-33.8 50.1-103.6 64.4-18.2 3.7-38.7 4.6-44.9 4.2v-.4c2.8-1.5 14.7-2.6 29.7-16.6 7.9-7.3 15.3-15.1 22.8-22.9 19.5-20.2 41.4-42.2 81.9-39 23.1 1.8 29.3 8.2 36.1 12.7.3.2.4.5.7.9-.5 0-.7.1-.9 0-7-2.7-14.3-3.3-21.8-3.3zm-12.3-24.1c-.1.2-.1.4-.2.6-28.9-4.4-48-7.9-68.5 4-17 9.9-31.4 20.5-62 24.4-27.1 3.4-45.1 2.4-66.1-8-.3-.2-.6-.4-1-.6 0-.2.1-.3.1-.5 24.9 3.8 36.4 5.1 55.5-5.8 22.3-12.9 40.1-26.6 71.3-31 29.6-4.1 51.3 2.5 70.9 16.9zM268.6 97.3c-.6-.6-1.1-1.2-2.1-2.3 7.6 0 29.7-1.2 53.4 8.4 19.7 8 32.2 21 50.2 32.9 11.1 7.3 23.4 9.3 36.4 8.1 4.3-.4 8.5-1.2 12.8-1.7.4-.1.9 0 1.5.3-.6.4-1.2.9-1.8 1.2-8.1 4-16.7 6.3-25.6 7.1-26.1 2.6-50.3-3.7-73.4-15.4-19.3-9.9-36.4-22.9-51.4-38.6zM640 335.7c-3.5 3.1-22.7 11.6-42.7 5.3-12.3-3.9-19.5-14.9-31.6-24.1-10-7.6-20.9-7.9-28.1-8.4.6-.8.9-1.2 1.2-1.4 14.8-9.2 30.5-12.2 47.3-6.5 12.5 4.2 19.2 13.5 30.4 24.2 10.8 10.4 21 9.9 23.1 10.5.1-.1.2 0 .4.4zm-212.5 137c2.2 1.2 1.6 1.5 1.5 2-18.5-1.4-33.9-7.6-46.8-22.2-21.8-24.7-41.7-27.9-48.6-29.7.5-.2.8-.4 1.1-.4 13.1.1 26.1.7 38.9 3.9 25.3 6.4 35 25.4 41.6 35.3 3.2 4.8 7.3 8.3 12.3 11.1z\"]\n};\nvar faPhoenixSquadron = {\n prefix: 'fab',\n iconName: 'phoenix-squadron',\n icon: [512, 512, [], \"f511\", \"M96 63.38C142.49 27.25 201.55 7.31 260.51 8.81c29.58-.38 59.11 5.37 86.91 15.33-24.13-4.63-49-6.34-73.38-2.45C231.17 27 191 48.84 162.21 80.87c5.67-1 10.78-3.67 16-5.86 18.14-7.87 37.49-13.26 57.23-14.83 19.74-2.13 39.64-.43 59.28 1.92-14.42 2.79-29.12 4.57-43 9.59-34.43 11.07-65.27 33.16-86.3 62.63-13.8 19.71-23.63 42.86-24.67 67.13-.35 16.49 5.22 34.81 19.83 44a53.27 53.27 0 0 0 37.52 6.74c15.45-2.46 30.07-8.64 43.6-16.33 11.52-6.82 22.67-14.55 32-24.25 3.79-3.22 2.53-8.45 2.62-12.79-2.12-.34-4.38-1.11-6.3.3a203 203 0 0 1-35.82 15.37c-20 6.17-42.16 8.46-62.1.78 12.79 1.73 26.06.31 37.74-5.44 20.23-9.72 36.81-25.2 54.44-38.77a526.57 526.57 0 0 1 88.9-55.31c25.71-12 52.94-22.78 81.57-24.12-15.63 13.72-32.15 26.52-46.78 41.38-14.51 14-27.46 29.5-40.11 45.18-3.52 4.6-8.95 6.94-13.58 10.16a150.7 150.7 0 0 0-51.89 60.1c-9.33 19.68-14.5 41.85-11.77 63.65 1.94 13.69 8.71 27.59 20.9 34.91 12.9 8 29.05 8.07 43.48 5.1 32.8-7.45 61.43-28.89 81-55.84 20.44-27.52 30.52-62.2 29.16-96.35-.52-7.5-1.57-15-1.66-22.49 8 19.48 14.82 39.71 16.65 60.83 2 14.28.75 28.76-1.62 42.9-1.91 11-5.67 21.51-7.78 32.43a165 165 0 0 0 39.34-81.07 183.64 183.64 0 0 0-14.21-104.64c20.78 32 32.34 69.58 35.71 107.48.49 12.73.49 25.51 0 38.23A243.21 243.21 0 0 1 482 371.34c-26.12 47.34-68 85.63-117.19 108-78.29 36.23-174.68 31.32-248-14.68A248.34 248.34 0 0 1 25.36 366 238.34 238.34 0 0 1 0 273.08v-31.34C3.93 172 40.87 105.82 96 63.38m222 80.33a79.13 79.13 0 0 0 16-4.48c5-1.77 9.24-5.94 10.32-11.22-8.96 4.99-17.98 9.92-26.32 15.7z\"]\n};\nvar faPhp = {\n prefix: 'fab',\n iconName: 'php',\n icon: [640, 512, [], \"f457\", \"M320 104.5c171.4 0 303.2 72.2 303.2 151.5S491.3 407.5 320 407.5c-171.4 0-303.2-72.2-303.2-151.5S148.7 104.5 320 104.5m0-16.8C143.3 87.7 0 163 0 256s143.3 168.3 320 168.3S640 349 640 256 496.7 87.7 320 87.7zM218.2 242.5c-7.9 40.5-35.8 36.3-70.1 36.3l13.7-70.6c38 0 63.8-4.1 56.4 34.3zM97.4 350.3h36.7l8.7-44.8c41.1 0 66.6 3 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7h-70.7L97.4 350.3zm185.7-213.6h36.5l-8.7 44.8c31.5 0 60.7-2.3 74.8 10.7 14.8 13.6 7.7 31-8.3 113.1h-37c15.4-79.4 18.3-86 12.7-92-5.4-5.8-17.7-4.6-47.4-4.6l-18.8 96.6h-36.5l32.7-168.6zM505 242.5c-8 41.1-36.7 36.3-70.1 36.3l13.7-70.6c38.2 0 63.8-4.1 56.4 34.3zM384.2 350.3H421l8.7-44.8c43.2 0 67.1 2.5 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7H417l-32.8 168.7z\"]\n};\nvar faPiedPiper = {\n prefix: 'fab',\n iconName: 'pied-piper',\n icon: [480, 512, [], \"f2ae\", \"M455.93,23.2C429.23,30,387.79,51.69,341.35,90.66A206,206,0,0,0,240,64C125.13,64,32,157.12,32,272s93.13,208,208,208,208-93.13,208-208a207.25,207.25,0,0,0-58.75-144.81,155.35,155.35,0,0,0-17,27.4A176.16,176.16,0,0,1,417.1,272c0,97.66-79.44,177.11-177.09,177.11a175.81,175.81,0,0,1-87.63-23.4c82.94-107.33,150.79-37.77,184.31-226.65,5.79-32.62,28-94.26,126.23-160.18C471,33.45,465.35,20.8,455.93,23.2ZM125,406.4A176.66,176.66,0,0,1,62.9,272C62.9,174.34,142.35,94.9,240,94.9a174,174,0,0,1,76.63,17.75C250.64,174.76,189.77,265.52,125,406.4Z\"]\n};\nvar faPiedPiperAlt = {\n prefix: 'fab',\n iconName: 'pied-piper-alt',\n icon: [576, 512, [], \"f1a8\", \"M244 246c-3.2-2-6.3-2.9-10.1-2.9-6.6 0-12.6 3.2-19.3 3.7l1.7 4.9zm135.9 197.9c-19 0-64.1 9.5-79.9 19.8l6.9 45.1c35.7 6.1 70.1 3.6 106-9.8-4.8-10-23.5-55.1-33-55.1zM340.8 177c6.6 2.8 11.5 9.2 22.7 22.1 2-1.4 7.5-5.2 7.5-8.6 0-4.9-11.8-13.2-13.2-23 11.2-5.7 25.2-6 37.6-8.9 68.1-16.4 116.3-52.9 146.8-116.7C548.3 29.3 554 16.1 554.6 2l-2 2.6c-28.4 50-33 63.2-81.3 100-31.9 24.4-69.2 40.2-106.6 54.6l-6.3-.3v-21.8c-19.6 1.6-19.7-14.6-31.6-23-18.7 20.6-31.6 40.8-58.9 51.1-12.7 4.8-19.6 10-25.9 21.8 34.9-16.4 91.2-13.5 98.8-10zM555.5 0l-.6 1.1-.3.9.6-.6zm-59.2 382.1c-33.9-56.9-75.3-118.4-150-115.5l-.3-6c-1.1-13.5 32.8 3.2 35.1-31l-14.4 7.2c-19.8-45.7-8.6-54.3-65.5-54.3-14.7 0-26.7 1.7-41.4 4.6 2.9 18.6 2.2 36.7-10.9 50.3l19.5 5.5c-1.7 3.2-2.9 6.3-2.9 9.8 0 21 42.8 2.9 42.8 33.6 0 18.4-36.8 60.1-54.9 60.1-8 0-53.7-50-53.4-60.1l.3-4.6 52.3-11.5c13-2.6 12.3-22.7-2.9-22.7-3.7 0-43.1 9.2-49.4 10.6-2-5.2-7.5-14.1-13.8-14.1-3.2 0-6.3 3.2-9.5 4-9.2 2.6-31 2.9-21.5 20.1L15.9 298.5c-5.5 1.1-8.9 6.3-8.9 11.8 0 6 5.5 10.9 11.5 10.9 8 0 131.3-28.4 147.4-32.2 2.6 3.2 4.6 6.3 7.8 8.6 20.1 14.4 59.8 85.9 76.4 85.9 24.1 0 58-22.4 71.3-41.9 3.2-4.3 6.9-7.5 12.4-6.9.6 13.8-31.6 34.2-33 43.7-1.4 10.2-1 35.2-.3 41.1 26.7 8.1 52-3.6 77.9-2.9 4.3-21 10.6-41.9 9.8-63.5l-.3-9.5c-1.4-34.2-10.9-38.5-34.8-58.6-1.1-1.1-2.6-2.6-3.7-4 2.2-1.4 1.1-1 4.6-1.7 88.5 0 56.3 183.6 111.5 229.9 33.1-15 72.5-27.9 103.5-47.2-29-25.6-52.6-45.7-72.7-79.9zm-196.2 46.1v27.2l11.8-3.4-2.9-23.8zm-68.7-150.4l24.1 61.2 21-13.8-31.3-50.9zm84.4 154.9l2 12.4c9-1.5 58.4-6.6 58.4-14.1 0-1.4-.6-3.2-.9-4.6-26.8 0-36.9 3.8-59.5 6.3z\"]\n};\nvar faPiedPiperHat = {\n prefix: 'fab',\n iconName: 'pied-piper-hat',\n icon: [640, 512, [], \"f4e5\", \"M640 24.9c-80.8 53.6-89.4 92.5-96.4 104.4-6.7 12.2-11.7 60.3-23.3 83.6-11.7 23.6-54.2 42.2-66.1 50-11.7 7.8-28.3 38.1-41.9 64.2-108.1-4.4-167.4 38.8-259.2 93.6 29.4-9.7 43.3-16.7 43.3-16.7 94.2-36 139.3-68.3 281.1-49.2 1.1 0 1.9.6 2.8.8 3.9 2.2 5.3 6.9 3.1 10.8l-53.9 95.8c-2.5 4.7-7.8 7.2-13.1 6.1-126.8-23.8-226.9 17.3-318.9 18.6C24.1 488 0 453.4 0 451.8c0-1.1.6-1.7 1.7-1.7 0 0 38.3 0 103.1-15.3C178.4 294.5 244 245.4 315.4 245.4c0 0 71.7 0 90.6 61.9 22.8-39.7 28.3-49.2 28.3-49.2 5.3-9.4 35-77.2 86.4-141.4 51.5-64 90.4-79.9 119.3-91.8z\"]\n};\nvar faPiedPiperPp = {\n prefix: 'fab',\n iconName: 'pied-piper-pp',\n icon: [448, 512, [], \"f1a7\", \"M205.3 174.6c0 21.1-14.2 38.1-31.7 38.1-7.1 0-12.8-1.2-17.2-3.7v-68c4.4-2.7 10.1-4.2 17.2-4.2 17.5 0 31.7 16.9 31.7 37.8zm52.6 67c-7.1 0-12.8 1.5-17.2 4.2v68c4.4 2.5 10.1 3.7 17.2 3.7 17.4 0 31.7-16.9 31.7-37.8 0-21.1-14.3-38.1-31.7-38.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM185 255.1c41 0 74.2-35.6 74.2-79.6 0-44-33.2-79.6-74.2-79.6-12 0-24.1 3.2-34.6 8.8h-45.7V311l51.8-10.1v-50.6c8.6 3.1 18.1 4.8 28.5 4.8zm158.4 25.3c0-44-33.2-79.6-73.9-79.6-3.2 0-6.4.2-9.6.7-3.7 12.5-10.1 23.8-19.2 33.4-13.8 15-32.2 23.8-51.8 24.8V416l51.8-10.1v-50.6c8.6 3.2 18.2 4.7 28.7 4.7 40.8 0 74-35.6 74-79.6z\"]\n};\nvar faPiedPiperSquare = {\n prefix: 'fab',\n iconName: 'pied-piper-square',\n icon: [448, 512, [], \"e01e\", \"M32 419L0 479.2l.8-328C.8 85.3 54 32 120 32h327.2c-93 28.9-189.9 94.2-253.9 168.6C122.7 282 82.6 338 32 419M448 32S305.2 98.8 261.6 199.1c-23.2 53.6-28.9 118.1-71 158.6-28.9 27.8-69.8 38.2-105.3 56.3-23.2 12-66.4 40.5-84.9 66h328.4c66 0 119.3-53.3 119.3-119.2-.1 0-.1-328.8-.1-328.8z\"]\n};\nvar faPinterest = {\n prefix: 'fab',\n iconName: 'pinterest',\n icon: [496, 512, [], \"f0d2\", \"M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z\"]\n};\nvar faPinterestP = {\n prefix: 'fab',\n iconName: 'pinterest-p',\n icon: [384, 512, [], \"f231\", \"M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z\"]\n};\nvar faPinterestSquare = {\n prefix: 'fab',\n iconName: 'pinterest-square',\n icon: [448, 512, [], \"f0d3\", \"M448 80v352c0 26.5-21.5 48-48 48H154.4c9.8-16.4 22.4-40 27.4-59.3 3-11.5 15.3-58.4 15.3-58.4 8 15.3 31.4 28.2 56.3 28.2 74.1 0 127.4-68.1 127.4-152.7 0-81.1-66.2-141.8-151.4-141.8-106 0-162.2 71.1-162.2 148.6 0 36 19.2 80.8 49.8 95.1 4.7 2.2 7.1 1.2 8.2-3.3.8-3.4 5-20.1 6.8-27.8.6-2.5.3-4.6-1.7-7-10.1-12.3-18.3-34.9-18.3-56 0-54.2 41-106.6 110.9-106.6 60.3 0 102.6 41.1 102.6 99.9 0 66.4-33.5 112.4-77.2 112.4-24.1 0-42.1-19.9-36.4-44.4 6.9-29.2 20.3-60.7 20.3-81.8 0-53-75.5-45.7-75.5 25 0 21.7 7.3 36.5 7.3 36.5-31.4 132.8-36.1 134.5-29.6 192.6l2.2.8H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48z\"]\n};\nvar faPlaystation = {\n prefix: 'fab',\n iconName: 'playstation',\n icon: [576, 512, [], \"f3df\", \"M570.9 372.3c-11.3 14.2-38.8 24.3-38.8 24.3L327 470.2v-54.3l150.9-53.8c17.1-6.1 19.8-14.8 5.8-19.4-13.9-4.6-39.1-3.3-56.2 2.9L327 381.1v-56.4c23.2-7.8 47.1-13.6 75.7-16.8 40.9-4.5 90.9.6 130.2 15.5 44.2 14 49.2 34.7 38 48.9zm-224.4-92.5v-139c0-16.3-3-31.3-18.3-35.6-11.7-3.8-19 7.1-19 23.4v347.9l-93.8-29.8V32c39.9 7.4 98 24.9 129.2 35.4C424.1 94.7 451 128.7 451 205.2c0 74.5-46 102.8-104.5 74.6zM43.2 410.2c-45.4-12.8-53-39.5-32.3-54.8 19.1-14.2 51.7-24.9 51.7-24.9l134.5-47.8v54.5l-96.8 34.6c-17.1 6.1-19.7 14.8-5.8 19.4 13.9 4.6 39.1 3.3 56.2-2.9l46.4-16.9v48.8c-51.6 9.3-101.4 7.3-153.9-10z\"]\n};\nvar faProductHunt = {\n prefix: 'fab',\n iconName: 'product-hunt',\n icon: [512, 512, [], \"f288\", \"M326.3 218.8c0 20.5-16.7 37.2-37.2 37.2h-70.3v-74.4h70.3c20.5 0 37.2 16.7 37.2 37.2zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-128.1-37.2c0-47.9-38.9-86.8-86.8-86.8H169.2v248h49.6v-74.4h70.3c47.9 0 86.8-38.9 86.8-86.8z\"]\n};\nvar faPushed = {\n prefix: 'fab',\n iconName: 'pushed',\n icon: [432, 512, [], \"f3e1\", \"M407 111.9l-98.5-9 14-33.4c10.4-23.5-10.8-40.4-28.7-37L22.5 76.9c-15.1 2.7-26 18.3-21.4 36.6l105.1 348.3c6.5 21.3 36.7 24.2 47.7 7l35.3-80.8 235.2-231.3c16.4-16.8 4.3-42.9-17.4-44.8zM297.6 53.6c5.1-.7 7.5 2.5 5.2 7.4L286 100.9 108.6 84.6l189-31zM22.7 107.9c-3.1-5.1 1-10 6.1-9.1l248.7 22.7-96.9 230.7L22.7 107.9zM136 456.4c-2.6 4-7.9 3.1-9.4-1.2L43.5 179.7l127.7 197.6c-7 15-35.2 79.1-35.2 79.1zm272.8-314.5L210.1 337.3l89.7-213.7 106.4 9.7c4 1.1 5.7 5.3 2.6 8.6z\"]\n};\nvar faPython = {\n prefix: 'fab',\n iconName: 'python',\n icon: [448, 512, [], \"f3e2\", \"M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z\"]\n};\nvar faQq = {\n prefix: 'fab',\n iconName: 'qq',\n icon: [448, 512, [], \"f1d6\", \"M433.754 420.445c-11.526 1.393-44.86-52.741-44.86-52.741 0 31.345-16.136 72.247-51.051 101.786 16.842 5.192 54.843 19.167 45.803 34.421-7.316 12.343-125.51 7.881-159.632 4.037-34.122 3.844-152.316 8.306-159.632-4.037-9.045-15.25 28.918-29.214 45.783-34.415-34.92-29.539-51.059-70.445-51.059-101.792 0 0-33.334 54.134-44.859 52.741-5.37-.65-12.424-29.644 9.347-99.704 10.261-33.024 21.995-60.478 40.144-105.779C60.683 98.063 108.982.006 224 0c113.737.006 163.156 96.133 160.264 214.963 18.118 45.223 29.912 72.85 40.144 105.778 21.768 70.06 14.716 99.053 9.346 99.704z\"]\n};\nvar faQuinscape = {\n prefix: 'fab',\n iconName: 'quinscape',\n icon: [512, 512, [], \"f459\", \"M313.6 474.6h-1a158.1 158.1 0 0 1 0-316.2c94.9 0 168.2 83.1 157 176.6 4 5.1 8.2 9.6 11.2 15.3 13.4-30.3 20.3-62.4 20.3-97.7C501.1 117.5 391.6 8 256.5 8S12 117.5 12 252.6s109.5 244.6 244.5 244.6a237.36 237.36 0 0 0 70.4-10.1c-5.2-3.5-8.9-8.1-13.3-12.5zm-.1-.1l.4.1zm78.4-168.9a99.2 99.2 0 1 0 99.2 99.2 99.18 99.18 0 0 0-99.2-99.2z\"]\n};\nvar faQuora = {\n prefix: 'fab',\n iconName: 'quora',\n icon: [448, 512, [], \"f2c4\", \"M440.5 386.7h-29.3c-1.5 13.5-10.5 30.8-33 30.8-20.5 0-35.3-14.2-49.5-35.8 44.2-34.2 74.7-87.5 74.7-153C403.5 111.2 306.8 32 205 32 105.3 32 7.3 111.7 7.3 228.7c0 134.1 131.3 221.6 249 189C276 451.3 302 480 351.5 480c81.8 0 90.8-75.3 89-93.3zM297 329.2C277.5 300 253.3 277 205.5 277c-30.5 0-54.3 10-69 22.8l12.2 24.3c6.2-3 13-4 19.8-4 35.5 0 53.7 30.8 69.2 61.3-10 3-20.7 4.2-32.7 4.2-75 0-107.5-53-107.5-156.7C97.5 124.5 130 71 205 71c76.2 0 108.7 53.5 108.7 157.7.1 41.8-5.4 75.6-16.7 100.5z\"]\n};\nvar faRProject = {\n prefix: 'fab',\n iconName: 'r-project',\n icon: [581, 512, [], \"f4f7\", \"M581 226.6C581 119.1 450.9 32 290.5 32S0 119.1 0 226.6C0 322.4 103.3 402 239.4 418.1V480h99.1v-61.5c24.3-2.7 47.6-7.4 69.4-13.9L448 480h112l-67.4-113.7c54.5-35.4 88.4-84.9 88.4-139.7zm-466.8 14.5c0-73.5 98.9-133 220.8-133s211.9 40.7 211.9 133c0 50.1-26.5 85-70.3 106.4-2.4-1.6-4.7-2.9-6.4-3.7-10.2-5.2-27.8-10.5-27.8-10.5s86.6-6.4 86.6-92.7-90.6-87.9-90.6-87.9h-199V361c-74.1-21.5-125.2-67.1-125.2-119.9zm225.1 38.3v-55.6c57.8 0 87.8-6.8 87.8 27.3 0 36.5-38.2 28.3-87.8 28.3zm-.9 72.5H365c10.8 0 18.9 11.7 24 19.2-16.1 1.9-33 2.8-50.6 2.9v-22.1z\"]\n};\nvar faRaspberryPi = {\n prefix: 'fab',\n iconName: 'raspberry-pi',\n icon: [407, 512, [], \"f7bb\", \"M372 232.5l-3.7-6.5c.1-46.4-21.4-65.3-46.5-79.7 7.6-2 15.4-3.6 17.6-13.2 13.1-3.3 15.8-9.4 17.1-15.8 3.4-2.3 14.8-8.7 13.6-19.7 6.4-4.4 10-10.1 8.1-18.1 6.9-7.5 8.7-13.7 5.8-19.4 8.3-10.3 4.6-15.6 1.1-20.9 6.2-11.2.7-23.2-16.6-21.2-6.9-10.1-21.9-7.8-24.2-7.8-2.6-3.2-6-6-16.5-4.7-6.8-6.1-14.4-5-22.3-2.1-9.3-7.3-15.5-1.4-22.6.8C271.6.6 269 5.5 263.5 7.6c-12.3-2.6-16.1 3-22 8.9l-6.9-.1c-18.6 10.8-27.8 32.8-31.1 44.1-3.3-11.3-12.5-33.3-31.1-44.1l-6.9.1c-5.9-5.9-9.7-11.5-22-8.9-5.6-2-8.1-7-19.4-3.4-4.6-1.4-8.9-4.4-13.9-4.3-2.6.1-5.5 1-8.7 3.5-7.9-3-15.5-4-22.3 2.1-10.5-1.3-14 1.4-16.5 4.7-2.3 0-17.3-2.3-24.2 7.8C21.2 16 15.8 28 22 39.2c-3.5 5.4-7.2 10.7 1.1 20.9-2.9 5.7-1.1 11.9 5.8 19.4-1.8 8 1.8 13.7 8.1 18.1-1.2 11 10.2 17.4 13.6 19.7 1.3 6.4 4 12.4 17.1 15.8 2.2 9.5 10 11.2 17.6 13.2-25.1 14.4-46.6 33.3-46.5 79.7l-3.7 6.5c-28.8 17.2-54.7 72.7-14.2 117.7 2.6 14.1 7.1 24.2 11 35.4 5.9 45.2 44.5 66.3 54.6 68.8 14.9 11.2 30.8 21.8 52.2 29.2C159 504.2 181 512 203 512h1c22.1 0 44-7.8 64.2-28.4 21.5-7.4 37.3-18 52.2-29.2 10.2-2.5 48.7-23.6 54.6-68.8 3.9-11.2 8.4-21.3 11-35.4 40.6-45.1 14.7-100.5-14-117.7zm-22.2-8c-1.5 18.7-98.9-65.1-82.1-67.9 45.7-7.5 83.6 19.2 82.1 67.9zm-43 93.1c-24.5 15.8-59.8 5.6-78.8-22.8s-14.6-64.2 9.9-80c24.5-15.8 59.8-5.6 78.8 22.8s14.6 64.2-9.9 80zM238.9 29.3c.8 4.2 1.8 6.8 2.9 7.6 5.4-5.8 9.8-11.7 16.8-17.3 0 3.3-1.7 6.8 2.5 9.4 3.7-5 8.8-9.5 15.5-13.3-3.2 5.6-.6 7.3 1.2 9.6 5.1-4.4 10-8.8 19.4-12.3-2.6 3.1-6.2 6.2-2.4 9.8 5.3-3.3 10.6-6.6 23.1-8.9-2.8 3.1-8.7 6.3-5.1 9.4 6.6-2.5 14-4.4 22.1-5.4-3.9 3.2-7.1 6.3-3.9 8.8 7.1-2.2 16.9-5.1 26.4-2.6l-6 6.1c-.7.8 14.1.6 23.9.8-3.6 5-7.2 9.7-9.3 18.2 1 1 5.8.4 10.4 0-4.7 9.9-12.8 12.3-14.7 16.6 2.9 2.2 6.8 1.6 11.2.1-3.4 6.9-10.4 11.7-16 17.3 1.4 1 3.9 1.6 9.7.9-5.2 5.5-11.4 10.5-18.8 15 1.3 1.5 5.8 1.5 10 1.6-6.7 6.5-15.3 9.9-23.4 14.2 4 2.7 6.9 2.1 10 2.1-5.7 4.7-15.4 7.1-24.4 10 1.7 2.7 3.4 3.4 7.1 4.1-9.5 5.3-23.2 2.9-27 5.6.9 2.7 3.6 4.4 6.7 5.8-15.4.9-57.3-.6-65.4-32.3 15.7-17.3 44.4-37.5 93.7-62.6-38.4 12.8-73 30-102 53.5-34.3-15.9-10.8-55.9 5.8-71.8zm-34.4 114.6c24.2-.3 54.1 17.8 54 34.7-.1 15-21 27.1-53.8 26.9-32.1-.4-53.7-15.2-53.6-29.8 0-11.9 26.2-32.5 53.4-31.8zm-123-12.8c3.7-.7 5.4-1.5 7.1-4.1-9-2.8-18.7-5.3-24.4-10 3.1 0 6 .7 10-2.1-8.1-4.3-16.7-7.7-23.4-14.2 4.2-.1 8.7 0 10-1.6-7.4-4.5-13.6-9.5-18.8-15 5.8.7 8.3.1 9.7-.9-5.6-5.6-12.7-10.4-16-17.3 4.3 1.5 8.3 2 11.2-.1-1.9-4.2-10-6.7-14.7-16.6 4.6.4 9.4 1 10.4 0-2.1-8.5-5.8-13.3-9.3-18.2 9.8-.1 24.6 0 23.9-.8l-6-6.1c9.5-2.5 19.3.4 26.4 2.6 3.2-2.5-.1-5.6-3.9-8.8 8.1 1.1 15.4 2.9 22.1 5.4 3.5-3.1-2.3-6.3-5.1-9.4 12.5 2.3 17.8 5.6 23.1 8.9 3.8-3.6.2-6.7-2.4-9.8 9.4 3.4 14.3 7.9 19.4 12.3 1.7-2.3 4.4-4 1.2-9.6 6.7 3.8 11.8 8.3 15.5 13.3 4.1-2.6 2.5-6.2 2.5-9.4 7 5.6 11.4 11.5 16.8 17.3 1.1-.8 2-3.4 2.9-7.6 16.6 15.9 40.1 55.9 6 71.8-29-23.5-63.6-40.7-102-53.5 49.3 25 78 45.3 93.7 62.6-8 31.8-50 33.2-65.4 32.3 3.1-1.4 5.8-3.2 6.7-5.8-4-2.8-17.6-.4-27.2-5.6zm60.1 24.1c16.8 2.8-80.6 86.5-82.1 67.9-1.5-48.7 36.5-75.5 82.1-67.9zM38.2 342c-23.7-18.8-31.3-73.7 12.6-98.3 26.5-7 9 107.8-12.6 98.3zm91 98.2c-13.3 7.9-45.8 4.7-68.8-27.9-15.5-27.4-13.5-55.2-2.6-63.4 16.3-9.8 41.5 3.4 60.9 25.6 16.9 20 24.6 55.3 10.5 65.7zm-26.4-119.7c-24.5-15.8-28.9-51.6-9.9-80s54.3-38.6 78.8-22.8 28.9 51.6 9.9 80c-19.1 28.4-54.4 38.6-78.8 22.8zM205 496c-29.4 1.2-58.2-23.7-57.8-32.3-.4-12.7 35.8-22.6 59.3-22 23.7-1 55.6 7.5 55.7 18.9.5 11-28.8 35.9-57.2 35.4zm58.9-124.9c.2 29.7-26.2 53.8-58.8 54-32.6.2-59.2-23.8-59.4-53.4v-.6c-.2-29.7 26.2-53.8 58.8-54 32.6-.2 59.2 23.8 59.4 53.4v.6zm82.2 42.7c-25.3 34.6-59.6 35.9-72.3 26.3-13.3-12.4-3.2-50.9 15.1-72 20.9-23.3 43.3-38.5 58.9-26.6 10.5 10.3 16.7 49.1-1.7 72.3zm22.9-73.2c-21.5 9.4-39-105.3-12.6-98.3 43.9 24.7 36.3 79.6 12.6 98.3z\"]\n};\nvar faRavelry = {\n prefix: 'fab',\n iconName: 'ravelry',\n icon: [512, 512, [], \"f2d9\", \"M407.4 61.5C331.6 22.1 257.8 31 182.9 66c-11.3 5.2-15.5 10.6-19.9 19-10.3 19.2-16.2 37.4-19.9 52.7-21.2 25.6-36.4 56.1-43.3 89.9-10.6 18-20.9 41.4-23.1 71.4 0 0-.7 7.6-.5 7.9-35.3-4.6-76.2-27-76.2-27 9.1 14.5 61.3 32.3 76.3 37.9 0 0 1.7 98 64.5 131.2-11.3-17.2-13.3-20.2-13.3-20.2S94.8 369 100.4 324.7c.7 0 1.5.2 2.2.2 23.9 87.4 103.2 151.4 196.9 151.4 6.2 0 12.1-.2 18-.7 14 1.5 27.6.5 40.1-3.9 6.9-2.2 13.8-6.4 20.2-10.8 70.2-39.1 100.9-82 123.1-147.7 5.4-16 8.1-35.5 9.8-52.2 8.7-82.3-30.6-161.6-103.3-199.5zM138.8 163.2s-1.2 12.3-.7 19.7c-3.4 2.5-10.1 8.1-18.2 16.7 5.2-12.8 11.3-25.1 18.9-36.4zm-31.2 121.9c4.4-17.2 13.3-39.1 29.8-55.1 0 0 1.7 48 15.8 90.1l-41.4-6.9c-2.2-9.2-3.5-18.5-4.2-28.1zm7.9 42.8c14.8 3.2 34 7.6 43.1 9.1 27.3 76.8 108.3 124.3 108.3 124.3 1 .5 1.7.7 2.7 1-73.1-11.6-132.7-64.7-154.1-134.4zM386 444.1c-14.5 4.7-36.2 8.4-64.7 3.7 0 0-91.1-23.1-127.5-107.8 38.2.7 52.4-.2 78-3.9 39.4-5.7 79-16.2 115-33 11.8-5.4 11.1-19.4 9.6-29.8-2-12.8-11.1-12.1-21.4-4.7 0 0-82 58.6-189.8 53.7-18.7-32-26.8-110.8-26.8-110.8 41.4-35.2 83.2-59.6 168.4-52.4.2-6.4 3-27.1-20.4-28.1 0 0-93.5-11.1-146 33.5 2.5-16.5 5.9-29.3 11.1-39.4 34.2-30.8 79-49.5 128.3-49.5 106.4 0 193 87.1 193 194.5-.2 76-43.8 142-106.8 174z\"]\n};\nvar faReact = {\n prefix: 'fab',\n iconName: 'react',\n icon: [512, 512, [], \"f41b\", \"M418.2 177.2c-5.4-1.8-10.8-3.5-16.2-5.1.9-3.7 1.7-7.4 2.5-11.1 12.3-59.6 4.2-107.5-23.1-123.3-26.3-15.1-69.2.6-112.6 38.4-4.3 3.7-8.5 7.6-12.5 11.5-2.7-2.6-5.5-5.2-8.3-7.7-45.5-40.4-91.1-57.4-118.4-41.5-26.2 15.2-34 60.3-23 116.7 1.1 5.6 2.3 11.1 3.7 16.7-6.4 1.8-12.7 3.8-18.6 5.9C38.3 196.2 0 225.4 0 255.6c0 31.2 40.8 62.5 96.3 81.5 4.5 1.5 9 3 13.6 4.3-1.5 6-2.8 11.9-4 18-10.5 55.5-2.3 99.5 23.9 114.6 27 15.6 72.4-.4 116.6-39.1 3.5-3.1 7-6.3 10.5-9.7 4.4 4.3 9 8.4 13.6 12.4 42.8 36.8 85.1 51.7 111.2 36.6 27-15.6 35.8-62.9 24.4-120.5-.9-4.4-1.9-8.9-3-13.5 3.2-.9 6.3-1.9 9.4-2.9 57.7-19.1 99.5-50 99.5-81.7 0-30.3-39.4-59.7-93.8-78.4zM282.9 92.3c37.2-32.4 71.9-45.1 87.7-36 16.9 9.7 23.4 48.9 12.8 100.4-.7 3.4-1.4 6.7-2.3 10-22.2-5-44.7-8.6-67.3-10.6-13-18.6-27.2-36.4-42.6-53.1 3.9-3.7 7.7-7.2 11.7-10.7zM167.2 307.5c5.1 8.7 10.3 17.4 15.8 25.9-15.6-1.7-31.1-4.2-46.4-7.5 4.4-14.4 9.9-29.3 16.3-44.5 4.6 8.8 9.3 17.5 14.3 26.1zm-30.3-120.3c14.4-3.2 29.7-5.8 45.6-7.8-5.3 8.3-10.5 16.8-15.4 25.4-4.9 8.5-9.7 17.2-14.2 26-6.3-14.9-11.6-29.5-16-43.6zm27.4 68.9c6.6-13.8 13.8-27.3 21.4-40.6s15.8-26.2 24.4-38.9c15-1.1 30.3-1.7 45.9-1.7s31 .6 45.9 1.7c8.5 12.6 16.6 25.5 24.3 38.7s14.9 26.7 21.7 40.4c-6.7 13.8-13.9 27.4-21.6 40.8-7.6 13.3-15.7 26.2-24.2 39-14.9 1.1-30.4 1.6-46.1 1.6s-30.9-.5-45.6-1.4c-8.7-12.7-16.9-25.7-24.6-39s-14.8-26.8-21.5-40.6zm180.6 51.2c5.1-8.8 9.9-17.7 14.6-26.7 6.4 14.5 12 29.2 16.9 44.3-15.5 3.5-31.2 6.2-47 8 5.4-8.4 10.5-17 15.5-25.6zm14.4-76.5c-4.7-8.8-9.5-17.6-14.5-26.2-4.9-8.5-10-16.9-15.3-25.2 16.1 2 31.5 4.7 45.9 8-4.6 14.8-10 29.2-16.1 43.4zM256.2 118.3c10.5 11.4 20.4 23.4 29.6 35.8-19.8-.9-39.7-.9-59.5 0 9.8-12.9 19.9-24.9 29.9-35.8zM140.2 57c16.8-9.8 54.1 4.2 93.4 39 2.5 2.2 5 4.6 7.6 7-15.5 16.7-29.8 34.5-42.9 53.1-22.6 2-45 5.5-67.2 10.4-1.3-5.1-2.4-10.3-3.5-15.5-9.4-48.4-3.2-84.9 12.6-94zm-24.5 263.6c-4.2-1.2-8.3-2.5-12.4-3.9-21.3-6.7-45.5-17.3-63-31.2-10.1-7-16.9-17.8-18.8-29.9 0-18.3 31.6-41.7 77.2-57.6 5.7-2 11.5-3.8 17.3-5.5 6.8 21.7 15 43 24.5 63.6-9.6 20.9-17.9 42.5-24.8 64.5zm116.6 98c-16.5 15.1-35.6 27.1-56.4 35.3-11.1 5.3-23.9 5.8-35.3 1.3-15.9-9.2-22.5-44.5-13.5-92 1.1-5.6 2.3-11.2 3.7-16.7 22.4 4.8 45 8.1 67.9 9.8 13.2 18.7 27.7 36.6 43.2 53.4-3.2 3.1-6.4 6.1-9.6 8.9zm24.5-24.3c-10.2-11-20.4-23.2-30.3-36.3 9.6.4 19.5.6 29.5.6 10.3 0 20.4-.2 30.4-.7-9.2 12.7-19.1 24.8-29.6 36.4zm130.7 30c-.9 12.2-6.9 23.6-16.5 31.3-15.9 9.2-49.8-2.8-86.4-34.2-4.2-3.6-8.4-7.5-12.7-11.5 15.3-16.9 29.4-34.8 42.2-53.6 22.9-1.9 45.7-5.4 68.2-10.5 1 4.1 1.9 8.2 2.7 12.2 4.9 21.6 5.7 44.1 2.5 66.3zm18.2-107.5c-2.8.9-5.6 1.8-8.5 2.6-7-21.8-15.6-43.1-25.5-63.8 9.6-20.4 17.7-41.4 24.5-62.9 5.2 1.5 10.2 3.1 15 4.7 46.6 16 79.3 39.8 79.3 58 0 19.6-34.9 44.9-84.8 61.4zm-149.7-15c25.3 0 45.8-20.5 45.8-45.8s-20.5-45.8-45.8-45.8c-25.3 0-45.8 20.5-45.8 45.8s20.5 45.8 45.8 45.8z\"]\n};\nvar faReacteurope = {\n prefix: 'fab',\n iconName: 'reacteurope',\n icon: [576, 512, [], \"f75d\", \"M250.6 211.74l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm63.7 0l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.2-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm-91.3 50.5h-3.4c-4.8 0-3.8 4-3.8 12.1 0 4.7-2.3 6.1-5.8 6.1s-5.8-1.4-5.8-6.1v-36.6c0-4.7 2.3-6.1 5.8-6.1s5.8 1.4 5.8 6.1c0 7.2-.7 10.5 3.8 10.5h3.4c4.7-.1 3.8-3.9 3.8-12.3 0-9.9-6.7-14.1-16.8-14.1h-.2c-10.1 0-16.8 4.2-16.8 14.1V276c0 10.4 6.7 14.1 16.8 14.1h.2c10.1 0 16.8-3.8 16.8-14.1 0-9.86 1.1-13.76-3.8-13.76zm-80.7 17.4h-14.7v-19.3H139c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-11.4v-18.3H142c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-21.7c-2.4-.1-3.7 1.3-3.7 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h21.9c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8zm-42-18.5c4.6-2 7.3-6 7.3-12.4v-11.9c0-10.1-6.7-14.1-16.8-14.1H77.4c-2.5 0-3.8 1.3-3.8 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5 0 3.8-1.3 3.8-3.8v-22.9h5.6l7.4 23.5a4.1 4.1 0 0 0 4.3 3.2h3.3c2.8 0 4-1.8 3.2-4.4zm-3.8-14c0 4.8-2.5 6.1-6.1 6.1h-5.8v-20.9h5.8c3.6 0 6.1 1.3 6.1 6.1zM176 226a3.82 3.82 0 0 0-4.2-3.4h-6.9a3.68 3.68 0 0 0-4 3.4l-11 59.2c-.5 2.7.9 4.1 3.4 4.1h3a3.74 3.74 0 0 0 4.1-3.5l1.8-11.3h12.2l1.8 11.3a3.74 3.74 0 0 0 4.1 3.5h3.5c2.6 0 3.9-1.4 3.4-4.1zm-12.3 39.3l4.7-29.7 4.7 29.7zm89.3 20.2v-53.2h7.5c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-25.8c-2.5 0-3.8 1.3-3.8 3.8v2.1c0 2.5 1.3 3.8 3.8 3.8h7.3v53.2c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5.04 3.8-1.3 3.8-3.76zm248-.8h-19.4V258h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9H501a1.81 1.81 0 0 0 2-1.9v-.8a1.84 1.84 0 0 0-2-1.96zm-93.1-62.9h-.8c-10.1 0-15.3 4.7-15.3 14.1V276c0 9.3 5.2 14.1 15.3 14.1h.8c10.1 0 15.3-4.8 15.3-14.1v-40.1c0-9.36-5.2-14.06-15.3-14.06zm10.2 52.4c-.1 8-3 11.1-10.5 11.1s-10.5-3.1-10.5-11.1v-36.6c0-7.9 3-11.1 10.5-11.1s10.5 3.2 10.5 11.1zm-46.5-14.5c6.1-1.6 9.2-6.1 9.2-13.3v-9.7c0-9.4-5.2-14.1-15.3-14.1h-13.7a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.9h11.6l10.4 27.2a2.32 2.32 0 0 0 2.3 1.5h1.5c1.4 0 2-1 1.5-2.3zm-6.4-3.9H355v-28.5h10.2c7.5 0 10.5 3.1 10.5 11.1v6.4c0 7.84-3 11.04-10.5 11.04zm85.9-33.1h-13.7a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.1h10.6c10.1 0 15.3-4.8 15.3-14.1v-10.5c0-9.4-5.2-14.1-15.3-14.1zm10.2 22.8c0 7.9-3 11.1-10.5 11.1h-10.2v-29.2h10.2c7.5-.1 10.5 3.1 10.5 11zM259.5 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm227.6-136.1a364.42 364.42 0 0 0-35.6-11.3c19.6-78 11.6-134.7-22.3-153.9C394.7-12.66 343.3 11 291 61.94q5.1 4.95 10.2 10.2c82.5-80 119.6-53.5 120.9-52.8 22.4 12.7 36 55.8 15.5 137.8a587.83 587.83 0 0 0-84.6-13C281.1 43.64 212.4 2 170.8 2 140 2 127 23 123.2 29.74c-18.1 32-13.3 84.2.1 133.8-70.5 20.3-120.7 54.1-120.3 95 .5 59.6 103.2 87.8 122.1 92.8-20.5 81.9-10.1 135.6 22.3 153.9 28 15.8 75.1 6 138.2-55.2q-5.1-4.95-10.2-10.2c-82.5 80-119.7 53.5-120.9 52.8-22.3-12.6-36-55.6-15.5-137.9 12.4 2.9 41.8 9.5 84.6 13 71.9 100.4 140.6 142 182.1 142 30.8 0 43.8-21 47.6-27.7 18-31.9 13.3-84.1-.1-133.8 152.3-43.8 156.2-130.2 33.9-176.3zM135.9 36.84c2.9-5.1 11.9-20.3 34.9-20.3 36.8 0 98.8 39.6 163.3 126.2a714 714 0 0 0-93.9.9 547.76 547.76 0 0 1 42.2-52.4Q277.3 86 272.2 81a598.25 598.25 0 0 0-50.7 64.2 569.69 569.69 0 0 0-84.4 14.6c-.2-1.4-24.3-82.2-1.2-123zm304.8 438.3c-2.9 5.1-11.8 20.3-34.9 20.3-36.7 0-98.7-39.4-163.3-126.2a695.38 695.38 0 0 0 93.9-.9 547.76 547.76 0 0 1-42.2 52.4q5.1 5.25 10.2 10.2a588.47 588.47 0 0 0 50.7-64.2c47.3-4.7 80.3-13.5 84.4-14.6 22.7 84.4 4.5 117 1.2 123zm9.1-138.6c-3.6-11.9-7.7-24.1-12.4-36.4a12.67 12.67 0 0 1-10.7-5.7l-.1.1a19.61 19.61 0 0 1-5.4 3.6c5.7 14.3 10.6 28.4 14.7 42.2a535.3 535.3 0 0 1-72 13c3.5-5.3 17.2-26.2 32.2-54.2a24.6 24.6 0 0 1-6-3.2c-1.1 1.2-3.6 4.2-10.9 4.2-6.2 11.2-17.4 30.9-33.9 55.2a711.91 711.91 0 0 1-112.4 1c-7.9-11.2-21.5-31.1-36.8-57.8a21 21 0 0 1-3-1.5c-1.9 1.6-3.9 3.2-12.6 3.2 6.3 11.2 17.5 30.7 33.8 54.6a548.81 548.81 0 0 1-72.2-11.7q5.85-21 14.1-42.9c-3.2 0-5.4.2-8.4-1a17.58 17.58 0 0 1-6.9 1c-4.9 13.4-9.1 26.5-12.7 39.4C-31.7 297-12.1 216 126.7 175.64c3.6 11.9 7.7 24.1 12.4 36.4 10.4 0 12.9 3.4 14.4 5.3a12 12 0 0 1 2.3-2.2c-5.8-14.7-10.9-29.2-15.2-43.3 7-1.8 32.4-8.4 72-13-15.9 24.3-26.7 43.9-32.8 55.3a14.22 14.22 0 0 1 6.4 8 23.42 23.42 0 0 1 10.2-8.4c6.5-11.7 17.9-31.9 34.8-56.9a711.72 711.72 0 0 1 112.4-1c31.5 44.6 28.9 48.1 42.5 64.5a21.42 21.42 0 0 1 10.4-7.4c-6.4-11.4-17.6-31-34.3-55.5 40.4 4.1 65 10 72.2 11.7-4 14.4-8.9 29.2-14.6 44.2a20.74 20.74 0 0 1 6.8 4.3l.1.1a12.72 12.72 0 0 1 8.9-5.6c4.9-13.4 9.2-26.6 12.8-39.5a359.71 359.71 0 0 1 34.5 11c106.1 39.9 74 87.9 72.6 90.4-19.8 35.1-80.1 55.2-105.7 62.5zm-114.4-114h-1.2a1.74 1.74 0 0 0-1.9 1.9v49.8c0 7.9-2.6 11.1-10.1 11.1s-10.1-3.1-10.1-11.1v-49.8a1.69 1.69 0 0 0-1.9-1.9H309a1.81 1.81 0 0 0-2 1.9v51.5c0 9.6 5 14.1 15.1 14.1h.4c10.1 0 15.1-4.6 15.1-14.1v-51.5a2 2 0 0 0-2.2-1.9zM321.7 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm-31.1 7.4l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm5.1-30.8h-19.4v-26.7h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h22.5a1.77 1.77 0 0 0 2-1.9v-.8a1.83 1.83 0 0 0-2-2.06zm-7.4-99.4L286 192l-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1z\"]\n};\nvar faReadme = {\n prefix: 'fab',\n iconName: 'readme',\n icon: [576, 512, [], \"f4d5\", \"M528.3 46.5H388.5c-48.1 0-89.9 33.3-100.4 80.3-10.6-47-52.3-80.3-100.4-80.3H48c-26.5 0-48 21.5-48 48v245.8c0 26.5 21.5 48 48 48h89.7c102.2 0 132.7 24.4 147.3 75 .7 2.8 5.2 2.8 6 0 14.7-50.6 45.2-75 147.3-75H528c26.5 0 48-21.5 48-48V94.6c0-26.4-21.3-47.9-47.7-48.1zM242 311.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5V289c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V251zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm259.3 121.7c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5V228c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.8c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V190z\"]\n};\nvar faRebel = {\n prefix: 'fab',\n iconName: 'rebel',\n icon: [512, 512, [], \"f1d0\", \"M256.5 504C117.2 504 9 387.8 13.2 249.9 16 170.7 56.4 97.7 129.7 49.5c.3 0 1.9-.6 1.1.8-5.8 5.5-111.3 129.8-14.1 226.4 49.8 49.5 90 2.5 90 2.5 38.5-50.1-.6-125.9-.6-125.9-10-24.9-45.7-40.1-45.7-40.1l28.8-31.8c24.4 10.5 43.2 38.7 43.2 38.7.8-29.6-21.9-61.4-21.9-61.4L255.1 8l44.3 50.1c-20.5 28.8-21.9 62.6-21.9 62.6 13.8-23 43.5-39.3 43.5-39.3l28.5 31.8c-27.4 8.9-45.4 39.9-45.4 39.9-15.8 28.5-27.1 89.4.6 127.3 32.4 44.6 87.7-2.8 87.7-2.8 102.7-91.9-10.5-225-10.5-225-6.1-5.5.8-2.8.8-2.8 50.1 36.5 114.6 84.4 116.2 204.8C500.9 400.2 399 504 256.5 504z\"]\n};\nvar faRedRiver = {\n prefix: 'fab',\n iconName: 'red-river',\n icon: [448, 512, [], \"f3e3\", \"M353.2 32H94.8C42.4 32 0 74.4 0 126.8v258.4C0 437.6 42.4 480 94.8 480h258.4c52.4 0 94.8-42.4 94.8-94.8V126.8c0-52.4-42.4-94.8-94.8-94.8zM144.9 200.9v56.3c0 27-21.9 48.9-48.9 48.9V151.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9h-56.3c-12.3-.6-24.6 11.6-24 24zm176.3 72h-56.3c-12.3-.6-24.6 11.6-24 24v56.3c0 27-21.9 48.9-48.9 48.9V247.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9z\"]\n};\nvar faReddit = {\n prefix: 'fab',\n iconName: 'reddit',\n icon: [512, 512, [], \"f1a1\", \"M201.5 305.5c-13.8 0-24.9-11.1-24.9-24.6 0-13.8 11.1-24.9 24.9-24.9 13.6 0 24.6 11.1 24.6 24.9 0 13.6-11.1 24.6-24.6 24.6zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-132.3-41.2c-9.4 0-17.7 3.9-23.8 10-22.4-15.5-52.6-25.5-86.1-26.6l17.4-78.3 55.4 12.5c0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.3 24.9-24.9s-11.1-24.9-24.9-24.9c-9.7 0-18 5.8-22.1 13.8l-61.2-13.6c-3-.8-6.1 1.4-6.9 4.4l-19.1 86.4c-33.2 1.4-63.1 11.3-85.5 26.8-6.1-6.4-14.7-10.2-24.1-10.2-34.9 0-46.3 46.9-14.4 62.8-1.1 5-1.7 10.2-1.7 15.5 0 52.6 59.2 95.2 132 95.2 73.1 0 132.3-42.6 132.3-95.2 0-5.3-.6-10.8-1.9-15.8 31.3-16 19.8-62.5-14.9-62.5zM302.8 331c-18.2 18.2-76.1 17.9-93.6 0-2.2-2.2-6.1-2.2-8.3 0-2.5 2.5-2.5 6.4 0 8.6 22.8 22.8 87.3 22.8 110.2 0 2.5-2.2 2.5-6.1 0-8.6-2.2-2.2-6.1-2.2-8.3 0zm7.7-75c-13.6 0-24.6 11.1-24.6 24.9 0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.1 24.9-24.6 0-13.8-11-24.9-24.9-24.9z\"]\n};\nvar faRedditAlien = {\n prefix: 'fab',\n iconName: 'reddit-alien',\n icon: [512, 512, [], \"f281\", \"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"]\n};\nvar faRedditSquare = {\n prefix: 'fab',\n iconName: 'reddit-square',\n icon: [448, 512, [], \"f1a2\", \"M283.2 345.5c2.7 2.7 2.7 6.8 0 9.2-24.5 24.5-93.8 24.6-118.4 0-2.7-2.4-2.7-6.5 0-9.2 2.4-2.4 6.5-2.4 8.9 0 18.7 19.2 81 19.6 100.5 0 2.4-2.3 6.6-2.3 9 0zm-91.3-53.8c0-14.9-11.9-26.8-26.5-26.8-14.9 0-26.8 11.9-26.8 26.8 0 14.6 11.9 26.5 26.8 26.5 14.6 0 26.5-11.9 26.5-26.5zm90.7-26.8c-14.6 0-26.5 11.9-26.5 26.8 0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-11.9 26.8-26.5 0-14.9-11.9-26.8-26.8-26.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-99.7 140.6c-10.1 0-19 4.2-25.6 10.7-24.1-16.7-56.5-27.4-92.5-28.6l18.7-84.2 59.5 13.4c0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-12.2 26.8-26.8 0-14.6-11.9-26.8-26.8-26.8-10.4 0-19.3 6.2-23.8 14.9l-65.7-14.6c-3.3-.9-6.5 1.5-7.4 4.8l-20.5 92.8c-35.7 1.5-67.8 12.2-91.9 28.9-6.5-6.8-15.8-11-25.9-11-37.5 0-49.8 50.4-15.5 67.5-1.2 5.4-1.8 11-1.8 16.7 0 56.5 63.7 102.3 141.9 102.3 78.5 0 142.2-45.8 142.2-102.3 0-5.7-.6-11.6-2.1-17 33.6-17.2 21.2-67.2-16.1-67.2z\"]\n};\nvar faRedhat = {\n prefix: 'fab',\n iconName: 'redhat',\n icon: [512, 512, [], \"f7bc\", \"M341.52 285.56c33.65 0 82.34-6.94 82.34-47 .22-6.74.86-1.82-20.88-96.24-4.62-19.15-8.68-27.84-42.31-44.65-26.09-13.34-82.92-35.37-99.73-35.37-15.66 0-20.2 20.17-38.87 20.17-18 0-31.31-15.06-48.12-15.06-16.14 0-26.66 11-34.78 33.62-27.5 77.55-26.28 74.27-26.12 78.27 0 24.8 97.64 106.11 228.47 106.11M429 254.84c4.65 22 4.65 24.35 4.65 27.25 0 37.66-42.33 58.56-98 58.56-125.74.08-235.91-73.65-235.91-122.33a49.55 49.55 0 0 1 4.06-19.72C58.56 200.86 0 208.93 0 260.63c0 84.67 200.63 189 359.49 189 121.79 0 152.51-55.08 152.51-98.58 0-34.21-29.59-73.05-82.93-96.24\"]\n};\nvar faRenren = {\n prefix: 'fab',\n iconName: 'renren',\n icon: [512, 512, [], \"f18b\", \"M214 169.1c0 110.4-61 205.4-147.6 247.4C30 373.2 8 317.7 8 256.6 8 133.9 97.1 32.2 214 12.5v156.6zM255 504c-42.9 0-83.3-11-118.5-30.4C193.7 437.5 239.9 382.9 255 319c15.5 63.9 61.7 118.5 118.8 154.7C338.7 493 298.3 504 255 504zm190.6-87.5C359 374.5 298 279.6 298 169.1V12.5c116.9 19.7 206 121.4 206 244.1 0 61.1-22 116.6-58.4 159.9z\"]\n};\nvar faReplyd = {\n prefix: 'fab',\n iconName: 'replyd',\n icon: [448, 512, [], \"f3e6\", \"M320 480H128C57.6 480 0 422.4 0 352V160C0 89.6 57.6 32 128 32h192c70.4 0 128 57.6 128 128v192c0 70.4-57.6 128-128 128zM193.4 273.2c-6.1-2-11.6-3.1-16.4-3.1-7.2 0-13.5 1.9-18.9 5.6-5.4 3.7-9.6 9-12.8 15.8h-1.1l-4.2-18.3h-28v138.9h36.1v-89.7c1.5-5.4 4.4-9.8 8.7-13.2 4.3-3.4 9.8-5.1 16.2-5.1 4.6 0 9.8 1 15.6 3.1l4.8-34zm115.2 103.4c-3.2 2.4-7.7 4.8-13.7 7.1-6 2.3-12.8 3.5-20.4 3.5-12.2 0-21.1-3-26.5-8.9-5.5-5.9-8.5-14.7-9-26.4h83.3c.9-4.8 1.6-9.4 2.1-13.9.5-4.4.7-8.6.7-12.5 0-10.7-1.6-19.7-4.7-26.9-3.2-7.2-7.3-13-12.5-17.2-5.2-4.3-11.1-7.3-17.8-9.2-6.7-1.8-13.5-2.8-20.6-2.8-21.1 0-37.5 6.1-49.2 18.3s-17.5 30.5-17.5 55c0 22.8 5.2 40.7 15.6 53.7 10.4 13.1 26.8 19.6 49.2 19.6 10.7 0 20.9-1.5 30.4-4.6 9.5-3.1 17.1-6.8 22.6-11.2l-12-23.6zm-21.8-70.3c3.8 5.4 5.3 13.1 4.6 23.1h-51.7c.9-9.4 3.7-17 8.2-22.6 4.5-5.6 11.5-8.5 21-8.5 8.2-.1 14.1 2.6 17.9 8zm79.9 2.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4s2 11.7 6.1 15.6zm0 100.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4 0 6.6 2 11.7 6.1 15.6z\"]\n};\nvar faResearchgate = {\n prefix: 'fab',\n iconName: 'researchgate',\n icon: [448, 512, [], \"f4f8\", \"M0 32v448h448V32H0zm262.2 334.4c-6.6 3-33.2 6-50-14.2-9.2-10.6-25.3-33.3-42.2-63.6-8.9 0-14.7 0-21.4-.6v46.4c0 23.5 6 21.2 25.8 23.9v8.1c-6.9-.3-23.1-.8-35.6-.8-13.1 0-26.1.6-33.6.8v-8.1c15.5-2.9 22-1.3 22-23.9V225c0-22.6-6.4-21-22-23.9V193c25.8 1 53.1-.6 70.9-.6 31.7 0 55.9 14.4 55.9 45.6 0 21.1-16.7 42.2-39.2 47.5 13.6 24.2 30 45.6 42.2 58.9 7.2 7.8 17.2 14.7 27.2 14.7v7.3zm22.9-135c-23.3 0-32.2-15.7-32.2-32.2V167c0-12.2 8.8-30.4 34-30.4s30.4 17.9 30.4 17.9l-10.7 7.2s-5.5-12.5-19.7-12.5c-7.9 0-19.7 7.3-19.7 19.7v26.8c0 13.4 6.6 23.3 17.9 23.3 14.1 0 21.5-10.9 21.5-26.8h-17.9v-10.7h30.4c0 20.5 4.7 49.9-34 49.9zm-116.5 44.7c-9.4 0-13.6-.3-20-.8v-69.7c6.4-.6 15-.6 22.5-.6 23.3 0 37.2 12.2 37.2 34.5 0 21.9-15 36.6-39.7 36.6z\"]\n};\nvar faResolving = {\n prefix: 'fab',\n iconName: 'resolving',\n icon: [496, 512, [], \"f3e7\", \"M281.2 278.2c46-13.3 49.6-23.5 44-43.4L314 195.5c-6.1-20.9-18.4-28.1-71.1-12.8L54.7 236.8l28.6 98.6 197.9-57.2zM248.5 8C131.4 8 33.2 88.7 7.2 197.5l221.9-63.9c34.8-10.2 54.2-11.7 79.3-8.2 36.3 6.1 52.7 25 61.4 55.2l10.7 37.8c8.2 28.1 1 50.6-23.5 73.6-19.4 17.4-31.2 24.5-61.4 33.2L203 351.8l220.4 27.1 9.7 34.2-48.1 13.3-286.8-37.3 23 80.2c36.8 22 80.3 34.7 126.3 34.7 137 0 248.5-111.4 248.5-248.3C497 119.4 385.5 8 248.5 8zM38.3 388.6L0 256.8c0 48.5 14.3 93.4 38.3 131.8z\"]\n};\nvar faRev = {\n prefix: 'fab',\n iconName: 'rev',\n icon: [448, 512, [], \"f5b2\", \"M289.67 274.89a65.57 65.57 0 1 1-65.56-65.56 65.64 65.64 0 0 1 65.56 65.56zm139.55-5.05h-.13a204.69 204.69 0 0 0-74.32-153l-45.38 26.2a157.07 157.07 0 0 1 71.81 131.84C381.2 361.5 310.73 432 224.11 432S67 361.5 67 274.88c0-81.88 63-149.27 143-156.43v39.12l108.77-62.79L210 32v38.32c-106.7 7.25-191 96-191 204.57 0 111.59 89.12 202.29 200.06 205v.11h210.16V269.84z\"]\n};\nvar faRocketchat = {\n prefix: 'fab',\n iconName: 'rocketchat',\n icon: [576, 512, [], \"f3e8\", \"M284.046,224.8a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,284.046,224.8Zm-110.45,0a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,173.6,224.8Zm220.923,0a34.114,34.114,0,1,0,34.317,34.113A34.215,34.215,0,0,0,394.519,224.8Zm153.807-55.319c-15.535-24.172-37.31-45.57-64.681-63.618-52.886-34.817-122.374-54-195.666-54a405.975,405.975,0,0,0-72.032,6.357,238.524,238.524,0,0,0-49.51-36.588C99.684-11.7,40.859.711,11.135,11.421A14.291,14.291,0,0,0,5.58,34.782C26.542,56.458,61.222,99.3,52.7,138.252c-33.142,33.9-51.112,74.776-51.112,117.337,0,43.372,17.97,84.248,51.112,118.148,8.526,38.956-26.154,81.816-47.116,103.491a14.284,14.284,0,0,0,5.555,23.34c29.724,10.709,88.549,23.147,155.324-10.2a238.679,238.679,0,0,0,49.51-36.589A405.972,405.972,0,0,0,288,460.14c73.313,0,142.8-19.159,195.667-53.975,27.371-18.049,49.145-39.426,64.679-63.619,17.309-26.923,26.07-55.916,26.07-86.125C574.394,225.4,565.634,196.43,548.326,169.485ZM284.987,409.9a345.65,345.65,0,0,1-89.446-11.5l-20.129,19.393a184.366,184.366,0,0,1-37.138,27.585,145.767,145.767,0,0,1-52.522,14.87c.983-1.771,1.881-3.563,2.842-5.356q30.258-55.68,16.325-100.078c-32.992-25.962-52.778-59.2-52.778-95.4,0-83.1,104.254-150.469,232.846-150.469s232.867,67.373,232.867,150.469C517.854,342.525,413.6,409.9,284.987,409.9Z\"]\n};\nvar faRockrms = {\n prefix: 'fab',\n iconName: 'rockrms',\n icon: [496, 512, [], \"f3e9\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm157.4 419.5h-90l-112-131.3c-17.9-20.4-3.9-56.1 26.6-56.1h75.3l-84.6-99.3-84.3 98.9h-90L193.5 67.2c14.4-18.4 41.3-17.3 54.5 0l157.7 185.1c19 22.8 2 57.2-27.6 56.1-.6 0-74.2.2-74.2.2l101.5 118.9z\"]\n};\nvar faRust = {\n prefix: 'fab',\n iconName: 'rust',\n icon: [512, 512, [], \"e07a\", \"M508.52,249.75,486.7,236.24c-.17-2-.34-3.93-.55-5.88l18.72-17.5a7.35,7.35,0,0,0-2.44-12.25l-24-9c-.54-1.88-1.08-3.78-1.67-5.64l15-20.83a7.35,7.35,0,0,0-4.79-11.54l-25.42-4.15c-.9-1.73-1.79-3.45-2.73-5.15l10.68-23.42a7.35,7.35,0,0,0-6.95-10.39l-25.82.91q-1.79-2.22-3.61-4.4L439,81.84A7.36,7.36,0,0,0,430.16,73L405,78.93q-2.17-1.83-4.4-3.61l.91-25.82a7.35,7.35,0,0,0-10.39-7L367.7,53.23c-1.7-.94-3.43-1.84-5.15-2.73L358.4,25.08a7.35,7.35,0,0,0-11.54-4.79L326,35.26c-1.86-.59-3.75-1.13-5.64-1.67l-9-24a7.35,7.35,0,0,0-12.25-2.44l-17.5,18.72c-1.95-.21-3.91-.38-5.88-.55L262.25,3.48a7.35,7.35,0,0,0-12.5,0L236.24,25.3c-2,.17-3.93.34-5.88.55L212.86,7.13a7.35,7.35,0,0,0-12.25,2.44l-9,24c-1.89.55-3.79,1.08-5.66,1.68l-20.82-15a7.35,7.35,0,0,0-11.54,4.79l-4.15,25.41c-1.73.9-3.45,1.79-5.16,2.73L120.88,42.55a7.35,7.35,0,0,0-10.39,7l.92,25.81c-1.49,1.19-3,2.39-4.42,3.61L81.84,73A7.36,7.36,0,0,0,73,81.84L78.93,107c-1.23,1.45-2.43,2.93-3.62,4.41l-25.81-.91a7.42,7.42,0,0,0-6.37,3.26,7.35,7.35,0,0,0-.57,7.13l10.66,23.41c-.94,1.7-1.83,3.43-2.73,5.16L25.08,153.6a7.35,7.35,0,0,0-4.79,11.54l15,20.82c-.59,1.87-1.13,3.77-1.68,5.66l-24,9a7.35,7.35,0,0,0-2.44,12.25l18.72,17.5c-.21,1.95-.38,3.91-.55,5.88L3.48,249.75a7.35,7.35,0,0,0,0,12.5L25.3,275.76c.17,2,.34,3.92.55,5.87L7.13,299.13a7.35,7.35,0,0,0,2.44,12.25l24,9c.55,1.89,1.08,3.78,1.68,5.65l-15,20.83a7.35,7.35,0,0,0,4.79,11.54l25.42,4.15c.9,1.72,1.79,3.45,2.73,5.14L42.56,391.12a7.35,7.35,0,0,0,.57,7.13,7.13,7.13,0,0,0,6.37,3.26l25.83-.91q1.77,2.22,3.6,4.4L73,430.16A7.36,7.36,0,0,0,81.84,439L107,433.07q2.18,1.83,4.41,3.61l-.92,25.82a7.35,7.35,0,0,0,10.39,6.95l23.43-10.68c1.69.94,3.42,1.83,5.14,2.73l4.15,25.42a7.34,7.34,0,0,0,11.54,4.78l20.83-15c1.86.6,3.76,1.13,5.65,1.68l9,24a7.36,7.36,0,0,0,12.25,2.44l17.5-18.72c1.95.21,3.92.38,5.88.55l13.51,21.82a7.35,7.35,0,0,0,12.5,0l13.51-21.82c2-.17,3.93-.34,5.88-.56l17.5,18.73a7.36,7.36,0,0,0,12.25-2.44l9-24c1.89-.55,3.78-1.08,5.65-1.68l20.82,15a7.34,7.34,0,0,0,11.54-4.78l4.15-25.42c1.72-.9,3.45-1.79,5.15-2.73l23.42,10.68a7.35,7.35,0,0,0,10.39-6.95l-.91-25.82q2.22-1.79,4.4-3.61L430.16,439a7.36,7.36,0,0,0,8.84-8.84L433.07,405q1.83-2.17,3.61-4.4l25.82.91a7.23,7.23,0,0,0,6.37-3.26,7.35,7.35,0,0,0,.58-7.13L458.77,367.7c.94-1.7,1.83-3.43,2.73-5.15l25.42-4.15a7.35,7.35,0,0,0,4.79-11.54l-15-20.83c.59-1.87,1.13-3.76,1.67-5.65l24-9a7.35,7.35,0,0,0,2.44-12.25l-18.72-17.5c.21-1.95.38-3.91.55-5.87l21.82-13.51a7.35,7.35,0,0,0,0-12.5Zm-151,129.08A13.91,13.91,0,0,0,341,389.51l-7.64,35.67A187.51,187.51,0,0,1,177,424.44l-7.64-35.66a13.87,13.87,0,0,0-16.46-10.68l-31.51,6.76a187.38,187.38,0,0,1-16.26-19.21H258.3c1.72,0,2.89-.29,2.89-1.91V309.55c0-1.57-1.17-1.91-2.89-1.91H213.47l.05-34.35H262c4.41,0,23.66,1.28,29.79,25.87,1.91,7.55,6.17,32.14,9.06,40,2.89,8.82,14.6,26.46,27.1,26.46H407a187.3,187.3,0,0,1-17.34,20.09Zm25.77,34.49A15.24,15.24,0,1,1,368,398.08h.44A15.23,15.23,0,0,1,383.24,413.32Zm-225.62-.68a15.24,15.24,0,1,1-15.25-15.25h.45A15.25,15.25,0,0,1,157.62,412.64ZM69.57,234.15l32.83-14.6a13.88,13.88,0,0,0,7.06-18.33L102.69,186h26.56V305.73H75.65A187.65,187.65,0,0,1,69.57,234.15ZM58.31,198.09a15.24,15.24,0,0,1,15.23-15.25H74a15.24,15.24,0,1,1-15.67,15.24Zm155.16,24.49.05-35.32h63.26c3.28,0,23.07,3.77,23.07,18.62,0,12.29-15.19,16.7-27.68,16.7ZM399,306.71c-9.8,1.13-20.63-4.12-22-10.09-5.78-32.49-15.39-39.4-30.57-51.4,18.86-11.95,38.46-29.64,38.46-53.26,0-25.52-17.49-41.59-29.4-49.48-16.76-11-35.28-13.23-40.27-13.23H116.32A187.49,187.49,0,0,1,221.21,70.06l23.47,24.6a13.82,13.82,0,0,0,19.6.44l26.26-25a187.51,187.51,0,0,1,128.37,91.43l-18,40.57A14,14,0,0,0,408,220.43l34.59,15.33a187.12,187.12,0,0,1,.4,32.54H423.71c-1.91,0-2.69,1.27-2.69,3.13v8.82C421,301,409.31,305.58,399,306.71ZM240,60.21A15.24,15.24,0,0,1,255.21,45h.45A15.24,15.24,0,1,1,240,60.21ZM436.84,214a15.24,15.24,0,1,1,0-30.48h.44a15.24,15.24,0,0,1-.44,30.48Z\"]\n};\nvar faSafari = {\n prefix: 'fab',\n iconName: 'safari',\n icon: [512, 512, [], \"f267\", \"M274.69,274.69l-37.38-37.38L166,346ZM256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM411.85,182.79l14.78-6.13A8,8,0,0,1,437.08,181h0a8,8,0,0,1-4.33,10.46L418,197.57a8,8,0,0,1-10.45-4.33h0A8,8,0,0,1,411.85,182.79ZM314.43,94l6.12-14.78A8,8,0,0,1,331,74.92h0a8,8,0,0,1,4.33,10.45l-6.13,14.78a8,8,0,0,1-10.45,4.33h0A8,8,0,0,1,314.43,94ZM256,60h0a8,8,0,0,1,8,8V84a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V68A8,8,0,0,1,256,60ZM181,74.92a8,8,0,0,1,10.46,4.33L197.57,94a8,8,0,1,1-14.78,6.12l-6.13-14.78A8,8,0,0,1,181,74.92Zm-63.58,42.49h0a8,8,0,0,1,11.31,0L140,128.72A8,8,0,0,1,140,140h0a8,8,0,0,1-11.31,0l-11.31-11.31A8,8,0,0,1,117.41,117.41ZM60,256h0a8,8,0,0,1,8-8H84a8,8,0,0,1,8,8h0a8,8,0,0,1-8,8H68A8,8,0,0,1,60,256Zm40.15,73.21-14.78,6.13A8,8,0,0,1,74.92,331h0a8,8,0,0,1,4.33-10.46L94,314.43a8,8,0,0,1,10.45,4.33h0A8,8,0,0,1,100.15,329.21Zm4.33-136h0A8,8,0,0,1,94,197.57l-14.78-6.12A8,8,0,0,1,74.92,181h0a8,8,0,0,1,10.45-4.33l14.78,6.13A8,8,0,0,1,104.48,193.24ZM197.57,418l-6.12,14.78a8,8,0,0,1-14.79-6.12l6.13-14.78A8,8,0,1,1,197.57,418ZM264,444a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V428a8,8,0,0,1,8-8h0a8,8,0,0,1,8,8Zm67-6.92h0a8,8,0,0,1-10.46-4.33L314.43,418a8,8,0,0,1,4.33-10.45h0a8,8,0,0,1,10.45,4.33l6.13,14.78A8,8,0,0,1,331,437.08Zm63.58-42.49h0a8,8,0,0,1-11.31,0L372,383.28A8,8,0,0,1,372,372h0a8,8,0,0,1,11.31,0l11.31,11.31A8,8,0,0,1,394.59,394.59ZM286.25,286.25,110.34,401.66,225.75,225.75,401.66,110.34ZM437.08,331h0a8,8,0,0,1-10.45,4.33l-14.78-6.13a8,8,0,0,1-4.33-10.45h0A8,8,0,0,1,418,314.43l14.78,6.12A8,8,0,0,1,437.08,331ZM444,264H428a8,8,0,0,1-8-8h0a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8h0A8,8,0,0,1,444,264Z\"]\n};\nvar faSalesforce = {\n prefix: 'fab',\n iconName: 'salesforce',\n icon: [640, 512, [], \"f83b\", \"M248.89 245.64h-26.35c.69-5.16 3.32-14.12 13.64-14.12 6.75 0 11.97 3.82 12.71 14.12zm136.66-13.88c-.47 0-14.11-1.77-14.11 20s13.63 20 14.11 20c13 0 14.11-13.54 14.11-20 0-21.76-13.66-20-14.11-20zm-243.22 23.76a8.63 8.63 0 0 0-3.29 7.29c0 4.78 2.08 6.05 3.29 7.05 4.7 3.7 15.07 2.12 20.93.95v-16.94c-5.32-1.07-16.73-1.96-20.93 1.65zM640 232c0 87.58-80 154.39-165.36 136.43-18.37 33-70.73 70.75-132.2 41.63-41.16 96.05-177.89 92.18-213.81-5.17C8.91 428.78-50.19 266.52 53.36 205.61 18.61 126.18 76 32 167.67 32a124.24 124.24 0 0 1 98.56 48.7c20.7-21.4 49.4-34.81 81.15-34.81 42.34 0 79 23.52 98.8 58.57C539 63.78 640 132.69 640 232zm-519.55 31.8c0-11.76-11.69-15.17-17.87-17.17-5.27-2.11-13.41-3.51-13.41-8.94 0-9.46 17-6.66 25.17-2.12 0 0 1.17.71 1.64-.47.24-.7 2.36-6.58 2.59-7.29a1.13 1.13 0 0 0-.7-1.41c-12.33-7.63-40.7-8.51-40.7 12.7 0 12.46 11.49 15.44 17.88 17.17 4.72 1.58 13.17 3 13.17 8.7 0 4-3.53 7.06-9.17 7.06a31.76 31.76 0 0 1-19-6.35c-.47-.23-1.42-.71-1.65.71l-2.4 7.47c-.47.94.23 1.18.23 1.41 1.75 1.4 10.3 6.59 22.82 6.59 13.17 0 21.4-7.06 21.4-18.11zm32-42.58c-10.13 0-18.66 3.17-21.4 5.18a1 1 0 0 0-.24 1.41l2.59 7.06a1 1 0 0 0 1.18.7c.65 0 6.8-4 16.93-4 4 0 7.06.71 9.18 2.36 3.6 2.8 3.06 8.29 3.06 10.58-4.79-.3-19.11-3.44-29.41 3.76a16.92 16.92 0 0 0-7.34 14.54c0 5.9 1.51 10.4 6.59 14.35 12.24 8.16 36.28 2 38.1 1.41 1.58-.32 3.53-.66 3.53-1.88v-33.88c.04-4.61.32-21.64-22.78-21.64zM199 200.24a1.11 1.11 0 0 0-1.18-1.18H188a1.11 1.11 0 0 0-1.17 1.18v79a1.11 1.11 0 0 0 1.17 1.18h9.88a1.11 1.11 0 0 0 1.18-1.18zm55.75 28.93c-2.1-2.31-6.79-7.53-17.65-7.53-3.51 0-14.16.23-20.7 8.94-6.35 7.63-6.58 18.11-6.58 21.41 0 3.12.15 14.26 7.06 21.17 2.64 2.91 9.06 8.23 22.81 8.23 10.82 0 16.47-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.35-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.94-16.7h37.17a1.23 1.23 0 0 0 1.17-.94c-.29 0 2.07-14.7-6.09-24.23zm36.69 52.69c13.17 0 21.41-7.06 21.41-18.11 0-11.76-11.7-15.17-17.88-17.17-4.14-1.66-13.41-3.38-13.41-8.94 0-3.76 3.29-6.35 8.47-6.35a38.11 38.11 0 0 1 16.7 4.23s1.18.71 1.65-.47c.23-.7 2.35-6.58 2.58-7.29a1.13 1.13 0 0 0-.7-1.41c-7.91-4.9-16.74-4.94-20.23-4.94-12 0-20.46 7.29-20.46 17.64 0 12.46 11.48 15.44 17.87 17.17 6.11 2 13.17 3.26 13.17 8.7 0 4-3.52 7.06-9.17 7.06a31.8 31.8 0 0 1-19-6.35 1 1 0 0 0-1.65.71l-2.35 7.52c-.47.94.23 1.18.23 1.41 1.72 1.4 10.33 6.59 22.79 6.59zM357.09 224c0-.71-.24-1.18-1.18-1.18h-11.76c0-.14.94-8.94 4.47-12.47 4.16-4.15 11.76-1.64 12-1.64 1.17.47 1.41 0 1.64-.47l2.83-7.77c.7-.94 0-1.17-.24-1.41-5.09-2-17.35-2.87-24.46 4.24-5.48 5.48-7 13.92-8 19.52h-8.47a1.28 1.28 0 0 0-1.17 1.18l-1.42 7.76c0 .7.24 1.17 1.18 1.17h8.23c-8.51 47.9-8.75 50.21-10.35 55.52-1.08 3.62-3.29 6.9-5.88 7.76-.09 0-3.88 1.68-9.64-.24 0 0-.94-.47-1.41.71-.24.71-2.59 6.82-2.83 7.53s0 1.41.47 1.41c5.11 2 13 1.77 17.88 0 6.28-2.28 9.72-7.89 11.53-12.94 2.75-7.71 2.81-9.79 11.76-59.74h12.23a1.29 1.29 0 0 0 1.18-1.18zm53.39 16c-.56-1.68-5.1-18.11-25.17-18.11-15.25 0-23 10-25.16 18.11-1 3-3.18 14 0 23.52.09.3 4.41 18.12 25.16 18.12 14.95 0 22.9-9.61 25.17-18.12 3.21-9.61 1.01-20.52 0-23.52zm45.4-16.7c-5-1.65-16.62-1.9-22.11 5.41v-4.47a1.11 1.11 0 0 0-1.18-1.17h-9.4a1.11 1.11 0 0 0-1.18 1.17v55.28a1.12 1.12 0 0 0 1.18 1.18h9.64a1.12 1.12 0 0 0 1.18-1.18v-27.77c0-2.91.05-11.37 4.46-15.05 4.9-4.9 12-3.36 13.41-3.06a1.57 1.57 0 0 0 1.41-.94 74 74 0 0 0 3.06-8 1.16 1.16 0 0 0-.47-1.41zm46.81 54.1l-2.12-7.29c-.47-1.18-1.41-.71-1.41-.71-4.23 1.82-10.15 1.89-11.29 1.89-4.64 0-17.17-1.13-17.17-19.76 0-6.23 1.85-19.76 16.47-19.76a34.85 34.85 0 0 1 11.52 1.65s.94.47 1.18-.71c.94-2.59 1.64-4.47 2.59-7.53.23-.94-.47-1.17-.71-1.17-11.59-3.87-22.34-2.53-27.76 0-1.59.74-16.23 6.49-16.23 27.52 0 2.9-.58 30.11 28.94 30.11a44.45 44.45 0 0 0 15.52-2.83 1.3 1.3 0 0 0 .47-1.42zm53.87-39.52c-.8-3-5.37-16.23-22.35-16.23-16 0-23.52 10.11-25.64 18.59a38.58 38.58 0 0 0-1.65 11.76c0 25.87 18.84 29.4 29.88 29.4 10.82 0 16.46-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.36-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.93-16.7h37.16a1.25 1.25 0 0 0 1.18-.94c-.24-.01.94-7.07-1.41-15.54zm-23.29-6.35c-10.33 0-13 9-13.64 14.12H546c-.88-11.92-7.62-14.13-12.73-14.13z\"]\n};\nvar faSass = {\n prefix: 'fab',\n iconName: 'sass',\n icon: [640, 512, [], \"f41e\", \"M301.84 378.92c-.3.6-.6 1.08 0 0zm249.13-87a131.16 131.16 0 0 0-58 13.5c-5.9-11.9-12-22.3-13-30.1-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.3-6.7-24 2.5-25.29 5.9a122.83 122.83 0 0 0-5.3 19.1c-2.3 11.7-25.79 53.5-39.09 75.3-4.4-8.5-8.1-16-8.9-22-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.29-6.7-24 2.5-25.3 5.9-2.7 11.4-5.3 19.1-33.89 77.3-42.08 95.4c-4.2 9.2-7.8 16.6-10.4 21.6-.4.8-.7 1.3-.9 1.7.3-.5.5-1 .5-.8-2.2 4.3-3.5 6.7-3.5 6.7v.1c-1.7 3.2-3.6 6.1-4.5 6.1-.6 0-1.9-8.4.3-19.9 4.7-24.2 15.8-61.8 15.7-63.1-.1-.7 2.1-7.2-7.3-10.7-9.1-3.3-12.4 2.2-13.2 2.2s-1.4 2-1.4 2 10.1-42.4-19.39-42.4c-18.4 0-44 20.2-56.58 38.5-7.9 4.3-25 13.6-43 23.5-6.9 3.8-14 7.7-20.7 11.4-.5-.5-.9-1-1.4-1.5-35.79-38.2-101.87-65.2-99.07-116.5 1-18.7 7.5-67.8 127.07-127.4 98-48.8 176.35-35.4 189.84-5.6 19.4 42.5-41.89 121.6-143.66 133-38.79 4.3-59.18-10.7-64.28-16.3-5.3-5.9-6.1-6.2-8.1-5.1-3.3 1.8-1.2 7 0 10.1 3 7.9 15.5 21.9 36.79 28.9 18.7 6.1 64.18 9.5 119.17-11.8 61.78-23.8 109.87-90.1 95.77-145.6C386.52 18.32 293-.18 204.57 31.22c-52.69 18.7-109.67 48.1-150.66 86.4-48.69 45.6-56.48 85.3-53.28 101.9 11.39 58.9 92.57 97.3 125.06 125.7-1.6.9-3.1 1.7-4.5 2.5-16.29 8.1-78.18 40.5-93.67 74.7-17.5 38.8 2.9 66.6 16.29 70.4 41.79 11.6 84.58-9.3 107.57-43.6s20.2-79.1 9.6-99.5c-.1-.3-.3-.5-.4-.8 4.2-2.5 8.5-5 12.8-7.5 8.29-4.9 16.39-9.4 23.49-13.3-4 10.8-6.9 23.8-8.4 42.6-1.8 22 7.3 50.5 19.1 61.7 5.2 4.9 11.49 5 15.39 5 13.8 0 20-11.4 26.89-25 8.5-16.6 16-35.9 16-35.9s-9.4 52.2 16.3 52.2c9.39 0 18.79-12.1 23-18.3v.1s.2-.4.7-1.2c1-1.5 1.5-2.4 1.5-2.4v-.3c3.8-6.5 12.1-21.4 24.59-46 16.2-31.8 31.69-71.5 31.69-71.5a201.24 201.24 0 0 0 6.2 25.8c2.8 9.5 8.7 19.9 13.4 30-3.8 5.2-6.1 8.2-6.1 8.2a.31.31 0 0 0 .1.2c-3 4-6.4 8.3-9.9 12.5-12.79 15.2-28 32.6-30 37.6-2.4 5.9-1.8 10.3 2.8 13.7 3.4 2.6 9.4 3 15.69 2.5 11.5-.8 19.6-3.6 23.5-5.4a82.2 82.2 0 0 0 20.19-10.6c12.5-9.2 20.1-22.4 19.4-39.8-.4-9.6-3.5-19.2-7.3-28.2 1.1-1.6 2.3-3.3 3.4-5C434.8 301.72 450.1 270 450.1 270a201.24 201.24 0 0 0 6.2 25.8c2.4 8.1 7.09 17 11.39 25.7-18.59 15.1-30.09 32.6-34.09 44.1-7.4 21.3-1.6 30.9 9.3 33.1 4.9 1 11.9-1.3 17.1-3.5a79.46 79.46 0 0 0 21.59-11.1c12.5-9.2 24.59-22.1 23.79-39.6-.3-7.9-2.5-15.8-5.4-23.4 15.7-6.6 36.09-10.2 62.09-7.2 55.68 6.5 66.58 41.3 64.48 55.8s-13.8 22.6-17.7 25-5.1 3.3-4.8 5.1c.5 2.6 2.3 2.5 5.6 1.9 4.6-.8 29.19-11.8 30.29-38.7 1.6-34-31.09-71.4-89-71.1zm-429.18 144.7c-18.39 20.1-44.19 27.7-55.28 21.3C54.61 451 59.31 421.42 82 400c13.8-13 31.59-25 43.39-32.4 2.7-1.6 6.6-4 11.4-6.9.8-.5 1.2-.7 1.2-.7.9-.6 1.9-1.1 2.9-1.7 8.29 30.4.3 57.2-19.1 78.3zm134.36-91.4c-6.4 15.7-19.89 55.7-28.09 53.6-7-1.8-11.3-32.3-1.4-62.3 5-15.1 15.6-33.1 21.9-40.1 10.09-11.3 21.19-14.9 23.79-10.4 3.5 5.9-12.2 49.4-16.2 59.2zm111 53c-2.7 1.4-5.2 2.3-6.4 1.6-.9-.5 1.1-2.4 1.1-2.4s13.9-14.9 19.4-21.7c3.2-4 6.9-8.7 10.89-13.9 0 .5.1 1 .1 1.6-.13 17.9-17.32 30-25.12 34.8zm85.58-19.5c-2-1.4-1.7-6.1 5-20.7 2.6-5.7 8.59-15.3 19-24.5a36.18 36.18 0 0 1 1.9 10.8c-.1 22.5-16.2 30.9-25.89 34.4z\"]\n};\nvar faSchlix = {\n prefix: 'fab',\n iconName: 'schlix',\n icon: [448, 512, [], \"f3ea\", \"M350.5 157.7l-54.2-46.1 73.4-39 78.3 44.2-97.5 40.9zM192 122.1l45.7-28.2 34.7 34.6-55.4 29-25-35.4zm-65.1 6.6l31.9-22.1L176 135l-36.7 22.5-12.4-28.8zm-23.3 88.2l-8.8-34.8 29.6-18.3 13.1 35.3-33.9 17.8zm-21.2-83.7l23.9-18.1 8.9 24-26.7 18.3-6.1-24.2zM59 206.5l-3.6-28.4 22.3-15.5 6.1 28.7L59 206.5zm-30.6 16.6l20.8-12.8 3.3 33.4-22.9 12-1.2-32.6zM1.4 268l19.2-10.2.4 38.2-21 8.8L1.4 268zm59.1 59.3l-28.3 8.3-1.6-46.8 25.1-10.7 4.8 49.2zM99 263.2l-31.1 13-5.2-40.8L90.1 221l8.9 42.2zM123.2 377l-41.6 5.9-8.1-63.5 35.2-10.8 14.5 68.4zm28.5-139.9l21.2 57.1-46.2 13.6-13.7-54.1 38.7-16.6zm85.7 230.5l-70.9-3.3-24.3-95.8 55.2-8.6 40 107.7zm-84.9-279.7l42.2-22.4 28 45.9-50.8 21.3-19.4-44.8zm41 94.9l61.3-18.7 52.8 86.6-79.8 11.3-34.3-79.2zm51.4-85.6l67.3-28.8 65.5 65.4-88.6 26.2-44.2-62.8z\"]\n};\nvar faScribd = {\n prefix: 'fab',\n iconName: 'scribd',\n icon: [384, 512, [], \"f28a\", \"M42.3 252.7c-16.1-19-24.7-45.9-24.8-79.9 0-100.4 75.2-153.1 167.2-153.1 98.6-1.6 156.8 49 184.3 70.6l-50.5 72.1-37.3-24.6 26.9-38.6c-36.5-24-79.4-36.5-123-35.8-50.7-.8-111.7 27.2-111.7 76.2 0 18.7 11.2 20.7 28.6 15.6 23.3-5.3 41.9.6 55.8 14 26.4 24.3 23.2 67.6-.7 91.9-29.2 29.5-85.2 27.3-114.8-8.4zm317.7 5.9c-15.5-18.8-38.9-29.4-63.2-28.6-38.1-2-71.1 28-70.5 67.2-.7 16.8 6 33 18.4 44.3 14.1 13.9 33 19.7 56.3 14.4 17.4-5.1 28.6-3.1 28.6 15.6 0 4.3-.5 8.5-1.4 12.7-16.7 40.9-59.5 64.4-121.4 64.4-51.9.2-102.4-16.4-144.1-47.3l33.7-39.4-35.6-27.4L0 406.3l15.4 13.8c52.5 46.8 120.4 72.5 190.7 72.2 51.4 0 94.4-10.5 133.6-44.1 57.1-51.4 54.2-149.2 20.3-189.6z\"]\n};\nvar faSearchengin = {\n prefix: 'fab',\n iconName: 'searchengin',\n icon: [460, 512, [], \"f3eb\", \"M220.6 130.3l-67.2 28.2V43.2L98.7 233.5l54.7-24.2v130.3l67.2-209.3zm-83.2-96.7l-1.3 4.7-15.2 52.9C80.6 106.7 52 145.8 52 191.5c0 52.3 34.3 95.9 83.4 105.5v53.6C57.5 340.1 0 272.4 0 191.6c0-80.5 59.8-147.2 137.4-158zm311.4 447.2c-11.2 11.2-23.1 12.3-28.6 10.5-5.4-1.8-27.1-19.9-60.4-44.4-33.3-24.6-33.6-35.7-43-56.7-9.4-20.9-30.4-42.6-57.5-52.4l-9.7-14.7c-24.7 16.9-53 26.9-81.3 28.7l2.1-6.6 15.9-49.5c46.5-11.9 80.9-54 80.9-104.2 0-54.5-38.4-102.1-96-107.1V32.3C254.4 37.4 320 106.8 320 191.6c0 33.6-11.2 64.7-29 90.4l14.6 9.6c9.8 27.1 31.5 48 52.4 57.4s32.2 9.7 56.8 43c24.6 33.2 42.7 54.9 44.5 60.3s.7 17.3-10.5 28.5zm-9.9-17.9c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8 8-3.6 8-8z\"]\n};\nvar faSellcast = {\n prefix: 'fab',\n iconName: 'sellcast',\n icon: [448, 512, [], \"f2da\", \"M353.4 32H94.7C42.6 32 0 74.6 0 126.6v258.7C0 437.4 42.6 480 94.7 480h258.7c52.1 0 94.7-42.6 94.7-94.6V126.6c0-52-42.6-94.6-94.7-94.6zm-50 316.4c-27.9 48.2-89.9 64.9-138.2 37.2-22.9 39.8-54.9 8.6-42.3-13.2l15.7-27.2c5.9-10.3 19.2-13.9 29.5-7.9 18.6 10.8-.1-.1 18.5 10.7 27.6 15.9 63.4 6.3 79.4-21.3 15.9-27.6 6.3-63.4-21.3-79.4-17.8-10.2-.6-.4-18.6-10.6-24.6-14.2-3.4-51.9 21.6-37.5 18.6 10.8-.1-.1 18.5 10.7 48.4 28 65.1 90.3 37.2 138.5zm21.8-208.8c-17 29.5-16.3 28.8-19 31.5-6.5 6.5-16.3 8.7-26.5 3.6-18.6-10.8.1.1-18.5-10.7-27.6-15.9-63.4-6.3-79.4 21.3s-6.3 63.4 21.3 79.4c0 0 18.5 10.6 18.6 10.6 24.6 14.2 3.4 51.9-21.6 37.5-18.6-10.8.1.1-18.5-10.7-48.2-27.8-64.9-90.1-37.1-138.4 27.9-48.2 89.9-64.9 138.2-37.2l4.8-8.4c14.3-24.9 52-3.3 37.7 21.5z\"]\n};\nvar faSellsy = {\n prefix: 'fab',\n iconName: 'sellsy',\n icon: [640, 512, [], \"f213\", \"M539.71 237.308c3.064-12.257 4.29-24.821 4.29-37.384C544 107.382 468.618 32 376.076 32c-77.22 0-144.634 53.012-163.02 127.781-15.322-13.176-34.934-20.53-55.157-20.53-46.271 0-83.962 37.69-83.962 83.961 0 7.354.92 15.015 3.065 22.369-42.9 20.225-70.785 63.738-70.785 111.234C6.216 424.843 61.68 480 129.401 480h381.198c67.72 0 123.184-55.157 123.184-123.184.001-56.384-38.916-106.025-94.073-119.508zM199.88 401.554c0 8.274-7.048 15.321-15.321 15.321H153.61c-8.274 0-15.321-7.048-15.321-15.321V290.626c0-8.273 7.048-15.321 15.321-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v110.928zm89.477 0c0 8.274-7.048 15.321-15.322 15.321h-30.949c-8.274 0-15.321-7.048-15.321-15.321V270.096c0-8.274 7.048-15.321 15.321-15.321h30.949c8.274 0 15.322 7.048 15.322 15.321v131.458zm89.477 0c0 8.274-7.047 15.321-15.321 15.321h-30.949c-8.274 0-15.322-7.048-15.322-15.321V238.84c0-8.274 7.048-15.321 15.322-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v162.714zm87.027 0c0 8.274-7.048 15.321-15.322 15.321h-28.497c-8.274 0-15.321-7.048-15.321-15.321V176.941c0-8.579 7.047-15.628 15.321-15.628h28.497c8.274 0 15.322 7.048 15.322 15.628v224.613z\"]\n};\nvar faServicestack = {\n prefix: 'fab',\n iconName: 'servicestack',\n icon: [496, 512, [], \"f3ec\", \"M88 216c81.7 10.2 273.7 102.3 304 232H0c99.5-8.1 184.5-137 88-232zm32-152c32.3 35.6 47.7 83.9 46.4 133.6C249.3 231.3 373.7 321.3 400 448h96C455.3 231.9 222.8 79.5 120 64z\"]\n};\nvar faShirtsinbulk = {\n prefix: 'fab',\n iconName: 'shirtsinbulk',\n icon: [448, 512, [], \"f214\", \"M100 410.3l30.6 13.4 4.4-9.9-30.6-13.4zm39.4 17.5l30.6 13.4 4.4-9.9-30.6-13.4zm172.1-14l4.4 9.9 30.6-13.4-4.4-9.9zM179.1 445l30.3 13.7 4.4-9.9-30.3-13.4zM60.4 392.8L91 406.2l4.4-9.6-30.6-13.7zm211.4 38.5l4.4 9.9 30.6-13.4-4.4-9.9zm-39.3 17.5l4.4 9.9 30.6-13.7-4.4-9.6zm118.4-52.2l4.4 9.6 30.6-13.4-4.4-9.9zM170 46.6h-33.5v10.5H170zm-47.2 0H89.2v10.5h33.5zm-47.3 0H42.3v10.5h33.3zm141.5 0h-33.2v10.5H217zm94.5 0H278v10.5h33.5zm47.3 0h-33.5v10.5h33.5zm-94.6 0H231v10.5h33.2zm141.5 0h-33.3v10.5h33.3zM52.8 351.1H42v33.5h10.8zm70-215.9H89.2v10.5h33.5zm-70 10.6h22.8v-10.5H42v33.5h10.8zm168.9 228.6c50.5 0 91.3-40.8 91.3-91.3 0-50.2-40.8-91.3-91.3-91.3-50.2 0-91.3 41.1-91.3 91.3 0 50.5 41.1 91.3 91.3 91.3zm-48.2-111.1c0-25.4 29.5-31.8 49.6-31.8 16.9 0 29.2 5.8 44.3 12l-8.8 16.9h-.9c-6.4-9.9-24.8-13.1-35.6-13.1-9 0-29.8 1.8-29.8 14.9 0 21.6 78.5-10.2 78.5 37.9 0 25.4-31.5 31.2-51 31.2-18.1 0-32.4-2.9-47.2-12.2l9-18.4h.9c6.1 12.2 23.6 14.9 35.9 14.9 8.7 0 32.7-1.2 32.7-14.3 0-26.1-77.6 6.3-77.6-38zM52.8 178.4H42V212h10.8zm342.4 206.2H406v-33.5h-10.8zM52.8 307.9H42v33.5h10.8zM0 3.7v406l221.7 98.6L448 409.7V3.7zm418.8 387.1L222 476.5 29.2 390.8V120.7h389.7v270.1zm0-299.3H29.2V32.9h389.7v58.6zm-366 130.1H42v33.5h10.8zm0 43.2H42v33.5h10.8zM170 135.2h-33.5v10.5H170zm225.2 163.1H406v-33.5h-10.8zm0-43.2H406v-33.5h-10.8zM217 135.2h-33.2v10.5H217zM395.2 212H406v-33.5h-10.8zm0 129.5H406V308h-10.8zm-131-206.3H231v10.5h33.2zm47.3 0H278v10.5h33.5zm83.7 33.6H406v-33.5h-33.5v10.5h22.8zm-36.4-33.6h-33.5v10.5h33.5z\"]\n};\nvar faShopify = {\n prefix: 'fab',\n iconName: 'shopify',\n icon: [448, 512, [], \"e057\", \"M388.32,104.1a4.66,4.66,0,0,0-4.4-4c-2,0-37.23-.8-37.23-.8s-21.61-20.82-29.62-28.83V503.2L442.76,472S388.72,106.5,388.32,104.1ZM288.65,70.47a116.67,116.67,0,0,0-7.21-17.61C271,32.85,255.42,22,237,22a15,15,0,0,0-4,.4c-.4-.8-1.2-1.2-1.6-2C223.4,11.63,213,7.63,200.58,8c-24,.8-48,18-67.25,48.83-13.61,21.62-24,48.84-26.82,70.06-27.62,8.4-46.83,14.41-47.23,14.81-14,4.4-14.41,4.8-16,18-1.2,10-38,291.82-38,291.82L307.86,504V65.67a41.66,41.66,0,0,0-4.4.4S297.86,67.67,288.65,70.47ZM233.41,87.69c-16,4.8-33.63,10.4-50.84,15.61,4.8-18.82,14.41-37.63,25.62-50,4.4-4.4,10.41-9.61,17.21-12.81C232.21,54.86,233.81,74.48,233.41,87.69ZM200.58,24.44A27.49,27.49,0,0,1,215,28c-6.4,3.2-12.81,8.41-18.81,14.41-15.21,16.42-26.82,42-31.62,66.45-14.42,4.41-28.83,8.81-42,12.81C131.33,83.28,163.75,25.24,200.58,24.44ZM154.15,244.61c1.6,25.61,69.25,31.22,73.25,91.66,2.8,47.64-25.22,80.06-65.65,82.47-48.83,3.2-75.65-25.62-75.65-25.62l10.4-44s26.82,20.42,48.44,18.82c14-.8,19.22-12.41,18.81-20.42-2-33.62-57.24-31.62-60.84-86.86-3.2-46.44,27.22-93.27,94.47-97.68,26-1.6,39.23,4.81,39.23,4.81L221.4,225.39s-17.21-8-37.63-6.4C154.15,221,153.75,239.8,154.15,244.61ZM249.42,82.88c0-12-1.6-29.22-7.21-43.63,18.42,3.6,27.22,24,31.23,36.43Q262.63,78.68,249.42,82.88Z\"]\n};\nvar faShopware = {\n prefix: 'fab',\n iconName: 'shopware',\n icon: [512, 512, [], \"f5b5\", \"M403.5 455.41A246.17 246.17 0 0 1 256 504C118.81 504 8 393 8 256 8 118.81 119 8 256 8a247.39 247.39 0 0 1 165.7 63.5 3.57 3.57 0 0 1-2.86 6.18A418.62 418.62 0 0 0 362.13 74c-129.36 0-222.4 53.47-222.4 155.35 0 109 92.13 145.88 176.83 178.73 33.64 13 65.4 25.36 87 41.59a3.58 3.58 0 0 1 0 5.72zM503 233.09a3.64 3.64 0 0 0-1.27-2.44c-51.76-43-93.62-60.48-144.48-60.48-84.13 0-80.25 52.17-80.25 53.63 0 42.6 52.06 62 112.34 84.49 31.07 11.59 63.19 23.57 92.68 39.93a3.57 3.57 0 0 0 5-1.82A249 249 0 0 0 503 233.09z\"]\n};\nvar faSimplybuilt = {\n prefix: 'fab',\n iconName: 'simplybuilt',\n icon: [512, 512, [], \"f215\", \"M481.2 64h-106c-14.5 0-26.6 11.8-26.6 26.3v39.6H163.3V90.3c0-14.5-12-26.3-26.6-26.3h-106C16.1 64 4.3 75.8 4.3 90.3v331.4c0 14.5 11.8 26.3 26.6 26.3h450.4c14.8 0 26.6-11.8 26.6-26.3V90.3c-.2-14.5-12-26.3-26.7-26.3zM149.8 355.8c-36.6 0-66.4-29.7-66.4-66.4 0-36.9 29.7-66.6 66.4-66.6 36.9 0 66.6 29.7 66.6 66.6 0 36.7-29.7 66.4-66.6 66.4zm212.4 0c-36.9 0-66.6-29.7-66.6-66.6 0-36.6 29.7-66.4 66.6-66.4 36.6 0 66.4 29.7 66.4 66.4 0 36.9-29.8 66.6-66.4 66.6z\"]\n};\nvar faSistrix = {\n prefix: 'fab',\n iconName: 'sistrix',\n icon: [448, 512, [], \"f3ee\", \"M448 449L301.2 300.2c20-27.9 31.9-62.2 31.9-99.2 0-93.1-74.7-168.9-166.5-168.9C74.7 32 0 107.8 0 200.9s74.7 168.9 166.5 168.9c39.8 0 76.3-14.2 105-37.9l146 148.1 30.5-31zM166.5 330.8c-70.6 0-128.1-58.3-128.1-129.9S95.9 71 166.5 71s128.1 58.3 128.1 129.9-57.4 129.9-128.1 129.9z\"]\n};\nvar faSith = {\n prefix: 'fab',\n iconName: 'sith',\n icon: [448, 512, [], \"f512\", \"M0 32l69.71 118.75-58.86-11.52 69.84 91.03a146.741 146.741 0 0 0 0 51.45l-69.84 91.03 58.86-11.52L0 480l118.75-69.71-11.52 58.86 91.03-69.84c17.02 3.04 34.47 3.04 51.48 0l91.03 69.84-11.52-58.86L448 480l-69.71-118.78 58.86 11.52-69.84-91.03c3.03-17.01 3.04-34.44 0-51.45l69.84-91.03-58.86 11.52L448 32l-118.75 69.71 11.52-58.9-91.06 69.87c-8.5-1.52-17.1-2.29-25.71-2.29s-17.21.78-25.71 2.29l-91.06-69.87 11.52 58.9L0 32zm224 99.78c31.8 0 63.6 12.12 87.85 36.37 48.5 48.5 48.49 127.21 0 175.7s-127.2 48.46-175.7-.03c-48.5-48.5-48.49-127.21 0-175.7 24.24-24.25 56.05-36.34 87.85-36.34zm0 36.66c-22.42 0-44.83 8.52-61.92 25.61-34.18 34.18-34.19 89.68 0 123.87s89.65 34.18 123.84 0c34.18-34.18 34.19-89.68 0-123.87-17.09-17.09-39.5-25.61-61.92-25.61z\"]\n};\nvar faSketch = {\n prefix: 'fab',\n iconName: 'sketch',\n icon: [512, 512, [], \"f7c6\", \"M27.5 162.2L9 187.1h90.5l6.9-130.7-78.9 105.8zM396.3 45.7L267.7 32l135.7 147.2-7.1-133.5zM112.2 218.3l-11.2-22H9.9L234.8 458zm2-31.2h284l-81.5-88.5L256.3 33zm297.3 9.1L277.6 458l224.8-261.7h-90.9zM415.4 69L406 56.4l.9 17.3 6.1 113.4h90.3zM113.5 93.5l-4.6 85.6L244.7 32 116.1 45.7zm287.7 102.7h-290l42.4 82.9L256.3 480l144.9-283.8z\"]\n};\nvar faSkyatlas = {\n prefix: 'fab',\n iconName: 'skyatlas',\n icon: [640, 512, [], \"f216\", \"M640 329.3c0 65.9-52.5 114.4-117.5 114.4-165.9 0-196.6-249.7-359.7-249.7-146.9 0-147.1 212.2 5.6 212.2 42.5 0 90.9-17.8 125.3-42.5 5.6-4.1 16.9-16.3 22.8-16.3s10.9 5 10.9 10.9c0 7.8-13.1 19.1-18.7 24.1-40.9 35.6-100.3 61.2-154.7 61.2-83.4.1-154-59-154-144.9s67.5-149.1 152.8-149.1c185.3 0 222.5 245.9 361.9 245.9 99.9 0 94.8-139.7 3.4-139.7-17.5 0-35 11.6-46.9 11.6-8.4 0-15.9-7.2-15.9-15.6 0-11.6 5.3-23.7 5.3-36.3 0-66.6-50.9-114.7-116.9-114.7-53.1 0-80 36.9-88.8 36.9-6.2 0-11.2-5-11.2-11.2 0-5.6 4.1-10.3 7.8-14.4 25.3-28.8 64.7-43.7 102.8-43.7 79.4 0 139.1 58.4 139.1 137.8 0 6.9-.3 13.7-1.2 20.6 11.9-3.1 24.1-4.7 35.9-4.7 60.7 0 111.9 45.3 111.9 107.2z\"]\n};\nvar faSkype = {\n prefix: 'fab',\n iconName: 'skype',\n icon: [448, 512, [], \"f17e\", \"M424.7 299.8c2.9-14 4.7-28.9 4.7-43.8 0-113.5-91.9-205.3-205.3-205.3-14.9 0-29.7 1.7-43.8 4.7C161.3 40.7 137.7 32 112 32 50.2 32 0 82.2 0 144c0 25.7 8.7 49.3 23.3 68.2-2.9 14-4.7 28.9-4.7 43.8 0 113.5 91.9 205.3 205.3 205.3 14.9 0 29.7-1.7 43.8-4.7 19 14.6 42.6 23.3 68.2 23.3 61.8 0 112-50.2 112-112 .1-25.6-8.6-49.2-23.2-68.1zm-194.6 91.5c-65.6 0-120.5-29.2-120.5-65 0-16 9-30.6 29.5-30.6 31.2 0 34.1 44.9 88.1 44.9 25.7 0 42.3-11.4 42.3-26.3 0-18.7-16-21.6-42-28-62.5-15.4-117.8-22-117.8-87.2 0-59.2 58.6-81.1 109.1-81.1 55.1 0 110.8 21.9 110.8 55.4 0 16.9-11.4 31.8-30.3 31.8-28.3 0-29.2-33.5-75-33.5-25.7 0-42 7-42 22.5 0 19.8 20.8 21.8 69.1 33 41.4 9.3 90.7 26.8 90.7 77.6 0 59.1-57.1 86.5-112 86.5z\"]\n};\nvar faSlack = {\n prefix: 'fab',\n iconName: 'slack',\n icon: [448, 512, [], \"f198\", \"M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z\"]\n};\nvar faSlackHash = {\n prefix: 'fab',\n iconName: 'slack-hash',\n icon: [448, 512, [], \"f3ef\", \"M446.2 270.4c-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-30.3-90 45.4-15.1c19.1-6.2 29.1-26.8 23-45.9-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-93.4 31.2-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-45.3 15c-19.1 6.2-29.1 26.8-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l30.3 90L78 354.8c-19 6.2-29.1 26.9-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 93.6-31.3 15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 45.4-15.1c19-6 29.1-26.7 22.9-45.7zm-254.1 47.2l-30.3-90.2 93.5-31.3 30.3 90.2-93.5 31.3z\"]\n};\nvar faSlideshare = {\n prefix: 'fab',\n iconName: 'slideshare',\n icon: [512, 512, [], \"f1e7\", \"M187.7 153.7c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7s61.7-26 61.7-57.7c0-32-27.7-57.7-61.7-57.7zm143.4 0c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7 34.3 0 61.7-26 61.7-57.7.1-32-27.4-57.7-61.7-57.7zm156.6 90l-6 4.3V49.7c0-27.4-20.6-49.7-46-49.7H76.6c-25.4 0-46 22.3-46 49.7V248c-2-1.4-4.3-2.9-6.3-4.3-15.1-10.6-25.1 4-16 17.7 18.3 22.6 53.1 50.3 106.3 72C58.3 525.1 252 555.7 248.9 457.5c0-.7.3-56.6.3-96.6 5.1 1.1 9.4 2.3 13.7 3.1 0 39.7.3 92.8.3 93.5-3.1 98.3 190.6 67.7 134.3-124 53.1-21.7 88-49.4 106.3-72 9.1-13.8-.9-28.3-16.1-17.8zm-30.5 19.2c-68.9 37.4-128.3 31.1-160.6 29.7-23.7-.9-32.6 9.1-33.7 24.9-10.3-7.7-18.6-15.5-20.3-17.1-5.1-5.4-13.7-8-27.1-7.7-31.7 1.1-89.7 7.4-157.4-28V72.3c0-34.9 8.9-45.7 40.6-45.7h317.7c30.3 0 40.9 12.9 40.9 45.7v190.6z\"]\n};\nvar faSnapchat = {\n prefix: 'fab',\n iconName: 'snapchat',\n icon: [496, 512, [], \"f2ab\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm169.5 338.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C183.1 100 230.7 96 244.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z\"]\n};\nvar faSnapchatGhost = {\n prefix: 'fab',\n iconName: 'snapchat-ghost',\n icon: [512, 512, [], \"f2ac\", \"M510.846 392.673c-5.211 12.157-27.239 21.089-67.36 27.318-2.064 2.786-3.775 14.686-6.507 23.956-1.625 5.566-5.623 8.869-12.128 8.869l-.297-.005c-9.395 0-19.203-4.323-38.852-4.323-26.521 0-35.662 6.043-56.254 20.588-21.832 15.438-42.771 28.764-74.027 27.399-31.646 2.334-58.025-16.908-72.871-27.404-20.714-14.643-29.828-20.582-56.241-20.582-18.864 0-30.736 4.72-38.852 4.72-8.073 0-11.213-4.922-12.422-9.04-2.703-9.189-4.404-21.263-6.523-24.13-20.679-3.209-67.31-11.344-68.498-32.15a10.627 10.627 0 0 1 8.877-11.069c69.583-11.455 100.924-82.901 102.227-85.934.074-.176.155-.344.237-.515 3.713-7.537 4.544-13.849 2.463-18.753-5.05-11.896-26.872-16.164-36.053-19.796-23.715-9.366-27.015-20.128-25.612-27.504 2.437-12.836 21.725-20.735 33.002-15.453 8.919 4.181 16.843 6.297 23.547 6.297 5.022 0 8.212-1.204 9.96-2.171-2.043-35.936-7.101-87.29 5.687-115.969C158.122 21.304 229.705 15.42 250.826 15.42c.944 0 9.141-.089 10.11-.089 52.148 0 102.254 26.78 126.723 81.643 12.777 28.65 7.749 79.792 5.695 116.009 1.582.872 4.357 1.942 8.599 2.139 6.397-.286 13.815-2.389 22.069-6.257 6.085-2.846 14.406-2.461 20.48.058l.029.01c9.476 3.385 15.439 10.215 15.589 17.87.184 9.747-8.522 18.165-25.878 25.018-2.118.835-4.694 1.655-7.434 2.525-9.797 3.106-24.6 7.805-28.616 17.271-2.079 4.904-1.256 11.211 2.46 18.748.087.168.166.342.239.515 1.301 3.03 32.615 74.46 102.23 85.934 6.427 1.058 11.163 7.877 7.725 15.859z\"]\n};\nvar faSnapchatSquare = {\n prefix: 'fab',\n iconName: 'snapchat-square',\n icon: [448, 512, [], \"f2ad\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6.5 314.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C159.1 100 206.7 96 220.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z\"]\n};\nvar faSoundcloud = {\n prefix: 'fab',\n iconName: 'soundcloud',\n icon: [640, 512, [], \"f1be\", \"M111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2.8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1.6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7.6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3.1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z\"]\n};\nvar faSourcetree = {\n prefix: 'fab',\n iconName: 'sourcetree',\n icon: [448, 512, [], \"f7d3\", \"M427.2 203c0-112.1-90.9-203-203-203C112.1-.2 21.2 90.6 21 202.6A202.86 202.86 0 0 0 161.5 396v101.7a14.3 14.3 0 0 0 14.3 14.3h96.4a14.3 14.3 0 0 0 14.3-14.3V396.1A203.18 203.18 0 0 0 427.2 203zm-271.6 0c0-90.8 137.3-90.8 137.3 0-.1 89.9-137.3 91-137.3 0z\"]\n};\nvar faSpeakap = {\n prefix: 'fab',\n iconName: 'speakap',\n icon: [448, 512, [], \"f3f3\", \"M64 391.78C-15.41 303.59-8 167.42 80.64 87.64s224.8-73 304.21 15.24 72 224.36-16.64 304.14c-18.74 16.87 64 43.09 42 52.26-82.06 34.21-253.91 35-346.23-67.5zm213.31-211.6l38.5-40.86c-9.61-8.89-32-26.83-76.17-27.6-52.33-.91-95.86 28.3-96.77 80-.2 11.33.29 36.72 29.42 54.83 34.46 21.42 86.52 21.51 86 52.26-.37 21.28-26.42 25.81-38.59 25.6-3-.05-30.23-.46-47.61-24.62l-40 42.61c28.16 27 59 32.62 83.49 33.05 10.23.18 96.42.33 97.84-81 .28-15.81-2.07-39.72-28.86-56.59-34.36-21.64-85-19.45-84.43-49.75.41-23.25 31-25.37 37.53-25.26.43 0 26.62.26 39.62 17.37z\"]\n};\nvar faSpeakerDeck = {\n prefix: 'fab',\n iconName: 'speaker-deck',\n icon: [512, 512, [], \"f83c\", \"M213.86 296H100a100 100 0 0 1 0-200h132.84a40 40 0 0 1 0 80H98c-26.47 0-26.45 40 0 40h113.82a100 100 0 0 1 0 200H40a40 40 0 0 1 0-80h173.86c26.48 0 26.46-40 0-40zM298 416a120.21 120.21 0 0 0 51.11-80h64.55a19.83 19.83 0 0 0 19.66-20V196a19.83 19.83 0 0 0-19.66-20H296.42a60.77 60.77 0 0 0 0-80h136.93c43.44 0 78.65 35.82 78.65 80v160c0 44.18-35.21 80-78.65 80z\"]\n};\nvar faSpotify = {\n prefix: 'fab',\n iconName: 'spotify',\n icon: [496, 512, [], \"f1bc\", \"M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm100.7 364.9c-4.2 0-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9 1-9 2.6-11.9 2.6-9.7 0-15.8-7.7-15.8-15.8 0-10.3 6.1-15.2 13.6-16.8 81.9-18.1 165.6-16.5 237 26.2 6.1 3.9 9.7 7.4 9.7 16.5s-7.1 15.4-15.2 15.4zm26.9-65.6c-5.2 0-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8 1.3-7.4 2.6-11.9 2.6-10.7 0-19.4-8.7-19.4-19.4s5.2-17.8 15.5-20.7c27.8-7.8 56.2-13.6 97.8-13.6 64.9 0 127.6 16.1 177 45.5 8.1 4.8 11.3 11 11.3 19.7-.1 10.8-8.5 19.5-19.4 19.5zm31-76.2c-5.2 0-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6 1-8.1 2.6-12.9 2.6-13.2 0-23.3-10.3-23.3-23.6 0-13.6 8.4-21.3 17.4-23.9 35.2-10.3 74.6-15.2 117.5-15.2 73 0 149.5 15.2 205.4 47.8 7.8 4.5 12.9 10.7 12.9 22.6 0 13.6-11 23.3-23.2 23.3z\"]\n};\nvar faSquarespace = {\n prefix: 'fab',\n iconName: 'squarespace',\n icon: [512, 512, [], \"f5be\", \"M186.12 343.34c-9.65 9.65-9.65 25.29 0 34.94 9.65 9.65 25.29 9.65 34.94 0L378.24 221.1c19.29-19.29 50.57-19.29 69.86 0s19.29 50.57 0 69.86L293.95 445.1c19.27 19.29 50.53 19.31 69.82.04l.04-.04 119.25-119.24c38.59-38.59 38.59-101.14 0-139.72-38.59-38.59-101.15-38.59-139.72 0l-157.22 157.2zm244.53-104.8c-9.65-9.65-25.29-9.65-34.93 0l-157.2 157.18c-19.27 19.29-50.53 19.31-69.82.05l-.05-.05c-9.64-9.64-25.27-9.65-34.92-.01l-.01.01c-9.65 9.64-9.66 25.28-.02 34.93l.02.02c38.58 38.57 101.14 38.57 139.72 0l157.2-157.2c9.65-9.65 9.65-25.29.01-34.93zm-261.99 87.33l157.18-157.18c9.64-9.65 9.64-25.29 0-34.94-9.64-9.64-25.27-9.64-34.91 0L133.72 290.93c-19.28 19.29-50.56 19.3-69.85.01l-.01-.01c-19.29-19.28-19.31-50.54-.03-69.84l.03-.03L218.03 66.89c-19.28-19.29-50.55-19.3-69.85-.02l-.02.02L28.93 186.14c-38.58 38.59-38.58 101.14 0 139.72 38.6 38.59 101.13 38.59 139.73.01zm-87.33-52.4c9.64 9.64 25.27 9.64 34.91 0l157.21-157.19c19.28-19.29 50.55-19.3 69.84-.02l.02.02c9.65 9.65 25.29 9.65 34.93 0 9.65-9.65 9.65-25.29 0-34.93-38.59-38.59-101.13-38.59-139.72 0L81.33 238.54c-9.65 9.64-9.65 25.28-.01 34.93h.01z\"]\n};\nvar faStackExchange = {\n prefix: 'fab',\n iconName: 'stack-exchange',\n icon: [448, 512, [], \"f18d\", \"M17.7 332.3h412.7v22c0 37.7-29.3 68-65.3 68h-19L259.3 512v-89.7H83c-36 0-65.3-30.3-65.3-68v-22zm0-23.6h412.7v-85H17.7v85zm0-109.4h412.7v-85H17.7v85zM365 0H83C47 0 17.7 30.3 17.7 67.7V90h412.7V67.7C430.3 30.3 401 0 365 0z\"]\n};\nvar faStackOverflow = {\n prefix: 'fab',\n iconName: 'stack-overflow',\n icon: [384, 512, [], \"f16c\", \"M290.7 311L95 269.7 86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8 153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24 119.3 160.3 32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z\"]\n};\nvar faStackpath = {\n prefix: 'fab',\n iconName: 'stackpath',\n icon: [448, 512, [], \"f842\", \"M244.6 232.4c0 8.5-4.26 20.49-21.34 20.49h-19.61v-41.47h19.61c17.13 0 21.34 12.36 21.34 20.98zM448 32v448H0V32zM151.3 287.84c0-21.24-12.12-34.54-46.72-44.85-20.57-7.41-26-10.91-26-18.63s7-14.61 20.41-14.61c14.09 0 20.79 8.45 20.79 18.35h30.7l.19-.57c.5-19.57-15.06-41.65-51.12-41.65-23.37 0-52.55 10.75-52.55 38.29 0 19.4 9.25 31.29 50.74 44.37 17.26 6.15 21.91 10.4 21.91 19.48 0 15.2-19.13 14.23-19.47 14.23-20.4 0-25.65-9.1-25.65-21.9h-30.8l-.18.56c-.68 31.32 28.38 45.22 56.63 45.22 29.98 0 51.12-13.55 51.12-38.29zm125.38-55.63c0-25.3-18.43-45.46-53.42-45.46h-51.78v138.18h32.17v-47.36h19.61c30.25 0 53.42-15.95 53.42-45.36zM297.94 325L347 186.78h-31.09L268 325zm106.52-138.22h-31.09L325.46 325h29.94z\"]\n};\nvar faStaylinked = {\n prefix: 'fab',\n iconName: 'staylinked',\n icon: [440, 512, [], \"f3f5\", \"M382.7 292.5l2.7 2.7-170-167.3c-3.5-3.5-9.7-3.7-13.8-.5L144.3 171c-4.2 3.2-4.6 8.7-1.1 12.2l68.1 64.3c3.6 3.5 9.9 3.7 14 .5l.1-.1c4.1-3.2 10.4-3 14 .5l84 81.3c3.6 3.5 3.2 9-.9 12.2l-93.2 74c-4.2 3.3-10.5 3.1-14.2-.4L63.2 268c-3.5-3.5-9.7-3.7-13.9-.5L3.5 302.4c-4.2 3.2-4.7 8.7-1.2 12.2L211 510.7s7.4 6.8 17.3-.8l198-163.9c4-3.2 4.4-8.7.7-12.2zm54.5-83.4L226.7 2.5c-1.5-1.2-8-5.5-16.3 1.1L3.6 165.7c-4.2 3.2-4.8 8.7-1.2 12.2l42.3 41.7 171.7 165.1c3.7 3.5 10.1 3.7 14.3.4l50.2-38.8-.3-.3 7.7-6c4.2-3.2 4.6-8.7.9-12.2l-57.1-54.4c-3.6-3.5-10-3.7-14.2-.5l-.1.1c-4.2 3.2-10.5 3.1-14.2-.4L109 180.8c-3.6-3.5-3.1-8.9 1.1-12.2l92.2-71.5c4.1-3.2 10.3-3 13.9.5l160.4 159c3.7 3.5 10 3.7 14.1.5l45.8-35.8c4.1-3.2 4.4-8.7.7-12.2z\"]\n};\nvar faSteam = {\n prefix: 'fab',\n iconName: 'steam',\n icon: [496, 512, [], \"f1b6\", \"M496 256c0 137-111.2 248-248.4 248-113.8 0-209.6-76.3-239-180.4l95.2 39.3c6.4 32.1 34.9 56.4 68.9 56.4 39.2 0 71.9-32.4 70.2-73.5l84.5-60.2c52.1 1.3 95.8-40.9 95.8-93.5 0-51.6-42-93.5-93.7-93.5s-93.7 42-93.7 93.5v1.2L176.6 279c-15.5-.9-30.7 3.4-43.5 12.1L0 236.1C10.2 108.4 117.1 8 247.6 8 384.8 8 496 119 496 256zM155.7 384.3l-30.5-12.6a52.79 52.79 0 0 0 27.2 25.8c26.9 11.2 57.8-1.6 69-28.4 5.4-13 5.5-27.3.1-40.3-5.4-13-15.5-23.2-28.5-28.6-12.9-5.4-26.7-5.2-38.9-.6l31.5 13c19.8 8.2 29.2 30.9 20.9 50.7-8.3 19.9-31 29.2-50.8 21zm173.8-129.9c-34.4 0-62.4-28-62.4-62.3s28-62.3 62.4-62.3 62.4 28 62.4 62.3-27.9 62.3-62.4 62.3zm.1-15.6c25.9 0 46.9-21 46.9-46.8 0-25.9-21-46.8-46.9-46.8s-46.9 21-46.9 46.8c.1 25.8 21.1 46.8 46.9 46.8z\"]\n};\nvar faSteamSquare = {\n prefix: 'fab',\n iconName: 'steam-square',\n icon: [448, 512, [], \"f1b7\", \"M185.2 356.5c7.7-18.5-1-39.7-19.6-47.4l-29.5-12.2c11.4-4.3 24.3-4.5 36.4.5 12.2 5.1 21.6 14.6 26.7 26.7 5 12.2 5 25.6-.1 37.7-10.5 25.1-39.4 37-64.6 26.5-11.6-4.8-20.4-13.6-25.4-24.2l28.5 11.8c18.6 7.8 39.9-.9 47.6-19.4zM400 32H48C21.5 32 0 53.5 0 80v160.7l116.6 48.1c12-8.2 26.2-12.1 40.7-11.3l55.4-80.2v-1.1c0-48.2 39.3-87.5 87.6-87.5s87.6 39.3 87.6 87.5c0 49.2-40.9 88.7-89.6 87.5l-79 56.3c1.6 38.5-29.1 68.8-65.7 68.8-31.8 0-58.5-22.7-64.5-52.7L0 319.2V432c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-99.7 222.5c-32.2 0-58.4-26.1-58.4-58.3s26.2-58.3 58.4-58.3 58.4 26.2 58.4 58.3-26.2 58.3-58.4 58.3zm.1-14.6c24.2 0 43.9-19.6 43.9-43.8 0-24.2-19.6-43.8-43.9-43.8-24.2 0-43.9 19.6-43.9 43.8 0 24.2 19.7 43.8 43.9 43.8z\"]\n};\nvar faSteamSymbol = {\n prefix: 'fab',\n iconName: 'steam-symbol',\n icon: [448, 512, [], \"f3f6\", \"M395.5 177.5c0 33.8-27.5 61-61 61-33.8 0-61-27.3-61-61s27.3-61 61-61c33.5 0 61 27.2 61 61zm52.5.2c0 63-51 113.8-113.7 113.8L225 371.3c-4 43-40.5 76.8-84.5 76.8-40.5 0-74.7-28.8-83-67L0 358V250.7L97.2 290c15.1-9.2 32.2-13.3 52-11.5l71-101.7c.5-62.3 51.5-112.8 114-112.8C397 64 448 115 448 177.7zM203 363c0-34.7-27.8-62.5-62.5-62.5-4.5 0-9 .5-13.5 1.5l26 10.5c25.5 10.2 38 39 27.7 64.5-10.2 25.5-39.2 38-64.7 27.5-10.2-4-20.5-8.3-30.7-12.2 10.5 19.7 31.2 33.2 55.2 33.2 34.7 0 62.5-27.8 62.5-62.5zm207.5-185.3c0-42-34.3-76.2-76.2-76.2-42.3 0-76.5 34.2-76.5 76.2 0 42.2 34.3 76.2 76.5 76.2 41.9.1 76.2-33.9 76.2-76.2z\"]\n};\nvar faStickerMule = {\n prefix: 'fab',\n iconName: 'sticker-mule',\n icon: [576, 512, [], \"f3f7\", \"M561.7 199.6c-1.3.3.3 0 0 0zm-6.2-77.4c-7.7-22.3-5.1-7.2-13.4-36.9-1.6-6.5-3.6-14.5-6.2-20-4.4-8.7-4.6-7.5-4.6-9.5 0-5.3 30.7-45.3 19-46.9-5.7-.6-12.2 11.6-20.6 17-8.6 4.2-8 5-10.3 5-2.6 0-5.7-3-6.2-5-2-5.7 1.9-25.9-3.6-25.9-3.6 0-12.3 24.8-17 25.8-5.2 1.3-27.9-11.4-75.1 18-25.3 13.2-86.9 65.2-87 65.3-6.7 4.7-20 4.7-35.5 16-44.4 30.1-109.6 9.4-110.7 9-110.6-26.8-128-15.2-159 11.5-20.8 17.9-23.7 36.5-24.2 38.9-4.2 20.4 5.2 48.3 6.7 64.3 1.8 19.3-2.7 17.7 7.7 98.3.5 1 4.1 0 5.1 1.5 0 8.4-3.8 12.1-4.1 13-1.5 4.5-1.5 10.5 0 16 2.3 8.2 8.2 37.2 8.2 46.9 0 41.8.4 44 2.6 49.4 3.9 10 12.5 9.1 17 12 3.1 3.5-.5 8.5 1 12.5.5 2 3.6 4 6.2 5 9.2 3.6 27 .3 29.9-2.5 1.6-1.5.5-4.5 3.1-5 5.1 0 10.8-.5 14.4-2.5 5.1-2.5 4.1-6 1.5-10.5-.4-.8-7-13.3-9.8-16-2.1-2-5.1-3-7.2-4.5-5.8-4.9-10.3-19.4-10.3-19.5-4.6-19.4-10.3-46.3-4.1-66.8 4.6-17.2 39.5-87.7 39.6-87.8 4.1-6.5 17-11.5 27.3-7 6 1.9 19.3 22 65.4 30.9 47.9 8.7 97.4-2 112.2-2 2.8 2-1.9 13-.5 38.9 0 26.4-.4 13.7-4.1 29.9-2.2 9.7 3.4 23.2-1.5 46.9-1.4 9.8-9.9 32.7-8.2 43.4.5 1 1 2 1.5 3.5.5 4.5 1.5 8.5 4.6 10 7.3 3.6 12-3.5 9.8 11.5-.7 3.1-2.6 12 1.5 15 4.4 3.7 30.6 3.4 36.5.5 2.6-1.5 1.6-4.5 6.4-7.4 1.9-.9 11.3-.4 11.3-6.5.3-1.8-9.2-19.9-9.3-20-2.6-3.5-9.2-4.5-11.3-8-6.9-10.1-1.7-52.6.5-59.4 3-11 5.6-22.4 8.7-32.4 11-42.5 10.3-50.6 16.5-68.3.8-1.8 6.4-23.1 10.3-29.9 9.3-17 21.7-32.4 33.5-47.4 18-22.9 34-46.9 52-69.8 6.1-7 8.2-13.7 18-8 10.8 5.7 21.6 7 31.9 17 14.6 12.8 10.2 18.2 11.8 22.9 1.5 5 7.7 10.5 14.9 9.5 10.4-2 13-2.5 13.4-2.5 2.6-.5 5.7-5 7.2-8 3.1-5.5 7.2-9 7.2-16.5 0-7.7-.4-2.8-20.6-52.9z\"]\n};\nvar faStrava = {\n prefix: 'fab',\n iconName: 'strava',\n icon: [384, 512, [], \"f428\", \"M158.4 0L7 292h89.2l62.2-116.1L220.1 292h88.5zm150.2 292l-43.9 88.2-44.6-88.2h-67.6l112.2 220 111.5-220z\"]\n};\nvar faStripe = {\n prefix: 'fab',\n iconName: 'stripe',\n icon: [640, 512, [], \"f429\", \"M165 144.7l-43.3 9.2-.2 142.4c0 26.3 19.8 43.3 46.1 43.3 14.6 0 25.3-2.7 31.2-5.9v-33.8c-5.7 2.3-33.7 10.5-33.7-15.7V221h33.7v-37.8h-33.7zm89.1 51.6l-2.7-13.1H213v153.2h44.3V233.3c10.5-13.8 28.2-11.1 33.9-9.3v-40.8c-6-2.1-26.7-6-37.1 13.1zm92.3-72.3l-44.6 9.5v36.2l44.6-9.5zM44.9 228.3c0-6.9 5.8-9.6 15.1-9.7 13.5 0 30.7 4.1 44.2 11.4v-41.8c-14.7-5.8-29.4-8.1-44.1-8.1-36 0-60 18.8-60 50.2 0 49.2 67.5 41.2 67.5 62.4 0 8.2-7.1 10.9-17 10.9-14.7 0-33.7-6.1-48.6-14.2v40c16.5 7.1 33.2 10.1 48.5 10.1 36.9 0 62.3-15.8 62.3-47.8 0-52.9-67.9-43.4-67.9-63.4zM640 261.6c0-45.5-22-81.4-64.2-81.4s-67.9 35.9-67.9 81.1c0 53.5 30.3 78.2 73.5 78.2 21.2 0 37.1-4.8 49.2-11.5v-33.4c-12.1 6.1-26 9.8-43.6 9.8-17.3 0-32.5-6.1-34.5-26.9h86.9c.2-2.3.6-11.6.6-15.9zm-87.9-16.8c0-20 12.3-28.4 23.4-28.4 10.9 0 22.5 8.4 22.5 28.4zm-112.9-64.6c-17.4 0-28.6 8.2-34.8 13.9l-2.3-11H363v204.8l44.4-9.4.1-50.2c6.4 4.7 15.9 11.2 31.4 11.2 31.8 0 60.8-23.2 60.8-79.6.1-51.6-29.3-79.7-60.5-79.7zm-10.6 122.5c-10.4 0-16.6-3.8-20.9-8.4l-.3-66c4.6-5.1 11-8.8 21.2-8.8 16.2 0 27.4 18.2 27.4 41.4.1 23.9-10.9 41.8-27.4 41.8zm-126.7 33.7h44.6V183.2h-44.6z\"]\n};\nvar faStripeS = {\n prefix: 'fab',\n iconName: 'stripe-s',\n icon: [384, 512, [], \"f42a\", \"M155.3 154.6c0-22.3 18.6-30.9 48.4-30.9 43.4 0 98.5 13.3 141.9 36.7V26.1C298.3 7.2 251.1 0 203.8 0 88.1 0 11 60.4 11 161.4c0 157.9 216.8 132.3 216.8 200.4 0 26.4-22.9 34.9-54.7 34.9-47.2 0-108.2-19.5-156.1-45.5v128.5a396.09 396.09 0 0 0 156 32.4c118.6 0 200.3-51 200.3-153.6 0-170.2-218-139.7-218-203.9z\"]\n};\nvar faStudiovinari = {\n prefix: 'fab',\n iconName: 'studiovinari',\n icon: [512, 512, [], \"f3f8\", \"M480.3 187.7l4.2 28v28l-25.1 44.1-39.8 78.4-56.1 67.5-79.1 37.8-17.7 24.5-7.7 12-9.6 4s17.3-63.6 19.4-63.6c2.1 0 20.3.7 20.3.7l66.7-38.6-92.5 26.1-55.9 36.8-22.8 28-6.6 1.4 20.8-73.6 6.9-5.5 20.7 12.9 88.3-45.2 56.8-51.5 14.8-68.4-125.4 23.3 15.2-18.2-173.4-53.3 81.9-10.5-166-122.9L133.5 108 32.2 0l252.9 126.6-31.5-38L378 163 234.7 64l18.7 38.4-49.6-18.1L158.3 0l194.6 122L310 66.2l108 96.4 12-8.9-21-16.4 4.2-37.8L451 89.1l29.2 24.7 11.5 4.2-7 6.2 8.5 12-13.1 7.4-10.3 20.2 10.5 23.9z\"]\n};\nvar faStumbleupon = {\n prefix: 'fab',\n iconName: 'stumbleupon',\n icon: [512, 512, [], \"f1a4\", \"M502.9 266v69.7c0 62.1-50.3 112.4-112.4 112.4-61.8 0-112.4-49.8-112.4-111.3v-70.2l34.3 16 51.1-15.2V338c0 14.7 12 26.5 26.7 26.5S417 352.7 417 338v-72h85.9zm-224.7-58.2l34.3 16 51.1-15.2V173c0-60.5-51.1-109-112.1-109-60.8 0-112.1 48.2-112.1 108.2v162.4c0 14.9-12 26.7-26.7 26.7S86 349.5 86 334.6V266H0v69.7C0 397.7 50.3 448 112.4 448c61.6 0 112.4-49.5 112.4-110.8V176.9c0-14.7 12-26.7 26.7-26.7s26.7 12 26.7 26.7v30.9z\"]\n};\nvar faStumbleuponCircle = {\n prefix: 'fab',\n iconName: 'stumbleupon-circle',\n icon: [496, 512, [], \"f1a3\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 177.5c-9.8 0-17.8 8-17.8 17.8v106.9c0 40.9-33.9 73.9-74.9 73.9-41.4 0-74.9-33.5-74.9-74.9v-46.5h57.3v45.8c0 10 8 17.8 17.8 17.8s17.8-7.9 17.8-17.8V200.1c0-40 34.2-72.1 74.7-72.1 40.7 0 74.7 32.3 74.7 72.6v23.7l-34.1 10.1-22.9-10.7v-20.6c.1-9.6-7.9-17.6-17.7-17.6zm167.6 123.6c0 41.4-33.5 74.9-74.9 74.9-41.2 0-74.9-33.2-74.9-74.2V263l22.9 10.7 34.1-10.1v47.1c0 9.8 8 17.6 17.8 17.6s17.8-7.9 17.8-17.6v-48h57.3c-.1 45.9-.1 46.4-.1 46.4z\"]\n};\nvar faSuperpowers = {\n prefix: 'fab',\n iconName: 'superpowers',\n icon: [448, 512, [], \"f2dd\", \"M448 32c-83.3 11-166.8 22-250 33-92 12.5-163.3 86.7-169 180-3.3 55.5 18 109.5 57.8 148.2L0 480c83.3-11 166.5-22 249.8-33 91.8-12.5 163.3-86.8 168.7-179.8 3.5-55.5-18-109.5-57.7-148.2L448 32zm-79.7 232.3c-4.2 79.5-74 139.2-152.8 134.5-79.5-4.7-140.7-71-136.3-151 4.5-79.2 74.3-139.3 153-134.5 79.3 4.7 140.5 71 136.1 151z\"]\n};\nvar faSupple = {\n prefix: 'fab',\n iconName: 'supple',\n icon: [640, 512, [], \"f3f9\", \"M640 262.5c0 64.1-109 116.1-243.5 116.1-24.8 0-48.6-1.8-71.1-5 7.7.4 15.5.6 23.4.6 134.5 0 243.5-56.9 243.5-127.1 0-29.4-19.1-56.4-51.2-78 60 21.1 98.9 55.1 98.9 93.4zM47.7 227.9c-.1-70.2 108.8-127.3 243.3-127.6 7.9 0 15.6.2 23.3.5-22.5-3.2-46.3-4.9-71-4.9C108.8 96.3-.1 148.5 0 212.6c.1 38.3 39.1 72.3 99.3 93.3-32.3-21.5-51.5-48.6-51.6-78zm60.2 39.9s10.5 13.2 29.3 13.2c17.9 0 28.4-11.5 28.4-25.1 0-28-40.2-25.1-40.2-39.7 0-5.4 5.3-9.1 12.5-9.1 5.7 0 11.3 2.6 11.3 6.6v3.9h14.2v-7.9c0-12.1-15.4-16.8-25.4-16.8-16.5 0-28.5 10.2-28.5 24.1 0 26.6 40.2 25.4 40.2 39.9 0 6.6-5.8 10.1-12.3 10.1-11.9 0-20.7-10.1-20.7-10.1l-8.8 10.9zm120.8-73.6v54.4c0 11.3-7.1 17.8-17.8 17.8-10.7 0-17.8-6.5-17.8-17.7v-54.5h-15.8v55c0 18.9 13.4 31.9 33.7 31.9 20.1 0 33.4-13 33.4-31.9v-55h-15.7zm34.4 85.4h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.8-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5.1 14.7-14 14.7h-12.6zm57 43h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.7-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5 14.7-14 14.7h-12.6zm57.1 34.8c0 5.8 2.4 8.2 8.2 8.2h37.6c5.8 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-18.6c-1.7 0-2.6-1-2.6-2.6v-61.2c0-5.7-2.4-8.2-8.2-8.2H401v13.4h5.2c1.7 0 2.6 1 2.6 2.6v61.2zm63.4 0c0 5.8 2.4 8.2 8.2 8.2H519c5.7 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-19.7c-1.7 0-2.6-1-2.6-2.6v-20.3h27.7v-13.4H488v-22.4h19.2c1.7 0 2.6 1 2.6 2.6v5.2H524v-13c0-5.7-2.5-8.2-8.2-8.2h-51.6v13.4h7.8v63.9zm58.9-76v5.9h1.6v-5.9h2.7v-1.2h-7v1.2h2.7zm5.7-1.2v7.1h1.5v-5.7l2.3 5.7h1.3l2.3-5.7v5.7h1.5v-7.1h-2.3l-2.1 5.1-2.1-5.1h-2.4z\"]\n};\nvar faSuse = {\n prefix: 'fab',\n iconName: 'suse',\n icon: [640, 512, [], \"f7d6\", \"M471.08 102.66s-.3 18.3-.3 20.3c-9.1-3-74.4-24.1-135.7-26.3-51.9-1.8-122.8-4.3-223 57.3-19.4 12.4-73.9 46.1-99.6 109.7C7 277-.12 307 7 335.06a111 111 0 0 0 16.5 35.7c17.4 25 46.6 41.6 78.1 44.4 44.4 3.9 78.1-16 90-53.3 8.2-25.8 0-63.6-31.5-82.9-25.6-15.7-53.3-12.1-69.2-1.6-13.9 9.2-21.8 23.5-21.6 39.2.3 27.8 24.3 42.6 41.5 42.6a49 49 0 0 0 15.8-2.7c6.5-1.8 13.3-6.5 13.3-14.9 0-12.1-11.6-14.8-16.8-13.9-2.9.5-4.5 2-11.8 2.4-2-.2-12-3.1-12-14V316c.2-12.3 13.2-18 25.5-16.9 32.3 2.8 47.7 40.7 28.5 65.7-18.3 23.7-76.6 23.2-99.7-20.4-26-49.2 12.7-111.2 87-98.4 33.2 5.7 83.6 35.5 102.4 104.3h45.9c-5.7-17.6-8.9-68.3 42.7-68.3 56.7 0 63.9 39.9 79.8 68.3H460c-12.8-18.3-21.7-38.7-18.9-55.8 5.6-33.8 39.7-18.4 82.4-17.4 66.5.4 102.1-27 103.1-28 3.7-3.1 6.5-15.8 7-17.7 1.3-5.1-3.2-2.4-3.2-2.4-8.7 5.2-30.5 15.2-50.9 15.6-25.3.5-76.2-25.4-81.6-28.2-.3-.4.1 1.2-11-25.5 88.4 58.3 118.3 40.5 145.2 21.7.8-.6 4.3-2.9 3.6-5.7-13.8-48.1-22.4-62.7-34.5-69.6-37-21.6-125-34.7-129.2-35.3.1-.1-.9-.3-.9.7zm60.4 72.8a37.54 37.54 0 0 1 38.9-36.3c33.4 1.2 48.8 42.3 24.4 65.2-24.2 22.7-64.4 4.6-63.3-28.9zm38.6-25.3a26.27 26.27 0 1 0 25.4 27.2 26.19 26.19 0 0 0-25.4-27.2zm4.3 28.8c-15.4 0-15.4-15.6 0-15.6s15.4 15.64 0 15.64z\"]\n};\nvar faSwift = {\n prefix: 'fab',\n iconName: 'swift',\n icon: [448, 512, [], \"f8e1\", \"M448 156.09c0-4.51-.08-9-.2-13.52a196.31 196.31 0 0 0-2.58-29.42 99.62 99.62 0 0 0-9.22-28A94.08 94.08 0 0 0 394.84 44a99.17 99.17 0 0 0-28-9.22 195 195 0 0 0-29.43-2.59c-4.51-.12-9-.17-13.52-.2H124.14c-4.51 0-9 .08-13.52.2-2.45.07-4.91.15-7.37.27a171.68 171.68 0 0 0-22.06 2.32 103.06 103.06 0 0 0-21.21 6.1q-3.46 1.45-6.81 3.12a94.66 94.66 0 0 0-18.39 12.32c-1.88 1.61-3.69 3.28-5.43 5A93.86 93.86 0 0 0 12 85.17a99.45 99.45 0 0 0-9.22 28 196.31 196.31 0 0 0-2.54 29.4c-.13 4.51-.18 9-.21 13.52v199.83c0 4.51.08 9 .21 13.51a196.08 196.08 0 0 0 2.58 29.42 99.3 99.3 0 0 0 9.22 28A94.31 94.31 0 0 0 53.17 468a99.47 99.47 0 0 0 28 9.21 195 195 0 0 0 29.43 2.59c4.5.12 9 .17 13.52.2H323.91c4.51 0 9-.08 13.52-.2a196.59 196.59 0 0 0 29.44-2.59 99.57 99.57 0 0 0 28-9.21A94.22 94.22 0 0 0 436 426.84a99.3 99.3 0 0 0 9.22-28 194.79 194.79 0 0 0 2.59-29.42c.12-4.5.17-9 .2-13.51V172.14c-.01-5.35-.01-10.7-.01-16.05zm-69.88 241c-20-38.93-57.23-29.27-76.31-19.47-1.72 1-3.48 2-5.25 3l-.42.25c-39.5 21-92.53 22.54-145.85-.38A234.64 234.64 0 0 1 45 290.12a230.63 230.63 0 0 0 39.17 23.37c56.36 26.4 113 24.49 153 0-57-43.85-104.6-101-141.09-147.22a197.09 197.09 0 0 1-18.78-25.9c43.7 40 112.7 90.22 137.48 104.12-52.57-55.49-98.89-123.94-96.72-121.74 82.79 83.42 159.18 130.59 159.18 130.59 2.88 1.58 5 2.85 6.73 4a127.44 127.44 0 0 0 4.16-12.47c13.22-48.33-1.66-103.58-35.31-149.2C329.61 141.75 375 229.34 356.4 303.42c-.44 1.73-.95 3.4-1.44 5.09 38.52 47.4 28.04 98.17 23.13 88.59z\"]\n};\nvar faSymfony = {\n prefix: 'fab',\n iconName: 'symfony',\n icon: [512, 512, [], \"f83d\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm133.74 143.54c-11.47.41-19.4-6.45-19.77-16.87-.27-9.18 6.68-13.44 6.53-18.85-.23-6.55-10.16-6.82-12.87-6.67-39.78 1.29-48.59 57-58.89 113.85 21.43 3.15 36.65-.72 45.14-6.22 12-7.75-3.34-15.72-1.42-24.56 4-18.16 32.55-19 32 5.3-.36 17.86-25.92 41.81-77.6 35.7-10.76 59.52-18.35 115-58.2 161.72-29 34.46-58.4 39.82-71.58 40.26-24.65.85-41-12.31-41.58-29.84-.56-17 14.45-26.26 24.31-26.59 21.89-.75 30.12 25.67 14.88 34-12.09 9.71.11 12.61 2.05 12.55 10.42-.36 17.34-5.51 22.18-9 24-20 33.24-54.86 45.35-118.35 8.19-49.66 17-78 18.23-82-16.93-12.75-27.08-28.55-49.85-34.72-15.61-4.23-25.12-.63-31.81 7.83-7.92 10-5.29 23 2.37 30.7l12.63 14c15.51 17.93 24 31.87 20.8 50.62-5.06 29.93-40.72 52.9-82.88 39.94-36-11.11-42.7-36.56-38.38-50.62 7.51-24.15 42.36-11.72 34.62 13.6-2.79 8.6-4.92 8.68-6.28 13.07-4.56 14.77 41.85 28.4 51-1.39 4.47-14.52-5.3-21.71-22.25-39.85-28.47-31.75-16-65.49 2.95-79.67C204.23 140.13 251.94 197 262 205.29c37.17-109 100.53-105.46 102.43-105.53 25.16-.81 44.19 10.59 44.83 28.65.25 7.69-4.17 22.59-19.52 23.13z\"]\n};\nvar faTeamspeak = {\n prefix: 'fab',\n iconName: 'teamspeak',\n icon: [512, 512, [], \"f4f9\", \"M244.2 346.79c2.4-12.3-12-30-32.4-48.7-20.9-19.2-48.2-39.1-63.4-46.6-21.7-12-41.7-1.8-46.3 22.7-5 26.2 0 51.4 14.5 73.9 10.2 15.5 25.4 22.7 43.4 24 11.6.6 52.5 2.2 61.7-1 11.9-4.3 20.1-11.8 22.5-24.3zm205 20.8a5.22 5.22 0 0 0-8.3 2.4c-8 25.4-44.7 112.5-172.1 121.5-149.7 10.5 80.3 43.6 145.4-6.4 22.7-17.4 47.6-35 46.6-85.4-.4-10.1-4.9-26.69-11.6-32.1zm62-122.4c-.3-18.9-8.6-33.4-26-42.2-2.9-1.3-5-2.7-5.9-6.4A222.64 222.64 0 0 0 438.9 103c-1.1-1.5-3.5-3.2-2.2-5 8.5-11.5-.3-18-7-24.4Q321.4-31.11 177.4 13.09c-40.1 12.3-73.9 35.6-102 67.4-4 4.3-6.7 9.1-3 14.5 3 4 1.3 6.2-1 9.3C51.6 132 38.2 162.59 32.1 196c-.7 4.3-2.9 6-6.4 7.8-14.2 7-22.5 18.5-24.9 34L0 264.29v20.9c0 30.8 21 50.4 51.8 49 7.7-.3 11.7-4.3 12-11.5 2-77.5-2.4-95.4 3.7-125.8C92.1 72.39 234.3 5 345.3 65.39 411.4 102 445.7 159 447.6 234.79c.8 28.2 0 56.5 0 84.6 0 7 2.2 12.5 9.4 14.2 24.1 5 49.2-12 53.2-36.7 2.9-17.1 1-34.5 1-51.7zm-159.6 131.5c36.5 2.8 59.3-28.5 58.4-60.5-2.1-45.2-66.2-16.5-87.8-8-73.2 28.1-45 54.9-22.2 60.8z\"]\n};\nvar faTelegram = {\n prefix: 'fab',\n iconName: 'telegram',\n icon: [496, 512, [], \"f2c6\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm121.8 169.9l-40.7 191.8c-3 13.6-11.1 16.9-22.4 10.5l-62-45.7-29.9 28.8c-3.3 3.3-6.1 6.1-12.5 6.1l4.4-63.1 114.9-103.8c5-4.4-1.1-6.9-7.7-2.5l-142 89.4-61.2-19.1c-13.3-4.2-13.6-13.3 2.8-19.7l239.1-92.2c11.1-4 20.8 2.7 17.2 19.5z\"]\n};\nvar faTelegramPlane = {\n prefix: 'fab',\n iconName: 'telegram-plane',\n icon: [448, 512, [], \"f3fe\", \"M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z\"]\n};\nvar faTencentWeibo = {\n prefix: 'fab',\n iconName: 'tencent-weibo',\n icon: [384, 512, [], \"f1d5\", \"M72.3 495.8c1.4 19.9-27.6 22.2-29.7 2.9C31 368.8 73.7 259.2 144 185.5c-15.6-34 9.2-77.1 50.6-77.1 30.3 0 55.1 24.6 55.1 55.1 0 44-49.5 70.8-86.9 45.1-65.7 71.3-101.4 169.8-90.5 287.2zM192 .1C66.1.1-12.3 134.3 43.7 242.4 52.4 259.8 79 246.9 70 229 23.7 136.4 91 29.8 192 29.8c75.4 0 136.9 61.4 136.9 136.9 0 90.8-86.9 153.9-167.7 133.1-19.1-4.1-25.6 24.4-6.6 29.1 110.7 23.2 204-60 204-162.3C358.6 74.7 284 .1 192 .1z\"]\n};\nvar faTheRedYeti = {\n prefix: 'fab',\n iconName: 'the-red-yeti',\n icon: [512, 512, [], \"f69d\", \"M488.23 241.7l20.7 7.1c-9.6-23.9-23.9-37-31.7-44.8l7.1-18.2c.2 0 12.3-27.8-2.5-30.7-.6-11.3-6.6-27-18.4-27-7.6-10.6-17.7-12.3-30.7-5.9a122.2 122.2 0 0 0-25.3 16.5c-5.3-6.4-3 .4-3-29.8-37.1-24.3-45.4-11.7-74.8 3l.5.5a239.36 239.36 0 0 0-68.4-13.3c-5.5-8.7-18.6-19.1-25.1-25.1l24.8 7.1c-5.5-5.5-26.8-12.9-34.2-15.2 18.2-4.1 29.8-20.8 42.5-33-34.9-10.1-67.9-5.9-97.9 11.8l12-44.2L182 0c-31.6 24.2-33 41.9-33.7 45.5-.9-2.4-6.3-19.6-15.2-27a35.12 35.12 0 0 0-.5 25.3c3 8.4 5.9 14.8 8.4 18.9-16-3.3-28.3-4.9-49.2 0h-3.7l33 14.3a194.26 194.26 0 0 0-46.7 67.4l-1.7 8.4 1.7 1.7 7.6-4.7c-3.3 11.6-5.3 19.4-6.6 25.8a200.18 200.18 0 0 0-27.8 40.3c-15 1-31.8 10.8-40.3 14.3l3 3.4 28.8 1c-.5 1-.7 2.2-1.2 3.2-7.3 6.4-39.8 37.7-33 80.7l20.2-22.4c.5 1.7.7 3.4 1.2 5.2 0 25.5.4 89.6 64.9 150.5 43.6 40 96 60.2 157.5 60.2 121.7 0 223-87.3 223-211.5 6.8-9.7-1.2 3 16.7-25.1l13 14.3 2.5-.5A181.84 181.84 0 0 0 495 255a44.74 44.74 0 0 0-6.8-13.3zM398 111.2l-.5 21.9c5.5 18.1 16.9 17.2 22.4 17.2l-3.4-4.7 22.4-5.4a242.44 242.44 0 0 1-27 0c12.8-2.1 33.3-29 43-11.3 3.4 7.6 6.4 17.2 9.3 27.8l1.7-5.9a56.38 56.38 0 0 1-1.7-15.2c5.4.5 8.8 3.4 9.3 10.1.5 6.4 1.7 14.8 3.4 25.3l4.7-11.3c4.6 0 4.5-3.6-2.5 20.7-20.9-8.7-35.1-8.4-46.5-8.4l18.2-16c-25.3 8.2-33 10.8-54.8 20.9-1.1-5.4-5-13.5-16-19.9-3.2 3.8-2.8.9-.7 14.8h-2.5a62.32 62.32 0 0 0-8.4-23.1l4.2-3.4c8.4-7.1 11.8-14.3 10.6-21.9-.5-6.4-5.4-13.5-13.5-20.7 5.6-3.4 15.2-.4 28.3 8.5zm-39.6-10.1c2.7 1.9 11.4 5.4 18.9 17.2 4.2 8.4 4 9.8 3.4 11.1-.5 2.4-.5 4.3-3 7.1-1.7 2.5-5.4 4.7-11.8 7.6-7.6-13-16.5-23.6-27.8-31.2zM91 143.1l1.2-1.7c1.2-2.9 4.2-7.6 9.3-15.2l2.5-3.4-13 12.3 5.4-4.7-10.1 9.3-4.2 1.2c12.3-24.1 23.1-41.3 32.5-50.2 9.3-9.3 16-16 20.2-19.4l-6.4 1.2c-11.3-4.2-19.4-7.1-24.8-8.4 2.5-.5 3.7-.5 3.2-.5 10.3 0 17.5.5 20.9 1.2a52.35 52.35 0 0 0 16 2.5l.5-1.7-8.4-35.8 13.5 29a42.89 42.89 0 0 0 5.9-14.3c1.7-6.4 5.4-13 10.1-19.4s7.6-10.6 9.3-11.3a234.68 234.68 0 0 0-6.4 25.3l-1.7 7.1-.5 4.7 2.5 2.5C190.4 39.9 214 34 239.8 34.5l21.1.5c-11.8 13.5-27.8 21.9-48.5 24.8a201.26 201.26 0 0 1-23.4 2.9l-.2-.5-2.5-1.2a20.75 20.75 0 0 0-14 2c-2.5-.2-4.9-.5-7.1-.7l-2.5 1.7.5 1.2c2 .2 3.9.5 6.2.7l-2 3.4 3.4-.5-10.6 11.3c-4.2 3-5.4 6.4-4.2 9.3l5.4-3.4h1.2a39.4 39.4 0 0 1 25.3-15.2v-3c6.4.5 13 1 19.4 1.2 6.4 0 8.4.5 5.4 1.2a189.6 189.6 0 0 1 20.7 13.5c13.5 10.1 23.6 21.9 30 35.4 8.8 18.2 13.5 37.1 13.5 56.6a141.13 141.13 0 0 1-3 28.3 209.91 209.91 0 0 1-16 46l2.5.5c18.2-19.7 41.9-16 49.2-16l-6.4 5.9 22.4 17.7-1.7 30.7c-5.4-12.3-16.5-21.1-33-27.8 16.5 14.8 23.6 21.1 21.9 20.2-4.8-2.8-3.5-1.9-10.8-3.7 4.1 4.1 17.5 18.8 18.2 20.7l.2.2-.2.2c0 1.8 1.6-1.2-14 22.9-75.2-15.3-106.27-42.7-141.2-63.2l11.8 1.2c-11.8-18.5-15.6-17.7-38.4-26.1L149 225c-8.8-3-18.2-3-28.3.5l7.6-10.6-1.2-1.7c-14.9 4.3-19.8 9.2-22.6 11.3-1.1-5.5-2.8-12.4-12.3-28.8l-1.2 27-13.2-5c1.5-25.2 5.4-50.5 13.2-74.6zm276.5 330c-49.9 25-56.1 22.4-59 23.9-29.8-11.8-50.9-31.7-63.5-58.8l30 16.5c-9.8-9.3-18.3-16.5-38.4-44.3l11.8 23.1-17.7-7.6c14.2 21.1 23.5 51.7 66.6 73.5-120.8 24.2-199-72.1-200.9-74.3a262.57 262.57 0 0 0 35.4 24.8c3.4 1.7 7.1 2.5 10.1 1.2l-16-20.7c9.2 4.2 9.5 4.5 69.1 29-42.5-20.7-73.8-40.8-93.2-60.2-.5 6.4-1.2 10.1-1.2 10.1a80.25 80.25 0 0 1 20.7 26.6c-39-18.9-57.6-47.6-71.3-82.6 49.9 55.1 118.9 37.5 120.5 37.1 34.8 16.4 69.9 23.6 113.9 10.6 3.3 0 20.3 17 25.3 39.1l4.2-3-2.5-23.6c9 9 24.9 22.6 34.4 13-15.6-5.3-23.5-9.5-29.5-31.7 4.6 4.2 7.6 9 27.8 15l1.2-1.2-10.5-14.2c11.7-4.8-3.5 1 32-10.8 4.3 34.3 9 49.2.7 89.5zm115.3-214.4l-2.5.5 3 9.3c-3.5 5.9-23.7 44.3-71.6 79.7-39.5 29.8-76.6 39.1-80.9 40.3l-7.6-7.1-1.2 3 14.3 16-7.1-4.7 3.4 4.2h-1.2l-21.9-13.5 9.3 26.6-19-27.9-1.2 2.5 7.6 29c-6.1-8.2-21-32.6-56.8-39.6l32.5 21.2a214.82 214.82 0 0 1-93.2-6.4c-4.2-1.2-8.9-2.5-13.5-4.2l1.2-3-44.8-22.4 26.1 22.4c-57.7 9.1-113-25.4-126.4-83.4l-2.5-16.4-22.27 22.3c19.5-57.5 25.6-57.9 51.4-70.1-9.1-5.3-1.6-3.3-38.4-9.3 15.8-5.8 33-15.4 73 5.2a18.5 18.5 0 0 1 3.7-1.7c.6-3.2.4-.8 1-11.8 3.9 10 3.6 8.7 3 9.3l1.7.5c12.7-6.5 8.9-4.5 17-8.9l-5.4 13.5 22.3-5.8-8.4 8.4 2.5 2.5c4.5-1.8 30.3 3.4 40.8 16l-23.6-2.5c39.4 23 51.5 54 55.8 69.6l1.7-1.2c-2.8-22.3-12.4-33.9-16-40.1 4.2 5 39.2 34.6 110.4 46-11.3-.5-23.1 5.4-34.9 18.9l46.7-20.2-9.3 21.9c7.6-10.1 14.8-23.6 21.2-39.6v-.5l1.2-3-1.2 16c13.5-41.8 25.3-78.5 35.4-109.7l13.5-27.8v-2l-5.4-4.2h10.1l5.9 4.2 2.5-1.2-3.4-16 12.3 18.9 41.8-20.2-14.8 13 .5 2.9 17.7-.5a184 184 0 0 1 33 4.2l-23.6 2.5-1.2 3 26.6 23.1a254.21 254.21 0 0 1 27 32c-11.2-3.3-10.3-3.4-21.2-3.4l12.3 32.5zm-6.1-71.3l-3.9 13-14.3-11.8zm-254.8 7.1c1.7 10.6 4.7 17.7 8.8 21.9-9.3 6.6-27.5 13.9-46.5 16l.5 1.2a50.22 50.22 0 0 0 24.8-2.5l-7.1 13c4.2-1.7 10.1-7.1 17.7-14.8 11.9-5.5 12.7-5.1 20.2-16-12.7-6.4-15.7-13.7-18.4-18.8zm3.7-102.3c-6.4-3.4-10.6 3-12.3 18.9s2.5 29.5 11.8 39.6 18.2 10.6 26.1 3 3.4-23.6-11.3-47.7a39.57 39.57 0 0 0-14.27-13.8zm-4.7 46.3c5.4 2.2 10.5 1.9 12.3-10.6v-4.7l-1.2.5c-4.3-3.1-2.5-4.5-1.7-6.2l.5-.5c-.9-1.2-5-8.1-12.5 4.7-.5-13.5.5-21.9 3-24.8 1.2-2.5 4.7-1.2 11.3 4.2 6.4 5.4 11.3 16 15.2 32.5 6.5 28-19.8 26.2-26.9 4.9zm-45-5.5c1.6.3 9.3-1.1 9.3-14.8h-.5c-5.4-1.1-2.2-5.5-.7-5.9-1.7-3-3.4-4.2-5.4-4.7-8.1 0-11.6 12.7-8.1 21.2a7.51 7.51 0 0 0 5.43 4.2zM216 82.9l-2.5.5.5 3a48.94 48.94 0 0 1 26.1 5.9c-2.5-5.5-10-14.3-28.3-14.3l.5 2.5zm-71.8 49.4c21.7 16.8 16.5 21.4 46.5 23.6l-2.9-4.7a42.67 42.67 0 0 0 14.8-28.3c1.7-16-1.2-29.5-8.8-41.3l13-7.6a2.26 2.26 0 0 0-.5-1.7 14.21 14.21 0 0 0-13.5 1.7c-12.7 6.7-28 20.9-29 22.4-1.7 1.7-3.4 5.9-5.4 13.5a99.61 99.61 0 0 0-2.9 23.6c-4.7-8-10.5-6.4-19.9-5.9l7.1 7.6c-16.5 0-23.3 15.4-23.6 16 6.8 0 4.6-7.6 30-12.3-4.3-6.3-3.3-5-4.9-6.6zm18.7-18.7c1.2-7.6 3.4-13 6.4-17.2 5.4-6.4 10.6-10.1 16-11.8 4.2-1.7 7.1 1.2 10.1 9.3a72.14 72.14 0 0 1 3 25.3c-.5 9.3-3.4 17.2-8.4 23.1-2.9 3.4-5.4 5.9-6.4 7.6a39.21 39.21 0 0 1-11.3-.5l-7.1-3.4-5.4-6.4c.8-10 1.3-18.8 3.1-26zm42 56.1c-34.8 14.4-34.7 14-36.1 14.3-20.8 4.7-19-24.4-18.9-24.8l5.9-1.2-.5-2.5c-20.2-2.6-31 4.2-32.5 4.9.5.5 3 3.4 5.9 9.3 4.2-6.4 8.8-10.1 15.2-10.6a83.47 83.47 0 0 0 1.7 33.7c.1.5 2.6 17.4 27.5 24.1 11.3 3 27 1.2 48.9-5.4l-9.2.5c-4.2-14.8-6.4-24.8-5.9-29.5 11.3-8.8 21.9-11.3 30.7-7.6h2.5l-11.8-7.6-7.1.5c-5.9 1.2-12.3 4.2-19.4 8.4z\"]\n};\nvar faThemeco = {\n prefix: 'fab',\n iconName: 'themeco',\n icon: [448, 512, [], \"f5c6\", \"M202.9 8.43c9.9-5.73 26-5.82 35.95-.21L430 115.85c10 5.6 18 19.44 18 30.86V364c0 11.44-8.06 25.29-18 31L238.81 503.74c-9.93 5.66-26 5.57-35.85-.21L17.86 395.12C8 389.34 0 375.38 0 364V146.71c0-11.44 8-25.36 17.91-31.08zm-77.4 199.83c-15.94 0-31.89.14-47.83.14v101.45H96.8V280h28.7c49.71 0 49.56-71.74 0-71.74zm140.14 100.29l-30.73-34.64c37-7.51 34.8-65.23-10.87-65.51-16.09 0-32.17-.14-48.26-.14v101.59h19.13v-33.91h18.41l29.56 33.91h22.76zm-41.59-82.32c23.34 0 23.26 32.46 0 32.46h-29.13v-32.46zm-95.56-1.6c21.18 0 21.11 38.85 0 38.85H96.18v-38.84zm192.65-18.25c-68.46 0-71 105.8 0 105.8 69.48-.01 69.41-105.8 0-105.8zm0 17.39c44.12 0 44.8 70.86 0 70.86s-44.43-70.86 0-70.86z\"]\n};\nvar faThemeisle = {\n prefix: 'fab',\n iconName: 'themeisle',\n icon: [512, 512, [], \"f2b2\", \"M208 88.286c0-10 6.286-21.714 17.715-21.714 11.142 0 17.714 11.714 17.714 21.714 0 10.285-6.572 21.714-17.714 21.714C214.286 110 208 98.571 208 88.286zm304 160c0 36.001-11.429 102.286-36.286 129.714-22.858 24.858-87.428 61.143-120.857 70.572l-1.143.286v32.571c0 16.286-12.572 30.571-29.143 30.571-10 0-19.429-5.714-24.572-14.286-5.427 8.572-14.856 14.286-24.856 14.286-10 0-19.429-5.714-24.858-14.286-5.142 8.572-14.571 14.286-24.57 14.286-10.286 0-19.429-5.714-24.858-14.286-5.143 8.572-14.571 14.286-24.571 14.286-18.857 0-29.429-15.714-29.429-32.857-16.286 12.285-35.715 19.428-56.571 19.428-22 0-43.429-8.285-60.286-22.857 10.285-.286 20.571-2.286 30.285-5.714-20.857-5.714-39.428-18.857-52-36.286 21.37 4.645 46.209 1.673 67.143-11.143-22-22-56.571-58.857-68.572-87.428C1.143 321.714 0 303.714 0 289.429c0-49.714 20.286-160 86.286-160 10.571 0 18.857 4.858 23.143 14.857a158.792 158.792 0 0 1 12-15.428c2-2.572 5.714-5.429 7.143-8.286 7.999-12.571 11.714-21.142 21.714-34C182.571 45.428 232 17.143 285.143 17.143c6 0 12 .285 17.714 1.143C313.714 6.571 328.857 0 344.572 0c14.571 0 29.714 6 40 16.286.857.858 1.428 2.286 1.428 3.428 0 3.714-10.285 13.429-12.857 16.286 4.286 1.429 15.714 6.858 15.714 12 0 2.857-2.857 5.143-4.571 7.143 31.429 27.714 49.429 67.143 56.286 108 4.286-5.143 10.285-8.572 17.143-8.572 10.571 0 20.857 7.144 28.571 14.001C507.143 187.143 512 221.714 512 248.286zM188 89.428c0 18.286 12.571 37.143 32.286 37.143 19.714 0 32.285-18.857 32.285-37.143 0-18-12.571-36.857-32.285-36.857-19.715 0-32.286 18.858-32.286 36.857zM237.714 194c0-19.714 3.714-39.143 8.571-58.286-52.039 79.534-13.531 184.571 68.858 184.571 21.428 0 42.571-7.714 60-20 2-7.429 3.714-14.857 3.714-22.572 0-14.286-6.286-21.428-20.572-21.428-4.571 0-9.143.857-13.429 1.714-63.343 12.668-107.142 3.669-107.142-63.999zm-41.142 254.858c0-11.143-8.858-20.857-20.286-20.857-11.429 0-20 9.715-20 20.857v32.571c0 11.143 8.571 21.142 20 21.142 11.428 0 20.286-9.715 20.286-21.142v-32.571zm49.143 0c0-11.143-8.572-20.857-20-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20-10 20-21.142v-32.571zm49.713 0c0-11.143-8.857-20.857-20.285-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20.285-9.715 20.285-21.142v-32.571zm49.715 0c0-11.143-8.857-20.857-20.286-20.857-11.428 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.858 21.142 20.286 21.142 11.429 0 20.286-10 20.286-21.142v-32.571zM421.714 286c-30.857 59.142-90.285 102.572-158.571 102.572-96.571 0-160.571-84.572-160.571-176.572 0-16.857 2-33.429 6-49.714-20 33.715-29.714 72.572-29.714 111.429 0 60.286 24.857 121.715 71.429 160.857 5.143-9.714 14.857-16.286 26-16.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.571-14.286 24.858-14.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.857-14.286 24.858-14.286 10 0 19.428 5.714 24.857 14.286 5.143-8.571 14.571-14.286 24.572-14.286 10.857 0 20.857 6.572 25.714 16 43.427-36.286 68.569-92 71.426-148.286zm10.572-99.714c0-53.714-34.571-105.714-92.572-105.714-30.285 0-58.571 15.143-78.857 36.857C240.862 183.812 233.41 254 302.286 254c28.805 0 97.357-28.538 84.286 36.857 28.857-26 45.714-65.714 45.714-104.571z\"]\n};\nvar faThinkPeaks = {\n prefix: 'fab',\n iconName: 'think-peaks',\n icon: [576, 512, [], \"f731\", \"M465.4 409.4l87.1-150.2-32-.3-55.1 95L259.2 0 23 407.4l32 .3L259.2 55.6zm-355.3-44.1h32.1l117.4-202.5L463 511.9l32.5.1-235.8-404.6z\"]\n};\nvar faTiktok = {\n prefix: 'fab',\n iconName: 'tiktok',\n icon: [448, 512, [], \"e07b\", \"M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z\"]\n};\nvar faTradeFederation = {\n prefix: 'fab',\n iconName: 'trade-federation',\n icon: [496, 512, [], \"f513\", \"M248 8.8c-137 0-248 111-248 248s111 248 248 248 248-111 248-248-111-248-248-248zm0 482.8c-129.7 0-234.8-105.1-234.8-234.8S118.3 22 248 22s234.8 105.1 234.8 234.8S377.7 491.6 248 491.6zm155.1-328.5v-46.8H209.3V198H54.2l36.7 46h117.7v196.8h48.8V245h83.3v-47h-83.3v-34.8h145.7zm-73.3 45.1v23.9h-82.9v197.4h-26.8V232.1H96.3l-20.1-23.9h143.9v-80.6h171.8V152h-145v56.2zm-161.3-69l-12.4-20.7 2.1 23.8-23.5 5.4 23.3 5.4-2.1 24 12.3-20.5 22.2 9.5-15.7-18.1 15.8-18.1zm-29.6-19.7l9.3-11.5-12.7 5.9-8-12.4 1.7 13.9-14.3 3.8 13.7 2.7-.8 14.7 6.8-12.2 13.8 5.3zm165.4 145.2l-13.1 5.6-7.3-12.2 1.3 14.2-13.9 3.2 13.9 3.2-1.2 14.2 7.3-12.2 13.1 5.5-9.4-10.7zm106.9-77.2l-20.9 9.1-12-19.6 2.2 22.7-22.3 5.4 22.2 4.9-1.8 22.9 11.5-19.6 21.2 8.8-15.1-17zM248 29.9c-125.3 0-226.9 101.6-226.9 226.9S122.7 483.7 248 483.7s226.9-101.6 226.9-226.9S373.3 29.9 248 29.9zM342.6 196v51h-83.3v195.7h-52.7V245.9H89.9l-40-49.9h157.4v-81.6h197.8v50.7H259.4V196zM248 43.2c60.3 0 114.8 25 153.6 65.2H202.5V190H45.1C73.1 104.8 153.4 43.2 248 43.2zm0 427.1c-117.9 0-213.6-95.6-213.6-213.5 0-21.2 3.1-41.8 8.9-61.1L87.1 252h114.7v196.8h64.6V253h83.3v-62.7h-83.2v-19.2h145.6v-50.8c30.8 37 49.3 84.6 49.3 136.5.1 117.9-95.5 213.5-213.4 213.5zM178.8 275l-11-21.4 1.7 24.5-23.7 3.9 23.8 5.9-3.7 23.8 13-20.9 21.5 10.8-15.8-18.8 16.9-17.1z\"]\n};\nvar faTrello = {\n prefix: 'fab',\n iconName: 'trello',\n icon: [448, 512, [], \"f181\", \"M392.3 32H56.1C25.1 32 0 57.1 0 88c-.1 0 0-4 0 336 0 30.9 25.1 56 56 56h336.2c30.8-.2 55.7-25.2 55.7-56V88c.1-30.8-24.8-55.8-55.6-56zM197 371.3c-.2 14.7-12.1 26.6-26.9 26.6H87.4c-14.8.1-26.9-11.8-27-26.6V117.1c0-14.8 12-26.9 26.9-26.9h82.9c14.8 0 26.9 12 26.9 26.9v254.2zm193.1-112c0 14.8-12 26.9-26.9 26.9h-81c-14.8 0-26.9-12-26.9-26.9V117.2c0-14.8 12-26.9 26.8-26.9h81.1c14.8 0 26.9 12 26.9 26.9v142.1z\"]\n};\nvar faTripadvisor = {\n prefix: 'fab',\n iconName: 'tripadvisor',\n icon: [576, 512, [], \"f262\", \"M528.91,178.82,576,127.58H471.66a326.11,326.11,0,0,0-367,0H0l47.09,51.24A143.911,143.911,0,0,0,241.86,390.73L288,440.93l46.11-50.17A143.94,143.94,0,0,0,575.88,285.18h-.03A143.56,143.56,0,0,0,528.91,178.82ZM144.06,382.57a97.39,97.39,0,1,1,97.39-97.39A97.39,97.39,0,0,1,144.06,382.57ZM288,282.37c0-64.09-46.62-119.08-108.09-142.59a281,281,0,0,1,216.17,0C334.61,163.3,288,218.29,288,282.37Zm143.88,100.2h-.01a97.405,97.405,0,1,1,.01,0ZM144.06,234.12h-.01a51.06,51.06,0,1,0,51.06,51.06v-.11A51,51,0,0,0,144.06,234.12Zm287.82,0a51.06,51.06,0,1,0,51.06,51.06A51.06,51.06,0,0,0,431.88,234.12Z\"]\n};\nvar faTumblr = {\n prefix: 'fab',\n iconName: 'tumblr',\n icon: [320, 512, [], \"f173\", \"M309.8 480.3c-13.6 14.5-50 31.7-97.4 31.7-120.8 0-147-88.8-147-140.6v-144H17.9c-5.5 0-10-4.5-10-10v-68c0-7.2 4.5-13.6 11.3-16 62-21.8 81.5-76 84.3-117.1.8-11 6.5-16.3 16.1-16.3h70.9c5.5 0 10 4.5 10 10v115.2h83c5.5 0 10 4.4 10 9.9v81.7c0 5.5-4.5 10-10 10h-83.4V360c0 34.2 23.7 53.6 68 35.8 4.8-1.9 9-3.2 12.7-2.2 3.5.9 5.8 3.4 7.4 7.9l22 64.3c1.8 5 3.3 10.6-.4 14.5z\"]\n};\nvar faTumblrSquare = {\n prefix: 'fab',\n iconName: 'tumblr-square',\n icon: [448, 512, [], \"f174\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-82.3 364.2c-8.5 9.1-31.2 19.8-60.9 19.8-75.5 0-91.9-55.5-91.9-87.9v-90h-29.7c-3.4 0-6.2-2.8-6.2-6.2v-42.5c0-4.5 2.8-8.5 7.1-10 38.8-13.7 50.9-47.5 52.7-73.2.5-6.9 4.1-10.2 10-10.2h44.3c3.4 0 6.2 2.8 6.2 6.2v72h51.9c3.4 0 6.2 2.8 6.2 6.2v51.1c0 3.4-2.8 6.2-6.2 6.2h-52.1V321c0 21.4 14.8 33.5 42.5 22.4 3-1.2 5.6-2 8-1.4 2.2.5 3.6 2.1 4.6 4.9l13.8 40.2c1 3.2 2 6.7-.3 9.1z\"]\n};\nvar faTwitch = {\n prefix: 'fab',\n iconName: 'twitch',\n icon: [512, 512, [], \"f1e8\", \"M391.17,103.47H352.54v109.7h38.63ZM285,103H246.37V212.75H285ZM120.83,0,24.31,91.42V420.58H140.14V512l96.53-91.42h77.25L487.69,256V0ZM449.07,237.75l-77.22,73.12H294.61l-67.6,64v-64H140.14V36.58H449.07Z\"]\n};\nvar faTwitter = {\n prefix: 'fab',\n iconName: 'twitter',\n icon: [512, 512, [], \"f099\", \"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z\"]\n};\nvar faTwitterSquare = {\n prefix: 'fab',\n iconName: 'twitter-square',\n icon: [448, 512, [], \"f081\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z\"]\n};\nvar faTypo3 = {\n prefix: 'fab',\n iconName: 'typo3',\n icon: [448, 512, [], \"f42b\", \"M178.7 78.4c0-24.7 5.4-32.4 13.9-39.4-69.5 8.5-149.3 34-176.3 66.4-5.4 7.7-9.3 20.8-9.3 37.1C7 246 113.8 480 191.1 480c36.3 0 97.3-59.5 146.7-139-7 2.3-11.6 2.3-18.5 2.3-57.2 0-140.6-198.5-140.6-264.9zM301.5 32c-30.1 0-41.7 5.4-41.7 36.3 0 66.4 53.8 198.5 101.7 198.5 26.3 0 78.8-99.7 78.8-182.3 0-40.9-67-52.5-138.8-52.5z\"]\n};\nvar faUber = {\n prefix: 'fab',\n iconName: 'uber',\n icon: [448, 512, [], \"f402\", \"M414.1 32H33.9C15.2 32 0 47.2 0 65.9V446c0 18.8 15.2 34 33.9 34H414c18.7 0 33.9-15.2 33.9-33.9V65.9C448 47.2 432.8 32 414.1 32zM237.6 391.1C163 398.6 96.4 344.2 88.9 269.6h94.4V290c0 3.7 3 6.8 6.8 6.8H258c3.7 0 6.8-3 6.8-6.8v-67.9c0-3.7-3-6.8-6.8-6.8h-67.9c-3.7 0-6.8 3-6.8 6.8v20.4H88.9c7-69.4 65.4-122.2 135.1-122.2 69.7 0 128.1 52.8 135.1 122.2 7.5 74.5-46.9 141.1-121.5 148.6z\"]\n};\nvar faUbuntu = {\n prefix: 'fab',\n iconName: 'ubuntu',\n icon: [496, 512, [], \"f7df\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm52.7 93c8.8-15.2 28.3-20.5 43.5-11.7 15.3 8.8 20.5 28.3 11.7 43.6-8.8 15.2-28.3 20.5-43.5 11.7-15.3-8.9-20.5-28.4-11.7-43.6zM87.4 287.9c-17.6 0-31.9-14.3-31.9-31.9 0-17.6 14.3-31.9 31.9-31.9 17.6 0 31.9 14.3 31.9 31.9 0 17.6-14.3 31.9-31.9 31.9zm28.1 3.1c22.3-17.9 22.4-51.9 0-69.9 8.6-32.8 29.1-60.7 56.5-79.1l23.7 39.6c-51.5 36.3-51.5 112.5 0 148.8L172 370c-27.4-18.3-47.8-46.3-56.5-79zm228.7 131.7c-15.3 8.8-34.7 3.6-43.5-11.7-8.8-15.3-3.6-34.8 11.7-43.6 15.2-8.8 34.7-3.6 43.5 11.7 8.8 15.3 3.6 34.8-11.7 43.6zm.3-69.5c-26.7-10.3-56.1 6.6-60.5 35-5.2 1.4-48.9 14.3-96.7-9.4l22.5-40.3c57 26.5 123.4-11.7 128.9-74.4l46.1.7c-2.3 34.5-17.3 65.5-40.3 88.4zm-5.9-105.3c-5.4-62-71.3-101.2-128.9-74.4l-22.5-40.3c47.9-23.7 91.5-10.8 96.7-9.4 4.4 28.3 33.8 45.3 60.5 35 23.1 22.9 38 53.9 40.2 88.5l-46 .6z\"]\n};\nvar faUikit = {\n prefix: 'fab',\n iconName: 'uikit',\n icon: [448, 512, [], \"f403\", \"M443.9 128v256L218 512 0 384V169.7l87.6 45.1v117l133.5 75.5 135.8-75.5v-151l-101.1-57.6 87.6-53.1L443.9 128zM308.6 49.1L223.8 0l-88.6 54.8 86 47.3 87.4-53z\"]\n};\nvar faUmbraco = {\n prefix: 'fab',\n iconName: 'umbraco',\n icon: [510, 512, [], \"f8e8\", \"M255.35 8C118.36 7.83 7.14 118.72 7 255.68c-.07 137 111 248.2 248 248.27 136.85 0 247.82-110.7 248-247.67S392.34 8.17 255.35 8zm145 266q-1.14 40.68-14 65t-43.51 35q-30.61 10.7-85.45 10.47h-4.6q-54.78.22-85.44-10.47t-43.52-35q-12.85-24.36-14-65a224.81 224.81 0 0 1 0-30.71 418.37 418.37 0 0 1 3.6-43.88c1.88-13.39 3.57-22.58 5.4-32 1-4.88 1.28-6.42 1.82-8.45a5.09 5.09 0 0 1 4.9-3.89h.69l32 5a5.07 5.07 0 0 1 4.16 5 5 5 0 0 1 0 .77l-1.7 8.78q-2.41 13.25-4.84 33.68a380.62 380.62 0 0 0-2.64 42.15q-.28 40.43 8.13 59.83a43.87 43.87 0 0 0 31.31 25.18A243 243 0 0 0 250 340.6h10.25a242.64 242.64 0 0 0 57.27-5.16 43.86 43.86 0 0 0 31.15-25.23q8.53-19.42 8.13-59.78a388 388 0 0 0-2.6-42.15q-2.48-20.38-4.89-33.68l-1.69-8.78a5 5 0 0 1 0-.77 5 5 0 0 1 4.2-5l32-5h.82a5 5 0 0 1 4.9 3.89c.55 2.05.81 3.57 1.83 8.45 1.82 9.62 3.52 18.78 5.39 32a415.71 415.71 0 0 1 3.61 43.88 228.06 228.06 0 0 1-.04 30.73z\"]\n};\nvar faUncharted = {\n prefix: 'fab',\n iconName: 'uncharted',\n icon: [448, 512, [], \"e084\", \"M171.73,232.813A5.381,5.381,0,0,0,176.7,229.5,48.081,48.081,0,0,1,191.6,204.244c1.243-.828,1.657-2.484,1.657-4.141a4.22,4.22,0,0,0-2.071-3.312L74.429,128.473,148.958,85a9.941,9.941,0,0,0,4.968-8.281,9.108,9.108,0,0,0-4.968-8.281L126.6,55.6a9.748,9.748,0,0,0-9.523,0l-100.2,57.966a9.943,9.943,0,0,0-4.969,8.281V236.954a9.109,9.109,0,0,0,4.969,8.281L39.235,258.07a8.829,8.829,0,0,0,4.968,1.242,9.4,9.4,0,0,0,6.625-2.484,10.8,10.8,0,0,0,2.9-7.039V164.5L169.66,232.4A4.5,4.5,0,0,0,171.73,232.813ZM323.272,377.73a12.478,12.478,0,0,0-4.969,1.242l-74.528,43.062V287.882c0-2.9-2.9-5.8-6.211-4.555a53.036,53.036,0,0,1-28.984.414,4.86,4.86,0,0,0-6.21,4.555V421.619l-74.529-43.061a8.83,8.83,0,0,0-4.969-1.242,9.631,9.631,0,0,0-9.523,9.523v26.085a9.107,9.107,0,0,0,4.969,8.281l100.2,57.553A8.829,8.829,0,0,0,223.486,480a11.027,11.027,0,0,0,4.969-1.242l100.2-57.553a9.941,9.941,0,0,0,4.968-8.281V386.839C332.8,382.285,328.24,377.73,323.272,377.73ZM286.007,78a23,23,0,1,0-23-23A23,23,0,0,0,286.007,78Zm63.627-10.086a23,23,0,1,0,23,23A23,23,0,0,0,349.634,67.914ZM412.816,151.6a23,23,0,1,0-23-23A23,23,0,0,0,412.816,151.6Zm-63.182-9.2a23,23,0,1,0,23,23A23,23,0,0,0,349.634,142.4Zm-63.627,83.244a23,23,0,1,0-23-23A23,23,0,0,0,286.007,225.648Zm-62.074,36.358a23,23,0,1,0-23-23A23,23,0,0,0,223.933,262.006Zm188.883-82.358a23,23,0,1,0,23,23A23,23,0,0,0,412.816,179.648Zm0,72.272a23,23,0,1,0,23,23A23,23,0,0,0,412.816,251.92Z\"]\n};\nvar faUniregistry = {\n prefix: 'fab',\n iconName: 'uniregistry',\n icon: [384, 512, [], \"f404\", \"M192 480c39.5 0 76.2-11.8 106.8-32.2H85.3C115.8 468.2 152.5 480 192 480zm-89.1-193.1v-12.4H0v12.4c0 2.5 0 5 .1 7.4h103.1c-.2-2.4-.3-4.9-.3-7.4zm20.5 57H8.5c2.6 8.5 5.8 16.8 9.6 24.8h138.3c-12.9-5.7-24.1-14.2-33-24.8zm-17.7-34.7H1.3c.9 7.6 2.2 15 3.9 22.3h109.7c-4-6.9-7.2-14.4-9.2-22.3zm-2.8-69.3H0v17.3h102.9zm0-173.2H0v4.9h102.9zm0-34.7H0v2.5h102.9zm0 69.3H0v7.4h102.9zm0 104H0v14.8h102.9zm0-69.3H0v9.9h102.9zm0 34.6H0V183h102.9zm166.2 160.9h109.7c1.8-7.3 3.1-14.7 3.9-22.3H278.3c-2.1 7.9-5.2 15.4-9.2 22.3zm12-185.7H384V136H281.1zm0 37.2H384v-12.4H281.1zm0-74.3H384v-7.4H281.1zm0-76.7v2.5H384V32zm-203 410.9h227.7c11.8-8.7 22.7-18.6 32.2-29.7H44.9c9.6 11 21.4 21 33.2 29.7zm203-371.3H384v-4.9H281.1zm0 148.5H384v-14.8H281.1zM38.8 405.7h305.3c6.7-8.5 12.6-17.6 17.8-27.2H23c5.2 9.6 9.2 18.7 15.8 27.2zm188.8-37.1H367c3.7-8 5.8-16.2 8.5-24.8h-115c-8.8 10.7-20.1 19.2-32.9 24.8zm53.5-81.7c0 2.5-.1 5-.4 7.4h103.1c.1-2.5.2-4.9.2-7.4v-12.4H281.1zm0-29.7H384v-17.3H281.1z\"]\n};\nvar faUnity = {\n prefix: 'fab',\n iconName: 'unity',\n icon: [576, 512, [], \"e049\", \"M498.11,206.4,445.31,14.72,248.2,66.08,219,116.14l-59.2-.43L15.54,256,159.82,396.32l59.17-.43,29.24,50,197.08,51.36,52.8-191.62-30-49.63ZM223.77,124.2,374.55,86.51,288,232.33H114.87Zm0,263.63L114.87,279.71H288l86.55,145.81Zm193,14L330.17,256l86.58-145.84L458.56,256Z\"]\n};\nvar faUnsplash = {\n prefix: 'fab',\n iconName: 'unsplash',\n icon: [448, 512, [], \"e07c\", \"M448,230.17V480H0V230.17H141.13V355.09H306.87V230.17ZM306.87,32H141.13V156.91H306.87Z\"]\n};\nvar faUntappd = {\n prefix: 'fab',\n iconName: 'untappd',\n icon: [640, 512, [], \"f405\", \"M401.3 49.9c-79.8 160.1-84.6 152.5-87.9 173.2l-5.2 32.8c-1.9 12-6.6 23.5-13.7 33.4L145.6 497.1c-7.6 10.6-20.4 16.2-33.4 14.6-40.3-5-77.8-32.2-95.3-68.5-5.7-11.8-4.5-25.8 3.1-36.4l148.9-207.9c7.1-9.9 16.4-18 27.2-23.7l29.3-15.5c18.5-9.8 9.7-11.9 135.6-138.9 1-4.8 1-7.3 3.6-8 3-.7 6.6-1 6.3-4.6l-.4-4.6c-.2-1.9 1.3-3.6 3.2-3.6 4.5-.1 13.2 1.2 25.6 10 12.3 8.9 16.4 16.8 17.7 21.1.6 1.8-.6 3.7-2.4 4.2l-4.5 1.1c-3.4.9-2.5 4.4-2.3 7.4.1 2.8-2.3 3.6-6.5 6.1zM230.1 36.4c3.4.9 2.5 4.4 2.3 7.4-.2 2.7 2.1 3.5 6.4 6 7.9 15.9 15.3 30.5 22.2 44 .7 1.3 2.3 1.5 3.3.5 11.2-12 24.6-26.2 40.5-42.6 1.3-1.4 1.4-3.5.1-4.9-8-8.2-16.5-16.9-25.6-26.1-1-4.7-1-7.3-3.6-8-3-.8-6.6-1-6.3-4.6.3-3.3 1.4-8.1-2.8-8.2-4.5-.1-13.2 1.1-25.6 10-12.3 8.9-16.4 16.8-17.7 21.1-1.4 4.2 3.6 4.6 6.8 5.4zM620 406.7L471.2 198.8c-13.2-18.5-26.6-23.4-56.4-39.1-11.2-5.9-14.2-10.9-30.5-28.9-1-1.1-2.9-.9-3.6.5-46.3 88.8-47.1 82.8-49 94.8-1.7 10.7-1.3 20 .3 29.8 1.9 12 6.6 23.5 13.7 33.4l148.9 207.9c7.6 10.6 20.2 16.2 33.1 14.7 40.3-4.9 78-32 95.7-68.6 5.4-11.9 4.3-25.9-3.4-36.6z\"]\n};\nvar faUps = {\n prefix: 'fab',\n iconName: 'ups',\n icon: [384, 512, [], \"f7e0\", \"M103.2 303c-5.2 3.6-32.6 13.1-32.6-19V180H37.9v102.6c0 74.9 80.2 51.1 97.9 39V180h-32.6zM4 74.82v220.9c0 103.7 74.9 135.2 187.7 184.1 112.4-48.9 187.7-80.2 187.7-184.1V74.82c-116.3-61.6-281.8-49.6-375.4 0zm358.1 220.9c0 86.6-53.2 113.6-170.4 165.3-117.5-51.8-170.5-78.7-170.5-165.3v-126.4c102.3-93.8 231.6-100 340.9-89.8zm-209.6-107.4v212.8h32.7v-68.7c24.4 7.3 71.7-2.6 71.7-78.5 0-97.4-80.7-80.92-104.4-65.6zm32.7 117.3v-100.3c8.4-4.2 38.4-12.7 38.4 49.3 0 67.9-36.4 51.8-38.4 51zm79.1-86.4c.1 47.3 51.6 42.5 52.2 70.4.6 23.5-30.4 23-50.8 4.9v30.1c36.2 21.5 81.9 8.1 83.2-33.5 1.7-51.5-54.1-46.6-53.4-73.2.6-20.3 30.6-20.5 48.5-2.2v-28.4c-28.5-22-79.9-9.2-79.7 31.9z\"]\n};\nvar faUsb = {\n prefix: 'fab',\n iconName: 'usb',\n icon: [640, 512, [], \"f287\", \"M641.5 256c0 3.1-1.7 6.1-4.5 7.5L547.9 317c-1.4.8-2.8 1.4-4.5 1.4-1.4 0-3.1-.3-4.5-1.1-2.8-1.7-4.5-4.5-4.5-7.8v-35.6H295.7c25.3 39.6 40.5 106.9 69.6 106.9H392V354c0-5 3.9-8.9 8.9-8.9H490c5 0 8.9 3.9 8.9 8.9v89.1c0 5-3.9 8.9-8.9 8.9h-89.1c-5 0-8.9-3.9-8.9-8.9v-26.7h-26.7c-75.4 0-81.1-142.5-124.7-142.5H140.3c-8.1 30.6-35.9 53.5-69 53.5C32 327.3 0 295.3 0 256s32-71.3 71.3-71.3c33.1 0 61 22.8 69 53.5 39.1 0 43.9 9.5 74.6-60.4C255 88.7 273 95.7 323.8 95.7c7.5-20.9 27-35.6 50.4-35.6 29.5 0 53.5 23.9 53.5 53.5s-23.9 53.5-53.5 53.5c-23.4 0-42.9-14.8-50.4-35.6H294c-29.1 0-44.3 67.4-69.6 106.9h310.1v-35.6c0-3.3 1.7-6.1 4.5-7.8 2.8-1.7 6.4-1.4 8.9.3l89.1 53.5c2.8 1.1 4.5 4.1 4.5 7.2z\"]\n};\nvar faUsps = {\n prefix: 'fab',\n iconName: 'usps',\n icon: [576, 512, [], \"f7e1\", \"M460.3 241.7c25.8-41.3 15.2-48.8-11.7-48.8h-27c-.1 0-1.5-1.4-10.9 8-11.2 5.6-37.9 6.3-37.9 8.7 0 4.5 70.3-3.1 88.1 0 9.5 1.5-1.5 20.4-4.4 32-.5 4.5 2.4 2.3 3.8.1zm-112.1 22.6c64-21.3 97.3-23.9 102-26.2 4.4-2.9-4.4-6.6-26.2-5.8-51.7 2.2-137.6 37.1-172.6 53.9l-30.7-93.3h196.6c-2.7-28.2-152.9-22.6-337.9-22.6L27 415.8c196.4-97.3 258.9-130.3 321.2-151.5zM94.7 96c253.3 53.7 330 65.7 332.1 85.2 36.4 0 45.9 0 52.4 6.6 21.1 19.7-14.6 67.7-14.6 67.7-4.4 2.9-406.4 160.2-406.4 160.2h423.1L549 96z\"]\n};\nvar faUssunnah = {\n prefix: 'fab',\n iconName: 'ussunnah',\n icon: [512, 512, [], \"f407\", \"M156.8 285.1l5.7 14.4h-8.2c-1.3-3.2-3.1-7.7-3.8-9.5-2.5-6.3-1.1-8.4 0-10 1.9-2.7 3.2-4.4 3.6-5.2 0 2.2.8 5.7 2.7 10.3zm297.3 18.8c-2.1 13.8-5.7 27.1-10.5 39.7l43 23.4-44.8-18.8c-5.3 13.2-12 25.6-19.9 37.2l34.2 30.2-36.8-26.4c-8.4 11.8-18 22.6-28.7 32.3l24.9 34.7-28.1-31.8c-11 9.6-23.1 18-36.1 25.1l15.7 37.2-19.3-35.3c-13.1 6.8-27 12.1-41.6 15.9l6.7 38.4-10.5-37.4c-14.3 3.4-29.2 5.3-44.5 5.4L256 512l-1.9-38.4c-15.3-.1-30.2-2-44.5-5.3L199 505.6l6.7-38.2c-14.6-3.7-28.6-9.1-41.7-15.8l-19.2 35.1 15.6-37c-13-7-25.2-15.4-36.2-25.1l-27.9 31.6 24.7-34.4c-10.7-9.7-20.4-20.5-28.8-32.3l-36.5 26.2 33.9-29.9c-7.9-11.6-14.6-24.1-20-37.3l-44.4 18.7L67.8 344c-4.8-12.7-8.4-26.1-10.5-39.9l-51 9 50.3-14.2c-1.1-8.5-1.7-17.1-1.7-25.9 0-4.7.2-9.4.5-14.1L0 256l56-2.8c1.3-13.1 3.8-25.8 7.5-38.1L6.4 199l58.9 10.4c4-12 9.1-23.5 15.2-34.4l-55.1-30 58.3 24.6C90 159 97.2 149.2 105.3 140L55.8 96.4l53.9 38.7c8.1-8.6 17-16.5 26.6-23.6l-40-55.6 45.6 51.6c9.5-6.6 19.7-12.3 30.3-17.2l-27.3-64.9 33.8 62.1c10.5-4.4 21.4-7.9 32.7-10.4L199 6.4l19.5 69.2c11-2.1 22.3-3.2 33.8-3.4L256 0l3.6 72.2c11.5.2 22.8 1.4 33.8 3.5L313 6.4l-12.4 70.7c11.3 2.6 22.2 6.1 32.6 10.5l33.9-62.2-27.4 65.1c10.6 4.9 20.7 10.7 30.2 17.2l45.8-51.8-40.1 55.9c9.5 7.1 18.4 15 26.5 23.6l54.2-38.9-49.7 43.9c8 9.1 15.2 18.9 21.5 29.4l58.7-24.7-55.5 30.2c6.1 10.9 11.1 22.3 15.1 34.3l59.3-10.4-57.5 16.2c3.7 12.2 6.2 24.9 7.5 37.9L512 256l-56 2.8c.3 4.6.5 9.3.5 14.1 0 8.7-.6 17.3-1.6 25.8l50.7 14.3-51.5-9.1zm-21.8-31c0-97.5-79-176.5-176.5-176.5s-176.5 79-176.5 176.5 79 176.5 176.5 176.5 176.5-79 176.5-176.5zm-24 0c0 84.3-68.3 152.6-152.6 152.6s-152.6-68.3-152.6-152.6 68.3-152.6 152.6-152.6 152.6 68.3 152.6 152.6zM195 241c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-40.7-19c0 2.1 1.3 3.8 3.6 5.1 3.5 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-19 0c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.4 6.8-9.6 10.9-9.6 12.6zm204.9 87.9c-8.4-3-8.7-6.8-8.7-15.6V182c-8.2 12.5-14.2 18.6-18 18.6 6.3 14.4 9.5 23.9 9.5 28.3v64.3c0 2.2-2.2 6.5-4.7 6.5h-18c-2.8-7.5-10.2-26.9-15.3-40.3-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3 2.6 6.7 6.4 16.5 7.9 20.2h-9.2c-3.9-10.4-9.6-25.4-11.8-31.1-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3.8 2 2.8 7.3 4.3 10.9H256c-1.5-4.1-5.6-14.6-8.4-22-2 2.5-7.2 9.2-10.7 13.7 2.5 1.6 4.3 3.6 5.2 6.3.2.6.5 1.4.6 1.7H225c-4.6-13.9-11.4-27.7-11.4-34.1 0-2.2.3-5.1 1.1-8.2-8.8 10.8-14 15.9-14 25 0 7.5 10.4 28.3 10.4 33.3 0 1.7-.5 3.3-1.4 4.9-9.6-12.7-15.5-20.7-18.8-20.7h-12l-11.2-28c-3.8-9.6-5.7-16-5.7-18.8 0-3.8.5-7.7 1.7-12.2-1 1.3-3.7 4.7-5.5 7.1-.8-2.1-3.1-7.7-4.6-11.5-2.1 2.5-7.5 9.1-11.2 13.6.9 2.3 3.3 8.1 4.9 12.2-2.5 3.3-9.1 11.8-13.6 17.7-4 5.3-5.8 13.3-2.7 21.8 2.5 6.7 2 7.9-1.7 14.1H191c5.5 0 14.3 14 15.5 22 13.2-16 15.4-19.6 16.8-21.6h107c3.9 0 7.2-1.9 9.9-5.8zm20.1-26.6V181.7c-9 12.5-15.9 18.6-20.7 18.6 7.1 14.4 10.7 23.9 10.7 28.3v66.3c0 17.5 8.6 20.4 24 20.4 8.1 0 12.5-.8 13.7-2.7-4.3-1.6-7.6-2.5-9.9-3.3-8.1-3.2-17.8-7.4-17.8-26z\"]\n};\nvar faVaadin = {\n prefix: 'fab',\n iconName: 'vaadin',\n icon: [448, 512, [], \"f408\", \"M224.5 140.7c1.5-17.6 4.9-52.7 49.8-52.7h98.6c20.7 0 32.1-7.8 32.1-21.6V54.1c0-12.2 9.3-22.1 21.5-22.1S448 41.9 448 54.1v36.5c0 42.9-21.5 62-66.8 62H280.7c-30.1 0-33 14.7-33 27.1 0 1.3-.1 2.5-.2 3.7-.7 12.3-10.9 22.2-23.4 22.2s-22.7-9.8-23.4-22.2c-.1-1.2-.2-2.4-.2-3.7 0-12.3-3-27.1-33-27.1H66.8c-45.3 0-66.8-19.1-66.8-62V54.1C0 41.9 9.4 32 21.6 32s21.5 9.9 21.5 22.1v12.3C43.1 80.2 54.5 88 75.2 88h98.6c44.8 0 48.3 35.1 49.8 52.7h.9zM224 456c11.5 0 21.4-7 25.7-16.3 1.1-1.8 97.1-169.6 98.2-171.4 11.9-19.6-3.2-44.3-27.2-44.3-13.9 0-23.3 6.4-29.8 20.3L224 362l-66.9-117.7c-6.4-13.9-15.9-20.3-29.8-20.3-24 0-39.1 24.6-27.2 44.3 1.1 1.9 97.1 169.6 98.2 171.4 4.3 9.3 14.2 16.3 25.7 16.3z\"]\n};\nvar faViacoin = {\n prefix: 'fab',\n iconName: 'viacoin',\n icon: [384, 512, [], \"f237\", \"M384 32h-64l-80.7 192h-94.5L64 32H0l48 112H0v48h68.5l13.8 32H0v48h102.8L192 480l89.2-208H384v-48h-82.3l13.8-32H384v-48h-48l48-112zM192 336l-27-64h54l-27 64z\"]\n};\nvar faViadeo = {\n prefix: 'fab',\n iconName: 'viadeo',\n icon: [448, 512, [], \"f2a9\", \"M276.2 150.5v.7C258.3 98.6 233.6 47.8 205.4 0c43.3 29.2 67 100 70.8 150.5zm32.7 121.7c7.6 18.2 11 37.5 11 57 0 77.7-57.8 141-137.8 139.4l3.8-.3c74.2-46.7 109.3-118.6 109.3-205.1 0-38.1-6.5-75.9-18.9-112 1 11.7 1 23.7 1 35.4 0 91.8-18.1 241.6-116.6 280C95 455.2 49.4 398 49.4 329.2c0-75.6 57.4-142.3 135.4-142.3 16.8 0 33.7 3.1 49.1 9.6 1.7-15.1 6.5-29.9 13.4-43.3-19.9-7.2-41.2-10.7-62.5-10.7-161.5 0-238.7 195.9-129.9 313.7 67.9 74.6 192 73.9 259.8 0 56.6-61.3 60.9-142.4 36.4-201-12.7 8-27.1 13.9-42.2 17zM418.1 11.7c-31 66.5-81.3 47.2-115.8 80.1-12.4 12-20.6 34-20.6 50.5 0 14.1 4.5 27.1 12 38.8 47.4-11 98.3-46 118.2-90.7-.7 5.5-4.8 14.4-7.2 19.2-20.3 35.7-64.6 65.6-99.7 84.9 14.8 14.4 33.7 25.8 55 25.8 79 0 110.1-134.6 58.1-208.6z\"]\n};\nvar faViadeoSquare = {\n prefix: 'fab',\n iconName: 'viadeo-square',\n icon: [448, 512, [], \"f2aa\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM280.7 381.2c-42.4 46.2-120 46.6-162.4 0-68-73.6-19.8-196.1 81.2-196.1 13.3 0 26.6 2.1 39.1 6.7-4.3 8.4-7.3 17.6-8.4 27.1-9.7-4.1-20.2-6-30.7-6-48.8 0-84.6 41.7-84.6 88.9 0 43 28.5 78.7 69.5 85.9 61.5-24 72.9-117.6 72.9-175 0-7.3 0-14.8-.6-22.1-11.2-32.9-26.6-64.6-44.2-94.5 27.1 18.3 41.9 62.5 44.2 94.1v.4c7.7 22.5 11.8 46.2 11.8 70 0 54.1-21.9 99-68.3 128.2l-2.4.2c50 1 86.2-38.6 86.2-87.2 0-12.2-2.1-24.3-6.9-35.7 9.5-1.9 18.5-5.6 26.4-10.5 15.3 36.6 12.6 87.3-22.8 125.6zM309 233.7c-13.3 0-25.1-7.1-34.4-16.1 21.9-12 49.6-30.7 62.3-53 1.5-3 4.1-8.6 4.5-12-12.5 27.9-44.2 49.8-73.9 56.7-4.7-7.3-7.5-15.5-7.5-24.3 0-10.3 5.2-24.1 12.9-31.6 21.6-20.5 53-8.5 72.4-50 32.5 46.2 13.1 130.3-36.3 130.3z\"]\n};\nvar faViber = {\n prefix: 'fab',\n iconName: 'viber',\n icon: [512, 512, [], \"f409\", \"M444 49.9C431.3 38.2 379.9.9 265.3.4c0 0-135.1-8.1-200.9 52.3C27.8 89.3 14.9 143 13.5 209.5c-1.4 66.5-3.1 191.1 117 224.9h.1l-.1 51.6s-.8 20.9 13 25.1c16.6 5.2 26.4-10.7 42.3-27.8 8.7-9.4 20.7-23.2 29.8-33.7 82.2 6.9 145.3-8.9 152.5-11.2 16.6-5.4 110.5-17.4 125.7-142 15.8-128.6-7.6-209.8-49.8-246.5zM457.9 287c-12.9 104-89 110.6-103 115.1-6 1.9-61.5 15.7-131.2 11.2 0 0-52 62.7-68.2 79-5.3 5.3-11.1 4.8-11-5.7 0-6.9.4-85.7.4-85.7-.1 0-.1 0 0 0-101.8-28.2-95.8-134.3-94.7-189.8 1.1-55.5 11.6-101 42.6-131.6 55.7-50.5 170.4-43 170.4-43 96.9.4 143.3 29.6 154.1 39.4 35.7 30.6 53.9 103.8 40.6 211.1zm-139-80.8c.4 8.6-12.5 9.2-12.9.6-1.1-22-11.4-32.7-32.6-33.9-8.6-.5-7.8-13.4.7-12.9 27.9 1.5 43.4 17.5 44.8 46.2zm20.3 11.3c1-42.4-25.5-75.6-75.8-79.3-8.5-.6-7.6-13.5.9-12.9 58 4.2 88.9 44.1 87.8 92.5-.1 8.6-13.1 8.2-12.9-.3zm47 13.4c.1 8.6-12.9 8.7-12.9.1-.6-81.5-54.9-125.9-120.8-126.4-8.5-.1-8.5-12.9 0-12.9 73.7.5 133 51.4 133.7 139.2zM374.9 329v.2c-10.8 19-31 40-51.8 33.3l-.2-.3c-21.1-5.9-70.8-31.5-102.2-56.5-16.2-12.8-31-27.9-42.4-42.4-10.3-12.9-20.7-28.2-30.8-46.6-21.3-38.5-26-55.7-26-55.7-6.7-20.8 14.2-41 33.3-51.8h.2c9.2-4.8 18-3.2 23.9 3.9 0 0 12.4 14.8 17.7 22.1 5 6.8 11.7 17.7 15.2 23.8 6.1 10.9 2.3 22-3.7 26.6l-12 9.6c-6.1 4.9-5.3 14-5.3 14s17.8 67.3 84.3 84.3c0 0 9.1.8 14-5.3l9.6-12c4.6-6 15.7-9.8 26.6-3.7 14.7 8.3 33.4 21.2 45.8 32.9 7 5.7 8.6 14.4 3.8 23.6z\"]\n};\nvar faVimeo = {\n prefix: 'fab',\n iconName: 'vimeo',\n icon: [448, 512, [], \"f40a\", \"M403.2 32H44.8C20.1 32 0 52.1 0 76.8v358.4C0 459.9 20.1 480 44.8 480h358.4c24.7 0 44.8-20.1 44.8-44.8V76.8c0-24.7-20.1-44.8-44.8-44.8zM377 180.8c-1.4 31.5-23.4 74.7-66 129.4-44 57.2-81.3 85.8-111.7 85.8-18.9 0-34.8-17.4-47.9-52.3-25.5-93.3-36.4-148-57.4-148-2.4 0-10.9 5.1-25.4 15.2l-15.2-19.6c37.3-32.8 72.9-69.2 95.2-71.2 25.2-2.4 40.7 14.8 46.5 51.7 20.7 131.2 29.9 151 67.6 91.6 13.5-21.4 20.8-37.7 21.8-48.9 3.5-33.2-25.9-30.9-45.8-22.4 15.9-52.1 46.3-77.4 91.2-76 33.3.9 49 22.5 47.1 64.7z\"]\n};\nvar faVimeoSquare = {\n prefix: 'fab',\n iconName: 'vimeo-square',\n icon: [448, 512, [], \"f194\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16.2 149.6c-1.4 31.1-23.2 73.8-65.3 127.9-43.5 56.5-80.3 84.8-110.4 84.8-18.7 0-34.4-17.2-47.3-51.6-25.2-92.3-35.9-146.4-56.7-146.4-2.4 0-10.8 5-25.1 15.1L64 192c36.9-32.4 72.1-68.4 94.1-70.4 24.9-2.4 40.2 14.6 46 51.1 20.5 129.6 29.6 149.2 66.8 90.5 13.4-21.2 20.6-37.2 21.5-48.3 3.4-32.8-25.6-30.6-45.2-22.2 15.7-51.5 45.8-76.5 90.1-75.1 32.9 1 48.4 22.4 46.5 64z\"]\n};\nvar faVimeoV = {\n prefix: 'fab',\n iconName: 'vimeo-v',\n icon: [448, 512, [], \"f27d\", \"M447.8 153.6c-2 43.6-32.4 103.3-91.4 179.1-60.9 79.2-112.4 118.8-154.6 118.8-26.1 0-48.2-24.1-66.3-72.3C100.3 250 85.3 174.3 56.2 174.3c-3.4 0-15.1 7.1-35.2 21.1L0 168.2c51.6-45.3 100.9-95.7 131.8-98.5 34.9-3.4 56.3 20.5 64.4 71.5 28.7 181.5 41.4 208.9 93.6 126.7 18.7-29.6 28.8-52.1 30.2-67.6 4.8-45.9-35.8-42.8-63.3-31 22-72.1 64.1-107.1 126.2-105.1 45.8 1.2 67.5 31.1 64.9 89.4z\"]\n};\nvar faVine = {\n prefix: 'fab',\n iconName: 'vine',\n icon: [384, 512, [], \"f1ca\", \"M384 254.7v52.1c-18.4 4.2-36.9 6.1-52.1 6.1-36.9 77.4-103 143.8-125.1 156.2-14 7.9-27.1 8.4-42.7-.8C137 452 34.2 367.7 0 102.7h74.5C93.2 261.8 139 343.4 189.3 404.5c27.9-27.9 54.8-65.1 75.6-106.9-49.8-25.3-80.1-80.9-80.1-145.6 0-65.6 37.7-115.1 102.2-115.1 114.9 0 106.2 127.9 81.6 181.5 0 0-46.4 9.2-63.5-20.5 3.4-11.3 8.2-30.8 8.2-48.5 0-31.3-11.3-46.6-28.4-46.6-18.2 0-30.8 17.1-30.8 50 .1 79.2 59.4 118.7 129.9 101.9z\"]\n};\nvar faVk = {\n prefix: 'fab',\n iconName: 'vk',\n icon: [576, 512, [], \"f189\", \"M545 117.7c3.7-12.5 0-21.7-17.8-21.7h-58.9c-15 0-21.9 7.9-25.6 16.7 0 0-30 73.1-72.4 120.5-13.7 13.7-20 18.1-27.5 18.1-3.7 0-9.4-4.4-9.4-16.9V117.7c0-15-4.2-21.7-16.6-21.7h-92.6c-9.4 0-15 7-15 13.5 0 14.2 21.2 17.5 23.4 57.5v86.8c0 19-3.4 22.5-10.9 22.5-20 0-68.6-73.4-97.4-157.4-5.8-16.3-11.5-22.9-26.6-22.9H38.8c-16.8 0-20.2 7.9-20.2 16.7 0 15.6 20 93.1 93.1 195.5C160.4 378.1 229 416 291.4 416c37.5 0 42.1-8.4 42.1-22.9 0-66.8-3.4-73.1 15.4-73.1 8.7 0 23.7 4.4 58.7 38.1 40 40 46.6 57.9 69 57.9h58.9c16.8 0 25.3-8.4 20.4-25-11.2-34.9-86.9-106.7-90.3-111.5-8.7-11.2-6.2-16.2 0-26.2.1-.1 72-101.3 79.4-135.6z\"]\n};\nvar faVnv = {\n prefix: 'fab',\n iconName: 'vnv',\n icon: [640, 512, [], \"f40b\", \"M104.9 352c-34.1 0-46.4-30.4-46.4-30.4L2.6 210.1S-7.8 192 13 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.7-74.5c5.6-9.5 8.4-18.1 18.8-18.1h32.8c20.8 0 10.4 18.1 10.4 18.1l-55.8 111.5S174.2 352 140 352h-35.1zm395 0c-34.1 0-46.4-30.4-46.4-30.4l-55.9-111.5S387.2 192 408 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.8-74.5c5.6-9.5 8.4-18.1 18.8-18.1H627c20.8 0 10.4 18.1 10.4 18.1l-55.9 111.5S569.3 352 535.1 352h-35.2zM337.6 192c34.1 0 46.4 30.4 46.4 30.4l55.9 111.5s10.4 18.1-10.4 18.1h-32.8c-10.4 0-13.2-8.7-18.8-18.1l-36.7-74.5s-5.2-13.1-21.1-13.1c-15.9 0-21.1 13.1-21.1 13.1l-36.7 74.5c-5.6 9.4-8.4 18.1-18.8 18.1h-32.9c-20.8 0-10.4-18.1-10.4-18.1l55.9-111.5s12.2-30.4 46.4-30.4h35.1z\"]\n};\nvar faVuejs = {\n prefix: 'fab',\n iconName: 'vuejs',\n icon: [448, 512, [], \"f41f\", \"M356.9 64.3H280l-56 88.6-48-88.6H0L224 448 448 64.3h-91.1zm-301.2 32h53.8L224 294.5 338.4 96.3h53.8L224 384.5 55.7 96.3z\"]\n};\nvar faWatchmanMonitoring = {\n prefix: 'fab',\n iconName: 'watchman-monitoring',\n icon: [512, 512, [], \"e087\", \"M256,16C123.452,16,16,123.452,16,256S123.452,496,256,496,496,388.548,496,256,388.548,16,256,16ZM121.69,429.122C70.056,388.972,36.741,326.322,36.741,256a218.519,218.519,0,0,1,9.587-64.122l102.9-17.895-.121,10.967-13.943,2.013s-.144,12.5-.144,19.549a12.778,12.778,0,0,0,4.887,10.349l9.468,7.4Zm105.692-283.27,8.48-7.618s6.934-5.38-.143-9.344c-7.188-4.024-39.53-34.5-39.53-34.5-5.348-5.477-8.257-7.347-15.46,0,0,0-32.342,30.474-39.529,34.5-7.078,3.964-.144,9.344-.144,9.344l8.481,7.618-.048,4.369L75.982,131.045c39.644-56.938,105.532-94.3,180.018-94.3A218.754,218.754,0,0,1,420.934,111.77l-193.512,37.7Zm34.063,329.269-33.9-250.857,9.467-7.4a12.778,12.778,0,0,0,4.888-10.349c0-7.044-.144-19.549-.144-19.549l-13.943-2.013-.116-10.474,241.711,31.391A218.872,218.872,0,0,1,475.259,256C475.259,375.074,379.831,472.212,261.445,475.121Z\"]\n};\nvar faWaze = {\n prefix: 'fab',\n iconName: 'waze',\n icon: [512, 512, [], \"f83f\", \"M502.17 201.67C516.69 287.53 471.23 369.59 389 409.8c13 34.1-12.4 70.2-48.32 70.2a51.68 51.68 0 0 1-51.57-49c-6.44.19-64.2 0-76.33-.64A51.69 51.69 0 0 1 159 479.92c-33.86-1.36-57.95-34.84-47-67.92-37.21-13.11-72.54-34.87-99.62-70.8-13-17.28-.48-41.8 20.84-41.8 46.31 0 32.22-54.17 43.15-110.26C94.8 95.2 193.12 32 288.09 32c102.48 0 197.15 70.67 214.08 169.67zM373.51 388.28c42-19.18 81.33-56.71 96.29-102.14 40.48-123.09-64.15-228-181.71-228-83.45 0-170.32 55.42-186.07 136-9.53 48.91 5 131.35-68.75 131.35C58.21 358.6 91.6 378.11 127 389.54c24.66-21.8 63.87-15.47 79.83 14.34 14.22 1 79.19 1.18 87.9.82a51.69 51.69 0 0 1 78.78-16.42zM205.12 187.13c0-34.74 50.84-34.75 50.84 0s-50.84 34.74-50.84 0zm116.57 0c0-34.74 50.86-34.75 50.86 0s-50.86 34.75-50.86 0zm-122.61 70.69c-3.44-16.94 22.18-22.18 25.62-5.21l.06.28c4.14 21.42 29.85 44 64.12 43.07 35.68-.94 59.25-22.21 64.11-42.77 4.46-16.05 28.6-10.36 25.47 6-5.23 22.18-31.21 62-91.46 62.9-42.55 0-80.88-27.84-87.9-64.25z\"]\n};\nvar faWeebly = {\n prefix: 'fab',\n iconName: 'weebly',\n icon: [512, 512, [], \"f5cc\", \"M425.09 65.83c-39.88 0-73.28 25.73-83.66 64.33-18.16-58.06-65.5-64.33-84.95-64.33-19.78 0-66.8 6.28-85.28 64.33-10.38-38.6-43.45-64.33-83.66-64.33C38.59 65.83 0 99.72 0 143.03c0 28.96 4.18 33.27 77.17 233.48 22.37 60.57 67.77 69.35 92.74 69.35 39.23 0 70.04-19.46 85.93-53.98 15.89 34.83 46.69 54.29 85.93 54.29 24.97 0 70.36-9.1 92.74-69.67 76.55-208.65 77.5-205.58 77.5-227.2.63-48.32-36.01-83.47-86.92-83.47zm26.34 114.81l-65.57 176.44c-7.92 21.49-21.22 37.22-46.24 37.22-23.44 0-37.38-12.41-44.03-33.9l-39.28-117.42h-.95L216.08 360.4c-6.96 21.5-20.9 33.6-44.02 33.6-25.02 0-38.33-15.74-46.24-37.22L60.88 181.55c-5.38-14.83-7.92-23.91-7.92-34.5 0-16.34 15.84-29.36 38.33-29.36 18.69 0 31.99 11.8 36.11 29.05l44.03 139.82h.95l44.66-136.79c6.02-19.67 16.47-32.08 38.96-32.08s32.94 12.11 38.96 32.08l44.66 136.79h.95l44.03-139.82c4.12-17.25 17.42-29.05 36.11-29.05 22.17 0 38.33 13.32 38.33 35.71-.32 7.87-4.12 16.04-7.61 27.24z\"]\n};\nvar faWeibo = {\n prefix: 'fab',\n iconName: 'weibo',\n icon: [512, 512, [], \"f18a\", \"M407 177.6c7.6-24-13.4-46.8-37.4-41.7-22 4.8-28.8-28.1-7.1-32.8 50.1-10.9 92.3 37.1 76.5 84.8-6.8 21.2-38.8 10.8-32-10.3zM214.8 446.7C108.5 446.7 0 395.3 0 310.4c0-44.3 28-95.4 76.3-143.7C176 67 279.5 65.8 249.9 161c-4 13.1 12.3 5.7 12.3 6 79.5-33.6 140.5-16.8 114 51.4-3.7 9.4 1.1 10.9 8.3 13.1 135.7 42.3 34.8 215.2-169.7 215.2zm143.7-146.3c-5.4-55.7-78.5-94-163.4-85.7-84.8 8.6-148.8 60.3-143.4 116s78.5 94 163.4 85.7c84.8-8.6 148.8-60.3 143.4-116zM347.9 35.1c-25.9 5.6-16.8 43.7 8.3 38.3 72.3-15.2 134.8 52.8 111.7 124-7.4 24.2 29.1 37 37.4 12 31.9-99.8-55.1-195.9-157.4-174.3zm-78.5 311c-17.1 38.8-66.8 60-109.1 46.3-40.8-13.1-58-53.4-40.3-89.7 17.7-35.4 63.1-55.4 103.4-45.1 42 10.8 63.1 50.2 46 88.5zm-86.3-30c-12.9-5.4-30 .3-38 12.9-8.3 12.9-4.3 28 8.6 34 13.1 6 30.8.3 39.1-12.9 8-13.1 3.7-28.3-9.7-34zm32.6-13.4c-5.1-1.7-11.4.6-14.3 5.4-2.9 5.1-1.4 10.6 3.7 12.9 5.1 2 11.7-.3 14.6-5.4 2.8-5.2 1.1-10.9-4-12.9z\"]\n};\nvar faWeixin = {\n prefix: 'fab',\n iconName: 'weixin',\n icon: [576, 512, [], \"f1d7\", \"M385.2 167.6c6.4 0 12.6.3 18.8 1.1C387.4 90.3 303.3 32 207.7 32 100.5 32 13 104.8 13 197.4c0 53.4 29.3 97.5 77.9 131.6l-19.3 58.6 68-34.1c24.4 4.8 43.8 9.7 68.2 9.7 6.2 0 12.1-.3 18.3-.8-4-12.9-6.2-26.6-6.2-40.8-.1-84.9 72.9-154 165.3-154zm-104.5-52.9c14.5 0 24.2 9.7 24.2 24.4 0 14.5-9.7 24.2-24.2 24.2-14.8 0-29.3-9.7-29.3-24.2.1-14.7 14.6-24.4 29.3-24.4zm-136.4 48.6c-14.5 0-29.3-9.7-29.3-24.2 0-14.8 14.8-24.4 29.3-24.4 14.8 0 24.4 9.7 24.4 24.4 0 14.6-9.6 24.2-24.4 24.2zM563 319.4c0-77.9-77.9-141.3-165.4-141.3-92.7 0-165.4 63.4-165.4 141.3S305 460.7 397.6 460.7c19.3 0 38.9-5.1 58.6-9.9l53.4 29.3-14.8-48.6C534 402.1 563 363.2 563 319.4zm-219.1-24.5c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.8 0 24.4 9.7 24.4 19.3 0 10-9.7 19.6-24.4 19.6zm107.1 0c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.5 0 24.4 9.7 24.4 19.3.1 10-9.9 19.6-24.4 19.6z\"]\n};\nvar faWhatsapp = {\n prefix: 'fab',\n iconName: 'whatsapp',\n icon: [448, 512, [], \"f232\", \"M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z\"]\n};\nvar faWhatsappSquare = {\n prefix: 'fab',\n iconName: 'whatsapp-square',\n icon: [448, 512, [], \"f40c\", \"M224 122.8c-72.7 0-131.8 59.1-131.9 131.8 0 24.9 7 49.2 20.2 70.1l3.1 5-13.3 48.6 49.9-13.1 4.8 2.9c20.2 12 43.4 18.4 67.1 18.4h.1c72.6 0 133.3-59.1 133.3-131.8 0-35.2-15.2-68.3-40.1-93.2-25-25-58-38.7-93.2-38.7zm77.5 188.4c-3.3 9.3-19.1 17.7-26.7 18.8-12.6 1.9-22.4.9-47.5-9.9-39.7-17.2-65.7-57.2-67.7-59.8-2-2.6-16.2-21.5-16.2-41s10.2-29.1 13.9-33.1c3.6-4 7.9-5 10.6-5 2.6 0 5.3 0 7.6.1 2.4.1 5.7-.9 8.9 6.8 3.3 7.9 11.2 27.4 12.2 29.4s1.7 4.3.3 6.9c-7.6 15.2-15.7 14.6-11.6 21.6 15.3 26.3 30.6 35.4 53.9 47.1 4 2 6.3 1.7 8.6-1 2.3-2.6 9.9-11.6 12.5-15.5 2.6-4 5.3-3.3 8.9-2 3.6 1.3 23.1 10.9 27.1 12.9s6.6 3 7.6 4.6c.9 1.9.9 9.9-2.4 19.1zM400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM223.9 413.2c-26.6 0-52.7-6.7-75.8-19.3L64 416l22.5-82.2c-13.9-24-21.2-51.3-21.2-79.3C65.4 167.1 136.5 96 223.9 96c42.4 0 82.2 16.5 112.2 46.5 29.9 30 47.9 69.8 47.9 112.2 0 87.4-72.7 158.5-160.1 158.5z\"]\n};\nvar faWhmcs = {\n prefix: 'fab',\n iconName: 'whmcs',\n icon: [448, 512, [], \"f40d\", \"M448 161v-21.3l-28.5-8.8-2.2-10.4 20.1-20.7L427 80.4l-29 7.5-7.2-7.5 7.5-28.2-19.1-11.6-21.3 21-10.7-3.2-7-26.4h-22.6l-6.2 26.4-12.1 3.2-19.7-21-19.4 11 8.1 27.7-8.1 8.4-28.5-7.5-11 19.1 20.7 21-2.9 10.4-28.5 7.8-.3 21.7 28.8 7.5 2.4 12.1-20.1 19.9 10.4 18.5 29.6-7.5 7.2 8.6-8.1 26.9 19.9 11.6 19.4-20.4 11.6 2.9 6.7 28.5 22.6.3 6.7-28.8 11.6-3.5 20.7 21.6 20.4-12.1-8.8-28 7.8-8.1 28.8 8.8 10.3-20.1-20.9-18.8 2.2-12.1 29.1-7zm-119.2 45.2c-31.3 0-56.8-25.4-56.8-56.8s25.4-56.8 56.8-56.8 56.8 25.4 56.8 56.8c0 31.5-25.4 56.8-56.8 56.8zm72.3 16.4l46.9 14.5V277l-55.1 13.4-4.1 22.7 38.9 35.3-19.2 37.9-54-16.7-14.6 15.2 16.7 52.5-38.3 22.7-38.9-40.5-21.7 6.6-12.6 54-42.4-.5-12.6-53.6-21.7-5.6-36.4 38.4-37.4-21.7 15.2-50.5-13.7-16.1-55.5 14.1-19.7-34.8 37.9-37.4-4.8-22.8-54-14.1.5-40.9L54 219.9l5.7-19.7-38.9-39.4L41.5 125l53.6 14.1 15.2-15.7-15.2-52 36.4-20.7 36.8 39.4L191 84l11.6-52H245l11.6 45.9L234 72l-6.3-1.7-3.3 5.7-11 19.1-3.3 5.6 4.6 4.6 17.2 17.4-.3 1-23.8 6.5-6.2 1.7-.1 6.4-.2 12.9C153.8 161.6 118 204 118 254.7c0 58.3 47.3 105.7 105.7 105.7 50.5 0 92.7-35.4 103.2-82.8l13.2.2 6.9.1 1.6-6.7 5.6-24 1.9-.6 17.1 17.8 4.7 4.9 5.8-3.4 20.4-12.1 5.8-3.5-2-6.5-6.8-21.2z\"]\n};\nvar faWikipediaW = {\n prefix: 'fab',\n iconName: 'wikipedia-w',\n icon: [640, 512, [], \"f266\", \"M640 51.2l-.3 12.2c-28.1.8-45 15.8-55.8 40.3-25 57.8-103.3 240-155.3 358.6H415l-81.9-193.1c-32.5 63.6-68.3 130-99.2 193.1-.3.3-15 0-15-.3C172 352.3 122.8 243.4 75.8 133.4 64.4 106.7 26.4 63.4.2 63.7c0-3.1-.3-10-.3-14.2h161.9v13.9c-19.2 1.1-52.8 13.3-43.3 34.2 21.9 49.7 103.6 240.3 125.6 288.6 15-29.7 57.8-109.2 75.3-142.8-13.9-28.3-58.6-133.9-72.8-160-9.7-17.8-36.1-19.4-55.8-19.7V49.8l142.5.3v13.1c-19.4.6-38.1 7.8-29.4 26.1 18.9 40 30.6 68.1 48.1 104.7 5.6-10.8 34.7-69.4 48.1-100.8 8.9-20.6-3.9-28.6-38.6-29.4.3-3.6 0-10.3.3-13.6 44.4-.3 111.1-.3 123.1-.6v13.6c-22.5.8-45.8 12.8-58.1 31.7l-59.2 122.8c6.4 16.1 63.3 142.8 69.2 156.7L559.2 91.8c-8.6-23.1-36.4-28.1-47.2-28.3V49.6l127.8 1.1.2.5z\"]\n};\nvar faWindows = {\n prefix: 'fab',\n iconName: 'windows',\n icon: [448, 512, [], \"f17a\", \"M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z\"]\n};\nvar faWix = {\n prefix: 'fab',\n iconName: 'wix',\n icon: [640, 512, [], \"f5cf\", \"M393.38 131.69c0 13.03 2.08 32.69-28.68 43.83-9.52 3.45-15.95 9.66-15.95 9.66 0-31 4.72-42.22 17.4-48.86 9.75-5.11 27.23-4.63 27.23-4.63zm-115.8 35.54l-34.24 132.66-28.48-108.57c-7.69-31.99-20.81-48.53-48.43-48.53-27.37 0-40.66 16.18-48.43 48.53L89.52 299.89 55.28 167.23C49.73 140.51 23.86 128.96 0 131.96l65.57 247.93s21.63 1.56 32.46-3.96c14.22-7.25 20.98-12.84 29.59-46.57 7.67-30.07 29.11-118.41 31.12-124.7 4.76-14.94 11.09-13.81 15.4 0 1.97 6.3 23.45 94.63 31.12 124.7 8.6 33.73 15.37 39.32 29.59 46.57 10.82 5.52 32.46 3.96 32.46 3.96l65.57-247.93c-24.42-3.07-49.82 8.93-55.3 35.27zm115.78 5.21s-4.1 6.34-13.46 11.57c-6.01 3.36-11.78 5.64-17.97 8.61-15.14 7.26-13.18 13.95-13.18 35.2v152.07s16.55 2.09 27.37-3.43c13.93-7.1 17.13-13.95 17.26-44.78V181.41l-.02.01v-8.98zm163.44 84.08L640 132.78s-35.11-5.98-52.5 9.85c-13.3 12.1-24.41 29.55-54.18 72.47-.47.73-6.25 10.54-13.07 0-29.29-42.23-40.8-60.29-54.18-72.47-17.39-15.83-52.5-9.85-52.5-9.85l83.2 123.74-82.97 123.36s36.57 4.62 53.95-11.21c11.49-10.46 17.58-20.37 52.51-70.72 6.81-10.52 12.57-.77 13.07 0 29.4 42.38 39.23 58.06 53.14 70.72 17.39 15.83 53.32 11.21 53.32 11.21L556.8 256.52z\"]\n};\nvar faWizardsOfTheCoast = {\n prefix: 'fab',\n iconName: 'wizards-of-the-coast',\n icon: [640, 512, [], \"f730\", \"M219.19 345.69c-1.9 1.38-11.07 8.44-.26 23.57 4.64 6.42 14.11 12.79 21.73 6.55 6.5-4.88 7.35-12.92.26-23.04-5.47-7.76-14.28-12.88-21.73-7.08zm336.75 75.94c-.34 1.7-.55 1.67.79 0 2.09-4.19 4.19-10.21 4.98-19.9 3.14-38.49-40.33-71.49-101.34-78.03-54.73-6.02-124.38 9.17-188.8 60.49l-.26 1.57c2.62 4.98 4.98 10.74 3.4 21.21l.79.26c63.89-58.4 131.19-77.25 184.35-73.85 58.4 3.67 100.03 34.04 100.03 68.08-.01 9.96-2.63 15.72-3.94 20.17zM392.28 240.42c.79 7.07 4.19 10.21 9.17 10.47 5.5.26 9.43-2.62 10.47-6.55.79-3.4 2.09-29.85 2.09-29.85s-11.26 6.55-14.93 10.47c-3.66 3.68-7.33 8.39-6.8 15.46zm-50.02-151.1C137.75 89.32 13.1 226.8.79 241.2c-1.05.52-1.31.79.79 1.31 60.49 16.5 155.81 81.18 196.13 202.16l1.05.26c55.25-69.92 140.88-128.05 236.99-128.05 80.92 0 130.15 42.16 130.15 80.39 0 18.33-6.55 33.52-22.26 46.35 0 .96-.2.79.79.79 14.66-10.74 27.5-28.8 27.5-48.18 0-22.78-12.05-38.23-12.05-38.23 7.07 7.07 10.74 16.24 10.74 16.24 5.76-40.85 26.97-62.32 26.97-62.32-2.36-9.69-6.81-17.81-6.81-17.81 7.59 8.12 14.4 27.5 14.4 41.37 0 10.47-3.4 22.78-12.57 31.95l.26.52c8.12-4.98 16.5-16.76 16.5-37.97 0-15.71-4.71-25.92-4.71-25.92 5.76-5.24 11.26-9.17 15.97-11.78.79 3.4 2.09 9.69 2.36 14.93 0 1.05.79 1.83 1.05 0 .79-5.76-.26-16.24-.26-16.5 6.02-3.14 9.69-4.45 9.69-4.45C617.74 176 489.43 89.32 342.26 89.32zm-99.24 289.62c-11.06 8.99-24.2 4.08-30.64-4.19-7.45-9.58-6.76-24.09 4.19-32.47 14.85-11.35 27.08-.49 31.16 5.5.28.39 12.13 16.57-4.71 31.16zm2.09-136.43l9.43-17.81 11.78 70.96-12.57 6.02-24.62-28.8 14.14-26.71 3.67 4.45-1.83-8.11zm18.59 117.58l-.26-.26c2.05-4.1-2.5-6.61-17.54-31.69-1.31-2.36-3.14-2.88-4.45-2.62l-.26-.52c7.86-5.76 15.45-10.21 25.4-15.71l.52.26c1.31 1.83 2.09 2.88 3.4 4.71l-.26.52c-1.05-.26-2.36-.79-5.24.26-2.09.79-7.86 3.67-12.31 7.59v1.31c1.57 2.36 3.93 6.55 5.76 9.69h.26c10.05-6.28 7.56-4.55 11.52-7.86h.26c.52 1.83.52 1.83 1.83 5.5l-.26.26c-3.06.61-4.65.34-11.52 5.5v.26c9.46 17.02 11.01 16.75 12.57 15.97l.26.26c-2.34 1.59-6.27 4.21-9.68 6.57zm55.26-32.47c-3.14 1.57-6.02 2.88-9.95 4.98l-.26-.26c1.29-2.59 1.16-2.71-11.78-32.47l-.26-.26c-.15 0-8.9 3.65-9.95 7.33h-.52l-1.05-5.76.26-.52c7.29-4.56 25.53-11.64 27.76-12.57l.52.26 3.14 4.98-.26.52c-3.53-1.76-7.35.76-12.31 2.62v.26c12.31 32.01 12.67 30.64 14.66 30.64v.25zm44.77-16.5c-4.19 1.05-5.24 1.31-9.69 2.88l-.26-.26.52-4.45c-1.05-3.4-3.14-11.52-3.67-13.62l-.26-.26c-3.4.79-8.9 2.62-12.83 3.93l-.26.26c.79 2.62 3.14 9.95 4.19 13.88.79 2.36 1.83 2.88 2.88 3.14v.52c-3.67 1.05-7.07 2.62-10.21 3.93l-.26-.26c1.05-1.31 1.05-2.88.26-4.98-1.05-3.14-8.12-23.83-9.17-27.23-.52-1.83-1.57-3.14-2.62-3.14v-.52c3.14-1.05 6.02-2.09 10.74-3.4l.26.26-.26 4.71c1.31 3.93 2.36 7.59 3.14 9.69h.26c3.93-1.31 9.43-2.88 12.83-3.93l.26-.26-2.62-9.43c-.52-1.83-1.05-3.4-2.62-3.93v-.26c4.45-1.05 7.33-1.83 10.74-2.36l.26.26c-1.05 1.31-1.05 2.88-.52 4.45 1.57 6.28 4.71 20.43 6.28 26.45.54 2.62 1.85 3.41 2.63 3.93zm32.21-6.81l-.26.26c-4.71.52-14.14 2.36-22.52 4.19l-.26-.26.79-4.19c-1.57-7.86-3.4-18.59-4.98-26.19-.26-1.83-.79-2.88-2.62-3.67l.79-.52c9.17-1.57 20.16-2.36 24.88-2.62l.26.26c.52 2.36.79 3.14 1.57 5.5l-.26.26c-1.14-1.14-3.34-3.2-16.24-.79l-.26.26c.26 1.57 1.05 6.55 1.57 9.95l.26.26c9.52-1.68 4.76-.06 10.74-2.36h.26c0 1.57-.26 1.83-.26 5.24h-.26c-4.81-1.03-2.15-.9-10.21 0l-.26.26c.26 2.09 1.57 9.43 2.09 12.57l.26.26c1.15.38 14.21-.65 16.24-4.71h.26c-.53 2.38-1.05 4.21-1.58 6.04zm10.74-44.51c-4.45 2.36-8.12 2.88-11 2.88-.25.02-11.41 1.09-17.54-9.95-6.74-10.79-.98-25.2 5.5-31.69 8.8-8.12 23.35-10.1 28.54-17.02 8.03-10.33-13.04-22.31-29.59-5.76l-2.62-2.88 5.24-16.24c25.59-1.57 45.2-3.04 50.02 16.24.79 3.14 0 9.43-.26 12.05 0 2.62-1.83 18.85-2.09 23.04-.52 4.19-.79 18.33-.79 20.69.26 2.36.52 4.19 1.57 5.5 1.57 1.83 5.76 1.83 5.76 1.83l-.79 4.71c-11.82-1.07-10.28-.59-20.43-1.05-3.22-5.15-2.23-3.28-4.19-7.86 0 .01-4.19 3.94-7.33 5.51zm37.18 21.21c-6.35-10.58-19.82-7.16-21.73 5.5-2.63 17.08 14.3 19.79 20.69 10.21l.26.26c-.52 1.83-1.83 6.02-1.83 6.28l-.52.52c-10.3 6.87-28.5-2.5-25.66-18.59 1.94-10.87 14.44-18.93 28.8-9.95l.26.52c0 1.06-.27 3.41-.27 5.25zm5.77-87.73v-6.55c.69 0 19.65 3.28 27.76 7.33l-1.57 17.54s10.21-9.43 15.45-10.74c5.24-1.57 14.93 7.33 14.93 7.33l-11.26 11.26c-12.07-6.35-19.59-.08-20.69.79-5.29 38.72-8.6 42.17 4.45 46.09l-.52 4.71c-17.55-4.29-18.53-4.5-36.92-7.33l.79-4.71c7.25 0 7.48-5.32 7.59-6.81 0 0 4.98-53.16 4.98-55.25-.02-2.87-4.99-3.66-4.99-3.66zm10.99 114.44c-8.12-2.09-14.14-11-10.74-20.69 3.14-9.43 12.31-12.31 18.85-10.21 9.17 2.62 12.83 11.78 10.74 19.38-2.61 8.9-9.42 13.87-18.85 11.52zm42.16 9.69c-2.36-.52-7.07-2.36-8.64-2.88v-.26l1.57-1.83c.59-8.24.59-7.27.26-7.59-4.82-1.81-6.66-2.36-7.07-2.36-1.31 1.83-2.88 4.45-3.67 5.5l-.79 3.4v.26c-1.31-.26-3.93-1.31-6.02-1.57v-.26l2.62-1.83c3.4-4.71 9.95-14.14 13.88-20.16v-2.09l.52-.26c2.09.79 5.5 2.09 7.59 2.88.48.48.18-1.87-1.05 25.14-.24 1.81.02 2.6.8 3.91zm-4.71-89.82c11.25-18.27 30.76-16.19 34.04-3.4L539.7 198c2.34-6.25-2.82-9.9-4.45-11.26l1.83-3.67c12.22 10.37 16.38 13.97 22.52 20.43-25.91 73.07-30.76 80.81-24.62 84.32l-1.83 4.45c-6.37-3.35-8.9-4.42-17.81-8.64l2.09-6.81c-.26-.26-3.93 3.93-9.69 3.67-19.06-1.3-22.89-31.75-9.67-52.9zm29.33 79.34c0-5.71-6.34-7.89-7.86-5.24-1.31 2.09 1.05 4.98 2.88 8.38 1.57 2.62 2.62 6.28 1.05 9.43-2.64 6.34-12.4 5.31-15.45-.79 0-.7-.27.09 1.83-4.71l.79-.26c-.57 5.66 6.06 9.61 8.38 4.98 1.05-2.09-.52-5.5-2.09-8.38-1.57-2.62-3.67-6.28-1.83-9.69 2.72-5.06 11.25-4.47 14.66 2.36v.52l-2.36 3.4zm21.21 13.36c-1.96-3.27-.91-2.14-4.45-4.71h-.26c-2.36 4.19-5.76 10.47-8.64 16.24-1.31 2.36-1.05 3.4-.79 3.93l-.26.26-5.76-4.45.26-.26 2.09-1.31c3.14-5.76 6.55-12.05 9.17-17.02v-.26c-2.64-1.98-1.22-1.51-6.02-1.83v-.26l3.14-3.4h.26c3.67 2.36 9.95 6.81 12.31 8.9l.26.26-1.31 3.91zm27.23-44.26l-2.88-2.88c.79-2.36 1.83-4.98 2.09-7.59.75-9.74-11.52-11.84-11.52-4.98 0 4.98 7.86 19.38 7.86 27.76 0 10.21-5.76 15.71-13.88 16.5-8.38.79-20.16-10.47-20.16-10.47l4.98-14.4 2.88 2.09c-2.97 17.8 17.68 20.37 13.35 5.24-1.06-4.02-18.75-34.2 2.09-38.23 13.62-2.36 23.04 16.5 23.04 16.5l-7.85 10.46zm35.62-10.21c-11-30.38-60.49-127.53-191.95-129.62-53.42-1.05-94.27 15.45-132.76 37.97l85.63-9.17-91.39 20.69 25.14 19.64-3.93-16.5c7.5-1.71 39.15-8.45 66.77-8.9l-22.26 80.39c13.61-.7 18.97-8.98 19.64-22.78l4.98-1.05.26 26.71c-22.46 3.21-37.3 6.69-49.49 9.95l13.09-43.21-61.54-36.66 2.36 8.12 10.21 4.98c6.28 18.59 19.38 56.56 20.43 58.66 1.95 4.28 3.16 5.78 12.05 4.45l1.05 4.98c-16.08 4.86-23.66 7.61-39.02 14.4l-2.36-4.71c4.4-2.94 8.73-3.94 5.5-12.83-23.7-62.5-21.48-58.14-22.78-59.44l2.36-4.45 33.52 67.3c-3.84-11.87 1.68 1.69-32.99-78.82l-41.9 88.51 4.71-13.88-35.88-42.16 27.76 93.48-11.78 8.38C95 228.58 101.05 231.87 93.23 231.52c-5.5-.26-13.62 5.5-13.62 5.5L74.63 231c30.56-23.53 31.62-24.33 58.4-42.68l4.19 7.07s-5.76 4.19-7.86 7.07c-5.9 9.28 1.67 13.28 61.8 75.68l-18.85-58.92 39.8-10.21 25.66 30.64 4.45-12.31-4.98-24.62 13.09-3.4.52 3.14 3.67-10.47-94.27 29.33 11.26-4.98-13.62-42.42 17.28-9.17 30.11 36.14 28.54-13.09c-1.41-7.47-2.47-14.5-4.71-19.64l17.28 13.88 4.71-2.09-59.18-42.68 23.08 11.5c18.98-6.07 25.23-7.47 32.21-9.69l2.62 11c-12.55 12.55 1.43 16.82 6.55 19.38l-13.62-61.01 12.05 28.28c4.19-1.31 7.33-2.09 7.33-2.09l2.62 8.64s-3.14 1.05-6.28 2.09l8.9 20.95 33.78-65.73-20.69 61.01c42.42-24.09 81.44-36.66 131.98-35.88 67.04 1.05 167.33 40.85 199.8 139.83.78 2.1-.01 2.63-.79.27zM203.48 152.43s1.83-.52 4.19-1.31l9.43 7.59c-.4 0-3.44-.25-11.26 2.36l-2.36-8.64zm143.76 38.5c-1.57-.6-26.46-4.81-33.26 20.69l21.73 17.02 11.53-37.71zM318.43 67.07c-58.4 0-106.05 12.05-114.96 14.4v.79c8.38 2.09 14.4 4.19 21.21 11.78l1.57.26c6.55-1.83 48.97-13.88 110.24-13.88 180.16 0 301.67 116.79 301.67 223.37v9.95c0 1.31.79 2.62 1.05.52.52-2.09.79-8.64.79-19.64.26-83.79-96.63-227.55-321.57-227.55zm211.06 169.68c1.31-5.76 0-12.31-7.33-13.09-9.62-1.13-16.14 23.79-17.02 33.52-.79 5.5-1.31 14.93 6.02 14.93 4.68-.01 9.72-.91 18.33-35.36zm-61.53 42.95c-2.62-.79-9.43-.79-12.57 10.47-1.83 6.81.52 13.35 6.02 14.66 3.67 1.05 8.9.52 11.78-10.74 2.62-9.94-1.83-13.61-5.23-14.39zM491 300.65c1.83.52 3.14 1.05 5.76 1.83 0-1.83.52-8.38.79-12.05-1.05 1.31-5.5 8.12-6.55 9.95v.27z\"]\n};\nvar faWodu = {\n prefix: 'fab',\n iconName: 'wodu',\n icon: [640, 512, [], \"e088\", \"M178.414 339.706H141.1L112.166 223.475h-.478L83.228 339.706H45.2L0 168.946H37.548L64.574 285.177h.478L94.707 168.946h35.157l29.178 117.667h.479L187.5 168.946h36.831zM271.4 212.713c38.984 0 64.1 25.828 64.1 65.291 0 39.222-25.111 65.05-64.1 65.05-38.743 0-63.855-25.828-63.855-65.05C207.547 238.541 232.659 212.713 271.4 212.713zm0 104.753c23.2 0 30.133-19.852 30.133-39.462 0-19.852-6.934-39.7-30.133-39.7-27.7 0-29.894 19.85-29.894 39.7C241.508 297.614 248.443 317.466 271.4 317.466zM435.084 323.922h-.478c-7.893 13.392-21.765 19.132-37.548 19.132-37.31 0-55.485-32.045-55.485-66.246 0-33.243 18.415-64.095 54.767-64.095 14.589 0 28.938 6.218 36.831 18.416h.24V168.946h33.96v170.76H435.084zM405.428 238.3c-22.24 0-29.894 19.134-29.894 39.463 0 19.371 8.848 39.7 29.894 39.7 22.482 0 29.178-19.613 29.178-39.94C434.606 257.436 427.432 238.3 405.428 238.3zM592.96 339.706H560.673V322.487h-.718c-8.609 13.87-23.436 20.567-37.786 20.567-36.113 0-45.2-20.328-45.2-50.941V216.061h33.959V285.9c0 20.329 5.979 30.372 21.765 30.372 18.415 0 26.306-10.283 26.306-35.393V216.061H592.96zM602.453 302.876H640v36.83H602.453z\"]\n};\nvar faWolfPackBattalion = {\n prefix: 'fab',\n iconName: 'wolf-pack-battalion',\n icon: [512, 512, [], \"f514\", \"M267.73 471.53l10.56 15.84 5.28-12.32 5.28 7V512c21.06-7.92 21.11-66.86 25.51-97.21 4.62-31.89-.88-92.81 81.37-149.11-8.88-23.61-12-49.43-2.64-80.05C421 189 447 196.21 456.43 239.73l-30.35 8.36c11.15 23 17 46.76 13.2 72.14L412 313.18l-6.16 33.43-18.47-7-8.8 33.39-19.35-7 26.39 21.11 8.8-28.15L419 364.2l7-35.63 26.39 14.52c.25-20 7-58.06-8.8-84.45l26.39 5.28c4-22.07-2.38-39.21-7.92-56.74l22.43 9.68c-.44-25.07-29.94-56.79-61.58-58.5-20.22-1.09-56.74-25.17-54.1-51.9 2-19.87 17.45-42.62 43.11-49.7-44 36.51-9.68 67.3 5.28 73.46 4.4-11.44 17.54-69.08 0-130.2-40.39 22.87-89.65 65.1-93.2 147.79l-58 38.71-3.52 93.25L369.78 220l7 7-17.59 3.52-44 38.71-15.84-5.28-28.1 49.25-3.52 119.64 21.11 15.84-32.55 15.84-32.55-15.84 21.11-15.84-3.52-119.64-28.15-49.26-15.84 5.28-44-38.71-17.58-3.51 7-7 107.33 59.82-3.52-93.25-58.06-38.71C185 65.1 135.77 22.87 95.3 0c-17.54 61.12-4.4 118.76 0 130.2 15-6.16 49.26-36.95 5.28-73.46 25.66 7.08 41.15 29.83 43.11 49.7 2.63 26.74-33.88 50.81-54.1 51.9-31.65 1.72-61.15 33.44-61.59 58.51l22.43-9.68c-5.54 17.53-11.91 34.67-7.92 56.74l26.39-5.28c-15.76 26.39-9.05 64.43-8.8 84.45l26.39-14.52 7 35.63 24.63-5.28 8.8 28.15L153.35 366 134 373l-8.8-33.43-18.47 7-6.16-33.43-27.27 7c-3.82-25.38 2-49.1 13.2-72.14l-30.35-8.36c9.4-43.52 35.47-50.77 63.34-54.1 9.36 30.62 6.24 56.45-2.64 80.05 82.25 56.3 76.75 117.23 81.37 149.11 4.4 30.35 4.45 89.29 25.51 97.21v-29.83l5.28-7 5.28 12.32 10.56-15.84 11.44 21.11 11.43-21.1zm79.17-95L331.06 366c7.47-4.36 13.76-8.42 19.35-12.32-.6 7.22-.27 13.84-3.51 22.84zm28.15-49.26c-.4 10.94-.9 21.66-1.76 31.67-7.85-1.86-15.57-3.8-21.11-7 8.24-7.94 15.55-16.32 22.87-24.68zm24.63 5.28c0-13.43-2.05-24.21-5.28-33.43a235 235 0 0 1-18.47 27.27zm3.52-80.94c19.44 12.81 27.8 33.66 29.91 56.3-12.32-4.53-24.63-9.31-36.95-10.56 5.06-12 6.65-28.14 7-45.74zm-1.76-45.74c.81 14.3 1.84 28.82 1.76 42.23 19.22-8.11 29.78-9.72 44-14.08-10.61-18.96-27.2-25.53-45.76-28.16zM165.68 376.52L181.52 366c-7.47-4.36-13.76-8.42-19.35-12.32.6 7.26.27 13.88 3.51 22.88zm-28.15-49.26c.4 10.94.9 21.66 1.76 31.67 7.85-1.86 15.57-3.8 21.11-7-8.24-7.93-15.55-16.31-22.87-24.67zm-24.64 5.28c0-13.43 2-24.21 5.28-33.43a235 235 0 0 0 18.47 27.27zm-3.52-80.94c-19.44 12.81-27.8 33.66-29.91 56.3 12.32-4.53 24.63-9.31 37-10.56-5-12-6.65-28.14-7-45.74zm1.76-45.74c-.81 14.3-1.84 28.82-1.76 42.23-19.22-8.11-29.78-9.72-44-14.08 10.63-18.95 27.23-25.52 45.76-28.15z\"]\n};\nvar faWordpress = {\n prefix: 'fab',\n iconName: 'wordpress',\n icon: [512, 512, [], \"f19a\", \"M61.7 169.4l101.5 278C92.2 413 43.3 340.2 43.3 256c0-30.9 6.6-60.1 18.4-86.6zm337.9 75.9c0-26.3-9.4-44.5-17.5-58.7-10.8-17.5-20.9-32.4-20.9-49.9 0-19.6 14.8-37.8 35.7-37.8.9 0 1.8.1 2.8.2-37.9-34.7-88.3-55.9-143.7-55.9-74.3 0-139.7 38.1-177.8 95.9 5 .2 9.7.3 13.7.3 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l77.5 230.4L249.8 247l-33.1-90.8c-11.5-.7-22.3-2-22.3-2-11.5-.7-10.1-18.2 1.3-17.5 0 0 35.1 2.7 56 2.7 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l76.9 228.7 21.2-70.9c9-29.4 16-50.5 16-68.7zm-139.9 29.3l-63.8 185.5c19.1 5.6 39.2 8.7 60.1 8.7 24.8 0 48.5-4.3 70.6-12.1-.6-.9-1.1-1.9-1.5-2.9l-65.4-179.2zm183-120.7c.9 6.8 1.4 14 1.4 21.9 0 21.6-4 45.8-16.2 76.2l-65 187.9C426.2 403 468.7 334.5 468.7 256c0-37-9.4-71.8-26-102.1zM504 256c0 136.8-111.3 248-248 248C119.2 504 8 392.7 8 256 8 119.2 119.2 8 256 8c136.7 0 248 111.2 248 248zm-11.4 0c0-130.5-106.2-236.6-236.6-236.6C125.5 19.4 19.4 125.5 19.4 256S125.6 492.6 256 492.6c130.5 0 236.6-106.1 236.6-236.6z\"]\n};\nvar faWordpressSimple = {\n prefix: 'fab',\n iconName: 'wordpress-simple',\n icon: [512, 512, [], \"f411\", \"M256 8C119.3 8 8 119.2 8 256c0 136.7 111.3 248 248 248s248-111.3 248-248C504 119.2 392.7 8 256 8zM33 256c0-32.3 6.9-63 19.3-90.7l106.4 291.4C84.3 420.5 33 344.2 33 256zm223 223c-21.9 0-43-3.2-63-9.1l66.9-194.4 68.5 187.8c.5 1.1 1 2.1 1.6 3.1-23.1 8.1-48 12.6-74 12.6zm30.7-327.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-21.9 0-58.7-2.8-58.7-2.8-12-.7-13.4 17.7-1.4 18.4 0 0 11.4 1.4 23.4 2.1l34.7 95.2L200.6 393l-81.2-241.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-4.2 0-9.1-.1-14.4-.3C109.6 73 178.1 33 256 33c58 0 110.9 22.2 150.6 58.5-1-.1-1.9-.2-2.9-.2-21.9 0-37.4 19.1-37.4 39.6 0 18.4 10.6 33.9 21.9 52.3 8.5 14.8 18.4 33.9 18.4 61.5 0 19.1-7.3 41.2-17 72.1l-22.2 74.3-80.7-239.6zm81.4 297.2l68.1-196.9c12.7-31.8 17-57.2 17-79.9 0-8.2-.5-15.8-1.5-22.9 17.4 31.8 27.3 68.2 27.3 107 0 82.3-44.6 154.1-110.9 192.7z\"]\n};\nvar faWpbeginner = {\n prefix: 'fab',\n iconName: 'wpbeginner',\n icon: [512, 512, [], \"f297\", \"M462.799 322.374C519.01 386.682 466.961 480 370.944 480c-39.602 0-78.824-17.687-100.142-50.04-6.887.356-22.702.356-29.59 0C219.848 462.381 180.588 480 141.069 480c-95.49 0-148.348-92.996-91.855-157.626C-29.925 190.523 80.479 32 256.006 32c175.632 0 285.87 158.626 206.793 290.374zm-339.647-82.972h41.529v-58.075h-41.529v58.075zm217.18 86.072v-23.839c-60.506 20.915-132.355 9.198-187.589-33.971l.246 24.897c51.101 46.367 131.746 57.875 187.343 32.913zm-150.753-86.072h166.058v-58.075H189.579v58.075z\"]\n};\nvar faWpexplorer = {\n prefix: 'fab',\n iconName: 'wpexplorer',\n icon: [512, 512, [], \"f2de\", \"M512 256c0 141.2-114.7 256-256 256C114.8 512 0 397.3 0 256S114.7 0 256 0s256 114.7 256 256zm-32 0c0-123.2-100.3-224-224-224C132.5 32 32 132.5 32 256s100.5 224 224 224 224-100.5 224-224zM160.9 124.6l86.9 37.1-37.1 86.9-86.9-37.1 37.1-86.9zm110 169.1l46.6 94h-14.6l-50-100-48.9 100h-14l51.1-106.9-22.3-9.4 6-14 68.6 29.1-6 14.3-16.5-7.1zm-11.8-116.3l68.6 29.4-29.4 68.3L230 246l29.1-68.6zm80.3 42.9l54.6 23.1-23.4 54.3-54.3-23.1 23.1-54.3z\"]\n};\nvar faWpforms = {\n prefix: 'fab',\n iconName: 'wpforms',\n icon: [448, 512, [], \"f298\", \"M448 75.2v361.7c0 24.3-19 43.2-43.2 43.2H43.2C19.3 480 0 461.4 0 436.8V75.2C0 51.1 18.8 32 43.2 32h361.7c24 0 43.1 18.8 43.1 43.2zm-37.3 361.6V75.2c0-3-2.6-5.8-5.8-5.8h-9.3L285.3 144 224 94.1 162.8 144 52.5 69.3h-9.3c-3.2 0-5.8 2.8-5.8 5.8v361.7c0 3 2.6 5.8 5.8 5.8h361.7c3.2.1 5.8-2.7 5.8-5.8zM150.2 186v37H76.7v-37h73.5zm0 74.4v37.3H76.7v-37.3h73.5zm11.1-147.3l54-43.7H96.8l64.5 43.7zm210 72.9v37h-196v-37h196zm0 74.4v37.3h-196v-37.3h196zm-84.6-147.3l64.5-43.7H232.8l53.9 43.7zM371.3 335v37.3h-99.4V335h99.4z\"]\n};\nvar faWpressr = {\n prefix: 'fab',\n iconName: 'wpressr',\n icon: [496, 512, [], \"f3e4\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm171.33 158.6c-15.18 34.51-30.37 69.02-45.63 103.5-2.44 5.51-6.89 8.24-12.97 8.24-23.02-.01-46.03.06-69.05-.05-5.12-.03-8.25 1.89-10.34 6.72-10.19 23.56-20.63 47-30.95 70.5-1.54 3.51-4.06 5.29-7.92 5.29-45.94-.01-91.87-.02-137.81 0-3.13 0-5.63-1.15-7.72-3.45-11.21-12.33-22.46-24.63-33.68-36.94-2.69-2.95-2.79-6.18-1.21-9.73 8.66-19.54 17.27-39.1 25.89-58.66 12.93-29.35 25.89-58.69 38.75-88.08 1.7-3.88 4.28-5.68 8.54-5.65 14.24.1 28.48.02 42.72.05 6.24.01 9.2 4.84 6.66 10.59-13.6 30.77-27.17 61.55-40.74 92.33-5.72 12.99-11.42 25.99-17.09 39-3.91 8.95 7.08 11.97 10.95 5.6.23-.37-1.42 4.18 30.01-67.69 1.36-3.1 3.41-4.4 6.77-4.39 15.21.08 30.43.02 45.64.04 5.56.01 7.91 3.64 5.66 8.75-8.33 18.96-16.71 37.9-24.98 56.89-4.98 11.43 8.08 12.49 11.28 5.33.04-.08 27.89-63.33 32.19-73.16 2.02-4.61 5.44-6.51 10.35-6.5 26.43.05 52.86 0 79.29.05 12.44.02 13.93-13.65 3.9-13.64-25.26.03-50.52.02-75.78.02-6.27 0-7.84-2.47-5.27-8.27 5.78-13.06 11.59-26.11 17.3-39.21 1.73-3.96 4.52-5.79 8.84-5.78 23.09.06 25.98.02 130.78.03 6.08-.01 8.03 2.79 5.62 8.27z\"]\n};\nvar faXbox = {\n prefix: 'fab',\n iconName: 'xbox',\n icon: [512, 512, [], \"f412\", \"M369.9 318.2c44.3 54.3 64.7 98.8 54.4 118.7-7.9 15.1-56.7 44.6-92.6 55.9-29.6 9.3-68.4 13.3-100.4 10.2-38.2-3.7-76.9-17.4-110.1-39C93.3 445.8 87 438.3 87 423.4c0-29.9 32.9-82.3 89.2-142.1 32-33.9 76.5-73.7 81.4-72.6 9.4 2.1 84.3 75.1 112.3 109.5zM188.6 143.8c-29.7-26.9-58.1-53.9-86.4-63.4-15.2-5.1-16.3-4.8-28.7 8.1-29.2 30.4-53.5 79.7-60.3 122.4-5.4 34.2-6.1 43.8-4.2 60.5 5.6 50.5 17.3 85.4 40.5 120.9 9.5 14.6 12.1 17.3 9.3 9.9-4.2-11-.3-37.5 9.5-64 14.3-39 53.9-112.9 120.3-194.4zm311.6 63.5C483.3 127.3 432.7 77 425.6 77c-7.3 0-24.2 6.5-36 13.9-23.3 14.5-41 31.4-64.3 52.8C367.7 197 427.5 283.1 448.2 346c6.8 20.7 9.7 41.1 7.4 52.3-1.7 8.5-1.7 8.5 1.4 4.6 6.1-7.7 19.9-31.3 25.4-43.5 7.4-16.2 15-40.2 18.6-58.7 4.3-22.5 3.9-70.8-.8-93.4zM141.3 43C189 40.5 251 77.5 255.6 78.4c.7.1 10.4-4.2 21.6-9.7 63.9-31.1 94-25.8 107.4-25.2-63.9-39.3-152.7-50-233.9-11.7-23.4 11.1-24 11.9-9.4 11.2z\"]\n};\nvar faXing = {\n prefix: 'fab',\n iconName: 'xing',\n icon: [384, 512, [], \"f168\", \"M162.7 210c-1.8 3.3-25.2 44.4-70.1 123.5-4.9 8.3-10.8 12.5-17.7 12.5H9.8c-7.7 0-12.1-7.5-8.5-14.4l69-121.3c.2 0 .2-.1 0-.3l-43.9-75.6c-4.3-7.8.3-14.1 8.5-14.1H100c7.3 0 13.3 4.1 18 12.2l44.7 77.5zM382.6 46.1l-144 253v.3L330.2 466c3.9 7.1.2 14.1-8.5 14.1h-65.2c-7.6 0-13.6-4-18-12.2l-92.4-168.5c3.3-5.8 51.5-90.8 144.8-255.2 4.6-8.1 10.4-12.2 17.5-12.2h65.7c8 0 12.3 6.7 8.5 14.1z\"]\n};\nvar faXingSquare = {\n prefix: 'fab',\n iconName: 'xing-square',\n icon: [448, 512, [], \"f169\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM140.4 320.2H93.8c-5.5 0-8.7-5.3-6-10.3l49.3-86.7c.1 0 .1-.1 0-.2l-31.4-54c-3-5.6.2-10.1 6-10.1h46.6c5.2 0 9.5 2.9 12.9 8.7l31.9 55.3c-1.3 2.3-18 31.7-50.1 88.2-3.5 6.2-7.7 9.1-12.6 9.1zm219.7-214.1L257.3 286.8v.2l65.5 119c2.8 5.1.1 10.1-6 10.1h-46.6c-5.5 0-9.7-2.9-12.9-8.7l-66-120.3c2.3-4.1 36.8-64.9 103.4-182.3 3.3-5.8 7.4-8.7 12.5-8.7h46.9c5.7-.1 8.8 4.7 6 10z\"]\n};\nvar faYCombinator = {\n prefix: 'fab',\n iconName: 'y-combinator',\n icon: [448, 512, [], \"f23b\", \"M448 32v448H0V32h448zM236 287.5L313.5 142h-32.7L235 233c-4.7 9.3-9 18.3-12.8 26.8L210 233l-45.2-91h-35l76.7 143.8v94.5H236v-92.8z\"]\n};\nvar faYahoo = {\n prefix: 'fab',\n iconName: 'yahoo',\n icon: [512, 512, [], \"f19e\", \"M223.69,141.06,167,284.23,111,141.06H14.93L120.76,390.19,82.19,480h94.17L317.27,141.06Zm105.4,135.79a58.22,58.22,0,1,0,58.22,58.22A58.22,58.22,0,0,0,329.09,276.85ZM394.65,32l-93,223.47H406.44L499.07,32Z\"]\n};\nvar faYammer = {\n prefix: 'fab',\n iconName: 'yammer',\n icon: [512, 512, [], \"f840\", \"M421.78 152.17A23.06 23.06 0 0 0 400.9 112c-.83.43-1.71.9-2.63 1.4-15.25 8.4-118.33 80.62-106.69 88.77s82.04-23.61 130.2-50zm0 217.17c-48.16-26.38-118.64-58.1-130.2-50s91.42 80.35 106.69 88.74c.92.51 1.8 1 2.63 1.41a23.07 23.07 0 0 0 20.88-40.15zM464.21 237c-.95 0-1.95-.06-3-.06-17.4 0-142.52 13.76-136.24 26.51s83.3 18.74 138.21 18.76a23 23 0 0 0 1-45.21zM31 96.65a24.88 24.88 0 0 1 46.14-18.4l81 205.06h1.21l77-203.53a23.52 23.52 0 0 1 44.45 15.27L171.2 368.44C152.65 415.66 134.08 448 77.91 448a139.67 139.67 0 0 1-23.81-1.95 21.31 21.31 0 0 1 6.9-41.77c.66.06 10.91.66 13.86.66 30.47 0 43.74-18.94 58.07-59.41z\"]\n};\nvar faYandex = {\n prefix: 'fab',\n iconName: 'yandex',\n icon: [256, 512, [], \"f413\", \"M153.1 315.8L65.7 512H2l96-209.8c-45.1-22.9-75.2-64.4-75.2-141.1C22.7 53.7 90.8 0 171.7 0H254v512h-55.1V315.8h-45.8zm45.8-269.3h-29.4c-44.4 0-87.4 29.4-87.4 114.6 0 82.3 39.4 108.8 87.4 108.8h29.4V46.5z\"]\n};\nvar faYandexInternational = {\n prefix: 'fab',\n iconName: 'yandex-international',\n icon: [320, 512, [], \"f414\", \"M129.5 512V345.9L18.5 48h55.8l81.8 229.7L250.2 0h51.3L180.8 347.8V512h-51.3z\"]\n};\nvar faYarn = {\n prefix: 'fab',\n iconName: 'yarn',\n icon: [496, 512, [], \"f7e3\", \"M393.9 345.2c-39 9.3-48.4 32.1-104 47.4 0 0-2.7 4-10.4 5.8-13.4 3.3-63.9 6-68.5 6.1-12.4.1-19.9-3.2-22-8.2-6.4-15.3 9.2-22 9.2-22-8.1-5-9-9.9-9.8-8.1-2.4 5.8-3.6 20.1-10.1 26.5-8.8 8.9-25.5 5.9-35.3.8-10.8-5.7.8-19.2.8-19.2s-5.8 3.4-10.5-3.6c-6-9.3-17.1-37.3 11.5-62-1.3-10.1-4.6-53.7 40.6-85.6 0 0-20.6-22.8-12.9-43.3 5-13.4 7-13.3 8.6-13.9 5.7-2.2 11.3-4.6 15.4-9.1 20.6-22.2 46.8-18 46.8-18s12.4-37.8 23.9-30.4c3.5 2.3 16.3 30.6 16.3 30.6s13.6-7.9 15.1-5c8.2 16 9.2 46.5 5.6 65.1-6.1 30.6-21.4 47.1-27.6 57.5-1.4 2.4 16.5 10 27.8 41.3 10.4 28.6 1.1 52.7 2.8 55.3.8 1.4 13.7.8 36.4-13.2 12.8-7.9 28.1-16.9 45.4-17 16.7-.5 17.6 19.2 4.9 22.2zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-79.3 75.2c-1.7-13.6-13.2-23-28-22.8-22 .3-40.5 11.7-52.8 19.2-4.8 3-8.9 5.2-12.4 6.8 3.1-44.5-22.5-73.1-28.7-79.4 7.8-11.3 18.4-27.8 23.4-53.2 4.3-21.7 3-55.5-6.9-74.5-1.6-3.1-7.4-11.2-21-7.4-9.7-20-13-22.1-15.6-23.8-1.1-.7-23.6-16.4-41.4 28-12.2.9-31.3 5.3-47.5 22.8-2 2.2-5.9 3.8-10.1 5.4h.1c-8.4 3-12.3 9.9-16.9 22.3-6.5 17.4.2 34.6 6.8 45.7-17.8 15.9-37 39.8-35.7 82.5-34 36-11.8 73-5.6 79.6-1.6 11.1 3.7 19.4 12 23.8 12.6 6.7 30.3 9.6 43.9 2.8 4.9 5.2 13.8 10.1 30 10.1 6.8 0 58-2.9 72.6-6.5 6.8-1.6 11.5-4.5 14.6-7.1 9.8-3.1 36.8-12.3 62.2-28.7 18-11.7 24.2-14.2 37.6-17.4 12.9-3.2 21-15.1 19.4-28.2z\"]\n};\nvar faYelp = {\n prefix: 'fab',\n iconName: 'yelp',\n icon: [384, 512, [], \"f1e9\", \"M42.9 240.32l99.62 48.61c19.2 9.4 16.2 37.51-4.5 42.71L30.5 358.45a22.79 22.79 0 0 1-28.21-19.6 197.16 197.16 0 0 1 9-85.32 22.8 22.8 0 0 1 31.61-13.21zm44 239.25a199.45 199.45 0 0 0 79.42 32.11A22.78 22.78 0 0 0 192.94 490l3.9-110.82c.7-21.3-25.5-31.91-39.81-16.1l-74.21 82.4a22.82 22.82 0 0 0 4.09 34.09zm145.34-109.92l58.81 94a22.93 22.93 0 0 0 34 5.5 198.36 198.36 0 0 0 52.71-67.61A23 23 0 0 0 364.17 370l-105.42-34.26c-20.31-6.5-37.81 15.8-26.51 33.91zm148.33-132.23a197.44 197.44 0 0 0-50.41-69.31 22.85 22.85 0 0 0-34 4.4l-62 91.92c-11.9 17.7 4.7 40.61 25.2 34.71L366 268.63a23 23 0 0 0 14.61-31.21zM62.11 30.18a22.86 22.86 0 0 0-9.9 32l104.12 180.44c11.7 20.2 42.61 11.9 42.61-11.4V22.88a22.67 22.67 0 0 0-24.5-22.8 320.37 320.37 0 0 0-112.33 30.1z\"]\n};\nvar faYoast = {\n prefix: 'fab',\n iconName: 'yoast',\n icon: [448, 512, [], \"f2b1\", \"M91.3 76h186l-7 18.9h-179c-39.7 0-71.9 31.6-71.9 70.3v205.4c0 35.4 24.9 70.3 84 70.3V460H91.3C41.2 460 0 419.8 0 370.5V165.2C0 115.9 40.7 76 91.3 76zm229.1-56h66.5C243.1 398.1 241.2 418.9 202.2 459.3c-20.8 21.6-49.3 31.7-78.3 32.7v-51.1c49.2-7.7 64.6-49.9 64.6-75.3 0-20.1.6-12.6-82.1-223.2h61.4L218.2 299 320.4 20zM448 161.5V460H234c6.6-9.6 10.7-16.3 12.1-19.4h182.5V161.5c0-32.5-17.1-51.9-48.2-62.9l6.7-17.6c41.7 13.6 60.9 43.1 60.9 80.5z\"]\n};\nvar faYoutube = {\n prefix: 'fab',\n iconName: 'youtube',\n icon: [576, 512, [], \"f167\", \"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z\"]\n};\nvar faYoutubeSquare = {\n prefix: 'fab',\n iconName: 'youtube-square',\n icon: [448, 512, [], \"f431\", \"M186.8 202.1l95.2 54.1-95.2 54.1V202.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-42 176.3s0-59.6-7.6-88.2c-4.2-15.8-16.5-28.2-32.2-32.4C337.9 128 224 128 224 128s-113.9 0-142.2 7.7c-15.7 4.2-28 16.6-32.2 32.4-7.6 28.5-7.6 88.2-7.6 88.2s0 59.6 7.6 88.2c4.2 15.8 16.5 27.7 32.2 31.9C110.1 384 224 384 224 384s113.9 0 142.2-7.7c15.7-4.2 28-16.1 32.2-31.9 7.6-28.5 7.6-88.1 7.6-88.1z\"]\n};\nvar faZhihu = {\n prefix: 'fab',\n iconName: 'zhihu',\n icon: [640, 512, [], \"f63f\", \"M170.54 148.13v217.54l23.43.01 7.71 26.37 42.01-26.37h49.53V148.13H170.54zm97.75 193.93h-27.94l-27.9 17.51-5.08-17.47-11.9-.04V171.75h72.82v170.31zm-118.46-94.39H97.5c1.74-27.1 2.2-51.59 2.2-73.46h51.16s1.97-22.56-8.58-22.31h-88.5c3.49-13.12 7.87-26.66 13.12-40.67 0 0-24.07 0-32.27 21.57-3.39 8.9-13.21 43.14-30.7 78.12 5.89-.64 25.37-1.18 36.84-22.21 2.11-5.89 2.51-6.66 5.14-14.53h28.87c0 10.5-1.2 66.88-1.68 73.44H20.83c-11.74 0-15.56 23.62-15.56 23.62h65.58C66.45 321.1 42.83 363.12 0 396.34c20.49 5.85 40.91-.93 51-9.9 0 0 22.98-20.9 35.59-69.25l53.96 64.94s7.91-26.89-1.24-39.99c-7.58-8.92-28.06-33.06-36.79-41.81L87.9 311.95c4.36-13.98 6.99-27.55 7.87-40.67h61.65s-.09-23.62-7.59-23.62v.01zm412.02-1.6c20.83-25.64 44.98-58.57 44.98-58.57s-18.65-14.8-27.38-4.06c-6 8.15-36.83 48.2-36.83 48.2l19.23 14.43zm-150.09-59.09c-9.01-8.25-25.91 2.13-25.91 2.13s39.52 55.04 41.12 57.45l19.46-13.73s-25.67-37.61-34.66-45.86h-.01zM640 258.35c-19.78 0-130.91.93-131.06.93v-101c4.81 0 12.42-.4 22.85-1.2 40.88-2.41 70.13-4 87.77-4.81 0 0 12.22-27.19-.59-33.44-3.07-1.18-23.17 4.58-23.17 4.58s-165.22 16.49-232.36 18.05c1.6 8.82 7.62 17.08 15.78 19.55 13.31 3.48 22.69 1.7 49.15.89 24.83-1.6 43.68-2.43 56.51-2.43v99.81H351.41s2.82 22.31 25.51 22.85h107.94v70.92c0 13.97-11.19 21.99-24.48 21.12-14.08.11-26.08-1.15-41.69-1.81 1.99 3.97 6.33 14.39 19.31 21.84 9.88 4.81 16.17 6.57 26.02 6.57 29.56 0 45.67-17.28 44.89-45.31v-73.32h122.36c9.68 0 8.7-23.78 8.7-23.78l.03-.01z\"]\n};\nvar _iconsCache = {\n fa500px: fa500px,\n faAccessibleIcon: faAccessibleIcon,\n faAccusoft: faAccusoft,\n faAcquisitionsIncorporated: faAcquisitionsIncorporated,\n faAdn: faAdn,\n faAdversal: faAdversal,\n faAffiliatetheme: faAffiliatetheme,\n faAirbnb: faAirbnb,\n faAlgolia: faAlgolia,\n faAlipay: faAlipay,\n faAmazon: faAmazon,\n faAmazonPay: faAmazonPay,\n faAmilia: faAmilia,\n faAndroid: faAndroid,\n faAngellist: faAngellist,\n faAngrycreative: faAngrycreative,\n faAngular: faAngular,\n faAppStore: faAppStore,\n faAppStoreIos: faAppStoreIos,\n faApper: faApper,\n faApple: faApple,\n faApplePay: faApplePay,\n faArtstation: faArtstation,\n faAsymmetrik: faAsymmetrik,\n faAtlassian: faAtlassian,\n faAudible: faAudible,\n faAutoprefixer: faAutoprefixer,\n faAvianex: faAvianex,\n faAviato: faAviato,\n faAws: faAws,\n faBandcamp: faBandcamp,\n faBattleNet: faBattleNet,\n faBehance: faBehance,\n faBehanceSquare: faBehanceSquare,\n faBimobject: faBimobject,\n faBitbucket: faBitbucket,\n faBitcoin: faBitcoin,\n faBity: faBity,\n faBlackTie: faBlackTie,\n faBlackberry: faBlackberry,\n faBlogger: faBlogger,\n faBloggerB: faBloggerB,\n faBluetooth: faBluetooth,\n faBluetoothB: faBluetoothB,\n faBootstrap: faBootstrap,\n faBtc: faBtc,\n faBuffer: faBuffer,\n faBuromobelexperte: faBuromobelexperte,\n faBuyNLarge: faBuyNLarge,\n faBuysellads: faBuysellads,\n faCanadianMapleLeaf: faCanadianMapleLeaf,\n faCcAmazonPay: faCcAmazonPay,\n faCcAmex: faCcAmex,\n faCcApplePay: faCcApplePay,\n faCcDinersClub: faCcDinersClub,\n faCcDiscover: faCcDiscover,\n faCcJcb: faCcJcb,\n faCcMastercard: faCcMastercard,\n faCcPaypal: faCcPaypal,\n faCcStripe: faCcStripe,\n faCcVisa: faCcVisa,\n faCentercode: faCentercode,\n faCentos: faCentos,\n faChrome: faChrome,\n faChromecast: faChromecast,\n faCloudflare: faCloudflare,\n faCloudscale: faCloudscale,\n faCloudsmith: faCloudsmith,\n faCloudversify: faCloudversify,\n faCodepen: faCodepen,\n faCodiepie: faCodiepie,\n faConfluence: faConfluence,\n faConnectdevelop: faConnectdevelop,\n faContao: faContao,\n faCottonBureau: faCottonBureau,\n faCpanel: faCpanel,\n faCreativeCommons: faCreativeCommons,\n faCreativeCommonsBy: faCreativeCommonsBy,\n faCreativeCommonsNc: faCreativeCommonsNc,\n faCreativeCommonsNcEu: faCreativeCommonsNcEu,\n faCreativeCommonsNcJp: faCreativeCommonsNcJp,\n faCreativeCommonsNd: faCreativeCommonsNd,\n faCreativeCommonsPd: faCreativeCommonsPd,\n faCreativeCommonsPdAlt: faCreativeCommonsPdAlt,\n faCreativeCommonsRemix: faCreativeCommonsRemix,\n faCreativeCommonsSa: faCreativeCommonsSa,\n faCreativeCommonsSampling: faCreativeCommonsSampling,\n faCreativeCommonsSamplingPlus: faCreativeCommonsSamplingPlus,\n faCreativeCommonsShare: faCreativeCommonsShare,\n faCreativeCommonsZero: faCreativeCommonsZero,\n faCriticalRole: faCriticalRole,\n faCss3: faCss3,\n faCss3Alt: faCss3Alt,\n faCuttlefish: faCuttlefish,\n faDAndD: faDAndD,\n faDAndDBeyond: faDAndDBeyond,\n faDailymotion: faDailymotion,\n faDashcube: faDashcube,\n faDeezer: faDeezer,\n faDelicious: faDelicious,\n faDeploydog: faDeploydog,\n faDeskpro: faDeskpro,\n faDev: faDev,\n faDeviantart: faDeviantart,\n faDhl: faDhl,\n faDiaspora: faDiaspora,\n faDigg: faDigg,\n faDigitalOcean: faDigitalOcean,\n faDiscord: faDiscord,\n faDiscourse: faDiscourse,\n faDochub: faDochub,\n faDocker: faDocker,\n faDraft2digital: faDraft2digital,\n faDribbble: faDribbble,\n faDribbbleSquare: faDribbbleSquare,\n faDropbox: faDropbox,\n faDrupal: faDrupal,\n faDyalog: faDyalog,\n faEarlybirds: faEarlybirds,\n faEbay: faEbay,\n faEdge: faEdge,\n faEdgeLegacy: faEdgeLegacy,\n faElementor: faElementor,\n faEllo: faEllo,\n faEmber: faEmber,\n faEmpire: faEmpire,\n faEnvira: faEnvira,\n faErlang: faErlang,\n faEthereum: faEthereum,\n faEtsy: faEtsy,\n faEvernote: faEvernote,\n faExpeditedssl: faExpeditedssl,\n faFacebook: faFacebook,\n faFacebookF: faFacebookF,\n faFacebookMessenger: faFacebookMessenger,\n faFacebookSquare: faFacebookSquare,\n faFantasyFlightGames: faFantasyFlightGames,\n faFedex: faFedex,\n faFedora: faFedora,\n faFigma: faFigma,\n faFirefox: faFirefox,\n faFirefoxBrowser: faFirefoxBrowser,\n faFirstOrder: faFirstOrder,\n faFirstOrderAlt: faFirstOrderAlt,\n faFirstdraft: faFirstdraft,\n faFlickr: faFlickr,\n faFlipboard: faFlipboard,\n faFly: faFly,\n faFontAwesome: faFontAwesome,\n faFontAwesomeAlt: faFontAwesomeAlt,\n faFontAwesomeFlag: faFontAwesomeFlag,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faFonticons: faFonticons,\n faFonticonsFi: faFonticonsFi,\n faFortAwesome: faFortAwesome,\n faFortAwesomeAlt: faFortAwesomeAlt,\n faForumbee: faForumbee,\n faFoursquare: faFoursquare,\n faFreeCodeCamp: faFreeCodeCamp,\n faFreebsd: faFreebsd,\n faFulcrum: faFulcrum,\n faGalacticRepublic: faGalacticRepublic,\n faGalacticSenate: faGalacticSenate,\n faGetPocket: faGetPocket,\n faGg: faGg,\n faGgCircle: faGgCircle,\n faGit: faGit,\n faGitAlt: faGitAlt,\n faGitSquare: faGitSquare,\n faGithub: faGithub,\n faGithubAlt: faGithubAlt,\n faGithubSquare: faGithubSquare,\n faGitkraken: faGitkraken,\n faGitlab: faGitlab,\n faGitter: faGitter,\n faGlide: faGlide,\n faGlideG: faGlideG,\n faGofore: faGofore,\n faGoodreads: faGoodreads,\n faGoodreadsG: faGoodreadsG,\n faGoogle: faGoogle,\n faGoogleDrive: faGoogleDrive,\n faGooglePay: faGooglePay,\n faGooglePlay: faGooglePlay,\n faGooglePlus: faGooglePlus,\n faGooglePlusG: faGooglePlusG,\n faGooglePlusSquare: faGooglePlusSquare,\n faGoogleWallet: faGoogleWallet,\n faGratipay: faGratipay,\n faGrav: faGrav,\n faGripfire: faGripfire,\n faGrunt: faGrunt,\n faGuilded: faGuilded,\n faGulp: faGulp,\n faHackerNews: faHackerNews,\n faHackerNewsSquare: faHackerNewsSquare,\n faHackerrank: faHackerrank,\n faHips: faHips,\n faHireAHelper: faHireAHelper,\n faHive: faHive,\n faHooli: faHooli,\n faHornbill: faHornbill,\n faHotjar: faHotjar,\n faHouzz: faHouzz,\n faHtml5: faHtml5,\n faHubspot: faHubspot,\n faIdeal: faIdeal,\n faImdb: faImdb,\n faInnosoft: faInnosoft,\n faInstagram: faInstagram,\n faInstagramSquare: faInstagramSquare,\n faInstalod: faInstalod,\n faIntercom: faIntercom,\n faInternetExplorer: faInternetExplorer,\n faInvision: faInvision,\n faIoxhost: faIoxhost,\n faItchIo: faItchIo,\n faItunes: faItunes,\n faItunesNote: faItunesNote,\n faJava: faJava,\n faJediOrder: faJediOrder,\n faJenkins: faJenkins,\n faJira: faJira,\n faJoget: faJoget,\n faJoomla: faJoomla,\n faJs: faJs,\n faJsSquare: faJsSquare,\n faJsfiddle: faJsfiddle,\n faKaggle: faKaggle,\n faKeybase: faKeybase,\n faKeycdn: faKeycdn,\n faKickstarter: faKickstarter,\n faKickstarterK: faKickstarterK,\n faKorvue: faKorvue,\n faLaravel: faLaravel,\n faLastfm: faLastfm,\n faLastfmSquare: faLastfmSquare,\n faLeanpub: faLeanpub,\n faLess: faLess,\n faLine: faLine,\n faLinkedin: faLinkedin,\n faLinkedinIn: faLinkedinIn,\n faLinode: faLinode,\n faLinux: faLinux,\n faLyft: faLyft,\n faMagento: faMagento,\n faMailchimp: faMailchimp,\n faMandalorian: faMandalorian,\n faMarkdown: faMarkdown,\n faMastodon: faMastodon,\n faMaxcdn: faMaxcdn,\n faMdb: faMdb,\n faMedapps: faMedapps,\n faMedium: faMedium,\n faMediumM: faMediumM,\n faMedrt: faMedrt,\n faMeetup: faMeetup,\n faMegaport: faMegaport,\n faMendeley: faMendeley,\n faMicroblog: faMicroblog,\n faMicrosoft: faMicrosoft,\n faMix: faMix,\n faMixcloud: faMixcloud,\n faMixer: faMixer,\n faMizuni: faMizuni,\n faModx: faModx,\n faMonero: faMonero,\n faNapster: faNapster,\n faNeos: faNeos,\n faNimblr: faNimblr,\n faNode: faNode,\n faNodeJs: faNodeJs,\n faNpm: faNpm,\n faNs8: faNs8,\n faNutritionix: faNutritionix,\n faOctopusDeploy: faOctopusDeploy,\n faOdnoklassniki: faOdnoklassniki,\n faOdnoklassnikiSquare: faOdnoklassnikiSquare,\n faOldRepublic: faOldRepublic,\n faOpencart: faOpencart,\n faOpenid: faOpenid,\n faOpera: faOpera,\n faOptinMonster: faOptinMonster,\n faOrcid: faOrcid,\n faOsi: faOsi,\n faPage4: faPage4,\n faPagelines: faPagelines,\n faPalfed: faPalfed,\n faPatreon: faPatreon,\n faPaypal: faPaypal,\n faPennyArcade: faPennyArcade,\n faPerbyte: faPerbyte,\n faPeriscope: faPeriscope,\n faPhabricator: faPhabricator,\n faPhoenixFramework: faPhoenixFramework,\n faPhoenixSquadron: faPhoenixSquadron,\n faPhp: faPhp,\n faPiedPiper: faPiedPiper,\n faPiedPiperAlt: faPiedPiperAlt,\n faPiedPiperHat: faPiedPiperHat,\n faPiedPiperPp: faPiedPiperPp,\n faPiedPiperSquare: faPiedPiperSquare,\n faPinterest: faPinterest,\n faPinterestP: faPinterestP,\n faPinterestSquare: faPinterestSquare,\n faPlaystation: faPlaystation,\n faProductHunt: faProductHunt,\n faPushed: faPushed,\n faPython: faPython,\n faQq: faQq,\n faQuinscape: faQuinscape,\n faQuora: faQuora,\n faRProject: faRProject,\n faRaspberryPi: faRaspberryPi,\n faRavelry: faRavelry,\n faReact: faReact,\n faReacteurope: faReacteurope,\n faReadme: faReadme,\n faRebel: faRebel,\n faRedRiver: faRedRiver,\n faReddit: faReddit,\n faRedditAlien: faRedditAlien,\n faRedditSquare: faRedditSquare,\n faRedhat: faRedhat,\n faRenren: faRenren,\n faReplyd: faReplyd,\n faResearchgate: faResearchgate,\n faResolving: faResolving,\n faRev: faRev,\n faRocketchat: faRocketchat,\n faRockrms: faRockrms,\n faRust: faRust,\n faSafari: faSafari,\n faSalesforce: faSalesforce,\n faSass: faSass,\n faSchlix: faSchlix,\n faScribd: faScribd,\n faSearchengin: faSearchengin,\n faSellcast: faSellcast,\n faSellsy: faSellsy,\n faServicestack: faServicestack,\n faShirtsinbulk: faShirtsinbulk,\n faShopify: faShopify,\n faShopware: faShopware,\n faSimplybuilt: faSimplybuilt,\n faSistrix: faSistrix,\n faSith: faSith,\n faSketch: faSketch,\n faSkyatlas: faSkyatlas,\n faSkype: faSkype,\n faSlack: faSlack,\n faSlackHash: faSlackHash,\n faSlideshare: faSlideshare,\n faSnapchat: faSnapchat,\n faSnapchatGhost: faSnapchatGhost,\n faSnapchatSquare: faSnapchatSquare,\n faSoundcloud: faSoundcloud,\n faSourcetree: faSourcetree,\n faSpeakap: faSpeakap,\n faSpeakerDeck: faSpeakerDeck,\n faSpotify: faSpotify,\n faSquarespace: faSquarespace,\n faStackExchange: faStackExchange,\n faStackOverflow: faStackOverflow,\n faStackpath: faStackpath,\n faStaylinked: faStaylinked,\n faSteam: faSteam,\n faSteamSquare: faSteamSquare,\n faSteamSymbol: faSteamSymbol,\n faStickerMule: faStickerMule,\n faStrava: faStrava,\n faStripe: faStripe,\n faStripeS: faStripeS,\n faStudiovinari: faStudiovinari,\n faStumbleupon: faStumbleupon,\n faStumbleuponCircle: faStumbleuponCircle,\n faSuperpowers: faSuperpowers,\n faSupple: faSupple,\n faSuse: faSuse,\n faSwift: faSwift,\n faSymfony: faSymfony,\n faTeamspeak: faTeamspeak,\n faTelegram: faTelegram,\n faTelegramPlane: faTelegramPlane,\n faTencentWeibo: faTencentWeibo,\n faTheRedYeti: faTheRedYeti,\n faThemeco: faThemeco,\n faThemeisle: faThemeisle,\n faThinkPeaks: faThinkPeaks,\n faTiktok: faTiktok,\n faTradeFederation: faTradeFederation,\n faTrello: faTrello,\n faTripadvisor: faTripadvisor,\n faTumblr: faTumblr,\n faTumblrSquare: faTumblrSquare,\n faTwitch: faTwitch,\n faTwitter: faTwitter,\n faTwitterSquare: faTwitterSquare,\n faTypo3: faTypo3,\n faUber: faUber,\n faUbuntu: faUbuntu,\n faUikit: faUikit,\n faUmbraco: faUmbraco,\n faUncharted: faUncharted,\n faUniregistry: faUniregistry,\n faUnity: faUnity,\n faUnsplash: faUnsplash,\n faUntappd: faUntappd,\n faUps: faUps,\n faUsb: faUsb,\n faUsps: faUsps,\n faUssunnah: faUssunnah,\n faVaadin: faVaadin,\n faViacoin: faViacoin,\n faViadeo: faViadeo,\n faViadeoSquare: faViadeoSquare,\n faViber: faViber,\n faVimeo: faVimeo,\n faVimeoSquare: faVimeoSquare,\n faVimeoV: faVimeoV,\n faVine: faVine,\n faVk: faVk,\n faVnv: faVnv,\n faVuejs: faVuejs,\n faWatchmanMonitoring: faWatchmanMonitoring,\n faWaze: faWaze,\n faWeebly: faWeebly,\n faWeibo: faWeibo,\n faWeixin: faWeixin,\n faWhatsapp: faWhatsapp,\n faWhatsappSquare: faWhatsappSquare,\n faWhmcs: faWhmcs,\n faWikipediaW: faWikipediaW,\n faWindows: faWindows,\n faWix: faWix,\n faWizardsOfTheCoast: faWizardsOfTheCoast,\n faWodu: faWodu,\n faWolfPackBattalion: faWolfPackBattalion,\n faWordpress: faWordpress,\n faWordpressSimple: faWordpressSimple,\n faWpbeginner: faWpbeginner,\n faWpexplorer: faWpexplorer,\n faWpforms: faWpforms,\n faWpressr: faWpressr,\n faXbox: faXbox,\n faXing: faXing,\n faXingSquare: faXingSquare,\n faYCombinator: faYCombinator,\n faYahoo: faYahoo,\n faYammer: faYammer,\n faYandex: faYandex,\n faYandexInternational: faYandexInternational,\n faYarn: faYarn,\n faYelp: faYelp,\n faYoast: faYoast,\n faYoutube: faYoutube,\n faYoutubeSquare: faYoutubeSquare,\n faZhihu: faZhihu\n};\nexport { _iconsCache as fab, prefix, fa500px, faAccessibleIcon, faAccusoft, faAcquisitionsIncorporated, faAdn, faAdversal, faAffiliatetheme, faAirbnb, faAlgolia, faAlipay, faAmazon, faAmazonPay, faAmilia, faAndroid, faAngellist, faAngrycreative, faAngular, faAppStore, faAppStoreIos, faApper, faApple, faApplePay, faArtstation, faAsymmetrik, faAtlassian, faAudible, faAutoprefixer, faAvianex, faAviato, faAws, faBandcamp, faBattleNet, faBehance, faBehanceSquare, faBimobject, faBitbucket, faBitcoin, faBity, faBlackTie, faBlackberry, faBlogger, faBloggerB, faBluetooth, faBluetoothB, faBootstrap, faBtc, faBuffer, faBuromobelexperte, faBuyNLarge, faBuysellads, faCanadianMapleLeaf, faCcAmazonPay, faCcAmex, faCcApplePay, faCcDinersClub, faCcDiscover, faCcJcb, faCcMastercard, faCcPaypal, faCcStripe, faCcVisa, faCentercode, faCentos, faChrome, faChromecast, faCloudflare, faCloudscale, faCloudsmith, faCloudversify, faCodepen, faCodiepie, faConfluence, faConnectdevelop, faContao, faCottonBureau, faCpanel, faCreativeCommons, faCreativeCommonsBy, faCreativeCommonsNc, faCreativeCommonsNcEu, faCreativeCommonsNcJp, faCreativeCommonsNd, faCreativeCommonsPd, faCreativeCommonsPdAlt, faCreativeCommonsRemix, faCreativeCommonsSa, faCreativeCommonsSampling, faCreativeCommonsSamplingPlus, faCreativeCommonsShare, faCreativeCommonsZero, faCriticalRole, faCss3, faCss3Alt, faCuttlefish, faDAndD, faDAndDBeyond, faDailymotion, faDashcube, faDeezer, faDelicious, faDeploydog, faDeskpro, faDev, faDeviantart, faDhl, faDiaspora, faDigg, faDigitalOcean, faDiscord, faDiscourse, faDochub, faDocker, faDraft2digital, faDribbble, faDribbbleSquare, faDropbox, faDrupal, faDyalog, faEarlybirds, faEbay, faEdge, faEdgeLegacy, faElementor, faEllo, faEmber, faEmpire, faEnvira, faErlang, faEthereum, faEtsy, faEvernote, faExpeditedssl, faFacebook, faFacebookF, faFacebookMessenger, faFacebookSquare, faFantasyFlightGames, faFedex, faFedora, faFigma, faFirefox, faFirefoxBrowser, faFirstOrder, faFirstOrderAlt, faFirstdraft, faFlickr, faFlipboard, faFly, faFontAwesome, faFontAwesomeAlt, faFontAwesomeFlag, faFontAwesomeLogoFull, faFonticons, faFonticonsFi, faFortAwesome, faFortAwesomeAlt, faForumbee, faFoursquare, faFreeCodeCamp, faFreebsd, faFulcrum, faGalacticRepublic, faGalacticSenate, faGetPocket, faGg, faGgCircle, faGit, faGitAlt, faGitSquare, faGithub, faGithubAlt, faGithubSquare, faGitkraken, faGitlab, faGitter, faGlide, faGlideG, faGofore, faGoodreads, faGoodreadsG, faGoogle, faGoogleDrive, faGooglePay, faGooglePlay, faGooglePlus, faGooglePlusG, faGooglePlusSquare, faGoogleWallet, faGratipay, faGrav, faGripfire, faGrunt, faGuilded, faGulp, faHackerNews, faHackerNewsSquare, faHackerrank, faHips, faHireAHelper, faHive, faHooli, faHornbill, faHotjar, faHouzz, faHtml5, faHubspot, faIdeal, faImdb, faInnosoft, faInstagram, faInstagramSquare, faInstalod, faIntercom, faInternetExplorer, faInvision, faIoxhost, faItchIo, faItunes, faItunesNote, faJava, faJediOrder, faJenkins, faJira, faJoget, faJoomla, faJs, faJsSquare, faJsfiddle, faKaggle, faKeybase, faKeycdn, faKickstarter, faKickstarterK, faKorvue, faLaravel, faLastfm, faLastfmSquare, faLeanpub, faLess, faLine, faLinkedin, faLinkedinIn, faLinode, faLinux, faLyft, faMagento, faMailchimp, faMandalorian, faMarkdown, faMastodon, faMaxcdn, faMdb, faMedapps, faMedium, faMediumM, faMedrt, faMeetup, faMegaport, faMendeley, faMicroblog, faMicrosoft, faMix, faMixcloud, faMixer, faMizuni, faModx, faMonero, faNapster, faNeos, faNimblr, faNode, faNodeJs, faNpm, faNs8, faNutritionix, faOctopusDeploy, faOdnoklassniki, faOdnoklassnikiSquare, faOldRepublic, faOpencart, faOpenid, faOpera, faOptinMonster, faOrcid, faOsi, faPage4, faPagelines, faPalfed, faPatreon, faPaypal, faPennyArcade, faPerbyte, faPeriscope, faPhabricator, faPhoenixFramework, faPhoenixSquadron, faPhp, faPiedPiper, faPiedPiperAlt, faPiedPiperHat, faPiedPiperPp, faPiedPiperSquare, faPinterest, faPinterestP, faPinterestSquare, faPlaystation, faProductHunt, faPushed, faPython, faQq, faQuinscape, faQuora, faRProject, faRaspberryPi, faRavelry, faReact, faReacteurope, faReadme, faRebel, faRedRiver, faReddit, faRedditAlien, faRedditSquare, faRedhat, faRenren, faReplyd, faResearchgate, faResolving, faRev, faRocketchat, faRockrms, faRust, faSafari, faSalesforce, faSass, faSchlix, faScribd, faSearchengin, faSellcast, faSellsy, faServicestack, faShirtsinbulk, faShopify, faShopware, faSimplybuilt, faSistrix, faSith, faSketch, faSkyatlas, faSkype, faSlack, faSlackHash, faSlideshare, faSnapchat, faSnapchatGhost, faSnapchatSquare, faSoundcloud, faSourcetree, faSpeakap, faSpeakerDeck, faSpotify, faSquarespace, faStackExchange, faStackOverflow, faStackpath, faStaylinked, faSteam, faSteamSquare, faSteamSymbol, faStickerMule, faStrava, faStripe, faStripeS, faStudiovinari, faStumbleupon, faStumbleuponCircle, faSuperpowers, faSupple, faSuse, faSwift, faSymfony, faTeamspeak, faTelegram, faTelegramPlane, faTencentWeibo, faTheRedYeti, faThemeco, faThemeisle, faThinkPeaks, faTiktok, faTradeFederation, faTrello, faTripadvisor, faTumblr, faTumblrSquare, faTwitch, faTwitter, faTwitterSquare, faTypo3, faUber, faUbuntu, faUikit, faUmbraco, faUncharted, faUniregistry, faUnity, faUnsplash, faUntappd, faUps, faUsb, faUsps, faUssunnah, faVaadin, faViacoin, faViadeo, faViadeoSquare, faViber, faVimeo, faVimeoSquare, faVimeoV, faVine, faVk, faVnv, faVuejs, faWatchmanMonitoring, faWaze, faWeebly, faWeibo, faWeixin, faWhatsapp, faWhatsappSquare, faWhmcs, faWikipediaW, faWindows, faWix, faWizardsOfTheCoast, faWodu, faWolfPackBattalion, faWordpress, faWordpressSimple, faWpbeginner, faWpexplorer, faWpforms, faWpressr, faXbox, faXing, faXingSquare, faYCombinator, faYahoo, faYammer, faYandex, faYandexInternational, faYarn, faYelp, faYoast, faYoutube, faYoutubeSquare, faZhihu };","typeof navigator !== \"undefined\" && function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(function () {\n return factory(root);\n });\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory(root);\n } else {\n root.lottie = factory(root);\n root.bodymovin = root.lottie;\n }\n}(window || {}, function (window) {\n \"use strict\";\n\n var svgNS = \"http://www.w3.org/2000/svg\";\n var locationHref = '';\n var initialDefaultFrame = -999999;\n var subframeEnabled = true;\n var expressionsPlugin;\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n var cachedColors = {};\n var bm_rounder = Math.round;\n var bm_rnd;\n var bm_pow = Math.pow;\n var bm_sqrt = Math.sqrt;\n var bm_abs = Math.abs;\n var bm_floor = Math.floor;\n var bm_max = Math.max;\n var bm_min = Math.min;\n var blitter = 10;\n var BMMath = {};\n (function () {\n var propertyNames = [\"abs\", \"acos\", \"acosh\", \"asin\", \"asinh\", \"atan\", \"atanh\", \"atan2\", \"ceil\", \"cbrt\", \"expm1\", \"clz32\", \"cos\", \"cosh\", \"exp\", \"floor\", \"fround\", \"hypot\", \"imul\", \"log\", \"log1p\", \"log2\", \"log10\", \"max\", \"min\", \"pow\", \"random\", \"round\", \"sign\", \"sin\", \"sinh\", \"sqrt\", \"tan\", \"tanh\", \"trunc\", \"E\", \"LN10\", \"LN2\", \"LOG10E\", \"LOG2E\", \"PI\", \"SQRT1_2\", \"SQRT2\"];\n var i,\n len = propertyNames.length;\n for (i = 0; i < len; i += 1) {\n BMMath[propertyNames[i]] = Math[propertyNames[i]];\n }\n })();\n function ProjectInterface() {\n return {};\n }\n BMMath.random = Math.random;\n BMMath.abs = function (val) {\n var tOfVal = typeof val;\n if (tOfVal === 'object' && val.length) {\n var absArr = createSizedArray(val.length);\n var i,\n len = val.length;\n for (i = 0; i < len; i += 1) {\n absArr[i] = Math.abs(val[i]);\n }\n return absArr;\n }\n return Math.abs(val);\n };\n var defaultCurveSegments = 150;\n var degToRads = Math.PI / 180;\n var roundCorner = 0.5519;\n function roundValues(flag) {\n if (flag) {\n bm_rnd = Math.round;\n } else {\n bm_rnd = function (val) {\n return val;\n };\n }\n }\n roundValues(false);\n function styleDiv(element) {\n element.style.position = 'absolute';\n element.style.top = 0;\n element.style.left = 0;\n element.style.display = 'block';\n element.style.transformOrigin = element.style.webkitTransformOrigin = '0 0';\n element.style.backfaceVisibility = element.style.webkitBackfaceVisibility = 'visible';\n element.style.transformStyle = element.style.webkitTransformStyle = element.style.mozTransformStyle = \"preserve-3d\";\n }\n function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n this.type = type;\n this.currentTime = currentTime;\n this.totalTime = totalTime;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n function BMCompleteEvent(type, frameMultiplier) {\n this.type = type;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n this.type = type;\n this.currentLoop = currentLoop;\n this.totalLoops = totalLoops;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n this.type = type;\n this.firstFrame = firstFrame;\n this.totalFrames = totalFrames;\n }\n function BMDestroyEvent(type, target) {\n this.type = type;\n this.target = target;\n }\n function BMRenderFrameErrorEvent(nativeError, currentTime) {\n this.type = 'renderFrameError';\n this.nativeError = nativeError;\n this.currentTime = currentTime;\n }\n function BMConfigErrorEvent(nativeError) {\n this.type = 'configError';\n this.nativeError = nativeError;\n }\n function BMAnimationConfigErrorEvent(type, nativeError) {\n this.type = type;\n this.nativeError = nativeError;\n this.currentTime = currentTime;\n }\n var createElementID = function () {\n var _count = 0;\n return function createID() {\n return '__lottie_element_' + ++_count;\n };\n }();\n function HSVtoRGB(h, s, v) {\n var r, g, b, i, f, p, q, t;\n i = Math.floor(h * 6);\n f = h * 6 - i;\n p = v * (1 - s);\n q = v * (1 - f * s);\n t = v * (1 - (1 - f) * s);\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n case 5:\n r = v;\n g = p;\n b = q;\n break;\n }\n return [r, g, b];\n }\n function RGBtoHSV(r, g, b) {\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b),\n d = max - min,\n h,\n s = max === 0 ? 0 : d / max,\n v = max / 255;\n switch (max) {\n case min:\n h = 0;\n break;\n case r:\n h = g - b + d * (g < b ? 6 : 0);\n h /= 6 * d;\n break;\n case g:\n h = b - r + d * 2;\n h /= 6 * d;\n break;\n case b:\n h = r - g + d * 4;\n h /= 6 * d;\n break;\n }\n return [h, s, v];\n }\n function addSaturationToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[1] += offset;\n if (hsv[1] > 1) {\n hsv[1] = 1;\n } else if (hsv[1] <= 0) {\n hsv[1] = 0;\n }\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n function addBrightnessToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[2] += offset;\n if (hsv[2] > 1) {\n hsv[2] = 1;\n } else if (hsv[2] < 0) {\n hsv[2] = 0;\n }\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n function addHueToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[0] += offset / 360;\n if (hsv[0] > 1) {\n hsv[0] -= 1;\n } else if (hsv[0] < 0) {\n hsv[0] += 1;\n }\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n var rgbToHex = function () {\n var colorMap = [];\n var i;\n var hex;\n for (i = 0; i < 256; i += 1) {\n hex = i.toString(16);\n colorMap[i] = hex.length == 1 ? '0' + hex : hex;\n }\n return function (r, g, b) {\n if (r < 0) {\n r = 0;\n }\n if (g < 0) {\n g = 0;\n }\n if (b < 0) {\n b = 0;\n }\n return '#' + colorMap[r] + colorMap[g] + colorMap[b];\n };\n }();\n function BaseEvent() {}\n BaseEvent.prototype = {\n triggerEvent: function (eventName, args) {\n if (this._cbs[eventName]) {\n var len = this._cbs[eventName].length;\n for (var i = 0; i < len; i++) {\n this._cbs[eventName][i](args);\n }\n }\n },\n addEventListener: function (eventName, callback) {\n if (!this._cbs[eventName]) {\n this._cbs[eventName] = [];\n }\n this._cbs[eventName].push(callback);\n return function () {\n this.removeEventListener(eventName, callback);\n }.bind(this);\n },\n removeEventListener: function (eventName, callback) {\n if (!callback) {\n this._cbs[eventName] = null;\n } else if (this._cbs[eventName]) {\n var i = 0,\n len = this._cbs[eventName].length;\n while (i < len) {\n if (this._cbs[eventName][i] === callback) {\n this._cbs[eventName].splice(i, 1);\n i -= 1;\n len -= 1;\n }\n i += 1;\n }\n if (!this._cbs[eventName].length) {\n this._cbs[eventName] = null;\n }\n }\n }\n };\n var createTypedArray = function () {\n function createRegularArray(type, len) {\n var i = 0,\n arr = [],\n value;\n switch (type) {\n case 'int16':\n case 'uint8c':\n value = 1;\n break;\n default:\n value = 1.1;\n break;\n }\n for (i = 0; i < len; i += 1) {\n arr.push(value);\n }\n return arr;\n }\n function createTypedArray(type, len) {\n if (type === 'float32') {\n return new Float32Array(len);\n } else if (type === 'int16') {\n return new Int16Array(len);\n } else if (type === 'uint8c') {\n return new Uint8ClampedArray(len);\n }\n }\n if (typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') {\n return createTypedArray;\n } else {\n return createRegularArray;\n }\n }();\n function createSizedArray(len) {\n return Array.apply(null, {\n length: len\n });\n }\n function createNS(type) {\n //return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElementNS(svgNS, type);\n }\n function createTag(type) {\n //return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElement(type);\n }\n function DynamicPropertyContainer() {}\n ;\n DynamicPropertyContainer.prototype = {\n addDynamicProperty: function (prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n this.container.addDynamicProperty(this);\n this._isAnimated = true;\n }\n },\n iterateDynamicProperties: function () {\n this._mdf = false;\n var i,\n len = this.dynamicProperties.length;\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n if (this.dynamicProperties[i]._mdf) {\n this._mdf = true;\n }\n }\n },\n initDynamicPropertyContainer: function (container) {\n this.container = container;\n this.dynamicProperties = [];\n this._mdf = false;\n this._isAnimated = false;\n }\n };\n var getBlendMode = function () {\n var blendModeEnums = {\n 0: 'source-over',\n 1: 'multiply',\n 2: 'screen',\n 3: 'overlay',\n 4: 'darken',\n 5: 'lighten',\n 6: 'color-dodge',\n 7: 'color-burn',\n 8: 'hard-light',\n 9: 'soft-light',\n 10: 'difference',\n 11: 'exclusion',\n 12: 'hue',\n 13: 'saturation',\n 14: 'color',\n 15: 'luminosity'\n };\n return function (mode) {\n return blendModeEnums[mode] || '';\n };\n }();\n /*!\r\n Transformation Matrix v2.0\r\n (c) Epistemex 2014-2015\r\n www.epistemex.com\r\n By Ken Fyrstenberg\r\n Contributions by leeoniya.\r\n License: MIT, header required.\r\n */\n\n /**\r\n * 2D transformation matrix object initialized with identity matrix.\r\n *\r\n * The matrix can synchronize a canvas context by supplying the context\r\n * as an argument, or later apply current absolute transform to an\r\n * existing context.\r\n *\r\n * All values are handled as floating point values.\r\n *\r\n * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n * @prop {number} a - scale x\r\n * @prop {number} b - shear y\r\n * @prop {number} c - shear x\r\n * @prop {number} d - scale y\r\n * @prop {number} e - translate x\r\n * @prop {number} f - translate y\r\n * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n * @constructor\r\n */\n\n var Matrix = function () {\n var _cos = Math.cos;\n var _sin = Math.sin;\n var _tan = Math.tan;\n var _rnd = Math.round;\n function reset() {\n this.props[0] = 1;\n this.props[1] = 0;\n this.props[2] = 0;\n this.props[3] = 0;\n this.props[4] = 0;\n this.props[5] = 1;\n this.props[6] = 0;\n this.props[7] = 0;\n this.props[8] = 0;\n this.props[9] = 0;\n this.props[10] = 1;\n this.props[11] = 0;\n this.props[12] = 0;\n this.props[13] = 0;\n this.props[14] = 0;\n this.props[15] = 1;\n return this;\n }\n function rotate(angle) {\n if (angle === 0) {\n return this;\n }\n var mCos = _cos(angle);\n var mSin = _sin(angle);\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n function rotateX(angle) {\n if (angle === 0) {\n return this;\n }\n var mCos = _cos(angle);\n var mSin = _sin(angle);\n return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n }\n function rotateY(angle) {\n if (angle === 0) {\n return this;\n }\n var mCos = _cos(angle);\n var mSin = _sin(angle);\n return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n }\n function rotateZ(angle) {\n if (angle === 0) {\n return this;\n }\n var mCos = _cos(angle);\n var mSin = _sin(angle);\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n function shear(sx, sy) {\n return this._t(1, sy, sx, 1, 0, 0);\n }\n function skew(ax, ay) {\n return this.shear(_tan(ax), _tan(ay));\n }\n function skewFromAxis(ax, angle) {\n var mCos = _cos(angle);\n var mSin = _sin(angle);\n return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n //return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n }\n function scale(sx, sy, sz) {\n if (!sz && sz !== 0) {\n sz = 1;\n }\n if (sx === 1 && sy === 1 && sz === 1) {\n return this;\n }\n return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n }\n function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n this.props[0] = a;\n this.props[1] = b;\n this.props[2] = c;\n this.props[3] = d;\n this.props[4] = e;\n this.props[5] = f;\n this.props[6] = g;\n this.props[7] = h;\n this.props[8] = i;\n this.props[9] = j;\n this.props[10] = k;\n this.props[11] = l;\n this.props[12] = m;\n this.props[13] = n;\n this.props[14] = o;\n this.props[15] = p;\n return this;\n }\n function translate(tx, ty, tz) {\n tz = tz || 0;\n if (tx !== 0 || ty !== 0 || tz !== 0) {\n return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n }\n return this;\n }\n function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n var _p = this.props;\n if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n //NOTE: commenting this condition because TurboFan deoptimizes code when present\n //if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n _p[12] = _p[12] * a2 + _p[15] * m2;\n _p[13] = _p[13] * f2 + _p[15] * n2;\n _p[14] = _p[14] * k2 + _p[15] * o2;\n _p[15] = _p[15] * p2;\n //}\n this._identityCalculated = false;\n return this;\n }\n var a1 = _p[0];\n var b1 = _p[1];\n var c1 = _p[2];\n var d1 = _p[3];\n var e1 = _p[4];\n var f1 = _p[5];\n var g1 = _p[6];\n var h1 = _p[7];\n var i1 = _p[8];\n var j1 = _p[9];\n var k1 = _p[10];\n var l1 = _p[11];\n var m1 = _p[12];\n var n1 = _p[13];\n var o1 = _p[14];\n var p1 = _p[15];\n\n /* matrix order (canvas compatible):\r\n * ace\r\n * bdf\r\n * 001\r\n */\n _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n this._identityCalculated = false;\n return this;\n }\n function isIdentity() {\n if (!this._identityCalculated) {\n this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1);\n this._identityCalculated = true;\n }\n return this._identity;\n }\n function equals(matr) {\n var i = 0;\n while (i < 16) {\n if (matr.props[i] !== this.props[i]) {\n return false;\n }\n i += 1;\n }\n return true;\n }\n function clone(matr) {\n var i;\n for (i = 0; i < 16; i += 1) {\n matr.props[i] = this.props[i];\n }\n }\n function cloneFromProps(props) {\n var i;\n for (i = 0; i < 16; i += 1) {\n this.props[i] = props[i];\n }\n }\n function applyToPoint(x, y, z) {\n return {\n x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\n y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\n z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]\n };\n /*return {\r\n x: x * me.a + y * me.c + me.e,\r\n y: x * me.b + y * me.d + me.f\r\n };*/\n }\n function applyToX(x, y, z) {\n return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];\n }\n function applyToY(x, y, z) {\n return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];\n }\n function applyToZ(x, y, z) {\n return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];\n }\n function getInverseMatrix() {\n var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];\n var a = this.props[5] / determinant;\n var b = -this.props[1] / determinant;\n var c = -this.props[4] / determinant;\n var d = this.props[0] / determinant;\n var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant;\n var f = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / determinant;\n var inverseMatrix = new Matrix();\n inverseMatrix.props[0] = a;\n inverseMatrix.props[1] = b;\n inverseMatrix.props[4] = c;\n inverseMatrix.props[5] = d;\n inverseMatrix.props[12] = e;\n inverseMatrix.props[13] = f;\n return inverseMatrix;\n }\n function inversePoint(pt) {\n var inverseMatrix = this.getInverseMatrix();\n return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n }\n function inversePoints(pts) {\n var i,\n len = pts.length,\n retPts = [];\n for (i = 0; i < len; i += 1) {\n retPts[i] = inversePoint(pts[i]);\n }\n return retPts;\n }\n function applyToTriplePoints(pt1, pt2, pt3) {\n var arr = createTypedArray('float32', 6);\n if (this.isIdentity()) {\n arr[0] = pt1[0];\n arr[1] = pt1[1];\n arr[2] = pt2[0];\n arr[3] = pt2[1];\n arr[4] = pt3[0];\n arr[5] = pt3[1];\n } else {\n var p0 = this.props[0],\n p1 = this.props[1],\n p4 = this.props[4],\n p5 = this.props[5],\n p12 = this.props[12],\n p13 = this.props[13];\n arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n }\n return arr;\n }\n function applyToPointArray(x, y, z) {\n var arr;\n if (this.isIdentity()) {\n arr = [x, y, z];\n } else {\n arr = [x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12], x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13], x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]];\n }\n return arr;\n }\n function applyToPointStringified(x, y) {\n if (this.isIdentity()) {\n return x + ',' + y;\n }\n var _p = this.props;\n return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + ',' + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n }\n function toCSS() {\n //Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n /*if(this.isIdentity()) {\r\n return '';\r\n }*/\n var i = 0;\n var props = this.props;\n var cssValue = 'matrix3d(';\n var v = 10000;\n while (i < 16) {\n cssValue += _rnd(props[i] * v) / v;\n cssValue += i === 15 ? ')' : ',';\n i += 1;\n }\n return cssValue;\n }\n function roundMatrixProperty(val) {\n var v = 10000;\n if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n return _rnd(val * v) / v;\n }\n return val;\n }\n function to2dCSS() {\n //Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n /*if(this.isIdentity()) {\r\n return '';\r\n }*/\n var props = this.props;\n var _a = roundMatrixProperty(props[0]);\n var _b = roundMatrixProperty(props[1]);\n var _c = roundMatrixProperty(props[4]);\n var _d = roundMatrixProperty(props[5]);\n var _e = roundMatrixProperty(props[12]);\n var _f = roundMatrixProperty(props[13]);\n return \"matrix(\" + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + \")\";\n }\n return function () {\n this.reset = reset;\n this.rotate = rotate;\n this.rotateX = rotateX;\n this.rotateY = rotateY;\n this.rotateZ = rotateZ;\n this.skew = skew;\n this.skewFromAxis = skewFromAxis;\n this.shear = shear;\n this.scale = scale;\n this.setTransform = setTransform;\n this.translate = translate;\n this.transform = transform;\n this.applyToPoint = applyToPoint;\n this.applyToX = applyToX;\n this.applyToY = applyToY;\n this.applyToZ = applyToZ;\n this.applyToPointArray = applyToPointArray;\n this.applyToTriplePoints = applyToTriplePoints;\n this.applyToPointStringified = applyToPointStringified;\n this.toCSS = toCSS;\n this.to2dCSS = to2dCSS;\n this.clone = clone;\n this.cloneFromProps = cloneFromProps;\n this.equals = equals;\n this.inversePoints = inversePoints;\n this.inversePoint = inversePoint;\n this.getInverseMatrix = getInverseMatrix;\n this._t = this.transform;\n this.isIdentity = isIdentity;\n this._identity = true;\n this._identityCalculated = false;\n this.props = createTypedArray('float32', 16);\n this.reset();\n };\n }();\n\n /*\r\n Copyright 2014 David Bau.\r\n \r\n Permission is hereby granted, free of charge, to any person obtaining\r\n a copy of this software and associated documentation files (the\r\n \"Software\"), to deal in the Software without restriction, including\r\n without limitation the rights to use, copy, modify, merge, publish,\r\n distribute, sublicense, and/or sell copies of the Software, and to\r\n permit persons to whom the Software is furnished to do so, subject to\r\n the following conditions:\r\n \r\n The above copyright notice and this permission notice shall be\r\n included in all copies or substantial portions of the Software.\r\n \r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n \r\n */\n\n (function (pool, math) {\n //\n // The following constants are related to IEEE 754 limits.\n //\n var global = this,\n width = 256,\n // each RC4 output is 0 <= x < 256\n chunks = 6,\n // at least six RC4 outputs for each double\n digits = 52,\n // there are 52 significant digits in a double\n rngname = 'random',\n // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n //\n // seedrandom()\n // This is the seedrandom function described above.\n //\n function seedrandom(seed, options, callback) {\n var key = [];\n options = options === true ? {\n entropy: true\n } : options || {};\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function () {\n var n = arc4.g(chunks),\n // Start with a numerator n < 2 ^ 48\n d = startdenom,\n // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) {\n // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) {\n // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n prng.int32 = function () {\n return arc4.g(4) | 0;\n };\n prng.quick = function () {\n return arc4.g(4) / 0x100000000;\n };\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback || function (prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) {\n copy(state, arc4);\n }\n // Only provide the .state method if requested via options.state.\n prng.state = function () {\n return copy(arc4, {});\n };\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) {\n math[rngname] = prng;\n return seed;\n }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(prng, shortseed, 'global' in options ? options.global : this == math, options.state);\n }\n math['seed' + rngname] = seedrandom;\n\n //\n // ARC4\n //\n // An ARC4 implementation. The constructor takes a key in the form of\n // an array of at most (width) integers that should be 0 <= x < (width).\n //\n // The g(count) method returns a pseudorandom integer that concatenates\n // the next (count) outputs from ARC4. Its return value is a number x\n // that is in the range 0 <= x < (width ^ count).\n //\n function ARC4(key) {\n var t,\n keylen = key.length,\n me = this,\n i = 0,\n j = me.i = me.j = 0,\n s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) {\n key = [keylen++];\n }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n me.g = function (count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t,\n r = 0,\n i = me.i,\n j = me.j,\n s = me.S;\n while (count--) {\n t = s[i = mask & i + 1];\n r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n }\n me.i = i;\n me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n };\n }\n\n //\n // copy()\n // Copies internal state of ARC4 to or from a plain object.\n //\n function copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n }\n\n //\n // flatten()\n // Converts an object tree to nested arrays of strings.\n //\n function flatten(obj, depth) {\n var result = [],\n typ = typeof obj,\n prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try {\n result.push(flatten(obj[prop], depth - 1));\n } catch (e) {}\n }\n }\n return result.length ? result : typ == 'string' ? obj : obj + '\\0';\n }\n\n //\n // mixkey()\n // Mixes a string seed into a key that is an array of integers, and\n // returns a shortened string seed that is equivalent to the result key.\n //\n function mixkey(seed, key) {\n var stringseed = seed + '',\n smear,\n j = 0;\n while (j < stringseed.length) {\n key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n }\n return tostring(key);\n }\n\n //\n // autoseed()\n // Returns an object for autoseeding, using window.crypto and Node crypto\n // module if available.\n //\n function autoseed() {\n try {\n if (nodecrypto) {\n return tostring(nodecrypto.randomBytes(width));\n }\n var out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date(), global, plugins, global.screen, tostring(pool)];\n }\n }\n\n //\n // tostring()\n // Converts an array of charcodes to a string\n //\n function tostring(a) {\n return String.fromCharCode.apply(0, a);\n }\n\n //\n // When seedrandom.js is loaded, we immediately mix a few bits\n // from the built-in RNG into the entropy pool. Because we do\n // not want to interfere with deterministic PRNG state later,\n // seedrandom will not call math.random on its own again after\n // initialization.\n //\n mixkey(math.random(), pool);\n\n //\n // Nodejs and AMD support: export the implementation as a module using\n // either convention.\n //\n\n // End anonymous scope, and pass initial values.\n })([],\n // pool: entropy pool starts empty\n BMMath // math: package containing random, pow, and seedrandom\n );\n var BezierFactory = function () {\n /**\r\n * BezierEasing - use bezier curve for transition easing function\r\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n *\r\n * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n * Usage:\r\n * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n *\r\n */\n\n var ob = {};\n ob.getBezierEasing = getBezierEasing;\n var beziers = {};\n function getBezierEasing(a, b, c, d, nm) {\n var str = nm || ('bez_' + a + '_' + b + '_' + c + '_' + d).replace(/\\./g, 'p');\n if (beziers[str]) {\n return beziers[str];\n }\n var bezEasing = new BezierEasing([a, b, c, d]);\n beziers[str] = bezEasing;\n return bezEasing;\n }\n\n // These values are established by empiricism with tests (tradeoff: performance VS precision)\n var NEWTON_ITERATIONS = 4;\n var NEWTON_MIN_SLOPE = 0.001;\n var SUBDIVISION_PRECISION = 0.0000001;\n var SUBDIVISION_MAX_ITERATIONS = 10;\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n var float32ArraySupported = typeof Float32Array === \"function\";\n function A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n function B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n }\n function C(aA1) {\n return 3.0 * aA1;\n }\n\n // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n function calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n }\n\n // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n function getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n }\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n return currentT;\n }\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) return aGuessT;\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n /**\r\n * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n */\n function BezierEasing(points) {\n this._p = points;\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n this._precomputed = false;\n this.get = this.get.bind(this);\n }\n BezierEasing.prototype = {\n get: function (x) {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n if (!this._precomputed) this._precompute();\n if (mX1 === mY1 && mX2 === mY2) return x; // linear\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n if (x === 0) return 0;\n if (x === 1) return 1;\n return calcBezier(this._getTForX(x), mY1, mY2);\n },\n // Private part\n\n _precompute: function () {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n this._precomputed = true;\n if (mX1 !== mY1 || mX2 !== mY2) this._calcSampleValues();\n },\n _calcSampleValues: function () {\n var mX1 = this._p[0],\n mX2 = this._p[2];\n for (var i = 0; i < kSplineTableSize; ++i) {\n this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n },\n /**\r\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n */\n _getTForX: function (aX) {\n var mX1 = this._p[0],\n mX2 = this._p[2],\n mSampleValues = this._mSampleValues;\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n\n // Interpolate to provide an initial guess for t\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n }\n };\n return ob;\n }();\n (function () {\n var lastTime = 0;\n var vendors = ['ms', 'moz', 'webkit', 'o'];\n for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\n window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\n window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];\n }\n if (!window.requestAnimationFrame) window.requestAnimationFrame = function (callback, element) {\n var currTime = new Date().getTime();\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\n var id = setTimeout(function () {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return id;\n };\n if (!window.cancelAnimationFrame) window.cancelAnimationFrame = function (id) {\n clearTimeout(id);\n };\n })();\n function extendPrototype(sources, destination) {\n var i,\n len = sources.length,\n sourcePrototype;\n for (i = 0; i < len; i += 1) {\n sourcePrototype = sources[i].prototype;\n for (var attr in sourcePrototype) {\n if (sourcePrototype.hasOwnProperty(attr)) destination.prototype[attr] = sourcePrototype[attr];\n }\n }\n }\n function getDescriptor(object, prop) {\n return Object.getOwnPropertyDescriptor(object, prop);\n }\n function createProxyFunction(prototype) {\n function ProxyFunction() {}\n ProxyFunction.prototype = prototype;\n return ProxyFunction;\n }\n function bezFunction() {\n var easingFunctions = [];\n var math = Math;\n function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n return det1 > -0.001 && det1 < 0.001;\n }\n function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n if (z1 === 0 && z2 === 0 && z3 === 0) {\n return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n }\n var dist1 = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2) + Math.pow(z2 - z1, 2));\n var dist2 = Math.sqrt(Math.pow(x3 - x1, 2) + Math.pow(y3 - y1, 2) + Math.pow(z3 - z1, 2));\n var dist3 = Math.sqrt(Math.pow(x3 - x2, 2) + Math.pow(y3 - y2, 2) + Math.pow(z3 - z2, 2));\n var diffDist;\n if (dist1 > dist2) {\n if (dist1 > dist3) {\n diffDist = dist1 - dist2 - dist3;\n } else {\n diffDist = dist3 - dist2 - dist1;\n }\n } else if (dist3 > dist2) {\n diffDist = dist3 - dist2 - dist1;\n } else {\n diffDist = dist2 - dist1 - dist3;\n }\n return diffDist > -0.0001 && diffDist < 0.0001;\n }\n var getBezierLength = function () {\n return function (pt1, pt2, pt3, pt4) {\n var curveSegments = defaultCurveSegments;\n var k;\n var i, len;\n var ptCoord,\n perc,\n addedLength = 0;\n var ptDistance;\n var point = [],\n lastPoint = [];\n var lengthData = bezier_length_pool.newElement();\n len = pt3.length;\n for (k = 0; k < curveSegments; k += 1) {\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n for (i = 0; i < len; i += 1) {\n ptCoord = bm_pow(1 - perc, 3) * pt1[i] + 3 * bm_pow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bm_pow(perc, 2) * pt4[i] + bm_pow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n if (lastPoint[i] !== null) {\n ptDistance += bm_pow(point[i] - lastPoint[i], 2);\n }\n lastPoint[i] = point[i];\n }\n if (ptDistance) {\n ptDistance = bm_sqrt(ptDistance);\n addedLength += ptDistance;\n }\n lengthData.percents[k] = perc;\n lengthData.lengths[k] = addedLength;\n }\n lengthData.addedLength = addedLength;\n return lengthData;\n };\n }();\n function getSegmentsLength(shapeData) {\n var segmentsLength = segments_length_pool.newElement();\n var closed = shapeData.c;\n var pathV = shapeData.v;\n var pathO = shapeData.o;\n var pathI = shapeData.i;\n var i,\n len = shapeData._length;\n var lengths = segmentsLength.lengths;\n var totalLength = 0;\n for (i = 0; i < len - 1; i += 1) {\n lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n totalLength += lengths[i].addedLength;\n }\n if (closed && len) {\n lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n totalLength += lengths[i].addedLength;\n }\n segmentsLength.totalLength = totalLength;\n return segmentsLength;\n }\n function BezierData(length) {\n this.segmentLength = 0;\n this.points = new Array(length);\n }\n function PointData(partial, point) {\n this.partialLength = partial;\n this.point = point;\n }\n var buildBezierData = function () {\n var storedData = {};\n return function (pt1, pt2, pt3, pt4) {\n var bezierName = (pt1[0] + '_' + pt1[1] + '_' + pt2[0] + '_' + pt2[1] + '_' + pt3[0] + '_' + pt3[1] + '_' + pt4[0] + '_' + pt4[1]).replace(/\\./g, 'p');\n if (!storedData[bezierName]) {\n var curveSegments = defaultCurveSegments;\n var k, i, len;\n var ptCoord,\n perc,\n addedLength = 0;\n var ptDistance;\n var point,\n lastPoint = null;\n if (pt1.length === 2 && (pt1[0] != pt2[0] || pt1[1] != pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n curveSegments = 2;\n }\n var bezierData = new BezierData(curveSegments);\n len = pt3.length;\n for (k = 0; k < curveSegments; k += 1) {\n point = createSizedArray(len);\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n for (i = 0; i < len; i += 1) {\n ptCoord = bm_pow(1 - perc, 3) * pt1[i] + 3 * bm_pow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bm_pow(perc, 2) * (pt2[i] + pt4[i]) + bm_pow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n if (lastPoint !== null) {\n ptDistance += bm_pow(point[i] - lastPoint[i], 2);\n }\n }\n ptDistance = bm_sqrt(ptDistance);\n addedLength += ptDistance;\n bezierData.points[k] = new PointData(ptDistance, point);\n lastPoint = point;\n }\n bezierData.segmentLength = addedLength;\n storedData[bezierName] = bezierData;\n }\n return storedData[bezierName];\n };\n }();\n function getDistancePerc(perc, bezierData) {\n var percents = bezierData.percents;\n var lengths = bezierData.lengths;\n var len = percents.length;\n var initPos = bm_floor((len - 1) * perc);\n var lengthPos = perc * bezierData.addedLength;\n var lPerc = 0;\n if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n return percents[initPos];\n } else {\n var dir = lengths[initPos] > lengthPos ? -1 : 1;\n var flag = true;\n while (flag) {\n if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n flag = false;\n } else {\n initPos += dir;\n }\n if (initPos < 0 || initPos >= len - 1) {\n //FIX for TypedArrays that don't store floating point values with enough accuracy\n if (initPos === len - 1) {\n return percents[initPos];\n }\n flag = false;\n }\n }\n return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n }\n }\n function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n var t1 = getDistancePerc(percent, bezierData);\n var u0 = 1;\n var u1 = 1 - t1;\n var ptX = Math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n var ptY = Math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n return [ptX, ptY];\n }\n function getSegmentArray() {}\n var bezier_segment_points = createTypedArray('float32', 8);\n function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n startPerc = startPerc < 0 ? 0 : startPerc > 1 ? 1 : startPerc;\n var t0 = getDistancePerc(startPerc, bezierData);\n endPerc = endPerc > 1 ? 1 : endPerc;\n var t1 = getDistancePerc(endPerc, bezierData);\n var i,\n len = pt1.length;\n var u0 = 1 - t0;\n var u1 = 1 - t1;\n var u0u0u0 = u0 * u0 * u0;\n var t0u0u0_3 = t0 * u0 * u0 * 3;\n var t0t0u0_3 = t0 * t0 * u0 * 3;\n var t0t0t0 = t0 * t0 * t0;\n //\n var u0u0u1 = u0 * u0 * u1;\n var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1;\n var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1;\n var t0t0t1 = t0 * t0 * t1;\n //\n var u0u1u1 = u0 * u1 * u1;\n var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1;\n var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1;\n var t0t1t1 = t0 * t1 * t1;\n //\n var u1u1u1 = u1 * u1 * u1;\n var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1;\n var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1;\n var t1t1t1 = t1 * t1 * t1;\n for (i = 0; i < len; i += 1) {\n bezier_segment_points[i * 4] = Math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000;\n bezier_segment_points[i * 4 + 1] = Math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000;\n bezier_segment_points[i * 4 + 2] = Math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000;\n bezier_segment_points[i * 4 + 3] = Math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000;\n }\n return bezier_segment_points;\n }\n return {\n getSegmentsLength: getSegmentsLength,\n getNewSegment: getNewSegment,\n getPointInSegment: getPointInSegment,\n buildBezierData: buildBezierData,\n pointOnLine2D: pointOnLine2D,\n pointOnLine3D: pointOnLine3D\n };\n }\n var bez = bezFunction();\n function dataFunctionManager() {\n //var tCanvasHelper = createTag('canvas').getContext('2d');\n\n function completeLayers(layers, comps, fontManager) {\n var layerData;\n var animArray, lastFrame;\n var i,\n len = layers.length;\n var j, jLen, k, kLen;\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n if (!('ks' in layerData) || layerData.completed) {\n continue;\n }\n layerData.completed = true;\n if (layerData.tt) {\n layers[i - 1].td = layerData.tt;\n }\n animArray = [];\n lastFrame = -1;\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k);\n } else {\n kLen = maskProps[j].pt.k.length;\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n }\n if (maskProps[j].pt.k[k].e) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n }\n }\n }\n }\n }\n if (layerData.ty === 0) {\n layerData.layers = findCompLayers(layerData.refId, comps);\n completeLayers(layerData.layers, comps, fontManager);\n } else if (layerData.ty === 4) {\n completeShapes(layerData.shapes);\n } else if (layerData.ty == 5) {\n completeText(layerData, fontManager);\n }\n }\n }\n function findCompLayers(id, comps) {\n var i = 0,\n len = comps.length;\n while (i < len) {\n if (comps[i].id === id) {\n if (!comps[i].layers.__used) {\n comps[i].layers.__used = true;\n return comps[i].layers;\n }\n return JSON.parse(JSON.stringify(comps[i].layers));\n }\n i += 1;\n }\n }\n function completeShapes(arr) {\n var i,\n len = arr.length;\n var j, jLen;\n var hasPaths = false;\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty == 'sh') {\n if (arr[i].ks.k.i) {\n convertPathsToAbsoluteValues(arr[i].ks.k);\n } else {\n jLen = arr[i].ks.k.length;\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n }\n if (arr[i].ks.k[j].e) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n }\n }\n }\n hasPaths = true;\n } else if (arr[i].ty == 'gr') {\n completeShapes(arr[i].it);\n }\n }\n /*if(hasPaths){\r\n //mx: distance\r\n //ss: sensitivity\r\n //dc: decay\r\n arr.splice(arr.length-1,0,{\r\n \"ty\": \"ms\",\r\n \"mx\":20,\r\n \"ss\":10,\r\n \"dc\":0.001,\r\n \"maxDist\":200\r\n });\r\n }*/\n }\n function convertPathsToAbsoluteValues(path) {\n var i,\n len = path.i.length;\n for (i = 0; i < len; i += 1) {\n path.i[i][0] += path.v[i][0];\n path.i[i][1] += path.v[i][1];\n path.o[i][0] += path.v[i][0];\n path.o[i][1] += path.v[i][1];\n }\n }\n function checkVersion(minimum, animVersionString) {\n var animVersion = animVersionString ? animVersionString.split('.') : [100, 100, 100];\n if (minimum[0] > animVersion[0]) {\n return true;\n } else if (animVersion[0] > minimum[0]) {\n return false;\n }\n if (minimum[1] > animVersion[1]) {\n return true;\n } else if (animVersion[1] > minimum[1]) {\n return false;\n }\n if (minimum[2] > animVersion[2]) {\n return true;\n } else if (animVersion[2] > minimum[2]) {\n return false;\n }\n }\n var checkText = function () {\n var minimumVersion = [4, 4, 14];\n function updateTextLayer(textLayer) {\n var documentData = textLayer.t.d;\n textLayer.t.d = {\n k: [{\n s: documentData,\n t: 0\n }]\n };\n }\n function iterateLayers(layers) {\n var i,\n len = layers.length;\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n if (animationData.assets) {\n var i,\n len = animationData.assets.length;\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n var checkChars = function () {\n var minimumVersion = [4, 7, 99];\n return function (animationData) {\n if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n var i,\n len = animationData.chars.length,\n j,\n jLen,\n k,\n kLen;\n var pathData, paths;\n for (i = 0; i < len; i += 1) {\n if (animationData.chars[i].data && animationData.chars[i].data.shapes) {\n paths = animationData.chars[i].data.shapes[0].it;\n jLen = paths.length;\n for (j = 0; j < jLen; j += 1) {\n pathData = paths[j].ks.k;\n if (!pathData.__converted) {\n convertPathsToAbsoluteValues(paths[j].ks.k);\n pathData.__converted = true;\n }\n }\n }\n }\n }\n };\n }();\n var checkColors = function () {\n var minimumVersion = [4, 1, 9];\n function iterateShapes(shapes) {\n var i,\n len = shapes.length;\n var j, jLen;\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n iterateShapes(shapes[i].it);\n } else if (shapes[i].ty === 'fl' || shapes[i].ty === 'st') {\n if (shapes[i].c.k && shapes[i].c.k[0].i) {\n jLen = shapes[i].c.k.length;\n for (j = 0; j < jLen; j += 1) {\n if (shapes[i].c.k[j].s) {\n shapes[i].c.k[j].s[0] /= 255;\n shapes[i].c.k[j].s[1] /= 255;\n shapes[i].c.k[j].s[2] /= 255;\n shapes[i].c.k[j].s[3] /= 255;\n }\n if (shapes[i].c.k[j].e) {\n shapes[i].c.k[j].e[0] /= 255;\n shapes[i].c.k[j].e[1] /= 255;\n shapes[i].c.k[j].e[2] /= 255;\n shapes[i].c.k[j].e[3] /= 255;\n }\n }\n } else {\n shapes[i].c.k[0] /= 255;\n shapes[i].c.k[1] /= 255;\n shapes[i].c.k[2] /= 255;\n shapes[i].c.k[3] /= 255;\n }\n }\n }\n }\n function iterateLayers(layers) {\n var i,\n len = layers.length;\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 4) {\n iterateShapes(layers[i].shapes);\n }\n }\n }\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n if (animationData.assets) {\n var i,\n len = animationData.assets.length;\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n var checkShapes = function () {\n var minimumVersion = [4, 4, 18];\n function completeShapes(arr) {\n var i,\n len = arr.length;\n var j, jLen;\n var hasPaths = false;\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty == 'sh') {\n if (arr[i].ks.k.i) {\n arr[i].ks.k.c = arr[i].closed;\n } else {\n jLen = arr[i].ks.k.length;\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n arr[i].ks.k[j].s[0].c = arr[i].closed;\n }\n if (arr[i].ks.k[j].e) {\n arr[i].ks.k[j].e[0].c = arr[i].closed;\n }\n }\n }\n hasPaths = true;\n } else if (arr[i].ty == 'gr') {\n completeShapes(arr[i].it);\n }\n }\n }\n function iterateLayers(layers) {\n var layerData;\n var i,\n len = layers.length;\n var j, jLen, k, kLen;\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n maskProps[j].pt.k.c = maskProps[j].cl;\n } else {\n kLen = maskProps[j].pt.k.length;\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n }\n if (maskProps[j].pt.k[k].e) {\n maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n }\n }\n }\n }\n }\n if (layerData.ty === 4) {\n completeShapes(layerData.shapes);\n }\n }\n }\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n if (animationData.assets) {\n var i,\n len = animationData.assets.length;\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n function completeData(animationData, fontManager) {\n if (animationData.__complete) {\n return;\n }\n checkColors(animationData);\n checkText(animationData);\n checkChars(animationData);\n checkShapes(animationData);\n completeLayers(animationData.layers, animationData.assets, fontManager);\n animationData.__complete = true;\n //blitAnimation(animationData, animationData.assets, fontManager);\n }\n function completeText(data, fontManager) {\n if (data.t.a.length === 0 && !('m' in data.t.p)) {\n data.singleShape = true;\n }\n }\n var moduleOb = {};\n moduleOb.completeData = completeData;\n moduleOb.checkColors = checkColors;\n moduleOb.checkChars = checkChars;\n moduleOb.checkShapes = checkShapes;\n moduleOb.completeLayers = completeLayers;\n return moduleOb;\n }\n var dataManager = dataFunctionManager();\n var FontManager = function () {\n var maxWaitingTime = 5000;\n var emptyChar = {\n w: 0,\n size: 0,\n shapes: []\n };\n var combinedCharacters = [];\n //Hindi characters\n combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n function trimFontOptions(font) {\n var familyArray = font.split(',');\n var i,\n len = familyArray.length;\n var enabledFamilies = [];\n for (i = 0; i < len; i += 1) {\n if (familyArray[i] !== 'sans-serif' && familyArray[i] !== 'monospace') {\n enabledFamilies.push(familyArray[i]);\n }\n }\n return enabledFamilies.join(',');\n }\n function setUpNode(font, family) {\n var parentNode = createTag('span');\n parentNode.style.fontFamily = family;\n var node = createTag('span');\n // Characters that vary significantly among different fonts\n node.innerText = 'giItT1WQy@!-/#';\n // Visible - so we can measure it - but not on the screen\n parentNode.style.position = 'absolute';\n parentNode.style.left = '-10000px';\n parentNode.style.top = '-10000px';\n // Large font size makes even subtle changes obvious\n parentNode.style.fontSize = '300px';\n // Reset any font properties\n parentNode.style.fontVariant = 'normal';\n parentNode.style.fontStyle = 'normal';\n parentNode.style.fontWeight = 'normal';\n parentNode.style.letterSpacing = '0';\n parentNode.appendChild(node);\n document.body.appendChild(parentNode);\n\n // Remember width with no applied web font\n var width = node.offsetWidth;\n node.style.fontFamily = trimFontOptions(font) + ', ' + family;\n return {\n node: node,\n w: width,\n parent: parentNode\n };\n }\n function checkLoadedFonts() {\n var i,\n len = this.fonts.length;\n var node, w;\n var loadedCount = len;\n for (i = 0; i < len; i += 1) {\n if (this.fonts[i].loaded) {\n loadedCount -= 1;\n continue;\n }\n if (this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0) {\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].monoCase.node;\n w = this.fonts[i].monoCase.w;\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].sansCase.node;\n w = this.fonts[i].sansCase.w;\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n }\n }\n if (this.fonts[i].loaded) {\n this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);\n this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);\n }\n }\n }\n if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) {\n setTimeout(this.checkLoadedFontsBinded, 20);\n } else {\n setTimeout(this.setIsLoadedBinded, 10);\n }\n }\n function createHelper(def, fontData) {\n var tHelper = createNS('text');\n tHelper.style.fontSize = '100px';\n //tHelper.style.fontFamily = fontData.fFamily;\n tHelper.setAttribute('font-family', fontData.fFamily);\n tHelper.setAttribute('font-style', fontData.fStyle);\n tHelper.setAttribute('font-weight', fontData.fWeight);\n tHelper.textContent = '1';\n if (fontData.fClass) {\n tHelper.style.fontFamily = 'inherit';\n tHelper.setAttribute('class', fontData.fClass);\n } else {\n tHelper.style.fontFamily = fontData.fFamily;\n }\n def.appendChild(tHelper);\n var tCanvasHelper = createTag('canvas').getContext('2d');\n tCanvasHelper.font = fontData.fWeight + ' ' + fontData.fStyle + ' 100px ' + fontData.fFamily;\n //tCanvasHelper.font = ' 100px '+ fontData.fFamily;\n return tHelper;\n }\n function addFonts(fontData, defs) {\n if (!fontData) {\n this.isLoaded = true;\n return;\n }\n if (this.chars) {\n this.isLoaded = true;\n this.fonts = fontData.list;\n return;\n }\n var fontArr = fontData.list;\n var i,\n len = fontArr.length;\n var _pendingFonts = len;\n for (i = 0; i < len; i += 1) {\n var shouldLoadFont = true;\n var loadedSelector;\n var j;\n fontArr[i].loaded = false;\n fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, 'monospace');\n fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, 'sans-serif');\n if (!fontArr[i].fPath) {\n fontArr[i].loaded = true;\n _pendingFonts -= 1;\n } else if (fontArr[i].fOrigin === 'p' || fontArr[i].origin === 3) {\n loadedSelector = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + fontArr[i].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + fontArr[i].fFamily + '\"]');\n if (loadedSelector.length > 0) {\n shouldLoadFont = false;\n }\n if (shouldLoadFont) {\n var s = createTag('style');\n s.setAttribute('f-forigin', fontArr[i].fOrigin);\n s.setAttribute('f-origin', fontArr[i].origin);\n s.setAttribute('f-family', fontArr[i].fFamily);\n s.type = \"text/css\";\n s.innerText = \"@font-face {\" + \"font-family: \" + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n defs.appendChild(s);\n }\n } else if (fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1) {\n loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\n for (j = 0; j < loadedSelector.length; j++) {\n if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n if (shouldLoadFont) {\n var l = createTag('link');\n l.setAttribute('f-forigin', fontArr[i].fOrigin);\n l.setAttribute('f-origin', fontArr[i].origin);\n l.type = \"text/css\";\n l.rel = \"stylesheet\";\n l.href = fontArr[i].fPath;\n document.body.appendChild(l);\n }\n } else if (fontArr[i].fOrigin === 't' || fontArr[i].origin === 2) {\n loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\n for (j = 0; j < loadedSelector.length; j++) {\n if (fontArr[i].fPath === loadedSelector[j].src) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n if (shouldLoadFont) {\n var sc = createTag('link');\n sc.setAttribute('f-forigin', fontArr[i].fOrigin);\n sc.setAttribute('f-origin', fontArr[i].origin);\n sc.setAttribute('rel', 'stylesheet');\n sc.setAttribute('href', fontArr[i].fPath);\n defs.appendChild(sc);\n }\n }\n fontArr[i].helper = createHelper(defs, fontArr[i]);\n fontArr[i].cache = {};\n this.fonts.push(fontArr[i]);\n }\n if (_pendingFonts === 0) {\n this.isLoaded = true;\n } else {\n //On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n //Adding this timeout seems to fix it\n setTimeout(this.checkLoadedFonts.bind(this), 100);\n }\n }\n function addChars(chars) {\n if (!chars) {\n return;\n }\n if (!this.chars) {\n this.chars = [];\n }\n var i,\n len = chars.length;\n var j,\n jLen = this.chars.length,\n found;\n for (i = 0; i < len; i += 1) {\n j = 0;\n found = false;\n while (j < jLen) {\n if (this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) {\n found = true;\n }\n j += 1;\n }\n if (!found) {\n this.chars.push(chars[i]);\n jLen += 1;\n }\n }\n }\n function getCharData(char, style, font) {\n var i = 0,\n len = this.chars.length;\n while (i < len) {\n if (this.chars[i].ch === char && this.chars[i].style === style && this.chars[i].fFamily === font) {\n return this.chars[i];\n }\n i += 1;\n }\n if ((typeof char === 'string' && char.charCodeAt(0) !== 13 || !char) && console && console.warn) {\n console.warn('Missing character from exported characters list: ', char, style, font);\n }\n return emptyChar;\n }\n function measureText(char, fontName, size) {\n var fontData = this.getFontByName(fontName);\n var index = char.charCodeAt(0);\n if (!fontData.cache[index + 1]) {\n var tHelper = fontData.helper;\n //Canvas version\n //fontData.cache[index] = tHelper.measureText(char).width / 100;\n //SVG version\n //console.log(tHelper.getBBox().width)\n if (char === ' ') {\n tHelper.textContent = '|' + char + '|';\n var doubleSize = tHelper.getComputedTextLength();\n tHelper.textContent = '||';\n var singleSize = tHelper.getComputedTextLength();\n fontData.cache[index + 1] = (doubleSize - singleSize) / 100;\n } else {\n tHelper.textContent = char;\n fontData.cache[index + 1] = tHelper.getComputedTextLength() / 100;\n }\n }\n return fontData.cache[index + 1] * size;\n }\n function getFontByName(name) {\n var i = 0,\n len = this.fonts.length;\n while (i < len) {\n if (this.fonts[i].fName === name) {\n return this.fonts[i];\n }\n i += 1;\n }\n return this.fonts[0];\n }\n function getCombinedCharacterCodes() {\n return combinedCharacters;\n }\n function setIsLoaded() {\n this.isLoaded = true;\n }\n var Font = function () {\n this.fonts = [];\n this.chars = null;\n this.typekitLoaded = 0;\n this.isLoaded = false;\n this.initTime = Date.now();\n this.setIsLoadedBinded = this.setIsLoaded.bind(this);\n this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n //TODO: for now I'm adding these methods to the Class and not the prototype. Think of a better way to implement it. \n Font.getCombinedCharacterCodes = getCombinedCharacterCodes;\n var fontPrototype = {\n addChars: addChars,\n addFonts: addFonts,\n getCharData: getCharData,\n getFontByName: getFontByName,\n measureText: measureText,\n checkLoadedFonts: checkLoadedFonts,\n setIsLoaded: setIsLoaded\n };\n Font.prototype = fontPrototype;\n return Font;\n }();\n var PropertyFactory = function () {\n var initFrame = initialDefaultFrame;\n var math_abs = Math.abs;\n function interpolateValue(frameNum, caching) {\n var offsetTime = this.offsetTime;\n var newValue;\n if (this.propType === 'multidimensional') {\n newValue = createTypedArray('float32', this.pv.length);\n }\n var iterationIndex = caching.lastIndex;\n var i = iterationIndex;\n var len = this.keyframes.length - 1,\n flag = true;\n var keyData, nextKeyData;\n while (flag) {\n keyData = this.keyframes[i];\n nextKeyData = this.keyframes[i + 1];\n if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n if (keyData.h) {\n keyData = nextKeyData;\n }\n iterationIndex = 0;\n break;\n }\n if (nextKeyData.t - offsetTime > frameNum) {\n iterationIndex = i;\n break;\n }\n if (i < len - 1) {\n i += 1;\n } else {\n iterationIndex = 0;\n flag = false;\n }\n }\n var k, kLen, perc, jLen, j, fnc;\n var nextKeyTime = nextKeyData.t - offsetTime;\n var keyTime = keyData.t - offsetTime;\n var endValue;\n if (keyData.to) {\n if (!keyData.bezierData) {\n keyData.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n }\n var bezierData = keyData.bezierData;\n if (frameNum >= nextKeyTime || frameNum < keyTime) {\n var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n kLen = bezierData.points[ind].point.length;\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[ind].point[k];\n }\n // caching._lastKeyframeIndex = -1;\n } else {\n if (keyData.__fnct) {\n fnc = keyData.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n keyData.__fnct = fnc;\n }\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n var distanceInLine = bezierData.segmentLength * perc;\n var segmentPerc;\n var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n flag = true;\n jLen = bezierData.points.length;\n while (flag) {\n addedLength += bezierData.points[j].partialLength;\n if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n kLen = bezierData.points[j].point.length;\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k];\n }\n break;\n } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n kLen = bezierData.points[j].point.length;\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n }\n break;\n }\n if (j < jLen - 1) {\n j += 1;\n } else {\n flag = false;\n }\n }\n caching._lastPoint = j;\n caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n caching._lastKeyframeIndex = i;\n }\n } else {\n var outX, outY, inX, inY, keyValue;\n len = keyData.s.length;\n endValue = nextKeyData.s || keyData.e;\n if (this.sh && keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n newValue[0] = endValue[0];\n newValue[1] = endValue[1];\n newValue[2] = endValue[2];\n } else if (frameNum <= keyTime) {\n newValue[0] = keyData.s[0];\n newValue[1] = keyData.s[1];\n newValue[2] = keyData.s[2];\n } else {\n var quatStart = createQuaternion(keyData.s);\n var quatEnd = createQuaternion(endValue);\n var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n }\n } else {\n for (i = 0; i < len; i += 1) {\n if (keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n perc = 1;\n } else if (frameNum < keyTime) {\n perc = 0;\n } else {\n if (keyData.o.x.constructor === Array) {\n if (!keyData.__fnct) {\n keyData.__fnct = [];\n }\n if (!keyData.__fnct[i]) {\n outX = typeof keyData.o.x[i] === 'undefined' ? keyData.o.x[0] : keyData.o.x[i];\n outY = typeof keyData.o.y[i] === 'undefined' ? keyData.o.y[0] : keyData.o.y[i];\n inX = typeof keyData.i.x[i] === 'undefined' ? keyData.i.x[0] : keyData.i.x[i];\n inY = typeof keyData.i.y[i] === 'undefined' ? keyData.i.y[0] : keyData.i.y[i];\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyData.__fnct[i] = fnc;\n } else {\n fnc = keyData.__fnct[i];\n }\n } else {\n if (!keyData.__fnct) {\n outX = keyData.o.x;\n outY = keyData.o.y;\n inX = keyData.i.x;\n inY = keyData.i.y;\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyData.__fnct = fnc;\n } else {\n fnc = keyData.__fnct;\n }\n }\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n }\n }\n endValue = nextKeyData.s || keyData.e;\n keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n if (this.propType === 'multidimensional') {\n newValue[i] = keyValue;\n } else {\n newValue = keyValue;\n }\n }\n }\n }\n caching.lastIndex = iterationIndex;\n return newValue;\n }\n\n //based on @Toji's https://github.com/toji/gl-matrix/\n function slerp(a, b, t) {\n var out = [];\n var ax = a[0],\n ay = a[1],\n az = a[2],\n aw = a[3],\n bx = b[0],\n by = b[1],\n bz = b[2],\n bw = b[3];\n var omega, cosom, sinom, scale0, scale1;\n cosom = ax * bx + ay * by + az * bz + aw * bw;\n if (cosom < 0.0) {\n cosom = -cosom;\n bx = -bx;\n by = -by;\n bz = -bz;\n bw = -bw;\n }\n if (1.0 - cosom > 0.000001) {\n omega = Math.acos(cosom);\n sinom = Math.sin(omega);\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\n scale1 = Math.sin(t * omega) / sinom;\n } else {\n scale0 = 1.0 - t;\n scale1 = t;\n }\n out[0] = scale0 * ax + scale1 * bx;\n out[1] = scale0 * ay + scale1 * by;\n out[2] = scale0 * az + scale1 * bz;\n out[3] = scale0 * aw + scale1 * bw;\n return out;\n }\n function quaternionToEuler(out, quat) {\n var qx = quat[0];\n var qy = quat[1];\n var qz = quat[2];\n var qw = quat[3];\n var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n out[0] = heading / degToRads;\n out[1] = attitude / degToRads;\n out[2] = bank / degToRads;\n }\n function createQuaternion(values) {\n var heading = values[0] * degToRads;\n var attitude = values[1] * degToRads;\n var bank = values[2] * degToRads;\n var c1 = Math.cos(heading / 2);\n var c2 = Math.cos(attitude / 2);\n var c3 = Math.cos(bank / 2);\n var s1 = Math.sin(heading / 2);\n var s2 = Math.sin(attitude / 2);\n var s3 = Math.sin(bank / 2);\n var w = c1 * c2 * c3 - s1 * s2 * s3;\n var x = s1 * s2 * c3 + c1 * c2 * s3;\n var y = s1 * c2 * c3 + c1 * s2 * s3;\n var z = c1 * s2 * c3 - s1 * c2 * s3;\n return [x, y, z, w];\n }\n function getValueAtCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n if (!(frameNum === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= endTime && frameNum >= endTime || this._caching.lastFrame < initTime && frameNum < initTime))) {\n if (this._caching.lastFrame >= frameNum) {\n this._caching._lastKeyframeIndex = -1;\n this._caching.lastIndex = 0;\n }\n var renderResult = this.interpolateValue(frameNum, this._caching);\n this.pv = renderResult;\n }\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n function setVValue(val) {\n var multipliedValue;\n if (this.propType === 'unidimensional') {\n multipliedValue = val * this.mult;\n if (math_abs(this.v - multipliedValue) > 0.00001) {\n this.v = multipliedValue;\n this._mdf = true;\n }\n } else {\n var i = 0,\n len = this.v.length;\n while (i < len) {\n multipliedValue = val[i] * this.mult;\n if (math_abs(this.v[i] - multipliedValue) > 0.00001) {\n this.v[i] = multipliedValue;\n this._mdf = true;\n }\n i += 1;\n }\n }\n }\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\n return;\n }\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n this.lock = true;\n this._mdf = this._isFirstFrame;\n var multipliedValue;\n var i,\n len = this.effectsSequence.length;\n var finalValue = this.kf ? this.pv : this.data.k;\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n this.setVValue(finalValue);\n this._isFirstFrame = false;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n function ValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.mult = mult || 1;\n this.data = data;\n this.v = mult ? data.k * mult : data.k;\n this.pv = data.k;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.vel = 0;\n this.effectsSequence = [];\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n function MultiDimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n this.mult = mult || 1;\n this.data = data;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.frameId = -1;\n var i,\n len = data.k.length;\n this.v = createTypedArray('float32', len);\n this.pv = createTypedArray('float32', len);\n var arr = createTypedArray('float32', len);\n this.vel = createTypedArray('float32', len);\n for (i = 0; i < len; i += 1) {\n this.v[i] = data.k[i] * this.mult;\n this.pv[i] = data.k[i];\n }\n this._isFirstFrame = true;\n this.effectsSequence = [];\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n function KeyframedValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.keyframes = data.k;\n this.offsetTime = elem.data.st;\n this.frameId = -1;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: 0,\n _lastKeyframeIndex: -1\n };\n this.k = true;\n this.kf = true;\n this.data = data;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.v = initFrame;\n this.pv = initFrame;\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.addEffect = addEffect;\n }\n function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n var i,\n len = data.k.length;\n var s, e, to, ti;\n for (i = 0; i < len - 1; i += 1) {\n if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n s = data.k[i].s;\n e = data.k[i + 1].s;\n to = data.k[i].to;\n ti = data.k[i].ti;\n if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n }\n }\n }\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.keyframes = data.k;\n this.offsetTime = elem.data.st;\n this.k = true;\n this.kf = true;\n this._isFirstFrame = true;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.frameId = -1;\n var arrLen = data.k[0].s.length;\n this.v = createTypedArray('float32', arrLen);\n this.pv = createTypedArray('float32', arrLen);\n for (i = 0; i < arrLen; i += 1) {\n this.v[i] = initFrame;\n this.pv[i] = initFrame;\n }\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: createTypedArray('float32', arrLen)\n };\n this.addEffect = addEffect;\n }\n function getProp(elem, data, type, mult, container) {\n var p;\n if (!data.k.length) {\n p = new ValueProperty(elem, data, mult, container);\n } else if (typeof data.k[0] === 'number') {\n p = new MultiDimensionalProperty(elem, data, mult, container);\n } else {\n switch (type) {\n case 0:\n p = new KeyframedValueProperty(elem, data, mult, container);\n break;\n case 1:\n p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n break;\n }\n }\n if (p.effectsSequence.length) {\n container.addDynamicProperty(p);\n }\n return p;\n }\n var ob = {\n getProp: getProp\n };\n return ob;\n }();\n var TransformPropertyFactory = function () {\n var defaultVector = [0, 0];\n function applyToMatrix(mat) {\n var _mdf = this._mdf;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || _mdf;\n if (this.a) {\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n if (this.s) {\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n if (this.sk) {\n mat.skewFromAxis(-this.sk.v, this.sa.v);\n }\n if (this.r) {\n mat.rotate(-this.r.v);\n } else {\n mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n if (this.data.p.s) {\n if (this.data.p.z) {\n mat.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n mat.translate(this.px.v, this.py.v, 0);\n }\n } else {\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n function processKeys(forceRender) {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n if (this._isDirty) {\n this.precalculateMatrix();\n this._isDirty = false;\n }\n this.iterateDynamicProperties();\n if (this._mdf || forceRender) {\n this.v.cloneFromProps(this.pre.props);\n if (this.appliedTransformations < 1) {\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n if (this.appliedTransformations < 2) {\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n if (this.sk && this.appliedTransformations < 3) {\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\n }\n if (this.r && this.appliedTransformations < 4) {\n this.v.rotate(-this.r.v);\n } else if (!this.r && this.appliedTransformations < 4) {\n this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n if (this.autoOriented) {\n var v1,\n v2,\n frameRate = this.elem.globalData.frameRate;\n if (this.p && this.p.keyframes && this.p.getValueAtTime) {\n if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate, 0);\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\n } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\n v1 = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / frameRate, 0);\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n } else {\n v1 = this.p.pv;\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\n }\n } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n v1 = [];\n v2 = [];\n var px = this.px,\n py = this.py,\n frameRate;\n if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n } else {\n v1 = [px.pv, py.pv];\n v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n }\n } else {\n v1 = v2 = defaultVector;\n }\n this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n }\n if (this.data.p && this.data.p.s) {\n if (this.data.p.z) {\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n this.v.translate(this.px.v, this.py.v, 0);\n }\n } else {\n this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n this.frameId = this.elem.globalData.frameId;\n }\n function precalculateMatrix() {\n if (!this.a.k) {\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n this.appliedTransformations = 1;\n } else {\n return;\n }\n if (!this.s.effectsSequence.length) {\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n this.appliedTransformations = 2;\n } else {\n return;\n }\n if (this.sk) {\n if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\n this.appliedTransformations = 3;\n } else {\n return;\n }\n }\n if (this.r) {\n if (!this.r.effectsSequence.length) {\n this.pre.rotate(-this.r.v);\n this.appliedTransformations = 4;\n } else {\n return;\n }\n } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\n this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n this.appliedTransformations = 4;\n }\n }\n function autoOrient() {\n //\n //var prevP = this.getValueAtTime();\n }\n function addDynamicProperty(prop) {\n this._addDynamicProperty(prop);\n this.elem.addDynamicProperty(prop);\n this._isDirty = true;\n }\n function TransformProperty(elem, data, container) {\n this.elem = elem;\n this.frameId = -1;\n this.propType = 'transform';\n this.data = data;\n this.v = new Matrix();\n //Precalculated matrix with non animated properties\n this.pre = new Matrix();\n this.appliedTransformations = 0;\n this.initDynamicPropertyContainer(container || elem);\n if (data.p && data.p.s) {\n this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this);\n this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this);\n if (data.p.z) {\n this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this);\n }\n } else {\n this.p = PropertyFactory.getProp(elem, data.p || {\n k: [0, 0, 0]\n }, 1, 0, this);\n }\n if (data.rx) {\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\n if (data.or.k[0].ti) {\n var i,\n len = data.or.k.length;\n for (i = 0; i < len; i += 1) {\n data.or.k[i].to = data.or.k[i].ti = null;\n }\n }\n this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this);\n //sh Indicates it needs to be capped between -180 and 180\n this.or.sh = true;\n } else {\n this.r = PropertyFactory.getProp(elem, data.r || {\n k: 0\n }, 0, degToRads, this);\n }\n if (data.sk) {\n this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);\n this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);\n }\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: [0, 0, 0]\n }, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: [100, 100, 100]\n }, 1, 0.01, this);\n // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n if (data.o) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n } else {\n this.o = {\n _mdf: false,\n v: 1\n };\n }\n this._isDirty = true;\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n }\n TransformProperty.prototype = {\n applyToMatrix: applyToMatrix,\n getValue: processKeys,\n precalculateMatrix: precalculateMatrix,\n autoOrient: autoOrient\n };\n extendPrototype([DynamicPropertyContainer], TransformProperty);\n TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n function getTransformProperty(elem, data, container) {\n return new TransformProperty(elem, data, container);\n }\n return {\n getTransformProperty: getTransformProperty\n };\n }();\n function ShapePath() {\n this.c = false;\n this._length = 0;\n this._maxLength = 8;\n this.v = createSizedArray(this._maxLength);\n this.o = createSizedArray(this._maxLength);\n this.i = createSizedArray(this._maxLength);\n }\n ShapePath.prototype.setPathData = function (closed, len) {\n this.c = closed;\n this.setLength(len);\n var i = 0;\n while (i < len) {\n this.v[i] = point_pool.newElement();\n this.o[i] = point_pool.newElement();\n this.i[i] = point_pool.newElement();\n i += 1;\n }\n };\n ShapePath.prototype.setLength = function (len) {\n while (this._maxLength < len) {\n this.doubleArrayLength();\n }\n this._length = len;\n };\n ShapePath.prototype.doubleArrayLength = function () {\n this.v = this.v.concat(createSizedArray(this._maxLength));\n this.i = this.i.concat(createSizedArray(this._maxLength));\n this.o = this.o.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n };\n ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n var arr;\n this._length = Math.max(this._length, pos + 1);\n if (this._length >= this._maxLength) {\n this.doubleArrayLength();\n }\n switch (type) {\n case 'v':\n arr = this.v;\n break;\n case 'i':\n arr = this.i;\n break;\n case 'o':\n arr = this.o;\n break;\n }\n if (!arr[pos] || arr[pos] && !replace) {\n arr[pos] = point_pool.newElement();\n }\n arr[pos][0] = x;\n arr[pos][1] = y;\n };\n ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n this.setXYAt(vX, vY, 'v', pos, replace);\n this.setXYAt(oX, oY, 'o', pos, replace);\n this.setXYAt(iX, iY, 'i', pos, replace);\n };\n ShapePath.prototype.reverse = function () {\n var newPath = new ShapePath();\n newPath.setPathData(this.c, this._length);\n var vertices = this.v,\n outPoints = this.o,\n inPoints = this.i;\n var init = 0;\n if (this.c) {\n newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n init = 1;\n }\n var cnt = this._length - 1;\n var len = this._length;\n var i;\n for (i = init; i < len; i += 1) {\n newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n cnt -= 1;\n }\n return newPath;\n };\n var ShapePropertyFactory = function () {\n var initFrame = -999999;\n function interpolateShape(frameNum, previousValue, caching) {\n var iterationIndex = caching.lastIndex;\n var keyPropS, keyPropE, isHold, j, k, jLen, kLen, perc, vertexValue;\n var kf = this.keyframes;\n if (frameNum < kf[0].t - this.offsetTime) {\n keyPropS = kf[0].s[0];\n isHold = true;\n iterationIndex = 0;\n } else if (frameNum >= kf[kf.length - 1].t - this.offsetTime) {\n keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n /*if(kf[kf.length - 1].s){\r\n keyPropS = kf[kf.length - 1].s[0];\r\n }else{\r\n keyPropS = kf[kf.length - 2].e[0];\r\n }*/\n isHold = true;\n } else {\n var i = iterationIndex;\n var len = kf.length - 1,\n flag = true,\n keyData,\n nextKeyData;\n while (flag) {\n keyData = kf[i];\n nextKeyData = kf[i + 1];\n if (nextKeyData.t - this.offsetTime > frameNum) {\n break;\n }\n if (i < len - 1) {\n i += 1;\n } else {\n flag = false;\n }\n }\n isHold = keyData.h === 1;\n iterationIndex = i;\n if (!isHold) {\n if (frameNum >= nextKeyData.t - this.offsetTime) {\n perc = 1;\n } else if (frameNum < keyData.t - this.offsetTime) {\n perc = 0;\n } else {\n var fnc;\n if (keyData.__fnct) {\n fnc = keyData.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n keyData.__fnct = fnc;\n }\n perc = fnc((frameNum - (keyData.t - this.offsetTime)) / (nextKeyData.t - this.offsetTime - (keyData.t - this.offsetTime)));\n }\n keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n }\n keyPropS = keyData.s[0];\n }\n jLen = previousValue._length;\n kLen = keyPropS.i[0].length;\n caching.lastIndex = iterationIndex;\n for (j = 0; j < jLen; j += 1) {\n for (k = 0; k < kLen; k += 1) {\n vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n previousValue.i[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n previousValue.o[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n previousValue.v[j][k] = vertexValue;\n }\n }\n }\n function interpolateShapeCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n var lastFrame = this._caching.lastFrame;\n if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n ////\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\n this.interpolateShape(frameNum, this.pv, this._caching);\n ////\n }\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n function resetShape() {\n this.paths = this.localShapeCollection;\n }\n function shapesEqual(shape1, shape2) {\n if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n return false;\n }\n var i,\n len = shape1._length;\n for (i = 0; i < len; i += 1) {\n if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n return false;\n }\n }\n return true;\n }\n function setVValue(newPath) {\n if (!shapesEqual(this.v, newPath)) {\n this.v = shape_pool.clone(newPath);\n this.localShapeCollection.releaseShapes();\n this.localShapeCollection.addShape(this.v);\n this._mdf = true;\n this.paths = this.localShapeCollection;\n }\n }\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n } else if (!this.effectsSequence.length) {\n this._mdf = false;\n return;\n }\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n this.lock = true;\n this._mdf = false;\n var finalValue = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k;\n var i,\n len = this.effectsSequence.length;\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n this.setVValue(finalValue);\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n ;\n function ShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.container = elem;\n this.elem = elem;\n this.data = data;\n this.k = false;\n this.kf = false;\n this._mdf = false;\n var pathData = type === 3 ? data.pt.k : data.ks.k;\n this.v = shape_pool.clone(pathData);\n this.pv = shape_pool.clone(this.v);\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.reset = resetShape;\n this.effectsSequence = [];\n }\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n ShapeProperty.prototype.interpolateShape = interpolateShape;\n ShapeProperty.prototype.getValue = processEffectsSequence;\n ShapeProperty.prototype.setVValue = setVValue;\n ShapeProperty.prototype.addEffect = addEffect;\n function KeyframedShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.elem = elem;\n this.container = elem;\n this.offsetTime = elem.data.st;\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\n this.k = true;\n this.kf = true;\n var i,\n len = this.keyframes[0].s[0].i.length;\n var jLen = this.keyframes[0].s[0].i[0].length;\n this.v = shape_pool.newElement();\n this.v.setPathData(this.keyframes[0].s[0].c, len);\n this.pv = shape_pool.clone(this.v);\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.lastFrame = initFrame;\n this.reset = resetShape;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0\n };\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\n }\n KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n KeyframedShapeProperty.prototype.setVValue = setVValue;\n KeyframedShapeProperty.prototype.addEffect = addEffect;\n var EllShapeProperty = function () {\n var cPoint = roundCorner;\n function EllShapeProperty(elem, data) {\n /*this.v = {\r\n v: createSizedArray(4),\r\n i: createSizedArray(4),\r\n o: createSizedArray(4),\r\n c: true\r\n };*/\n this.v = shape_pool.newElement();\n this.v.setPathData(true, 4);\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.localShapeCollection.addShape(this.v);\n this.d = data.d;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertEllToPath();\n }\n }\n ;\n EllShapeProperty.prototype = {\n reset: resetShape,\n getValue: function () {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n if (this._mdf) {\n this.convertEllToPath();\n }\n },\n convertEllToPath: function () {\n var p0 = this.p.v[0],\n p1 = this.p.v[1],\n s0 = this.s.v[0] / 2,\n s1 = this.s.v[1] / 2;\n var _cw = this.d !== 3;\n var _v = this.v;\n _v.v[0][0] = p0;\n _v.v[0][1] = p1 - s1;\n _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.v[1][1] = p1;\n _v.v[2][0] = p0;\n _v.v[2][1] = p1 + s1;\n _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.v[3][1] = p1;\n _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.i[0][1] = p1 - s1;\n _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.i[1][1] = p1 - s1 * cPoint;\n _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.i[2][1] = p1 + s1;\n _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.i[3][1] = p1 + s1 * cPoint;\n _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.o[0][1] = p1 - s1;\n _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.o[1][1] = p1 + s1 * cPoint;\n _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.o[2][1] = p1 + s1;\n _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.o[3][1] = p1 - s1 * cPoint;\n }\n };\n extendPrototype([DynamicPropertyContainer], EllShapeProperty);\n return EllShapeProperty;\n }();\n var StarShapeProperty = function () {\n function StarShapeProperty(elem, data) {\n this.v = shape_pool.newElement();\n this.v.setPathData(true, 0);\n this.elem = elem;\n this.comp = elem.comp;\n this.data = data;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n if (data.sy === 1) {\n this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this);\n this.is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this);\n this.convertToPath = this.convertStarToPath;\n } else {\n this.convertToPath = this.convertPolygonToPath;\n }\n this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);\n this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this);\n this.os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this);\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertToPath();\n }\n }\n ;\n StarShapeProperty.prototype = {\n reset: resetShape,\n getValue: function () {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n if (this._mdf) {\n this.convertToPath();\n }\n },\n convertStarToPath: function () {\n var numPts = Math.floor(this.pt.v) * 2;\n var angle = Math.PI * 2 / numPts;\n /*this.v.v.length = numPts;\r\n this.v.i.length = numPts;\r\n this.v.o.length = numPts;*/\n var longFlag = true;\n var longRad = this.or.v;\n var shortRad = this.ir.v;\n var longRound = this.os.v;\n var shortRound = this.is.v;\n var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n var i,\n rad,\n roundness,\n perimSegment,\n currentAng = -Math.PI / 2;\n currentAng += this.r.v;\n var dir = this.data.d === 3 ? -1 : 1;\n this.v._length = 0;\n for (i = 0; i < numPts; i += 1) {\n rad = longFlag ? longRad : shortRad;\n roundness = longFlag ? longRound : shortRound;\n perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n\n /*this.v.v[i] = [x,y];\r\n this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n this.v._length = numPts;*/\n longFlag = !longFlag;\n currentAng += angle * dir;\n }\n },\n convertPolygonToPath: function () {\n var numPts = Math.floor(this.pt.v);\n var angle = Math.PI * 2 / numPts;\n var rad = this.or.v;\n var roundness = this.os.v;\n var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n var i,\n currentAng = -Math.PI / 2;\n var dir = this.data.d === 3 ? -1 : 1;\n currentAng += this.r.v;\n this.v._length = 0;\n for (i = 0; i < numPts; i += 1) {\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n currentAng += angle * dir;\n }\n this.paths.length = 0;\n this.paths[0] = this.v;\n }\n };\n extendPrototype([DynamicPropertyContainer], StarShapeProperty);\n return StarShapeProperty;\n }();\n var RectShapeProperty = function () {\n function RectShapeProperty(elem, data) {\n this.v = shape_pool.newElement();\n this.v.c = true;\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this);\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertRectToPath();\n }\n }\n ;\n RectShapeProperty.prototype = {\n convertRectToPath: function () {\n var p0 = this.p.v[0],\n p1 = this.p.v[1],\n v0 = this.s.v[0] / 2,\n v1 = this.s.v[1] / 2;\n var round = bm_min(v0, v1, this.r.v);\n var cPoint = round * (1 - roundCorner);\n this.v._length = 0;\n if (this.d === 2 || this.d === 1) {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n }\n } else {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n }\n }\n },\n getValue: function (frameNum) {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n if (this._mdf) {\n this.convertRectToPath();\n }\n },\n reset: resetShape\n };\n extendPrototype([DynamicPropertyContainer], RectShapeProperty);\n return RectShapeProperty;\n }();\n function getShapeProp(elem, data, type) {\n var prop;\n if (type === 3 || type === 4) {\n var dataProp = type === 3 ? data.pt : data.ks;\n var keys = dataProp.k;\n if (keys.length) {\n prop = new KeyframedShapeProperty(elem, data, type);\n } else {\n prop = new ShapeProperty(elem, data, type);\n }\n } else if (type === 5) {\n prop = new RectShapeProperty(elem, data);\n } else if (type === 6) {\n prop = new EllShapeProperty(elem, data);\n } else if (type === 7) {\n prop = new StarShapeProperty(elem, data);\n }\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n return prop;\n }\n function getConstructorFunction() {\n return ShapeProperty;\n }\n function getKeyframedConstructorFunction() {\n return KeyframedShapeProperty;\n }\n var ob = {};\n ob.getShapeProp = getShapeProp;\n ob.getConstructorFunction = getConstructorFunction;\n ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n return ob;\n }();\n var ShapeModifiers = function () {\n var ob = {};\n var modifiers = {};\n ob.registerModifier = registerModifier;\n ob.getModifier = getModifier;\n function registerModifier(nm, factory) {\n if (!modifiers[nm]) {\n modifiers[nm] = factory;\n }\n }\n function getModifier(nm, elem, data) {\n return new modifiers[nm](elem, data);\n }\n return ob;\n }();\n function ShapeModifier() {}\n ShapeModifier.prototype.initModifierProperties = function () {};\n ShapeModifier.prototype.addShapeToModifier = function () {};\n ShapeModifier.prototype.addShape = function (data) {\n if (!this.closed) {\n // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n data.sh.container.addDynamicProperty(data.sh);\n var shapeData = {\n shape: data.sh,\n data: data,\n localShapeCollection: shapeCollection_pool.newShapeCollection()\n };\n this.shapes.push(shapeData);\n this.addShapeToModifier(shapeData);\n if (this._isAnimated) {\n data.setAsAnimated();\n }\n }\n };\n ShapeModifier.prototype.init = function (elem, data) {\n this.shapes = [];\n this.elem = elem;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, data);\n this.frameId = initialDefaultFrame;\n this.closed = false;\n this.k = false;\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n ShapeModifier.prototype.processKeys = function () {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n extendPrototype([DynamicPropertyContainer], ShapeModifier);\n function TrimModifier() {}\n extendPrototype([ShapeModifier], TrimModifier);\n TrimModifier.prototype.initModifierProperties = function (elem, data) {\n this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this);\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);\n this.sValue = 0;\n this.eValue = 0;\n this.getValue = this.processKeys;\n this.m = data.m;\n this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n };\n TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n shapeData.pathsData = [];\n };\n TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n var segments = [];\n if (e <= 1) {\n segments.push({\n s: s,\n e: e\n });\n } else if (s >= 1) {\n segments.push({\n s: s - 1,\n e: e - 1\n });\n } else {\n segments.push({\n s: s,\n e: 1\n });\n segments.push({\n s: 0,\n e: e - 1\n });\n }\n var shapeSegments = [];\n var i,\n len = segments.length,\n segmentOb;\n for (i = 0; i < len; i += 1) {\n segmentOb = segments[i];\n if (segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength) {} else {\n var shapeS, shapeE;\n if (segmentOb.s * totalModifierLength <= addedLength) {\n shapeS = 0;\n } else {\n shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n }\n if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n shapeE = 1;\n } else {\n shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n }\n shapeSegments.push([shapeS, shapeE]);\n }\n }\n if (!shapeSegments.length) {\n shapeSegments.push([0, 0]);\n }\n return shapeSegments;\n };\n TrimModifier.prototype.releasePathsData = function (pathsData) {\n var i,\n len = pathsData.length;\n for (i = 0; i < len; i += 1) {\n segments_length_pool.release(pathsData[i]);\n }\n pathsData.length = 0;\n return pathsData;\n };\n TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n var s, e;\n if (this._mdf || _isFirstFrame) {\n var o = this.o.v % 360 / 360;\n if (o < 0) {\n o += 1;\n }\n s = (this.s.v > 1 ? 1 : this.s.v < 0 ? 0 : this.s.v) + o;\n e = (this.e.v > 1 ? 1 : this.e.v < 0 ? 0 : this.e.v) + o;\n if (s === e) {}\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n s = Math.round(s * 10000) * 0.0001;\n e = Math.round(e * 10000) * 0.0001;\n this.sValue = s;\n this.eValue = e;\n } else {\n s = this.sValue;\n e = this.eValue;\n }\n var shapePaths;\n var i,\n len = this.shapes.length,\n j,\n jLen;\n var pathsData,\n pathData,\n totalShapeLength,\n totalModifierLength = 0;\n if (e === s) {\n for (i = 0; i < len; i += 1) {\n this.shapes[i].localShapeCollection.releaseShapes();\n this.shapes[i].shape._mdf = true;\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\n if (this._mdf) {\n this.shapes[i].pathsData.length = 0;\n }\n }\n } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n var segments = [],\n shapeData,\n localShapeCollection;\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\n shapeData.shape.paths = shapeData.localShapeCollection;\n } else {\n shapePaths = shapeData.shape.paths;\n jLen = shapePaths._length;\n totalShapeLength = 0;\n if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n totalShapeLength = shapeData.totalShapeLength;\n } else {\n pathsData = this.releasePathsData(shapeData.pathsData);\n for (j = 0; j < jLen; j += 1) {\n pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n pathsData.push(pathData);\n totalShapeLength += pathData.totalLength;\n }\n shapeData.totalShapeLength = totalShapeLength;\n shapeData.pathsData = pathsData;\n }\n totalModifierLength += totalShapeLength;\n shapeData.shape._mdf = true;\n }\n }\n var shapeS = s,\n shapeE = e,\n addedLength = 0,\n edges;\n for (i = len - 1; i >= 0; i -= 1) {\n shapeData = this.shapes[i];\n if (shapeData.shape._mdf) {\n localShapeCollection = shapeData.localShapeCollection;\n localShapeCollection.releaseShapes();\n //if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n if (this.m === 2 && len > 1) {\n edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n addedLength += shapeData.totalShapeLength;\n } else {\n edges = [[shapeS, shapeE]];\n }\n jLen = edges.length;\n for (j = 0; j < jLen; j += 1) {\n shapeS = edges[j][0];\n shapeE = edges[j][1];\n segments.length = 0;\n if (shapeE <= 1) {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength * shapeE\n });\n } else if (shapeS >= 1) {\n segments.push({\n s: shapeData.totalShapeLength * (shapeS - 1),\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n } else {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength\n });\n segments.push({\n s: 0,\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n }\n var newShapesData = this.addShapes(shapeData, segments[0]);\n if (segments[0].s !== segments[0].e) {\n if (segments.length > 1) {\n var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n if (lastShapeInCollection.c) {\n var lastShape = newShapesData.pop();\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n } else {\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1]);\n }\n }\n this.addPaths(newShapesData, localShapeCollection);\n }\n }\n shapeData.shape.paths = localShapeCollection;\n }\n }\n } else if (this._mdf) {\n for (i = 0; i < len; i += 1) {\n //Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n //Don't remove this even if it's losing cached info.\n this.shapes[i].pathsData.length = 0;\n this.shapes[i].shape._mdf = true;\n }\n }\n };\n TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n var i,\n len = newPaths.length;\n for (i = 0; i < len; i += 1) {\n localShapeCollection.addShape(newPaths[i]);\n }\n };\n TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\n shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\n if (newShape) {\n shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\n }\n shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\n };\n TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n shapePath.setXYAt(points[1], points[5], 'o', pos);\n shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\n if (newShape) {\n shapePath.setXYAt(points[0], points[4], 'v', pos);\n }\n shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\n };\n TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n var pathsData = shapeData.pathsData;\n var shapePaths = shapeData.shape.paths.shapes;\n var i,\n len = shapeData.shape.paths._length,\n j,\n jLen;\n var addedLength = 0;\n var currentLengthData, segmentCount;\n var lengths;\n var segment;\n var shapes = [];\n var initPos;\n var newShape = true;\n if (!shapePath) {\n shapePath = shape_pool.newElement();\n segmentCount = 0;\n initPos = 0;\n } else {\n segmentCount = shapePath._length;\n initPos = shapePath._length;\n }\n shapes.push(shapePath);\n for (i = 0; i < len; i += 1) {\n lengths = pathsData[i].lengths;\n shapePath.c = shapePaths[i].c;\n jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n for (j = 1; j < jLen; j += 1) {\n currentLengthData = lengths[j - 1];\n if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n addedLength += currentLengthData.addedLength;\n shapePath.c = false;\n } else if (addedLength > shapeSegment.e) {\n shapePath.c = false;\n break;\n } else {\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);\n // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n newShape = false;\n shapePath.c = false;\n }\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n }\n if (shapePaths[i].c && lengths.length) {\n currentLengthData = lengths[j - 1];\n if (addedLength <= shapeSegment.e) {\n var segmentLength = lengths[j - 1].addedLength;\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);\n // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n newShape = false;\n shapePath.c = false;\n }\n } else {\n shapePath.c = false;\n }\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n if (shapePath._length) {\n shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\n shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], 'o', shapePath._length - 1);\n }\n if (addedLength > shapeSegment.e) {\n break;\n }\n if (i < len - 1) {\n shapePath = shape_pool.newElement();\n newShape = true;\n shapes.push(shapePath);\n segmentCount = 0;\n }\n }\n return shapes;\n };\n ShapeModifiers.registerModifier('tm', TrimModifier);\n function RoundCornersModifier() {}\n extendPrototype([ShapeModifier], RoundCornersModifier);\n RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this._isAnimated = !!this.rd.effectsSequence.length;\n };\n RoundCornersModifier.prototype.processPath = function (path, round) {\n var cloned_path = shape_pool.newElement();\n cloned_path.c = path.c;\n var i,\n len = path._length;\n var currentV,\n currentI,\n currentO,\n closerV,\n newV,\n newO,\n newI,\n distance,\n newPosPerc,\n index = 0;\n var vX, vY, oX, oY, iX, iY;\n for (i = 0; i < len; i += 1) {\n currentV = path.v[i];\n currentO = path.o[i];\n currentI = path.i[i];\n if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n if ((i === 0 || i === len - 1) && !path.c) {\n cloned_path.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n /*cloned_path.v[index] = currentV;\r\n cloned_path.o[index] = currentO;\r\n cloned_path.i[index] = currentI;*/\n index += 1;\n } else {\n if (i === 0) {\n closerV = path.v[len - 1];\n } else {\n closerV = path.v[i - 1];\n }\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n vX = iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vY = iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n oX = vX - (vX - currentV[0]) * roundCorner;\n oY = vY - (vY - currentV[1]) * roundCorner;\n cloned_path.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n if (i === len - 1) {\n closerV = path.v[0];\n } else {\n closerV = path.v[i + 1];\n }\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n vX = oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vY = oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n iX = vX - (vX - currentV[0]) * roundCorner;\n iY = vY - (vY - currentV[1]) * roundCorner;\n cloned_path.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n }\n } else {\n cloned_path.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n index += 1;\n }\n }\n return cloned_path;\n };\n RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i,\n len = this.shapes.length;\n var j, jLen;\n var rd = this.rd.v;\n if (rd !== 0) {\n var shapeData, newPaths, localShapeCollection;\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n newPaths = shapeData.shape.paths;\n localShapeCollection = shapeData.localShapeCollection;\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n }\n }\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n ShapeModifiers.registerModifier('rd', RoundCornersModifier);\n function PuckerAndBloatModifier() {}\n extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this._isAnimated = !!this.amount.effectsSequence.length;\n };\n PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n var percent = amount / 100;\n var centerPoint = [0, 0];\n var pathLength = path._length,\n i = 0;\n for (i = 0; i < pathLength; i += 1) {\n centerPoint[0] += path.v[i][0];\n centerPoint[1] += path.v[i][1];\n }\n centerPoint[0] /= pathLength;\n centerPoint[1] /= pathLength;\n var cloned_path = shape_pool.newElement();\n cloned_path.c = path.c;\n var vX, vY, oX, oY, iX, iY;\n for (i = 0; i < pathLength; i += 1) {\n vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n cloned_path.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n }\n return cloned_path;\n };\n PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i,\n len = this.shapes.length;\n var j, jLen;\n var amount = this.amount.v;\n if (amount !== 0) {\n var shapeData, newPaths, localShapeCollection;\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n newPaths = shapeData.shape.paths;\n localShapeCollection = shapeData.localShapeCollection;\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n }\n }\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n ShapeModifiers.registerModifier('pb', PuckerAndBloatModifier);\n function RepeaterModifier() {}\n extendPrototype([ShapeModifier], RepeaterModifier);\n RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.c = PropertyFactory.getProp(elem, data.c, 0, null, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, null, this);\n this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this);\n this.so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this);\n this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this);\n this.data = data;\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n this._isAnimated = !!this.dynamicProperties.length;\n this.pMatrix = new Matrix();\n this.rMatrix = new Matrix();\n this.sMatrix = new Matrix();\n this.tMatrix = new Matrix();\n this.matrix = new Matrix();\n };\n RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n var dir = inv ? -1 : 1;\n var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n rMatrix.rotate(-transform.r.v * dir * perc);\n rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n };\n RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n this.elem = elem;\n this.arr = arr;\n this.pos = pos;\n this.elemsData = elemsData;\n this._currentCopies = 0;\n this._elements = [];\n this._groups = [];\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, arr[pos]);\n var cont = 0;\n while (pos > 0) {\n pos -= 1;\n //this._elements.unshift(arr.splice(pos,1)[0]);\n this._elements.unshift(arr[pos]);\n cont += 1;\n }\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n RepeaterModifier.prototype.resetElements = function (elements) {\n var i,\n len = elements.length;\n for (i = 0; i < len; i += 1) {\n elements[i]._processed = false;\n if (elements[i].ty === 'gr') {\n this.resetElements(elements[i].it);\n }\n }\n };\n RepeaterModifier.prototype.cloneElements = function (elements) {\n var i,\n len = elements.length;\n var newElements = JSON.parse(JSON.stringify(elements));\n this.resetElements(newElements);\n return newElements;\n };\n RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n var i,\n len = elements.length;\n for (i = 0; i < len; i += 1) {\n elements[i]._render = renderFlag;\n if (elements[i].ty === 'gr') {\n this.changeGroupRender(elements[i].it, renderFlag);\n }\n }\n };\n RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n var items, itemsTransform, i, dir, cont;\n if (this._mdf || _isFirstFrame) {\n var copies = Math.ceil(this.c.v);\n if (this._groups.length < copies) {\n while (this._groups.length < copies) {\n var group = {\n it: this.cloneElements(this._elements),\n ty: 'gr'\n };\n group.it.push({\n \"a\": {\n \"a\": 0,\n \"ix\": 1,\n \"k\": [0, 0]\n },\n \"nm\": \"Transform\",\n \"o\": {\n \"a\": 0,\n \"ix\": 7,\n \"k\": 100\n },\n \"p\": {\n \"a\": 0,\n \"ix\": 2,\n \"k\": [0, 0]\n },\n \"r\": {\n \"a\": 1,\n \"ix\": 6,\n \"k\": [{\n s: 0,\n e: 0,\n t: 0\n }, {\n s: 0,\n e: 0,\n t: 1\n }]\n },\n \"s\": {\n \"a\": 0,\n \"ix\": 3,\n \"k\": [100, 100]\n },\n \"sa\": {\n \"a\": 0,\n \"ix\": 5,\n \"k\": 0\n },\n \"sk\": {\n \"a\": 0,\n \"ix\": 4,\n \"k\": 0\n },\n \"ty\": \"tr\"\n });\n this.arr.splice(0, 0, group);\n this._groups.splice(0, 0, group);\n this._currentCopies += 1;\n }\n this.elem.reloadShapes();\n }\n cont = 0;\n var renderFlag;\n for (i = 0; i <= this._groups.length - 1; i += 1) {\n renderFlag = cont < copies;\n this._groups[i]._render = renderFlag;\n this.changeGroupRender(this._groups[i].it, renderFlag);\n cont += 1;\n }\n this._currentCopies = copies;\n ////\n\n var offset = this.o.v;\n var offsetModulo = offset % 1;\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n var k;\n var tMat = this.tr.v.props;\n var pProps = this.pMatrix.props;\n var rProps = this.rMatrix.props;\n var sProps = this.sMatrix.props;\n this.pMatrix.reset();\n this.rMatrix.reset();\n this.sMatrix.reset();\n this.tMatrix.reset();\n this.matrix.reset();\n var iteration = 0;\n if (offset > 0) {\n while (iteration < roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n iteration += 1;\n }\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);\n iteration += offsetModulo;\n }\n } else if (offset < 0) {\n while (iteration > roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\n iteration -= 1;\n }\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true);\n iteration -= offsetModulo;\n }\n }\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\n dir = this.data.m === 1 ? 1 : -1;\n cont = this._currentCopies;\n var j, jLen;\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n jLen = itemsTransform.length;\n items[items.length - 1].transform.mProps._mdf = true;\n items[items.length - 1].transform.op._mdf = true;\n items[items.length - 1].transform.op.v = this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\n if (iteration !== 0) {\n if (i !== 0 && dir === 1 || i !== this._currentCopies - 1 && dir === -1) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n }\n this.matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n this.matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n this.matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n this.matrix.reset();\n } else {\n this.matrix.reset();\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n }\n iteration += 1;\n cont -= 1;\n i += dir;\n }\n } else {\n cont = this._currentCopies;\n i = 0;\n dir = 1;\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n items[items.length - 1].transform.mProps._mdf = false;\n items[items.length - 1].transform.op._mdf = false;\n cont -= 1;\n i += dir;\n }\n }\n };\n RepeaterModifier.prototype.addShape = function () {};\n ShapeModifiers.registerModifier('rp', RepeaterModifier);\n function ShapeCollection() {\n this._length = 0;\n this._maxLength = 4;\n this.shapes = createSizedArray(this._maxLength);\n }\n ShapeCollection.prototype.addShape = function (shapeData) {\n if (this._length === this._maxLength) {\n this.shapes = this.shapes.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n }\n this.shapes[this._length] = shapeData;\n this._length += 1;\n };\n ShapeCollection.prototype.releaseShapes = function () {\n var i;\n for (i = 0; i < this._length; i += 1) {\n shape_pool.release(this.shapes[i]);\n }\n this._length = 0;\n };\n function DashProperty(elem, data, renderer, container) {\n this.elem = elem;\n this.frameId = -1;\n this.dataProps = createSizedArray(data.length);\n this.renderer = renderer;\n this.k = false;\n this.dashStr = '';\n this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0);\n this.dashoffset = createTypedArray('float32', 1);\n this.initDynamicPropertyContainer(container);\n var i,\n len = data.length || 0,\n prop;\n for (i = 0; i < len; i += 1) {\n prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this);\n this.k = prop.k || this.k;\n this.dataProps[i] = {\n n: data[i].n,\n p: prop\n };\n }\n if (!this.k) {\n this.getValue(true);\n }\n this._isAnimated = this.k;\n }\n DashProperty.prototype.getValue = function (forceRender) {\n if (this.elem.globalData.frameId === this.frameId && !forceRender) {\n return;\n }\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || forceRender;\n if (this._mdf) {\n var i = 0,\n len = this.dataProps.length;\n if (this.renderer === 'svg') {\n this.dashStr = '';\n }\n for (i = 0; i < len; i += 1) {\n if (this.dataProps[i].n != 'o') {\n if (this.renderer === 'svg') {\n this.dashStr += ' ' + this.dataProps[i].p.v;\n } else {\n this.dashArray[i] = this.dataProps[i].p.v;\n }\n } else {\n this.dashoffset[0] = this.dataProps[i].p.v;\n }\n }\n }\n };\n extendPrototype([DynamicPropertyContainer], DashProperty);\n function GradientProperty(elem, data, container) {\n this.data = data;\n this.c = createTypedArray('uint8c', data.p * 4);\n var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n this.o = createTypedArray('float32', cLength);\n this._cmdf = false;\n this._omdf = false;\n this._collapsable = this.checkCollapsable();\n this._hasOpacity = cLength;\n this.initDynamicPropertyContainer(container);\n this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this);\n this.k = this.prop.k;\n this.getValue(true);\n }\n GradientProperty.prototype.comparePoints = function (values, points) {\n var i = 0,\n len = this.o.length / 2,\n diff;\n while (i < len) {\n diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n if (diff > 0.01) {\n return false;\n }\n i += 1;\n }\n return true;\n };\n GradientProperty.prototype.checkCollapsable = function () {\n if (this.o.length / 2 !== this.c.length / 4) {\n return false;\n }\n if (this.data.k.k[0].s) {\n var i = 0,\n len = this.data.k.k.length;\n while (i < len) {\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\n return false;\n }\n i += 1;\n }\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) {\n return false;\n }\n return true;\n };\n GradientProperty.prototype.getValue = function (forceRender) {\n this.prop.getValue();\n this._mdf = false;\n this._cmdf = false;\n this._omdf = false;\n if (this.prop._mdf || forceRender) {\n var i,\n len = this.data.p * 4;\n var mult, val;\n for (i = 0; i < len; i += 1) {\n mult = i % 4 === 0 ? 100 : 255;\n val = Math.round(this.prop.v[i] * mult);\n if (this.c[i] !== val) {\n this.c[i] = val;\n this._cmdf = !forceRender;\n }\n }\n if (this.o.length) {\n len = this.prop.v.length;\n for (i = this.data.p * 4; i < len; i += 1) {\n mult = i % 2 === 0 ? 100 : 1;\n val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i];\n if (this.o[i - this.data.p * 4] !== val) {\n this.o[i - this.data.p * 4] = val;\n this._omdf = !forceRender;\n }\n }\n }\n this._mdf = !forceRender;\n }\n };\n extendPrototype([DynamicPropertyContainer], GradientProperty);\n var buildShapeString = function (pathNodes, length, closed, mat) {\n if (length === 0) {\n return '';\n }\n var _o = pathNodes.o;\n var _i = pathNodes.i;\n var _v = pathNodes.v;\n var i,\n shapeString = \" M\" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n for (i = 1; i < length; i += 1) {\n shapeString += \" C\" + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + \" \" + mat.applyToPointStringified(_i[i][0], _i[i][1]) + \" \" + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n }\n if (closed && length) {\n shapeString += \" C\" + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + \" \" + mat.applyToPointStringified(_i[0][0], _i[0][1]) + \" \" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n shapeString += 'z';\n }\n return shapeString;\n };\n var audioControllerFactory = function () {\n function AudioController(audioFactory) {\n this.audios = [];\n this.audioFactory = audioFactory;\n this._volume = 1;\n this._isMuted = false;\n }\n AudioController.prototype = {\n addAudio: function (audio) {\n this.audios.push(audio);\n },\n pause: function () {\n var i,\n len = this.audios.length;\n for (i = 0; i < len; i += 1) {\n this.audios[i].pause();\n }\n },\n resume: function () {\n var i,\n len = this.audios.length;\n for (i = 0; i < len; i += 1) {\n this.audios[i].resume();\n }\n },\n setRate: function (rateValue) {\n var i,\n len = this.audios.length;\n for (i = 0; i < len; i += 1) {\n this.audios[i].setRate(rateValue);\n }\n },\n createAudio: function (assetPath) {\n if (this.audioFactory) {\n return this.audioFactory(assetPath);\n } else if (Howl) {\n return new Howl({\n src: [assetPath]\n });\n } else {\n return {\n isPlaying: false,\n play: function () {\n this.isPlaying = true;\n },\n seek: function () {\n this.isPlaying = false;\n },\n playing: function () {},\n rate: function () {},\n setVolume: function () {}\n };\n }\n },\n setAudioFactory: function (audioFactory) {\n this.audioFactory = audioFactory;\n },\n setVolume: function (value) {\n this._volume = value;\n this._updateVolume();\n },\n mute: function () {\n this._isMuted = true;\n this._updateVolume();\n },\n unmute: function () {\n this._isMuted = false;\n this._updateVolume();\n },\n getVolume: function (value) {\n return this._volume;\n },\n _updateVolume: function () {\n var i,\n len = this.audios.length;\n for (i = 0; i < len; i += 1) {\n this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));\n }\n }\n };\n return function () {\n return new AudioController();\n };\n }();\n var ImagePreloader = function () {\n var proxyImage = function () {\n var canvas = createTag('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = 'rgba(0,0,0,0)';\n ctx.fillRect(0, 0, 1, 1);\n return canvas;\n }();\n function imageLoaded() {\n this.loadedAssets += 1;\n if (this.loadedAssets === this.totalImages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n function getAssetsPath(assetData, assetsPath, original_path) {\n var path = '';\n if (assetData.e) {\n path = assetData.p;\n } else if (assetsPath) {\n var imagePath = assetData.p;\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n path = assetsPath + imagePath;\n } else {\n path = original_path;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n return path;\n }\n function createImageData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createNS('image');\n img.addEventListener('load', this._imageLoaded, false);\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n this._imageLoaded();\n }.bind(this), false);\n img.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n function createImgData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createTag('img');\n img.crossOrigin = 'anonymous';\n img.addEventListener('load', this._imageLoaded, false);\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n this._imageLoaded();\n }.bind(this), false);\n img.src = path;\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n function loadAssets(assets, cb) {\n this.imagesLoadedCb = cb;\n var i,\n len = assets.length;\n for (i = 0; i < len; i += 1) {\n if (!assets[i].layers) {\n this.totalImages += 1;\n this.images.push(this._createImageData(assets[i]));\n }\n }\n }\n function setPath(path) {\n this.path = path || '';\n }\n function setAssetsPath(path) {\n this.assetsPath = path || '';\n }\n function getImage(assetData) {\n var i = 0,\n len = this.images.length;\n while (i < len) {\n if (this.images[i].assetData === assetData) {\n return this.images[i].img;\n }\n i += 1;\n }\n }\n function destroy() {\n this.imagesLoadedCb = null;\n this.images.length = 0;\n }\n function loaded() {\n return this.totalImages === this.loadedAssets;\n }\n function setCacheType(type) {\n if (type === 'svg') {\n this._createImageData = this.createImageData.bind(this);\n } else {\n this._createImageData = this.createImgData.bind(this);\n }\n }\n function ImagePreloader(type) {\n this._imageLoaded = imageLoaded.bind(this);\n this.assetsPath = '';\n this.path = '';\n this.totalImages = 0;\n this.loadedAssets = 0;\n this.imagesLoadedCb = null;\n this.images = [];\n }\n ;\n ImagePreloader.prototype = {\n loadAssets: loadAssets,\n setAssetsPath: setAssetsPath,\n setPath: setPath,\n loaded: loaded,\n destroy: destroy,\n getImage: getImage,\n createImgData: createImgData,\n createImageData: createImageData,\n imageLoaded: imageLoaded,\n setCacheType: setCacheType\n };\n return ImagePreloader;\n }();\n var featureSupport = function () {\n var ob = {\n maskType: true\n };\n if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) {\n ob.maskType = false;\n }\n return ob;\n }();\n var filtersFactory = function () {\n var ob = {};\n ob.createFilter = createFilter;\n ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n function createFilter(filId) {\n var fil = createNS('filter');\n fil.setAttribute('id', filId);\n fil.setAttribute('filterUnits', 'objectBoundingBox');\n fil.setAttribute('x', '0%');\n fil.setAttribute('y', '0%');\n fil.setAttribute('width', '100%');\n fil.setAttribute('height', '100%');\n return fil;\n }\n function createAlphaToLuminanceFilter() {\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1');\n return feColorMatrix;\n }\n return ob;\n }();\n var assetLoader = function () {\n function formatResponse(xhr) {\n if (xhr.response && typeof xhr.response === 'object') {\n return xhr.response;\n } else if (xhr.response && typeof xhr.response === 'string') {\n return JSON.parse(xhr.response);\n } else if (xhr.responseText) {\n return JSON.parse(xhr.responseText);\n }\n }\n function loadAsset(path, callback, errorCallback) {\n var response;\n var xhr = new XMLHttpRequest();\n xhr.open('GET', path, true);\n // set responseType after calling open or IE will break.\n try {\n // This crashes on Android WebView prior to KitKat\n xhr.responseType = \"json\";\n } catch (err) {}\n xhr.send();\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200) {\n response = formatResponse(xhr);\n callback(response);\n } else {\n try {\n response = formatResponse(xhr);\n callback(response);\n } catch (err) {\n if (errorCallback) {\n errorCallback(err);\n }\n }\n }\n }\n };\n }\n return {\n load: loadAsset\n };\n }();\n function TextAnimatorProperty(textData, renderType, elem) {\n this._isFirstFrame = true;\n this._hasMaskedPath = false;\n this._frameId = -1;\n this._textData = textData;\n this._renderType = renderType;\n this._elem = elem;\n this._animatorsData = createSizedArray(this._textData.a.length);\n this._pathData = {};\n this._moreOptions = {\n alignment: {}\n };\n this.renderedLetters = [];\n this.lettersChangedFlag = false;\n this.initDynamicPropertyContainer(elem);\n }\n TextAnimatorProperty.prototype.searchProperties = function () {\n var i,\n len = this._textData.a.length,\n animatorProps;\n var getProp = PropertyFactory.getProp;\n for (i = 0; i < len; i += 1) {\n animatorProps = this._textData.a[i];\n this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);\n }\n if (this._textData.p && 'm' in this._textData.p) {\n this._pathData = {\n f: getProp(this._elem, this._textData.p.f, 0, 0, this),\n l: getProp(this._elem, this._textData.p.l, 0, 0, this),\n r: this._textData.p.r,\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n };\n this._hasMaskedPath = true;\n } else {\n this._hasMaskedPath = false;\n }\n this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this);\n };\n TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n this.lettersChangedFlag = lettersChangedFlag;\n if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) {\n return;\n }\n this._isFirstFrame = false;\n var alignment = this._moreOptions.alignment.v;\n var animators = this._animatorsData;\n var textData = this._textData;\n var matrixHelper = this.mHelper;\n var renderType = this._renderType;\n var renderedLettersCount = this.renderedLetters.length;\n var data = this.data;\n var xPos, yPos;\n var i, len;\n var letters = documentData.l,\n pathInfo,\n currentLength,\n currentPoint,\n segmentLength,\n flag,\n pointInd,\n segmentInd,\n prevPoint,\n points,\n segments,\n partialLength,\n totalLength,\n perc,\n tanAngle,\n mask;\n if (this._hasMaskedPath) {\n mask = this._pathData.m;\n if (!this._pathData.n || this._pathData._mdf) {\n var paths = mask.v;\n if (this._pathData.r) {\n paths = paths.reverse();\n }\n // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n pathInfo = {\n tLength: 0,\n segments: []\n };\n len = paths._length - 1;\n var bezierData;\n totalLength = 0;\n for (i = 0; i < len; i += 1) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n i = len;\n if (mask.v.c) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n this._pathData.pi = pathInfo;\n }\n pathInfo = this._pathData.pi;\n currentLength = this._pathData.f.v;\n segmentInd = 0;\n pointInd = 1;\n segmentLength = 0;\n flag = true;\n segments = pathInfo.segments;\n if (currentLength < 0 && mask.v.c) {\n if (pathInfo.tLength < Math.abs(currentLength)) {\n currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n }\n segmentInd = segments.length - 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n while (currentLength < 0) {\n currentLength += points[pointInd].partialLength;\n pointInd -= 1;\n if (pointInd < 0) {\n segmentInd -= 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n }\n }\n }\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n len = letters.length;\n xPos = 0;\n yPos = 0;\n var yOff = documentData.finalSize * 1.2 * 0.714;\n var firstLine = true;\n var animatorProps, animatorSelector;\n var j, jLen;\n var letterValue;\n jLen = animators.length;\n var lastLetter;\n var mult,\n ind = -1,\n offf,\n xPathPos,\n yPathPos;\n var initPathPos = currentLength,\n initSegmentInd = segmentInd,\n initPointInd = pointInd,\n currentLine = -1;\n var elemOpacity;\n var sc, sw, fc, k;\n var lineLength = 0;\n var letterSw,\n letterSc,\n letterFc,\n letterM = '',\n letterP = this.defaultPropsArray,\n letterO;\n\n //\n if (documentData.j === 2 || documentData.j === 1) {\n var animatorJustifyOffset = 0;\n var animatorFirstCharOffset = 0;\n var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n var lastIndex = 0;\n var isNewLine = true;\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n animatorJustifyOffset = 0;\n isNewLine = true;\n } else {\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n if (animatorProps.t.propType) {\n if (isNewLine && documentData.j === 2) {\n animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n }\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n if (mult.length) {\n animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n } else {\n animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n }\n }\n }\n isNewLine = false;\n }\n }\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n }\n //\n\n for (i = 0; i < len; i += 1) {\n matrixHelper.reset();\n elemOpacity = 1;\n if (letters[i].n) {\n xPos = 0;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n currentLength = initPathPos;\n firstLine = false;\n lineLength = 0;\n if (this._hasMaskedPath) {\n segmentInd = initSegmentInd;\n pointInd = initPointInd;\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n segmentLength = 0;\n }\n letterO = letterSw = letterFc = letterM = '';\n letterP = this.defaultPropsArray;\n } else {\n if (this._hasMaskedPath) {\n if (currentLine !== letters[i].line) {\n switch (documentData.j) {\n case 1:\n currentLength += totalLength - documentData.lineWidths[letters[i].line];\n break;\n case 2:\n currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n break;\n }\n currentLine = letters[i].line;\n }\n if (ind !== letters[i].ind) {\n if (letters[ind]) {\n currentLength += letters[ind].extra;\n }\n currentLength += letters[i].an / 2;\n ind = letters[i].ind;\n }\n currentLength += alignment[0] * letters[i].an / 200;\n var animatorOffset = 0;\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n if (mult.length) {\n animatorOffset += animatorProps.p.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.p.v[0] * mult;\n }\n }\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n if (mult.length) {\n animatorOffset += animatorProps.a.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.a.v[0] * mult;\n }\n }\n }\n flag = true;\n while (flag) {\n if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n matrixHelper.translate(-alignment[0] * letters[i].an / 200, -(alignment[1] * yOff / 100));\n flag = false;\n } else if (points) {\n segmentLength += currentPoint.partialLength;\n pointInd += 1;\n if (pointInd >= points.length) {\n pointInd = 0;\n segmentInd += 1;\n if (!segments[segmentInd]) {\n if (mask.v.c) {\n pointInd = 0;\n segmentInd = 0;\n points = segments[segmentInd].points;\n } else {\n segmentLength -= currentPoint.partialLength;\n points = null;\n }\n } else {\n points = segments[segmentInd].points;\n }\n }\n if (points) {\n prevPoint = currentPoint;\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n }\n }\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0);\n } else {\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0);\n\n // Grouping alignment\n matrixHelper.translate(-alignment[0] * letters[i].an / 200, -alignment[1] * yOff / 100, 0);\n }\n lineLength += letters[i].l / 2;\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n if (animatorProps.t.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n //This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n if (xPos !== 0 || documentData.j !== 0) {\n if (this._hasMaskedPath) {\n if (mult.length) {\n currentLength += animatorProps.t.v * mult[0];\n } else {\n currentLength += animatorProps.t.v * mult;\n }\n } else {\n if (mult.length) {\n xPos += animatorProps.t.v * mult[0];\n } else {\n xPos += animatorProps.t.v * mult;\n }\n }\n }\n }\n }\n lineLength += letters[i].l / 2;\n if (documentData.strokeWidthAnim) {\n sw = documentData.sw || 0;\n }\n if (documentData.strokeColorAnim) {\n if (documentData.sc) {\n sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n } else {\n sc = [0, 0, 0];\n }\n }\n if (documentData.fillColorAnim && documentData.fc) {\n fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n }\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n if (mult.length) {\n matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n } else {\n matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n }\n }\n }\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n if (animatorProps.s.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n if (mult.length) {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n } else {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n }\n }\n }\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n if (animatorProps.sk.propType) {\n if (mult.length) {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n } else {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n }\n }\n if (animatorProps.r.propType) {\n if (mult.length) {\n matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n } else {\n matrixHelper.rotateZ(-animatorProps.r.v * mult);\n }\n }\n if (animatorProps.ry.propType) {\n if (mult.length) {\n matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n } else {\n matrixHelper.rotateY(animatorProps.ry.v * mult);\n }\n }\n if (animatorProps.rx.propType) {\n if (mult.length) {\n matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n } else {\n matrixHelper.rotateX(animatorProps.rx.v * mult);\n }\n }\n if (animatorProps.o.propType) {\n if (mult.length) {\n elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n } else {\n elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n }\n }\n if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n if (mult.length) {\n sw += animatorProps.sw.v * mult[0];\n } else {\n sw += animatorProps.sw.v * mult;\n }\n }\n if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n sc[k] = sc[k] + (animatorProps.sc.v[k] - sc[k]) * mult[0];\n } else {\n sc[k] = sc[k] + (animatorProps.sc.v[k] - sc[k]) * mult;\n }\n }\n }\n if (documentData.fillColorAnim && documentData.fc) {\n if (animatorProps.fc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n fc[k] = fc[k] + (animatorProps.fc.v[k] - fc[k]) * mult[0];\n } else {\n fc[k] = fc[k] + (animatorProps.fc.v[k] - fc[k]) * mult;\n }\n }\n }\n if (animatorProps.fh.propType) {\n if (mult.length) {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n } else {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n }\n }\n if (animatorProps.fs.propType) {\n if (mult.length) {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n } else {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n }\n }\n if (animatorProps.fb.propType) {\n if (mult.length) {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n } else {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n }\n }\n }\n }\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n if (this._hasMaskedPath) {\n if (mult.length) {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n } else {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n } else {\n if (mult.length) {\n matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n } else {\n matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n }\n }\n }\n if (documentData.strokeWidthAnim) {\n letterSw = sw < 0 ? 0 : sw;\n }\n if (documentData.strokeColorAnim) {\n letterSc = 'rgb(' + Math.round(sc[0] * 255) + ',' + Math.round(sc[1] * 255) + ',' + Math.round(sc[2] * 255) + ')';\n }\n if (documentData.fillColorAnim && documentData.fc) {\n letterFc = 'rgb(' + Math.round(fc[0] * 255) + ',' + Math.round(fc[1] * 255) + ',' + Math.round(fc[2] * 255) + ')';\n }\n if (this._hasMaskedPath) {\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(0, alignment[1] * yOff / 100 + yPos, 0);\n if (textData.p.p) {\n tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n var rot = Math.atan(tanAngle) * 180 / Math.PI;\n if (currentPoint.point[0] < prevPoint.point[0]) {\n rot += 180;\n }\n matrixHelper.rotate(-rot * Math.PI / 180);\n }\n matrixHelper.translate(xPathPos, yPathPos, 0);\n currentLength -= alignment[0] * letters[i].an / 200;\n if (letters[i + 1] && ind !== letters[i + 1].ind) {\n currentLength += letters[i].an / 2;\n currentLength += documentData.tr / 1000 * documentData.finalSize;\n }\n } else {\n matrixHelper.translate(xPos, yPos, 0);\n if (documentData.ps) {\n //matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n break;\n case 2:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n break;\n }\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(offf, 0, 0);\n matrixHelper.translate(alignment[0] * letters[i].an / 200, alignment[1] * yOff / 100, 0);\n xPos += letters[i].l + documentData.tr / 1000 * documentData.finalSize;\n }\n if (renderType === 'html') {\n letterM = matrixHelper.toCSS();\n } else if (renderType === 'svg') {\n letterM = matrixHelper.to2dCSS();\n } else {\n letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n }\n letterO = elemOpacity;\n }\n if (renderedLettersCount <= i) {\n letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n this.renderedLetters.push(letterValue);\n renderedLettersCount += 1;\n this.lettersChangedFlag = true;\n } else {\n letterValue = this.renderedLetters[i];\n this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;\n }\n }\n };\n TextAnimatorProperty.prototype.getValue = function () {\n if (this._elem.globalData.frameId === this._frameId) {\n return;\n }\n this._frameId = this._elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n TextAnimatorProperty.prototype.mHelper = new Matrix();\n TextAnimatorProperty.prototype.defaultPropsArray = [];\n extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n function TextAnimatorDataProperty(elem, animatorProps, container) {\n var defaultData = {\n propType: false\n };\n var getProp = PropertyFactory.getProp;\n var textAnimator_animatables = animatorProps.a;\n this.a = {\n r: textAnimator_animatables.r ? getProp(elem, textAnimator_animatables.r, 0, degToRads, container) : defaultData,\n rx: textAnimator_animatables.rx ? getProp(elem, textAnimator_animatables.rx, 0, degToRads, container) : defaultData,\n ry: textAnimator_animatables.ry ? getProp(elem, textAnimator_animatables.ry, 0, degToRads, container) : defaultData,\n sk: textAnimator_animatables.sk ? getProp(elem, textAnimator_animatables.sk, 0, degToRads, container) : defaultData,\n sa: textAnimator_animatables.sa ? getProp(elem, textAnimator_animatables.sa, 0, degToRads, container) : defaultData,\n s: textAnimator_animatables.s ? getProp(elem, textAnimator_animatables.s, 1, 0.01, container) : defaultData,\n a: textAnimator_animatables.a ? getProp(elem, textAnimator_animatables.a, 1, 0, container) : defaultData,\n o: textAnimator_animatables.o ? getProp(elem, textAnimator_animatables.o, 0, 0.01, container) : defaultData,\n p: textAnimator_animatables.p ? getProp(elem, textAnimator_animatables.p, 1, 0, container) : defaultData,\n sw: textAnimator_animatables.sw ? getProp(elem, textAnimator_animatables.sw, 0, 0, container) : defaultData,\n sc: textAnimator_animatables.sc ? getProp(elem, textAnimator_animatables.sc, 1, 0, container) : defaultData,\n fc: textAnimator_animatables.fc ? getProp(elem, textAnimator_animatables.fc, 1, 0, container) : defaultData,\n fh: textAnimator_animatables.fh ? getProp(elem, textAnimator_animatables.fh, 0, 0, container) : defaultData,\n fs: textAnimator_animatables.fs ? getProp(elem, textAnimator_animatables.fs, 0, 0.01, container) : defaultData,\n fb: textAnimator_animatables.fb ? getProp(elem, textAnimator_animatables.fb, 0, 0.01, container) : defaultData,\n t: textAnimator_animatables.t ? getProp(elem, textAnimator_animatables.t, 0, 0, container) : defaultData\n };\n this.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n this.s.t = animatorProps.s.t;\n }\n function LetterProps(o, sw, sc, fc, m, p) {\n this.o = o;\n this.sw = sw;\n this.sc = sc;\n this.fc = fc;\n this.m = m;\n this.p = p;\n this._mdf = {\n o: true,\n sw: !!sw,\n sc: !!sc,\n fc: !!fc,\n m: true,\n p: true\n };\n }\n LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n this._mdf.o = false;\n this._mdf.sw = false;\n this._mdf.sc = false;\n this._mdf.fc = false;\n this._mdf.m = false;\n this._mdf.p = false;\n var updated = false;\n if (this.o !== o) {\n this.o = o;\n this._mdf.o = true;\n updated = true;\n }\n if (this.sw !== sw) {\n this.sw = sw;\n this._mdf.sw = true;\n updated = true;\n }\n if (this.sc !== sc) {\n this.sc = sc;\n this._mdf.sc = true;\n updated = true;\n }\n if (this.fc !== fc) {\n this.fc = fc;\n this._mdf.fc = true;\n updated = true;\n }\n if (this.m !== m) {\n this.m = m;\n this._mdf.m = true;\n updated = true;\n }\n if (p.length && (this.p[0] !== p[0] || this.p[1] !== p[1] || this.p[4] !== p[4] || this.p[5] !== p[5] || this.p[12] !== p[12] || this.p[13] !== p[13])) {\n this.p = p;\n this._mdf.p = true;\n updated = true;\n }\n return updated;\n };\n function TextProperty(elem, data) {\n this._frameId = initialDefaultFrame;\n this.pv = '';\n this.v = '';\n this.kf = false;\n this._isFirstFrame = true;\n this._mdf = false;\n this.data = data;\n this.elem = elem;\n this.comp = this.elem.comp;\n this.keysIndex = 0;\n this.canResize = false;\n this.minimumFontSize = 1;\n this.effectsSequence = [];\n this.currentData = {\n ascent: 0,\n boxWidth: this.defaultBoxWidth,\n f: '',\n fStyle: '',\n fWeight: '',\n fc: '',\n j: '',\n justifyOffset: '',\n l: [],\n lh: 0,\n lineWidths: [],\n ls: '',\n of: '',\n s: '',\n sc: '',\n sw: 0,\n t: 0,\n tr: 0,\n sz: 0,\n ps: null,\n fillColorAnim: false,\n strokeColorAnim: false,\n strokeWidthAnim: false,\n yOffset: 0,\n finalSize: 0,\n finalText: [],\n finalLineHeight: 0,\n __complete: false\n };\n this.copyData(this.currentData, this.data.d.k[0].s);\n if (!this.searchProperty()) {\n this.completeTextData(this.currentData);\n }\n }\n TextProperty.prototype.defaultBoxWidth = [0, 0];\n TextProperty.prototype.copyData = function (obj, data) {\n for (var s in data) {\n if (data.hasOwnProperty(s)) {\n obj[s] = data[s];\n }\n }\n return obj;\n };\n TextProperty.prototype.setCurrentData = function (data) {\n if (!data.__complete) {\n this.completeTextData(data);\n }\n this.currentData = data;\n this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;\n this._mdf = true;\n };\n TextProperty.prototype.searchProperty = function () {\n return this.searchKeyframes();\n };\n TextProperty.prototype.searchKeyframes = function () {\n this.kf = this.data.d.k.length > 1;\n if (this.kf) {\n this.addEffect(this.getKeyframeValue.bind(this));\n }\n return this.kf;\n };\n TextProperty.prototype.addEffect = function (effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.elem.addDynamicProperty(this);\n };\n TextProperty.prototype.getValue = function (_finalValue) {\n if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\n return;\n }\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var currentValue = this.currentData;\n var currentIndex = this.keysIndex;\n if (this.lock) {\n this.setCurrentData(this.currentData);\n return;\n }\n this.lock = true;\n this._mdf = false;\n var multipliedValue;\n var i,\n len = this.effectsSequence.length;\n var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\n for (i = 0; i < len; i += 1) {\n //Checking if index changed to prevent creating a new object every time the expression updates.\n if (currentIndex !== this.keysIndex) {\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\n } else {\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\n }\n }\n if (currentValue !== finalValue) {\n this.setCurrentData(finalValue);\n }\n this.pv = this.v = this.currentData;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n };\n TextProperty.prototype.getKeyframeValue = function () {\n var textKeys = this.data.d.k,\n textDocumentData;\n var frameNum = this.elem.comp.renderedFrame;\n var i = 0,\n len = textKeys.length;\n while (i <= len - 1) {\n textDocumentData = textKeys[i].s;\n if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n break;\n }\n i += 1;\n }\n if (this.keysIndex !== i) {\n this.keysIndex = i;\n }\n return this.data.d.k[this.keysIndex].s;\n };\n TextProperty.prototype.buildFinalText = function (text) {\n var combinedCharacters = FontManager.getCombinedCharacterCodes();\n var charactersArray = [];\n var i = 0,\n len = text.length;\n var charCode;\n while (i < len) {\n charCode = text.charCodeAt(i);\n if (combinedCharacters.indexOf(charCode) !== -1) {\n charactersArray[charactersArray.length - 1] += text.charAt(i);\n } else {\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n charCode = text.charCodeAt(i + 1);\n if (charCode >= 0xDC00 && charCode <= 0xDFFF) {\n charactersArray.push(text.substr(i, 2));\n ++i;\n } else {\n charactersArray.push(text.charAt(i));\n }\n } else {\n charactersArray.push(text.charAt(i));\n }\n }\n i += 1;\n }\n return charactersArray;\n };\n TextProperty.prototype.completeTextData = function (documentData) {\n documentData.__complete = true;\n var fontManager = this.elem.globalData.fontManager;\n var data = this.data;\n var letters = [];\n var i, len;\n var newLineFlag,\n index = 0,\n val;\n var anchorGrouping = data.m.g;\n var currentSize = 0,\n currentPos = 0,\n currentLine = 0,\n lineWidths = [];\n var lineWidth = 0;\n var maxLineWidth = 0;\n var j, jLen;\n var fontData = fontManager.getFontByName(documentData.f);\n var charData,\n cLength = 0;\n var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\n var fWeight = 'normal',\n fStyle = 'normal';\n len = styles.length;\n var styleName;\n for (i = 0; i < len; i += 1) {\n styleName = styles[i].toLowerCase();\n switch (styleName) {\n case 'italic':\n fStyle = 'italic';\n break;\n case 'bold':\n fWeight = '700';\n break;\n case 'black':\n fWeight = '900';\n break;\n case 'medium':\n fWeight = '500';\n break;\n case 'regular':\n case 'normal':\n fWeight = '400';\n break;\n case 'light':\n case 'thin':\n fWeight = '200';\n break;\n }\n }\n documentData.fWeight = fontData.fWeight || fWeight;\n documentData.fStyle = fStyle;\n documentData.finalSize = documentData.s;\n documentData.finalText = this.buildFinalText(documentData.t);\n len = documentData.finalText.length;\n documentData.finalLineHeight = documentData.lh;\n var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var charCode;\n if (documentData.sz) {\n var flag = true;\n var boxWidth = documentData.sz[0];\n var boxHeight = documentData.sz[1];\n var currentHeight, finalText;\n while (flag) {\n finalText = this.buildFinalText(documentData.t);\n currentHeight = 0;\n lineWidth = 0;\n len = finalText.length;\n trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var lastSpaceIndex = -1;\n for (i = 0; i < len; i += 1) {\n charCode = finalText[i].charCodeAt(0);\n newLineFlag = false;\n if (finalText[i] === ' ') {\n lastSpaceIndex = i;\n } else if (charCode === 13 || charCode === 3) {\n lineWidth = 0;\n newLineFlag = true;\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n }\n if (fontManager.chars) {\n charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n //tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n }\n if (lineWidth + cLength > boxWidth && finalText[i] !== ' ') {\n if (lastSpaceIndex === -1) {\n len += 1;\n } else {\n i = lastSpaceIndex;\n }\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n finalText.splice(i, lastSpaceIndex === i ? 1 : 0, \"\\r\");\n //finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n lastSpaceIndex = -1;\n lineWidth = 0;\n } else {\n lineWidth += cLength;\n lineWidth += trackingOffset;\n }\n }\n currentHeight += fontData.ascent * documentData.finalSize / 100;\n if (this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\n documentData.finalSize -= 1;\n documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n } else {\n documentData.finalText = finalText;\n len = documentData.finalText.length;\n flag = false;\n }\n }\n }\n lineWidth = -trackingOffset;\n cLength = 0;\n var uncollapsedSpaces = 0;\n var currentChar;\n for (i = 0; i < len; i += 1) {\n newLineFlag = false;\n currentChar = documentData.finalText[i];\n charCode = currentChar.charCodeAt(0);\n if (charCode === 13 || charCode === 3) {\n uncollapsedSpaces = 0;\n lineWidths.push(lineWidth);\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidth = -2 * trackingOffset;\n val = '';\n newLineFlag = true;\n currentLine += 1;\n } else {\n val = currentChar;\n }\n if (fontManager.chars) {\n charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n //var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n //tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n }\n\n //\n if (currentChar === ' ') {\n uncollapsedSpaces += cLength + trackingOffset;\n } else {\n lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n uncollapsedSpaces = 0;\n }\n letters.push({\n l: cLength,\n an: cLength,\n add: currentSize,\n n: newLineFlag,\n anIndexes: [],\n val: val,\n line: currentLine,\n animatorJustifyOffset: 0\n });\n if (anchorGrouping == 2) {\n currentSize += cLength;\n if (val === '' || val === ' ' || i === len - 1) {\n if (val === '' || val === ' ') {\n currentSize -= cLength;\n }\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n index += 1;\n currentSize = 0;\n }\n } else if (anchorGrouping == 3) {\n currentSize += cLength;\n if (val === '' || i === len - 1) {\n if (val === '') {\n currentSize -= cLength;\n }\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n currentSize = 0;\n index += 1;\n }\n } else {\n letters[index].ind = index;\n letters[index].extra = 0;\n index += 1;\n }\n }\n documentData.l = letters;\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidths.push(lineWidth);\n if (documentData.sz) {\n documentData.boxWidth = documentData.sz[0];\n documentData.justifyOffset = 0;\n } else {\n documentData.boxWidth = maxLineWidth;\n switch (documentData.j) {\n case 1:\n documentData.justifyOffset = -documentData.boxWidth;\n break;\n case 2:\n documentData.justifyOffset = -documentData.boxWidth / 2;\n break;\n default:\n documentData.justifyOffset = 0;\n }\n }\n documentData.lineWidths = lineWidths;\n var animators = data.a,\n animatorData,\n letterData;\n jLen = animators.length;\n var based,\n ind,\n indexes = [];\n for (j = 0; j < jLen; j += 1) {\n animatorData = animators[j];\n if (animatorData.a.sc) {\n documentData.strokeColorAnim = true;\n }\n if (animatorData.a.sw) {\n documentData.strokeWidthAnim = true;\n }\n if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n documentData.fillColorAnim = true;\n }\n ind = 0;\n based = animatorData.s.b;\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n letterData.anIndexes[j] = ind;\n if (based == 1 && letterData.val !== '' || based == 2 && letterData.val !== '' && letterData.val !== ' ' || based == 3 && (letterData.n || letterData.val == ' ' || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n if (animatorData.s.rn === 1) {\n indexes.push(ind);\n }\n ind += 1;\n }\n }\n data.a[j].s.totalChars = ind;\n var currentInd = -1,\n newInd;\n if (animatorData.s.rn === 1) {\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n if (currentInd != letterData.anIndexes[j]) {\n currentInd = letterData.anIndexes[j];\n newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n }\n letterData.anIndexes[j] = newInd;\n }\n }\n }\n documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n documentData.ls = documentData.ls || 0;\n documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n };\n TextProperty.prototype.updateDocumentData = function (newData, index) {\n index = index === undefined ? this.keysIndex : index;\n var dData = this.copyData({}, this.data.d.k[index].s);\n dData = this.copyData(dData, newData);\n this.data.d.k[index].s = dData;\n this.recalculate(index);\n this.elem.addDynamicProperty(this);\n };\n TextProperty.prototype.recalculate = function (index) {\n var dData = this.data.d.k[index].s;\n dData.__complete = false;\n this.keysIndex = 0;\n this._isFirstFrame = true;\n this.getValue(dData);\n };\n TextProperty.prototype.canResizeFont = function (_canResize) {\n this.canResize = _canResize;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n this.minimumFontSize = Math.floor(_fontValue) || 1;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n var TextSelectorProp = function () {\n var max = Math.max;\n var min = Math.min;\n var floor = Math.floor;\n function TextSelectorProp(elem, data) {\n this._currentTextLength = -1;\n this.k = false;\n this.data = data;\n this.elem = elem;\n this.comp = elem.comp;\n this.finalS = 0;\n this.finalE = 0;\n this.initDynamicPropertyContainer(elem);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: 0\n }, 0, 0, this);\n if ('e' in data) {\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this);\n } else {\n this.e = {\n v: 100\n };\n }\n this.o = PropertyFactory.getProp(elem, data.o || {\n k: 0\n }, 0, 0, this);\n this.xe = PropertyFactory.getProp(elem, data.xe || {\n k: 0\n }, 0, 0, this);\n this.ne = PropertyFactory.getProp(elem, data.ne || {\n k: 0\n }, 0, 0, this);\n this.a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this);\n if (!this.dynamicProperties.length) {\n this.getValue();\n }\n }\n TextSelectorProp.prototype = {\n getMult: function (ind) {\n if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) {\n this.getValue();\n }\n //var easer = bez.getEasingCurve(this.ne.v/100,0,1-this.xe.v/100,1);\n var x1 = 0;\n var y1 = 0;\n var x2 = 1;\n var y2 = 1;\n if (this.ne.v > 0) {\n x1 = this.ne.v / 100.0;\n } else {\n y1 = -this.ne.v / 100.0;\n }\n if (this.xe.v > 0) {\n x2 = 1.0 - this.xe.v / 100.0;\n } else {\n y2 = 1.0 + this.xe.v / 100.0;\n }\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n var mult = 0;\n var s = this.finalS;\n var e = this.finalE;\n var type = this.data.sh;\n if (type === 2) {\n if (e === s) {\n mult = ind >= e ? 1 : 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n mult = easer(mult);\n } else if (type === 3) {\n if (e === s) {\n mult = ind >= e ? 0 : 1;\n } else {\n mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n mult = easer(mult);\n } else if (type === 4) {\n if (e === s) {\n mult = 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n if (mult < 0.5) {\n mult *= 2;\n } else {\n mult = 1 - 2 * (mult - 0.5);\n }\n }\n mult = easer(mult);\n } else if (type === 5) {\n if (e === s) {\n mult = 0;\n } else {\n var tot = e - s;\n /*ind += 0.5;\r\n mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind;*/\n ind = min(max(0, ind + 0.5 - s), e - s);\n var x = -tot / 2 + ind;\n var a = tot / 2;\n mult = Math.sqrt(1 - x * x / (a * a));\n }\n mult = easer(mult);\n } else if (type === 6) {\n if (e === s) {\n mult = 0;\n } else {\n ind = min(max(0, ind + 0.5 - s), e - s);\n mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2;\n }\n mult = easer(mult);\n } else {\n if (ind >= floor(s)) {\n if (ind - s < 0) {\n mult = max(0, min(min(e, 1) - (s - ind), 1));\n } else {\n mult = max(0, min(e - ind, 1));\n }\n }\n mult = easer(mult);\n }\n return mult * this.a.v;\n },\n getValue: function (newCharsFlag) {\n this.iterateDynamicProperties();\n this._mdf = newCharsFlag || this._mdf;\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\n if (newCharsFlag && this.data.r === 2) {\n this.e.v = this._currentTextLength;\n }\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\n var o = this.o.v / divisor;\n var s = this.s.v / divisor + o;\n var e = this.e.v / divisor + o;\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n this.finalS = s;\n this.finalE = e;\n }\n };\n extendPrototype([DynamicPropertyContainer], TextSelectorProp);\n function getTextSelectorProp(elem, data, arr) {\n return new TextSelectorProp(elem, data, arr);\n }\n return {\n getTextSelectorProp: getTextSelectorProp\n };\n }();\n var pool_factory = function () {\n return function (initialLength, _create, _release, _clone) {\n var _length = 0;\n var _maxLength = initialLength;\n var pool = createSizedArray(_maxLength);\n var ob = {\n newElement: newElement,\n release: release\n };\n function newElement() {\n var element;\n if (_length) {\n _length -= 1;\n element = pool[_length];\n } else {\n element = _create();\n }\n return element;\n }\n function release(element) {\n if (_length === _maxLength) {\n pool = pooling.double(pool);\n _maxLength = _maxLength * 2;\n }\n if (_release) {\n _release(element);\n }\n pool[_length] = element;\n _length += 1;\n }\n function clone() {\n var clonedElement = newElement();\n return _clone(clonedElement);\n }\n return ob;\n };\n }();\n var pooling = function () {\n function double(arr) {\n return arr.concat(createSizedArray(arr.length));\n }\n return {\n double: double\n };\n }();\n var point_pool = function () {\n function create() {\n return createTypedArray('float32', 2);\n }\n return pool_factory(8, create);\n }();\n var shape_pool = function () {\n function create() {\n return new ShapePath();\n }\n function release(shapePath) {\n var len = shapePath._length,\n i;\n for (i = 0; i < len; i += 1) {\n point_pool.release(shapePath.v[i]);\n point_pool.release(shapePath.i[i]);\n point_pool.release(shapePath.o[i]);\n shapePath.v[i] = null;\n shapePath.i[i] = null;\n shapePath.o[i] = null;\n }\n shapePath._length = 0;\n shapePath.c = false;\n }\n function clone(shape) {\n var cloned = factory.newElement();\n var i,\n len = shape._length === undefined ? shape.v.length : shape._length;\n cloned.setLength(len);\n cloned.c = shape.c;\n var pt;\n for (i = 0; i < len; i += 1) {\n cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n }\n return cloned;\n }\n var factory = pool_factory(4, create, release);\n factory.clone = clone;\n return factory;\n }();\n var shapeCollection_pool = function () {\n var ob = {\n newShapeCollection: newShapeCollection,\n release: release\n };\n var _length = 0;\n var _maxLength = 4;\n var pool = createSizedArray(_maxLength);\n function newShapeCollection() {\n var shapeCollection;\n if (_length) {\n _length -= 1;\n shapeCollection = pool[_length];\n } else {\n shapeCollection = new ShapeCollection();\n }\n return shapeCollection;\n }\n function release(shapeCollection) {\n var i,\n len = shapeCollection._length;\n for (i = 0; i < len; i += 1) {\n shape_pool.release(shapeCollection.shapes[i]);\n }\n shapeCollection._length = 0;\n if (_length === _maxLength) {\n pool = pooling.double(pool);\n _maxLength = _maxLength * 2;\n }\n pool[_length] = shapeCollection;\n _length += 1;\n }\n return ob;\n }();\n var segments_length_pool = function () {\n function create() {\n return {\n lengths: [],\n totalLength: 0\n };\n }\n function release(element) {\n var i,\n len = element.lengths.length;\n for (i = 0; i < len; i += 1) {\n bezier_length_pool.release(element.lengths[i]);\n }\n element.lengths.length = 0;\n }\n return pool_factory(8, create, release);\n }();\n var bezier_length_pool = function () {\n function create() {\n return {\n addedLength: 0,\n percents: createTypedArray('float32', defaultCurveSegments),\n lengths: createTypedArray('float32', defaultCurveSegments)\n };\n }\n return pool_factory(8, create);\n }();\n function BaseRenderer() {}\n BaseRenderer.prototype.checkLayers = function (num) {\n var i,\n len = this.layers.length,\n data;\n this.completeLayers = true;\n for (i = len - 1; i >= 0; i--) {\n if (!this.elements[i]) {\n data = this.layers[i];\n if (data.ip - data.st <= num - this.layers[i].st && data.op - data.st > num - this.layers[i].st) {\n this.buildItem(i);\n }\n }\n this.completeLayers = this.elements[i] ? this.completeLayers : false;\n }\n this.checkPendingElements();\n };\n BaseRenderer.prototype.createItem = function (layer) {\n switch (layer.ty) {\n case 2:\n return this.createImage(layer);\n case 0:\n return this.createComp(layer);\n case 1:\n return this.createSolid(layer);\n case 3:\n return this.createNull(layer);\n case 4:\n return this.createShape(layer);\n case 5:\n return this.createText(layer);\n case 6:\n return this.createAudio(layer);\n case 13:\n return this.createCamera(layer);\n }\n return this.createNull(layer);\n };\n BaseRenderer.prototype.createCamera = function () {\n throw new Error('You\\'re using a 3d camera. Try the html renderer.');\n };\n BaseRenderer.prototype.createAudio = function (data) {\n return new AudioElement(data, this.globalData, this);\n };\n BaseRenderer.prototype.buildAllItems = function () {\n var i,\n len = this.layers.length;\n for (i = 0; i < len; i += 1) {\n this.buildItem(i);\n }\n this.checkPendingElements();\n };\n BaseRenderer.prototype.includeLayers = function (newLayers) {\n this.completeLayers = false;\n var i,\n len = newLayers.length;\n var j,\n jLen = this.layers.length;\n for (i = 0; i < len; i += 1) {\n j = 0;\n while (j < jLen) {\n if (this.layers[j].id == newLayers[i].id) {\n this.layers[j] = newLayers[i];\n break;\n }\n j += 1;\n }\n }\n };\n BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n this.globalData.projectInterface = pInterface;\n };\n BaseRenderer.prototype.initItems = function () {\n if (!this.globalData.progressiveLoad) {\n this.buildAllItems();\n }\n };\n BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n var elements = this.elements;\n var layers = this.layers;\n var i = 0,\n len = layers.length;\n while (i < len) {\n if (layers[i].ind == parentName) {\n if (!elements[i] || elements[i] === true) {\n this.buildItem(i);\n this.addPendingElement(element);\n } else {\n hierarchy.push(elements[i]);\n elements[i].setAsParent();\n if (layers[i].parent !== undefined) {\n this.buildElementParenting(element, layers[i].parent, hierarchy);\n } else {\n element.setHierarchy(hierarchy);\n }\n }\n }\n i += 1;\n }\n };\n BaseRenderer.prototype.addPendingElement = function (element) {\n this.pendingElements.push(element);\n };\n BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n var i,\n len = assets.length;\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i]);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n this.globalData.fontManager = new FontManager();\n this.globalData.fontManager.addChars(animData.chars);\n this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);\n this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);\n this.globalData.imageLoader = this.animationItem.imagePreloader;\n this.globalData.audioController = this.animationItem.audioController;\n this.globalData.frameId = 0;\n this.globalData.frameRate = animData.fr;\n this.globalData.nm = animData.nm;\n this.globalData.compSize = {\n w: animData.w,\n h: animData.h\n };\n };\n function SVGRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.svgElement = createNS('svg');\n var ariaLabel = '';\n if (config && config.title) {\n var titleElement = createNS('title');\n var titleId = createElementID();\n titleElement.setAttribute('id', titleId);\n titleElement.textContent = config.title;\n this.svgElement.appendChild(titleElement);\n ariaLabel += titleId;\n }\n if (config && config.description) {\n var descElement = createNS('desc');\n var descId = createElementID();\n descElement.setAttribute('id', descId);\n descElement.textContent = config.description;\n this.svgElement.appendChild(descElement);\n ariaLabel += ' ' + descId;\n }\n if (ariaLabel) {\n this.svgElement.setAttribute('aria-labelledby', ariaLabel);\n }\n var defs = createNS('defs');\n this.svgElement.appendChild(defs);\n var maskElement = createNS('g');\n this.svgElement.appendChild(maskElement);\n this.layerElement = maskElement;\n this.renderConfig = {\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n progressiveLoad: config && config.progressiveLoad || false,\n hideOnTransparent: config && config.hideOnTransparent === false ? false : true,\n viewBoxOnly: config && config.viewBoxOnly || false,\n viewBoxSize: config && config.viewBoxSize || false,\n className: config && config.className || '',\n id: config && config.id || '',\n focusable: config && config.focusable,\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '100%',\n height: config && config.filterSize && config.filterSize.height || '100%',\n x: config && config.filterSize && config.filterSize.x || '0%',\n y: config && config.filterSize && config.filterSize.y || '0%'\n }\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n defs: defs,\n renderConfig: this.renderConfig\n };\n this.elements = [];\n this.pendingElements = [];\n this.destroyed = false;\n this.rendererType = 'svg';\n }\n extendPrototype([BaseRenderer], SVGRenderer);\n SVGRenderer.prototype.createNull = function (data) {\n return new NullElement(data, this.globalData, this);\n };\n SVGRenderer.prototype.createShape = function (data) {\n return new SVGShapeElement(data, this.globalData, this);\n };\n SVGRenderer.prototype.createText = function (data) {\n return new SVGTextElement(data, this.globalData, this);\n };\n SVGRenderer.prototype.createImage = function (data) {\n return new IImageElement(data, this.globalData, this);\n };\n SVGRenderer.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n SVGRenderer.prototype.createSolid = function (data) {\n return new ISolidElement(data, this.globalData, this);\n };\n SVGRenderer.prototype.configAnimation = function (animData) {\n this.svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n if (this.renderConfig.viewBoxSize) {\n this.svgElement.setAttribute('viewBox', this.renderConfig.viewBoxSize);\n } else {\n this.svgElement.setAttribute('viewBox', '0 0 ' + animData.w + ' ' + animData.h);\n }\n if (!this.renderConfig.viewBoxOnly) {\n this.svgElement.setAttribute('width', animData.w);\n this.svgElement.setAttribute('height', animData.h);\n this.svgElement.style.width = '100%';\n this.svgElement.style.height = '100%';\n this.svgElement.style.transform = 'translate3d(0,0,0)';\n }\n if (this.renderConfig.className) {\n this.svgElement.setAttribute('class', this.renderConfig.className);\n }\n if (this.renderConfig.id) {\n this.svgElement.setAttribute('id', this.renderConfig.id);\n }\n if (this.renderConfig.focusable !== undefined) {\n this.svgElement.setAttribute('focusable', this.renderConfig.focusable);\n }\n this.svgElement.setAttribute('preserveAspectRatio', this.renderConfig.preserveAspectRatio);\n //this.layerElement.style.transform = 'translate3d(0,0,0)';\n //this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n this.animationItem.wrapper.appendChild(this.svgElement);\n //Mask animation\n var defs = this.globalData.defs;\n this.setupGlobalData(animData, defs);\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.data = animData;\n var maskElement = createNS('clipPath');\n var rect = createNS('rect');\n rect.setAttribute('width', animData.w);\n rect.setAttribute('height', animData.h);\n rect.setAttribute('x', 0);\n rect.setAttribute('y', 0);\n var maskId = createElementID();\n maskElement.setAttribute('id', maskId);\n maskElement.appendChild(rect);\n this.layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + maskId + \")\");\n defs.appendChild(maskElement);\n this.layers = animData.layers;\n this.elements = createSizedArray(animData.layers.length);\n };\n SVGRenderer.prototype.destroy = function () {\n this.animationItem.wrapper.innerText = '';\n this.layerElement = null;\n this.globalData.defs = null;\n var i,\n len = this.layers ? this.layers.length : 0;\n for (i = 0; i < len; i++) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n SVGRenderer.prototype.updateContainerSize = function () {};\n SVGRenderer.prototype.buildItem = function (pos) {\n var elements = this.elements;\n if (elements[pos] || this.layers[pos].ty == 99) {\n return;\n }\n elements[pos] = true;\n var element = this.createItem(this.layers[pos]);\n elements[pos] = element;\n if (expressionsPlugin) {\n if (this.layers[pos].ty === 0) {\n this.globalData.projectInterface.registerComposition(element);\n }\n element.initExpressions();\n }\n this.appendElementInPos(element, pos);\n if (this.layers[pos].tt) {\n if (!this.elements[pos - 1] || this.elements[pos - 1] === true) {\n this.buildItem(pos - 1);\n this.addPendingElement(element);\n } else {\n element.setMatte(elements[pos - 1].layerId);\n }\n }\n };\n SVGRenderer.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n if (element.data.tt) {\n var i = 0,\n len = this.elements.length;\n while (i < len) {\n if (this.elements[i] === element) {\n element.setMatte(this.elements[i - 1].layerId);\n break;\n }\n i += 1;\n }\n }\n }\n };\n SVGRenderer.prototype.renderFrame = function (num) {\n if (this.renderedFrame === num || this.destroyed) {\n return;\n }\n if (num === null) {\n num = this.renderedFrame;\n } else {\n this.renderedFrame = num;\n }\n // console.log('-------');\n // console.log('FRAME ',num);\n this.globalData.frameNum = num;\n this.globalData.frameId += 1;\n this.globalData.projectInterface.currentFrame = num;\n this.globalData._mdf = false;\n var i,\n len = this.layers.length;\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n for (i = len - 1; i >= 0; i--) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n if (this.globalData._mdf) {\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n }\n };\n SVGRenderer.prototype.appendElementInPos = function (element, pos) {\n var newElement = element.getBaseElement();\n if (!newElement) {\n return;\n }\n var i = 0;\n var nextElement;\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) {\n nextElement = this.elements[i].getBaseElement();\n }\n i += 1;\n }\n if (nextElement) {\n this.layerElement.insertBefore(newElement, nextElement);\n } else {\n this.layerElement.appendChild(newElement);\n }\n };\n SVGRenderer.prototype.hide = function () {\n this.layerElement.style.display = 'none';\n };\n SVGRenderer.prototype.show = function () {\n this.layerElement.style.display = 'block';\n };\n function MaskElement(data, element, globalData) {\n this.data = data;\n this.element = element;\n this.globalData = globalData;\n this.storedData = [];\n this.masksProperties = this.data.masksProperties || [];\n this.maskElement = null;\n var defs = this.globalData.defs;\n var i,\n len = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(len);\n this.solidPath = '';\n var path,\n properties = this.masksProperties;\n var count = 0;\n var currentMasks = [];\n var j, jLen;\n var layerId = createElementID();\n var rect, expansor, feMorph, x;\n var maskType = 'clipPath',\n maskRef = 'clip-path';\n for (i = 0; i < len; i++) {\n if (properties[i].mode !== 'a' && properties[i].mode !== 'n' || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n maskType = 'mask';\n maskRef = 'mask';\n }\n if ((properties[i].mode == 's' || properties[i].mode == 'i') && count === 0) {\n rect = createNS('rect');\n rect.setAttribute('fill', '#ffffff');\n rect.setAttribute('width', this.element.comp.data.w || 0);\n rect.setAttribute('height', this.element.comp.data.h || 0);\n currentMasks.push(rect);\n } else {\n rect = null;\n }\n path = createNS('path');\n if (properties[i].mode == 'n') {\n // TODO move this to a factory or to a constructor\n this.viewData[i] = {\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n elem: path,\n lastPath: ''\n };\n defs.appendChild(path);\n continue;\n }\n count += 1;\n path.setAttribute('fill', properties[i].mode === 's' ? '#000000' : '#ffffff');\n path.setAttribute('clip-rule', 'nonzero');\n var filterID;\n if (properties[i].x.k !== 0) {\n maskType = 'mask';\n maskRef = 'mask';\n x = PropertyFactory.getProp(this.element, properties[i].x, 0, null, this.element);\n filterID = createElementID();\n expansor = createNS('filter');\n expansor.setAttribute('id', filterID);\n feMorph = createNS('feMorphology');\n feMorph.setAttribute('operator', 'erode');\n feMorph.setAttribute('in', 'SourceGraphic');\n feMorph.setAttribute('radius', '0');\n expansor.appendChild(feMorph);\n defs.appendChild(expansor);\n path.setAttribute('stroke', properties[i].mode === 's' ? '#000000' : '#ffffff');\n } else {\n feMorph = null;\n x = null;\n }\n\n // TODO move this to a factory or to a constructor\n this.storedData[i] = {\n elem: path,\n x: x,\n expan: feMorph,\n lastPath: '',\n lastOperator: '',\n filterId: filterID,\n lastRadius: 0\n };\n if (properties[i].mode == 'i') {\n jLen = currentMasks.length;\n var g = createNS('g');\n for (j = 0; j < jLen; j += 1) {\n g.appendChild(currentMasks[j]);\n }\n var mask = createNS('mask');\n mask.setAttribute('mask-type', 'alpha');\n mask.setAttribute('id', layerId + '_' + count);\n mask.appendChild(path);\n defs.appendChild(mask);\n g.setAttribute('mask', 'url(' + locationHref + '#' + layerId + '_' + count + ')');\n currentMasks.length = 0;\n currentMasks.push(g);\n } else {\n currentMasks.push(path);\n }\n if (properties[i].inv && !this.solidPath) {\n this.solidPath = this.createLayerSolidPath();\n }\n // TODO move this to a factory or to a constructor\n this.viewData[i] = {\n elem: path,\n lastPath: '',\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n invRect: rect\n };\n if (!this.viewData[i].prop.k) {\n this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n }\n this.maskElement = createNS(maskType);\n len = currentMasks.length;\n for (i = 0; i < len; i += 1) {\n this.maskElement.appendChild(currentMasks[i]);\n }\n if (count > 0) {\n this.maskElement.setAttribute('id', layerId);\n this.element.maskedElement.setAttribute(maskRef, \"url(\" + locationHref + \"#\" + layerId + \")\");\n defs.appendChild(this.maskElement);\n }\n if (this.viewData.length) {\n this.element.addRenderableComponent(this);\n }\n }\n MaskElement.prototype.getMaskProperty = function (pos) {\n return this.viewData[pos].prop;\n };\n MaskElement.prototype.renderFrame = function (isFirstFrame) {\n var finalMat = this.element.finalTransform.mat;\n var i,\n len = this.masksProperties.length;\n for (i = 0; i < len; i++) {\n if (this.viewData[i].prop._mdf || isFirstFrame) {\n this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n if (this.viewData[i].op._mdf || isFirstFrame) {\n this.viewData[i].elem.setAttribute('fill-opacity', this.viewData[i].op.v);\n }\n if (this.masksProperties[i].mode !== 'n') {\n if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) {\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS());\n }\n if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) {\n var feMorph = this.storedData[i].expan;\n if (this.storedData[i].x.v < 0) {\n if (this.storedData[i].lastOperator !== 'erode') {\n this.storedData[i].lastOperator = 'erode';\n this.storedData[i].elem.setAttribute('filter', 'url(' + locationHref + '#' + this.storedData[i].filterId + ')');\n }\n feMorph.setAttribute('radius', -this.storedData[i].x.v);\n } else {\n if (this.storedData[i].lastOperator !== 'dilate') {\n this.storedData[i].lastOperator = 'dilate';\n this.storedData[i].elem.setAttribute('filter', null);\n }\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v * 2);\n }\n }\n }\n }\n };\n MaskElement.prototype.getMaskelement = function () {\n return this.maskElement;\n };\n MaskElement.prototype.createLayerSolidPath = function () {\n var path = 'M0,0 ';\n path += ' h' + this.globalData.compSize.w;\n path += ' v' + this.globalData.compSize.h;\n path += ' h-' + this.globalData.compSize.w;\n path += ' v-' + this.globalData.compSize.h + ' ';\n return path;\n };\n MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n var pathString = \" M\" + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n var i, len;\n len = pathNodes._length;\n for (i = 1; i < len; i += 1) {\n //pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n pathString += \" C\" + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + \" \" + pathNodes.i[i][0] + ',' + pathNodes.i[i][1] + \" \" + pathNodes.v[i][0] + ',' + pathNodes.v[i][1];\n }\n //pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n if (pathNodes.c && len > 1) {\n pathString += \" C\" + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + \" \" + pathNodes.i[0][0] + ',' + pathNodes.i[0][1] + \" \" + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n }\n //pathNodes.__renderedString = pathString;\n\n if (viewData.lastPath !== pathString) {\n var pathShapeValue = '';\n if (viewData.elem) {\n if (pathNodes.c) {\n pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\n }\n viewData.elem.setAttribute('d', pathShapeValue);\n }\n viewData.lastPath = pathString;\n }\n };\n MaskElement.prototype.destroy = function () {\n this.element = null;\n this.globalData = null;\n this.maskElement = null;\n this.data = null;\n this.masksProperties = null;\n };\n\n /**\r\n * @file \r\n * Handles AE's layer parenting property.\r\n *\r\n */\n\n function HierarchyElement() {}\n HierarchyElement.prototype = {\n /**\r\n * @function \r\n * Initializes hierarchy properties\r\n *\r\n */\n initHierarchy: function () {\n //element's parent list\n this.hierarchy = [];\n //if element is parent of another layer _isParent will be true\n this._isParent = false;\n this.checkParenting();\n },\n /**\r\n * @function \r\n * Sets layer's hierarchy.\r\n * @param {array} hierarch\r\n * layer's parent list\r\n *\r\n */\n setHierarchy: function (hierarchy) {\n this.hierarchy = hierarchy;\n },\n /**\r\n * @function \r\n * Sets layer as parent.\r\n *\r\n */\n setAsParent: function () {\n this._isParent = true;\n },\n /**\r\n * @function \r\n * Searches layer's parenting chain\r\n *\r\n */\n checkParenting: function () {\n if (this.data.parent !== undefined) {\n this.comp.buildElementParenting(this, this.data.parent, []);\n }\n }\n };\n /**\r\n * @file \r\n * Handles element's layer frame update.\r\n * Checks layer in point and out point\r\n *\r\n */\n\n function FrameElement() {}\n FrameElement.prototype = {\n /**\r\n * @function \r\n * Initializes frame related properties.\r\n *\r\n */\n initFrame: function () {\n //set to true when inpoint is rendered\n this._isFirstFrame = false;\n //list of animated properties\n this.dynamicProperties = [];\n // If layer has been modified in current tick this will be true\n this._mdf = false;\n },\n /**\r\n * @function \r\n * Calculates all dynamic values\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * @param {boolean} isVisible\r\n * if layers is currently in range\r\n * \r\n */\n prepareProperties: function (num, isVisible) {\n var i,\n len = this.dynamicProperties.length;\n for (i = 0; i < len; i += 1) {\n if (isVisible || this._isParent && this.dynamicProperties[i].propType === 'transform') {\n this.dynamicProperties[i].getValue();\n if (this.dynamicProperties[i]._mdf) {\n this.globalData._mdf = true;\n this._mdf = true;\n }\n }\n }\n },\n addDynamicProperty: function (prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n }\n }\n };\n function TransformElement() {}\n TransformElement.prototype = {\n initTransform: function () {\n this.finalTransform = {\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\n o: 0\n },\n _matMdf: false,\n _opMdf: false,\n mat: new Matrix()\n };\n if (this.data.ao) {\n this.finalTransform.mProp.autoOriented = true;\n }\n\n //TODO: check TYPE 11: Guided elements\n if (this.data.ty !== 11) {\n //this.createElements();\n }\n },\n renderTransform: function () {\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\n if (this.hierarchy) {\n var mat;\n var finalMat = this.finalTransform.mat;\n var i = 0,\n len = this.hierarchy.length;\n //Checking if any of the transformation matrices in the hierarchy chain has changed.\n if (!this.finalTransform._matMdf) {\n while (i < len) {\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = true;\n break;\n }\n i += 1;\n }\n }\n if (this.finalTransform._matMdf) {\n mat = this.finalTransform.mProp.v.props;\n finalMat.cloneFromProps(mat);\n for (i = 0; i < len; i += 1) {\n mat = this.hierarchy[i].finalTransform.mProp.v.props;\n finalMat.transform(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5], mat[6], mat[7], mat[8], mat[9], mat[10], mat[11], mat[12], mat[13], mat[14], mat[15]);\n }\n }\n }\n },\n globalToLocal: function (pt) {\n var transforms = [];\n transforms.push(this.finalTransform);\n var flag = true;\n var comp = this.comp;\n while (flag) {\n if (comp.finalTransform) {\n if (comp.data.hasMask) {\n transforms.splice(0, 0, comp.finalTransform);\n }\n comp = comp.comp;\n } else {\n flag = false;\n }\n }\n var i,\n len = transforms.length,\n ptNew;\n for (i = 0; i < len; i += 1) {\n ptNew = transforms[i].mat.applyToPointArray(0, 0, 0);\n //ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n }\n return pt;\n },\n mHelper: new Matrix()\n };\n function RenderableElement() {}\n RenderableElement.prototype = {\n initRenderable: function () {\n //layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n this.isInRange = false;\n //layer's display state\n this.hidden = false;\n // If layer's transparency equals 0, it can be hidden\n this.isTransparent = false;\n //list of animated components\n this.renderableComponents = [];\n },\n addRenderableComponent: function (component) {\n if (this.renderableComponents.indexOf(component) === -1) {\n this.renderableComponents.push(component);\n }\n },\n removeRenderableComponent: function (component) {\n if (this.renderableComponents.indexOf(component) !== -1) {\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\n }\n },\n prepareRenderableFrame: function (num) {\n this.checkLayerLimits(num);\n },\n checkTransparency: function () {\n if (this.finalTransform.mProp.o.v <= 0) {\n if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) {\n this.isTransparent = true;\n this.hide();\n }\n } else if (this.isTransparent) {\n this.isTransparent = false;\n this.show();\n }\n },\n /**\r\n * @function \r\n * Initializes frame related properties.\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * \r\n */\n checkLayerLimits: function (num) {\n if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) {\n if (this.isInRange !== true) {\n this.globalData._mdf = true;\n this._mdf = true;\n this.isInRange = true;\n this.show();\n }\n } else {\n if (this.isInRange !== false) {\n this.globalData._mdf = true;\n this.isInRange = false;\n this.hide();\n }\n }\n },\n renderRenderable: function () {\n var i,\n len = this.renderableComponents.length;\n for (i = 0; i < len; i += 1) {\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\n }\n /*this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.renderFrame(this._isFirstFrame);*/\n },\n sourceRectAtTime: function () {\n return {\n top: 0,\n left: 0,\n width: 100,\n height: 100\n };\n },\n getLayerSize: function () {\n if (this.data.ty === 5) {\n return {\n w: this.data.textData.width,\n h: this.data.textData.height\n };\n } else {\n return {\n w: this.data.width,\n h: this.data.height\n };\n }\n }\n };\n function RenderableDOMElement() {}\n (function () {\n var _prototype = {\n initElement: function (data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n },\n hide: function () {\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'none';\n this.hidden = true;\n }\n },\n show: function () {\n if (this.isInRange && !this.isTransparent) {\n if (!this.data.hd) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'block';\n }\n this.hidden = false;\n this._isFirstFrame = true;\n }\n },\n renderFrame: function () {\n //If it is exported as hidden (data.hd === true) no need to render\n //If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n this.renderTransform();\n this.renderRenderable();\n this.renderElement();\n this.renderInnerContent();\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n renderInnerContent: function () {},\n prepareFrame: function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n this.checkTransparency();\n },\n destroy: function () {\n this.innerElem = null;\n this.destroyBaseElement();\n }\n };\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n })();\n function ProcessedElement(element, position) {\n this.elem = element;\n this.pos = position;\n }\n function SVGStyleData(data, level) {\n this.data = data;\n this.type = data.ty;\n this.d = '';\n this.lvl = level;\n this._mdf = false;\n this.closed = data.hd === true;\n this.pElem = createNS('path');\n this.msElem = null;\n }\n SVGStyleData.prototype.reset = function () {\n this.d = '';\n this._mdf = false;\n };\n function SVGShapeData(transformers, level, shape) {\n this.caches = [];\n this.styles = [];\n this.transformers = transformers;\n this.lStr = '';\n this.sh = shape;\n this.lvl = level;\n //TODO find if there are some cases where _isAnimated can be false. \n // For now, since shapes add up with other shapes. They have to be calculated every time.\n // One way of finding out is checking if all styles associated to this shape depend only of this shape\n this._isAnimated = !!shape.k;\n // TODO: commenting this for now since all shapes are animated\n var i = 0,\n len = transformers.length;\n while (i < len) {\n if (transformers[i].mProps.dynamicProperties.length) {\n this._isAnimated = true;\n break;\n }\n i += 1;\n }\n }\n SVGShapeData.prototype.setAsAnimated = function () {\n this._isAnimated = true;\n };\n function SVGTransformData(mProps, op, container) {\n this.transform = {\n mProps: mProps,\n op: op,\n container: container\n };\n this.elements = [];\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n function SVGStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n this._isAnimated = !!this._isAnimated;\n }\n extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n function SVGFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n }\n extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n function SVGGradientFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.initGradientData(elem, data, styleOb);\n }\n SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, null, this);\n this.e = PropertyFactory.getProp(elem, data.e, 1, null, this);\n this.h = PropertyFactory.getProp(elem, data.h || {\n k: 0\n }, 0, 0.01, this);\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: 0\n }, 0, degToRads, this);\n this.g = new GradientProperty(elem, data.g, this);\n this.style = styleOb;\n this.stops = [];\n this.setGradientData(styleOb.pElem, data);\n this.setGradientOpacity(data, styleOb);\n this._isAnimated = !!this._isAnimated;\n };\n SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n var gradientId = createElementID();\n var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n gfill.setAttribute('id', gradientId);\n gfill.setAttribute('spreadMethod', 'pad');\n gfill.setAttribute('gradientUnits', 'userSpaceOnUse');\n var stops = [];\n var stop, j, jLen;\n jLen = data.g.p * 4;\n for (j = 0; j < jLen; j += 4) {\n stop = createNS('stop');\n gfill.appendChild(stop);\n stops.push(stop);\n }\n pathElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + locationHref + '#' + gradientId + ')');\n this.gf = gfill;\n this.cst = stops;\n };\n SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var stop, j, jLen;\n var mask = createNS(\"mask\");\n var maskElement = createNS('path');\n mask.appendChild(maskElement);\n var opacityId = createElementID();\n var maskId = createElementID();\n mask.setAttribute('id', maskId);\n var opFill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n opFill.setAttribute('id', opacityId);\n opFill.setAttribute('spreadMethod', 'pad');\n opFill.setAttribute('gradientUnits', 'userSpaceOnUse');\n jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n var stops = this.stops;\n for (j = data.g.p * 4; j < jLen; j += 2) {\n stop = createNS('stop');\n stop.setAttribute('stop-color', 'rgb(255,255,255)');\n opFill.appendChild(stop);\n stops.push(stop);\n }\n maskElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + locationHref + '#' + opacityId + ')');\n this.of = opFill;\n this.ms = mask;\n this.ost = stops;\n this.maskId = maskId;\n styleOb.msElem = maskElement;\n }\n };\n extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n function SVGGradientStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.initGradientData(elem, data, styleOb);\n this._isAnimated = !!this._isAnimated;\n }\n extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n function ShapeGroupData() {\n this.it = [];\n this.prevViewData = [];\n this.gr = createNS('g');\n }\n var SVGElementsRenderer = function () {\n var _identityMatrix = new Matrix();\n var _matrixHelper = new Matrix();\n var ob = {\n createRenderFunction: createRenderFunction\n };\n function createRenderFunction(data) {\n var ty = data.ty;\n switch (data.ty) {\n case 'fl':\n return renderFill;\n case 'gf':\n return renderGradient;\n case 'gs':\n return renderGradientStroke;\n case 'st':\n return renderStroke;\n case 'sh':\n case 'el':\n case 'rc':\n case 'sr':\n return renderPath;\n case 'tr':\n return renderContentTransform;\n }\n }\n function renderContentTransform(styleData, itemData, isFirstFrame) {\n if (isFirstFrame || itemData.transform.op._mdf) {\n itemData.transform.container.setAttribute('opacity', itemData.transform.op.v);\n }\n if (isFirstFrame || itemData.transform.mProps._mdf) {\n itemData.transform.container.setAttribute('transform', itemData.transform.mProps.v.to2dCSS());\n }\n }\n function renderPath(styleData, itemData, isFirstFrame) {\n var j,\n jLen,\n pathStringTransformed,\n redraw,\n pathNodes,\n l,\n lLen = itemData.styles.length;\n var lvl = itemData.lvl;\n var paths, mat, props, iterations, k;\n for (l = 0; l < lLen; l += 1) {\n redraw = itemData.sh._mdf || isFirstFrame;\n if (itemData.styles[l].lvl < lvl) {\n mat = _matrixHelper.reset();\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n while (!redraw && iterations > 0) {\n redraw = itemData.transformers[k].mProps._mdf || redraw;\n iterations--;\n k--;\n }\n if (redraw) {\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n while (iterations > 0) {\n props = itemData.transformers[k].mProps.v.props;\n mat.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\n iterations--;\n k--;\n }\n }\n } else {\n mat = _identityMatrix;\n }\n paths = itemData.sh.paths;\n jLen = paths._length;\n if (redraw) {\n pathStringTransformed = '';\n for (j = 0; j < jLen; j += 1) {\n pathNodes = paths.shapes[j];\n if (pathNodes && pathNodes._length) {\n pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n }\n }\n itemData.caches[l] = pathStringTransformed;\n } else {\n pathStringTransformed = itemData.caches[l];\n }\n itemData.styles[l].d += styleData.hd === true ? '' : pathStringTransformed;\n itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n }\n }\n function renderFill(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n if (itemData.c._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill', 'rgb(' + bm_floor(itemData.c.v[0]) + ',' + bm_floor(itemData.c.v[1]) + ',' + bm_floor(itemData.c.v[2]) + ')');\n }\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill-opacity', itemData.o.v);\n }\n }\n ;\n function renderGradientStroke(styleData, itemData, isFirstFrame) {\n renderGradient(styleData, itemData, isFirstFrame);\n renderStroke(styleData, itemData, isFirstFrame);\n }\n function renderGradient(styleData, itemData, isFirstFrame) {\n var gfill = itemData.gf;\n var hasOpacity = itemData.g._hasOpacity;\n var pt1 = itemData.s.v,\n pt2 = itemData.e.v;\n if (itemData.o._mdf || isFirstFrame) {\n var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity';\n itemData.style.pElem.setAttribute(attr, itemData.o.v);\n }\n if (itemData.s._mdf || isFirstFrame) {\n var attr1 = styleData.t === 1 ? 'x1' : 'cx';\n var attr2 = attr1 === 'x1' ? 'y1' : 'cy';\n gfill.setAttribute(attr1, pt1[0]);\n gfill.setAttribute(attr2, pt1[1]);\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute(attr1, pt1[0]);\n itemData.of.setAttribute(attr2, pt1[1]);\n }\n }\n var stops, i, len, stop;\n if (itemData.g._cmdf || isFirstFrame) {\n stops = itemData.cst;\n var cValues = itemData.g.c;\n len = stops.length;\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n stop.setAttribute('offset', cValues[i * 4] + '%');\n stop.setAttribute('stop-color', 'rgb(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ')');\n }\n }\n if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n var oValues = itemData.g.o;\n if (itemData.g._collapsable) {\n stops = itemData.cst;\n } else {\n stops = itemData.ost;\n }\n len = stops.length;\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n if (!itemData.g._collapsable) {\n stop.setAttribute('offset', oValues[i * 2] + '%');\n }\n stop.setAttribute('stop-opacity', oValues[i * 2 + 1]);\n }\n }\n if (styleData.t === 1) {\n if (itemData.e._mdf || isFirstFrame) {\n gfill.setAttribute('x2', pt2[0]);\n gfill.setAttribute('y2', pt2[1]);\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('x2', pt2[0]);\n itemData.of.setAttribute('y2', pt2[1]);\n }\n }\n } else {\n var rad;\n if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n gfill.setAttribute('r', rad);\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('r', rad);\n }\n }\n if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n if (!rad) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n }\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v >= 1 ? 0.99 : itemData.h.v <= -1 ? -0.99 : itemData.h.v;\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n gfill.setAttribute('fx', x);\n gfill.setAttribute('fy', y);\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('fx', x);\n itemData.of.setAttribute('fy', y);\n }\n }\n //gfill.setAttribute('fy','200');\n }\n }\n ;\n function renderStroke(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n var d = itemData.d;\n if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\n styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\n }\n if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n styleElem.pElem.setAttribute('stroke', 'rgb(' + bm_floor(itemData.c.v[0]) + ',' + bm_floor(itemData.c.v[1]) + ',' + bm_floor(itemData.c.v[2]) + ')');\n }\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\n }\n if (itemData.w._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\n if (styleElem.msElem) {\n styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\n }\n }\n }\n ;\n return ob;\n }();\n function ShapeTransformManager() {\n this.sequences = {};\n this.sequenceList = [];\n this.transform_key_count = 0;\n }\n ShapeTransformManager.prototype = {\n addTransformSequence: function (transforms) {\n var i,\n len = transforms.length;\n var key = '_';\n for (i = 0; i < len; i += 1) {\n key += transforms[i].transform.key + '_';\n }\n var sequence = this.sequences[key];\n if (!sequence) {\n sequence = {\n transforms: [].concat(transforms),\n finalTransform: new Matrix(),\n _mdf: false\n };\n this.sequences[key] = sequence;\n this.sequenceList.push(sequence);\n }\n return sequence;\n },\n processSequence: function (sequence, isFirstFrame) {\n var i = 0,\n len = sequence.transforms.length,\n _mdf = isFirstFrame;\n while (i < len && !isFirstFrame) {\n if (sequence.transforms[i].transform.mProps._mdf) {\n _mdf = true;\n break;\n }\n i += 1;\n }\n if (_mdf) {\n var props;\n sequence.finalTransform.reset();\n for (i = len - 1; i >= 0; i -= 1) {\n props = sequence.transforms[i].transform.mProps.v.props;\n sequence.finalTransform.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\n }\n }\n sequence._mdf = _mdf;\n },\n processSequences: function (isFirstFrame) {\n var i,\n len = this.sequenceList.length;\n for (i = 0; i < len; i += 1) {\n this.processSequence(this.sequenceList[i], isFirstFrame);\n }\n },\n getNewKey: function () {\n return '_' + this.transform_key_count++;\n }\n };\n function BaseElement() {}\n BaseElement.prototype = {\n checkMasks: function () {\n if (!this.data.hasMask) {\n return false;\n }\n var i = 0,\n len = this.data.masksProperties.length;\n while (i < len) {\n if (this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false) {\n return true;\n }\n i += 1;\n }\n return false;\n },\n initExpressions: function () {\n this.layerInterface = LayerExpressionInterface(this);\n if (this.data.hasMask && this.maskManager) {\n this.layerInterface.registerMaskInterface(this.maskManager);\n }\n var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(effectsInterface);\n if (this.data.ty === 0 || this.data.xt) {\n this.compInterface = CompExpressionInterface(this);\n } else if (this.data.ty === 4) {\n this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface);\n this.layerInterface.content = this.layerInterface.shapeInterface;\n } else if (this.data.ty === 5) {\n this.layerInterface.textInterface = TextExpressionInterface(this);\n this.layerInterface.text = this.layerInterface.textInterface;\n }\n },\n setBlendMode: function () {\n var blendModeValue = getBlendMode(this.data.bm);\n var elem = this.baseElement || this.layerElement;\n elem.style['mix-blend-mode'] = blendModeValue;\n },\n initBaseData: function (data, globalData, comp) {\n this.globalData = globalData;\n this.comp = comp;\n this.data = data;\n this.layerId = createElementID();\n\n //Stretch factor for old animations missing this property.\n if (!this.data.sr) {\n this.data.sr = 1;\n }\n // effects manager\n this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n },\n getType: function () {\n return this.type;\n },\n sourceRectAtTime: function () {}\n };\n function NullElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initFrame();\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n }\n NullElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n NullElement.prototype.renderFrame = function () {};\n NullElement.prototype.getBaseElement = function () {\n return null;\n };\n NullElement.prototype.destroy = function () {};\n NullElement.prototype.sourceRectAtTime = function () {};\n NullElement.prototype.hide = function () {};\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n function SVGBaseElement() {}\n SVGBaseElement.prototype = {\n initRendererElement: function () {\n this.layerElement = createNS('g');\n },\n createContainerElements: function () {\n this.matteElement = createNS('g');\n this.transformedElement = this.layerElement;\n this.maskedElement = this.layerElement;\n this._sizeChanged = false;\n var layerElementParent = null;\n //If this layer acts as a mask for the following layer\n var filId, fil, gg;\n if (this.data.td) {\n if (this.data.td == 3 || this.data.td == 1) {\n var masker = createNS('mask');\n masker.setAttribute('id', this.layerId);\n masker.setAttribute('mask-type', this.data.td == 3 ? 'luminance' : 'alpha');\n masker.appendChild(this.layerElement);\n layerElementParent = masker;\n this.globalData.defs.appendChild(masker);\n // This is only for IE and Edge when mask if of type alpha\n if (!featureSupport.maskType && this.data.td == 1) {\n masker.setAttribute('mask-type', 'luminance');\n filId = createElementID();\n fil = filtersFactory.createFilter(filId);\n this.globalData.defs.appendChild(fil);\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n gg.appendChild(this.layerElement);\n layerElementParent = gg;\n masker.appendChild(gg);\n gg.setAttribute('filter', 'url(' + locationHref + '#' + filId + ')');\n }\n } else if (this.data.td == 2) {\n var maskGroup = createNS('mask');\n maskGroup.setAttribute('id', this.layerId);\n maskGroup.setAttribute('mask-type', 'alpha');\n var maskGrouper = createNS('g');\n maskGroup.appendChild(maskGrouper);\n filId = createElementID();\n fil = filtersFactory.createFilter(filId);\n ////\n\n // This solution doesn't work on Android when meta tag with viewport attribute is set\n /*var feColorMatrix = createNS('feColorMatrix');\r\n feColorMatrix.setAttribute('type', 'matrix');\r\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\r\n feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 -1 1');\r\n fil.appendChild(feColorMatrix);*/\n ////\n var feCTr = createNS('feComponentTransfer');\n feCTr.setAttribute('in', 'SourceGraphic');\n fil.appendChild(feCTr);\n var feFunc = createNS('feFuncA');\n feFunc.setAttribute('type', 'table');\n feFunc.setAttribute('tableValues', '1.0 0.0');\n feCTr.appendChild(feFunc);\n ////\n this.globalData.defs.appendChild(fil);\n var alphaRect = createNS('rect');\n alphaRect.setAttribute('width', this.comp.data.w);\n alphaRect.setAttribute('height', this.comp.data.h);\n alphaRect.setAttribute('x', '0');\n alphaRect.setAttribute('y', '0');\n alphaRect.setAttribute('fill', '#ffffff');\n alphaRect.setAttribute('opacity', '0');\n maskGrouper.setAttribute('filter', 'url(' + locationHref + '#' + filId + ')');\n maskGrouper.appendChild(alphaRect);\n maskGrouper.appendChild(this.layerElement);\n layerElementParent = maskGrouper;\n if (!featureSupport.maskType) {\n maskGroup.setAttribute('mask-type', 'luminance');\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n maskGrouper.appendChild(alphaRect);\n gg.appendChild(this.layerElement);\n layerElementParent = gg;\n maskGrouper.appendChild(gg);\n }\n this.globalData.defs.appendChild(maskGroup);\n }\n } else if (this.data.tt) {\n this.matteElement.appendChild(this.layerElement);\n layerElementParent = this.matteElement;\n this.baseElement = this.matteElement;\n } else {\n this.baseElement = this.layerElement;\n }\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n }\n //Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n if (this.data.ty === 0 && !this.data.hd) {\n var cp = createNS('clipPath');\n var pt = createNS('path');\n pt.setAttribute('d', 'M0,0 L' + this.data.w + ',0' + ' L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z');\n var clipId = createElementID();\n cp.setAttribute('id', clipId);\n cp.appendChild(pt);\n this.globalData.defs.appendChild(cp);\n if (this.checkMasks()) {\n var cpGroup = createNS('g');\n cpGroup.setAttribute('clip-path', 'url(' + locationHref + '#' + clipId + ')');\n cpGroup.appendChild(this.layerElement);\n this.transformedElement = cpGroup;\n if (layerElementParent) {\n layerElementParent.appendChild(this.transformedElement);\n } else {\n this.baseElement = this.transformedElement;\n }\n } else {\n this.layerElement.setAttribute('clip-path', 'url(' + locationHref + '#' + clipId + ')');\n }\n }\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function () {\n if (this.finalTransform._matMdf) {\n this.transformedElement.setAttribute('transform', this.finalTransform.mat.to2dCSS());\n }\n if (this.finalTransform._opMdf) {\n this.transformedElement.setAttribute('opacity', this.finalTransform.mProp.o.v);\n }\n },\n destroyBaseElement: function () {\n this.layerElement = null;\n this.matteElement = null;\n this.maskManager.destroy();\n },\n getBaseElement: function () {\n if (this.data.hd) {\n return null;\n }\n return this.baseElement;\n },\n createRenderableComponents: function () {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n this.renderableEffectsManager = new SVGEffects(this);\n },\n setMatte: function (id) {\n if (!this.matteElement) {\n return;\n }\n this.matteElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n }\n };\n function IShapeElement() {}\n IShapeElement.prototype = {\n addShapeToModifiers: function (data) {\n var i,\n len = this.shapeModifiers.length;\n for (i = 0; i < len; i += 1) {\n this.shapeModifiers[i].addShape(data);\n }\n },\n isShapeInAnimatedModifiers: function (data) {\n var i = 0,\n len = this.shapeModifiers.length;\n while (i < len) {\n if (this.shapeModifiers[i].isAnimatedWithShape(data)) {\n return true;\n }\n }\n return false;\n },\n renderModifiers: function () {\n if (!this.shapeModifiers.length) {\n return;\n }\n var i,\n len = this.shapes.length;\n for (i = 0; i < len; i += 1) {\n this.shapes[i].sh.reset();\n }\n len = this.shapeModifiers.length;\n for (i = len - 1; i >= 0; i -= 1) {\n this.shapeModifiers[i].processShapes(this._isFirstFrame);\n }\n },\n lcEnum: {\n '1': 'butt',\n '2': 'round',\n '3': 'square'\n },\n ljEnum: {\n '1': 'miter',\n '2': 'round',\n '3': 'bevel'\n },\n searchProcessedElement: function (elem) {\n var elements = this.processedElements;\n var i = 0,\n len = elements.length;\n while (i < len) {\n if (elements[i].elem === elem) {\n return elements[i].pos;\n }\n i += 1;\n }\n return 0;\n },\n addProcessedElement: function (elem, pos) {\n var elements = this.processedElements;\n var i = elements.length;\n while (i) {\n i -= 1;\n if (elements[i].elem === elem) {\n elements[i].pos = pos;\n return;\n }\n }\n elements.push(new ProcessedElement(elem, pos));\n },\n prepareFrame: function (num) {\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n }\n };\n function ITextElement() {}\n ITextElement.prototype.initElement = function (data, globalData, comp) {\n this.lettersChangedFlag = true;\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n this.textAnimator.searchProperties(this.dynamicProperties);\n };\n ITextElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n if (this.textProperty._mdf || this.textProperty._isFirstFrame) {\n this.buildNewText();\n this.textProperty._isFirstFrame = false;\n this.textProperty._mdf = false;\n }\n };\n ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n var j,\n jLen = shapes.length;\n var k, kLen, pathNodes;\n var shapeStr = '';\n for (j = 0; j < jLen; j += 1) {\n pathNodes = shapes[j].ks.k;\n shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n }\n return shapeStr;\n };\n ITextElement.prototype.updateDocumentData = function (newData, index) {\n this.textProperty.updateDocumentData(newData, index);\n };\n ITextElement.prototype.canResizeFont = function (_canResize) {\n this.textProperty.canResizeFont(_canResize);\n };\n ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n this.textProperty.setMinimumFontSize(_fontSize);\n };\n ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n if (documentData.ps) {\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n matrixHelper.translate(0, -documentData.ls, 0);\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n break;\n case 2:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n break;\n }\n matrixHelper.translate(xPos, yPos, 0);\n };\n ITextElement.prototype.buildColor = function (colorData) {\n return 'rgb(' + Math.round(colorData[0] * 255) + ',' + Math.round(colorData[1] * 255) + ',' + Math.round(colorData[2] * 255) + ')';\n };\n ITextElement.prototype.emptyProp = new LetterProps();\n ITextElement.prototype.destroy = function () {};\n function ICompElement() {}\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n ICompElement.prototype.initElement = function (data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initRenderable();\n this.initHierarchy();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n if (this.data.xt || !globalData.progressiveLoad) {\n this.buildAllItems();\n }\n this.hide();\n };\n\n /*ICompElement.prototype.hide = function(){\r\n if(!this.hidden){\r\n this.hideElement();\r\n var i,len = this.elements.length;\r\n for( i = 0; i < len; i+=1 ){\r\n if(this.elements[i]){\r\n this.elements[i].hide();\r\n }\r\n }\r\n }\r\n };*/\n\n ICompElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n if (!this.isInRange && !this.data.xt) {\n return;\n }\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n if (timeRemapped === this.data.op) {\n timeRemapped = this.data.op - 1;\n }\n this.renderedFrame = timeRemapped;\n } else {\n this.renderedFrame = num / this.data.sr;\n }\n var i,\n len = this.elements.length;\n if (!this.completeLayers) {\n this.checkLayers(this.renderedFrame);\n }\n //This iteration needs to be backwards because of how expressions connect between each other\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\n if (this.elements[i]._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n ICompElement.prototype.renderInnerContent = function () {\n var i,\n len = this.layers.length;\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n ICompElement.prototype.setElements = function (elems) {\n this.elements = elems;\n };\n ICompElement.prototype.getElements = function () {\n return this.elements;\n };\n ICompElement.prototype.destroyElements = function () {\n var i,\n len = this.layers.length;\n for (i = 0; i < len; i += 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n };\n ICompElement.prototype.destroy = function () {\n this.destroyElements();\n this.destroyBaseElement();\n };\n function IImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.initElement(data, globalData, comp);\n this.sourceRect = {\n top: 0,\n left: 0,\n width: this.assetData.w,\n height: this.assetData.h\n };\n }\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n IImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS('image');\n this.innerElem.setAttribute('width', this.assetData.w + \"px\");\n this.innerElem.setAttribute('height', this.assetData.h + \"px\");\n this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.innerElem);\n };\n IImageElement.prototype.sourceRectAtTime = function () {\n return this.sourceRect;\n };\n function ISolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n extendPrototype([IImageElement], ISolidElement);\n ISolidElement.prototype.createContent = function () {\n var rect = createNS('rect');\n ////rect.style.width = this.data.sw;\n ////rect.style.height = this.data.sh;\n ////rect.style.fill = this.data.sc;\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.layerElement.appendChild(rect);\n };\n function AudioElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.initBaseData(data, globalData, comp);\n this._isPlaying = false;\n this._canPlay = false;\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(assetPath);\n this._currentTime = 0;\n this.globalData.audioController.addAudio(this);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n AudioElement.prototype.prepareFrame = function (num) {\n this.prepareRenderableFrame(num, true);\n this.prepareProperties(num, true);\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n this._currentTime = timeRemapped;\n } else {\n this._currentTime = num / this.data.sr;\n }\n };\n extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n AudioElement.prototype.renderFrame = function () {\n if (this.isInRange && this._canPlay) {\n if (!this._isPlaying) {\n this.audio.play();\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n this._isPlaying = true;\n } else if (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) {\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n }\n }\n };\n AudioElement.prototype.show = function () {\n // this.audio.play()\n };\n AudioElement.prototype.hide = function () {\n this.audio.pause();\n this._isPlaying = false;\n };\n AudioElement.prototype.pause = function () {\n this.audio.pause();\n this._isPlaying = false;\n this._canPlay = false;\n };\n AudioElement.prototype.resume = function () {\n this._canPlay = true;\n };\n AudioElement.prototype.setRate = function (rateValue) {\n this.audio.rate(rateValue);\n };\n AudioElement.prototype.volume = function (volumeValue) {\n this.audio.volume(volumeValue);\n };\n AudioElement.prototype.getBaseElement = function () {\n return null;\n };\n AudioElement.prototype.destroy = function () {};\n AudioElement.prototype.sourceRectAtTime = function () {};\n AudioElement.prototype.initExpressions = function () {};\n function SVGCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = true;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n //this.layerElement = createNS('g');\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n extendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement);\n function SVGTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.renderType = 'svg';\n this.initElement(data, globalData, comp);\n }\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextElement);\n SVGTextElement.prototype.createContent = function () {\n if (this.data.singleShape && !this.globalData.fontManager.chars) {\n this.textContainer = createNS('text');\n }\n };\n SVGTextElement.prototype.buildTextContents = function (textArray) {\n var i = 0,\n len = textArray.length;\n var textContents = [],\n currentTextContent = '';\n while (i < len) {\n if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n textContents.push(currentTextContent);\n currentTextContent = '';\n } else {\n currentTextContent += textArray[i];\n }\n i += 1;\n }\n textContents.push(currentTextContent);\n return textContents;\n };\n SVGTextElement.prototype.buildNewText = function () {\n var i, len;\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n if (documentData.fc) {\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\n } else {\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\n }\n if (documentData.sc) {\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\n this.layerElement.setAttribute('stroke-width', documentData.sw);\n }\n this.layerElement.setAttribute('font-size', documentData.finalSize);\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n if (fontData.fClass) {\n this.layerElement.setAttribute('class', fontData.fClass);\n } else {\n this.layerElement.setAttribute('font-family', fontData.fFamily);\n var fWeight = documentData.fWeight,\n fStyle = documentData.fStyle;\n this.layerElement.setAttribute('font-style', fStyle);\n this.layerElement.setAttribute('font-weight', fWeight);\n }\n this.layerElement.setAttribute('aria-label', documentData.t);\n var letters = documentData.l || [];\n var usesGlyphs = !!this.globalData.fontManager.chars;\n len = letters.length;\n var tSpan;\n var matrixHelper = this.mHelper;\n var shapes,\n shapeStr = '',\n singleShape = this.data.singleShape;\n var xPos = 0,\n yPos = 0,\n firstLine = true;\n var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n if (singleShape && !usesGlyphs && !documentData.sz) {\n var tElement = this.textContainer;\n var justify = 'start';\n switch (documentData.j) {\n case 1:\n justify = 'end';\n break;\n case 2:\n justify = 'middle';\n break;\n }\n tElement.setAttribute('text-anchor', justify);\n tElement.setAttribute('letter-spacing', trackingOffset);\n var textContent = this.buildTextContents(documentData.finalText);\n len = textContent.length;\n yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n for (i = 0; i < len; i += 1) {\n tSpan = this.textSpans[i] || createNS('tspan');\n tSpan.textContent = textContent[i];\n tSpan.setAttribute('x', 0);\n tSpan.setAttribute('y', yPos);\n tSpan.style.display = 'inherit';\n tElement.appendChild(tSpan);\n this.textSpans[i] = tSpan;\n yPos += documentData.finalLineHeight;\n }\n this.layerElement.appendChild(tElement);\n } else {\n var cachedSpansLength = this.textSpans.length;\n var shapeData, charData;\n for (i = 0; i < len; i += 1) {\n if (!usesGlyphs || !singleShape || i === 0) {\n tSpan = cachedSpansLength > i ? this.textSpans[i] : createNS(usesGlyphs ? 'path' : 'text');\n if (cachedSpansLength <= i) {\n tSpan.setAttribute('stroke-linecap', 'butt');\n tSpan.setAttribute('stroke-linejoin', 'round');\n tSpan.setAttribute('stroke-miterlimit', '4');\n this.textSpans[i] = tSpan;\n this.layerElement.appendChild(tSpan);\n }\n tSpan.style.display = 'inherit';\n }\n matrixHelper.reset();\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n if (singleShape) {\n if (letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n xPos += letters[i].l || 0;\n //xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n xPos += trackingOffset;\n }\n if (usesGlyphs) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n shapeData = charData && charData.data || {};\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n if (!singleShape) {\n tSpan.setAttribute('d', this.createPathShape(matrixHelper, shapes));\n } else {\n shapeStr += this.createPathShape(matrixHelper, shapes);\n }\n } else {\n if (singleShape) {\n tSpan.setAttribute(\"transform\", \"translate(\" + matrixHelper.props[12] + \",\" + matrixHelper.props[13] + \")\");\n }\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n }\n //\n }\n if (singleShape && tSpan) {\n tSpan.setAttribute('d', shapeStr);\n }\n }\n while (i < this.textSpans.length) {\n this.textSpans[i].style.display = 'none';\n i += 1;\n }\n this._sizeChanged = true;\n };\n SVGTextElement.prototype.sourceRectAtTime = function (time) {\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\n this.renderInnerContent();\n if (this._sizeChanged) {\n this._sizeChanged = false;\n var textBox = this.layerElement.getBBox();\n this.bbox = {\n top: textBox.y,\n left: textBox.x,\n width: textBox.width,\n height: textBox.height\n };\n }\n return this.bbox;\n };\n SVGTextElement.prototype.renderInnerContent = function () {\n if (!this.data.singleShape) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n this._sizeChanged = true;\n var i, len;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter, textSpan;\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n continue;\n }\n renderedLetter = renderedLetters[i];\n textSpan = this.textSpans[i];\n if (renderedLetter._mdf.m) {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n if (renderedLetter._mdf.o) {\n textSpan.setAttribute('opacity', renderedLetter.o);\n }\n if (renderedLetter._mdf.sw) {\n textSpan.setAttribute('stroke-width', renderedLetter.sw);\n }\n if (renderedLetter._mdf.sc) {\n textSpan.setAttribute('stroke', renderedLetter.sc);\n }\n if (renderedLetter._mdf.fc) {\n textSpan.setAttribute('fill', renderedLetter.fc);\n }\n }\n }\n }\n };\n function SVGShapeElement(data, globalData, comp) {\n //List of drawable elements\n this.shapes = [];\n // Full shape data\n this.shapesData = data.shapes;\n //List of styles that will be applied to shapes\n this.stylesList = [];\n //List of modifiers that will be applied to shapes\n this.shapeModifiers = [];\n //List of items in shape tree\n this.itemsData = [];\n //List of items in previous shape tree\n this.processedElements = [];\n // List of animated components\n this.animatedContents = [];\n this.initElement(data, globalData, comp);\n //Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n this.prevViewData = [];\n //Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n }\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n SVGShapeElement.prototype.initSecondaryElement = function () {};\n SVGShapeElement.prototype.identityMatrix = new Matrix();\n SVGShapeElement.prototype.buildExpressionInterface = function () {};\n SVGShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n };\n\n /*\r\n This method searches for multiple shapes that affect a single element and one of them is animated\r\n */\n SVGShapeElement.prototype.filterUniqueShapes = function () {\n var i,\n len = this.shapes.length,\n shape;\n var j,\n jLen = this.stylesList.length;\n var style,\n count = 0;\n var tempShapes = [];\n var areAnimated = false;\n for (j = 0; j < jLen; j += 1) {\n style = this.stylesList[j];\n areAnimated = false;\n tempShapes.length = 0;\n for (i = 0; i < len; i += 1) {\n shape = this.shapes[i];\n if (shape.styles.indexOf(style) !== -1) {\n tempShapes.push(shape);\n areAnimated = shape._isAnimated || areAnimated;\n }\n }\n if (tempShapes.length > 1 && areAnimated) {\n this.setShapesAsAnimated(tempShapes);\n }\n }\n };\n SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n var i,\n len = shapes.length;\n for (i = 0; i < len; i += 1) {\n shapes[i].setAsAnimated();\n }\n };\n SVGShapeElement.prototype.createStyleElement = function (data, level) {\n //TODO: prevent drawing of hidden styles\n var elementData;\n var styleOb = new SVGStyleData(data, level);\n var pathElement = styleOb.pElem;\n if (data.ty === 'st') {\n elementData = new SVGStrokeStyleData(this, data, styleOb);\n } else if (data.ty === 'fl') {\n elementData = new SVGFillStyleData(this, data, styleOb);\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n var gradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n elementData = new gradientConstructor(this, data, styleOb);\n this.globalData.defs.appendChild(elementData.gf);\n if (elementData.maskId) {\n this.globalData.defs.appendChild(elementData.ms);\n this.globalData.defs.appendChild(elementData.of);\n pathElement.setAttribute('mask', 'url(' + locationHref + '#' + elementData.maskId + ')');\n }\n }\n if (data.ty === 'st' || data.ty === 'gs') {\n pathElement.setAttribute('stroke-linecap', this.lcEnum[data.lc] || 'round');\n pathElement.setAttribute('stroke-linejoin', this.ljEnum[data.lj] || 'round');\n pathElement.setAttribute('fill-opacity', '0');\n if (data.lj === 1) {\n pathElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n if (data.r === 2) {\n pathElement.setAttribute('fill-rule', 'evenodd');\n }\n if (data.ln) {\n pathElement.setAttribute('id', data.ln);\n }\n if (data.cl) {\n pathElement.setAttribute('class', data.cl);\n }\n if (data.bm) {\n pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n this.stylesList.push(styleOb);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n SVGShapeElement.prototype.createGroupElement = function (data) {\n var elementData = new ShapeGroupData();\n if (data.ln) {\n elementData.gr.setAttribute('id', data.ln);\n }\n if (data.cl) {\n elementData.gr.setAttribute('class', data.cl);\n }\n if (data.bm) {\n elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n return elementData;\n };\n SVGShapeElement.prototype.createTransformElement = function (data, container) {\n var transformProperty = TransformPropertyFactory.getTransformProperty(this, data, this);\n var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n var ty = 4;\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n var shapeProperty = ShapePropertyFactory.getShapeProp(this, data, ty, this);\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n var i = 0,\n len = this.animatedContents.length;\n while (i < len) {\n if (this.animatedContents[i].element === element) {\n return;\n }\n i += 1;\n }\n this.animatedContents.push({\n fn: SVGElementsRenderer.createRenderFunction(data),\n element: element,\n data: data\n });\n };\n SVGShapeElement.prototype.setElementStyles = function (elementData) {\n var arr = elementData.styles;\n var j,\n jLen = this.stylesList.length;\n for (j = 0; j < jLen; j += 1) {\n if (!this.stylesList[j].closed) {\n arr.push(this.stylesList[j]);\n }\n }\n };\n SVGShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i,\n len = this.itemsData.length;\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n len = this.dynamicProperties.length;\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n this.renderModifiers();\n };\n SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n var ownTransformers = [].concat(transformers);\n var i,\n len = arr.length - 1;\n var j, jLen;\n var ownStyles = [],\n ownModifiers = [],\n styleOb,\n currentTransform,\n modifier,\n processedPos;\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n if (!processedPos) {\n arr[i]._render = render;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n if (arr[i].ty == 'fl' || arr[i].ty == 'st' || arr[i].ty == 'gf' || arr[i].ty == 'gs') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], level);\n } else {\n itemsData[i].style.closed = false;\n }\n if (arr[i]._render) {\n container.appendChild(itemsData[i].style.pElem);\n }\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty == 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n if (arr[i]._render) {\n container.appendChild(itemsData[i].gr);\n }\n } else if (arr[i].ty == 'tr') {\n if (!processedPos) {\n itemsData[i] = this.createTransformElement(arr[i], container);\n }\n currentTransform = itemsData[i].transform;\n ownTransformers.push(currentTransform);\n } else if (arr[i].ty == 'sh' || arr[i].ty == 'rc' || arr[i].ty == 'el' || arr[i].ty == 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n }\n this.setElementStyles(itemsData[i]);\n } else if (arr[i].ty == 'tm' || arr[i].ty == 'rd' || arr[i].ty == 'ms' || arr[i].ty == 'pb') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n ownModifiers.push(modifier);\n } else if (arr[i].ty == 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n render = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n ownModifiers.push(modifier);\n }\n this.addProcessedElement(arr[i], i + 1);\n }\n len = ownStyles.length;\n for (i = 0; i < len; i += 1) {\n ownStyles[i].closed = true;\n }\n len = ownModifiers.length;\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n SVGShapeElement.prototype.renderInnerContent = function () {\n this.renderModifiers();\n var i,\n len = this.stylesList.length;\n for (i = 0; i < len; i += 1) {\n this.stylesList[i].reset();\n }\n this.renderShape();\n for (i = 0; i < len; i += 1) {\n if (this.stylesList[i]._mdf || this._isFirstFrame) {\n if (this.stylesList[i].msElem) {\n this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d);\n //Adding M0 0 fixes same mask bug on all browsers\n this.stylesList[i].d = 'M0 0' + this.stylesList[i].d;\n }\n this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0');\n }\n }\n };\n SVGShapeElement.prototype.renderShape = function () {\n var i,\n len = this.animatedContents.length;\n var animatedContent;\n for (i = 0; i < len; i += 1) {\n animatedContent = this.animatedContents[i];\n if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);\n }\n }\n };\n SVGShapeElement.prototype.destroy = function () {\n this.destroyBaseElement();\n this.shapesData = null;\n this.itemsData = null;\n };\n function SVGTintFilter(filter, filterManager) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', 'f1');\n filter.appendChild(feColorMatrix);\n feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', 'f2');\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n if (filterManager.effectElements[2].p.v !== 100 || filterManager.effectElements[2].p.k) {\n var feMerge = createNS('feMerge');\n filter.appendChild(feMerge);\n var feMergeNode;\n feMergeNode = createNS('feMergeNode');\n feMergeNode.setAttribute('in', 'SourceGraphic');\n feMerge.appendChild(feMergeNode);\n feMergeNode = createNS('feMergeNode');\n feMergeNode.setAttribute('in', 'f2');\n feMerge.appendChild(feMergeNode);\n }\n }\n SVGTintFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var colorBlack = this.filterManager.effectElements[0].p.v;\n var colorWhite = this.filterManager.effectElements[1].p.v;\n var opacity = this.filterManager.effectElements[2].p.v / 100;\n this.matrixFilter.setAttribute('values', colorWhite[0] - colorBlack[0] + ' 0 0 0 ' + colorBlack[0] + ' ' + (colorWhite[1] - colorBlack[1]) + ' 0 0 0 ' + colorBlack[1] + ' ' + (colorWhite[2] - colorBlack[2]) + ' 0 0 0 ' + colorBlack[2] + ' 0 0 0 ' + opacity + ' 0');\n }\n };\n function SVGFillFilter(filter, filterManager) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n }\n SVGFillFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color = this.filterManager.effectElements[2].p.v;\n var opacity = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute('values', '0 0 0 0 ' + color[0] + ' 0 0 0 0 ' + color[1] + ' 0 0 0 0 ' + color[2] + ' 0 0 0 ' + opacity + ' 0');\n }\n };\n function SVGGaussianBlurEffect(filter, filterManager) {\n // Outset the filter region by 100% on all sides to accommodate blur expansion.\n filter.setAttribute('x', '-100%');\n filter.setAttribute('y', '-100%');\n filter.setAttribute('width', '300%');\n filter.setAttribute('height', '300%');\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n filter.appendChild(feGaussianBlur);\n this.feGaussianBlur = feGaussianBlur;\n }\n SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n // Empirical value, matching AE's blur appearance.\n var kBlurrinessToSigma = 0.3;\n var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma;\n\n // Dimensions mapping:\n //\n // 1 -> horizontal & vertical\n // 2 -> horizontal only\n // 3 -> vertical only\n //\n var dimensions = this.filterManager.effectElements[1].p.v;\n var sigmaX = dimensions == 3 ? 0 : sigma;\n var sigmaY = dimensions == 2 ? 0 : sigma;\n this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + \" \" + sigmaY);\n\n // Repeat edges mapping:\n //\n // 0 -> off -> duplicate\n // 1 -> on -> wrap\n var edgeMode = this.filterManager.effectElements[2].p.v == 1 ? 'wrap' : 'duplicate';\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\n }\n };\n function SVGStrokeEffect(elem, filterManager) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.elem = elem;\n this.paths = [];\n }\n SVGStrokeEffect.prototype.initialize = function () {\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n var path, groupPath, i, len;\n if (this.filterManager.effectElements[1].p.v === 1) {\n len = this.elem.maskManager.masksProperties.length;\n i = 0;\n } else {\n i = this.filterManager.effectElements[0].p.v - 1;\n len = i + 1;\n }\n groupPath = createNS('g');\n groupPath.setAttribute('fill', 'none');\n groupPath.setAttribute('stroke-linecap', 'round');\n groupPath.setAttribute('stroke-dashoffset', 1);\n for (i; i < len; i += 1) {\n path = createNS('path');\n groupPath.appendChild(path);\n this.paths.push({\n p: path,\n m: i\n });\n }\n if (this.filterManager.effectElements[10].p.v === 3) {\n var mask = createNS('mask');\n var id = createElementID();\n mask.setAttribute('id', id);\n mask.setAttribute('mask-type', 'alpha');\n mask.appendChild(groupPath);\n this.elem.globalData.defs.appendChild(mask);\n var g = createNS('g');\n g.setAttribute('mask', 'url(' + locationHref + '#' + id + ')');\n while (elemChildren[0]) {\n g.appendChild(elemChildren[0]);\n }\n this.elem.layerElement.appendChild(g);\n this.masker = mask;\n groupPath.setAttribute('stroke', '#fff');\n } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (this.filterManager.effectElements[10].p.v === 2) {\n elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n while (elemChildren.length) {\n this.elem.layerElement.removeChild(elemChildren[0]);\n }\n }\n this.elem.layerElement.appendChild(groupPath);\n this.elem.layerElement.removeAttribute('mask');\n groupPath.setAttribute('stroke', '#fff');\n }\n this.initialized = true;\n this.pathMasker = groupPath;\n };\n SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n if (!this.initialized) {\n this.initialize();\n }\n var i,\n len = this.paths.length;\n var mask, path;\n for (i = 0; i < len; i += 1) {\n if (this.paths[i].m === -1) {\n continue;\n }\n mask = this.elem.maskManager.viewData[this.paths[i].m];\n path = this.paths[i].p;\n if (forceRender || this.filterManager._mdf || mask.prop._mdf) {\n path.setAttribute('d', mask.lastPath);\n }\n if (forceRender || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n var dasharrayValue;\n if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {\n var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) / 100;\n var e = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) / 100;\n var l = path.getTotalLength();\n dasharrayValue = '0 0 0 ' + l * s + ' ';\n var lineLength = l * (e - s);\n var segment = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v / 100;\n var units = Math.floor(lineLength / segment);\n var j;\n for (j = 0; j < units; j += 1) {\n dasharrayValue += '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v / 100 + ' ';\n }\n dasharrayValue += '0 ' + l * 10 + ' 0 0';\n } else {\n dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v / 100;\n }\n path.setAttribute('stroke-dasharray', dasharrayValue);\n }\n }\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.pathMasker.setAttribute('stroke-width', this.filterManager.effectElements[4].p.v * 2);\n }\n if (forceRender || this.filterManager.effectElements[6].p._mdf) {\n this.pathMasker.setAttribute('opacity', this.filterManager.effectElements[6].p.v);\n }\n if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (forceRender || this.filterManager.effectElements[3].p._mdf) {\n var color = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute('stroke', 'rgb(' + bm_floor(color[0] * 255) + ',' + bm_floor(color[1] * 255) + ',' + bm_floor(color[2] * 255) + ')');\n }\n }\n };\n function SVGTritoneFilter(filter, filterManager) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', 'f1');\n filter.appendChild(feColorMatrix);\n var feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n filter.appendChild(feComponentTransfer);\n this.matrixFilter = feComponentTransfer;\n var feFuncR = createNS('feFuncR');\n feFuncR.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncR);\n this.feFuncR = feFuncR;\n var feFuncG = createNS('feFuncG');\n feFuncG.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncG);\n this.feFuncG = feFuncG;\n var feFuncB = createNS('feFuncB');\n feFuncB.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncB);\n this.feFuncB = feFuncB;\n }\n SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color1 = this.filterManager.effectElements[0].p.v;\n var color2 = this.filterManager.effectElements[1].p.v;\n var color3 = this.filterManager.effectElements[2].p.v;\n var tableR = color3[0] + ' ' + color2[0] + ' ' + color1[0];\n var tableG = color3[1] + ' ' + color2[1] + ' ' + color1[1];\n var tableB = color3[2] + ' ' + color2[2] + ' ' + color1[2];\n this.feFuncR.setAttribute('tableValues', tableR);\n this.feFuncG.setAttribute('tableValues', tableG);\n this.feFuncB.setAttribute('tableValues', tableB);\n //var opacity = this.filterManager.effectElements[2].p.v/100;\n //this.matrixFilter.setAttribute('values',(colorWhite[0]- colorBlack[0])+' 0 0 0 '+ colorBlack[0] +' '+ (colorWhite[1]- colorBlack[1]) +' 0 0 0 '+ colorBlack[1] +' '+ (colorWhite[2]- colorBlack[2]) +' 0 0 0 '+ colorBlack[2] +' 0 0 0 ' + opacity + ' 0');\n }\n };\n function SVGProLevelsFilter(filter, filterManager) {\n this.filterManager = filterManager;\n var effectElements = this.filterManager.effectElements;\n var feComponentTransfer = createNS('feComponentTransfer');\n var feFuncR, feFuncG, feFuncB;\n if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);\n }\n if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n this.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer);\n }\n if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n this.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer);\n }\n if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n this.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer);\n }\n if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) {\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n filter.appendChild(feComponentTransfer);\n feComponentTransfer = createNS('feComponentTransfer');\n }\n if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n filter.appendChild(feComponentTransfer);\n this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer);\n this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer);\n this.feFuncBComposed = this.createFeFunc('feFuncB', feComponentTransfer);\n }\n }\n SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n var feFunc = createNS(type);\n feFunc.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFunc);\n return feFunc;\n };\n SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n var cnt = 0;\n var segments = 256;\n var perc;\n var min = Math.min(inputBlack, inputWhite);\n var max = Math.max(inputBlack, inputWhite);\n var table = Array.call(null, {\n length: segments\n });\n var colorValue;\n var pos = 0;\n var outputDelta = outputWhite - outputBlack;\n var inputDelta = inputWhite - inputBlack;\n while (cnt <= 256) {\n perc = cnt / 256;\n if (perc <= min) {\n colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n } else if (perc >= max) {\n colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n } else {\n colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n }\n table[pos++] = colorValue;\n cnt += 256 / (segments - 1);\n }\n return table.join(' ');\n };\n SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var val, cnt, perc, bezier;\n var effectElements = this.filterManager.effectElements;\n if (this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n this.feFuncRComposed.setAttribute('tableValues', val);\n this.feFuncGComposed.setAttribute('tableValues', val);\n this.feFuncBComposed.setAttribute('tableValues', val);\n }\n if (this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n this.feFuncR.setAttribute('tableValues', val);\n }\n if (this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n this.feFuncG.setAttribute('tableValues', val);\n }\n if (this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n this.feFuncB.setAttribute('tableValues', val);\n }\n if (this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n this.feFuncA.setAttribute('tableValues', val);\n }\n }\n };\n function SVGDropShadowEffect(filter, filterManager) {\n var filterSize = filterManager.container.globalData.renderConfig.filterSize;\n filter.setAttribute('x', filterSize.x);\n filter.setAttribute('y', filterSize.y);\n filter.setAttribute('width', filterSize.width);\n filter.setAttribute('height', filterSize.height);\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('in', 'SourceAlpha');\n feGaussianBlur.setAttribute('result', 'drop_shadow_1');\n feGaussianBlur.setAttribute('stdDeviation', '0');\n this.feGaussianBlur = feGaussianBlur;\n filter.appendChild(feGaussianBlur);\n var feOffset = createNS('feOffset');\n feOffset.setAttribute('dx', '25');\n feOffset.setAttribute('dy', '0');\n feOffset.setAttribute('in', 'drop_shadow_1');\n feOffset.setAttribute('result', 'drop_shadow_2');\n this.feOffset = feOffset;\n filter.appendChild(feOffset);\n var feFlood = createNS('feFlood');\n feFlood.setAttribute('flood-color', '#00ff00');\n feFlood.setAttribute('flood-opacity', '1');\n feFlood.setAttribute('result', 'drop_shadow_3');\n this.feFlood = feFlood;\n filter.appendChild(feFlood);\n var feComposite = createNS('feComposite');\n feComposite.setAttribute('in', 'drop_shadow_3');\n feComposite.setAttribute('in2', 'drop_shadow_2');\n feComposite.setAttribute('operator', 'in');\n feComposite.setAttribute('result', 'drop_shadow_4');\n filter.appendChild(feComposite);\n var feMerge = createNS('feMerge');\n filter.appendChild(feMerge);\n var feMergeNode;\n feMergeNode = createNS('feMergeNode');\n feMerge.appendChild(feMergeNode);\n feMergeNode = createNS('feMergeNode');\n feMergeNode.setAttribute('in', 'SourceGraphic');\n this.feMergeNode = feMergeNode;\n this.feMerge = feMerge;\n this.originalNodeAdded = false;\n feMerge.appendChild(feMergeNode);\n }\n SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\n }\n if (forceRender || this.filterManager.effectElements[0].p._mdf) {\n var col = this.filterManager.effectElements[0].p.v;\n this.feFlood.setAttribute('flood-color', rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n }\n if (forceRender || this.filterManager.effectElements[1].p._mdf) {\n this.feFlood.setAttribute('flood-opacity', this.filterManager.effectElements[1].p.v / 255);\n }\n if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var distance = this.filterManager.effectElements[3].p.v;\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\n var x = distance * Math.cos(angle);\n var y = distance * Math.sin(angle);\n this.feOffset.setAttribute('dx', x);\n this.feOffset.setAttribute('dy', y);\n }\n /*if(forceRender || this.filterManager.effectElements[5].p._mdf){\r\n if(this.filterManager.effectElements[5].p.v === 1 && this.originalNodeAdded) {\r\n this.feMerge.removeChild(this.feMergeNode);\r\n this.originalNodeAdded = false;\r\n } else if(this.filterManager.effectElements[5].p.v === 0 && !this.originalNodeAdded) {\r\n this.feMerge.appendChild(this.feMergeNode);\r\n this.originalNodeAdded = true;\r\n }\r\n }*/\n }\n };\n var _svgMatteSymbols = [];\n function SVGMatte3Effect(filterElem, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.filterElem = filterElem;\n this.elem = elem;\n elem.matteElement = createNS('g');\n elem.matteElement.appendChild(elem.layerElement);\n elem.matteElement.appendChild(elem.transformedElement);\n elem.baseElement = elem.matteElement;\n }\n SVGMatte3Effect.prototype.findSymbol = function (mask) {\n var i = 0,\n len = _svgMatteSymbols.length;\n while (i < len) {\n if (_svgMatteSymbols[i] === mask) {\n return _svgMatteSymbols[i];\n }\n i += 1;\n }\n return null;\n };\n SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n var parentNode = mask.layerElement.parentNode;\n if (!parentNode) {\n return;\n }\n var children = parentNode.children;\n var i = 0,\n len = children.length;\n while (i < len) {\n if (children[i] === mask.layerElement) {\n break;\n }\n i += 1;\n }\n var nextChild;\n if (i <= len - 2) {\n nextChild = children[i + 1];\n }\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n if (nextChild) {\n parentNode.insertBefore(useElem, nextChild);\n } else {\n parentNode.appendChild(useElem);\n }\n };\n SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n if (!this.findSymbol(mask)) {\n var symbolId = createElementID();\n var masker = createNS('mask');\n masker.setAttribute('id', mask.layerId);\n masker.setAttribute('mask-type', 'alpha');\n _svgMatteSymbols.push(mask);\n var defs = elem.globalData.defs;\n defs.appendChild(masker);\n var symbol = createNS('symbol');\n symbol.setAttribute('id', symbolId);\n this.replaceInParent(mask, symbolId);\n symbol.appendChild(mask.layerElement);\n defs.appendChild(symbol);\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n masker.appendChild(useElem);\n mask.data.hd = false;\n mask.show();\n }\n elem.setMatte(mask.layerId);\n };\n SVGMatte3Effect.prototype.initialize = function () {\n var ind = this.filterManager.effectElements[0].p.v;\n var elements = this.elem.comp.elements;\n var i = 0,\n len = elements.length;\n while (i < len) {\n if (elements[i] && elements[i].data.ind === ind) {\n this.setElementAsMask(this.elem, elements[i]);\n }\n i += 1;\n }\n this.initialized = true;\n };\n SVGMatte3Effect.prototype.renderFrame = function () {\n if (!this.initialized) {\n this.initialize();\n }\n };\n function SVGEffects(elem) {\n var i,\n len = elem.data.ef ? elem.data.ef.length : 0;\n var filId = createElementID();\n var fil = filtersFactory.createFilter(filId);\n var count = 0;\n this.filters = [];\n var filterManager;\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n if (elem.data.ef[i].ty === 20) {\n count += 1;\n filterManager = new SVGTintFilter(fil, elem.effectsManager.effectElements[i]);\n } else if (elem.data.ef[i].ty === 21) {\n count += 1;\n filterManager = new SVGFillFilter(fil, elem.effectsManager.effectElements[i]);\n } else if (elem.data.ef[i].ty === 22) {\n filterManager = new SVGStrokeEffect(elem, elem.effectsManager.effectElements[i]);\n } else if (elem.data.ef[i].ty === 23) {\n count += 1;\n filterManager = new SVGTritoneFilter(fil, elem.effectsManager.effectElements[i]);\n } else if (elem.data.ef[i].ty === 24) {\n count += 1;\n filterManager = new SVGProLevelsFilter(fil, elem.effectsManager.effectElements[i]);\n } else if (elem.data.ef[i].ty === 25) {\n count += 1;\n filterManager = new SVGDropShadowEffect(fil, elem.effectsManager.effectElements[i]);\n } else if (elem.data.ef[i].ty === 28) {\n //count += 1;\n filterManager = new SVGMatte3Effect(fil, elem.effectsManager.effectElements[i], elem);\n } else if (elem.data.ef[i].ty === 29) {\n count += 1;\n filterManager = new SVGGaussianBlurEffect(fil, elem.effectsManager.effectElements[i]);\n }\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n if (count) {\n elem.globalData.defs.appendChild(fil);\n elem.layerElement.setAttribute('filter', 'url(' + locationHref + '#' + filId + ')');\n }\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i,\n len = this.filters.length;\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n var animationManager = function () {\n var moduleOb = {};\n var registeredAnimations = [];\n var initTime = 0;\n var len = 0;\n var playingAnimationsNum = 0;\n var _stopped = true;\n var _isFrozen = false;\n function removeElement(ev) {\n var i = 0;\n var animItem = ev.target;\n while (i < len) {\n if (registeredAnimations[i].animation === animItem) {\n registeredAnimations.splice(i, 1);\n i -= 1;\n len -= 1;\n if (!animItem.isPaused) {\n subtractPlayingCount();\n }\n }\n i += 1;\n }\n }\n function registerAnimation(element, animationData) {\n if (!element) {\n return null;\n }\n var i = 0;\n while (i < len) {\n if (registeredAnimations[i].elem == element && registeredAnimations[i].elem !== null) {\n return registeredAnimations[i].animation;\n }\n i += 1;\n }\n var animItem = new AnimationItem();\n setupAnimation(animItem, element);\n animItem.setData(element, animationData);\n return animItem;\n }\n function getRegisteredAnimations() {\n var i,\n len = registeredAnimations.length;\n var animations = [];\n for (i = 0; i < len; i += 1) {\n animations.push(registeredAnimations[i].animation);\n }\n return animations;\n }\n function addPlayingCount() {\n playingAnimationsNum += 1;\n activate();\n }\n function subtractPlayingCount() {\n playingAnimationsNum -= 1;\n }\n function setupAnimation(animItem, element) {\n animItem.addEventListener('destroy', removeElement);\n animItem.addEventListener('_active', addPlayingCount);\n animItem.addEventListener('_idle', subtractPlayingCount);\n registeredAnimations.push({\n elem: element,\n animation: animItem\n });\n len += 1;\n }\n function loadAnimation(params) {\n var animItem = new AnimationItem();\n setupAnimation(animItem, null);\n animItem.setParams(params);\n return animItem;\n }\n function setSpeed(val, animation) {\n var i;\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setSpeed(val, animation);\n }\n }\n function setDirection(val, animation) {\n var i;\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setDirection(val, animation);\n }\n }\n function play(animation) {\n var i;\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.play(animation);\n }\n }\n function resume(nowTime) {\n var elapsedTime = nowTime - initTime;\n var i;\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.advanceTime(elapsedTime);\n }\n initTime = nowTime;\n if (playingAnimationsNum && !_isFrozen) {\n window.requestAnimationFrame(resume);\n } else {\n _stopped = true;\n }\n }\n function first(nowTime) {\n initTime = nowTime;\n window.requestAnimationFrame(resume);\n }\n function pause(animation) {\n var i;\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.pause(animation);\n }\n }\n function goToAndStop(value, isFrame, animation) {\n var i;\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n }\n }\n function stop(animation) {\n var i;\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.stop(animation);\n }\n }\n function togglePause(animation) {\n var i;\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.togglePause(animation);\n }\n }\n function destroy(animation) {\n var i;\n for (i = len - 1; i >= 0; i -= 1) {\n registeredAnimations[i].animation.destroy(animation);\n }\n }\n function searchAnimations(animationData, standalone, renderer) {\n var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')), [].slice.call(document.getElementsByClassName('bodymovin')));\n var i,\n len = animElements.length;\n for (i = 0; i < len; i += 1) {\n if (renderer) {\n animElements[i].setAttribute('data-bm-type', renderer);\n }\n registerAnimation(animElements[i], animationData);\n }\n if (standalone && len === 0) {\n if (!renderer) {\n renderer = 'svg';\n }\n var body = document.getElementsByTagName('body')[0];\n body.innerText = '';\n var div = createTag('div');\n div.style.width = '100%';\n div.style.height = '100%';\n div.setAttribute('data-bm-type', renderer);\n body.appendChild(div);\n registerAnimation(div, animationData);\n }\n }\n function resize() {\n var i;\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.resize();\n }\n }\n function activate() {\n if (!_isFrozen && playingAnimationsNum) {\n if (_stopped) {\n window.requestAnimationFrame(first);\n _stopped = false;\n }\n }\n }\n function freeze() {\n _isFrozen = true;\n }\n function unfreeze() {\n _isFrozen = false;\n activate();\n }\n function setVolume(val, animation) {\n var i;\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setVolume(val, animation);\n }\n }\n function mute(animation) {\n var i;\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.mute(animation);\n }\n }\n function unmute(animation) {\n var i;\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.unmute(animation);\n }\n }\n moduleOb.registerAnimation = registerAnimation;\n moduleOb.loadAnimation = loadAnimation;\n moduleOb.setSpeed = setSpeed;\n moduleOb.setDirection = setDirection;\n moduleOb.play = play;\n moduleOb.pause = pause;\n moduleOb.stop = stop;\n moduleOb.togglePause = togglePause;\n moduleOb.searchAnimations = searchAnimations;\n moduleOb.resize = resize;\n //moduleOb.start = start;\n moduleOb.goToAndStop = goToAndStop;\n moduleOb.destroy = destroy;\n moduleOb.freeze = freeze;\n moduleOb.unfreeze = unfreeze;\n moduleOb.setVolume = setVolume;\n moduleOb.mute = mute;\n moduleOb.unmute = unmute;\n moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n return moduleOb;\n }();\n var AnimationItem = function () {\n this._cbs = [];\n this.name = '';\n this.path = '';\n this.isLoaded = false;\n this.currentFrame = 0;\n this.currentRawFrame = 0;\n this.firstFrame = 0;\n this.totalFrames = 0;\n this.frameRate = 0;\n this.frameMult = 0;\n this.playSpeed = 1;\n this.playDirection = 1;\n this.playCount = 0;\n this.animationData = {};\n this.assets = [];\n this.isPaused = true;\n this.autoplay = false;\n this.loop = true;\n this.renderer = null;\n this.animationID = createElementID();\n this.assetsPath = '';\n this.timeCompleted = 0;\n this.segmentPos = 0;\n this.isSubframeEnabled = subframeEnabled;\n this.segments = [];\n this._idle = true;\n this._completedLoop = false;\n this.projectInterface = ProjectInterface();\n this.imagePreloader = new ImagePreloader();\n this.audioController = audioControllerFactory();\n };\n extendPrototype([BaseEvent], AnimationItem);\n AnimationItem.prototype.setParams = function (params) {\n if (params.wrapper || params.container) {\n this.wrapper = params.wrapper || params.container;\n }\n var animType = params.animType ? params.animType : params.renderer ? params.renderer : 'svg';\n switch (animType) {\n case 'canvas':\n this.renderer = new CanvasRenderer(this, params.rendererSettings);\n break;\n case 'svg':\n this.renderer = new SVGRenderer(this, params.rendererSettings);\n break;\n default:\n this.renderer = new HybridRenderer(this, params.rendererSettings);\n break;\n }\n this.imagePreloader.setCacheType(animType);\n this.renderer.setProjectInterface(this.projectInterface);\n this.animType = animType;\n if (params.loop === '' || params.loop === null || params.loop === undefined || params.loop === true) {\n this.loop = true;\n } else if (params.loop === false) {\n this.loop = false;\n } else {\n this.loop = parseInt(params.loop);\n }\n this.autoplay = 'autoplay' in params ? params.autoplay : true;\n this.name = params.name ? params.name : '';\n this.autoloadSegments = params.hasOwnProperty('autoloadSegments') ? params.autoloadSegments : true;\n this.assetsPath = params.assetsPath;\n this.initialSegment = params.initialSegment;\n if (params.audioFactory) {\n this.audioController.setAudioFactory(params.audioFactory);\n }\n if (params.animationData) {\n this.configAnimation(params.animationData);\n } else if (params.path) {\n if (params.path.lastIndexOf('\\\\') !== -1) {\n this.path = params.path.substr(0, params.path.lastIndexOf('\\\\') + 1);\n } else {\n this.path = params.path.substr(0, params.path.lastIndexOf('/') + 1);\n }\n this.fileName = params.path.substr(params.path.lastIndexOf('/') + 1);\n this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf('.json'));\n assetLoader.load(params.path, this.configAnimation.bind(this), function () {\n this.trigger('data_failed');\n }.bind(this));\n }\n };\n AnimationItem.prototype.setData = function (wrapper, animationData) {\n var params = {\n wrapper: wrapper,\n animationData: animationData ? typeof animationData === \"object\" ? animationData : JSON.parse(animationData) : null\n };\n var wrapperAttributes = wrapper.attributes;\n params.path = wrapperAttributes.getNamedItem('data-animation-path') ? wrapperAttributes.getNamedItem('data-animation-path').value : wrapperAttributes.getNamedItem('data-bm-path') ? wrapperAttributes.getNamedItem('data-bm-path').value : wrapperAttributes.getNamedItem('bm-path') ? wrapperAttributes.getNamedItem('bm-path').value : '';\n params.animType = wrapperAttributes.getNamedItem('data-anim-type') ? wrapperAttributes.getNamedItem('data-anim-type').value : wrapperAttributes.getNamedItem('data-bm-type') ? wrapperAttributes.getNamedItem('data-bm-type').value : wrapperAttributes.getNamedItem('bm-type') ? wrapperAttributes.getNamedItem('bm-type').value : wrapperAttributes.getNamedItem('data-bm-renderer') ? wrapperAttributes.getNamedItem('data-bm-renderer').value : wrapperAttributes.getNamedItem('bm-renderer') ? wrapperAttributes.getNamedItem('bm-renderer').value : 'canvas';\n var loop = wrapperAttributes.getNamedItem('data-anim-loop') ? wrapperAttributes.getNamedItem('data-anim-loop').value : wrapperAttributes.getNamedItem('data-bm-loop') ? wrapperAttributes.getNamedItem('data-bm-loop').value : wrapperAttributes.getNamedItem('bm-loop') ? wrapperAttributes.getNamedItem('bm-loop').value : '';\n if (loop === '') {} else if (loop === 'false') {\n params.loop = false;\n } else if (loop === 'true') {\n params.loop = true;\n } else {\n params.loop = parseInt(loop);\n }\n var autoplay = wrapperAttributes.getNamedItem('data-anim-autoplay') ? wrapperAttributes.getNamedItem('data-anim-autoplay').value : wrapperAttributes.getNamedItem('data-bm-autoplay') ? wrapperAttributes.getNamedItem('data-bm-autoplay').value : wrapperAttributes.getNamedItem('bm-autoplay') ? wrapperAttributes.getNamedItem('bm-autoplay').value : true;\n params.autoplay = autoplay !== \"false\";\n params.name = wrapperAttributes.getNamedItem('data-name') ? wrapperAttributes.getNamedItem('data-name').value : wrapperAttributes.getNamedItem('data-bm-name') ? wrapperAttributes.getNamedItem('data-bm-name').value : wrapperAttributes.getNamedItem('bm-name') ? wrapperAttributes.getNamedItem('bm-name').value : '';\n var prerender = wrapperAttributes.getNamedItem('data-anim-prerender') ? wrapperAttributes.getNamedItem('data-anim-prerender').value : wrapperAttributes.getNamedItem('data-bm-prerender') ? wrapperAttributes.getNamedItem('data-bm-prerender').value : wrapperAttributes.getNamedItem('bm-prerender') ? wrapperAttributes.getNamedItem('bm-prerender').value : '';\n if (prerender === 'false') {\n params.prerender = false;\n }\n this.setParams(params);\n };\n AnimationItem.prototype.includeLayers = function (data) {\n if (data.op > this.animationData.op) {\n this.animationData.op = data.op;\n this.totalFrames = Math.floor(data.op - this.animationData.ip);\n }\n var layers = this.animationData.layers;\n var i,\n len = layers.length;\n var newLayers = data.layers;\n var j,\n jLen = newLayers.length;\n for (j = 0; j < jLen; j += 1) {\n i = 0;\n while (i < len) {\n if (layers[i].id == newLayers[j].id) {\n layers[i] = newLayers[j];\n break;\n }\n i += 1;\n }\n }\n if (data.chars || data.fonts) {\n this.renderer.globalData.fontManager.addChars(data.chars);\n this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs);\n }\n if (data.assets) {\n len = data.assets.length;\n for (i = 0; i < len; i += 1) {\n this.animationData.assets.push(data.assets[i]);\n }\n }\n this.animationData.__complete = false;\n dataManager.completeData(this.animationData, this.renderer.globalData.fontManager);\n this.renderer.includeLayers(data.layers);\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n this.loadNextSegment();\n };\n AnimationItem.prototype.loadNextSegment = function () {\n var segments = this.animationData.segments;\n if (!segments || segments.length === 0 || !this.autoloadSegments) {\n this.trigger('data_ready');\n this.timeCompleted = this.totalFrames;\n return;\n }\n var segment = segments.shift();\n this.timeCompleted = segment.time * this.frameRate;\n var segmentPath = this.path + this.fileName + '_' + this.segmentPos + '.json';\n this.segmentPos += 1;\n assetLoader.load(segmentPath, this.includeLayers.bind(this), function () {\n this.trigger('data_failed');\n }.bind(this));\n };\n AnimationItem.prototype.loadSegments = function () {\n var segments = this.animationData.segments;\n if (!segments) {\n this.timeCompleted = this.totalFrames;\n }\n this.loadNextSegment();\n };\n AnimationItem.prototype.imagesLoaded = function () {\n this.trigger('loaded_images');\n this.checkLoaded();\n };\n AnimationItem.prototype.preloadImages = function () {\n this.imagePreloader.setAssetsPath(this.assetsPath);\n this.imagePreloader.setPath(this.path);\n this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n };\n AnimationItem.prototype.configAnimation = function (animData) {\n if (!this.renderer) {\n return;\n }\n try {\n this.animationData = animData;\n if (this.initialSegment) {\n this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);\n this.firstFrame = Math.round(this.initialSegment[0]);\n } else {\n this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);\n this.firstFrame = Math.round(this.animationData.ip);\n }\n this.renderer.configAnimation(animData);\n if (!animData.assets) {\n animData.assets = [];\n }\n this.assets = this.animationData.assets;\n this.frameRate = this.animationData.fr;\n this.frameMult = this.animationData.fr / 1000;\n this.renderer.searchExtraCompositions(animData.assets);\n this.trigger('config_ready');\n this.preloadImages();\n this.loadSegments();\n this.updaFrameModifier();\n this.waitForFontsLoaded();\n if (this.isPaused) {\n this.audioController.pause();\n }\n } catch (error) {\n this.triggerConfigError(error);\n }\n };\n AnimationItem.prototype.waitForFontsLoaded = function () {\n if (!this.renderer) {\n return;\n }\n if (this.renderer.globalData.fontManager.isLoaded) {\n this.checkLoaded();\n } else {\n setTimeout(this.waitForFontsLoaded.bind(this), 20);\n }\n };\n AnimationItem.prototype.checkLoaded = function () {\n if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loaded() || this.renderer.rendererType !== 'canvas')) {\n this.isLoaded = true;\n dataManager.completeData(this.animationData, this.renderer.globalData.fontManager);\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n this.renderer.initItems();\n setTimeout(function () {\n this.trigger('DOMLoaded');\n }.bind(this), 0);\n this.gotoFrame();\n if (this.autoplay) {\n this.play();\n }\n }\n };\n AnimationItem.prototype.resize = function () {\n this.renderer.updateContainerSize();\n };\n AnimationItem.prototype.setSubframe = function (flag) {\n this.isSubframeEnabled = !!flag;\n };\n AnimationItem.prototype.gotoFrame = function () {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame;\n if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) {\n this.currentFrame = this.timeCompleted;\n }\n this.trigger('enterFrame');\n this.renderFrame();\n };\n AnimationItem.prototype.renderFrame = function () {\n if (this.isLoaded === false) {\n return;\n }\n try {\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (error) {\n this.triggerRenderFrameError(error);\n }\n };\n AnimationItem.prototype.play = function (name) {\n if (name && this.name != name) {\n return;\n }\n if (this.isPaused === true) {\n this.isPaused = false;\n this.audioController.resume();\n if (this._idle) {\n this._idle = false;\n this.trigger('_active');\n }\n }\n };\n AnimationItem.prototype.pause = function (name) {\n if (name && this.name != name) {\n return;\n }\n if (this.isPaused === false) {\n this.isPaused = true;\n this._idle = true;\n this.trigger('_idle');\n this.audioController.pause();\n }\n };\n AnimationItem.prototype.togglePause = function (name) {\n if (name && this.name != name) {\n return;\n }\n if (this.isPaused === true) {\n this.play();\n } else {\n this.pause();\n }\n };\n AnimationItem.prototype.stop = function (name) {\n if (name && this.name != name) {\n return;\n }\n this.pause();\n this.playCount = 0;\n this._completedLoop = false;\n this.setCurrentRawFrameValue(0);\n };\n AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n if (name && this.name != name) {\n return;\n }\n if (isFrame) {\n this.setCurrentRawFrameValue(value);\n } else {\n this.setCurrentRawFrameValue(value * this.frameModifier);\n }\n this.pause();\n };\n AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n this.goToAndStop(value, isFrame, name);\n this.play();\n };\n AnimationItem.prototype.advanceTime = function (value) {\n if (this.isPaused === true || this.isLoaded === false) {\n return;\n }\n var nextValue = this.currentRawFrame + value * this.frameModifier;\n var _isComplete = false;\n // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) {\n if (!this.loop || this.playCount === this.loop) {\n if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {\n _isComplete = true;\n nextValue = this.totalFrames - 1;\n }\n } else if (nextValue >= this.totalFrames) {\n this.playCount += 1;\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n this.setCurrentRawFrameValue(nextValue % this.totalFrames);\n this._completedLoop = true;\n this.trigger('loopComplete');\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n } else if (nextValue < 0) {\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) {\n this.setCurrentRawFrameValue(this.totalFrames + nextValue % this.totalFrames);\n if (!this._completedLoop) {\n this._completedLoop = true;\n } else {\n this.trigger('loopComplete');\n }\n } else {\n _isComplete = true;\n nextValue = 0;\n }\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n if (_isComplete) {\n this.setCurrentRawFrameValue(nextValue);\n this.pause();\n this.trigger('complete');\n }\n };\n AnimationItem.prototype.adjustSegment = function (arr, offset) {\n this.playCount = 0;\n if (arr[1] < arr[0]) {\n if (this.frameModifier > 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(-1);\n }\n }\n this.timeCompleted = this.totalFrames = arr[0] - arr[1];\n this.firstFrame = arr[1];\n this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);\n } else if (arr[1] > arr[0]) {\n if (this.frameModifier < 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(1);\n }\n }\n this.timeCompleted = this.totalFrames = arr[1] - arr[0];\n this.firstFrame = arr[0];\n this.setCurrentRawFrameValue(0.001 + offset);\n }\n this.trigger('segmentStart');\n };\n AnimationItem.prototype.setSegment = function (init, end) {\n var pendingFrame = -1;\n if (this.isPaused) {\n if (this.currentRawFrame + this.firstFrame < init) {\n pendingFrame = init;\n } else if (this.currentRawFrame + this.firstFrame > end) {\n pendingFrame = end - init;\n }\n }\n this.firstFrame = init;\n this.timeCompleted = this.totalFrames = end - init;\n if (pendingFrame !== -1) {\n this.goToAndStop(pendingFrame, true);\n }\n };\n AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n if (forceFlag) {\n this.segments.length = 0;\n }\n if (typeof arr[0] === 'object') {\n var i,\n len = arr.length;\n for (i = 0; i < len; i += 1) {\n this.segments.push(arr[i]);\n }\n } else {\n this.segments.push(arr);\n }\n if (this.segments.length && forceFlag) {\n this.adjustSegment(this.segments.shift(), 0);\n }\n if (this.isPaused) {\n this.play();\n }\n };\n AnimationItem.prototype.resetSegments = function (forceFlag) {\n this.segments.length = 0;\n this.segments.push([this.animationData.ip, this.animationData.op]);\n //this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op - this.animationData.ip+this.animationData.ip*this.frameRate)]);\n if (forceFlag) {\n this.checkSegments(0);\n }\n };\n AnimationItem.prototype.checkSegments = function (offset) {\n if (this.segments.length) {\n this.adjustSegment(this.segments.shift(), offset);\n return true;\n }\n return false;\n };\n AnimationItem.prototype.destroy = function (name) {\n if (name && this.name != name || !this.renderer) {\n return;\n }\n this.renderer.destroy();\n this.imagePreloader.destroy();\n this.trigger('destroy');\n this._cbs = null;\n this.onEnterFrame = this.onLoopComplete = this.onComplete = this.onSegmentStart = this.onDestroy = null;\n this.renderer = null;\n };\n AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n this.currentRawFrame = value;\n this.gotoFrame();\n };\n AnimationItem.prototype.setSpeed = function (val) {\n this.playSpeed = val;\n this.updaFrameModifier();\n };\n AnimationItem.prototype.setDirection = function (val) {\n this.playDirection = val < 0 ? -1 : 1;\n this.updaFrameModifier();\n };\n AnimationItem.prototype.setVolume = function (val, name) {\n if (name && this.name !== name) {\n return;\n }\n this.audioController.setVolume(val);\n };\n AnimationItem.prototype.getVolume = function () {\n return this.audioController.getVolume();\n };\n AnimationItem.prototype.mute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n this.audioController.mute();\n };\n AnimationItem.prototype.unmute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n this.audioController.unmute();\n };\n AnimationItem.prototype.updaFrameModifier = function () {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;\n this.audioController.setRate(this.playSpeed * this.playDirection);\n };\n AnimationItem.prototype.getPath = function () {\n return this.path;\n };\n AnimationItem.prototype.getAssetsPath = function (assetData) {\n var path = '';\n if (assetData.e) {\n path = assetData.p;\n } else if (this.assetsPath) {\n var imagePath = assetData.p;\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n path = this.assetsPath + imagePath;\n } else {\n path = this.path;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n return path;\n };\n AnimationItem.prototype.getAssetData = function (id) {\n var i = 0,\n len = this.assets.length;\n while (i < len) {\n if (id == this.assets[i].id) {\n return this.assets[i];\n }\n i += 1;\n }\n };\n AnimationItem.prototype.hide = function () {\n this.renderer.hide();\n };\n AnimationItem.prototype.show = function () {\n this.renderer.show();\n };\n AnimationItem.prototype.getDuration = function (isFrame) {\n return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;\n };\n AnimationItem.prototype.trigger = function (name) {\n if (this._cbs && this._cbs[name]) {\n switch (name) {\n case 'enterFrame':\n this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n case 'loopComplete':\n this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n break;\n case 'complete':\n this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult));\n break;\n case 'segmentStart':\n this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n break;\n case 'destroy':\n this.triggerEvent(name, new BMDestroyEvent(name, this));\n break;\n default:\n this.triggerEvent(name);\n }\n }\n if (name === 'enterFrame' && this.onEnterFrame) {\n this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult));\n }\n if (name === 'loopComplete' && this.onLoopComplete) {\n this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n }\n if (name === 'complete' && this.onComplete) {\n this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult));\n }\n if (name === 'segmentStart' && this.onSegmentStart) {\n this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n }\n if (name === 'destroy' && this.onDestroy) {\n this.onDestroy.call(this, new BMDestroyEvent(name, this));\n }\n };\n AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n AnimationItem.prototype.triggerConfigError = function (nativeError) {\n var error = new BMConfigErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n var Expressions = function () {\n var ob = {};\n ob.initExpressions = initExpressions;\n function initExpressions(animation) {\n var stackCount = 0;\n var registers = [];\n function pushExpression() {\n stackCount += 1;\n }\n function popExpression() {\n stackCount -= 1;\n if (stackCount === 0) {\n releaseInstances();\n }\n }\n function registerExpressionProperty(expression) {\n if (registers.indexOf(expression) === -1) {\n registers.push(expression);\n }\n }\n function releaseInstances() {\n var i,\n len = registers.length;\n for (i = 0; i < len; i += 1) {\n registers[i].release();\n }\n registers.length = 0;\n }\n animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n animation.renderer.globalData.pushExpression = pushExpression;\n animation.renderer.globalData.popExpression = popExpression;\n animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n }\n return ob;\n }();\n expressionsPlugin = Expressions;\n var ExpressionManager = function () {\n 'use strict';\n\n var ob = {};\n var Math = BMMath;\n var window = null;\n var document = null;\n function $bm_isInstanceOfArray(arr) {\n return arr.constructor === Array || arr.constructor === Float32Array;\n }\n function isNumerable(tOfV, v) {\n return tOfV === 'number' || tOfV === 'boolean' || tOfV === 'string' || v instanceof Number;\n }\n function $bm_neg(a) {\n var tOfA = typeof a;\n if (tOfA === 'number' || tOfA === 'boolean' || a instanceof Number) {\n return -a;\n }\n if ($bm_isInstanceOfArray(a)) {\n var i,\n lenA = a.length;\n var retArr = [];\n for (i = 0; i < lenA; i += 1) {\n retArr[i] = -a[i];\n }\n return retArr;\n }\n if (a.propType) {\n return a.v;\n }\n }\n var easeInBez = BezierFactory.getBezierEasing(0.333, 0, .833, .833, 'easeIn').get;\n var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, .667, 1, 'easeOut').get;\n var easeInOutBez = BezierFactory.getBezierEasing(.33, 0, .667, 1, 'easeInOut').get;\n function sum(a, b) {\n var tOfA = typeof a;\n var tOfB = typeof b;\n if (tOfA === 'string' || tOfB === 'string') {\n return a + b;\n }\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a + b;\n }\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] = a[0] + b;\n return a;\n }\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a + b[0];\n return b;\n }\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0,\n lenA = a.length,\n lenB = b.length;\n var retArr = [];\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] + b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n i += 1;\n }\n return retArr;\n }\n return 0;\n }\n var add = sum;\n function sub(a, b) {\n var tOfA = typeof a;\n var tOfB = typeof b;\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n if (tOfA === 'string') {\n a = parseInt(a);\n }\n if (tOfB === 'string') {\n b = parseInt(b);\n }\n return a - b;\n }\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] = a[0] - b;\n return a;\n }\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a - b[0];\n return b;\n }\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0,\n lenA = a.length,\n lenB = b.length;\n var retArr = [];\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] - b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n i += 1;\n }\n return retArr;\n }\n return 0;\n }\n function mul(a, b) {\n var tOfA = typeof a;\n var tOfB = typeof b;\n var arr;\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a * b;\n }\n var i, len;\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] * b;\n }\n return arr;\n }\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n for (i = 0; i < len; i += 1) {\n arr[i] = a * b[i];\n }\n return arr;\n }\n return 0;\n }\n function div(a, b) {\n var tOfA = typeof a;\n var tOfB = typeof b;\n var arr;\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a / b;\n }\n var i, len;\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] / b;\n }\n return arr;\n }\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n for (i = 0; i < len; i += 1) {\n arr[i] = a / b[i];\n }\n return arr;\n }\n return 0;\n }\n function mod(a, b) {\n if (typeof a === 'string') {\n a = parseInt(a);\n }\n if (typeof b === 'string') {\n b = parseInt(b);\n }\n return a % b;\n }\n var $bm_sum = sum;\n var $bm_sub = sub;\n var $bm_mul = mul;\n var $bm_div = div;\n var $bm_mod = mod;\n function clamp(num, min, max) {\n if (min > max) {\n var mm = max;\n max = min;\n min = mm;\n }\n return Math.min(Math.max(num, min), max);\n }\n function radiansToDegrees(val) {\n return val / degToRads;\n }\n var radians_to_degrees = radiansToDegrees;\n function degreesToRadians(val) {\n return val * degToRads;\n }\n var degrees_to_radians = radiansToDegrees;\n var helperLengthArray = [0, 0, 0, 0, 0, 0];\n function length(arr1, arr2) {\n if (typeof arr1 === 'number' || arr1 instanceof Number) {\n arr2 = arr2 || 0;\n return Math.abs(arr1 - arr2);\n }\n if (!arr2) {\n arr2 = helperLengthArray;\n }\n var i,\n len = Math.min(arr1.length, arr2.length);\n var addedLength = 0;\n for (i = 0; i < len; i += 1) {\n addedLength += Math.pow(arr2[i] - arr1[i], 2);\n }\n return Math.sqrt(addedLength);\n }\n function normalize(vec) {\n return div(vec, length(vec));\n }\n function rgbToHsl(val) {\n var r = val[0];\n var g = val[1];\n var b = val[2];\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n l = (max + min) / 2;\n if (max == min) {\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return [h, s, l, val[3]];\n }\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n function hslToRgb(val) {\n var h = val[0];\n var s = val[1];\n var l = val[2];\n var r, g, b;\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return [r, g, b, val[3]];\n }\n function linear(t, tMin, tMax, value1, value2) {\n if (value1 === undefined || value2 === undefined) {\n value1 = tMin;\n value2 = tMax;\n tMin = 0;\n tMax = 1;\n }\n if (tMax < tMin) {\n var _tMin = tMax;\n tMax = tMin;\n tMin = _tMin;\n }\n if (t <= tMin) {\n return value1;\n } else if (t >= tMax) {\n return value2;\n }\n var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n if (!value1.length) {\n return value1 + (value2 - value1) * perc;\n }\n var i,\n len = value1.length;\n var arr = createTypedArray('float32', len);\n for (i = 0; i < len; i += 1) {\n arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n }\n return arr;\n }\n function random(min, max) {\n if (max === undefined) {\n if (min === undefined) {\n min = 0;\n max = 1;\n } else {\n max = min;\n min = undefined;\n }\n }\n if (max.length) {\n var i,\n len = max.length;\n if (!min) {\n min = createTypedArray('float32', len);\n }\n var arr = createTypedArray('float32', len);\n var rnd = BMMath.random();\n for (i = 0; i < len; i += 1) {\n arr[i] = min[i] + rnd * (max[i] - min[i]);\n }\n return arr;\n }\n if (min === undefined) {\n min = 0;\n }\n var rndm = BMMath.random();\n return min + rndm * (max - min);\n }\n function createPath(points, inTangents, outTangents, closed) {\n var i,\n len = points.length;\n var path = shape_pool.newElement();\n path.setPathData(!!closed, len);\n var arrPlaceholder = [0, 0],\n inVertexPoint,\n outVertexPoint;\n for (i = 0; i < len; i += 1) {\n inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n }\n return path;\n }\n function initiateExpression(elem, data, property) {\n var val = data.x;\n var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n var _needsRandom = val.indexOf('random') !== -1;\n var elemType = elem.data.ty;\n var transform, $bm_transform, content, effect;\n var thisProperty = property;\n thisProperty.valueAtTime = thisProperty.getValueAtTime;\n Object.defineProperty(thisProperty, 'value', {\n get: function () {\n return thisProperty.v;\n }\n });\n elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n elem.comp.displayStartTime = 0;\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n var width = elem.data.sw ? elem.data.sw : 0;\n var height = elem.data.sh ? elem.data.sh : 0;\n var name = elem.data.nm;\n var loopIn, loop_in, loopOut, loop_out, smooth;\n var toWorld, fromWorld, fromComp, toComp, fromCompToSurface, position, rotation, anchorPoint, scale, thisLayer, thisComp, mask, valueAtTime, velocityAtTime;\n var __expression_functions = [];\n if (data.xf) {\n var i,\n len = data.xf.length;\n for (i = 0; i < len; i += 1) {\n __expression_functions[i] = eval('(function(){ return ' + data.xf[i] + '}())');\n }\n }\n var scoped_bm_rt;\n var expression_function = eval('[function _expression_function(){' + val + ';scoped_bm_rt=$bm_rt}' + ']')[0];\n var numKeys = property.kf ? data.k.length : 0;\n var active = !this.data || this.data.hd !== true;\n var wiggle = function wiggle(freq, amp) {\n var i,\n j,\n len = this.pv.length ? this.pv.length : 1;\n var addedAmps = createTypedArray('float32', len);\n freq = 5;\n var iterations = Math.floor(time * freq);\n i = 0;\n j = 0;\n while (i < iterations) {\n //var rnd = BMMath.random();\n for (j = 0; j < len; j += 1) {\n addedAmps[j] += -amp + amp * 2 * BMMath.random();\n //addedAmps[j] += -amp + amp*2*rnd;\n }\n i += 1;\n }\n //var rnd2 = BMMath.random();\n var periods = time * freq;\n var perc = periods - Math.floor(periods);\n var arr = createTypedArray('float32', len);\n if (len > 1) {\n for (j = 0; j < len; j += 1) {\n arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc;\n //arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n //arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n }\n return arr;\n } else {\n return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n }\n }.bind(this);\n if (thisProperty.loopIn) {\n loopIn = thisProperty.loopIn.bind(thisProperty);\n loop_in = loopIn;\n }\n if (thisProperty.loopOut) {\n loopOut = thisProperty.loopOut.bind(thisProperty);\n loop_out = loopOut;\n }\n if (thisProperty.smooth) {\n smooth = thisProperty.smooth.bind(thisProperty);\n }\n function loopInDuration(type, duration) {\n return loopIn(type, duration, true);\n }\n function loopOutDuration(type, duration) {\n return loopOut(type, duration, true);\n }\n if (this.getValueAtTime) {\n valueAtTime = this.getValueAtTime.bind(this);\n }\n if (this.getVelocityAtTime) {\n velocityAtTime = this.getVelocityAtTime.bind(this);\n }\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n function lookAt(elem1, elem2) {\n var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n return [yaw, pitch, 0];\n }\n function easeOut(t, tMin, tMax, val1, val2) {\n return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n }\n function easeIn(t, tMin, tMax, val1, val2) {\n return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n }\n function ease(t, tMin, tMax, val1, val2) {\n return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n }\n function applyEase(fn, t, tMin, tMax, val1, val2) {\n if (val1 === undefined) {\n val1 = tMin;\n val2 = tMax;\n } else {\n t = (t - tMin) / (tMax - tMin);\n }\n t = t > 1 ? 1 : t < 0 ? 0 : t;\n var mult = fn(t);\n if ($bm_isInstanceOfArray(val1)) {\n var i,\n len = val1.length;\n var arr = createTypedArray('float32', len);\n for (i = 0; i < len; i += 1) {\n arr[i] = (val2[i] - val1[i]) * mult + val1[i];\n }\n return arr;\n } else {\n return (val2 - val1) * mult + val1;\n }\n }\n function nearestKey(time) {\n var i,\n len = data.k.length,\n index,\n keyTime;\n if (!data.k.length || typeof data.k[0] === 'number') {\n index = 0;\n keyTime = 0;\n } else {\n index = -1;\n time *= elem.comp.globalData.frameRate;\n if (time < data.k[0].t) {\n index = 1;\n keyTime = data.k[0].t;\n } else {\n for (i = 0; i < len - 1; i += 1) {\n if (time === data.k[i].t) {\n index = i + 1;\n keyTime = data.k[i].t;\n break;\n } else if (time > data.k[i].t && time < data.k[i + 1].t) {\n if (time - data.k[i].t > data.k[i + 1].t - time) {\n index = i + 2;\n keyTime = data.k[i + 1].t;\n } else {\n index = i + 1;\n keyTime = data.k[i].t;\n }\n break;\n }\n }\n if (index === -1) {\n index = i + 1;\n keyTime = data.k[i].t;\n }\n }\n }\n var ob = {};\n ob.index = index;\n ob.time = keyTime / elem.comp.globalData.frameRate;\n return ob;\n }\n function key(ind) {\n var ob, i, len;\n if (!data.k.length || typeof data.k[0] === 'number') {\n throw new Error('The property has no keyframe at index ' + ind);\n }\n ind -= 1;\n ob = {\n time: data.k[ind].t / elem.comp.globalData.frameRate,\n value: []\n };\n var arr = data.k[ind].hasOwnProperty('s') ? data.k[ind].s : data.k[ind - 1].e;\n len = arr.length;\n for (i = 0; i < len; i += 1) {\n ob[i] = arr[i];\n ob.value[i] = arr[i];\n }\n return ob;\n }\n function framesToTime(frames, fps) {\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n return frames / fps;\n }\n function timeToFrames(t, fps) {\n if (!t && t !== 0) {\n t = time;\n }\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n return t * fps;\n }\n function seedRandom(seed) {\n BMMath.seedrandom(randSeed + seed);\n }\n function sourceRectAtTime() {\n return elem.sourceRectAtTime();\n }\n function substring(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substring(init);\n }\n return value.substring(init, end);\n }\n return '';\n }\n function substr(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substr(init);\n }\n return value.substr(init, end);\n }\n return '';\n }\n function posterizeTime(framesPerSecond) {\n time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n value = valueAtTime(time);\n }\n var time, velocity, value, text, textIndex, textTotal, selectorValue;\n var index = elem.data.ind;\n var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n var parent;\n var randSeed = Math.floor(Math.random() * 1000000);\n var globalData = elem.globalData;\n function executeExpression(_value) {\n // globalData.pushExpression();\n value = _value;\n if (_needsRandom) {\n seedRandom(randSeed);\n }\n if (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') {\n return value;\n }\n if (this.propType === 'textSelector') {\n textIndex = this.textIndex;\n textTotal = this.textTotal;\n selectorValue = this.selectorValue;\n }\n if (!thisLayer) {\n text = elem.layerInterface.text;\n thisLayer = elem.layerInterface;\n thisComp = elem.comp.compInterface;\n toWorld = thisLayer.toWorld.bind(thisLayer);\n fromWorld = thisLayer.fromWorld.bind(thisLayer);\n fromComp = thisLayer.fromComp.bind(thisLayer);\n toComp = thisLayer.toComp.bind(thisLayer);\n mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n fromCompToSurface = fromComp;\n }\n if (!transform) {\n transform = elem.layerInterface(\"ADBE Transform Group\");\n $bm_transform = transform;\n if (transform) {\n anchorPoint = transform.anchorPoint;\n /*position = transform.position;\r\n rotation = transform.rotation;\r\n scale = transform.scale;*/\n }\n }\n if (elemType === 4 && !content) {\n content = thisLayer(\"ADBE Root Vectors Group\");\n }\n if (!effect) {\n effect = thisLayer(4);\n }\n hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n if (hasParent && !parent) {\n parent = elem.hierarchy[0].layerInterface;\n }\n time = this.comp.renderedFrame / this.comp.globalData.frameRate;\n if (needsVelocity) {\n velocity = velocityAtTime(time);\n }\n expression_function();\n this.frameExpressionId = elem.globalData.frameId;\n\n //TODO: Check if it's possible to return on ShapeInterface the .v value\n if (scoped_bm_rt.propType === \"shape\") {\n scoped_bm_rt = scoped_bm_rt.v;\n }\n // globalData.popExpression();\n return scoped_bm_rt;\n }\n return executeExpression;\n }\n ob.initiateExpression = initiateExpression;\n return ob;\n }();\n var expressionHelpers = function () {\n function searchExpressions(elem, data, prop) {\n if (data.x) {\n prop.k = true;\n prop.x = true;\n prop.initiateExpression = ExpressionManager.initiateExpression;\n prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n }\n }\n function getValueAtTime(frameNum) {\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n if (frameNum !== this._cachingAtTime.lastFrame) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\n this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\n this._cachingAtTime.lastFrame = frameNum;\n }\n return this._cachingAtTime.value;\n }\n function getSpeedAtTime(frameNum) {\n var delta = -0.01;\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var speed = 0;\n if (v1.length) {\n var i;\n for (i = 0; i < v1.length; i += 1) {\n speed += Math.pow(v2[i] - v1[i], 2);\n }\n speed = Math.sqrt(speed) * 100;\n } else {\n speed = 0;\n }\n return speed;\n }\n function getVelocityAtTime(frameNum) {\n if (this.vel !== undefined) {\n return this.vel;\n }\n var delta = -0.001;\n //frameNum += this.elem.data.st;\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var velocity;\n if (v1.length) {\n velocity = createTypedArray('float32', v1.length);\n var i;\n for (i = 0; i < v1.length; i += 1) {\n //removing frameRate\n //if needed, don't add it here\n //velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n velocity[i] = (v2[i] - v1[i]) / delta;\n }\n } else {\n velocity = (v2 - v1) / delta;\n }\n return velocity;\n }\n function getStaticValueAtTime() {\n return this.pv;\n }\n function setGroupProperty(propertyGroup) {\n this.propertyGroup = propertyGroup;\n }\n return {\n searchExpressions: searchExpressions,\n getSpeedAtTime: getSpeedAtTime,\n getVelocityAtTime: getVelocityAtTime,\n getValueAtTime: getValueAtTime,\n getStaticValueAtTime: getStaticValueAtTime,\n setGroupProperty: setGroupProperty\n };\n }();\n (function addPropertyDecorator() {\n function loopOut(type, duration, durationFlag) {\n if (!this.k || !this.keyframes) {\n return this.pv;\n }\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var lastKeyFrame = keyframes[keyframes.length - 1].t;\n if (currentFrame <= lastKeyFrame) {\n return this.pv;\n } else {\n var cycleDuration, firstKeyFrame;\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, lastKeyFrame - this.elem.data.ip);\n } else {\n cycleDuration = Math.abs(lastKeyFrame - elem.comp.globalData.frameRate * duration);\n }\n firstKeyFrame = lastKeyFrame - cycleDuration;\n }\n var i, len, ret;\n if (type === 'pingpong') {\n var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n if (iterations % 2 !== 0) {\n return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n for (i = 0; i < len; i += 1) {\n ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n }\n return ret;\n }\n return (endV - initV) * repeats + current;\n } else if (type === 'continue') {\n var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0);\n if (this.pv.length) {\n ret = new Array(lastValue.length);\n len = ret.length;\n for (i = 0; i < len; i += 1) {\n ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / this.comp.globalData.frameRate) / 0.0005;\n }\n return ret;\n }\n return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n }\n return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n }\n }\n function loopIn(type, duration, durationFlag) {\n if (!this.k) {\n return this.pv;\n }\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var firstKeyFrame = keyframes[0].t;\n if (currentFrame >= firstKeyFrame) {\n return this.pv;\n } else {\n var cycleDuration, lastKeyFrame;\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n lastKeyFrame = keyframes[duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, this.elem.data.op - firstKeyFrame);\n } else {\n cycleDuration = Math.abs(elem.comp.globalData.frameRate * duration);\n }\n lastKeyFrame = firstKeyFrame + cycleDuration;\n }\n var i, len, ret;\n if (type === 'pingpong') {\n var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n if (iterations % 2 === 0) {\n return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n for (i = 0; i < len; i += 1) {\n ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n }\n return ret;\n }\n return current - (endV - initV) * repeats;\n } else if (type === 'continue') {\n var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0);\n if (this.pv.length) {\n ret = new Array(firstValue.length);\n len = ret.length;\n for (i = 0; i < len; i += 1) {\n ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n }\n return ret;\n }\n return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n }\n return this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n }\n }\n function smooth(width, samples) {\n if (!this.k) {\n return this.pv;\n }\n width = (width || 0.4) * 0.5;\n samples = Math.floor(samples || 5);\n if (samples <= 1) {\n return this.pv;\n }\n var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate;\n var initFrame = currentTime - width;\n var endFrame = currentTime + width;\n var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n var i = 0,\n j = 0;\n var value;\n if (this.pv.length) {\n value = createTypedArray('float32', this.pv.length);\n } else {\n value = 0;\n }\n var sampleValue;\n while (i < samples) {\n sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] += sampleValue[j];\n }\n } else {\n value += sampleValue;\n }\n i += 1;\n }\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] /= samples;\n }\n } else {\n value /= samples;\n }\n return value;\n }\n function getValueAtTime(frameNum) {\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n if (frameNum !== this._cachingAtTime.lastFrame) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\n this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\n this._cachingAtTime.lastFrame = frameNum;\n }\n return this._cachingAtTime.value;\n }\n function getTransformValueAtTime(time) {\n if (!this._transformCachingAtTime) {\n this._transformCachingAtTime = {\n v: new Matrix()\n };\n }\n ////\n var matrix = this._transformCachingAtTime.v;\n matrix.cloneFromProps(this.pre.props);\n if (this.appliedTransformations < 1) {\n var anchor = this.a.getValueAtTime(time);\n matrix.translate(-anchor[0], -anchor[1], anchor[2]);\n }\n if (this.appliedTransformations < 2) {\n var scale = this.s.getValueAtTime(time);\n matrix.scale(scale[0], scale[1], scale[2]);\n }\n if (this.sk && this.appliedTransformations < 3) {\n var skew = this.sk.getValueAtTime(time);\n var skewAxis = this.sa.getValueAtTime(time);\n matrix.skewFromAxis(-skew, skewAxis);\n }\n if (this.r && this.appliedTransformations < 4) {\n var rotation = this.r.getValueAtTime(time);\n matrix.rotate(-rotation);\n } else if (!this.r && this.appliedTransformations < 4) {\n var rotationZ = this.rz.getValueAtTime(time);\n var rotationY = this.ry.getValueAtTime(time);\n var rotationX = this.rx.getValueAtTime(time);\n var orientation = this.or.getValueAtTime(time);\n matrix.rotateZ(-rotationZ.v).rotateY(rotationY.v).rotateX(rotationX.v).rotateZ(-orientation[2]).rotateY(orientation[1]).rotateX(orientation[0]);\n }\n if (this.data.p && this.data.p.s) {\n var positionX = this.px.getValueAtTime(time);\n var positionY = this.py.getValueAtTime(time);\n if (this.data.p.z) {\n var positionZ = this.pz.getValueAtTime(time);\n matrix.translate(positionX, positionY, -positionZ);\n } else {\n matrix.translate(positionX, positionY, 0);\n }\n } else {\n var position = this.p.getValueAtTime(time);\n matrix.translate(position[0], position[1], -position[2]);\n }\n return matrix;\n ////\n }\n function getTransformStaticValueAtTime(time) {}\n var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n var prop = getTransformProperty(elem, data, container);\n if (prop.dynamicProperties.length) {\n prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n }\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n return prop;\n };\n var propertyGetProp = PropertyFactory.getProp;\n PropertyFactory.getProp = function (elem, data, type, mult, container) {\n var prop = propertyGetProp(elem, data, type, mult, container);\n //prop.getVelocityAtTime = getVelocityAtTime;\n //prop.loopOut = loopOut;\n //prop.loopIn = loopIn;\n if (prop.kf) {\n prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n }\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n prop.loopOut = loopOut;\n prop.loopIn = loopIn;\n prop.smooth = smooth;\n prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n prop.numKeys = data.a === 1 ? data.k.length : 0;\n prop.propertyIndex = data.ix;\n var value = 0;\n if (type !== 0) {\n value = createTypedArray('float32', data.a === 1 ? data.k[0].s.length : data.k.length);\n }\n prop._cachingAtTime = {\n lastFrame: initialDefaultFrame,\n lastIndex: 0,\n value: value\n };\n expressionHelpers.searchExpressions(elem, data, prop);\n if (prop.k) {\n container.addDynamicProperty(prop);\n }\n return prop;\n };\n function getShapeValueAtTime(frameNum) {\n //For now this caching object is created only when needed instead of creating it when the shape is initialized.\n if (!this._cachingAtTime) {\n this._cachingAtTime = {\n shapeValue: shape_pool.clone(this.pv),\n lastIndex: 0,\n lastTime: initialDefaultFrame\n };\n }\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n if (frameNum !== this._cachingAtTime.lastTime) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;\n this._cachingAtTime.lastTime = frameNum;\n this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);\n }\n return this._cachingAtTime.shapeValue;\n }\n var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n function ShapeExpressions() {}\n ShapeExpressions.prototype = {\n vertices: function (prop, time) {\n if (this.k) {\n this.getValue();\n }\n var shapePath = this.v;\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n var i,\n len = shapePath._length;\n var vertices = shapePath[prop];\n var points = shapePath.v;\n var arr = createSizedArray(len);\n for (i = 0; i < len; i += 1) {\n if (prop === 'i' || prop === 'o') {\n arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n } else {\n arr[i] = [vertices[i][0], vertices[i][1]];\n }\n }\n return arr;\n },\n points: function (time) {\n return this.vertices('v', time);\n },\n inTangents: function (time) {\n return this.vertices('i', time);\n },\n outTangents: function (time) {\n return this.vertices('o', time);\n },\n isClosed: function () {\n return this.v.c;\n },\n pointOnPath: function (perc, time) {\n var shapePath = this.v;\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n if (!this._segmentsLength) {\n this._segmentsLength = bez.getSegmentsLength(shapePath);\n }\n var segmentsLength = this._segmentsLength;\n var lengths = segmentsLength.lengths;\n var lengthPos = segmentsLength.totalLength * perc;\n var i = 0,\n len = lengths.length;\n var j = 0,\n jLen;\n var accumulatedLength = 0,\n pt;\n while (i < len) {\n if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n var initIndex = i;\n var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n break;\n } else {\n accumulatedLength += lengths[i].addedLength;\n }\n i += 1;\n }\n if (!pt) {\n pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n }\n return pt;\n },\n vectorOnPath: function (perc, time, vectorType) {\n //perc doesn't use triple equality because it can be a Number object as well as a primitive.\n perc = perc == 1 ? this.v.c ? 0 : 0.999 : perc;\n var pt1 = this.pointOnPath(perc, time);\n var pt2 = this.pointOnPath(perc + 0.001, time);\n var xLength = pt2[0] - pt1[0];\n var yLength = pt2[1] - pt1[1];\n var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n if (magnitude === 0) {\n return [0, 0];\n }\n var unitVector = vectorType === 'tangent' ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n return unitVector;\n },\n tangentOnPath: function (perc, time) {\n return this.vectorOnPath(perc, time, 'tangent');\n },\n normalOnPath: function (perc, time) {\n return this.vectorOnPath(perc, time, 'normal');\n },\n setGroupProperty: expressionHelpers.setGroupProperty,\n getValueAtTime: expressionHelpers.getStaticValueAtTime\n };\n extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n prop.propertyIndex = data.ix;\n prop.lock = false;\n if (type === 3) {\n expressionHelpers.searchExpressions(elem, data.pt, prop);\n } else if (type === 4) {\n expressionHelpers.searchExpressions(elem, data.ks, prop);\n }\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n return prop;\n };\n })();\n (function addDecorator() {\n function searchExpressions() {\n if (this.data.d.x) {\n this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this);\n this.addEffect(this.getExpressionValue.bind(this));\n return true;\n }\n }\n TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n var newValue = this.calculateExpression(text);\n if (currentValue.t !== newValue) {\n var newData = {};\n this.copyData(newData, currentValue);\n newData.t = newValue.toString();\n newData.__complete = false;\n return newData;\n }\n return currentValue;\n };\n TextProperty.prototype.searchProperty = function () {\n var isKeyframed = this.searchKeyframes();\n var hasExpressions = this.searchExpressions();\n this.kf = isKeyframed || hasExpressions;\n return this.kf;\n };\n TextProperty.prototype.searchExpressions = searchExpressions;\n })();\n var ShapePathInterface = function () {\n return function pathInterfaceFactory(shape, view, propertyGroup) {\n var prop = view.sh;\n function interfaceFunction(val) {\n if (val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2) {\n return interfaceFunction.path;\n }\n }\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n prop.setGroupProperty(PropertyInterface('Path', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n 'path': {\n get: function () {\n if (prop.k) {\n prop.getValue();\n }\n return prop;\n }\n },\n 'shape': {\n get: function () {\n if (prop.k) {\n prop.getValue();\n }\n return prop;\n }\n },\n '_name': {\n value: shape.nm\n },\n 'ix': {\n value: shape.ix\n },\n 'propertyIndex': {\n value: shape.ix\n },\n 'mn': {\n value: shape.mn\n },\n 'propertyGroup': {\n value: propertyGroup\n }\n });\n return interfaceFunction;\n };\n }();\n var propertyGroupFactory = function () {\n return function (interfaceFunction, parentPropertyGroup) {\n return function (val) {\n val = val === undefined ? 1 : val;\n if (val <= 0) {\n return interfaceFunction;\n } else {\n return parentPropertyGroup(val - 1);\n }\n };\n };\n }();\n var PropertyInterface = function () {\n return function (propertyName, propertyGroup) {\n var interfaceFunction = {\n _name: propertyName\n };\n function _propertyGroup(val) {\n val = val === undefined ? 1 : val;\n if (val <= 0) {\n return interfaceFunction;\n } else {\n return propertyGroup(--val);\n }\n }\n return _propertyGroup;\n };\n }();\n var ShapeExpressionInterface = function () {\n function iterateElements(shapes, view, propertyGroup) {\n var arr = [];\n var i,\n len = shapes ? shapes.length : 0;\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty == 'gr') {\n arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty == 'fl') {\n arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty == 'st') {\n arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty == 'tm') {\n arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty == 'tr') {\n //arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n } else if (shapes[i].ty == 'el') {\n arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty == 'sr') {\n arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty == 'sh') {\n arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty == 'rc') {\n arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty == 'rd') {\n arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty == 'rp') {\n arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n }\n }\n return arr;\n }\n function contentsInterfaceFactory(shape, view, propertyGroup) {\n var interfaces;\n var interfaceFunction = function _interfaceFunction(value) {\n var i = 0,\n len = interfaces.length;\n while (i < len) {\n if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n return interfaces[i];\n }\n i += 1;\n }\n if (typeof value === 'number') {\n return interfaces[value - 1];\n }\n };\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n interfaceFunction.numProperties = interfaces.length;\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.transform = transformInterface;\n interfaceFunction.propertyIndex = shape.cix;\n interfaceFunction._name = shape.nm;\n return interfaceFunction;\n }\n function groupInterfaceFactory(shape, view, propertyGroup) {\n var interfaceFunction = function _interfaceFunction(value) {\n switch (value) {\n case 'ADBE Vectors Group':\n case 'Contents':\n case 2:\n return interfaceFunction.content;\n //Not necessary for now. Keeping them here in case a new case appears\n //case 'ADBE Vector Transform Group':\n //case 3:\n default:\n return interfaceFunction.transform;\n }\n };\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.content = content;\n interfaceFunction.transform = transformInterface;\n Object.defineProperty(interfaceFunction, '_name', {\n get: function () {\n return shape.nm;\n }\n });\n //interfaceFunction.content = interfaceFunction;\n interfaceFunction.numProperties = shape.np;\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.nm = shape.nm;\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n function fillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n } else if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n }\n Object.defineProperties(interfaceFunction, {\n 'color': {\n get: ExpressionPropertyInterface(view.c)\n },\n 'opacity': {\n get: ExpressionPropertyInterface(view.o)\n },\n '_name': {\n value: shape.nm\n },\n 'mn': {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n function strokeInterfaceFactory(shape, view, propertyGroup) {\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n function addPropertyToDashOb(i) {\n Object.defineProperty(dashOb, shape.d[i].nm, {\n get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n });\n }\n var i,\n len = shape.d ? shape.d.length : 0;\n var dashOb = {};\n for (i = 0; i < len; i += 1) {\n addPropertyToDashOb(i);\n view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n }\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n } else if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n } else if (val === 'Stroke Width' || val === 'stroke width') {\n return interfaceFunction.strokeWidth;\n }\n }\n Object.defineProperties(interfaceFunction, {\n 'color': {\n get: ExpressionPropertyInterface(view.c)\n },\n 'opacity': {\n get: ExpressionPropertyInterface(view.o)\n },\n 'strokeWidth': {\n get: ExpressionPropertyInterface(view.w)\n },\n 'dash': {\n get: function () {\n return dashOb;\n }\n },\n '_name': {\n value: shape.nm\n },\n 'mn': {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.w.setGroupProperty(PropertyInterface('Stroke Width', _propertyGroup));\n return interfaceFunction;\n }\n function trimInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === shape.e.ix || val === 'End' || val === 'end') {\n return interfaceFunction.end;\n }\n if (val === shape.s.ix) {\n return interfaceFunction.start;\n }\n if (val === shape.o.ix) {\n return interfaceFunction.offset;\n }\n }\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n interfaceFunction.propertyIndex = shape.ix;\n view.s.setGroupProperty(PropertyInterface('Start', _propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.propertyGroup = propertyGroup;\n Object.defineProperties(interfaceFunction, {\n 'start': {\n get: ExpressionPropertyInterface(view.s)\n },\n 'end': {\n get: ExpressionPropertyInterface(view.e)\n },\n 'offset': {\n get: ExpressionPropertyInterface(view.o)\n },\n '_name': {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n function transformInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.a.ix === value || value === 'Anchor Point') {\n return interfaceFunction.anchorPoint;\n }\n if (shape.o.ix === value || value === 'Opacity') {\n return interfaceFunction.opacity;\n }\n if (shape.p.ix === value || value === 'Position') {\n return interfaceFunction.position;\n }\n if (shape.r.ix === value || value === 'Rotation' || value === 'ADBE Vector Rotation') {\n return interfaceFunction.rotation;\n }\n if (shape.s.ix === value || value === 'Scale') {\n return interfaceFunction.scale;\n }\n if (shape.sk && shape.sk.ix === value || value === 'Skew') {\n return interfaceFunction.skew;\n }\n if (shape.sa && shape.sa.ix === value || value === 'Skew Axis') {\n return interfaceFunction.skewAxis;\n }\n }\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n view.transform.mProps.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.transform.mProps.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n view.transform.mProps.a.setGroupProperty(PropertyInterface('Anchor Point', _propertyGroup));\n view.transform.mProps.s.setGroupProperty(PropertyInterface('Scale', _propertyGroup));\n view.transform.mProps.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n if (view.transform.mProps.sk) {\n view.transform.mProps.sk.setGroupProperty(PropertyInterface('Skew', _propertyGroup));\n view.transform.mProps.sa.setGroupProperty(PropertyInterface('Skew Angle', _propertyGroup));\n }\n view.transform.op.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n 'opacity': {\n get: ExpressionPropertyInterface(view.transform.mProps.o)\n },\n 'position': {\n get: ExpressionPropertyInterface(view.transform.mProps.p)\n },\n 'anchorPoint': {\n get: ExpressionPropertyInterface(view.transform.mProps.a)\n },\n 'scale': {\n get: ExpressionPropertyInterface(view.transform.mProps.s)\n },\n 'rotation': {\n get: ExpressionPropertyInterface(view.transform.mProps.r)\n },\n 'skew': {\n get: ExpressionPropertyInterface(view.transform.mProps.sk)\n },\n 'skewAxis': {\n get: ExpressionPropertyInterface(view.transform.mProps.sa)\n },\n '_name': {\n value: shape.nm\n }\n });\n interfaceFunction.ty = 'tr';\n interfaceFunction.mn = shape.mn;\n interfaceFunction.propertyGroup = propertyGroup;\n return interfaceFunction;\n }\n function ellipseInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n if (shape.s.ix === value) {\n return interfaceFunction.size;\n }\n }\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n interfaceFunction.propertyIndex = shape.ix;\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n 'size': {\n get: ExpressionPropertyInterface(prop.s)\n },\n 'position': {\n get: ExpressionPropertyInterface(prop.p)\n },\n '_name': {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n function starInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n if (shape.r.ix === value) {\n return interfaceFunction.rotation;\n }\n if (shape.pt.ix === value) {\n return interfaceFunction.points;\n }\n if (shape.or.ix === value || 'ADBE Vector Star Outer Radius' === value) {\n return interfaceFunction.outerRadius;\n }\n if (shape.os.ix === value) {\n return interfaceFunction.outerRoundness;\n }\n if (shape.ir && (shape.ir.ix === value || 'ADBE Vector Star Inner Radius' === value)) {\n return interfaceFunction.innerRadius;\n }\n if (shape.is && shape.is.ix === value) {\n return interfaceFunction.innerRoundness;\n }\n }\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.or.setGroupProperty(PropertyInterface('Outer Radius', _propertyGroup));\n prop.os.setGroupProperty(PropertyInterface('Outer Roundness', _propertyGroup));\n prop.pt.setGroupProperty(PropertyInterface('Points', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n if (shape.ir) {\n prop.ir.setGroupProperty(PropertyInterface('Inner Radius', _propertyGroup));\n prop.is.setGroupProperty(PropertyInterface('Inner Roundness', _propertyGroup));\n }\n Object.defineProperties(interfaceFunction, {\n 'position': {\n get: ExpressionPropertyInterface(prop.p)\n },\n 'rotation': {\n get: ExpressionPropertyInterface(prop.r)\n },\n 'points': {\n get: ExpressionPropertyInterface(prop.pt)\n },\n 'outerRadius': {\n get: ExpressionPropertyInterface(prop.or)\n },\n 'outerRoundness': {\n get: ExpressionPropertyInterface(prop.os)\n },\n 'innerRadius': {\n get: ExpressionPropertyInterface(prop.ir)\n },\n 'innerRoundness': {\n get: ExpressionPropertyInterface(prop.is)\n },\n '_name': {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n function rectInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n if (shape.r.ix === value) {\n return interfaceFunction.roundness;\n }\n if (shape.s.ix === value || value === 'Size' || value === 'ADBE Vector Rect Size') {\n return interfaceFunction.size;\n }\n }\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n 'position': {\n get: ExpressionPropertyInterface(prop.p)\n },\n 'roundness': {\n get: ExpressionPropertyInterface(prop.r)\n },\n 'size': {\n get: ExpressionPropertyInterface(prop.s)\n },\n '_name': {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n function roundedInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.r.ix === value || 'Round Corners 1' === value) {\n return interfaceFunction.radius;\n }\n }\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.rd.setGroupProperty(PropertyInterface('Radius', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n 'radius': {\n get: ExpressionPropertyInterface(prop.rd)\n },\n '_name': {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n function repeaterInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.c.ix === value || 'Copies' === value) {\n return interfaceFunction.copies;\n } else if (shape.o.ix === value || 'Offset' === value) {\n return interfaceFunction.offset;\n }\n }\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.c.setGroupProperty(PropertyInterface('Copies', _propertyGroup));\n prop.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n 'copies': {\n get: ExpressionPropertyInterface(prop.c)\n },\n 'offset': {\n get: ExpressionPropertyInterface(prop.o)\n },\n '_name': {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n return function (shapes, view, propertyGroup) {\n var interfaces;\n function _interfaceFunction(value) {\n if (typeof value === 'number') {\n value = value === undefined ? 1 : value;\n if (value === 0) {\n return propertyGroup;\n } else {\n return interfaces[value - 1];\n }\n } else {\n var i = 0,\n len = interfaces.length;\n while (i < len) {\n if (interfaces[i]._name === value) {\n return interfaces[i];\n }\n i += 1;\n }\n }\n }\n _interfaceFunction.propertyGroup = propertyGroup;\n interfaces = iterateElements(shapes, view, _interfaceFunction);\n _interfaceFunction.numProperties = interfaces.length;\n return _interfaceFunction;\n };\n }();\n var TextExpressionInterface = function () {\n return function (elem) {\n var _prevValue, _sourceText;\n function _thisLayerFunction(name) {\n switch (name) {\n case \"ADBE Text Document\":\n return _thisLayerFunction.sourceText;\n }\n }\n Object.defineProperty(_thisLayerFunction, \"sourceText\", {\n get: function () {\n elem.textProperty.getValue();\n var stringValue = elem.textProperty.currentData.t;\n if (stringValue !== _prevValue) {\n elem.textProperty.currentData.t = _prevValue;\n _sourceText = new String(stringValue);\n //If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n _sourceText.value = stringValue ? stringValue : new String(stringValue);\n }\n return _sourceText;\n }\n });\n return _thisLayerFunction;\n };\n }();\n var LayerExpressionInterface = function () {\n function toWorld(arr, time) {\n var toWorldMat = new Matrix();\n toWorldMat.reset();\n var transformMat;\n if (time !== undefined) {\n toWorldMat = this._elem.finalTransform.mProp.getValueAtTime(time);\n } else {\n transformMat = this._elem.finalTransform.mProp;\n transformMat.applyToMatrix(toWorldMat);\n }\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i,\n len = this._elem.hierarchy.length;\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n }\n return toWorldMat.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n }\n return toWorldMat.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n }\n function fromWorld(arr, time) {\n var toWorldMat = new Matrix();\n toWorldMat.reset();\n var transformMat;\n if (time !== undefined) {\n toWorldMat = this._elem.finalTransform.mProp.getValueAtTime(time);\n } else {\n transformMat = this._elem.finalTransform.mProp;\n transformMat.applyToMatrix(toWorldMat);\n }\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i,\n len = this._elem.hierarchy.length;\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n }\n return toWorldMat.inversePoint(arr);\n }\n return toWorldMat.inversePoint(arr);\n }\n function fromComp(arr) {\n var toWorldMat = new Matrix();\n toWorldMat.reset();\n this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i,\n len = this._elem.hierarchy.length;\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n }\n return toWorldMat.inversePoint(arr);\n }\n return toWorldMat.inversePoint(arr);\n }\n function sampleImage() {\n return [1, 1, 1, 1];\n }\n return function (elem) {\n var transformInterface;\n function _registerMaskInterface(maskManager) {\n _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n }\n function _registerEffectsInterface(effects) {\n _thisLayerFunction.effect = effects;\n }\n function _thisLayerFunction(name) {\n switch (name) {\n case \"ADBE Root Vectors Group\":\n case \"Contents\":\n case 2:\n return _thisLayerFunction.shapeInterface;\n case 1:\n case 6:\n case \"Transform\":\n case \"transform\":\n case \"ADBE Transform Group\":\n return transformInterface;\n case 4:\n case \"ADBE Effect Parade\":\n case \"effects\":\n case \"Effects\":\n return _thisLayerFunction.effect;\n case \"ADBE Text Properties\":\n return _thisLayerFunction.textInterface;\n }\n }\n _thisLayerFunction.toWorld = toWorld;\n _thisLayerFunction.fromWorld = fromWorld;\n _thisLayerFunction.toComp = toWorld;\n _thisLayerFunction.fromComp = fromComp;\n _thisLayerFunction.sampleImage = sampleImage;\n _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n _thisLayerFunction._elem = elem;\n transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n var anchorPointDescriptor = getDescriptor(transformInterface, 'anchorPoint');\n Object.defineProperties(_thisLayerFunction, {\n hasParent: {\n get: function () {\n return elem.hierarchy.length;\n }\n },\n parent: {\n get: function () {\n return elem.hierarchy[0].layerInterface;\n }\n },\n rotation: getDescriptor(transformInterface, 'rotation'),\n scale: getDescriptor(transformInterface, 'scale'),\n position: getDescriptor(transformInterface, 'position'),\n opacity: getDescriptor(transformInterface, 'opacity'),\n anchorPoint: anchorPointDescriptor,\n anchor_point: anchorPointDescriptor,\n transform: {\n get: function () {\n return transformInterface;\n }\n },\n active: {\n get: function () {\n return elem.isInRange;\n }\n }\n });\n _thisLayerFunction.startTime = elem.data.st;\n _thisLayerFunction.index = elem.data.ind;\n _thisLayerFunction.source = elem.data.refId;\n _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n _thisLayerFunction._name = elem.data.nm;\n _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n return _thisLayerFunction;\n };\n }();\n var CompExpressionInterface = function () {\n return function (comp) {\n function _thisLayerFunction(name) {\n var i = 0,\n len = comp.layers.length;\n while (i < len) {\n if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n return comp.elements[i].layerInterface;\n }\n i += 1;\n }\n return null;\n //return {active:false};\n }\n Object.defineProperty(_thisLayerFunction, \"_name\", {\n value: comp.data.nm\n });\n _thisLayerFunction.layer = _thisLayerFunction;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n _thisLayerFunction.displayStartTime = 0;\n _thisLayerFunction.numLayers = comp.layers.length;\n return _thisLayerFunction;\n };\n }();\n var TransformExpressionInterface = function () {\n return function (transform) {\n function _thisFunction(name) {\n switch (name) {\n case \"scale\":\n case \"Scale\":\n case \"ADBE Scale\":\n case 6:\n return _thisFunction.scale;\n case \"rotation\":\n case \"Rotation\":\n case \"ADBE Rotation\":\n case \"ADBE Rotate Z\":\n case 10:\n return _thisFunction.rotation;\n case \"ADBE Rotate X\":\n return _thisFunction.xRotation;\n case \"ADBE Rotate Y\":\n return _thisFunction.yRotation;\n case \"position\":\n case \"Position\":\n case \"ADBE Position\":\n case 2:\n return _thisFunction.position;\n case 'ADBE Position_0':\n return _thisFunction.xPosition;\n case 'ADBE Position_1':\n return _thisFunction.yPosition;\n case 'ADBE Position_2':\n return _thisFunction.zPosition;\n case \"anchorPoint\":\n case \"AnchorPoint\":\n case \"Anchor Point\":\n case \"ADBE AnchorPoint\":\n case 1:\n return _thisFunction.anchorPoint;\n case \"opacity\":\n case \"Opacity\":\n case 11:\n return _thisFunction.opacity;\n }\n }\n Object.defineProperty(_thisFunction, \"rotation\", {\n get: ExpressionPropertyInterface(transform.r || transform.rz)\n });\n Object.defineProperty(_thisFunction, \"zRotation\", {\n get: ExpressionPropertyInterface(transform.rz || transform.r)\n });\n Object.defineProperty(_thisFunction, \"xRotation\", {\n get: ExpressionPropertyInterface(transform.rx)\n });\n Object.defineProperty(_thisFunction, \"yRotation\", {\n get: ExpressionPropertyInterface(transform.ry)\n });\n Object.defineProperty(_thisFunction, \"scale\", {\n get: ExpressionPropertyInterface(transform.s)\n });\n if (transform.p) {\n var _transformFactory = ExpressionPropertyInterface(transform.p);\n } else {\n var _px = ExpressionPropertyInterface(transform.px);\n var _py = ExpressionPropertyInterface(transform.py);\n var _pz;\n if (transform.pz) {\n _pz = ExpressionPropertyInterface(transform.pz);\n }\n }\n Object.defineProperty(_thisFunction, \"position\", {\n get: function () {\n if (transform.p) {\n return _transformFactory();\n } else {\n return [_px(), _py(), _pz ? _pz() : 0];\n }\n }\n });\n Object.defineProperty(_thisFunction, \"xPosition\", {\n get: ExpressionPropertyInterface(transform.px)\n });\n Object.defineProperty(_thisFunction, \"yPosition\", {\n get: ExpressionPropertyInterface(transform.py)\n });\n Object.defineProperty(_thisFunction, \"zPosition\", {\n get: ExpressionPropertyInterface(transform.pz)\n });\n Object.defineProperty(_thisFunction, \"anchorPoint\", {\n get: ExpressionPropertyInterface(transform.a)\n });\n Object.defineProperty(_thisFunction, \"opacity\", {\n get: ExpressionPropertyInterface(transform.o)\n });\n Object.defineProperty(_thisFunction, \"skew\", {\n get: ExpressionPropertyInterface(transform.sk)\n });\n Object.defineProperty(_thisFunction, \"skewAxis\", {\n get: ExpressionPropertyInterface(transform.sa)\n });\n Object.defineProperty(_thisFunction, \"orientation\", {\n get: ExpressionPropertyInterface(transform.or)\n });\n return _thisFunction;\n };\n }();\n var ProjectInterface = function () {\n function registerComposition(comp) {\n this.compositions.push(comp);\n }\n return function () {\n function _thisProjectFunction(name) {\n var i = 0,\n len = this.compositions.length;\n while (i < len) {\n if (this.compositions[i].data && this.compositions[i].data.nm === name) {\n if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) {\n this.compositions[i].prepareFrame(this.currentFrame);\n }\n return this.compositions[i].compInterface;\n }\n i += 1;\n }\n }\n _thisProjectFunction.compositions = [];\n _thisProjectFunction.currentFrame = 0;\n _thisProjectFunction.registerComposition = registerComposition;\n return _thisProjectFunction;\n };\n }();\n var EffectsExpressionInterface = function () {\n var ob = {\n createEffectsInterface: createEffectsInterface\n };\n function createEffectsInterface(elem, propertyGroup) {\n if (elem.effectsManager) {\n var effectElements = [];\n var effectsData = elem.data.ef;\n var i,\n len = elem.effectsManager.effectElements.length;\n for (i = 0; i < len; i += 1) {\n effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n }\n var effects = elem.data.ef || [];\n var groupInterface = function (name) {\n i = 0, len = effects.length;\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n return effectElements[i];\n }\n i += 1;\n }\n };\n Object.defineProperty(groupInterface, 'numProperties', {\n get: function () {\n return effects.length;\n }\n });\n return groupInterface;\n }\n }\n function createGroupInterface(data, elements, propertyGroup, elem) {\n function groupInterface(name) {\n var effects = data.ef,\n i = 0,\n len = effects.length;\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n if (effects[i].ty === 5) {\n return effectElements[i];\n } else {\n return effectElements[i]();\n }\n }\n i += 1;\n }\n throw new Error();\n }\n ;\n var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n var effectElements = [];\n var i,\n len = data.ef.length;\n for (i = 0; i < len; i += 1) {\n if (data.ef[i].ty === 5) {\n effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n } else {\n effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n }\n }\n if (data.mn === 'ADBE Color Control') {\n Object.defineProperty(groupInterface, 'color', {\n get: function () {\n return effectElements[0]();\n }\n });\n }\n Object.defineProperties(groupInterface, {\n numProperties: {\n get: function () {\n return data.np;\n }\n },\n _name: {\n value: data.nm\n },\n propertyGroup: {\n value: _propertyGroup\n }\n });\n groupInterface.active = groupInterface.enabled = data.en !== 0;\n return groupInterface;\n }\n function createValueInterface(element, type, elem, propertyGroup) {\n var expressionProperty = ExpressionPropertyInterface(element.p);\n function interfaceFunction() {\n if (type === 10) {\n return elem.comp.compInterface(element.p.v);\n }\n return expressionProperty();\n }\n if (element.p.setGroupProperty) {\n element.p.setGroupProperty(PropertyInterface('', propertyGroup));\n }\n return interfaceFunction;\n }\n return ob;\n }();\n var MaskManagerInterface = function () {\n function MaskInterface(mask, data) {\n this._mask = mask;\n this._data = data;\n }\n Object.defineProperty(MaskInterface.prototype, 'maskPath', {\n get: function () {\n if (this._mask.prop.k) {\n this._mask.prop.getValue();\n }\n return this._mask.prop;\n }\n });\n Object.defineProperty(MaskInterface.prototype, 'maskOpacity', {\n get: function () {\n if (this._mask.op.k) {\n this._mask.op.getValue();\n }\n return this._mask.op.v * 100;\n }\n });\n var MaskManager = function (maskManager, elem) {\n var _maskManager = maskManager;\n var _elem = elem;\n var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n var i,\n len = maskManager.viewData.length;\n for (i = 0; i < len; i += 1) {\n _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n }\n var maskFunction = function (name) {\n i = 0;\n while (i < len) {\n if (maskManager.masksProperties[i].nm === name) {\n return _masksInterfaces[i];\n }\n i += 1;\n }\n };\n return maskFunction;\n };\n return MaskManager;\n }();\n var ExpressionPropertyInterface = function () {\n var defaultUnidimensionalValue = {\n pv: 0,\n v: 0,\n mult: 1\n };\n var defaultMultidimensionalValue = {\n pv: [0, 0, 0],\n v: [0, 0, 0],\n mult: 1\n };\n function completeProperty(expressionValue, property, type) {\n Object.defineProperty(expressionValue, 'velocity', {\n get: function () {\n return property.getVelocityAtTime(property.comp.currentFrame);\n }\n });\n expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n expressionValue.key = function (pos) {\n if (!expressionValue.numKeys) {\n return 0;\n } else {\n var value = '';\n if ('s' in property.keyframes[pos - 1]) {\n value = property.keyframes[pos - 1].s;\n } else if ('e' in property.keyframes[pos - 2]) {\n value = property.keyframes[pos - 2].e;\n } else {\n value = property.keyframes[pos - 2].s;\n }\n var valueProp = type === 'unidimensional' ? new Number(value) : Object.assign({}, value);\n valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n valueProp.value = type === 'unidimensional' ? value[0] : value;\n return valueProp;\n }\n };\n expressionValue.valueAtTime = property.getValueAtTime;\n expressionValue.speedAtTime = property.getSpeedAtTime;\n expressionValue.velocityAtTime = property.getVelocityAtTime;\n expressionValue.propertyGroup = property.propertyGroup;\n }\n function UnidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultUnidimensionalValue;\n }\n var mult = 1 / property.mult;\n var val = property.pv * mult;\n var expressionValue = new Number(val);\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n val = property.v * mult;\n if (expressionValue.value !== val) {\n expressionValue = new Number(val);\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n }\n return expressionValue;\n };\n }\n function MultidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultMultidimensionalValue;\n }\n var mult = 1 / property.mult;\n var len = property.pv.length;\n var expressionValue = createTypedArray('float32', len);\n var arrValue = createTypedArray('float32', len);\n expressionValue.value = arrValue;\n completeProperty(expressionValue, property, 'multidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n for (var i = 0; i < len; i += 1) {\n expressionValue[i] = arrValue[i] = property.v[i] * mult;\n }\n return expressionValue;\n };\n }\n\n //TODO: try to avoid using this getter\n function defaultGetter() {\n return defaultUnidimensionalValue;\n }\n return function (property) {\n if (!property) {\n return defaultGetter;\n } else if (property.propType === 'unidimensional') {\n return UnidimensionalPropertyInterface(property);\n } else {\n return MultidimensionalPropertyInterface(property);\n }\n };\n }();\n (function () {\n var TextExpressionSelectorProp = function () {\n function getValueProxy(index, total) {\n this.textIndex = index + 1;\n this.textTotal = total;\n this.v = this.getValue() * this.mult;\n return this.v;\n }\n return function TextExpressionSelectorProp(elem, data) {\n this.pv = 1;\n this.comp = elem.comp;\n this.elem = elem;\n this.mult = 0.01;\n this.propType = 'textSelector';\n this.textTotal = data.totalChars;\n this.selectorValue = 100;\n this.lastValue = [1, 1, 1];\n this.k = true;\n this.x = true;\n this.getValue = ExpressionManager.initiateExpression.bind(this)(elem, data, this);\n this.getMult = getValueProxy;\n this.getVelocityAtTime = expressionHelpers.getVelocityAtTime;\n if (this.kf) {\n this.getValueAtTime = expressionHelpers.getValueAtTime.bind(this);\n } else {\n this.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(this);\n }\n this.setGroupProperty = expressionHelpers.setGroupProperty;\n };\n }();\n var propertyGetTextProp = TextSelectorProp.getTextSelectorProp;\n TextSelectorProp.getTextSelectorProp = function (elem, data, arr) {\n if (data.t === 1) {\n return new TextExpressionSelectorProp(elem, data, arr);\n } else {\n return propertyGetTextProp(elem, data, arr);\n }\n };\n })();\n function SliderEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n function AngleEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n function ColorEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n function PointEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n function LayerIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n function MaskIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n function CheckboxEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n function NoValueEffect() {\n this.p = {};\n }\n function EffectsManager() {}\n function EffectsManager(data, element) {\n var effects = data.ef || [];\n this.effectElements = [];\n var i,\n len = effects.length;\n var effectItem;\n for (i = 0; i < len; i++) {\n effectItem = new GroupEffect(effects[i], element);\n this.effectElements.push(effectItem);\n }\n }\n function GroupEffect(data, element) {\n this.init(data, element);\n }\n extendPrototype([DynamicPropertyContainer], GroupEffect);\n GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n GroupEffect.prototype.init = function (data, element) {\n this.data = data;\n this.effectElements = [];\n this.initDynamicPropertyContainer(element);\n var i,\n len = this.data.ef.length;\n var eff,\n effects = this.data.ef;\n for (i = 0; i < len; i += 1) {\n eff = null;\n switch (effects[i].ty) {\n case 0:\n eff = new SliderEffect(effects[i], element, this);\n break;\n case 1:\n eff = new AngleEffect(effects[i], element, this);\n break;\n case 2:\n eff = new ColorEffect(effects[i], element, this);\n break;\n case 3:\n eff = new PointEffect(effects[i], element, this);\n break;\n case 4:\n case 7:\n eff = new CheckboxEffect(effects[i], element, this);\n break;\n case 10:\n eff = new LayerIndexEffect(effects[i], element, this);\n break;\n case 11:\n eff = new MaskIndexEffect(effects[i], element, this);\n break;\n case 5:\n eff = new EffectsManager(effects[i], element, this);\n break;\n //case 6:\n default:\n eff = new NoValueEffect(effects[i], element, this);\n break;\n }\n if (eff) {\n this.effectElements.push(eff);\n }\n }\n };\n var lottie = {};\n var _isFrozen = false;\n function setLocationHref(href) {\n locationHref = href;\n }\n function searchAnimations() {\n if (standalone === true) {\n animationManager.searchAnimations(animationData, standalone, renderer);\n } else {\n animationManager.searchAnimations();\n }\n }\n function setSubframeRendering(flag) {\n subframeEnabled = flag;\n }\n function loadAnimation(params) {\n if (standalone === true) {\n params.animationData = JSON.parse(animationData);\n }\n return animationManager.loadAnimation(params);\n }\n function setQuality(value) {\n if (typeof value === 'string') {\n switch (value) {\n case 'high':\n defaultCurveSegments = 200;\n break;\n case 'medium':\n defaultCurveSegments = 50;\n break;\n case 'low':\n defaultCurveSegments = 10;\n break;\n }\n } else if (!isNaN(value) && value > 1) {\n defaultCurveSegments = value;\n }\n if (defaultCurveSegments >= 50) {\n roundValues(false);\n } else {\n roundValues(true);\n }\n }\n function inBrowser() {\n return typeof navigator !== 'undefined';\n }\n function installPlugin(type, plugin) {\n if (type === 'expressions') {\n expressionsPlugin = plugin;\n }\n }\n function getFactory(name) {\n switch (name) {\n case \"propertyFactory\":\n return PropertyFactory;\n case \"shapePropertyFactory\":\n return ShapePropertyFactory;\n case \"matrix\":\n return Matrix;\n }\n }\n lottie.play = animationManager.play;\n lottie.pause = animationManager.pause;\n lottie.setLocationHref = setLocationHref;\n lottie.togglePause = animationManager.togglePause;\n lottie.setSpeed = animationManager.setSpeed;\n lottie.setDirection = animationManager.setDirection;\n lottie.stop = animationManager.stop;\n lottie.searchAnimations = searchAnimations;\n lottie.registerAnimation = animationManager.registerAnimation;\n lottie.loadAnimation = loadAnimation;\n lottie.setSubframeRendering = setSubframeRendering;\n lottie.resize = animationManager.resize;\n //lottie.start = start;\n lottie.goToAndStop = animationManager.goToAndStop;\n lottie.destroy = animationManager.destroy;\n lottie.setQuality = setQuality;\n lottie.inBrowser = inBrowser;\n lottie.installPlugin = installPlugin;\n lottie.freeze = animationManager.freeze;\n lottie.unfreeze = animationManager.unfreeze;\n lottie.setVolume = animationManager.setVolume;\n lottie.mute = animationManager.mute;\n lottie.unmute = animationManager.unmute;\n lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n lottie.__getFactory = getFactory;\n lottie.version = '5.7.3';\n function checkReady() {\n if (document.readyState === \"complete\") {\n clearInterval(readyStateCheckInterval);\n searchAnimations();\n }\n }\n function getQueryVariable(variable) {\n var vars = queryString.split('&');\n for (var i = 0; i < vars.length; i++) {\n var pair = vars[i].split('=');\n if (decodeURIComponent(pair[0]) == variable) {\n return decodeURIComponent(pair[1]);\n }\n }\n }\n var standalone = '__[STANDALONE]__';\n var animationData = '__[ANIMATIONDATA]__';\n var renderer = '';\n if (standalone) {\n var scripts = document.getElementsByTagName('script');\n var index = scripts.length - 1;\n var myScript = scripts[index] || {\n src: ''\n };\n var queryString = myScript.src.replace(/^[^\\?]+\\??/, '');\n renderer = getQueryVariable('renderer');\n }\n var readyStateCheckInterval = setInterval(checkReady, 100);\n return lottie;\n});","/*!\r\n * jQuery Validation Plugin v1.19.2\r\n *\r\n * https://jqueryvalidation.org/\r\n *\r\n * Copyright (c) 2020 Jörn Zaefferer\r\n * Released under the MIT license\r\n */\n(function (factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"jquery\"], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory(require(\"jquery\"));\n } else {\n factory(jQuery);\n }\n})(function ($) {\n $.extend($.fn, {\n // https://jqueryvalidation.org/validate/\n validate: function (options) {\n // If nothing is selected, return nothing; can't chain anyway\n if (!this.length) {\n if (options && options.debug && window.console) {\n console.warn(\"Nothing selected, can't validate, returning nothing.\");\n }\n return;\n }\n\n // Check if a validator for this form was already created\n var validator = $.data(this[0], \"validator\");\n if (validator) {\n return validator;\n }\n\n // Add novalidate tag if HTML5.\n this.attr(\"novalidate\", \"novalidate\");\n validator = new $.validator(options, this[0]);\n $.data(this[0], \"validator\", validator);\n if (validator.settings.onsubmit) {\n this.on(\"click.validate\", \":submit\", function (event) {\n // Track the used submit button to properly handle scripted\n // submits later.\n validator.submitButton = event.currentTarget;\n\n // Allow suppressing validation by adding a cancel class to the submit button\n if ($(this).hasClass(\"cancel\")) {\n validator.cancelSubmit = true;\n }\n\n // Allow suppressing validation by adding the html5 formnovalidate attribute to the submit button\n if ($(this).attr(\"formnovalidate\") !== undefined) {\n validator.cancelSubmit = true;\n }\n });\n\n // Validate the form on submit\n this.on(\"submit.validate\", function (event) {\n if (validator.settings.debug) {\n // Prevent form submit to be able to see console output\n event.preventDefault();\n }\n function handle() {\n var hidden, result;\n\n // Insert a hidden input as a replacement for the missing submit button\n // The hidden input is inserted in two cases:\n // - A user defined a `submitHandler`\n // - There was a pending request due to `remote` method and `stopRequest()`\n // was called to submit the form in case it's valid\n if (validator.submitButton && (validator.settings.submitHandler || validator.formSubmitted)) {\n hidden = $(\"\").attr(\"name\", validator.submitButton.name).val($(validator.submitButton).val()).appendTo(validator.currentForm);\n }\n if (validator.settings.submitHandler && !validator.settings.debug) {\n result = validator.settings.submitHandler.call(validator, validator.currentForm, event);\n if (hidden) {\n // And clean up afterwards; thanks to no-block-scope, hidden can be referenced\n hidden.remove();\n }\n if (result !== undefined) {\n return result;\n }\n return false;\n }\n return true;\n }\n\n // Prevent submit for invalid forms or custom submit handlers\n if (validator.cancelSubmit) {\n validator.cancelSubmit = false;\n return handle();\n }\n if (validator.form()) {\n if (validator.pendingRequest) {\n validator.formSubmitted = true;\n return false;\n }\n return handle();\n } else {\n validator.focusInvalid();\n return false;\n }\n });\n }\n return validator;\n },\n // https://jqueryvalidation.org/valid/\n valid: function () {\n var valid, validator, errorList;\n if ($(this[0]).is(\"form\")) {\n valid = this.validate().form();\n } else {\n errorList = [];\n valid = true;\n validator = $(this[0].form).validate();\n this.each(function () {\n valid = validator.element(this) && valid;\n if (!valid) {\n errorList = errorList.concat(validator.errorList);\n }\n });\n validator.errorList = errorList;\n }\n return valid;\n },\n // https://jqueryvalidation.org/rules/\n rules: function (command, argument) {\n var element = this[0],\n isContentEditable = typeof this.attr(\"contenteditable\") !== \"undefined\" && this.attr(\"contenteditable\") !== \"false\",\n settings,\n staticRules,\n existingRules,\n data,\n param,\n filtered;\n\n // If nothing is selected, return empty object; can't chain anyway\n if (element == null) {\n return;\n }\n if (!element.form && isContentEditable) {\n element.form = this.closest(\"form\")[0];\n element.name = this.attr(\"name\");\n }\n if (element.form == null) {\n return;\n }\n if (command) {\n settings = $.data(element.form, \"validator\").settings;\n staticRules = settings.rules;\n existingRules = $.validator.staticRules(element);\n switch (command) {\n case \"add\":\n $.extend(existingRules, $.validator.normalizeRule(argument));\n\n // Remove messages from rules, but allow them to be set separately\n delete existingRules.messages;\n staticRules[element.name] = existingRules;\n if (argument.messages) {\n settings.messages[element.name] = $.extend(settings.messages[element.name], argument.messages);\n }\n break;\n case \"remove\":\n if (!argument) {\n delete staticRules[element.name];\n return existingRules;\n }\n filtered = {};\n $.each(argument.split(/\\s/), function (index, method) {\n filtered[method] = existingRules[method];\n delete existingRules[method];\n });\n return filtered;\n }\n }\n data = $.validator.normalizeRules($.extend({}, $.validator.classRules(element), $.validator.attributeRules(element), $.validator.dataRules(element), $.validator.staticRules(element)), element);\n\n // Make sure required is at front\n if (data.required) {\n param = data.required;\n delete data.required;\n data = $.extend({\n required: param\n }, data);\n }\n\n // Make sure remote is at back\n if (data.remote) {\n param = data.remote;\n delete data.remote;\n data = $.extend(data, {\n remote: param\n });\n }\n return data;\n }\n });\n\n // JQuery trim is deprecated, provide a trim method based on String.prototype.trim\n var trim = function (str) {\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim#Polyfill\n return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, \"\");\n };\n\n // Custom selectors\n $.extend($.expr.pseudos || $.expr[\":\"], {\n // '|| $.expr[ \":\" ]' here enables backwards compatibility to jQuery 1.7. Can be removed when dropping jQ 1.7.x support\n\n // https://jqueryvalidation.org/blank-selector/\n blank: function (a) {\n return !trim(\"\" + $(a).val());\n },\n // https://jqueryvalidation.org/filled-selector/\n filled: function (a) {\n var val = $(a).val();\n return val !== null && !!trim(\"\" + val);\n },\n // https://jqueryvalidation.org/unchecked-selector/\n unchecked: function (a) {\n return !$(a).prop(\"checked\");\n }\n });\n\n // Constructor for validator\n $.validator = function (options, form) {\n this.settings = $.extend(true, {}, $.validator.defaults, options);\n this.currentForm = form;\n this.init();\n };\n\n // https://jqueryvalidation.org/jQuery.validator.format/\n $.validator.format = function (source, params) {\n if (arguments.length === 1) {\n return function () {\n var args = $.makeArray(arguments);\n args.unshift(source);\n return $.validator.format.apply(this, args);\n };\n }\n if (params === undefined) {\n return source;\n }\n if (arguments.length > 2 && params.constructor !== Array) {\n params = $.makeArray(arguments).slice(1);\n }\n if (params.constructor !== Array) {\n params = [params];\n }\n $.each(params, function (i, n) {\n source = source.replace(new RegExp(\"\\\\{\" + i + \"\\\\}\", \"g\"), function () {\n return n;\n });\n });\n return source;\n };\n $.extend($.validator, {\n defaults: {\n messages: {},\n groups: {},\n rules: {},\n errorClass: \"error\",\n pendingClass: \"pending\",\n validClass: \"valid\",\n errorElement: \"label\",\n focusCleanup: false,\n focusInvalid: true,\n errorContainer: $([]),\n errorLabelContainer: $([]),\n onsubmit: true,\n ignore: \":hidden\",\n ignoreTitle: false,\n onfocusin: function (element) {\n this.lastActive = element;\n\n // Hide error label and remove error class on focus if enabled\n if (this.settings.focusCleanup) {\n if (this.settings.unhighlight) {\n this.settings.unhighlight.call(this, element, this.settings.errorClass, this.settings.validClass);\n }\n this.hideThese(this.errorsFor(element));\n }\n },\n onfocusout: function (element) {\n if (!this.checkable(element) && (element.name in this.submitted || !this.optional(element))) {\n this.element(element);\n }\n },\n onkeyup: function (element, event) {\n // Avoid revalidate the field when pressing one of the following keys\n // Shift => 16\n // Ctrl => 17\n // Alt => 18\n // Caps lock => 20\n // End => 35\n // Home => 36\n // Left arrow => 37\n // Up arrow => 38\n // Right arrow => 39\n // Down arrow => 40\n // Insert => 45\n // Num lock => 144\n // AltGr key => 225\n var excludedKeys = [16, 17, 18, 20, 35, 36, 37, 38, 39, 40, 45, 144, 225];\n if (event.which === 9 && this.elementValue(element) === \"\" || $.inArray(event.keyCode, excludedKeys) !== -1) {\n return;\n } else if (element.name in this.submitted || element.name in this.invalid) {\n this.element(element);\n }\n },\n onclick: function (element) {\n // Click on selects, radiobuttons and checkboxes\n if (element.name in this.submitted) {\n this.element(element);\n\n // Or option elements, check parent select in that case\n } else if (element.parentNode.name in this.submitted) {\n this.element(element.parentNode);\n }\n },\n highlight: function (element, errorClass, validClass) {\n if (element.type === \"radio\") {\n this.findByName(element.name).addClass(errorClass).removeClass(validClass);\n } else {\n $(element).addClass(errorClass).removeClass(validClass);\n }\n },\n unhighlight: function (element, errorClass, validClass) {\n if (element.type === \"radio\") {\n this.findByName(element.name).removeClass(errorClass).addClass(validClass);\n } else {\n $(element).removeClass(errorClass).addClass(validClass);\n }\n }\n },\n // https://jqueryvalidation.org/jQuery.validator.setDefaults/\n setDefaults: function (settings) {\n $.extend($.validator.defaults, settings);\n },\n messages: {\n required: \"This field is required.\",\n remote: \"Please fix this field.\",\n email: \"Please enter a valid email address.\",\n url: \"Please enter a valid URL.\",\n date: \"Please enter a valid date.\",\n dateISO: \"Please enter a valid date (ISO).\",\n number: \"Please enter a valid number.\",\n digits: \"Please enter only digits.\",\n equalTo: \"Please enter the same value again.\",\n maxlength: $.validator.format(\"Please enter no more than {0} characters.\"),\n minlength: $.validator.format(\"Please enter at least {0} characters.\"),\n rangelength: $.validator.format(\"Please enter a value between {0} and {1} characters long.\"),\n range: $.validator.format(\"Please enter a value between {0} and {1}.\"),\n max: $.validator.format(\"Please enter a value less than or equal to {0}.\"),\n min: $.validator.format(\"Please enter a value greater than or equal to {0}.\"),\n step: $.validator.format(\"Please enter a multiple of {0}.\")\n },\n autoCreateRanges: false,\n prototype: {\n init: function () {\n this.labelContainer = $(this.settings.errorLabelContainer);\n this.errorContext = this.labelContainer.length && this.labelContainer || $(this.currentForm);\n this.containers = $(this.settings.errorContainer).add(this.settings.errorLabelContainer);\n this.submitted = {};\n this.valueCache = {};\n this.pendingRequest = 0;\n this.pending = {};\n this.invalid = {};\n this.reset();\n var currentForm = this.currentForm,\n groups = this.groups = {},\n rules;\n $.each(this.settings.groups, function (key, value) {\n if (typeof value === \"string\") {\n value = value.split(/\\s/);\n }\n $.each(value, function (index, name) {\n groups[name] = key;\n });\n });\n rules = this.settings.rules;\n $.each(rules, function (key, value) {\n rules[key] = $.validator.normalizeRule(value);\n });\n function delegate(event) {\n var isContentEditable = typeof $(this).attr(\"contenteditable\") !== \"undefined\" && $(this).attr(\"contenteditable\") !== \"false\";\n\n // Set form expando on contenteditable\n if (!this.form && isContentEditable) {\n this.form = $(this).closest(\"form\")[0];\n this.name = $(this).attr(\"name\");\n }\n\n // Ignore the element if it belongs to another form. This will happen mainly\n // when setting the `form` attribute of an input to the id of another form.\n if (currentForm !== this.form) {\n return;\n }\n var validator = $.data(this.form, \"validator\"),\n eventType = \"on\" + event.type.replace(/^validate/, \"\"),\n settings = validator.settings;\n if (settings[eventType] && !$(this).is(settings.ignore)) {\n settings[eventType].call(validator, this, event);\n }\n }\n $(this.currentForm).on(\"focusin.validate focusout.validate keyup.validate\", \":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], \" + \"[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], \" + \"[type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], \" + \"[type='radio'], [type='checkbox'], [contenteditable], [type='button']\", delegate)\n\n // Support: Chrome, oldIE\n // \"select\" is provided as event.target when clicking a option\n .on(\"click.validate\", \"select, option, [type='radio'], [type='checkbox']\", delegate);\n if (this.settings.invalidHandler) {\n $(this.currentForm).on(\"invalid-form.validate\", this.settings.invalidHandler);\n }\n },\n // https://jqueryvalidation.org/Validator.form/\n form: function () {\n this.checkForm();\n $.extend(this.submitted, this.errorMap);\n this.invalid = $.extend({}, this.errorMap);\n if (!this.valid()) {\n $(this.currentForm).triggerHandler(\"invalid-form\", [this]);\n }\n this.showErrors();\n return this.valid();\n },\n checkForm: function () {\n this.prepareForm();\n for (var i = 0, elements = this.currentElements = this.elements(); elements[i]; i++) {\n this.check(elements[i]);\n }\n return this.valid();\n },\n // https://jqueryvalidation.org/Validator.element/\n element: function (element) {\n var cleanElement = this.clean(element),\n checkElement = this.validationTargetFor(cleanElement),\n v = this,\n result = true,\n rs,\n group;\n if (checkElement === undefined) {\n delete this.invalid[cleanElement.name];\n } else {\n this.prepareElement(checkElement);\n this.currentElements = $(checkElement);\n\n // If this element is grouped, then validate all group elements already\n // containing a value\n group = this.groups[checkElement.name];\n if (group) {\n $.each(this.groups, function (name, testgroup) {\n if (testgroup === group && name !== checkElement.name) {\n cleanElement = v.validationTargetFor(v.clean(v.findByName(name)));\n if (cleanElement && cleanElement.name in v.invalid) {\n v.currentElements.push(cleanElement);\n result = v.check(cleanElement) && result;\n }\n }\n });\n }\n rs = this.check(checkElement) !== false;\n result = result && rs;\n if (rs) {\n this.invalid[checkElement.name] = false;\n } else {\n this.invalid[checkElement.name] = true;\n }\n if (!this.numberOfInvalids()) {\n // Hide error containers on last error\n this.toHide = this.toHide.add(this.containers);\n }\n this.showErrors();\n\n // Add aria-invalid status for screen readers\n $(element).attr(\"aria-invalid\", !rs);\n }\n return result;\n },\n // https://jqueryvalidation.org/Validator.showErrors/\n showErrors: function (errors) {\n if (errors) {\n var validator = this;\n\n // Add items to error list and map\n $.extend(this.errorMap, errors);\n this.errorList = $.map(this.errorMap, function (message, name) {\n return {\n message: message,\n element: validator.findByName(name)[0]\n };\n });\n\n // Remove items from success list\n this.successList = $.grep(this.successList, function (element) {\n return !(element.name in errors);\n });\n }\n if (this.settings.showErrors) {\n this.settings.showErrors.call(this, this.errorMap, this.errorList);\n } else {\n this.defaultShowErrors();\n }\n },\n // https://jqueryvalidation.org/Validator.resetForm/\n resetForm: function () {\n if ($.fn.resetForm) {\n $(this.currentForm).resetForm();\n }\n this.invalid = {};\n this.submitted = {};\n this.prepareForm();\n this.hideErrors();\n var elements = this.elements().removeData(\"previousValue\").removeAttr(\"aria-invalid\");\n this.resetElements(elements);\n },\n resetElements: function (elements) {\n var i;\n if (this.settings.unhighlight) {\n for (i = 0; elements[i]; i++) {\n this.settings.unhighlight.call(this, elements[i], this.settings.errorClass, \"\");\n this.findByName(elements[i].name).removeClass(this.settings.validClass);\n }\n } else {\n elements.removeClass(this.settings.errorClass).removeClass(this.settings.validClass);\n }\n },\n numberOfInvalids: function () {\n return this.objectLength(this.invalid);\n },\n objectLength: function (obj) {\n /* jshint unused: false */\n var count = 0,\n i;\n for (i in obj) {\n // This check allows counting elements with empty error\n // message as invalid elements\n if (obj[i] !== undefined && obj[i] !== null && obj[i] !== false) {\n count++;\n }\n }\n return count;\n },\n hideErrors: function () {\n this.hideThese(this.toHide);\n },\n hideThese: function (errors) {\n errors.not(this.containers).text(\"\");\n this.addWrapper(errors).hide();\n },\n valid: function () {\n return this.size() === 0;\n },\n size: function () {\n return this.errorList.length;\n },\n focusInvalid: function () {\n if (this.settings.focusInvalid) {\n try {\n $(this.findLastActive() || this.errorList.length && this.errorList[0].element || []).filter(\":visible\").trigger(\"focus\")\n\n // Manually trigger focusin event; without it, focusin handler isn't called, findLastActive won't have anything to find\n .trigger(\"focusin\");\n } catch (e) {\n\n // Ignore IE throwing errors when focusing hidden elements\n }\n }\n },\n findLastActive: function () {\n var lastActive = this.lastActive;\n return lastActive && $.grep(this.errorList, function (n) {\n return n.element.name === lastActive.name;\n }).length === 1 && lastActive;\n },\n elements: function () {\n var validator = this,\n rulesCache = {};\n\n // Select all valid inputs inside the form (no submit or reset buttons)\n return $(this.currentForm).find(\"input, select, textarea, [contenteditable]\").not(\":submit, :reset, :image, :disabled\").not(this.settings.ignore).filter(function () {\n var name = this.name || $(this).attr(\"name\"); // For contenteditable\n var isContentEditable = typeof $(this).attr(\"contenteditable\") !== \"undefined\" && $(this).attr(\"contenteditable\") !== \"false\";\n if (!name && validator.settings.debug && window.console) {\n console.error(\"%o has no name assigned\", this);\n }\n\n // Set form expando on contenteditable\n if (isContentEditable) {\n this.form = $(this).closest(\"form\")[0];\n this.name = name;\n }\n\n // Ignore elements that belong to other/nested forms\n if (this.form !== validator.currentForm) {\n return false;\n }\n\n // Select only the first element for each name, and only those with rules specified\n if (name in rulesCache || !validator.objectLength($(this).rules())) {\n return false;\n }\n rulesCache[name] = true;\n return true;\n });\n },\n clean: function (selector) {\n return $(selector)[0];\n },\n errors: function () {\n var errorClass = this.settings.errorClass.split(\" \").join(\".\");\n return $(this.settings.errorElement + \".\" + errorClass, this.errorContext);\n },\n resetInternals: function () {\n this.successList = [];\n this.errorList = [];\n this.errorMap = {};\n this.toShow = $([]);\n this.toHide = $([]);\n },\n reset: function () {\n this.resetInternals();\n this.currentElements = $([]);\n },\n prepareForm: function () {\n this.reset();\n this.toHide = this.errors().add(this.containers);\n },\n prepareElement: function (element) {\n this.reset();\n this.toHide = this.errorsFor(element);\n },\n elementValue: function (element) {\n var $element = $(element),\n type = element.type,\n isContentEditable = typeof $element.attr(\"contenteditable\") !== \"undefined\" && $element.attr(\"contenteditable\") !== \"false\",\n val,\n idx;\n if (type === \"radio\" || type === \"checkbox\") {\n return this.findByName(element.name).filter(\":checked\").val();\n } else if (type === \"number\" && typeof element.validity !== \"undefined\") {\n return element.validity.badInput ? \"NaN\" : $element.val();\n }\n if (isContentEditable) {\n val = $element.text();\n } else {\n val = $element.val();\n }\n if (type === \"file\") {\n // Modern browser (chrome & safari)\n if (val.substr(0, 12) === \"C:\\\\fakepath\\\\\") {\n return val.substr(12);\n }\n\n // Legacy browsers\n // Unix-based path\n idx = val.lastIndexOf(\"/\");\n if (idx >= 0) {\n return val.substr(idx + 1);\n }\n\n // Windows-based path\n idx = val.lastIndexOf(\"\\\\\");\n if (idx >= 0) {\n return val.substr(idx + 1);\n }\n\n // Just the file name\n return val;\n }\n if (typeof val === \"string\") {\n return val.replace(/\\r/g, \"\");\n }\n return val;\n },\n check: function (element) {\n element = this.validationTargetFor(this.clean(element));\n var rules = $(element).rules(),\n rulesCount = $.map(rules, function (n, i) {\n return i;\n }).length,\n dependencyMismatch = false,\n val = this.elementValue(element),\n result,\n method,\n rule,\n normalizer;\n\n // Prioritize the local normalizer defined for this element over the global one\n // if the former exists, otherwise user the global one in case it exists.\n if (typeof rules.normalizer === \"function\") {\n normalizer = rules.normalizer;\n } else if (typeof this.settings.normalizer === \"function\") {\n normalizer = this.settings.normalizer;\n }\n\n // If normalizer is defined, then call it to retreive the changed value instead\n // of using the real one.\n // Note that `this` in the normalizer is `element`.\n if (normalizer) {\n val = normalizer.call(element, val);\n\n // Delete the normalizer from rules to avoid treating it as a pre-defined method.\n delete rules.normalizer;\n }\n for (method in rules) {\n rule = {\n method: method,\n parameters: rules[method]\n };\n try {\n result = $.validator.methods[method].call(this, val, element, rule.parameters);\n\n // If a method indicates that the field is optional and therefore valid,\n // don't mark it as valid when there are no other rules\n if (result === \"dependency-mismatch\" && rulesCount === 1) {\n dependencyMismatch = true;\n continue;\n }\n dependencyMismatch = false;\n if (result === \"pending\") {\n this.toHide = this.toHide.not(this.errorsFor(element));\n return;\n }\n if (!result) {\n this.formatAndAdd(element, rule);\n return false;\n }\n } catch (e) {\n if (this.settings.debug && window.console) {\n console.log(\"Exception occurred when checking element \" + element.id + \", check the '\" + rule.method + \"' method.\", e);\n }\n if (e instanceof TypeError) {\n e.message += \". Exception occurred when checking element \" + element.id + \", check the '\" + rule.method + \"' method.\";\n }\n throw e;\n }\n }\n if (dependencyMismatch) {\n return;\n }\n if (this.objectLength(rules)) {\n this.successList.push(element);\n }\n return true;\n },\n // Return the custom message for the given element and validation method\n // specified in the element's HTML5 data attribute\n // return the generic message if present and no method specific message is present\n customDataMessage: function (element, method) {\n return $(element).data(\"msg\" + method.charAt(0).toUpperCase() + method.substring(1).toLowerCase()) || $(element).data(\"msg\");\n },\n // Return the custom message for the given element name and validation method\n customMessage: function (name, method) {\n var m = this.settings.messages[name];\n return m && (m.constructor === String ? m : m[method]);\n },\n // Return the first defined argument, allowing empty strings\n findDefined: function () {\n for (var i = 0; i < arguments.length; i++) {\n if (arguments[i] !== undefined) {\n return arguments[i];\n }\n }\n return undefined;\n },\n // The second parameter 'rule' used to be a string, and extended to an object literal\n // of the following form:\n // rule = {\n // method: \"method name\",\n // parameters: \"the given method parameters\"\n // }\n //\n // The old behavior still supported, kept to maintain backward compatibility with\n // old code, and will be removed in the next major release.\n defaultMessage: function (element, rule) {\n if (typeof rule === \"string\") {\n rule = {\n method: rule\n };\n }\n var message = this.findDefined(this.customMessage(element.name, rule.method), this.customDataMessage(element, rule.method),\n // 'title' is never undefined, so handle empty string as undefined\n !this.settings.ignoreTitle && element.title || undefined, $.validator.messages[rule.method], \"Warning: No message defined for \" + element.name + \"\"),\n theregex = /\\$?\\{(\\d+)\\}/g;\n if (typeof message === \"function\") {\n message = message.call(this, rule.parameters, element);\n } else if (theregex.test(message)) {\n message = $.validator.format(message.replace(theregex, \"{$1}\"), rule.parameters);\n }\n return message;\n },\n formatAndAdd: function (element, rule) {\n var message = this.defaultMessage(element, rule);\n this.errorList.push({\n message: message,\n element: element,\n method: rule.method\n });\n this.errorMap[element.name] = message;\n this.submitted[element.name] = message;\n },\n addWrapper: function (toToggle) {\n if (this.settings.wrapper) {\n toToggle = toToggle.add(toToggle.parent(this.settings.wrapper));\n }\n return toToggle;\n },\n defaultShowErrors: function () {\n var i, elements, error;\n for (i = 0; this.errorList[i]; i++) {\n error = this.errorList[i];\n if (this.settings.highlight) {\n this.settings.highlight.call(this, error.element, this.settings.errorClass, this.settings.validClass);\n }\n this.showLabel(error.element, error.message);\n }\n if (this.errorList.length) {\n this.toShow = this.toShow.add(this.containers);\n }\n if (this.settings.success) {\n for (i = 0; this.successList[i]; i++) {\n this.showLabel(this.successList[i]);\n }\n }\n if (this.settings.unhighlight) {\n for (i = 0, elements = this.validElements(); elements[i]; i++) {\n this.settings.unhighlight.call(this, elements[i], this.settings.errorClass, this.settings.validClass);\n }\n }\n this.toHide = this.toHide.not(this.toShow);\n this.hideErrors();\n this.addWrapper(this.toShow).show();\n },\n validElements: function () {\n return this.currentElements.not(this.invalidElements());\n },\n invalidElements: function () {\n return $(this.errorList).map(function () {\n return this.element;\n });\n },\n showLabel: function (element, message) {\n var place,\n group,\n errorID,\n v,\n error = this.errorsFor(element),\n elementID = this.idOrName(element),\n describedBy = $(element).attr(\"aria-describedby\");\n if (error.length) {\n // Refresh error/success class\n error.removeClass(this.settings.validClass).addClass(this.settings.errorClass);\n\n // Replace message on existing label\n error.html(message);\n } else {\n // Create error element\n error = $(\"<\" + this.settings.errorElement + \">\").attr(\"id\", elementID + \"-error\").addClass(this.settings.errorClass).html(message || \"\");\n\n // Maintain reference to the element to be placed into the DOM\n place = error;\n if (this.settings.wrapper) {\n // Make sure the element is visible, even in IE\n // actually showing the wrapped element is handled elsewhere\n place = error.hide().show().wrap(\"<\" + this.settings.wrapper + \"/>\").parent();\n }\n if (this.labelContainer.length) {\n this.labelContainer.append(place);\n } else if (this.settings.errorPlacement) {\n this.settings.errorPlacement.call(this, place, $(element));\n } else {\n place.insertAfter(element);\n }\n\n // Link error back to the element\n if (error.is(\"label\")) {\n // If the error is a label, then associate using 'for'\n error.attr(\"for\", elementID);\n\n // If the element is not a child of an associated label, then it's necessary\n // to explicitly apply aria-describedby\n } else if (error.parents(\"label[for='\" + this.escapeCssMeta(elementID) + \"']\").length === 0) {\n errorID = error.attr(\"id\");\n\n // Respect existing non-error aria-describedby\n if (!describedBy) {\n describedBy = errorID;\n } else if (!describedBy.match(new RegExp(\"\\\\b\" + this.escapeCssMeta(errorID) + \"\\\\b\"))) {\n // Add to end of list if not already present\n describedBy += \" \" + errorID;\n }\n $(element).attr(\"aria-describedby\", describedBy);\n\n // If this element is grouped, then assign to all elements in the same group\n group = this.groups[element.name];\n if (group) {\n v = this;\n $.each(v.groups, function (name, testgroup) {\n if (testgroup === group) {\n $(\"[name='\" + v.escapeCssMeta(name) + \"']\", v.currentForm).attr(\"aria-describedby\", error.attr(\"id\"));\n }\n });\n }\n }\n }\n if (!message && this.settings.success) {\n error.text(\"\");\n if (typeof this.settings.success === \"string\") {\n error.addClass(this.settings.success);\n } else {\n this.settings.success(error, element);\n }\n }\n this.toShow = this.toShow.add(error);\n },\n errorsFor: function (element) {\n var name = this.escapeCssMeta(this.idOrName(element)),\n describer = $(element).attr(\"aria-describedby\"),\n selector = \"label[for='\" + name + \"'], label[for='\" + name + \"'] *\";\n\n // 'aria-describedby' should directly reference the error element\n if (describer) {\n selector = selector + \", #\" + this.escapeCssMeta(describer).replace(/\\s+/g, \", #\");\n }\n return this.errors().filter(selector);\n },\n // See https://api.jquery.com/category/selectors/, for CSS\n // meta-characters that should be escaped in order to be used with JQuery\n // as a literal part of a name/id or any selector.\n escapeCssMeta: function (string) {\n return string.replace(/([\\\\!\"#$%&'()*+,./:;<=>?@\\[\\]^`{|}~])/g, \"\\\\$1\");\n },\n idOrName: function (element) {\n return this.groups[element.name] || (this.checkable(element) ? element.name : element.id || element.name);\n },\n validationTargetFor: function (element) {\n // If radio/checkbox, validate first element in group instead\n if (this.checkable(element)) {\n element = this.findByName(element.name);\n }\n\n // Always apply ignore filter\n return $(element).not(this.settings.ignore)[0];\n },\n checkable: function (element) {\n return /radio|checkbox/i.test(element.type);\n },\n findByName: function (name) {\n return $(this.currentForm).find(\"[name='\" + this.escapeCssMeta(name) + \"']\");\n },\n getLength: function (value, element) {\n switch (element.nodeName.toLowerCase()) {\n case \"select\":\n return $(\"option:selected\", element).length;\n case \"input\":\n if (this.checkable(element)) {\n return this.findByName(element.name).filter(\":checked\").length;\n }\n }\n return value.length;\n },\n depend: function (param, element) {\n return this.dependTypes[typeof param] ? this.dependTypes[typeof param](param, element) : true;\n },\n dependTypes: {\n \"boolean\": function (param) {\n return param;\n },\n \"string\": function (param, element) {\n return !!$(param, element.form).length;\n },\n \"function\": function (param, element) {\n return param(element);\n }\n },\n optional: function (element) {\n var val = this.elementValue(element);\n return !$.validator.methods.required.call(this, val, element) && \"dependency-mismatch\";\n },\n startRequest: function (element) {\n if (!this.pending[element.name]) {\n this.pendingRequest++;\n $(element).addClass(this.settings.pendingClass);\n this.pending[element.name] = true;\n }\n },\n stopRequest: function (element, valid) {\n this.pendingRequest--;\n\n // Sometimes synchronization fails, make sure pendingRequest is never < 0\n if (this.pendingRequest < 0) {\n this.pendingRequest = 0;\n }\n delete this.pending[element.name];\n $(element).removeClass(this.settings.pendingClass);\n if (valid && this.pendingRequest === 0 && this.formSubmitted && this.form()) {\n $(this.currentForm).submit();\n\n // Remove the hidden input that was used as a replacement for the\n // missing submit button. The hidden input is added by `handle()`\n // to ensure that the value of the used submit button is passed on\n // for scripted submits triggered by this method\n if (this.submitButton) {\n $(\"input:hidden[name='\" + this.submitButton.name + \"']\", this.currentForm).remove();\n }\n this.formSubmitted = false;\n } else if (!valid && this.pendingRequest === 0 && this.formSubmitted) {\n $(this.currentForm).triggerHandler(\"invalid-form\", [this]);\n this.formSubmitted = false;\n }\n },\n previousValue: function (element, method) {\n method = typeof method === \"string\" && method || \"remote\";\n return $.data(element, \"previousValue\") || $.data(element, \"previousValue\", {\n old: null,\n valid: true,\n message: this.defaultMessage(element, {\n method: method\n })\n });\n },\n // Cleans up all forms and elements, removes validator-specific events\n destroy: function () {\n this.resetForm();\n $(this.currentForm).off(\".validate\").removeData(\"validator\").find(\".validate-equalTo-blur\").off(\".validate-equalTo\").removeClass(\"validate-equalTo-blur\").find(\".validate-lessThan-blur\").off(\".validate-lessThan\").removeClass(\"validate-lessThan-blur\").find(\".validate-lessThanEqual-blur\").off(\".validate-lessThanEqual\").removeClass(\"validate-lessThanEqual-blur\").find(\".validate-greaterThanEqual-blur\").off(\".validate-greaterThanEqual\").removeClass(\"validate-greaterThanEqual-blur\").find(\".validate-greaterThan-blur\").off(\".validate-greaterThan\").removeClass(\"validate-greaterThan-blur\");\n }\n },\n classRuleSettings: {\n required: {\n required: true\n },\n email: {\n email: true\n },\n url: {\n url: true\n },\n date: {\n date: true\n },\n dateISO: {\n dateISO: true\n },\n number: {\n number: true\n },\n digits: {\n digits: true\n },\n creditcard: {\n creditcard: true\n }\n },\n addClassRules: function (className, rules) {\n if (className.constructor === String) {\n this.classRuleSettings[className] = rules;\n } else {\n $.extend(this.classRuleSettings, className);\n }\n },\n classRules: function (element) {\n var rules = {},\n classes = $(element).attr(\"class\");\n if (classes) {\n $.each(classes.split(\" \"), function () {\n if (this in $.validator.classRuleSettings) {\n $.extend(rules, $.validator.classRuleSettings[this]);\n }\n });\n }\n return rules;\n },\n normalizeAttributeRule: function (rules, type, method, value) {\n // Convert the value to a number for number inputs, and for text for backwards compability\n // allows type=\"date\" and others to be compared as strings\n if (/min|max|step/.test(method) && (type === null || /number|range|text/.test(type))) {\n value = Number(value);\n\n // Support Opera Mini, which returns NaN for undefined minlength\n if (isNaN(value)) {\n value = undefined;\n }\n }\n if (value || value === 0) {\n rules[method] = value;\n } else if (type === method && type !== \"range\") {\n // Exception: the jquery validate 'range' method\n // does not test for the html5 'range' type\n rules[method] = true;\n }\n },\n attributeRules: function (element) {\n var rules = {},\n $element = $(element),\n type = element.getAttribute(\"type\"),\n method,\n value;\n for (method in $.validator.methods) {\n // Support for in both html5 and older browsers\n if (method === \"required\") {\n value = element.getAttribute(method);\n\n // Some browsers return an empty string for the required attribute\n // and non-HTML5 browsers might have required=\"\" markup\n if (value === \"\") {\n value = true;\n }\n\n // Force non-HTML5 browsers to return bool\n value = !!value;\n } else {\n value = $element.attr(method);\n }\n this.normalizeAttributeRule(rules, type, method, value);\n }\n\n // 'maxlength' may be returned as -1, 2147483647 ( IE ) and 524288 ( safari ) for text inputs\n if (rules.maxlength && /-1|2147483647|524288/.test(rules.maxlength)) {\n delete rules.maxlength;\n }\n return rules;\n },\n dataRules: function (element) {\n var rules = {},\n $element = $(element),\n type = element.getAttribute(\"type\"),\n method,\n value;\n for (method in $.validator.methods) {\n value = $element.data(\"rule\" + method.charAt(0).toUpperCase() + method.substring(1).toLowerCase());\n\n // Cast empty attributes like `data-rule-required` to `true`\n if (value === \"\") {\n value = true;\n }\n this.normalizeAttributeRule(rules, type, method, value);\n }\n return rules;\n },\n staticRules: function (element) {\n var rules = {},\n validator = $.data(element.form, \"validator\");\n if (validator.settings.rules) {\n rules = $.validator.normalizeRule(validator.settings.rules[element.name]) || {};\n }\n return rules;\n },\n normalizeRules: function (rules, element) {\n // Handle dependency check\n $.each(rules, function (prop, val) {\n // Ignore rule when param is explicitly false, eg. required:false\n if (val === false) {\n delete rules[prop];\n return;\n }\n if (val.param || val.depends) {\n var keepRule = true;\n switch (typeof val.depends) {\n case \"string\":\n keepRule = !!$(val.depends, element.form).length;\n break;\n case \"function\":\n keepRule = val.depends.call(element, element);\n break;\n }\n if (keepRule) {\n rules[prop] = val.param !== undefined ? val.param : true;\n } else {\n $.data(element.form, \"validator\").resetElements($(element));\n delete rules[prop];\n }\n }\n });\n\n // Evaluate parameters\n $.each(rules, function (rule, parameter) {\n rules[rule] = $.isFunction(parameter) && rule !== \"normalizer\" ? parameter(element) : parameter;\n });\n\n // Clean number parameters\n $.each([\"minlength\", \"maxlength\"], function () {\n if (rules[this]) {\n rules[this] = Number(rules[this]);\n }\n });\n $.each([\"rangelength\", \"range\"], function () {\n var parts;\n if (rules[this]) {\n if ($.isArray(rules[this])) {\n rules[this] = [Number(rules[this][0]), Number(rules[this][1])];\n } else if (typeof rules[this] === \"string\") {\n parts = rules[this].replace(/[\\[\\]]/g, \"\").split(/[\\s,]+/);\n rules[this] = [Number(parts[0]), Number(parts[1])];\n }\n }\n });\n if ($.validator.autoCreateRanges) {\n // Auto-create ranges\n if (rules.min != null && rules.max != null) {\n rules.range = [rules.min, rules.max];\n delete rules.min;\n delete rules.max;\n }\n if (rules.minlength != null && rules.maxlength != null) {\n rules.rangelength = [rules.minlength, rules.maxlength];\n delete rules.minlength;\n delete rules.maxlength;\n }\n }\n return rules;\n },\n // Converts a simple string to a {string: true} rule, e.g., \"required\" to {required:true}\n normalizeRule: function (data) {\n if (typeof data === \"string\") {\n var transformed = {};\n $.each(data.split(/\\s/), function () {\n transformed[this] = true;\n });\n data = transformed;\n }\n return data;\n },\n // https://jqueryvalidation.org/jQuery.validator.addMethod/\n addMethod: function (name, method, message) {\n $.validator.methods[name] = method;\n $.validator.messages[name] = message !== undefined ? message : $.validator.messages[name];\n if (method.length < 3) {\n $.validator.addClassRules(name, $.validator.normalizeRule(name));\n }\n },\n // https://jqueryvalidation.org/jQuery.validator.methods/\n methods: {\n // https://jqueryvalidation.org/required-method/\n required: function (value, element, param) {\n // Check if dependency is met\n if (!this.depend(param, element)) {\n return \"dependency-mismatch\";\n }\n if (element.nodeName.toLowerCase() === \"select\") {\n // Could be an array for select-multiple or a string, both are fine this way\n var val = $(element).val();\n return val && val.length > 0;\n }\n if (this.checkable(element)) {\n return this.getLength(value, element) > 0;\n }\n return value !== undefined && value !== null && value.length > 0;\n },\n // https://jqueryvalidation.org/email-method/\n email: function (value, element) {\n // From https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address\n // Retrieved 2014-01-14\n // If you have a problem with this implementation, report a bug against the above spec\n // Or use custom methods to implement your own email validation\n return this.optional(element) || /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(value);\n },\n // https://jqueryvalidation.org/url-method/\n url: function (value, element) {\n // Copyright (c) 2010-2013 Diego Perini, MIT licensed\n // https://gist.github.com/dperini/729294\n // see also https://mathiasbynens.be/demo/url-regex\n // modified to allow protocol-relative URLs\n return this.optional(element) || /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})).?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/i.test(value);\n },\n // https://jqueryvalidation.org/date-method/\n date: function () {\n var called = false;\n return function (value, element) {\n if (!called) {\n called = true;\n if (this.settings.debug && window.console) {\n console.warn(\"The `date` method is deprecated and will be removed in version '2.0.0'.\\n\" + \"Please don't use it, since it relies on the Date constructor, which\\n\" + \"behaves very differently across browsers and locales. Use `dateISO`\\n\" + \"instead or one of the locale specific methods in `localizations/`\\n\" + \"and `additional-methods.js`.\");\n }\n }\n return this.optional(element) || !/Invalid|NaN/.test(new Date(value).toString());\n };\n }(),\n // https://jqueryvalidation.org/dateISO-method/\n dateISO: function (value, element) {\n return this.optional(element) || /^\\d{4}[\\/\\-](0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])$/.test(value);\n },\n // https://jqueryvalidation.org/number-method/\n number: function (value, element) {\n return this.optional(element) || /^(?:-?\\d+|-?\\d{1,3}(?:,\\d{3})+)?(?:\\.\\d+)?$/.test(value);\n },\n // https://jqueryvalidation.org/digits-method/\n digits: function (value, element) {\n return this.optional(element) || /^\\d+$/.test(value);\n },\n // https://jqueryvalidation.org/minlength-method/\n minlength: function (value, element, param) {\n var length = $.isArray(value) ? value.length : this.getLength(value, element);\n return this.optional(element) || length >= param;\n },\n // https://jqueryvalidation.org/maxlength-method/\n maxlength: function (value, element, param) {\n var length = $.isArray(value) ? value.length : this.getLength(value, element);\n return this.optional(element) || length <= param;\n },\n // https://jqueryvalidation.org/rangelength-method/\n rangelength: function (value, element, param) {\n var length = $.isArray(value) ? value.length : this.getLength(value, element);\n return this.optional(element) || length >= param[0] && length <= param[1];\n },\n // https://jqueryvalidation.org/min-method/\n min: function (value, element, param) {\n return this.optional(element) || value >= param;\n },\n // https://jqueryvalidation.org/max-method/\n max: function (value, element, param) {\n return this.optional(element) || value <= param;\n },\n // https://jqueryvalidation.org/range-method/\n range: function (value, element, param) {\n return this.optional(element) || value >= param[0] && value <= param[1];\n },\n // https://jqueryvalidation.org/step-method/\n step: function (value, element, param) {\n var type = $(element).attr(\"type\"),\n errorMessage = \"Step attribute on input type \" + type + \" is not supported.\",\n supportedTypes = [\"text\", \"number\", \"range\"],\n re = new RegExp(\"\\\\b\" + type + \"\\\\b\"),\n notSupported = type && !re.test(supportedTypes.join()),\n decimalPlaces = function (num) {\n var match = (\"\" + num).match(/(?:\\.(\\d+))?$/);\n if (!match) {\n return 0;\n }\n\n // Number of digits right of decimal point.\n return match[1] ? match[1].length : 0;\n },\n toInt = function (num) {\n return Math.round(num * Math.pow(10, decimals));\n },\n valid = true,\n decimals;\n\n // Works only for text, number and range input types\n // TODO find a way to support input types date, datetime, datetime-local, month, time and week\n if (notSupported) {\n throw new Error(errorMessage);\n }\n decimals = decimalPlaces(param);\n\n // Value can't have too many decimals\n if (decimalPlaces(value) > decimals || toInt(value) % toInt(param) !== 0) {\n valid = false;\n }\n return this.optional(element) || valid;\n },\n // https://jqueryvalidation.org/equalTo-method/\n equalTo: function (value, element, param) {\n // Bind to the blur event of the target in order to revalidate whenever the target field is updated\n var target = $(param);\n if (this.settings.onfocusout && target.not(\".validate-equalTo-blur\").length) {\n target.addClass(\"validate-equalTo-blur\").on(\"blur.validate-equalTo\", function () {\n $(element).valid();\n });\n }\n return value === target.val();\n },\n // https://jqueryvalidation.org/remote-method/\n remote: function (value, element, param, method) {\n if (this.optional(element)) {\n return \"dependency-mismatch\";\n }\n method = typeof method === \"string\" && method || \"remote\";\n var previous = this.previousValue(element, method),\n validator,\n data,\n optionDataString;\n if (!this.settings.messages[element.name]) {\n this.settings.messages[element.name] = {};\n }\n previous.originalMessage = previous.originalMessage || this.settings.messages[element.name][method];\n this.settings.messages[element.name][method] = previous.message;\n param = typeof param === \"string\" && {\n url: param\n } || param;\n optionDataString = $.param($.extend({\n data: value\n }, param.data));\n if (previous.old === optionDataString) {\n return previous.valid;\n }\n previous.old = optionDataString;\n validator = this;\n this.startRequest(element);\n data = {};\n data[element.name] = value;\n $.ajax($.extend(true, {\n mode: \"abort\",\n port: \"validate\" + element.name,\n dataType: \"json\",\n data: data,\n context: validator.currentForm,\n success: function (response) {\n var valid = response === true || response === \"true\",\n errors,\n message,\n submitted;\n validator.settings.messages[element.name][method] = previous.originalMessage;\n if (valid) {\n submitted = validator.formSubmitted;\n validator.resetInternals();\n validator.toHide = validator.errorsFor(element);\n validator.formSubmitted = submitted;\n validator.successList.push(element);\n validator.invalid[element.name] = false;\n validator.showErrors();\n } else {\n errors = {};\n message = response || validator.defaultMessage(element, {\n method: method,\n parameters: value\n });\n errors[element.name] = previous.message = message;\n validator.invalid[element.name] = true;\n validator.showErrors(errors);\n }\n previous.valid = valid;\n validator.stopRequest(element, valid);\n }\n }, param));\n return \"pending\";\n }\n }\n });\n\n // Ajax mode: abort\n // usage: $.ajax({ mode: \"abort\"[, port: \"uniqueport\"]});\n // if mode:\"abort\" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort()\n\n var pendingRequests = {},\n ajax;\n\n // Use a prefilter if available (1.5+)\n if ($.ajaxPrefilter) {\n $.ajaxPrefilter(function (settings, _, xhr) {\n var port = settings.port;\n if (settings.mode === \"abort\") {\n if (pendingRequests[port]) {\n pendingRequests[port].abort();\n }\n pendingRequests[port] = xhr;\n }\n });\n } else {\n // Proxy ajax\n ajax = $.ajax;\n $.ajax = function (settings) {\n var mode = (\"mode\" in settings ? settings : $.ajaxSettings).mode,\n port = (\"port\" in settings ? settings : $.ajaxSettings).port;\n if (mode === \"abort\") {\n if (pendingRequests[port]) {\n pendingRequests[port].abort();\n }\n pendingRequests[port] = ajax.apply(this, arguments);\n return pendingRequests[port];\n }\n return ajax.apply(this, arguments);\n };\n }\n return $;\n});","/*\n * International Telephone Input v17.0.6\n * https://github.com/jackocnr/intl-tel-input.git\n * Licensed under the MIT license\n */\n\n// wrap in UMD\n(function (factory) {\n if (typeof module === \"object\" && module.exports) module.exports = factory();else window.intlTelInput = factory();\n})(function (undefined) {\n \"use strict\";\n\n return function () {\n // Array of country objects for the flag dropdown.\n // Here is the criteria for the plugin to support a given country/territory\n // - It has an iso2 code: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\n // - It has it's own country calling code (it is not a sub-region of another country): https://en.wikipedia.org/wiki/List_of_country_calling_codes\n // - It has a flag in the region-flags project: https://github.com/behdad/region-flags/tree/gh-pages/png\n // - It is supported by libphonenumber (it must be listed on this page): https://github.com/googlei18n/libphonenumber/blob/master/resources/ShortNumberMetadata.xml\n // Each country array has the following information:\n // [\n // Country name,\n // iso2 code,\n // International dial code,\n // Order (if >1 country with same dial code),\n // Area codes\n // ]\n var allCountries = [[\"Afghanistan (‫افغانستان‬‎)\", \"af\", \"93\"], [\"Albania (Shqipëri)\", \"al\", \"355\"], [\"Algeria (‫الجزائر‬‎)\", \"dz\", \"213\"], [\"American Samoa\", \"as\", \"1\", 5, [\"684\"]], [\"Andorra\", \"ad\", \"376\"], [\"Angola\", \"ao\", \"244\"], [\"Anguilla\", \"ai\", \"1\", 6, [\"264\"]], [\"Antigua and Barbuda\", \"ag\", \"1\", 7, [\"268\"]], [\"Argentina\", \"ar\", \"54\"], [\"Armenia (Հայաստան)\", \"am\", \"374\"], [\"Aruba\", \"aw\", \"297\"], [\"Australia\", \"au\", \"61\", 0], [\"Austria (Österreich)\", \"at\", \"43\"], [\"Azerbaijan (Azərbaycan)\", \"az\", \"994\"], [\"Bahamas\", \"bs\", \"1\", 8, [\"242\"]], [\"Bahrain (‫البحرين‬‎)\", \"bh\", \"973\"], [\"Bangladesh (বাংলাদেশ)\", \"bd\", \"880\"], [\"Barbados\", \"bb\", \"1\", 9, [\"246\"]], [\"Belarus (Беларусь)\", \"by\", \"375\"], [\"Belgium (België)\", \"be\", \"32\"], [\"Belize\", \"bz\", \"501\"], [\"Benin (Bénin)\", \"bj\", \"229\"], [\"Bermuda\", \"bm\", \"1\", 10, [\"441\"]], [\"Bhutan (འབྲུག)\", \"bt\", \"975\"], [\"Bolivia\", \"bo\", \"591\"], [\"Bosnia and Herzegovina (Босна и Херцеговина)\", \"ba\", \"387\"], [\"Botswana\", \"bw\", \"267\"], [\"Brazil (Brasil)\", \"br\", \"55\"], [\"British Indian Ocean Territory\", \"io\", \"246\"], [\"British Virgin Islands\", \"vg\", \"1\", 11, [\"284\"]], [\"Brunei\", \"bn\", \"673\"], [\"Bulgaria (България)\", \"bg\", \"359\"], [\"Burkina Faso\", \"bf\", \"226\"], [\"Burundi (Uburundi)\", \"bi\", \"257\"], [\"Cambodia (កម្ពុជា)\", \"kh\", \"855\"], [\"Cameroon (Cameroun)\", \"cm\", \"237\"], [\"Canada\", \"ca\", \"1\", 1, [\"204\", \"226\", \"236\", \"249\", \"250\", \"289\", \"306\", \"343\", \"365\", \"387\", \"403\", \"416\", \"418\", \"431\", \"437\", \"438\", \"450\", \"506\", \"514\", \"519\", \"548\", \"579\", \"581\", \"587\", \"604\", \"613\", \"639\", \"647\", \"672\", \"705\", \"709\", \"742\", \"778\", \"780\", \"782\", \"807\", \"819\", \"825\", \"867\", \"873\", \"902\", \"905\"]], [\"Cape Verde (Kabu Verdi)\", \"cv\", \"238\"], [\"Caribbean Netherlands\", \"bq\", \"599\", 1, [\"3\", \"4\", \"7\"]], [\"Cayman Islands\", \"ky\", \"1\", 12, [\"345\"]], [\"Central African Republic (République centrafricaine)\", \"cf\", \"236\"], [\"Chad (Tchad)\", \"td\", \"235\"], [\"Chile\", \"cl\", \"56\"], [\"China (中国)\", \"cn\", \"86\"], [\"Christmas Island\", \"cx\", \"61\", 2, [\"89164\"]], [\"Cocos (Keeling) Islands\", \"cc\", \"61\", 1, [\"89162\"]], [\"Colombia\", \"co\", \"57\"], [\"Comoros (‫جزر القمر‬‎)\", \"km\", \"269\"], [\"Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)\", \"cd\", \"243\"], [\"Congo (Republic) (Congo-Brazzaville)\", \"cg\", \"242\"], [\"Cook Islands\", \"ck\", \"682\"], [\"Costa Rica\", \"cr\", \"506\"], [\"Côte d’Ivoire\", \"ci\", \"225\"], [\"Croatia (Hrvatska)\", \"hr\", \"385\"], [\"Cuba\", \"cu\", \"53\"], [\"Curaçao\", \"cw\", \"599\", 0], [\"Cyprus (Κύπρος)\", \"cy\", \"357\"], [\"Czech Republic (Česká republika)\", \"cz\", \"420\"], [\"Denmark (Danmark)\", \"dk\", \"45\"], [\"Djibouti\", \"dj\", \"253\"], [\"Dominica\", \"dm\", \"1\", 13, [\"767\"]], [\"Dominican Republic (República Dominicana)\", \"do\", \"1\", 2, [\"809\", \"829\", \"849\"]], [\"Ecuador\", \"ec\", \"593\"], [\"Egypt (‫مصر‬‎)\", \"eg\", \"20\"], [\"El Salvador\", \"sv\", \"503\"], [\"Equatorial Guinea (Guinea Ecuatorial)\", \"gq\", \"240\"], [\"Eritrea\", \"er\", \"291\"], [\"Estonia (Eesti)\", \"ee\", \"372\"], [\"Ethiopia\", \"et\", \"251\"], [\"Falkland Islands (Islas Malvinas)\", \"fk\", \"500\"], [\"Faroe Islands (Føroyar)\", \"fo\", \"298\"], [\"Fiji\", \"fj\", \"679\"], [\"Finland (Suomi)\", \"fi\", \"358\", 0], [\"France\", \"fr\", \"33\"], [\"French Guiana (Guyane française)\", \"gf\", \"594\"], [\"French Polynesia (Polynésie française)\", \"pf\", \"689\"], [\"Gabon\", \"ga\", \"241\"], [\"Gambia\", \"gm\", \"220\"], [\"Georgia (საქართველო)\", \"ge\", \"995\"], [\"Germany (Deutschland)\", \"de\", \"49\"], [\"Ghana (Gaana)\", \"gh\", \"233\"], [\"Gibraltar\", \"gi\", \"350\"], [\"Greece (Ελλάδα)\", \"gr\", \"30\"], [\"Greenland (Kalaallit Nunaat)\", \"gl\", \"299\"], [\"Grenada\", \"gd\", \"1\", 14, [\"473\"]], [\"Guadeloupe\", \"gp\", \"590\", 0], [\"Guam\", \"gu\", \"1\", 15, [\"671\"]], [\"Guatemala\", \"gt\", \"502\"], [\"Guernsey\", \"gg\", \"44\", 1, [\"1481\", \"7781\", \"7839\", \"7911\"]], [\"Guinea (Guinée)\", \"gn\", \"224\"], [\"Guinea-Bissau (Guiné Bissau)\", \"gw\", \"245\"], [\"Guyana\", \"gy\", \"592\"], [\"Haiti\", \"ht\", \"509\"], [\"Honduras\", \"hn\", \"504\"], [\"Hong Kong (香港)\", \"hk\", \"852\"], [\"Hungary (Magyarország)\", \"hu\", \"36\"], [\"Iceland (Ísland)\", \"is\", \"354\"], [\"India (भारत)\", \"in\", \"91\"], [\"Indonesia\", \"id\", \"62\"], [\"Iran (‫ایران‬‎)\", \"ir\", \"98\"], [\"Iraq (‫العراق‬‎)\", \"iq\", \"964\"], [\"Ireland\", \"ie\", \"353\"], [\"Isle of Man\", \"im\", \"44\", 2, [\"1624\", \"74576\", \"7524\", \"7924\", \"7624\"]], [\"Israel (‫ישראל‬‎)\", \"il\", \"972\"], [\"Italy (Italia)\", \"it\", \"39\", 0], [\"Jamaica\", \"jm\", \"1\", 4, [\"876\", \"658\"]], [\"Japan (日本)\", \"jp\", \"81\"], [\"Jersey\", \"je\", \"44\", 3, [\"1534\", \"7509\", \"7700\", \"7797\", \"7829\", \"7937\"]], [\"Jordan (‫الأردن‬‎)\", \"jo\", \"962\"], [\"Kazakhstan (Казахстан)\", \"kz\", \"7\", 1, [\"33\", \"7\"]], [\"Kenya\", \"ke\", \"254\"], [\"Kiribati\", \"ki\", \"686\"], [\"Kosovo\", \"xk\", \"383\"], [\"Kuwait (‫الكويت‬‎)\", \"kw\", \"965\"], [\"Kyrgyzstan (Кыргызстан)\", \"kg\", \"996\"], [\"Laos (ລາວ)\", \"la\", \"856\"], [\"Latvia (Latvija)\", \"lv\", \"371\"], [\"Lebanon (‫لبنان‬‎)\", \"lb\", \"961\"], [\"Lesotho\", \"ls\", \"266\"], [\"Liberia\", \"lr\", \"231\"], [\"Libya (‫ليبيا‬‎)\", \"ly\", \"218\"], [\"Liechtenstein\", \"li\", \"423\"], [\"Lithuania (Lietuva)\", \"lt\", \"370\"], [\"Luxembourg\", \"lu\", \"352\"], [\"Macau (澳門)\", \"mo\", \"853\"], [\"Macedonia (FYROM) (Македонија)\", \"mk\", \"389\"], [\"Madagascar (Madagasikara)\", \"mg\", \"261\"], [\"Malawi\", \"mw\", \"265\"], [\"Malaysia\", \"my\", \"60\"], [\"Maldives\", \"mv\", \"960\"], [\"Mali\", \"ml\", \"223\"], [\"Malta\", \"mt\", \"356\"], [\"Marshall Islands\", \"mh\", \"692\"], [\"Martinique\", \"mq\", \"596\"], [\"Mauritania (‫موريتانيا‬‎)\", \"mr\", \"222\"], [\"Mauritius (Moris)\", \"mu\", \"230\"], [\"Mayotte\", \"yt\", \"262\", 1, [\"269\", \"639\"]], [\"Mexico (México)\", \"mx\", \"52\"], [\"Micronesia\", \"fm\", \"691\"], [\"Moldova (Republica Moldova)\", \"md\", \"373\"], [\"Monaco\", \"mc\", \"377\"], [\"Mongolia (Монгол)\", \"mn\", \"976\"], [\"Montenegro (Crna Gora)\", \"me\", \"382\"], [\"Montserrat\", \"ms\", \"1\", 16, [\"664\"]], [\"Morocco (‫المغرب‬‎)\", \"ma\", \"212\", 0], [\"Mozambique (Moçambique)\", \"mz\", \"258\"], [\"Myanmar (Burma) (မြန်မာ)\", \"mm\", \"95\"], [\"Namibia (Namibië)\", \"na\", \"264\"], [\"Nauru\", \"nr\", \"674\"], [\"Nepal (नेपाल)\", \"np\", \"977\"], [\"Netherlands (Nederland)\", \"nl\", \"31\"], [\"New Caledonia (Nouvelle-Calédonie)\", \"nc\", \"687\"], [\"New Zealand\", \"nz\", \"64\"], [\"Nicaragua\", \"ni\", \"505\"], [\"Niger (Nijar)\", \"ne\", \"227\"], [\"Nigeria\", \"ng\", \"234\"], [\"Niue\", \"nu\", \"683\"], [\"Norfolk Island\", \"nf\", \"672\"], [\"North Korea (조선 민주주의 인민 공화국)\", \"kp\", \"850\"], [\"Northern Mariana Islands\", \"mp\", \"1\", 17, [\"670\"]], [\"Norway (Norge)\", \"no\", \"47\", 0], [\"Oman (‫عُمان‬‎)\", \"om\", \"968\"], [\"Pakistan (‫پاکستان‬‎)\", \"pk\", \"92\"], [\"Palau\", \"pw\", \"680\"], [\"Palestine (‫فلسطين‬‎)\", \"ps\", \"970\"], [\"Panama (Panamá)\", \"pa\", \"507\"], [\"Papua New Guinea\", \"pg\", \"675\"], [\"Paraguay\", \"py\", \"595\"], [\"Peru (Perú)\", \"pe\", \"51\"], [\"Philippines\", \"ph\", \"63\"], [\"Poland (Polska)\", \"pl\", \"48\"], [\"Portugal\", \"pt\", \"351\"], [\"Puerto Rico\", \"pr\", \"1\", 3, [\"787\", \"939\"]], [\"Qatar (‫قطر‬‎)\", \"qa\", \"974\"], [\"Réunion (La Réunion)\", \"re\", \"262\", 0], [\"Romania (România)\", \"ro\", \"40\"], [\"Russia (Россия)\", \"ru\", \"7\", 0], [\"Rwanda\", \"rw\", \"250\"], [\"Saint Barthélemy\", \"bl\", \"590\", 1], [\"Saint Helena\", \"sh\", \"290\"], [\"Saint Kitts and Nevis\", \"kn\", \"1\", 18, [\"869\"]], [\"Saint Lucia\", \"lc\", \"1\", 19, [\"758\"]], [\"Saint Martin (Saint-Martin (partie française))\", \"mf\", \"590\", 2], [\"Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)\", \"pm\", \"508\"], [\"Saint Vincent and the Grenadines\", \"vc\", \"1\", 20, [\"784\"]], [\"Samoa\", \"ws\", \"685\"], [\"San Marino\", \"sm\", \"378\"], [\"São Tomé and Príncipe (São Tomé e Príncipe)\", \"st\", \"239\"], [\"Saudi Arabia (‫المملكة العربية السعودية‬‎)\", \"sa\", \"966\"], [\"Senegal (Sénégal)\", \"sn\", \"221\"], [\"Serbia (Србија)\", \"rs\", \"381\"], [\"Seychelles\", \"sc\", \"248\"], [\"Sierra Leone\", \"sl\", \"232\"], [\"Singapore\", \"sg\", \"65\"], [\"Sint Maarten\", \"sx\", \"1\", 21, [\"721\"]], [\"Slovakia (Slovensko)\", \"sk\", \"421\"], [\"Slovenia (Slovenija)\", \"si\", \"386\"], [\"Solomon Islands\", \"sb\", \"677\"], [\"Somalia (Soomaaliya)\", \"so\", \"252\"], [\"South Africa\", \"za\", \"27\"], [\"South Korea (대한민국)\", \"kr\", \"82\"], [\"South Sudan (‫جنوب السودان‬‎)\", \"ss\", \"211\"], [\"Spain (España)\", \"es\", \"34\"], [\"Sri Lanka (ශ්‍රී ලංකාව)\", \"lk\", \"94\"], [\"Sudan (‫السودان‬‎)\", \"sd\", \"249\"], [\"Suriname\", \"sr\", \"597\"], [\"Svalbard and Jan Mayen\", \"sj\", \"47\", 1, [\"79\"]], [\"Swaziland\", \"sz\", \"268\"], [\"Sweden (Sverige)\", \"se\", \"46\"], [\"Switzerland (Schweiz)\", \"ch\", \"41\"], [\"Syria (‫سوريا‬‎)\", \"sy\", \"963\"], [\"Taiwan (台灣)\", \"tw\", \"886\"], [\"Tajikistan\", \"tj\", \"992\"], [\"Tanzania\", \"tz\", \"255\"], [\"Thailand (ไทย)\", \"th\", \"66\"], [\"Timor-Leste\", \"tl\", \"670\"], [\"Togo\", \"tg\", \"228\"], [\"Tokelau\", \"tk\", \"690\"], [\"Tonga\", \"to\", \"676\"], [\"Trinidad and Tobago\", \"tt\", \"1\", 22, [\"868\"]], [\"Tunisia (‫تونس‬‎)\", \"tn\", \"216\"], [\"Turkey (Türkiye)\", \"tr\", \"90\"], [\"Turkmenistan\", \"tm\", \"993\"], [\"Turks and Caicos Islands\", \"tc\", \"1\", 23, [\"649\"]], [\"Tuvalu\", \"tv\", \"688\"], [\"U.S. Virgin Islands\", \"vi\", \"1\", 24, [\"340\"]], [\"Uganda\", \"ug\", \"256\"], [\"Ukraine (Україна)\", \"ua\", \"380\"], [\"United Arab Emirates (‫الإمارات العربية المتحدة‬‎)\", \"ae\", \"971\"], [\"United Kingdom\", \"gb\", \"44\", 0], [\"United States\", \"us\", \"1\", 0], [\"Uruguay\", \"uy\", \"598\"], [\"Uzbekistan (Oʻzbekiston)\", \"uz\", \"998\"], [\"Vanuatu\", \"vu\", \"678\"], [\"Vatican City (Città del Vaticano)\", \"va\", \"39\", 1, [\"06698\"]], [\"Venezuela\", \"ve\", \"58\"], [\"Vietnam (Việt Nam)\", \"vn\", \"84\"], [\"Wallis and Futuna (Wallis-et-Futuna)\", \"wf\", \"681\"], [\"Western Sahara (‫الصحراء الغربية‬‎)\", \"eh\", \"212\", 1, [\"5288\", \"5289\"]], [\"Yemen (‫اليمن‬‎)\", \"ye\", \"967\"], [\"Zambia\", \"zm\", \"260\"], [\"Zimbabwe\", \"zw\", \"263\"], [\"Åland Islands\", \"ax\", \"358\", 1, [\"18\"]]];\n // loop over all of the countries above, restructuring the data to be objects with named keys\n for (var i = 0; i < allCountries.length; i++) {\n var c = allCountries[i];\n allCountries[i] = {\n name: c[0],\n iso2: c[1],\n dialCode: c[2],\n priority: c[3] || 0,\n areaCodes: c[4] || null\n };\n }\n \"use strict\";\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n var intlTelInputGlobals = {\n getInstance: function getInstance(input) {\n var id = input.getAttribute(\"data-intl-tel-input-id\");\n return window.intlTelInputGlobals.instances[id];\n },\n instances: {},\n // using a global like this allows us to mock it in the tests\n documentReady: function documentReady() {\n return document.readyState === \"complete\";\n }\n };\n if (typeof window === \"object\") window.intlTelInputGlobals = intlTelInputGlobals;\n // these vars persist through all instances of the plugin\n var id = 0;\n var defaults = {\n // whether or not to allow the dropdown\n allowDropdown: true,\n // if there is just a dial code in the input: remove it on blur\n autoHideDialCode: true,\n // add a placeholder in the input with an example number for the selected country\n autoPlaceholder: \"polite\",\n // modify the parentClass\n customContainer: \"\",\n // modify the auto placeholder\n customPlaceholder: null,\n // append menu to specified element\n dropdownContainer: null,\n // don't display these countries\n excludeCountries: [],\n // format the input value during initialisation and on setNumber\n formatOnDisplay: true,\n // geoIp lookup function\n geoIpLookup: null,\n // inject a hidden input with this name, and on submit, populate it with the result of getNumber\n hiddenInput: \"\",\n // initial country\n initialCountry: \"\",\n // localized country names e.g. { 'de': 'Deutschland' }\n localizedCountries: null,\n // don't insert international dial codes\n nationalMode: true,\n // display only these countries\n onlyCountries: [],\n // number type to use for placeholders\n placeholderNumberType: \"MOBILE\",\n // the countries at the top of the list. defaults to united states and united kingdom\n preferredCountries: [\"us\", \"gb\"],\n // display the country dial code next to the selected flag so it's not part of the typed number\n separateDialCode: false,\n // specify the path to the libphonenumber script to enable validation/formatting\n utilsScript: \"\"\n };\n // https://en.wikipedia.org/wiki/List_of_North_American_Numbering_Plan_area_codes#Non-geographic_area_codes\n var regionlessNanpNumbers = [\"800\", \"822\", \"833\", \"844\", \"855\", \"866\", \"877\", \"880\", \"881\", \"882\", \"883\", \"884\", \"885\", \"886\", \"887\", \"888\", \"889\"];\n // utility function to iterate over an object. can't use Object.entries or native forEach because\n // of IE11\n var forEachProp = function forEachProp(obj, callback) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n callback(keys[i], obj[keys[i]]);\n }\n };\n // run a method on each instance of the plugin\n var forEachInstance = function forEachInstance(method) {\n forEachProp(window.intlTelInputGlobals.instances, function (key) {\n window.intlTelInputGlobals.instances[key][method]();\n });\n };\n // this is our plugin class that we will create an instance of\n // eslint-disable-next-line no-unused-vars\n var Iti = /*#__PURE__*/\n function () {\n function Iti(input, options) {\n var _this = this;\n _classCallCheck(this, Iti);\n this.id = id++;\n this.telInput = input;\n this.activeItem = null;\n this.highlightedItem = null;\n // process specified options / defaults\n // alternative to Object.assign, which isn't supported by IE11\n var customOptions = options || {};\n this.options = {};\n forEachProp(defaults, function (key, value) {\n _this.options[key] = customOptions.hasOwnProperty(key) ? customOptions[key] : value;\n });\n this.hadInitialPlaceholder = Boolean(input.getAttribute(\"placeholder\"));\n }\n _createClass(Iti, [{\n key: \"_init\",\n value: function _init() {\n var _this2 = this;\n // if in nationalMode, disable options relating to dial codes\n if (this.options.nationalMode) this.options.autoHideDialCode = false;\n // if separateDialCode then doesn't make sense to A) insert dial code into input\n // (autoHideDialCode), and B) display national numbers (because we're displaying the country\n // dial code next to them)\n if (this.options.separateDialCode) {\n this.options.autoHideDialCode = this.options.nationalMode = false;\n }\n // we cannot just test screen size as some smartphones/website meta tags will report desktop\n // resolutions\n // Note: for some reason jasmine breaks if you put this in the main Plugin function with the\n // rest of these declarations\n // Note: to target Android Mobiles (and not Tablets), we must find 'Android' and 'Mobile'\n this.isMobile = /Android.+Mobile|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n if (this.isMobile) {\n // trigger the mobile dropdown css\n document.body.classList.add(\"iti-mobile\");\n // on mobile, we want a full screen dropdown, so we must append it to the body\n if (!this.options.dropdownContainer) this.options.dropdownContainer = document.body;\n }\n // these promises get resolved when their individual requests complete\n // this way the dev can do something like iti.promise.then(...) to know when all requests are\n // complete\n if (typeof Promise !== \"undefined\") {\n var autoCountryPromise = new Promise(function (resolve, reject) {\n _this2.resolveAutoCountryPromise = resolve;\n _this2.rejectAutoCountryPromise = reject;\n });\n var utilsScriptPromise = new Promise(function (resolve, reject) {\n _this2.resolveUtilsScriptPromise = resolve;\n _this2.rejectUtilsScriptPromise = reject;\n });\n this.promise = Promise.all([autoCountryPromise, utilsScriptPromise]);\n } else {\n // prevent errors when Promise doesn't exist\n this.resolveAutoCountryPromise = this.rejectAutoCountryPromise = function () {};\n this.resolveUtilsScriptPromise = this.rejectUtilsScriptPromise = function () {};\n }\n // in various situations there could be no country selected initially, but we need to be able\n // to assume this variable exists\n this.selectedCountryData = {};\n // process all the data: onlyCountries, excludeCountries, preferredCountries etc\n this._processCountryData();\n // generate the markup\n this._generateMarkup();\n // set the initial state of the input value and the selected flag\n this._setInitialState();\n // start all of the event listeners: autoHideDialCode, input keydown, selectedFlag click\n this._initListeners();\n // utils script, and auto country\n this._initRequests();\n }\n }, {\n key: \"_processCountryData\",\n value: function _processCountryData() {\n // process onlyCountries or excludeCountries array if present\n this._processAllCountries();\n // process the countryCodes map\n this._processCountryCodes();\n // process the preferredCountries\n this._processPreferredCountries();\n // translate countries according to localizedCountries option\n if (this.options.localizedCountries) this._translateCountriesByLocale();\n // sort countries by name\n if (this.options.onlyCountries.length || this.options.localizedCountries) {\n this.countries.sort(this._countryNameSort);\n }\n }\n }, {\n key: \"_addCountryCode\",\n value: function _addCountryCode(iso2, countryCode, priority) {\n if (countryCode.length > this.countryCodeMaxLen) {\n this.countryCodeMaxLen = countryCode.length;\n }\n if (!this.countryCodes.hasOwnProperty(countryCode)) {\n this.countryCodes[countryCode] = [];\n }\n // bail if we already have this country for this countryCode\n for (var i = 0; i < this.countryCodes[countryCode].length; i++) {\n if (this.countryCodes[countryCode][i] === iso2) return;\n }\n // check for undefined as 0 is falsy\n var index = priority !== undefined ? priority : this.countryCodes[countryCode].length;\n this.countryCodes[countryCode][index] = iso2;\n }\n }, {\n key: \"_processAllCountries\",\n value: function _processAllCountries() {\n if (this.options.onlyCountries.length) {\n var lowerCaseOnlyCountries = this.options.onlyCountries.map(function (country) {\n return country.toLowerCase();\n });\n this.countries = allCountries.filter(function (country) {\n return lowerCaseOnlyCountries.indexOf(country.iso2) > -1;\n });\n } else if (this.options.excludeCountries.length) {\n var lowerCaseExcludeCountries = this.options.excludeCountries.map(function (country) {\n return country.toLowerCase();\n });\n this.countries = allCountries.filter(function (country) {\n return lowerCaseExcludeCountries.indexOf(country.iso2) === -1;\n });\n } else {\n this.countries = allCountries;\n }\n }\n }, {\n key: \"_translateCountriesByLocale\",\n value: function _translateCountriesByLocale() {\n for (var i = 0; i < this.countries.length; i++) {\n var iso = this.countries[i].iso2.toLowerCase();\n if (this.options.localizedCountries.hasOwnProperty(iso)) {\n this.countries[i].name = this.options.localizedCountries[iso];\n }\n }\n }\n }, {\n key: \"_countryNameSort\",\n value: function _countryNameSort(a, b) {\n return a.name.localeCompare(b.name);\n }\n }, {\n key: \"_processCountryCodes\",\n value: function _processCountryCodes() {\n this.countryCodeMaxLen = 0;\n // here we store just dial codes\n this.dialCodes = {};\n // here we store \"country codes\" (both dial codes and their area codes)\n this.countryCodes = {};\n // first: add dial codes\n for (var i = 0; i < this.countries.length; i++) {\n var c = this.countries[i];\n if (!this.dialCodes[c.dialCode]) this.dialCodes[c.dialCode] = true;\n this._addCountryCode(c.iso2, c.dialCode, c.priority);\n }\n // next: add area codes\n // this is a second loop over countries, to make sure we have all of the \"root\" countries\n // already in the map, so that we can access them, as each time we add an area code substring\n // to the map, we also need to include the \"root\" country's code, as that also matches\n for (var _i = 0; _i < this.countries.length; _i++) {\n var _c = this.countries[_i];\n // area codes\n if (_c.areaCodes) {\n var rootCountryCode = this.countryCodes[_c.dialCode][0];\n // for each area code\n for (var j = 0; j < _c.areaCodes.length; j++) {\n var areaCode = _c.areaCodes[j];\n // for each digit in the area code to add all partial matches as well\n for (var k = 1; k < areaCode.length; k++) {\n var partialDialCode = _c.dialCode + areaCode.substr(0, k);\n // start with the root country, as that also matches this dial code\n this._addCountryCode(rootCountryCode, partialDialCode);\n this._addCountryCode(_c.iso2, partialDialCode);\n }\n // add the full area code\n this._addCountryCode(_c.iso2, _c.dialCode + areaCode);\n }\n }\n }\n }\n }, {\n key: \"_processPreferredCountries\",\n value: function _processPreferredCountries() {\n this.preferredCountries = [];\n for (var i = 0; i < this.options.preferredCountries.length; i++) {\n var countryCode = this.options.preferredCountries[i].toLowerCase();\n var countryData = this._getCountryData(countryCode, false, true);\n if (countryData) this.preferredCountries.push(countryData);\n }\n }\n }, {\n key: \"_createEl\",\n value: function _createEl(name, attrs, container) {\n var el = document.createElement(name);\n if (attrs) forEachProp(attrs, function (key, value) {\n return el.setAttribute(key, value);\n });\n if (container) container.appendChild(el);\n return el;\n }\n }, {\n key: \"_generateMarkup\",\n value: function _generateMarkup() {\n // if autocomplete does not exist on the element and its form, then\n // prevent autocomplete as there's no safe, cross-browser event we can react to, so it can\n // easily put the plugin in an inconsistent state e.g. the wrong flag selected for the\n // autocompleted number, which on submit could mean wrong number is saved (esp in nationalMode)\n if (!this.telInput.hasAttribute(\"autocomplete\") && !(this.telInput.form && this.telInput.form.hasAttribute(\"autocomplete\"))) {\n this.telInput.setAttribute(\"autocomplete\", \"off\");\n }\n // containers (mostly for positioning)\n var parentClass = \"iti\";\n if (this.options.allowDropdown) parentClass += \" iti--allow-dropdown\";\n if (this.options.separateDialCode) parentClass += \" iti--separate-dial-code\";\n if (this.options.customContainer) {\n parentClass += \" \";\n parentClass += this.options.customContainer;\n }\n var wrapper = this._createEl(\"div\", {\n \"class\": parentClass\n });\n this.telInput.parentNode.insertBefore(wrapper, this.telInput);\n this.flagsContainer = this._createEl(\"div\", {\n \"class\": \"iti__flag-container\"\n }, wrapper);\n wrapper.appendChild(this.telInput);\n // selected flag (displayed to left of input)\n this.selectedFlag = this._createEl(\"div\", {\n \"class\": \"iti__selected-flag\",\n role: \"combobox\",\n \"aria-controls\": \"iti-\".concat(this.id, \"__country-listbox\"),\n \"aria-owns\": \"iti-\".concat(this.id, \"__country-listbox\"),\n \"aria-expanded\": \"false\"\n }, this.flagsContainer);\n this.selectedFlagInner = this._createEl(\"div\", {\n \"class\": \"iti__flag\"\n }, this.selectedFlag);\n if (this.options.separateDialCode) {\n this.selectedDialCode = this._createEl(\"div\", {\n \"class\": \"iti__selected-dial-code\"\n }, this.selectedFlag);\n }\n if (this.options.allowDropdown) {\n // make element focusable and tab navigable\n this.selectedFlag.setAttribute(\"tabindex\", \"0\");\n this.dropdownArrow = this._createEl(\"div\", {\n \"class\": \"iti__arrow\"\n }, this.selectedFlag);\n // country dropdown: preferred countries, then divider, then all countries\n this.countryList = this._createEl(\"ul\", {\n \"class\": \"iti__country-list iti__hide\",\n id: \"iti-\".concat(this.id, \"__country-listbox\"),\n role: \"listbox\",\n \"aria-label\": \"List of countries\"\n });\n if (this.preferredCountries.length) {\n this._appendListItems(this.preferredCountries, \"iti__preferred\", true);\n this._createEl(\"li\", {\n \"class\": \"iti__divider\",\n role: \"separator\",\n \"aria-disabled\": \"true\"\n }, this.countryList);\n }\n this._appendListItems(this.countries, \"iti__standard\");\n // create dropdownContainer markup\n if (this.options.dropdownContainer) {\n this.dropdown = this._createEl(\"div\", {\n \"class\": \"iti iti--container\"\n });\n this.dropdown.appendChild(this.countryList);\n } else {\n this.flagsContainer.appendChild(this.countryList);\n }\n }\n if (this.options.hiddenInput) {\n var hiddenInputName = this.options.hiddenInput;\n var name = this.telInput.getAttribute(\"name\");\n if (name) {\n var i = name.lastIndexOf(\"[\");\n // if input name contains square brackets, then give the hidden input the same name,\n // replacing the contents of the last set of brackets with the given hiddenInput name\n if (i !== -1) hiddenInputName = \"\".concat(name.substr(0, i), \"[\").concat(hiddenInputName, \"]\");\n }\n this.hiddenInput = this._createEl(\"input\", {\n type: \"hidden\",\n name: hiddenInputName\n });\n wrapper.appendChild(this.hiddenInput);\n }\n }\n }, {\n key: \"_appendListItems\",\n value: function _appendListItems(countries, className, preferred) {\n // we create so many DOM elements, it is faster to build a temp string\n // and then add everything to the DOM in one go at the end\n var tmp = \"\";\n // for each country\n for (var i = 0; i < countries.length; i++) {\n var c = countries[i];\n var idSuffix = preferred ? \"-preferred\" : \"\";\n // open the list item\n tmp += \"
  • \");\n // add the flag\n tmp += \"
    \");\n // and the country name and dial code\n tmp += \"\".concat(c.name, \"\");\n tmp += \"+\".concat(c.dialCode, \"\");\n // close the list item\n tmp += \"
  • \";\n }\n this.countryList.insertAdjacentHTML(\"beforeend\", tmp);\n }\n }, {\n key: \"_setInitialState\",\n value: function _setInitialState() {\n var val = this.telInput.value;\n var dialCode = this._getDialCode(val);\n var isRegionlessNanp = this._isRegionlessNanp(val);\n var _this$options = this.options,\n initialCountry = _this$options.initialCountry,\n nationalMode = _this$options.nationalMode,\n autoHideDialCode = _this$options.autoHideDialCode,\n separateDialCode = _this$options.separateDialCode;\n // if we already have a dial code, and it's not a regionlessNanp, we can go ahead and set the\n // flag, else fall back to the default country\n if (dialCode && !isRegionlessNanp) {\n this._updateFlagFromNumber(val);\n } else if (initialCountry !== \"auto\") {\n // see if we should select a flag\n if (initialCountry) {\n this._setFlag(initialCountry.toLowerCase());\n } else {\n if (dialCode && isRegionlessNanp) {\n // has intl dial code, is regionless nanp, and no initialCountry, so default to US\n this._setFlag(\"us\");\n } else {\n // no dial code and no initialCountry, so default to first in list\n this.defaultCountry = this.preferredCountries.length ? this.preferredCountries[0].iso2 : this.countries[0].iso2;\n if (!val) {\n this._setFlag(this.defaultCountry);\n }\n }\n }\n // if empty and no nationalMode and no autoHideDialCode then insert the default dial code\n if (!val && !nationalMode && !autoHideDialCode && !separateDialCode) {\n this.telInput.value = \"+\".concat(this.selectedCountryData.dialCode);\n }\n }\n // NOTE: if initialCountry is set to auto, that will be handled separately\n // format - note this wont be run after _updateDialCode as that's only called if no val\n if (val) this._updateValFromNumber(val);\n }\n }, {\n key: \"_initListeners\",\n value: function _initListeners() {\n this._initKeyListeners();\n if (this.options.autoHideDialCode) this._initBlurListeners();\n if (this.options.allowDropdown) this._initDropdownListeners();\n if (this.hiddenInput) this._initHiddenInputListener();\n }\n }, {\n key: \"_initHiddenInputListener\",\n value: function _initHiddenInputListener() {\n var _this3 = this;\n this._handleHiddenInputSubmit = function () {\n _this3.hiddenInput.value = _this3.getNumber();\n };\n if (this.telInput.form) this.telInput.form.addEventListener(\"submit\", this._handleHiddenInputSubmit);\n }\n }, {\n key: \"_getClosestLabel\",\n value: function _getClosestLabel() {\n var el = this.telInput;\n while (el && el.tagName !== \"LABEL\") {\n el = el.parentNode;\n }\n return el;\n }\n }, {\n key: \"_initDropdownListeners\",\n value: function _initDropdownListeners() {\n var _this4 = this;\n // hack for input nested inside label (which is valid markup): clicking the selected-flag to\n // open the dropdown would then automatically trigger a 2nd click on the input which would\n // close it again\n this._handleLabelClick = function (e) {\n // if the dropdown is closed, then focus the input, else ignore the click\n if (_this4.countryList.classList.contains(\"iti__hide\")) _this4.telInput.focus();else e.preventDefault();\n };\n var label = this._getClosestLabel();\n if (label) label.addEventListener(\"click\", this._handleLabelClick);\n // toggle country dropdown on click\n this._handleClickSelectedFlag = function () {\n // only intercept this event if we're opening the dropdown\n // else let it bubble up to the top (\"click-off-to-close\" listener)\n // we cannot just stopPropagation as it may be needed to close another instance\n if (_this4.countryList.classList.contains(\"iti__hide\") && !_this4.telInput.disabled && !_this4.telInput.readOnly) {\n _this4._showDropdown();\n }\n };\n this.selectedFlag.addEventListener(\"click\", this._handleClickSelectedFlag);\n // open dropdown list if currently focused\n this._handleFlagsContainerKeydown = function (e) {\n var isDropdownHidden = _this4.countryList.classList.contains(\"iti__hide\");\n if (isDropdownHidden && [\"ArrowUp\", \"Up\", \"ArrowDown\", \"Down\", \" \", \"Enter\"].indexOf(e.key) !== -1) {\n // prevent form from being submitted if \"ENTER\" was pressed\n e.preventDefault();\n // prevent event from being handled again by document\n e.stopPropagation();\n _this4._showDropdown();\n }\n // allow navigation from dropdown to input on TAB\n if (e.key === \"Tab\") _this4._closeDropdown();\n };\n this.flagsContainer.addEventListener(\"keydown\", this._handleFlagsContainerKeydown);\n }\n }, {\n key: \"_initRequests\",\n value: function _initRequests() {\n var _this5 = this;\n // if the user has specified the path to the utils script, fetch it on window.load, else resolve\n if (this.options.utilsScript && !window.intlTelInputUtils) {\n // if the plugin is being initialised after the window.load event has already been fired\n if (window.intlTelInputGlobals.documentReady()) {\n window.intlTelInputGlobals.loadUtils(this.options.utilsScript);\n } else {\n // wait until the load event so we don't block any other requests e.g. the flags image\n window.addEventListener(\"load\", function () {\n window.intlTelInputGlobals.loadUtils(_this5.options.utilsScript);\n });\n }\n } else this.resolveUtilsScriptPromise();\n if (this.options.initialCountry === \"auto\") this._loadAutoCountry();else this.resolveAutoCountryPromise();\n }\n }, {\n key: \"_loadAutoCountry\",\n value: function _loadAutoCountry() {\n // 3 options:\n // 1) already loaded (we're done)\n // 2) not already started loading (start)\n // 3) already started loading (do nothing - just wait for loading callback to fire)\n if (window.intlTelInputGlobals.autoCountry) {\n this.handleAutoCountry();\n } else if (!window.intlTelInputGlobals.startedLoadingAutoCountry) {\n // don't do this twice!\n window.intlTelInputGlobals.startedLoadingAutoCountry = true;\n if (typeof this.options.geoIpLookup === \"function\") {\n this.options.geoIpLookup(function (countryCode) {\n window.intlTelInputGlobals.autoCountry = countryCode.toLowerCase();\n // tell all instances the auto country is ready\n // TODO: this should just be the current instances\n // UPDATE: use setTimeout in case their geoIpLookup function calls this callback straight\n // away (e.g. if they have already done the geo ip lookup somewhere else). Using\n // setTimeout means that the current thread of execution will finish before executing\n // this, which allows the plugin to finish initialising.\n setTimeout(function () {\n return forEachInstance(\"handleAutoCountry\");\n });\n }, function () {\n return forEachInstance(\"rejectAutoCountryPromise\");\n });\n }\n }\n }\n }, {\n key: \"_initKeyListeners\",\n value: function _initKeyListeners() {\n var _this6 = this;\n // update flag on keyup\n this._handleKeyupEvent = function () {\n if (_this6._updateFlagFromNumber(_this6.telInput.value)) {\n _this6._triggerCountryChange();\n }\n };\n this.telInput.addEventListener(\"keyup\", this._handleKeyupEvent);\n // update flag on cut/paste events (now supported in all major browsers)\n this._handleClipboardEvent = function () {\n // hack because \"paste\" event is fired before input is updated\n setTimeout(_this6._handleKeyupEvent);\n };\n this.telInput.addEventListener(\"cut\", this._handleClipboardEvent);\n this.telInput.addEventListener(\"paste\", this._handleClipboardEvent);\n }\n }, {\n key: \"_cap\",\n value: function _cap(number) {\n var max = this.telInput.getAttribute(\"maxlength\");\n return max && number.length > max ? number.substr(0, max) : number;\n }\n }, {\n key: \"_initBlurListeners\",\n value: function _initBlurListeners() {\n var _this7 = this;\n // on blur or form submit: if just a dial code then remove it\n this._handleSubmitOrBlurEvent = function () {\n _this7._removeEmptyDialCode();\n };\n if (this.telInput.form) this.telInput.form.addEventListener(\"submit\", this._handleSubmitOrBlurEvent);\n this.telInput.addEventListener(\"blur\", this._handleSubmitOrBlurEvent);\n }\n }, {\n key: \"_removeEmptyDialCode\",\n value: function _removeEmptyDialCode() {\n if (this.telInput.value.charAt(0) === \"+\") {\n var numeric = this._getNumeric(this.telInput.value);\n // if just a plus, or if just a dial code\n if (!numeric || this.selectedCountryData.dialCode === numeric) {\n this.telInput.value = \"\";\n }\n }\n }\n }, {\n key: \"_getNumeric\",\n value: function _getNumeric(s) {\n return s.replace(/\\D/g, \"\");\n }\n }, {\n key: \"_trigger\",\n value: function _trigger(name) {\n // have to use old school document.createEvent as IE11 doesn't support `new Event()` syntax\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n // can bubble, and is cancellable\n this.telInput.dispatchEvent(e);\n }\n }, {\n key: \"_showDropdown\",\n value: function _showDropdown() {\n this.countryList.classList.remove(\"iti__hide\");\n this.selectedFlag.setAttribute(\"aria-expanded\", \"true\");\n this._setDropdownPosition();\n // update highlighting and scroll to active list item\n if (this.activeItem) {\n this._highlightListItem(this.activeItem, false);\n this._scrollTo(this.activeItem, true);\n }\n // bind all the dropdown-related listeners: mouseover, click, click-off, keydown\n this._bindDropdownListeners();\n // update the arrow\n this.dropdownArrow.classList.add(\"iti__arrow--up\");\n this._trigger(\"open:countrydropdown\");\n }\n }, {\n key: \"_toggleClass\",\n value: function _toggleClass(el, className, shouldHaveClass) {\n if (shouldHaveClass && !el.classList.contains(className)) el.classList.add(className);else if (!shouldHaveClass && el.classList.contains(className)) el.classList.remove(className);\n }\n }, {\n key: \"_setDropdownPosition\",\n value: function _setDropdownPosition() {\n var _this8 = this;\n if (this.options.dropdownContainer) {\n this.options.dropdownContainer.appendChild(this.dropdown);\n }\n if (!this.isMobile) {\n var pos = this.telInput.getBoundingClientRect();\n // windowTop from https://stackoverflow.com/a/14384091/217866\n var windowTop = window.pageYOffset || document.documentElement.scrollTop;\n var inputTop = pos.top + windowTop;\n var dropdownHeight = this.countryList.offsetHeight;\n // dropdownFitsBelow = (dropdownBottom < windowBottom)\n var dropdownFitsBelow = inputTop + this.telInput.offsetHeight + dropdownHeight < windowTop + window.innerHeight;\n var dropdownFitsAbove = inputTop - dropdownHeight > windowTop;\n // by default, the dropdown will be below the input. If we want to position it above the\n // input, we add the dropup class.\n this._toggleClass(this.countryList, \"iti__country-list--dropup\", !dropdownFitsBelow && dropdownFitsAbove);\n // if dropdownContainer is enabled, calculate postion\n if (this.options.dropdownContainer) {\n // by default the dropdown will be directly over the input because it's not in the flow.\n // If we want to position it below, we need to add some extra top value.\n var extraTop = !dropdownFitsBelow && dropdownFitsAbove ? 0 : this.telInput.offsetHeight;\n // calculate placement\n this.dropdown.style.top = \"\".concat(inputTop + extraTop, \"px\");\n this.dropdown.style.left = \"\".concat(pos.left + document.body.scrollLeft, \"px\");\n // close menu on window scroll\n this._handleWindowScroll = function () {\n return _this8._closeDropdown();\n };\n window.addEventListener(\"scroll\", this._handleWindowScroll);\n }\n }\n }\n }, {\n key: \"_getClosestListItem\",\n value: function _getClosestListItem(target) {\n var el = target;\n while (el && el !== this.countryList && !el.classList.contains(\"iti__country\")) {\n el = el.parentNode;\n }\n // if we reached the countryList element, then return null\n return el === this.countryList ? null : el;\n }\n }, {\n key: \"_bindDropdownListeners\",\n value: function _bindDropdownListeners() {\n var _this9 = this;\n // when mouse over a list item, just highlight that one\n // we add the class \"highlight\", so if they hit \"enter\" we know which one to select\n this._handleMouseoverCountryList = function (e) {\n // handle event delegation, as we're listening for this event on the countryList\n var listItem = _this9._getClosestListItem(e.target);\n if (listItem) _this9._highlightListItem(listItem, false);\n };\n this.countryList.addEventListener(\"mouseover\", this._handleMouseoverCountryList);\n // listen for country selection\n this._handleClickCountryList = function (e) {\n var listItem = _this9._getClosestListItem(e.target);\n if (listItem) _this9._selectListItem(listItem);\n };\n this.countryList.addEventListener(\"click\", this._handleClickCountryList);\n // click off to close\n // (except when this initial opening click is bubbling up)\n // we cannot just stopPropagation as it may be needed to close another instance\n var isOpening = true;\n this._handleClickOffToClose = function () {\n if (!isOpening) _this9._closeDropdown();\n isOpening = false;\n };\n document.documentElement.addEventListener(\"click\", this._handleClickOffToClose);\n // listen for up/down scrolling, enter to select, or letters to jump to country name.\n // use keydown as keypress doesn't fire for non-char keys and we want to catch if they\n // just hit down and hold it to scroll down (no keyup event).\n // listen on the document because that's where key events are triggered if no input has focus\n var query = \"\";\n var queryTimer = null;\n this._handleKeydownOnDropdown = function (e) {\n // prevent down key from scrolling the whole page,\n // and enter key from submitting a form etc\n e.preventDefault();\n // up and down to navigate\n if (e.key === \"ArrowUp\" || e.key === \"Up\" || e.key === \"ArrowDown\" || e.key === \"Down\") _this9._handleUpDownKey(e.key);else if (e.key === \"Enter\") _this9._handleEnterKey();else if (e.key === \"Escape\") _this9._closeDropdown();else if (/^[a-zA-ZÀ-ÿа-яА-Я ]$/.test(e.key)) {\n // jump to countries that start with the query string\n if (queryTimer) clearTimeout(queryTimer);\n query += e.key.toLowerCase();\n _this9._searchForCountry(query);\n // if the timer hits 1 second, reset the query\n queryTimer = setTimeout(function () {\n query = \"\";\n }, 1e3);\n }\n };\n document.addEventListener(\"keydown\", this._handleKeydownOnDropdown);\n }\n }, {\n key: \"_handleUpDownKey\",\n value: function _handleUpDownKey(key) {\n var next = key === \"ArrowUp\" || key === \"Up\" ? this.highlightedItem.previousElementSibling : this.highlightedItem.nextElementSibling;\n if (next) {\n // skip the divider\n if (next.classList.contains(\"iti__divider\")) {\n next = key === \"ArrowUp\" || key === \"Up\" ? next.previousElementSibling : next.nextElementSibling;\n }\n this._highlightListItem(next, true);\n }\n }\n }, {\n key: \"_handleEnterKey\",\n value: function _handleEnterKey() {\n if (this.highlightedItem) this._selectListItem(this.highlightedItem);\n }\n }, {\n key: \"_searchForCountry\",\n value: function _searchForCountry(query) {\n for (var i = 0; i < this.countries.length; i++) {\n if (this._startsWith(this.countries[i].name, query)) {\n var listItem = this.countryList.querySelector(\"#iti-\".concat(this.id, \"__item-\").concat(this.countries[i].iso2));\n // update highlighting and scroll\n this._highlightListItem(listItem, false);\n this._scrollTo(listItem, true);\n break;\n }\n }\n }\n }, {\n key: \"_startsWith\",\n value: function _startsWith(a, b) {\n return a.substr(0, b.length).toLowerCase() === b;\n }\n }, {\n key: \"_updateValFromNumber\",\n value: function _updateValFromNumber(originalNumber) {\n var number = originalNumber;\n if (this.options.formatOnDisplay && window.intlTelInputUtils && this.selectedCountryData) {\n var useNational = !this.options.separateDialCode && (this.options.nationalMode || number.charAt(0) !== \"+\");\n var _intlTelInputUtils$nu = intlTelInputUtils.numberFormat,\n NATIONAL = _intlTelInputUtils$nu.NATIONAL,\n INTERNATIONAL = _intlTelInputUtils$nu.INTERNATIONAL;\n var format = useNational ? NATIONAL : INTERNATIONAL;\n number = intlTelInputUtils.formatNumber(number, this.selectedCountryData.iso2, format);\n }\n number = this._beforeSetNumber(number);\n this.telInput.value = number;\n }\n }, {\n key: \"_updateFlagFromNumber\",\n value: function _updateFlagFromNumber(originalNumber) {\n // if we're in nationalMode and we already have US/Canada selected, make sure the number starts\n // with a +1 so _getDialCode will be able to extract the area code\n // update: if we dont yet have selectedCountryData, but we're here (trying to update the flag\n // from the number), that means we're initialising the plugin with a number that already has a\n // dial code, so fine to ignore this bit\n var number = originalNumber;\n var selectedDialCode = this.selectedCountryData.dialCode;\n var isNanp = selectedDialCode === \"1\";\n if (number && this.options.nationalMode && isNanp && number.charAt(0) !== \"+\") {\n if (number.charAt(0) !== \"1\") number = \"1\".concat(number);\n number = \"+\".concat(number);\n }\n // update flag if user types area code for another country\n if (this.options.separateDialCode && selectedDialCode && number.charAt(0) !== \"+\") {\n number = \"+\".concat(selectedDialCode).concat(number);\n }\n // try and extract valid dial code from input\n var dialCode = this._getDialCode(number, true);\n var numeric = this._getNumeric(number);\n var countryCode = null;\n if (dialCode) {\n var countryCodes = this.countryCodes[this._getNumeric(dialCode)];\n // check if the right country is already selected. this should be false if the number is\n // longer than the matched dial code because in this case we need to make sure that if\n // there are multiple country matches, that the first one is selected (note: we could\n // just check that here, but it requires the same loop that we already have later)\n var alreadySelected = countryCodes.indexOf(this.selectedCountryData.iso2) !== -1 && numeric.length <= dialCode.length - 1;\n var isRegionlessNanpNumber = selectedDialCode === \"1\" && this._isRegionlessNanp(numeric);\n // only update the flag if:\n // A) NOT (we currently have a NANP flag selected, and the number is a regionlessNanp)\n // AND\n // B) the right country is not already selected\n if (!isRegionlessNanpNumber && !alreadySelected) {\n // if using onlyCountries option, countryCodes[0] may be empty, so we must find the first\n // non-empty index\n for (var j = 0; j < countryCodes.length; j++) {\n if (countryCodes[j]) {\n countryCode = countryCodes[j];\n break;\n }\n }\n }\n } else if (number.charAt(0) === \"+\" && numeric.length) {\n // invalid dial code, so empty\n // Note: use getNumeric here because the number has not been formatted yet, so could contain\n // bad chars\n countryCode = \"\";\n } else if (!number || number === \"+\") {\n // empty, or just a plus, so default\n countryCode = this.defaultCountry;\n }\n if (countryCode !== null) {\n return this._setFlag(countryCode);\n }\n return false;\n }\n }, {\n key: \"_isRegionlessNanp\",\n value: function _isRegionlessNanp(number) {\n var numeric = this._getNumeric(number);\n if (numeric.charAt(0) === \"1\") {\n var areaCode = numeric.substr(1, 3);\n return regionlessNanpNumbers.indexOf(areaCode) !== -1;\n }\n return false;\n }\n }, {\n key: \"_highlightListItem\",\n value: function _highlightListItem(listItem, shouldFocus) {\n var prevItem = this.highlightedItem;\n if (prevItem) prevItem.classList.remove(\"iti__highlight\");\n this.highlightedItem = listItem;\n this.highlightedItem.classList.add(\"iti__highlight\");\n if (shouldFocus) this.highlightedItem.focus();\n }\n }, {\n key: \"_getCountryData\",\n value: function _getCountryData(countryCode, ignoreOnlyCountriesOption, allowFail) {\n var countryList = ignoreOnlyCountriesOption ? allCountries : this.countries;\n for (var i = 0; i < countryList.length; i++) {\n if (countryList[i].iso2 === countryCode) {\n return countryList[i];\n }\n }\n if (allowFail) {\n return null;\n }\n throw new Error(\"No country data for '\".concat(countryCode, \"'\"));\n }\n }, {\n key: \"_setFlag\",\n value: function _setFlag(countryCode) {\n var prevCountry = this.selectedCountryData.iso2 ? this.selectedCountryData : {};\n // do this first as it will throw an error and stop if countryCode is invalid\n this.selectedCountryData = countryCode ? this._getCountryData(countryCode, false, false) : {};\n // update the defaultCountry - we only need the iso2 from now on, so just store that\n if (this.selectedCountryData.iso2) {\n this.defaultCountry = this.selectedCountryData.iso2;\n }\n this.selectedFlagInner.setAttribute(\"class\", \"iti__flag iti__\".concat(countryCode));\n // update the selected country's title attribute\n var title = countryCode ? \"\".concat(this.selectedCountryData.name, \": +\").concat(this.selectedCountryData.dialCode) : \"Unknown\";\n this.selectedFlag.setAttribute(\"title\", title);\n if (this.options.separateDialCode) {\n var dialCode = this.selectedCountryData.dialCode ? \"+\".concat(this.selectedCountryData.dialCode) : \"\";\n this.selectedDialCode.innerHTML = dialCode;\n // offsetWidth is zero if input is in a hidden container during initialisation\n var selectedFlagWidth = this.selectedFlag.offsetWidth || this._getHiddenSelectedFlagWidth();\n // add 6px of padding after the grey selected-dial-code box, as this is what we use in the css\n this.telInput.style.paddingLeft = \"\".concat(selectedFlagWidth + 6, \"px\");\n }\n // and the input's placeholder\n this._updatePlaceholder();\n // update the active list item\n if (this.options.allowDropdown) {\n var prevItem = this.activeItem;\n if (prevItem) {\n prevItem.classList.remove(\"iti__active\");\n prevItem.setAttribute(\"aria-selected\", \"false\");\n }\n if (countryCode) {\n // check if there is a preferred item first, else fall back to standard\n var nextItem = this.countryList.querySelector(\"#iti-\".concat(this.id, \"__item-\").concat(countryCode, \"-preferred\")) || this.countryList.querySelector(\"#iti-\".concat(this.id, \"__item-\").concat(countryCode));\n nextItem.setAttribute(\"aria-selected\", \"true\");\n nextItem.classList.add(\"iti__active\");\n this.activeItem = nextItem;\n this.selectedFlag.setAttribute(\"aria-activedescendant\", nextItem.getAttribute(\"id\"));\n }\n }\n // return if the flag has changed or not\n return prevCountry.iso2 !== countryCode;\n }\n }, {\n key: \"_getHiddenSelectedFlagWidth\",\n value: function _getHiddenSelectedFlagWidth() {\n // to get the right styling to apply, all we need is a shallow clone of the container,\n // and then to inject a deep clone of the selectedFlag element\n var containerClone = this.telInput.parentNode.cloneNode();\n containerClone.style.visibility = \"hidden\";\n document.body.appendChild(containerClone);\n var flagsContainerClone = this.flagsContainer.cloneNode();\n containerClone.appendChild(flagsContainerClone);\n var selectedFlagClone = this.selectedFlag.cloneNode(true);\n flagsContainerClone.appendChild(selectedFlagClone);\n var width = selectedFlagClone.offsetWidth;\n containerClone.parentNode.removeChild(containerClone);\n return width;\n }\n }, {\n key: \"_updatePlaceholder\",\n value: function _updatePlaceholder() {\n var shouldSetPlaceholder = this.options.autoPlaceholder === \"aggressive\" || !this.hadInitialPlaceholder && this.options.autoPlaceholder === \"polite\";\n if (window.intlTelInputUtils && shouldSetPlaceholder) {\n var numberType = intlTelInputUtils.numberType[this.options.placeholderNumberType];\n var placeholder = this.selectedCountryData.iso2 ? intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2, this.options.nationalMode, numberType) : \"\";\n placeholder = this._beforeSetNumber(placeholder);\n if (typeof this.options.customPlaceholder === \"function\") {\n placeholder = this.options.customPlaceholder(placeholder, this.selectedCountryData);\n }\n this.telInput.setAttribute(\"placeholder\", placeholder);\n }\n }\n }, {\n key: \"_selectListItem\",\n value: function _selectListItem(listItem) {\n // update selected flag and active list item\n var flagChanged = this._setFlag(listItem.getAttribute(\"data-country-code\"));\n this._closeDropdown();\n this._updateDialCode(listItem.getAttribute(\"data-dial-code\"), true);\n // focus the input\n this.telInput.focus();\n // put cursor at end - this fix is required for FF and IE11 (with nationalMode=false i.e. auto\n // inserting dial code), who try to put the cursor at the beginning the first time\n var len = this.telInput.value.length;\n this.telInput.setSelectionRange(len, len);\n if (flagChanged) {\n this._triggerCountryChange();\n }\n }\n }, {\n key: \"_closeDropdown\",\n value: function _closeDropdown() {\n this.countryList.classList.add(\"iti__hide\");\n this.selectedFlag.setAttribute(\"aria-expanded\", \"false\");\n // update the arrow\n this.dropdownArrow.classList.remove(\"iti__arrow--up\");\n // unbind key events\n document.removeEventListener(\"keydown\", this._handleKeydownOnDropdown);\n document.documentElement.removeEventListener(\"click\", this._handleClickOffToClose);\n this.countryList.removeEventListener(\"mouseover\", this._handleMouseoverCountryList);\n this.countryList.removeEventListener(\"click\", this._handleClickCountryList);\n // remove menu from container\n if (this.options.dropdownContainer) {\n if (!this.isMobile) window.removeEventListener(\"scroll\", this._handleWindowScroll);\n if (this.dropdown.parentNode) this.dropdown.parentNode.removeChild(this.dropdown);\n }\n this._trigger(\"close:countrydropdown\");\n }\n }, {\n key: \"_scrollTo\",\n value: function _scrollTo(element, middle) {\n var container = this.countryList;\n // windowTop from https://stackoverflow.com/a/14384091/217866\n var windowTop = window.pageYOffset || document.documentElement.scrollTop;\n var containerHeight = container.offsetHeight;\n var containerTop = container.getBoundingClientRect().top + windowTop;\n var containerBottom = containerTop + containerHeight;\n var elementHeight = element.offsetHeight;\n var elementTop = element.getBoundingClientRect().top + windowTop;\n var elementBottom = elementTop + elementHeight;\n var newScrollTop = elementTop - containerTop + container.scrollTop;\n var middleOffset = containerHeight / 2 - elementHeight / 2;\n if (elementTop < containerTop) {\n // scroll up\n if (middle) newScrollTop -= middleOffset;\n container.scrollTop = newScrollTop;\n } else if (elementBottom > containerBottom) {\n // scroll down\n if (middle) newScrollTop += middleOffset;\n var heightDifference = containerHeight - elementHeight;\n container.scrollTop = newScrollTop - heightDifference;\n }\n }\n }, {\n key: \"_updateDialCode\",\n value: function _updateDialCode(newDialCodeBare, hasSelectedListItem) {\n var inputVal = this.telInput.value;\n // save having to pass this every time\n var newDialCode = \"+\".concat(newDialCodeBare);\n var newNumber;\n if (inputVal.charAt(0) === \"+\") {\n // there's a plus so we're dealing with a replacement (doesn't matter if nationalMode or not)\n var prevDialCode = this._getDialCode(inputVal);\n if (prevDialCode) {\n // current number contains a valid dial code, so replace it\n newNumber = inputVal.replace(prevDialCode, newDialCode);\n } else {\n // current number contains an invalid dial code, so ditch it\n // (no way to determine where the invalid dial code ends and the rest of the number begins)\n newNumber = newDialCode;\n }\n } else if (this.options.nationalMode || this.options.separateDialCode) {\n // don't do anything\n return;\n } else {\n // nationalMode is disabled\n if (inputVal) {\n // there is an existing value with no dial code: prefix the new dial code\n newNumber = newDialCode + inputVal;\n } else if (hasSelectedListItem || !this.options.autoHideDialCode) {\n // no existing value and either they've just selected a list item, or autoHideDialCode is\n // disabled: insert new dial code\n newNumber = newDialCode;\n } else {\n return;\n }\n }\n this.telInput.value = newNumber;\n }\n }, {\n key: \"_getDialCode\",\n value: function _getDialCode(number, includeAreaCode) {\n var dialCode = \"\";\n // only interested in international numbers (starting with a plus)\n if (number.charAt(0) === \"+\") {\n var numericChars = \"\";\n // iterate over chars\n for (var i = 0; i < number.length; i++) {\n var c = number.charAt(i);\n // if char is number (https://stackoverflow.com/a/8935649/217866)\n if (!isNaN(parseInt(c, 10))) {\n numericChars += c;\n // if current numericChars make a valid dial code\n if (includeAreaCode) {\n if (this.countryCodes[numericChars]) {\n // store the actual raw string (useful for matching later)\n dialCode = number.substr(0, i + 1);\n }\n } else {\n if (this.dialCodes[numericChars]) {\n dialCode = number.substr(0, i + 1);\n // if we're just looking for a dial code, we can break as soon as we find one\n break;\n }\n }\n // stop searching as soon as we can - in this case when we hit max len\n if (numericChars.length === this.countryCodeMaxLen) {\n break;\n }\n }\n }\n }\n return dialCode;\n }\n }, {\n key: \"_getFullNumber\",\n value: function _getFullNumber() {\n var val = this.telInput.value.trim();\n var dialCode = this.selectedCountryData.dialCode;\n var prefix;\n var numericVal = this._getNumeric(val);\n if (this.options.separateDialCode && val.charAt(0) !== \"+\" && dialCode && numericVal) {\n // when using separateDialCode, it is visible so is effectively part of the typed number\n prefix = \"+\".concat(dialCode);\n } else {\n prefix = \"\";\n }\n return prefix + val;\n }\n }, {\n key: \"_beforeSetNumber\",\n value: function _beforeSetNumber(originalNumber) {\n var number = originalNumber;\n if (this.options.separateDialCode) {\n var dialCode = this._getDialCode(number);\n // if there is a valid dial code\n if (dialCode) {\n // in case _getDialCode returned an area code as well\n dialCode = \"+\".concat(this.selectedCountryData.dialCode);\n // a lot of numbers will have a space separating the dial code and the main number, and\n // some NANP numbers will have a hyphen e.g. +1 684-733-1234 - in both cases we want to get\n // rid of it\n // NOTE: don't just trim all non-numerics as may want to preserve an open parenthesis etc\n var start = number[dialCode.length] === \" \" || number[dialCode.length] === \"-\" ? dialCode.length + 1 : dialCode.length;\n number = number.substr(start);\n }\n }\n return this._cap(number);\n }\n }, {\n key: \"_triggerCountryChange\",\n value: function _triggerCountryChange() {\n this._trigger(\"countrychange\");\n }\n }, {\n key: \"handleAutoCountry\",\n value: function handleAutoCountry() {\n if (this.options.initialCountry === \"auto\") {\n // we must set this even if there is an initial val in the input: in case the initial val is\n // invalid and they delete it - they should see their auto country\n this.defaultCountry = window.intlTelInputGlobals.autoCountry;\n // if there's no initial value in the input, then update the flag\n if (!this.telInput.value) {\n this.setCountry(this.defaultCountry);\n }\n this.resolveAutoCountryPromise();\n }\n }\n }, {\n key: \"handleUtils\",\n value: function handleUtils() {\n // if the request was successful\n if (window.intlTelInputUtils) {\n // if there's an initial value in the input, then format it\n if (this.telInput.value) {\n this._updateValFromNumber(this.telInput.value);\n }\n this._updatePlaceholder();\n }\n this.resolveUtilsScriptPromise();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var form = this.telInput.form;\n if (this.options.allowDropdown) {\n // make sure the dropdown is closed (and unbind listeners)\n this._closeDropdown();\n this.selectedFlag.removeEventListener(\"click\", this._handleClickSelectedFlag);\n this.flagsContainer.removeEventListener(\"keydown\", this._handleFlagsContainerKeydown);\n // label click hack\n var label = this._getClosestLabel();\n if (label) label.removeEventListener(\"click\", this._handleLabelClick);\n }\n // unbind hiddenInput listeners\n if (this.hiddenInput && form) form.removeEventListener(\"submit\", this._handleHiddenInputSubmit);\n // unbind autoHideDialCode listeners\n if (this.options.autoHideDialCode) {\n if (form) form.removeEventListener(\"submit\", this._handleSubmitOrBlurEvent);\n this.telInput.removeEventListener(\"blur\", this._handleSubmitOrBlurEvent);\n }\n // unbind key events, and cut/paste events\n this.telInput.removeEventListener(\"keyup\", this._handleKeyupEvent);\n this.telInput.removeEventListener(\"cut\", this._handleClipboardEvent);\n this.telInput.removeEventListener(\"paste\", this._handleClipboardEvent);\n // remove attribute of id instance: data-intl-tel-input-id\n this.telInput.removeAttribute(\"data-intl-tel-input-id\");\n // remove markup (but leave the original input)\n var wrapper = this.telInput.parentNode;\n wrapper.parentNode.insertBefore(this.telInput, wrapper);\n wrapper.parentNode.removeChild(wrapper);\n delete window.intlTelInputGlobals.instances[this.id];\n }\n }, {\n key: \"getExtension\",\n value: function getExtension() {\n if (window.intlTelInputUtils) {\n return intlTelInputUtils.getExtension(this._getFullNumber(), this.selectedCountryData.iso2);\n }\n return \"\";\n }\n }, {\n key: \"getNumber\",\n value: function getNumber(format) {\n if (window.intlTelInputUtils) {\n var iso2 = this.selectedCountryData.iso2;\n return intlTelInputUtils.formatNumber(this._getFullNumber(), iso2, format);\n }\n return \"\";\n }\n }, {\n key: \"getNumberType\",\n value: function getNumberType() {\n if (window.intlTelInputUtils) {\n return intlTelInputUtils.getNumberType(this._getFullNumber(), this.selectedCountryData.iso2);\n }\n return -99;\n }\n }, {\n key: \"getSelectedCountryData\",\n value: function getSelectedCountryData() {\n return this.selectedCountryData;\n }\n }, {\n key: \"getValidationError\",\n value: function getValidationError() {\n if (window.intlTelInputUtils) {\n var iso2 = this.selectedCountryData.iso2;\n return intlTelInputUtils.getValidationError(this._getFullNumber(), iso2);\n }\n return -99;\n }\n }, {\n key: \"isValidNumber\",\n value: function isValidNumber() {\n var val = this._getFullNumber().trim();\n var countryCode = this.options.nationalMode ? this.selectedCountryData.iso2 : \"\";\n return window.intlTelInputUtils ? intlTelInputUtils.isValidNumber(val, countryCode) : null;\n }\n }, {\n key: \"setCountry\",\n value: function setCountry(originalCountryCode) {\n var countryCode = originalCountryCode.toLowerCase();\n // check if already selected\n if (!this.selectedFlagInner.classList.contains(\"iti__\".concat(countryCode))) {\n this._setFlag(countryCode);\n this._updateDialCode(this.selectedCountryData.dialCode, false);\n this._triggerCountryChange();\n }\n }\n }, {\n key: \"setNumber\",\n value: function setNumber(number) {\n // we must update the flag first, which updates this.selectedCountryData, which is used for\n // formatting the number before displaying it\n var flagChanged = this._updateFlagFromNumber(number);\n this._updateValFromNumber(number);\n if (flagChanged) {\n this._triggerCountryChange();\n }\n }\n }, {\n key: \"setPlaceholderNumberType\",\n value: function setPlaceholderNumberType(type) {\n this.options.placeholderNumberType = type;\n this._updatePlaceholder();\n }\n }]);\n return Iti;\n }();\n /********************\n * STATIC METHODS\n ********************/\n // get the country data object\n intlTelInputGlobals.getCountryData = function () {\n return allCountries;\n };\n // inject a ')\n });\n $('.sachdev-vid').click(function () {\n $(this).empty()\n $(this).append('')\n });\n $('.academy-vid').click(function () {\n $(this).empty()\n $(this).append('')\n });\n\n //Hide Top Bar on Scroll\n var prevScrollpos = window.pageYOffset;\n window.onscroll = function () {\n var currentScrollPos = window.pageYOffset;\n if (prevScrollpos > currentScrollPos) {\n document.getElementById(\"main-nav\").style.top = \"36px\";\n } else {\n document.getElementById(\"main-nav\").style.top = \"0px\";\n }\n prevScrollpos = currentScrollPos;\n }\n\n loadWorkshops();\n\n //Course Filter\n var courseFilter = function() {\n var ww = document.body.clientWidth;\n if (ww < 992) {\n $('#courseFilters #filters.collapse').removeClass('show');\n } else if (ww >= 992) {\n $('#courseFilters #filters.collapse').addClass('show');\n };\n };\n $(window).resize(function(){\n courseFilter();\n });\n courseFilter();\n\n //Mini Course List\n $('.courseList-cta .courseList-cta-close').click(function(){\n $('.courseList-cta').addClass('d-none')\n });\n});\n\nfunction captchaSuccess(){\n $(\"#recpatcha-error\").remove();\n};\n\nfunction loadWorkshops() {\n var xhr = $.getJSON(\"https://blog.prep.works/wp-json/wp/v2/posts?_embed&per_page=3&categories=22&page=\" + workshop_list_pagination + \"\", function (data) {\n workshop_list_pagination++;\n\n $.each(data, function (index, value) {\n var blog_date = new Date(Date.parse(value.date));\n var blog_post_container = \"
    \"\n var blog_post = $.parseHTML(blog_post_container);\n if (value._embedded.hasOwnProperty('wp:featuredmedia')) {\n $(blog_post).append(\"
    \");\n }\n $(blog_post).append(\"

    \" + blog_date.toDateString() + \"

    \");\n $(blog_post).append(\"
    \" + value.title.rendered + \"
    \");\n $(blog_post).append(\"
    Find out more
    \");\n $workshop_list.append(blog_post);\n $(\"#blog_preloader\").remove();\n });\n });\n}","/*!\n * Bootstrap modal.js v4.5.2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Modal = factory(global.jQuery, global.Util));\n})(this, function ($, Util) {\n 'use strict';\n\n $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;\n Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;\n function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'modal';\n var VERSION = '4.5.2';\n var DATA_KEY = 'bs.modal';\n var EVENT_KEY = \".\" + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key\n\n var Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n };\n var DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n };\n var EVENT_HIDE = \"hide\" + EVENT_KEY;\n var EVENT_HIDE_PREVENTED = \"hidePrevented\" + EVENT_KEY;\n var EVENT_HIDDEN = \"hidden\" + EVENT_KEY;\n var EVENT_SHOW = \"show\" + EVENT_KEY;\n var EVENT_SHOWN = \"shown\" + EVENT_KEY;\n var EVENT_FOCUSIN = \"focusin\" + EVENT_KEY;\n var EVENT_RESIZE = \"resize\" + EVENT_KEY;\n var EVENT_CLICK_DISMISS = \"click.dismiss\" + EVENT_KEY;\n var EVENT_KEYDOWN_DISMISS = \"keydown.dismiss\" + EVENT_KEY;\n var EVENT_MOUSEUP_DISMISS = \"mouseup.dismiss\" + EVENT_KEY;\n var EVENT_MOUSEDOWN_DISMISS = \"mousedown.dismiss\" + EVENT_KEY;\n var EVENT_CLICK_DATA_API = \"click\" + EVENT_KEY + DATA_API_KEY;\n var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';\n var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';\n var CLASS_NAME_BACKDROP = 'modal-backdrop';\n var CLASS_NAME_OPEN = 'modal-open';\n var CLASS_NAME_FADE = 'fade';\n var CLASS_NAME_SHOW = 'show';\n var CLASS_NAME_STATIC = 'modal-static';\n var SELECTOR_DIALOG = '.modal-dialog';\n var SELECTOR_MODAL_BODY = '.modal-body';\n var SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]';\n var SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]';\n var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\n var SELECTOR_STICKY_CONTENT = '.sticky-top';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Modal = /*#__PURE__*/function () {\n function Modal(element, config) {\n this._config = this._getConfig(config);\n this._element = element;\n this._dialog = element.querySelector(SELECTOR_DIALOG);\n this._backdrop = null;\n this._isShown = false;\n this._isBodyOverflowing = false;\n this._ignoreBackdropClick = false;\n this._isTransitioning = false;\n this._scrollbarWidth = 0;\n } // Getters\n\n var _proto = Modal.prototype;\n\n // Public\n _proto.toggle = function toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n };\n _proto.show = function show(relatedTarget) {\n var _this = this;\n if (this._isShown || this._isTransitioning) {\n return;\n }\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n this._isTransitioning = true;\n }\n var showEvent = $.Event(EVENT_SHOW, {\n relatedTarget: relatedTarget\n });\n $(this._element).trigger(showEvent);\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return;\n }\n this._isShown = true;\n this._checkScrollbar();\n this._setScrollbar();\n this._adjustDialog();\n this._setEscapeEvent();\n this._setResizeEvent();\n $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {\n return _this.hide(event);\n });\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () {\n $(_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) {\n if ($(event.target).is(_this._element)) {\n _this._ignoreBackdropClick = true;\n }\n });\n });\n this._showBackdrop(function () {\n return _this._showElement(relatedTarget);\n });\n };\n _proto.hide = function hide(event) {\n var _this2 = this;\n if (event) {\n event.preventDefault();\n }\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n var hideEvent = $.Event(EVENT_HIDE);\n $(this._element).trigger(hideEvent);\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return;\n }\n this._isShown = false;\n var transition = $(this._element).hasClass(CLASS_NAME_FADE);\n if (transition) {\n this._isTransitioning = true;\n }\n this._setEscapeEvent();\n this._setResizeEvent();\n $(document).off(EVENT_FOCUSIN);\n $(this._element).removeClass(CLASS_NAME_SHOW);\n $(this._element).off(EVENT_CLICK_DISMISS);\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS);\n if (transition) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, function (event) {\n return _this2._hideModal(event);\n }).emulateTransitionEnd(transitionDuration);\n } else {\n this._hideModal();\n }\n };\n _proto.dispose = function dispose() {\n [window, this._element, this._dialog].forEach(function (htmlElement) {\n return $(htmlElement).off(EVENT_KEY);\n });\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n\n $(document).off(EVENT_FOCUSIN);\n $.removeData(this._element, DATA_KEY);\n this._config = null;\n this._element = null;\n this._dialog = null;\n this._backdrop = null;\n this._isShown = null;\n this._isBodyOverflowing = null;\n this._ignoreBackdropClick = null;\n this._isTransitioning = null;\n this._scrollbarWidth = null;\n };\n _proto.handleUpdate = function handleUpdate() {\n this._adjustDialog();\n } // Private\n ;\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, Default, config);\n Util.typeCheckConfig(NAME, config, DefaultType);\n return config;\n };\n _proto._triggerBackdropTransition = function _triggerBackdropTransition() {\n var _this3 = this;\n if (this._config.backdrop === 'static') {\n var hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED);\n $(this._element).trigger(hideEventPrevented);\n if (hideEventPrevented.defaultPrevented) {\n return;\n }\n var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden';\n }\n this._element.classList.add(CLASS_NAME_STATIC);\n var modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog);\n $(this._element).off(Util.TRANSITION_END);\n $(this._element).one(Util.TRANSITION_END, function () {\n _this3._element.classList.remove(CLASS_NAME_STATIC);\n if (!isModalOverflowing) {\n $(_this3._element).one(Util.TRANSITION_END, function () {\n _this3._element.style.overflowY = '';\n }).emulateTransitionEnd(_this3._element, modalTransitionDuration);\n }\n }).emulateTransitionEnd(modalTransitionDuration);\n this._element.focus();\n } else {\n this.hide();\n }\n };\n _proto._showElement = function _showElement(relatedTarget) {\n var _this4 = this;\n var transition = $(this._element).hasClass(CLASS_NAME_FADE);\n var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element);\n }\n this._element.style.display = 'block';\n this._element.removeAttribute('aria-hidden');\n this._element.setAttribute('aria-modal', true);\n this._element.setAttribute('role', 'dialog');\n if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0;\n } else {\n this._element.scrollTop = 0;\n }\n if (transition) {\n Util.reflow(this._element);\n }\n $(this._element).addClass(CLASS_NAME_SHOW);\n if (this._config.focus) {\n this._enforceFocus();\n }\n var shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget: relatedTarget\n });\n var transitionComplete = function transitionComplete() {\n if (_this4._config.focus) {\n _this4._element.focus();\n }\n _this4._isTransitioning = false;\n $(_this4._element).trigger(shownEvent);\n };\n if (transition) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);\n $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);\n } else {\n transitionComplete();\n }\n };\n _proto._enforceFocus = function _enforceFocus() {\n var _this5 = this;\n $(document).off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, function (event) {\n if (document !== event.target && _this5._element !== event.target && $(_this5._element).has(event.target).length === 0) {\n _this5._element.focus();\n }\n });\n };\n _proto._setEscapeEvent = function _setEscapeEvent() {\n var _this6 = this;\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, function (event) {\n if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault();\n _this6.hide();\n } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {\n _this6._triggerBackdropTransition();\n }\n });\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS);\n }\n };\n _proto._setResizeEvent = function _setResizeEvent() {\n var _this7 = this;\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, function (event) {\n return _this7.handleUpdate(event);\n });\n } else {\n $(window).off(EVENT_RESIZE);\n }\n };\n _proto._hideModal = function _hideModal() {\n var _this8 = this;\n this._element.style.display = 'none';\n this._element.setAttribute('aria-hidden', true);\n this._element.removeAttribute('aria-modal');\n this._element.removeAttribute('role');\n this._isTransitioning = false;\n this._showBackdrop(function () {\n $(document.body).removeClass(CLASS_NAME_OPEN);\n _this8._resetAdjustments();\n _this8._resetScrollbar();\n $(_this8._element).trigger(EVENT_HIDDEN);\n });\n };\n _proto._removeBackdrop = function _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove();\n this._backdrop = null;\n }\n };\n _proto._showBackdrop = function _showBackdrop(callback) {\n var _this9 = this;\n var animate = $(this._element).hasClass(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div');\n this._backdrop.className = CLASS_NAME_BACKDROP;\n if (animate) {\n this._backdrop.classList.add(animate);\n }\n $(this._backdrop).appendTo(document.body);\n $(this._element).on(EVENT_CLICK_DISMISS, function (event) {\n if (_this9._ignoreBackdropClick) {\n _this9._ignoreBackdropClick = false;\n return;\n }\n if (event.target !== event.currentTarget) {\n return;\n }\n _this9._triggerBackdropTransition();\n });\n if (animate) {\n Util.reflow(this._backdrop);\n }\n $(this._backdrop).addClass(CLASS_NAME_SHOW);\n if (!callback) {\n return;\n }\n if (!animate) {\n callback();\n return;\n }\n var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\n $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW);\n var callbackRemove = function callbackRemove() {\n _this9._removeBackdrop();\n if (callback) {\n callback();\n }\n };\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\n $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);\n } else {\n callbackRemove();\n }\n } else if (callback) {\n callback();\n }\n } // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n ;\n _proto._adjustDialog = function _adjustDialog() {\n var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = this._scrollbarWidth + \"px\";\n }\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = this._scrollbarWidth + \"px\";\n }\n };\n _proto._resetAdjustments = function _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n };\n _proto._checkScrollbar = function _checkScrollbar() {\n var rect = document.body.getBoundingClientRect();\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;\n this._scrollbarWidth = this._getScrollbarWidth();\n };\n _proto._setScrollbar = function _setScrollbar() {\n var _this10 = this;\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));\n var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding\n\n $(fixedContent).each(function (index, element) {\n var actualPadding = element.style.paddingRight;\n var calculatedPadding = $(element).css('padding-right');\n $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + \"px\");\n }); // Adjust sticky content margin\n\n $(stickyContent).each(function (index, element) {\n var actualMargin = element.style.marginRight;\n var calculatedMargin = $(element).css('margin-right');\n $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + \"px\");\n }); // Adjust body padding\n\n var actualPadding = document.body.style.paddingRight;\n var calculatedPadding = $(document.body).css('padding-right');\n $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + \"px\");\n }\n $(document.body).addClass(CLASS_NAME_OPEN);\n };\n _proto._resetScrollbar = function _resetScrollbar() {\n // Restore fixed content padding\n var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));\n $(fixedContent).each(function (index, element) {\n var padding = $(element).data('padding-right');\n $(element).removeData('padding-right');\n element.style.paddingRight = padding ? padding : '';\n }); // Restore sticky content\n\n var elements = [].slice.call(document.querySelectorAll(\"\" + SELECTOR_STICKY_CONTENT));\n $(elements).each(function (index, element) {\n var margin = $(element).data('margin-right');\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right');\n }\n }); // Restore body padding\n\n var padding = $(document.body).data('padding-right');\n $(document.body).removeData('padding-right');\n document.body.style.paddingRight = padding ? padding : '';\n };\n _proto._getScrollbarWidth = function _getScrollbarWidth() {\n // thx d.walsh\n var scrollDiv = document.createElement('div');\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n } // Static\n ;\n Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n var _config = _extends({}, Default, $(this).data(), typeof config === 'object' && config ? config : {});\n if (!data) {\n data = new Modal(this, _config);\n $(this).data(DATA_KEY, data);\n }\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n data[config](relatedTarget);\n } else if (_config.show) {\n data.show(relatedTarget);\n }\n });\n };\n _createClass(Modal, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }]);\n return Modal;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n var _this11 = this;\n var target;\n var selector = Util.getSelectorFromElement(this);\n if (selector) {\n target = document.querySelector(selector);\n }\n var config = $(target).data(DATA_KEY) ? 'toggle' : _extends({}, $(target).data(), $(this).data());\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault();\n }\n var $target = $(target).one(EVENT_SHOW, function (showEvent) {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return;\n }\n $target.one(EVENT_HIDDEN, function () {\n if ($(_this11).is(':visible')) {\n _this11.focus();\n }\n });\n });\n Modal._jQueryInterface.call($(target), config, this);\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface;\n $.fn[NAME].Constructor = Modal;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Modal._jQueryInterface;\n };\n return Modal;\n});","/*!\n * Bootstrap util.js v4.5.2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) : typeof define === 'function' && define.amd ? define(['jquery'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Util = factory(global.jQuery));\n})(this, function ($) {\n 'use strict';\n\n $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;\n\n /**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n var TRANSITION_END = 'transitionend';\n var MAX_UID = 1000000;\n var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n\n function toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return \"\" + obj;\n }\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase();\n }\n function getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle: function handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params\n }\n return undefined;\n }\n };\n }\n function transitionEndEmulator(duration) {\n var _this = this;\n var called = false;\n $(this).one(Util.TRANSITION_END, function () {\n called = true;\n });\n setTimeout(function () {\n if (!called) {\n Util.triggerTransitionEnd(_this);\n }\n }, duration);\n return this;\n }\n function setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator;\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();\n }\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n var Util = {\n TRANSITION_END: 'bsTransitionEnd',\n getUID: function getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID); // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix));\n return prefix;\n },\n getSelectorFromElement: function getSelectorFromElement(element) {\n var selector = element.getAttribute('data-target');\n if (!selector || selector === '#') {\n var hrefAttr = element.getAttribute('href');\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';\n }\n try {\n return document.querySelector(selector) ? selector : null;\n } catch (err) {\n return null;\n }\n },\n getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {\n if (!element) {\n return 0;\n } // Get transition-duration of the element\n\n var transitionDuration = $(element).css('transition-duration');\n var transitionDelay = $(element).css('transition-delay');\n var floatTransitionDuration = parseFloat(transitionDuration);\n var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n } // If multiple durations are defined, take the first\n\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n },\n reflow: function reflow(element) {\n return element.offsetHeight;\n },\n triggerTransitionEnd: function triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END);\n },\n // TODO: Remove in v5\n supportsTransitionEnd: function supportsTransitionEnd() {\n return Boolean(TRANSITION_END);\n },\n isElement: function isElement(obj) {\n return (obj[0] || obj).nodeType;\n },\n typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {\n for (var property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n var expectedTypes = configTypes[property];\n var value = config[property];\n var valueType = value && Util.isElement(value) ? 'element' : toType(value);\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(componentName.toUpperCase() + \": \" + (\"Option \\\"\" + property + \"\\\" provided type \\\"\" + valueType + \"\\\" \") + (\"but expected type \\\"\" + expectedTypes + \"\\\".\"));\n }\n }\n }\n },\n findShadowRoot: function findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null;\n } // Can find the shadow root otherwise it'll return the document\n\n if (typeof element.getRootNode === 'function') {\n var root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n if (element instanceof ShadowRoot) {\n return element;\n } // when we don't find a shadow root\n\n if (!element.parentNode) {\n return null;\n }\n return Util.findShadowRoot(element.parentNode);\n },\n jQueryDetection: function jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.');\n }\n var version = $.fn.jquery.split(' ')[0].split('.');\n var minMajor = 1;\n var ltMajor = 2;\n var minMinor = 9;\n var minPatch = 1;\n var maxMajor = 4;\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');\n }\n }\n };\n Util.jQueryDetection();\n setTransitionEndSupport();\n return Util;\n});","(function (window, factory) {\n var lazySizes = factory(window, window.document, Date);\n window.lazySizes = lazySizes;\n if (typeof module == 'object' && module.exports) {\n module.exports = lazySizes;\n }\n})(typeof window != 'undefined' ? window : {}, function l(window, document, Date) {\n // Pass in the windoe Date function also for SSR because the Date class can be lost\n 'use strict';\n\n /*jshint eqnull:true */\n var lazysizes, lazySizesCfg;\n (function () {\n var prop;\n var lazySizesDefaults = {\n lazyClass: 'lazyload',\n loadedClass: 'lazyloaded',\n loadingClass: 'lazyloading',\n preloadClass: 'lazypreload',\n errorClass: 'lazyerror',\n //strictClass: 'lazystrict',\n autosizesClass: 'lazyautosizes',\n srcAttr: 'data-src',\n srcsetAttr: 'data-srcset',\n sizesAttr: 'data-sizes',\n //preloadAfterLoad: false,\n minSize: 40,\n customMedia: {},\n init: true,\n expFactor: 1.5,\n hFac: 0.8,\n loadMode: 2,\n loadHidden: true,\n ricTimeout: 0,\n throttleDelay: 125\n };\n lazySizesCfg = window.lazySizesConfig || window.lazysizesConfig || {};\n for (prop in lazySizesDefaults) {\n if (!(prop in lazySizesCfg)) {\n lazySizesCfg[prop] = lazySizesDefaults[prop];\n }\n }\n })();\n if (!document || !document.getElementsByClassName) {\n return {\n init: function () {},\n cfg: lazySizesCfg,\n noSupport: true\n };\n }\n var docElem = document.documentElement;\n var supportPicture = window.HTMLPictureElement;\n var _addEventListener = 'addEventListener';\n var _getAttribute = 'getAttribute';\n\n /**\n * Update to bind to window because 'this' becomes null during SSR\n * builds.\n */\n var addEventListener = window[_addEventListener].bind(window);\n var setTimeout = window.setTimeout;\n var requestAnimationFrame = window.requestAnimationFrame || setTimeout;\n var requestIdleCallback = window.requestIdleCallback;\n var regPicture = /^picture$/i;\n var loadEvents = ['load', 'error', 'lazyincluded', '_lazyloaded'];\n var regClassCache = {};\n var forEach = Array.prototype.forEach;\n var hasClass = function (ele, cls) {\n if (!regClassCache[cls]) {\n regClassCache[cls] = new RegExp('(\\\\s|^)' + cls + '(\\\\s|$)');\n }\n return regClassCache[cls].test(ele[_getAttribute]('class') || '') && regClassCache[cls];\n };\n var addClass = function (ele, cls) {\n if (!hasClass(ele, cls)) {\n ele.setAttribute('class', (ele[_getAttribute]('class') || '').trim() + ' ' + cls);\n }\n };\n var removeClass = function (ele, cls) {\n var reg;\n if (reg = hasClass(ele, cls)) {\n ele.setAttribute('class', (ele[_getAttribute]('class') || '').replace(reg, ' '));\n }\n };\n var addRemoveLoadEvents = function (dom, fn, add) {\n var action = add ? _addEventListener : 'removeEventListener';\n if (add) {\n addRemoveLoadEvents(dom, fn);\n }\n loadEvents.forEach(function (evt) {\n dom[action](evt, fn);\n });\n };\n var triggerEvent = function (elem, name, detail, noBubbles, noCancelable) {\n var event = document.createEvent('Event');\n if (!detail) {\n detail = {};\n }\n detail.instance = lazysizes;\n event.initEvent(name, !noBubbles, !noCancelable);\n event.detail = detail;\n elem.dispatchEvent(event);\n return event;\n };\n var updatePolyfill = function (el, full) {\n var polyfill;\n if (!supportPicture && (polyfill = window.picturefill || lazySizesCfg.pf)) {\n if (full && full.src && !el[_getAttribute]('srcset')) {\n el.setAttribute('srcset', full.src);\n }\n polyfill({\n reevaluate: true,\n elements: [el]\n });\n } else if (full && full.src) {\n el.src = full.src;\n }\n };\n var getCSS = function (elem, style) {\n return (getComputedStyle(elem, null) || {})[style];\n };\n var getWidth = function (elem, parent, width) {\n width = width || elem.offsetWidth;\n while (width < lazySizesCfg.minSize && parent && !elem._lazysizesWidth) {\n width = parent.offsetWidth;\n parent = parent.parentNode;\n }\n return width;\n };\n var rAF = function () {\n var running, waiting;\n var firstFns = [];\n var secondFns = [];\n var fns = firstFns;\n var run = function () {\n var runFns = fns;\n fns = firstFns.length ? secondFns : firstFns;\n running = true;\n waiting = false;\n while (runFns.length) {\n runFns.shift()();\n }\n running = false;\n };\n var rafBatch = function (fn, queue) {\n if (running && !queue) {\n fn.apply(this, arguments);\n } else {\n fns.push(fn);\n if (!waiting) {\n waiting = true;\n (document.hidden ? setTimeout : requestAnimationFrame)(run);\n }\n }\n };\n rafBatch._lsFlush = run;\n return rafBatch;\n }();\n var rAFIt = function (fn, simple) {\n return simple ? function () {\n rAF(fn);\n } : function () {\n var that = this;\n var args = arguments;\n rAF(function () {\n fn.apply(that, args);\n });\n };\n };\n var throttle = function (fn) {\n var running;\n var lastTime = 0;\n var gDelay = lazySizesCfg.throttleDelay;\n var rICTimeout = lazySizesCfg.ricTimeout;\n var run = function () {\n running = false;\n lastTime = Date.now();\n fn();\n };\n var idleCallback = requestIdleCallback && rICTimeout > 49 ? function () {\n requestIdleCallback(run, {\n timeout: rICTimeout\n });\n if (rICTimeout !== lazySizesCfg.ricTimeout) {\n rICTimeout = lazySizesCfg.ricTimeout;\n }\n } : rAFIt(function () {\n setTimeout(run);\n }, true);\n return function (isPriority) {\n var delay;\n if (isPriority = isPriority === true) {\n rICTimeout = 33;\n }\n if (running) {\n return;\n }\n running = true;\n delay = gDelay - (Date.now() - lastTime);\n if (delay < 0) {\n delay = 0;\n }\n if (isPriority || delay < 9) {\n idleCallback();\n } else {\n setTimeout(idleCallback, delay);\n }\n };\n };\n\n //based on http://modernjavascript.blogspot.de/2013/08/building-better-debounce.html\n var debounce = function (func) {\n var timeout, timestamp;\n var wait = 99;\n var run = function () {\n timeout = null;\n func();\n };\n var later = function () {\n var last = Date.now() - timestamp;\n if (last < wait) {\n setTimeout(later, wait - last);\n } else {\n (requestIdleCallback || run)(run);\n }\n };\n return function () {\n timestamp = Date.now();\n if (!timeout) {\n timeout = setTimeout(later, wait);\n }\n };\n };\n var loader = function () {\n var preloadElems, isCompleted, resetPreloadingTimer, loadMode, started;\n var eLvW, elvH, eLtop, eLleft, eLright, eLbottom, isBodyHidden;\n var regImg = /^img$/i;\n var regIframe = /^iframe$/i;\n var supportScroll = 'onscroll' in window && !/(gle|ing)bot/.test(navigator.userAgent);\n var shrinkExpand = 0;\n var currentExpand = 0;\n var isLoading = 0;\n var lowRuns = -1;\n var resetPreloading = function (e) {\n isLoading--;\n if (!e || isLoading < 0 || !e.target) {\n isLoading = 0;\n }\n };\n var isVisible = function (elem) {\n if (isBodyHidden == null) {\n isBodyHidden = getCSS(document.body, 'visibility') == 'hidden';\n }\n return isBodyHidden || !(getCSS(elem.parentNode, 'visibility') == 'hidden' && getCSS(elem, 'visibility') == 'hidden');\n };\n var isNestedVisible = function (elem, elemExpand) {\n var outerRect;\n var parent = elem;\n var visible = isVisible(elem);\n eLtop -= elemExpand;\n eLbottom += elemExpand;\n eLleft -= elemExpand;\n eLright += elemExpand;\n while (visible && (parent = parent.offsetParent) && parent != document.body && parent != docElem) {\n visible = (getCSS(parent, 'opacity') || 1) > 0;\n if (visible && getCSS(parent, 'overflow') != 'visible') {\n outerRect = parent.getBoundingClientRect();\n visible = eLright > outerRect.left && eLleft < outerRect.right && eLbottom > outerRect.top - 1 && eLtop < outerRect.bottom + 1;\n }\n }\n return visible;\n };\n var checkElements = function () {\n var eLlen, i, rect, autoLoadElem, loadedSomething, elemExpand, elemNegativeExpand, elemExpandVal, beforeExpandVal, defaultExpand, preloadExpand, hFac;\n var lazyloadElems = lazysizes.elements;\n if ((loadMode = lazySizesCfg.loadMode) && isLoading < 8 && (eLlen = lazyloadElems.length)) {\n i = 0;\n lowRuns++;\n for (; i < eLlen; i++) {\n if (!lazyloadElems[i] || lazyloadElems[i]._lazyRace) {\n continue;\n }\n if (!supportScroll || lazysizes.prematureUnveil && lazysizes.prematureUnveil(lazyloadElems[i])) {\n unveilElement(lazyloadElems[i]);\n continue;\n }\n if (!(elemExpandVal = lazyloadElems[i][_getAttribute]('data-expand')) || !(elemExpand = elemExpandVal * 1)) {\n elemExpand = currentExpand;\n }\n if (!defaultExpand) {\n defaultExpand = !lazySizesCfg.expand || lazySizesCfg.expand < 1 ? docElem.clientHeight > 500 && docElem.clientWidth > 500 ? 500 : 370 : lazySizesCfg.expand;\n lazysizes._defEx = defaultExpand;\n preloadExpand = defaultExpand * lazySizesCfg.expFactor;\n hFac = lazySizesCfg.hFac;\n isBodyHidden = null;\n if (currentExpand < preloadExpand && isLoading < 1 && lowRuns > 2 && loadMode > 2 && !document.hidden) {\n currentExpand = preloadExpand;\n lowRuns = 0;\n } else if (loadMode > 1 && lowRuns > 1 && isLoading < 6) {\n currentExpand = defaultExpand;\n } else {\n currentExpand = shrinkExpand;\n }\n }\n if (beforeExpandVal !== elemExpand) {\n eLvW = innerWidth + elemExpand * hFac;\n elvH = innerHeight + elemExpand;\n elemNegativeExpand = elemExpand * -1;\n beforeExpandVal = elemExpand;\n }\n rect = lazyloadElems[i].getBoundingClientRect();\n if ((eLbottom = rect.bottom) >= elemNegativeExpand && (eLtop = rect.top) <= elvH && (eLright = rect.right) >= elemNegativeExpand * hFac && (eLleft = rect.left) <= eLvW && (eLbottom || eLright || eLleft || eLtop) && (lazySizesCfg.loadHidden || isVisible(lazyloadElems[i])) && (isCompleted && isLoading < 3 && !elemExpandVal && (loadMode < 3 || lowRuns < 4) || isNestedVisible(lazyloadElems[i], elemExpand))) {\n unveilElement(lazyloadElems[i]);\n loadedSomething = true;\n if (isLoading > 9) {\n break;\n }\n } else if (!loadedSomething && isCompleted && !autoLoadElem && isLoading < 4 && lowRuns < 4 && loadMode > 2 && (preloadElems[0] || lazySizesCfg.preloadAfterLoad) && (preloadElems[0] || !elemExpandVal && (eLbottom || eLright || eLleft || eLtop || lazyloadElems[i][_getAttribute](lazySizesCfg.sizesAttr) != 'auto'))) {\n autoLoadElem = preloadElems[0] || lazyloadElems[i];\n }\n }\n if (autoLoadElem && !loadedSomething) {\n unveilElement(autoLoadElem);\n }\n }\n };\n var throttledCheckElements = throttle(checkElements);\n var switchLoadingClass = function (e) {\n var elem = e.target;\n if (elem._lazyCache) {\n delete elem._lazyCache;\n return;\n }\n resetPreloading(e);\n addClass(elem, lazySizesCfg.loadedClass);\n removeClass(elem, lazySizesCfg.loadingClass);\n addRemoveLoadEvents(elem, rafSwitchLoadingClass);\n triggerEvent(elem, 'lazyloaded');\n };\n var rafedSwitchLoadingClass = rAFIt(switchLoadingClass);\n var rafSwitchLoadingClass = function (e) {\n rafedSwitchLoadingClass({\n target: e.target\n });\n };\n var changeIframeSrc = function (elem, src) {\n try {\n elem.contentWindow.location.replace(src);\n } catch (e) {\n elem.src = src;\n }\n };\n var handleSources = function (source) {\n var customMedia;\n var sourceSrcset = source[_getAttribute](lazySizesCfg.srcsetAttr);\n if (customMedia = lazySizesCfg.customMedia[source[_getAttribute]('data-media') || source[_getAttribute]('media')]) {\n source.setAttribute('media', customMedia);\n }\n if (sourceSrcset) {\n source.setAttribute('srcset', sourceSrcset);\n }\n };\n var lazyUnveil = rAFIt(function (elem, detail, isAuto, sizes, isImg) {\n var src, srcset, parent, isPicture, event, firesLoad;\n if (!(event = triggerEvent(elem, 'lazybeforeunveil', detail)).defaultPrevented) {\n if (sizes) {\n if (isAuto) {\n addClass(elem, lazySizesCfg.autosizesClass);\n } else {\n elem.setAttribute('sizes', sizes);\n }\n }\n srcset = elem[_getAttribute](lazySizesCfg.srcsetAttr);\n src = elem[_getAttribute](lazySizesCfg.srcAttr);\n if (isImg) {\n parent = elem.parentNode;\n isPicture = parent && regPicture.test(parent.nodeName || '');\n }\n firesLoad = detail.firesLoad || 'src' in elem && (srcset || src || isPicture);\n event = {\n target: elem\n };\n addClass(elem, lazySizesCfg.loadingClass);\n if (firesLoad) {\n clearTimeout(resetPreloadingTimer);\n resetPreloadingTimer = setTimeout(resetPreloading, 2500);\n addRemoveLoadEvents(elem, rafSwitchLoadingClass, true);\n }\n if (isPicture) {\n forEach.call(parent.getElementsByTagName('source'), handleSources);\n }\n if (srcset) {\n elem.setAttribute('srcset', srcset);\n } else if (src && !isPicture) {\n if (regIframe.test(elem.nodeName)) {\n changeIframeSrc(elem, src);\n } else {\n elem.src = src;\n }\n }\n if (isImg && (srcset || isPicture)) {\n updatePolyfill(elem, {\n src: src\n });\n }\n }\n if (elem._lazyRace) {\n delete elem._lazyRace;\n }\n removeClass(elem, lazySizesCfg.lazyClass);\n rAF(function () {\n // Part of this can be removed as soon as this fix is older: https://bugs.chromium.org/p/chromium/issues/detail?id=7731 (2015)\n var isLoaded = elem.complete && elem.naturalWidth > 1;\n if (!firesLoad || isLoaded) {\n if (isLoaded) {\n addClass(elem, 'ls-is-cached');\n }\n switchLoadingClass(event);\n elem._lazyCache = true;\n setTimeout(function () {\n if ('_lazyCache' in elem) {\n delete elem._lazyCache;\n }\n }, 9);\n }\n if (elem.loading == 'lazy') {\n isLoading--;\n }\n }, true);\n });\n var unveilElement = function (elem) {\n if (elem._lazyRace) {\n return;\n }\n var detail;\n var isImg = regImg.test(elem.nodeName);\n\n //allow using sizes=\"auto\", but don't use. it's invalid. Use data-sizes=\"auto\" or a valid value for sizes instead (i.e.: sizes=\"80vw\")\n var sizes = isImg && (elem[_getAttribute](lazySizesCfg.sizesAttr) || elem[_getAttribute]('sizes'));\n var isAuto = sizes == 'auto';\n if ((isAuto || !isCompleted) && isImg && (elem[_getAttribute]('src') || elem.srcset) && !elem.complete && !hasClass(elem, lazySizesCfg.errorClass) && hasClass(elem, lazySizesCfg.lazyClass)) {\n return;\n }\n detail = triggerEvent(elem, 'lazyunveilread').detail;\n if (isAuto) {\n autoSizer.updateElem(elem, true, elem.offsetWidth);\n }\n elem._lazyRace = true;\n isLoading++;\n lazyUnveil(elem, detail, isAuto, sizes, isImg);\n };\n var afterScroll = debounce(function () {\n lazySizesCfg.loadMode = 3;\n throttledCheckElements();\n });\n var altLoadmodeScrollListner = function () {\n if (lazySizesCfg.loadMode == 3) {\n lazySizesCfg.loadMode = 2;\n }\n afterScroll();\n };\n var onload = function () {\n if (isCompleted) {\n return;\n }\n if (Date.now() - started < 999) {\n setTimeout(onload, 999);\n return;\n }\n isCompleted = true;\n lazySizesCfg.loadMode = 3;\n throttledCheckElements();\n addEventListener('scroll', altLoadmodeScrollListner, true);\n };\n return {\n _: function () {\n started = Date.now();\n lazysizes.elements = document.getElementsByClassName(lazySizesCfg.lazyClass);\n preloadElems = document.getElementsByClassName(lazySizesCfg.lazyClass + ' ' + lazySizesCfg.preloadClass);\n addEventListener('scroll', throttledCheckElements, true);\n addEventListener('resize', throttledCheckElements, true);\n addEventListener('pageshow', function (e) {\n if (e.persisted) {\n var loadingElements = document.querySelectorAll('.' + lazySizesCfg.loadingClass);\n if (loadingElements.length && loadingElements.forEach) {\n requestAnimationFrame(function () {\n loadingElements.forEach(function (img) {\n if (img.complete) {\n unveilElement(img);\n }\n });\n });\n }\n }\n });\n if (window.MutationObserver) {\n new MutationObserver(throttledCheckElements).observe(docElem, {\n childList: true,\n subtree: true,\n attributes: true\n });\n } else {\n docElem[_addEventListener]('DOMNodeInserted', throttledCheckElements, true);\n docElem[_addEventListener]('DOMAttrModified', throttledCheckElements, true);\n setInterval(throttledCheckElements, 999);\n }\n addEventListener('hashchange', throttledCheckElements, true);\n\n //, 'fullscreenchange'\n ['focus', 'mouseover', 'click', 'load', 'transitionend', 'animationend'].forEach(function (name) {\n document[_addEventListener](name, throttledCheckElements, true);\n });\n if (/d$|^c/.test(document.readyState)) {\n onload();\n } else {\n addEventListener('load', onload);\n document[_addEventListener]('DOMContentLoaded', throttledCheckElements);\n setTimeout(onload, 20000);\n }\n if (lazysizes.elements.length) {\n checkElements();\n rAF._lsFlush();\n } else {\n throttledCheckElements();\n }\n },\n checkElems: throttledCheckElements,\n unveil: unveilElement,\n _aLSL: altLoadmodeScrollListner\n };\n }();\n var autoSizer = function () {\n var autosizesElems;\n var sizeElement = rAFIt(function (elem, parent, event, width) {\n var sources, i, len;\n elem._lazysizesWidth = width;\n width += 'px';\n elem.setAttribute('sizes', width);\n if (regPicture.test(parent.nodeName || '')) {\n sources = parent.getElementsByTagName('source');\n for (i = 0, len = sources.length; i < len; i++) {\n sources[i].setAttribute('sizes', width);\n }\n }\n if (!event.detail.dataAttr) {\n updatePolyfill(elem, event.detail);\n }\n });\n var getSizeElement = function (elem, dataAttr, width) {\n var event;\n var parent = elem.parentNode;\n if (parent) {\n width = getWidth(elem, parent, width);\n event = triggerEvent(elem, 'lazybeforesizes', {\n width: width,\n dataAttr: !!dataAttr\n });\n if (!event.defaultPrevented) {\n width = event.detail.width;\n if (width && width !== elem._lazysizesWidth) {\n sizeElement(elem, parent, event, width);\n }\n }\n }\n };\n var updateElementsSizes = function () {\n var i;\n var len = autosizesElems.length;\n if (len) {\n i = 0;\n for (; i < len; i++) {\n getSizeElement(autosizesElems[i]);\n }\n }\n };\n var debouncedUpdateElementsSizes = debounce(updateElementsSizes);\n return {\n _: function () {\n autosizesElems = document.getElementsByClassName(lazySizesCfg.autosizesClass);\n addEventListener('resize', debouncedUpdateElementsSizes);\n },\n checkElems: debouncedUpdateElementsSizes,\n updateElem: getSizeElement\n };\n }();\n var init = function () {\n if (!init.i && document.getElementsByClassName) {\n init.i = true;\n autoSizer._();\n loader._();\n }\n };\n setTimeout(function () {\n if (lazySizesCfg.init) {\n init();\n }\n });\n lazysizes = {\n cfg: lazySizesCfg,\n autoSizer: autoSizer,\n loader: loader,\n init: init,\n uP: updatePolyfill,\n aC: addClass,\n rC: removeClass,\n hC: hasClass,\n fire: triggerEvent,\n gW: getWidth,\n rAF: rAF\n };\n return lazysizes;\n});","/**\n * Exposing intl-tel-input as a component\n */\nmodule.exports = require(\"./build/js/intlTelInput\");","(function webpackUniversalModuleDefinition(root, factory) {\n if (typeof exports === 'object' && typeof module === 'object') module.exports = factory();else if (typeof define === 'function' && define.amd) define([], factory);else if (typeof exports === 'object') exports[\"feather\"] = factory();else root[\"feather\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function () {\n return /******/function (modules) {\n // webpackBootstrap\n /******/ // The module cache\n /******/\n var installedModules = {};\n /******/\n /******/ // The require function\n /******/\n function __webpack_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/if (installedModules[moduleId]) {\n /******/return installedModules[moduleId].exports;\n /******/\n }\n /******/ // Create a new module (and put it into the cache)\n /******/\n var module = installedModules[moduleId] = {\n /******/i: moduleId,\n /******/l: false,\n /******/exports: {}\n /******/\n };\n /******/\n /******/ // Execute the module function\n /******/\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/\n module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/\n return module.exports;\n /******/\n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/\n __webpack_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/\n __webpack_require__.c = installedModules;\n /******/\n /******/ // define getter function for harmony exports\n /******/\n __webpack_require__.d = function (exports, name, getter) {\n /******/if (!__webpack_require__.o(exports, name)) {\n /******/Object.defineProperty(exports, name, {\n /******/configurable: false,\n /******/enumerable: true,\n /******/get: getter\n /******/\n });\n /******/\n }\n /******/\n };\n /******/\n /******/ // define __esModule on exports\n /******/\n __webpack_require__.r = function (exports) {\n /******/Object.defineProperty(exports, '__esModule', {\n value: true\n });\n /******/\n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/\n __webpack_require__.n = function (module) {\n /******/var getter = module && module.__esModule ? /******/function getDefault() {\n return module['default'];\n } : /******/function getModuleExports() {\n return module;\n };\n /******/\n __webpack_require__.d(getter, 'a', getter);\n /******/\n return getter;\n /******/\n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/\n __webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n /******/ // __webpack_public_path__\n /******/\n __webpack_require__.p = \"\";\n /******/\n /******/\n /******/ // Load entry module and return exports\n /******/\n return __webpack_require__(__webpack_require__.s = 0);\n /******/\n }\n /************************************************************************/\n /******/({\n /***/\"./dist/icons.json\": (\n /*!*************************!*\\\n !*** ./dist/icons.json ***!\n \\*************************/\n /*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, align-center, align-justify, align-left, align-right, anchor, aperture, archive, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, award, bar-chart-2, bar-chart, battery-charging, battery, bell-off, bell, bluetooth, bold, book-open, book, bookmark, box, briefcase, calendar, camera-off, camera, cast, check-circle, check-square, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, chrome, circle, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-off, cloud-rain, cloud-snow, cloud, code, codepen, codesandbox, coffee, columns, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, cpu, credit-card, crop, crosshair, database, delete, disc, divide-circle, divide-square, divide, dollar-sign, download-cloud, download, dribbble, droplet, edit-2, edit-3, edit, external-link, eye-off, eye, facebook, fast-forward, feather, figma, file-minus, file-plus, file-text, file, film, filter, flag, folder-minus, folder-plus, folder, framer, frown, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, globe, grid, hard-drive, hash, headphones, heart, help-circle, hexagon, home, image, inbox, info, instagram, italic, key, layers, layout, life-buoy, link-2, link, linkedin, list, loader, lock, log-in, log-out, mail, map-pin, map, maximize-2, maximize, meh, menu, message-circle, message-square, mic-off, mic, minimize-2, minimize, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, mouse-pointer, move, music, navigation-2, navigation, octagon, package, paperclip, pause-circle, pause, pen-tool, percent, phone-call, phone-forwarded, phone-incoming, phone-missed, phone-off, phone-outgoing, phone, pie-chart, play-circle, play, plus-circle, plus-square, plus, pocket, power, printer, radio, refresh-ccw, refresh-cw, repeat, rewind, rotate-ccw, rotate-cw, rss, save, scissors, search, send, server, settings, share-2, share, shield-off, shield, shopping-bag, shopping-cart, shuffle, sidebar, skip-back, skip-forward, slack, slash, sliders, smartphone, smile, speaker, square, star, stop-circle, sun, sunrise, sunset, tablet, tag, target, terminal, thermometer, thumbs-down, thumbs-up, toggle-left, toggle-right, tool, trash-2, trash, trello, trending-down, trending-up, triangle, truck, tv, twitch, twitter, type, umbrella, underline, unlock, upload-cloud, upload, user-check, user-minus, user-plus, user-x, user, users, video-off, video, voicemail, volume-1, volume-2, volume-x, volume, watch, wifi-off, wifi, wind, x-circle, x-octagon, x-square, x, youtube, zap-off, zap, zoom-in, zoom-out, default */\n /***/\n function (module) {\n module.exports = {\n \"activity\": \"\",\n \"airplay\": \"\",\n \"alert-circle\": \"\",\n \"alert-octagon\": \"\",\n \"alert-triangle\": \"\",\n \"align-center\": \"\",\n \"align-justify\": \"\",\n \"align-left\": \"\",\n \"align-right\": \"\",\n \"anchor\": \"\",\n \"aperture\": \"\",\n \"archive\": \"\",\n \"arrow-down-circle\": \"\",\n \"arrow-down-left\": \"\",\n \"arrow-down-right\": \"\",\n \"arrow-down\": \"\",\n \"arrow-left-circle\": \"\",\n \"arrow-left\": \"\",\n \"arrow-right-circle\": \"\",\n \"arrow-right\": \"\",\n \"arrow-up-circle\": \"\",\n \"arrow-up-left\": \"\",\n \"arrow-up-right\": \"\",\n \"arrow-up\": \"\",\n \"at-sign\": \"\",\n \"award\": \"\",\n \"bar-chart-2\": \"\",\n \"bar-chart\": \"\",\n \"battery-charging\": \"\",\n \"battery\": \"\",\n \"bell-off\": \"\",\n \"bell\": \"\",\n \"bluetooth\": \"\",\n \"bold\": \"\",\n \"book-open\": \"\",\n \"book\": \"\",\n \"bookmark\": \"\",\n \"box\": \"\",\n \"briefcase\": \"\",\n \"calendar\": \"\",\n \"camera-off\": \"\",\n \"camera\": \"\",\n \"cast\": \"\",\n \"check-circle\": \"\",\n \"check-square\": \"\",\n \"check\": \"\",\n \"chevron-down\": \"\",\n \"chevron-left\": \"\",\n \"chevron-right\": \"\",\n \"chevron-up\": \"\",\n \"chevrons-down\": \"\",\n \"chevrons-left\": \"\",\n \"chevrons-right\": \"\",\n \"chevrons-up\": \"\",\n \"chrome\": \"\",\n \"circle\": \"\",\n \"clipboard\": \"\",\n \"clock\": \"\",\n \"cloud-drizzle\": \"\",\n \"cloud-lightning\": \"\",\n \"cloud-off\": \"\",\n \"cloud-rain\": \"\",\n \"cloud-snow\": \"\",\n \"cloud\": \"\",\n \"code\": \"\",\n \"codepen\": \"\",\n \"codesandbox\": \"\",\n \"coffee\": \"\",\n \"columns\": \"\",\n \"command\": \"\",\n \"compass\": \"\",\n \"copy\": \"\",\n \"corner-down-left\": \"\",\n \"corner-down-right\": \"\",\n \"corner-left-down\": \"\",\n \"corner-left-up\": \"\",\n \"corner-right-down\": \"\",\n \"corner-right-up\": \"\",\n \"corner-up-left\": \"\",\n \"corner-up-right\": \"\",\n \"cpu\": \"\",\n \"credit-card\": \"\",\n \"crop\": \"\",\n \"crosshair\": \"\",\n \"database\": \"\",\n \"delete\": \"\",\n \"disc\": \"\",\n \"divide-circle\": \"\",\n \"divide-square\": \"\",\n \"divide\": \"\",\n \"dollar-sign\": \"\",\n \"download-cloud\": \"\",\n \"download\": \"\",\n \"dribbble\": \"\",\n \"droplet\": \"\",\n \"edit-2\": \"\",\n \"edit-3\": \"\",\n \"edit\": \"\",\n \"external-link\": \"\",\n \"eye-off\": \"\",\n \"eye\": \"\",\n \"facebook\": \"\",\n \"fast-forward\": \"\",\n \"feather\": \"\",\n \"figma\": \"\",\n \"file-minus\": \"\",\n \"file-plus\": \"\",\n \"file-text\": \"\",\n \"file\": \"\",\n \"film\": \"\",\n \"filter\": \"\",\n \"flag\": \"\",\n \"folder-minus\": \"\",\n \"folder-plus\": \"\",\n \"folder\": \"\",\n \"framer\": \"\",\n \"frown\": \"\",\n \"gift\": \"\",\n \"git-branch\": \"\",\n \"git-commit\": \"\",\n \"git-merge\": \"\",\n \"git-pull-request\": \"\",\n \"github\": \"\",\n \"gitlab\": \"\",\n \"globe\": \"\",\n \"grid\": \"\",\n \"hard-drive\": \"\",\n \"hash\": \"\",\n \"headphones\": \"\",\n \"heart\": \"\",\n \"help-circle\": \"\",\n \"hexagon\": \"\",\n \"home\": \"\",\n \"image\": \"\",\n \"inbox\": \"\",\n \"info\": \"\",\n \"instagram\": \"\",\n \"italic\": \"\",\n \"key\": \"\",\n \"layers\": \"\",\n \"layout\": \"\",\n \"life-buoy\": \"\",\n \"link-2\": \"\",\n \"link\": \"\",\n \"linkedin\": \"\",\n \"list\": \"\",\n \"loader\": \"\",\n \"lock\": \"\",\n \"log-in\": \"\",\n \"log-out\": \"\",\n \"mail\": \"\",\n \"map-pin\": \"\",\n \"map\": \"\",\n \"maximize-2\": \"\",\n \"maximize\": \"\",\n \"meh\": \"\",\n \"menu\": \"\",\n \"message-circle\": \"\",\n \"message-square\": \"\",\n \"mic-off\": \"\",\n \"mic\": \"\",\n \"minimize-2\": \"\",\n \"minimize\": \"\",\n \"minus-circle\": \"\",\n \"minus-square\": \"\",\n \"minus\": \"\",\n \"monitor\": \"\",\n \"moon\": \"\",\n \"more-horizontal\": \"\",\n \"more-vertical\": \"\",\n \"mouse-pointer\": \"\",\n \"move\": \"\",\n \"music\": \"\",\n \"navigation-2\": \"\",\n \"navigation\": \"\",\n \"octagon\": \"\",\n \"package\": \"\",\n \"paperclip\": \"\",\n \"pause-circle\": \"\",\n \"pause\": \"\",\n \"pen-tool\": \"\",\n \"percent\": \"\",\n \"phone-call\": \"\",\n \"phone-forwarded\": \"\",\n \"phone-incoming\": \"\",\n \"phone-missed\": \"\",\n \"phone-off\": \"\",\n \"phone-outgoing\": \"\",\n \"phone\": \"\",\n \"pie-chart\": \"\",\n \"play-circle\": \"\",\n \"play\": \"\",\n \"plus-circle\": \"\",\n \"plus-square\": \"\",\n \"plus\": \"\",\n \"pocket\": \"\",\n \"power\": \"\",\n \"printer\": \"\",\n \"radio\": \"\",\n \"refresh-ccw\": \"\",\n \"refresh-cw\": \"\",\n \"repeat\": \"\",\n \"rewind\": \"\",\n \"rotate-ccw\": \"\",\n \"rotate-cw\": \"\",\n \"rss\": \"\",\n \"save\": \"\",\n \"scissors\": \"\",\n \"search\": \"\",\n \"send\": \"\",\n \"server\": \"\",\n \"settings\": \"\",\n \"share-2\": \"\",\n \"share\": \"\",\n \"shield-off\": \"\",\n \"shield\": \"\",\n \"shopping-bag\": \"\",\n \"shopping-cart\": \"\",\n \"shuffle\": \"\",\n \"sidebar\": \"\",\n \"skip-back\": \"\",\n \"skip-forward\": \"\",\n \"slack\": \"\",\n \"slash\": \"\",\n \"sliders\": \"\",\n \"smartphone\": \"\",\n \"smile\": \"\",\n \"speaker\": \"\",\n \"square\": \"\",\n \"star\": \"\",\n \"stop-circle\": \"\",\n \"sun\": \"\",\n \"sunrise\": \"\",\n \"sunset\": \"\",\n \"tablet\": \"\",\n \"tag\": \"\",\n \"target\": \"\",\n \"terminal\": \"\",\n \"thermometer\": \"\",\n \"thumbs-down\": \"\",\n \"thumbs-up\": \"\",\n \"toggle-left\": \"\",\n \"toggle-right\": \"\",\n \"tool\": \"\",\n \"trash-2\": \"\",\n \"trash\": \"\",\n \"trello\": \"\",\n \"trending-down\": \"\",\n \"trending-up\": \"\",\n \"triangle\": \"\",\n \"truck\": \"\",\n \"tv\": \"\",\n \"twitch\": \"\",\n \"twitter\": \"\",\n \"type\": \"\",\n \"umbrella\": \"\",\n \"underline\": \"\",\n \"unlock\": \"\",\n \"upload-cloud\": \"\",\n \"upload\": \"\",\n \"user-check\": \"\",\n \"user-minus\": \"\",\n \"user-plus\": \"\",\n \"user-x\": \"\",\n \"user\": \"\",\n \"users\": \"\",\n \"video-off\": \"\",\n \"video\": \"\",\n \"voicemail\": \"\",\n \"volume-1\": \"\",\n \"volume-2\": \"\",\n \"volume-x\": \"\",\n \"volume\": \"\",\n \"watch\": \"\",\n \"wifi-off\": \"\",\n \"wifi\": \"\",\n \"wind\": \"\",\n \"x-circle\": \"\",\n \"x-octagon\": \"\",\n \"x-square\": \"\",\n \"x\": \"\",\n \"youtube\": \"\",\n \"zap-off\": \"\",\n \"zap\": \"\",\n \"zoom-in\": \"\",\n \"zoom-out\": \"\"\n };\n\n /***/\n }),\n /***/\"./node_modules/classnames/dedupe.js\": (\n /*!*******************************************!*\\\n !*** ./node_modules/classnames/dedupe.js ***!\n \\*******************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /*!\n Copyright (c) 2016 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n */\n /* global define */\n\n (function () {\n 'use strict';\n\n var classNames = function () {\n // don't inherit from Object so we can skip hasOwnProperty check later\n // http://stackoverflow.com/questions/15518328/creating-js-object-with-object-createnull#answer-21079232\n function StorageObject() {}\n StorageObject.prototype = Object.create(null);\n function _parseArray(resultSet, array) {\n var length = array.length;\n for (var i = 0; i < length; ++i) {\n _parse(resultSet, array[i]);\n }\n }\n var hasOwn = {}.hasOwnProperty;\n function _parseNumber(resultSet, num) {\n resultSet[num] = true;\n }\n function _parseObject(resultSet, object) {\n for (var k in object) {\n if (hasOwn.call(object, k)) {\n // set value to false instead of deleting it to avoid changing object structure\n // https://www.smashingmagazine.com/2012/11/writing-fast-memory-efficient-javascript/#de-referencing-misconceptions\n resultSet[k] = !!object[k];\n }\n }\n }\n var SPACE = /\\s+/;\n function _parseString(resultSet, str) {\n var array = str.split(SPACE);\n var length = array.length;\n for (var i = 0; i < length; ++i) {\n resultSet[array[i]] = true;\n }\n }\n function _parse(resultSet, arg) {\n if (!arg) return;\n var argType = typeof arg;\n\n // 'foo bar'\n if (argType === 'string') {\n _parseString(resultSet, arg);\n\n // ['foo', 'bar', ...]\n } else if (Array.isArray(arg)) {\n _parseArray(resultSet, arg);\n\n // { 'foo': true, ... }\n } else if (argType === 'object') {\n _parseObject(resultSet, arg);\n\n // '130'\n } else if (argType === 'number') {\n _parseNumber(resultSet, arg);\n }\n }\n function _classNames() {\n // don't leak arguments\n // https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments\n var len = arguments.length;\n var args = Array(len);\n for (var i = 0; i < len; i++) {\n args[i] = arguments[i];\n }\n var classSet = new StorageObject();\n _parseArray(classSet, args);\n var list = [];\n for (var k in classSet) {\n if (classSet[k]) {\n list.push(k);\n }\n }\n return list.join(' ');\n }\n return _classNames;\n }();\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = classNames;\n } else if (true) {\n // register as 'classnames', consistent with npm package name\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {\n return classNames;\n }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n })();\n\n /***/\n }),\n /***/\"./node_modules/core-js/es/array/from.js\": (\n /*!***********************************************!*\\\n !*** ./node_modules/core-js/es/array/from.js ***!\n \\***********************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n __webpack_require__( /*! ../../modules/es.string.iterator */\"./node_modules/core-js/modules/es.string.iterator.js\");\n __webpack_require__( /*! ../../modules/es.array.from */\"./node_modules/core-js/modules/es.array.from.js\");\n var path = __webpack_require__( /*! ../../internals/path */\"./node_modules/core-js/internals/path.js\");\n module.exports = path.Array.from;\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/a-function.js\": (\n /*!******************************************************!*\\\n !*** ./node_modules/core-js/internals/a-function.js ***!\n \\******************************************************/\n /*! no static exports found */\n /***/\n function (module, exports) {\n module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n }\n return it;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/an-object.js\": (\n /*!*****************************************************!*\\\n !*** ./node_modules/core-js/internals/an-object.js ***!\n \\*****************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var isObject = __webpack_require__( /*! ../internals/is-object */\"./node_modules/core-js/internals/is-object.js\");\n module.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n }\n return it;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/array-from.js\": (\n /*!******************************************************!*\\\n !*** ./node_modules/core-js/internals/array-from.js ***!\n \\******************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var bind = __webpack_require__( /*! ../internals/bind-context */\"./node_modules/core-js/internals/bind-context.js\");\n var toObject = __webpack_require__( /*! ../internals/to-object */\"./node_modules/core-js/internals/to-object.js\");\n var callWithSafeIterationClosing = __webpack_require__( /*! ../internals/call-with-safe-iteration-closing */\"./node_modules/core-js/internals/call-with-safe-iteration-closing.js\");\n var isArrayIteratorMethod = __webpack_require__( /*! ../internals/is-array-iterator-method */\"./node_modules/core-js/internals/is-array-iterator-method.js\");\n var toLength = __webpack_require__( /*! ../internals/to-length */\"./node_modules/core-js/internals/to-length.js\");\n var createProperty = __webpack_require__( /*! ../internals/create-property */\"./node_modules/core-js/internals/create-property.js\");\n var getIteratorMethod = __webpack_require__( /*! ../internals/get-iterator-method */\"./node_modules/core-js/internals/get-iterator-method.js\");\n\n // `Array.from` method\n // https://tc39.github.io/ecma262/#sec-array.from\n module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iteratorMethod = getIteratorMethod(O);\n var length, result, step, iterator;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n result = new C();\n for (; !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (; length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/array-includes.js\": (\n /*!**********************************************************!*\\\n !*** ./node_modules/core-js/internals/array-includes.js ***!\n \\**********************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var toIndexedObject = __webpack_require__( /*! ../internals/to-indexed-object */\"./node_modules/core-js/internals/to-indexed-object.js\");\n var toLength = __webpack_require__( /*! ../internals/to-length */\"./node_modules/core-js/internals/to-length.js\");\n var toAbsoluteIndex = __webpack_require__( /*! ../internals/to-absolute-index */\"./node_modules/core-js/internals/to-absolute-index.js\");\n\n // `Array.prototype.{ indexOf, includes }` methods implementation\n // false -> Array#indexOf\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n // true -> Array#includes\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n module.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (; length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n }\n return !IS_INCLUDES && -1;\n };\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/bind-context.js\": (\n /*!********************************************************!*\\\n !*** ./node_modules/core-js/internals/bind-context.js ***!\n \\********************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var aFunction = __webpack_require__( /*! ../internals/a-function */\"./node_modules/core-js/internals/a-function.js\");\n\n // optional / simple context binding\n module.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0:\n return function () {\n return fn.call(that);\n };\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function /* ...args */\n () {\n return fn.apply(that, arguments);\n };\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/call-with-safe-iteration-closing.js\": (\n /*!****************************************************************************!*\\\n !*** ./node_modules/core-js/internals/call-with-safe-iteration-closing.js ***!\n \\****************************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var anObject = __webpack_require__( /*! ../internals/an-object */\"./node_modules/core-js/internals/an-object.js\");\n\n // call something on iterator step with safe closing on error\n module.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/check-correctness-of-iteration.js\": (\n /*!**************************************************************************!*\\\n !*** ./node_modules/core-js/internals/check-correctness-of-iteration.js ***!\n \\**************************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var wellKnownSymbol = __webpack_require__( /*! ../internals/well-known-symbol */\"./node_modules/core-js/internals/well-known-symbol.js\");\n var ITERATOR = wellKnownSymbol('iterator');\n var SAFE_CLOSING = false;\n try {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return {\n done: !!called++\n };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () {\n throw 2;\n });\n } catch (error) {/* empty */}\n module.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return {\n done: ITERATION_SUPPORT = true\n };\n }\n };\n };\n exec(object);\n } catch (error) {/* empty */}\n return ITERATION_SUPPORT;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/classof-raw.js\": (\n /*!*******************************************************!*\\\n !*** ./node_modules/core-js/internals/classof-raw.js ***!\n \\*******************************************************/\n /*! no static exports found */\n /***/\n function (module, exports) {\n var toString = {}.toString;\n module.exports = function (it) {\n return toString.call(it).slice(8, -1);\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/classof.js\": (\n /*!***************************************************!*\\\n !*** ./node_modules/core-js/internals/classof.js ***!\n \\***************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var classofRaw = __webpack_require__( /*! ../internals/classof-raw */\"./node_modules/core-js/internals/classof-raw.js\");\n var wellKnownSymbol = __webpack_require__( /*! ../internals/well-known-symbol */\"./node_modules/core-js/internals/well-known-symbol.js\");\n var TO_STRING_TAG = wellKnownSymbol('toStringTag');\n // ES3 wrong here\n var CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n }()) == 'Arguments';\n\n // fallback for IE11 Script Access Denied error\n var tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) {/* empty */}\n };\n\n // getting tag from ES6+ `Object.prototype.toString`\n module.exports = function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/copy-constructor-properties.js\": (\n /*!***********************************************************************!*\\\n !*** ./node_modules/core-js/internals/copy-constructor-properties.js ***!\n \\***********************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var has = __webpack_require__( /*! ../internals/has */\"./node_modules/core-js/internals/has.js\");\n var ownKeys = __webpack_require__( /*! ../internals/own-keys */\"./node_modules/core-js/internals/own-keys.js\");\n var getOwnPropertyDescriptorModule = __webpack_require__( /*! ../internals/object-get-own-property-descriptor */\"./node_modules/core-js/internals/object-get-own-property-descriptor.js\");\n var definePropertyModule = __webpack_require__( /*! ../internals/object-define-property */\"./node_modules/core-js/internals/object-define-property.js\");\n module.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/correct-prototype-getter.js\": (\n /*!********************************************************************!*\\\n !*** ./node_modules/core-js/internals/correct-prototype-getter.js ***!\n \\********************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var fails = __webpack_require__( /*! ../internals/fails */\"./node_modules/core-js/internals/fails.js\");\n module.exports = !fails(function () {\n function F() {/* empty */}\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n });\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/create-iterator-constructor.js\": (\n /*!***********************************************************************!*\\\n !*** ./node_modules/core-js/internals/create-iterator-constructor.js ***!\n \\***********************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var IteratorPrototype = __webpack_require__( /*! ../internals/iterators-core */\"./node_modules/core-js/internals/iterators-core.js\").IteratorPrototype;\n var create = __webpack_require__( /*! ../internals/object-create */\"./node_modules/core-js/internals/object-create.js\");\n var createPropertyDescriptor = __webpack_require__( /*! ../internals/create-property-descriptor */\"./node_modules/core-js/internals/create-property-descriptor.js\");\n var setToStringTag = __webpack_require__( /*! ../internals/set-to-string-tag */\"./node_modules/core-js/internals/set-to-string-tag.js\");\n var Iterators = __webpack_require__( /*! ../internals/iterators */\"./node_modules/core-js/internals/iterators.js\");\n var returnThis = function () {\n return this;\n };\n module.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, {\n next: createPropertyDescriptor(1, next)\n });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/create-property-descriptor.js\": (\n /*!**********************************************************************!*\\\n !*** ./node_modules/core-js/internals/create-property-descriptor.js ***!\n \\**********************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports) {\n module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/create-property.js\": (\n /*!***********************************************************!*\\\n !*** ./node_modules/core-js/internals/create-property.js ***!\n \\***********************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var toPrimitive = __webpack_require__( /*! ../internals/to-primitive */\"./node_modules/core-js/internals/to-primitive.js\");\n var definePropertyModule = __webpack_require__( /*! ../internals/object-define-property */\"./node_modules/core-js/internals/object-define-property.js\");\n var createPropertyDescriptor = __webpack_require__( /*! ../internals/create-property-descriptor */\"./node_modules/core-js/internals/create-property-descriptor.js\");\n module.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));else object[propertyKey] = value;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/define-iterator.js\": (\n /*!***********************************************************!*\\\n !*** ./node_modules/core-js/internals/define-iterator.js ***!\n \\***********************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var $ = __webpack_require__( /*! ../internals/export */\"./node_modules/core-js/internals/export.js\");\n var createIteratorConstructor = __webpack_require__( /*! ../internals/create-iterator-constructor */\"./node_modules/core-js/internals/create-iterator-constructor.js\");\n var getPrototypeOf = __webpack_require__( /*! ../internals/object-get-prototype-of */\"./node_modules/core-js/internals/object-get-prototype-of.js\");\n var setPrototypeOf = __webpack_require__( /*! ../internals/object-set-prototype-of */\"./node_modules/core-js/internals/object-set-prototype-of.js\");\n var setToStringTag = __webpack_require__( /*! ../internals/set-to-string-tag */\"./node_modules/core-js/internals/set-to-string-tag.js\");\n var hide = __webpack_require__( /*! ../internals/hide */\"./node_modules/core-js/internals/hide.js\");\n var redefine = __webpack_require__( /*! ../internals/redefine */\"./node_modules/core-js/internals/redefine.js\");\n var wellKnownSymbol = __webpack_require__( /*! ../internals/well-known-symbol */\"./node_modules/core-js/internals/well-known-symbol.js\");\n var IS_PURE = __webpack_require__( /*! ../internals/is-pure */\"./node_modules/core-js/internals/is-pure.js\");\n var Iterators = __webpack_require__( /*! ../internals/iterators */\"./node_modules/core-js/internals/iterators.js\");\n var IteratorsCore = __webpack_require__( /*! ../internals/iterators-core */\"./node_modules/core-js/internals/iterators-core.js\");\n var IteratorPrototype = IteratorsCore.IteratorPrototype;\n var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\n var ITERATOR = wellKnownSymbol('iterator');\n var KEYS = 'keys';\n var VALUES = 'values';\n var ENTRIES = 'entries';\n var returnThis = function () {\n return this;\n };\n module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS:\n return function keys() {\n return new IteratorConstructor(this, KIND);\n };\n case VALUES:\n return function values() {\n return new IteratorConstructor(this, KIND);\n };\n case ENTRIES:\n return function entries() {\n return new IteratorConstructor(this, KIND);\n };\n }\n return function () {\n return new IteratorConstructor(this);\n };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n hide(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() {\n return nativeIterator.call(this);\n };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n hide(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({\n target: NAME,\n proto: true,\n forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n }, methods);\n }\n return methods;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/descriptors.js\": (\n /*!*******************************************************!*\\\n !*** ./node_modules/core-js/internals/descriptors.js ***!\n \\*******************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var fails = __webpack_require__( /*! ../internals/fails */\"./node_modules/core-js/internals/fails.js\");\n\n // Thank's IE8 for his funny defineProperty\n module.exports = !fails(function () {\n return Object.defineProperty({}, 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n });\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/document-create-element.js\": (\n /*!*******************************************************************!*\\\n !*** ./node_modules/core-js/internals/document-create-element.js ***!\n \\*******************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var global = __webpack_require__( /*! ../internals/global */\"./node_modules/core-js/internals/global.js\");\n var isObject = __webpack_require__( /*! ../internals/is-object */\"./node_modules/core-js/internals/is-object.js\");\n var document = global.document;\n // typeof document.createElement is 'object' in old IE\n var exist = isObject(document) && isObject(document.createElement);\n module.exports = function (it) {\n return exist ? document.createElement(it) : {};\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/enum-bug-keys.js\": (\n /*!*********************************************************!*\\\n !*** ./node_modules/core-js/internals/enum-bug-keys.js ***!\n \\*********************************************************/\n /*! no static exports found */\n /***/\n function (module, exports) {\n // IE8- don't enum bug keys\n module.exports = ['constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf'];\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/export.js\": (\n /*!**************************************************!*\\\n !*** ./node_modules/core-js/internals/export.js ***!\n \\**************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var global = __webpack_require__( /*! ../internals/global */\"./node_modules/core-js/internals/global.js\");\n var getOwnPropertyDescriptor = __webpack_require__( /*! ../internals/object-get-own-property-descriptor */\"./node_modules/core-js/internals/object-get-own-property-descriptor.js\").f;\n var hide = __webpack_require__( /*! ../internals/hide */\"./node_modules/core-js/internals/hide.js\");\n var redefine = __webpack_require__( /*! ../internals/redefine */\"./node_modules/core-js/internals/redefine.js\");\n var setGlobal = __webpack_require__( /*! ../internals/set-global */\"./node_modules/core-js/internals/set-global.js\");\n var copyConstructorProperties = __webpack_require__( /*! ../internals/copy-constructor-properties */\"./node_modules/core-js/internals/copy-constructor-properties.js\");\n var isForced = __webpack_require__( /*! ../internals/is-forced */\"./node_modules/core-js/internals/is-forced.js\");\n\n /*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n */\n module.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || targetProperty && targetProperty.sham) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/fails.js\": (\n /*!*************************************************!*\\\n !*** ./node_modules/core-js/internals/fails.js ***!\n \\*************************************************/\n /*! no static exports found */\n /***/\n function (module, exports) {\n module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/function-to-string.js\": (\n /*!**************************************************************!*\\\n !*** ./node_modules/core-js/internals/function-to-string.js ***!\n \\**************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var shared = __webpack_require__( /*! ../internals/shared */\"./node_modules/core-js/internals/shared.js\");\n module.exports = shared('native-function-to-string', Function.toString);\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/get-iterator-method.js\": (\n /*!***************************************************************!*\\\n !*** ./node_modules/core-js/internals/get-iterator-method.js ***!\n \\***************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var classof = __webpack_require__( /*! ../internals/classof */\"./node_modules/core-js/internals/classof.js\");\n var Iterators = __webpack_require__( /*! ../internals/iterators */\"./node_modules/core-js/internals/iterators.js\");\n var wellKnownSymbol = __webpack_require__( /*! ../internals/well-known-symbol */\"./node_modules/core-js/internals/well-known-symbol.js\");\n var ITERATOR = wellKnownSymbol('iterator');\n module.exports = function (it) {\n if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/global.js\": (\n /*!**************************************************!*\\\n !*** ./node_modules/core-js/internals/global.js ***!\n \\**************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n /* WEBPACK VAR INJECTION */(function (global) {\n var O = 'object';\n var check = function (it) {\n return it && it.Math == Math && it;\n };\n\n // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n module.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) || check(typeof window == O && window) || check(typeof self == O && self) || check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n\n /* WEBPACK VAR INJECTION */\n }).call(this, __webpack_require__( /*! ./../../webpack/buildin/global.js */\"./node_modules/webpack/buildin/global.js\"));\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/has.js\": (\n /*!***********************************************!*\\\n !*** ./node_modules/core-js/internals/has.js ***!\n \\***********************************************/\n /*! no static exports found */\n /***/\n function (module, exports) {\n var hasOwnProperty = {}.hasOwnProperty;\n module.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/hidden-keys.js\": (\n /*!*******************************************************!*\\\n !*** ./node_modules/core-js/internals/hidden-keys.js ***!\n \\*******************************************************/\n /*! no static exports found */\n /***/\n function (module, exports) {\n module.exports = {};\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/hide.js\": (\n /*!************************************************!*\\\n !*** ./node_modules/core-js/internals/hide.js ***!\n \\************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var DESCRIPTORS = __webpack_require__( /*! ../internals/descriptors */\"./node_modules/core-js/internals/descriptors.js\");\n var definePropertyModule = __webpack_require__( /*! ../internals/object-define-property */\"./node_modules/core-js/internals/object-define-property.js\");\n var createPropertyDescriptor = __webpack_require__( /*! ../internals/create-property-descriptor */\"./node_modules/core-js/internals/create-property-descriptor.js\");\n module.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n } : function (object, key, value) {\n object[key] = value;\n return object;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/html.js\": (\n /*!************************************************!*\\\n !*** ./node_modules/core-js/internals/html.js ***!\n \\************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var global = __webpack_require__( /*! ../internals/global */\"./node_modules/core-js/internals/global.js\");\n var document = global.document;\n module.exports = document && document.documentElement;\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/ie8-dom-define.js\": (\n /*!**********************************************************!*\\\n !*** ./node_modules/core-js/internals/ie8-dom-define.js ***!\n \\**********************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var DESCRIPTORS = __webpack_require__( /*! ../internals/descriptors */\"./node_modules/core-js/internals/descriptors.js\");\n var fails = __webpack_require__( /*! ../internals/fails */\"./node_modules/core-js/internals/fails.js\");\n var createElement = __webpack_require__( /*! ../internals/document-create-element */\"./node_modules/core-js/internals/document-create-element.js\");\n\n // Thank's IE8 for his funny defineProperty\n module.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n });\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/indexed-object.js\": (\n /*!**********************************************************!*\\\n !*** ./node_modules/core-js/internals/indexed-object.js ***!\n \\**********************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n // fallback for non-array-like ES3 and non-enumerable old V8 strings\n var fails = __webpack_require__( /*! ../internals/fails */\"./node_modules/core-js/internals/fails.js\");\n var classof = __webpack_require__( /*! ../internals/classof-raw */\"./node_modules/core-js/internals/classof-raw.js\");\n var split = ''.split;\n module.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n }) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n } : Object;\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/internal-state.js\": (\n /*!**********************************************************!*\\\n !*** ./node_modules/core-js/internals/internal-state.js ***!\n \\**********************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var NATIVE_WEAK_MAP = __webpack_require__( /*! ../internals/native-weak-map */\"./node_modules/core-js/internals/native-weak-map.js\");\n var global = __webpack_require__( /*! ../internals/global */\"./node_modules/core-js/internals/global.js\");\n var isObject = __webpack_require__( /*! ../internals/is-object */\"./node_modules/core-js/internals/is-object.js\");\n var hide = __webpack_require__( /*! ../internals/hide */\"./node_modules/core-js/internals/hide.js\");\n var objectHas = __webpack_require__( /*! ../internals/has */\"./node_modules/core-js/internals/has.js\");\n var sharedKey = __webpack_require__( /*! ../internals/shared-key */\"./node_modules/core-js/internals/shared-key.js\");\n var hiddenKeys = __webpack_require__( /*! ../internals/hidden-keys */\"./node_modules/core-js/internals/hidden-keys.js\");\n var WeakMap = global.WeakMap;\n var set, get, has;\n var enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n };\n var getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n return state;\n };\n };\n if (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n } else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n }\n module.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/is-array-iterator-method.js\": (\n /*!********************************************************************!*\\\n !*** ./node_modules/core-js/internals/is-array-iterator-method.js ***!\n \\********************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var wellKnownSymbol = __webpack_require__( /*! ../internals/well-known-symbol */\"./node_modules/core-js/internals/well-known-symbol.js\");\n var Iterators = __webpack_require__( /*! ../internals/iterators */\"./node_modules/core-js/internals/iterators.js\");\n var ITERATOR = wellKnownSymbol('iterator');\n var ArrayPrototype = Array.prototype;\n\n // check on default Array iterator\n module.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/is-forced.js\": (\n /*!*****************************************************!*\\\n !*** ./node_modules/core-js/internals/is-forced.js ***!\n \\*****************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var fails = __webpack_require__( /*! ../internals/fails */\"./node_modules/core-js/internals/fails.js\");\n var replacement = /#|\\.prototype\\./;\n var isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n };\n var normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n };\n var data = isForced.data = {};\n var NATIVE = isForced.NATIVE = 'N';\n var POLYFILL = isForced.POLYFILL = 'P';\n module.exports = isForced;\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/is-object.js\": (\n /*!*****************************************************!*\\\n !*** ./node_modules/core-js/internals/is-object.js ***!\n \\*****************************************************/\n /*! no static exports found */\n /***/\n function (module, exports) {\n module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/is-pure.js\": (\n /*!***************************************************!*\\\n !*** ./node_modules/core-js/internals/is-pure.js ***!\n \\***************************************************/\n /*! no static exports found */\n /***/\n function (module, exports) {\n module.exports = false;\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/iterators-core.js\": (\n /*!**********************************************************!*\\\n !*** ./node_modules/core-js/internals/iterators-core.js ***!\n \\**********************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var getPrototypeOf = __webpack_require__( /*! ../internals/object-get-prototype-of */\"./node_modules/core-js/internals/object-get-prototype-of.js\");\n var hide = __webpack_require__( /*! ../internals/hide */\"./node_modules/core-js/internals/hide.js\");\n var has = __webpack_require__( /*! ../internals/has */\"./node_modules/core-js/internals/has.js\");\n var wellKnownSymbol = __webpack_require__( /*! ../internals/well-known-symbol */\"./node_modules/core-js/internals/well-known-symbol.js\");\n var IS_PURE = __webpack_require__( /*! ../internals/is-pure */\"./node_modules/core-js/internals/is-pure.js\");\n var ITERATOR = wellKnownSymbol('iterator');\n var BUGGY_SAFARI_ITERATORS = false;\n var returnThis = function () {\n return this;\n };\n\n // `%IteratorPrototype%` object\n // https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\n var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n if ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n }\n if (IteratorPrototype == undefined) IteratorPrototype = {};\n\n // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);\n module.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/iterators.js\": (\n /*!*****************************************************!*\\\n !*** ./node_modules/core-js/internals/iterators.js ***!\n \\*****************************************************/\n /*! no static exports found */\n /***/\n function (module, exports) {\n module.exports = {};\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/native-symbol.js\": (\n /*!*********************************************************!*\\\n !*** ./node_modules/core-js/internals/native-symbol.js ***!\n \\*********************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var fails = __webpack_require__( /*! ../internals/fails */\"./node_modules/core-js/internals/fails.js\");\n module.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n });\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/native-weak-map.js\": (\n /*!***********************************************************!*\\\n !*** ./node_modules/core-js/internals/native-weak-map.js ***!\n \\***********************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var global = __webpack_require__( /*! ../internals/global */\"./node_modules/core-js/internals/global.js\");\n var nativeFunctionToString = __webpack_require__( /*! ../internals/function-to-string */\"./node_modules/core-js/internals/function-to-string.js\");\n var WeakMap = global.WeakMap;\n module.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/object-create.js\": (\n /*!*********************************************************!*\\\n !*** ./node_modules/core-js/internals/object-create.js ***!\n \\*********************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var anObject = __webpack_require__( /*! ../internals/an-object */\"./node_modules/core-js/internals/an-object.js\");\n var defineProperties = __webpack_require__( /*! ../internals/object-define-properties */\"./node_modules/core-js/internals/object-define-properties.js\");\n var enumBugKeys = __webpack_require__( /*! ../internals/enum-bug-keys */\"./node_modules/core-js/internals/enum-bug-keys.js\");\n var hiddenKeys = __webpack_require__( /*! ../internals/hidden-keys */\"./node_modules/core-js/internals/hidden-keys.js\");\n var html = __webpack_require__( /*! ../internals/html */\"./node_modules/core-js/internals/html.js\");\n var documentCreateElement = __webpack_require__( /*! ../internals/document-create-element */\"./node_modules/core-js/internals/document-create-element.js\");\n var sharedKey = __webpack_require__( /*! ../internals/shared-key */\"./node_modules/core-js/internals/shared-key.js\");\n var IE_PROTO = sharedKey('IE_PROTO');\n var PROTOTYPE = 'prototype';\n var Empty = function () {/* empty */};\n\n // Create object with fake `null` prototype: use iframe Object with cleared prototype\n var createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var length = enumBugKeys.length;\n var lt = '<';\n var script = 'script';\n var gt = '>';\n var js = 'java' + script + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(js);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]];\n return createDict();\n };\n\n // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n module.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : defineProperties(result, Properties);\n };\n hiddenKeys[IE_PROTO] = true;\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/object-define-properties.js\": (\n /*!********************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-define-properties.js ***!\n \\********************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var DESCRIPTORS = __webpack_require__( /*! ../internals/descriptors */\"./node_modules/core-js/internals/descriptors.js\");\n var definePropertyModule = __webpack_require__( /*! ../internals/object-define-property */\"./node_modules/core-js/internals/object-define-property.js\");\n var anObject = __webpack_require__( /*! ../internals/an-object */\"./node_modules/core-js/internals/an-object.js\");\n var objectKeys = __webpack_require__( /*! ../internals/object-keys */\"./node_modules/core-js/internals/object-keys.js\");\n module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var i = 0;\n var key;\n while (length > i) definePropertyModule.f(O, key = keys[i++], Properties[key]);\n return O;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/object-define-property.js\": (\n /*!******************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-define-property.js ***!\n \\******************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var DESCRIPTORS = __webpack_require__( /*! ../internals/descriptors */\"./node_modules/core-js/internals/descriptors.js\");\n var IE8_DOM_DEFINE = __webpack_require__( /*! ../internals/ie8-dom-define */\"./node_modules/core-js/internals/ie8-dom-define.js\");\n var anObject = __webpack_require__( /*! ../internals/an-object */\"./node_modules/core-js/internals/an-object.js\");\n var toPrimitive = __webpack_require__( /*! ../internals/to-primitive */\"./node_modules/core-js/internals/to-primitive.js\");\n var nativeDefineProperty = Object.defineProperty;\n exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) {/* empty */}\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/object-get-own-property-descriptor.js\": (\n /*!******************************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***!\n \\******************************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var DESCRIPTORS = __webpack_require__( /*! ../internals/descriptors */\"./node_modules/core-js/internals/descriptors.js\");\n var propertyIsEnumerableModule = __webpack_require__( /*! ../internals/object-property-is-enumerable */\"./node_modules/core-js/internals/object-property-is-enumerable.js\");\n var createPropertyDescriptor = __webpack_require__( /*! ../internals/create-property-descriptor */\"./node_modules/core-js/internals/create-property-descriptor.js\");\n var toIndexedObject = __webpack_require__( /*! ../internals/to-indexed-object */\"./node_modules/core-js/internals/to-indexed-object.js\");\n var toPrimitive = __webpack_require__( /*! ../internals/to-primitive */\"./node_modules/core-js/internals/to-primitive.js\");\n var has = __webpack_require__( /*! ../internals/has */\"./node_modules/core-js/internals/has.js\");\n var IE8_DOM_DEFINE = __webpack_require__( /*! ../internals/ie8-dom-define */\"./node_modules/core-js/internals/ie8-dom-define.js\");\n var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) {/* empty */}\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/object-get-own-property-names.js\": (\n /*!*************************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-get-own-property-names.js ***!\n \\*************************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\n var internalObjectKeys = __webpack_require__( /*! ../internals/object-keys-internal */\"./node_modules/core-js/internals/object-keys-internal.js\");\n var enumBugKeys = __webpack_require__( /*! ../internals/enum-bug-keys */\"./node_modules/core-js/internals/enum-bug-keys.js\");\n var hiddenKeys = enumBugKeys.concat('length', 'prototype');\n exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/object-get-own-property-symbols.js\": (\n /*!***************************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***!\n \\***************************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports) {\n exports.f = Object.getOwnPropertySymbols;\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/object-get-prototype-of.js\": (\n /*!*******************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-get-prototype-of.js ***!\n \\*******************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var has = __webpack_require__( /*! ../internals/has */\"./node_modules/core-js/internals/has.js\");\n var toObject = __webpack_require__( /*! ../internals/to-object */\"./node_modules/core-js/internals/to-object.js\");\n var sharedKey = __webpack_require__( /*! ../internals/shared-key */\"./node_modules/core-js/internals/shared-key.js\");\n var CORRECT_PROTOTYPE_GETTER = __webpack_require__( /*! ../internals/correct-prototype-getter */\"./node_modules/core-js/internals/correct-prototype-getter.js\");\n var IE_PROTO = sharedKey('IE_PROTO');\n var ObjectPrototype = Object.prototype;\n\n // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\n module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectPrototype : null;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/object-keys-internal.js\": (\n /*!****************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-keys-internal.js ***!\n \\****************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var has = __webpack_require__( /*! ../internals/has */\"./node_modules/core-js/internals/has.js\");\n var toIndexedObject = __webpack_require__( /*! ../internals/to-indexed-object */\"./node_modules/core-js/internals/to-indexed-object.js\");\n var arrayIncludes = __webpack_require__( /*! ../internals/array-includes */\"./node_modules/core-js/internals/array-includes.js\");\n var hiddenKeys = __webpack_require__( /*! ../internals/hidden-keys */\"./node_modules/core-js/internals/hidden-keys.js\");\n var arrayIndexOf = arrayIncludes(false);\n module.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/object-keys.js\": (\n /*!*******************************************************!*\\\n !*** ./node_modules/core-js/internals/object-keys.js ***!\n \\*******************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var internalObjectKeys = __webpack_require__( /*! ../internals/object-keys-internal */\"./node_modules/core-js/internals/object-keys-internal.js\");\n var enumBugKeys = __webpack_require__( /*! ../internals/enum-bug-keys */\"./node_modules/core-js/internals/enum-bug-keys.js\");\n\n // 19.1.2.14 / 15.2.3.14 Object.keys(O)\n module.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/object-property-is-enumerable.js\": (\n /*!*************************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***!\n \\*************************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var nativePropertyIsEnumerable = {}.propertyIsEnumerable;\n var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n // Nashorn ~ JDK8 bug\n var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({\n 1: 2\n }, 1);\n exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n } : nativePropertyIsEnumerable;\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/object-set-prototype-of.js\": (\n /*!*******************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-set-prototype-of.js ***!\n \\*******************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var validateSetPrototypeOfArguments = __webpack_require__( /*! ../internals/validate-set-prototype-of-arguments */\"./node_modules/core-js/internals/validate-set-prototype-of-arguments.js\");\n\n // Works with __proto__ only. Old v8 can't work with null proto objects.\n /* eslint-disable no-proto */\n module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var correctSetter = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n correctSetter = test instanceof Array;\n } catch (error) {/* empty */}\n return function setPrototypeOf(O, proto) {\n validateSetPrototypeOfArguments(O, proto);\n if (correctSetter) setter.call(O, proto);else O.__proto__ = proto;\n return O;\n };\n }() : undefined);\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/own-keys.js\": (\n /*!****************************************************!*\\\n !*** ./node_modules/core-js/internals/own-keys.js ***!\n \\****************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var global = __webpack_require__( /*! ../internals/global */\"./node_modules/core-js/internals/global.js\");\n var getOwnPropertyNamesModule = __webpack_require__( /*! ../internals/object-get-own-property-names */\"./node_modules/core-js/internals/object-get-own-property-names.js\");\n var getOwnPropertySymbolsModule = __webpack_require__( /*! ../internals/object-get-own-property-symbols */\"./node_modules/core-js/internals/object-get-own-property-symbols.js\");\n var anObject = __webpack_require__( /*! ../internals/an-object */\"./node_modules/core-js/internals/an-object.js\");\n var Reflect = global.Reflect;\n\n // all object keys, includes non-enumerable and symbols\n module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/path.js\": (\n /*!************************************************!*\\\n !*** ./node_modules/core-js/internals/path.js ***!\n \\************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n module.exports = __webpack_require__( /*! ../internals/global */\"./node_modules/core-js/internals/global.js\");\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/redefine.js\": (\n /*!****************************************************!*\\\n !*** ./node_modules/core-js/internals/redefine.js ***!\n \\****************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var global = __webpack_require__( /*! ../internals/global */\"./node_modules/core-js/internals/global.js\");\n var shared = __webpack_require__( /*! ../internals/shared */\"./node_modules/core-js/internals/shared.js\");\n var hide = __webpack_require__( /*! ../internals/hide */\"./node_modules/core-js/internals/hide.js\");\n var has = __webpack_require__( /*! ../internals/has */\"./node_modules/core-js/internals/has.js\");\n var setGlobal = __webpack_require__( /*! ../internals/set-global */\"./node_modules/core-js/internals/set-global.js\");\n var nativeFunctionToString = __webpack_require__( /*! ../internals/function-to-string */\"./node_modules/core-js/internals/function-to-string.js\");\n var InternalStateModule = __webpack_require__( /*! ../internals/internal-state */\"./node_modules/core-js/internals/internal-state.js\");\n var getInternalState = InternalStateModule.get;\n var enforceInternalState = InternalStateModule.enforce;\n var TEMPLATE = String(nativeFunctionToString).split('toString');\n shared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n });\n (module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;else hide(O, key, value);\n // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n })(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n });\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/require-object-coercible.js\": (\n /*!********************************************************************!*\\\n !*** ./node_modules/core-js/internals/require-object-coercible.js ***!\n \\********************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports) {\n // `RequireObjectCoercible` abstract operation\n // https://tc39.github.io/ecma262/#sec-requireobjectcoercible\n module.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/set-global.js\": (\n /*!******************************************************!*\\\n !*** ./node_modules/core-js/internals/set-global.js ***!\n \\******************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var global = __webpack_require__( /*! ../internals/global */\"./node_modules/core-js/internals/global.js\");\n var hide = __webpack_require__( /*! ../internals/hide */\"./node_modules/core-js/internals/hide.js\");\n module.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n }\n return value;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/set-to-string-tag.js\": (\n /*!*************************************************************!*\\\n !*** ./node_modules/core-js/internals/set-to-string-tag.js ***!\n \\*************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var defineProperty = __webpack_require__( /*! ../internals/object-define-property */\"./node_modules/core-js/internals/object-define-property.js\").f;\n var has = __webpack_require__( /*! ../internals/has */\"./node_modules/core-js/internals/has.js\");\n var wellKnownSymbol = __webpack_require__( /*! ../internals/well-known-symbol */\"./node_modules/core-js/internals/well-known-symbol.js\");\n var TO_STRING_TAG = wellKnownSymbol('toStringTag');\n module.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, {\n configurable: true,\n value: TAG\n });\n }\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/shared-key.js\": (\n /*!******************************************************!*\\\n !*** ./node_modules/core-js/internals/shared-key.js ***!\n \\******************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var shared = __webpack_require__( /*! ../internals/shared */\"./node_modules/core-js/internals/shared.js\");\n var uid = __webpack_require__( /*! ../internals/uid */\"./node_modules/core-js/internals/uid.js\");\n var keys = shared('keys');\n module.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/shared.js\": (\n /*!**************************************************!*\\\n !*** ./node_modules/core-js/internals/shared.js ***!\n \\**************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var global = __webpack_require__( /*! ../internals/global */\"./node_modules/core-js/internals/global.js\");\n var setGlobal = __webpack_require__( /*! ../internals/set-global */\"./node_modules/core-js/internals/set-global.js\");\n var IS_PURE = __webpack_require__( /*! ../internals/is-pure */\"./node_modules/core-js/internals/is-pure.js\");\n var SHARED = '__core-js_shared__';\n var store = global[SHARED] || setGlobal(SHARED, {});\n (module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n })('versions', []).push({\n version: '3.1.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n });\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/string-at.js\": (\n /*!*****************************************************!*\\\n !*** ./node_modules/core-js/internals/string-at.js ***!\n \\*****************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var toInteger = __webpack_require__( /*! ../internals/to-integer */\"./node_modules/core-js/internals/to-integer.js\");\n var requireObjectCoercible = __webpack_require__( /*! ../internals/require-object-coercible */\"./node_modules/core-js/internals/require-object-coercible.js\");\n\n // CONVERT_TO_STRING: true -> String#at\n // CONVERT_TO_STRING: false -> String#codePointAt\n module.exports = function (that, pos, CONVERT_TO_STRING) {\n var S = String(requireObjectCoercible(that));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/to-absolute-index.js\": (\n /*!*************************************************************!*\\\n !*** ./node_modules/core-js/internals/to-absolute-index.js ***!\n \\*************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var toInteger = __webpack_require__( /*! ../internals/to-integer */\"./node_modules/core-js/internals/to-integer.js\");\n var max = Math.max;\n var min = Math.min;\n\n // Helper for a popular repeating case of the spec:\n // Let integer be ? ToInteger(index).\n // If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\n module.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/to-indexed-object.js\": (\n /*!*************************************************************!*\\\n !*** ./node_modules/core-js/internals/to-indexed-object.js ***!\n \\*************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n // toObject with fallback for non-array-like ES3 strings\n var IndexedObject = __webpack_require__( /*! ../internals/indexed-object */\"./node_modules/core-js/internals/indexed-object.js\");\n var requireObjectCoercible = __webpack_require__( /*! ../internals/require-object-coercible */\"./node_modules/core-js/internals/require-object-coercible.js\");\n module.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/to-integer.js\": (\n /*!******************************************************!*\\\n !*** ./node_modules/core-js/internals/to-integer.js ***!\n \\******************************************************/\n /*! no static exports found */\n /***/\n function (module, exports) {\n var ceil = Math.ceil;\n var floor = Math.floor;\n\n // `ToInteger` abstract operation\n // https://tc39.github.io/ecma262/#sec-tointeger\n module.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/to-length.js\": (\n /*!*****************************************************!*\\\n !*** ./node_modules/core-js/internals/to-length.js ***!\n \\*****************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var toInteger = __webpack_require__( /*! ../internals/to-integer */\"./node_modules/core-js/internals/to-integer.js\");\n var min = Math.min;\n\n // `ToLength` abstract operation\n // https://tc39.github.io/ecma262/#sec-tolength\n module.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/to-object.js\": (\n /*!*****************************************************!*\\\n !*** ./node_modules/core-js/internals/to-object.js ***!\n \\*****************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var requireObjectCoercible = __webpack_require__( /*! ../internals/require-object-coercible */\"./node_modules/core-js/internals/require-object-coercible.js\");\n\n // `ToObject` abstract operation\n // https://tc39.github.io/ecma262/#sec-toobject\n module.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/to-primitive.js\": (\n /*!********************************************************!*\\\n !*** ./node_modules/core-js/internals/to-primitive.js ***!\n \\********************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var isObject = __webpack_require__( /*! ../internals/is-object */\"./node_modules/core-js/internals/is-object.js\");\n\n // 7.1.1 ToPrimitive(input [, PreferredType])\n // instead of the ES6 spec version, we didn't implement @@toPrimitive case\n // and the second argument - flag - preferred type is a string\n module.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/uid.js\": (\n /*!***********************************************!*\\\n !*** ./node_modules/core-js/internals/uid.js ***!\n \\***********************************************/\n /*! no static exports found */\n /***/\n function (module, exports) {\n var id = 0;\n var postfix = Math.random();\n module.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + postfix).toString(36));\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/validate-set-prototype-of-arguments.js\": (\n /*!*******************************************************************************!*\\\n !*** ./node_modules/core-js/internals/validate-set-prototype-of-arguments.js ***!\n \\*******************************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var isObject = __webpack_require__( /*! ../internals/is-object */\"./node_modules/core-js/internals/is-object.js\");\n var anObject = __webpack_require__( /*! ../internals/an-object */\"./node_modules/core-js/internals/an-object.js\");\n module.exports = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) {\n throw TypeError(\"Can't set \" + String(proto) + ' as a prototype');\n }\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/internals/well-known-symbol.js\": (\n /*!*************************************************************!*\\\n !*** ./node_modules/core-js/internals/well-known-symbol.js ***!\n \\*************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var global = __webpack_require__( /*! ../internals/global */\"./node_modules/core-js/internals/global.js\");\n var shared = __webpack_require__( /*! ../internals/shared */\"./node_modules/core-js/internals/shared.js\");\n var uid = __webpack_require__( /*! ../internals/uid */\"./node_modules/core-js/internals/uid.js\");\n var NATIVE_SYMBOL = __webpack_require__( /*! ../internals/native-symbol */\"./node_modules/core-js/internals/native-symbol.js\");\n var Symbol = global.Symbol;\n var store = shared('wks');\n module.exports = function (name) {\n return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name] || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n };\n\n /***/\n }),\n /***/\"./node_modules/core-js/modules/es.array.from.js\": (\n /*!*******************************************************!*\\\n !*** ./node_modules/core-js/modules/es.array.from.js ***!\n \\*******************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n var $ = __webpack_require__( /*! ../internals/export */\"./node_modules/core-js/internals/export.js\");\n var from = __webpack_require__( /*! ../internals/array-from */\"./node_modules/core-js/internals/array-from.js\");\n var checkCorrectnessOfIteration = __webpack_require__( /*! ../internals/check-correctness-of-iteration */\"./node_modules/core-js/internals/check-correctness-of-iteration.js\");\n var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n });\n\n // `Array.from` method\n // https://tc39.github.io/ecma262/#sec-array.from\n $({\n target: 'Array',\n stat: true,\n forced: INCORRECT_ITERATION\n }, {\n from: from\n });\n\n /***/\n }),\n /***/\"./node_modules/core-js/modules/es.string.iterator.js\": (\n /*!************************************************************!*\\\n !*** ./node_modules/core-js/modules/es.string.iterator.js ***!\n \\************************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var codePointAt = __webpack_require__( /*! ../internals/string-at */\"./node_modules/core-js/internals/string-at.js\");\n var InternalStateModule = __webpack_require__( /*! ../internals/internal-state */\"./node_modules/core-js/internals/internal-state.js\");\n var defineIterator = __webpack_require__( /*! ../internals/define-iterator */\"./node_modules/core-js/internals/define-iterator.js\");\n var STRING_ITERATOR = 'String Iterator';\n var setInternalState = InternalStateModule.set;\n var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n // `String.prototype[@@iterator]` method\n // https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\n defineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n // `%StringIteratorPrototype%.next` method\n // https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n }, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return {\n value: undefined,\n done: true\n };\n point = codePointAt(string, index, true);\n state.index += point.length;\n return {\n value: point,\n done: false\n };\n });\n\n /***/\n }),\n /***/\"./node_modules/webpack/buildin/global.js\": (\n /*!***********************************!*\\\n !*** (webpack)/buildin/global.js ***!\n \\***********************************/\n /*! no static exports found */\n /***/\n function (module, exports) {\n var g;\n\n // This works in non-strict mode\n g = function () {\n return this;\n }();\n try {\n // This works if eval is allowed (see CSP)\n g = g || Function(\"return this\")() || (1, eval)(\"this\");\n } catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") g = window;\n }\n\n // g can still be undefined, but nothing to do about it...\n // We return undefined, instead of nothing here, so it's\n // easier to handle this case. if(!global) { ...}\n\n module.exports = g;\n\n /***/\n }),\n /***/\"./src/default-attrs.json\": (\n /*!********************************!*\\\n !*** ./src/default-attrs.json ***!\n \\********************************/\n /*! exports provided: xmlns, width, height, viewBox, fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, default */\n /***/\n function (module) {\n module.exports = {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"width\": 24,\n \"height\": 24,\n \"viewBox\": \"0 0 24 24\",\n \"fill\": \"none\",\n \"stroke\": \"currentColor\",\n \"stroke-width\": 2,\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\"\n };\n\n /***/\n }),\n /***/\"./src/icon.js\": (\n /*!*********************!*\\\n !*** ./src/icon.js ***!\n \\*********************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _dedupe = __webpack_require__( /*! classnames/dedupe */\"./node_modules/classnames/dedupe.js\");\n var _dedupe2 = _interopRequireDefault(_dedupe);\n var _defaultAttrs = __webpack_require__( /*! ./default-attrs.json */\"./src/default-attrs.json\");\n var _defaultAttrs2 = _interopRequireDefault(_defaultAttrs);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var Icon = function () {\n function Icon(name, contents) {\n var tags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n _classCallCheck(this, Icon);\n this.name = name;\n this.contents = contents;\n this.tags = tags;\n this.attrs = _extends({}, _defaultAttrs2.default, {\n class: 'feather feather-' + name\n });\n }\n\n /**\n * Create an SVG string.\n * @param {Object} attrs\n * @returns {string}\n */\n\n _createClass(Icon, [{\n key: 'toSvg',\n value: function toSvg() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var combinedAttrs = _extends({}, this.attrs, attrs, {\n class: (0, _dedupe2.default)(this.attrs.class, attrs.class)\n });\n return '' + this.contents + '';\n }\n\n /**\n * Return string representation of an `Icon`.\n *\n * Added for backward compatibility. If old code expects `feather.icons.`\n * to be a string, `toString()` will get implicitly called.\n *\n * @returns {string}\n */\n }, {\n key: 'toString',\n value: function toString() {\n return this.contents;\n }\n }]);\n return Icon;\n }();\n\n /**\n * Convert attributes object to string of HTML attributes.\n * @param {Object} attrs\n * @returns {string}\n */\n\n function attrsToString(attrs) {\n return Object.keys(attrs).map(function (key) {\n return key + '=\"' + attrs[key] + '\"';\n }).join(' ');\n }\n exports.default = Icon;\n\n /***/\n }),\n /***/\"./src/icons.js\": (\n /*!**********************!*\\\n !*** ./src/icons.js ***!\n \\**********************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _icon = __webpack_require__( /*! ./icon */\"./src/icon.js\");\n var _icon2 = _interopRequireDefault(_icon);\n var _icons = __webpack_require__( /*! ../dist/icons.json */\"./dist/icons.json\");\n var _icons2 = _interopRequireDefault(_icons);\n var _tags = __webpack_require__( /*! ./tags.json */\"./src/tags.json\");\n var _tags2 = _interopRequireDefault(_tags);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n exports.default = Object.keys(_icons2.default).map(function (key) {\n return new _icon2.default(key, _icons2.default[key], _tags2.default[key]);\n }).reduce(function (object, icon) {\n object[icon.name] = icon;\n return object;\n }, {});\n\n /***/\n }),\n /***/\"./src/index.js\": (\n /*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var _icons = __webpack_require__( /*! ./icons */\"./src/icons.js\");\n var _icons2 = _interopRequireDefault(_icons);\n var _toSvg = __webpack_require__( /*! ./to-svg */\"./src/to-svg.js\");\n var _toSvg2 = _interopRequireDefault(_toSvg);\n var _replace = __webpack_require__( /*! ./replace */\"./src/replace.js\");\n var _replace2 = _interopRequireDefault(_replace);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n module.exports = {\n icons: _icons2.default,\n toSvg: _toSvg2.default,\n replace: _replace2.default\n };\n\n /***/\n }),\n /***/\"./src/replace.js\": (\n /*!************************!*\\\n !*** ./src/replace.js ***!\n \\************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }; /* eslint-env browser */\n\n var _dedupe = __webpack_require__( /*! classnames/dedupe */\"./node_modules/classnames/dedupe.js\");\n var _dedupe2 = _interopRequireDefault(_dedupe);\n var _icons = __webpack_require__( /*! ./icons */\"./src/icons.js\");\n var _icons2 = _interopRequireDefault(_icons);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n /**\n * Replace all HTML elements that have a `data-feather` attribute with SVG markup\n * corresponding to the element's `data-feather` attribute value.\n * @param {Object} attrs\n */\n function replace() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (typeof document === 'undefined') {\n throw new Error('`feather.replace()` only works in a browser environment.');\n }\n var elementsToReplace = document.querySelectorAll('[data-feather]');\n Array.from(elementsToReplace).forEach(function (element) {\n return replaceElement(element, attrs);\n });\n }\n\n /**\n * Replace a single HTML element with SVG markup\n * corresponding to the element's `data-feather` attribute value.\n * @param {HTMLElement} element\n * @param {Object} attrs\n */\n function replaceElement(element) {\n var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var elementAttrs = getAttrs(element);\n var name = elementAttrs['data-feather'];\n delete elementAttrs['data-feather'];\n var svgString = _icons2.default[name].toSvg(_extends({}, attrs, elementAttrs, {\n class: (0, _dedupe2.default)(attrs.class, elementAttrs.class)\n }));\n var svgDocument = new DOMParser().parseFromString(svgString, 'image/svg+xml');\n var svgElement = svgDocument.querySelector('svg');\n element.parentNode.replaceChild(svgElement, element);\n }\n\n /**\n * Get the attributes of an HTML element.\n * @param {HTMLElement} element\n * @returns {Object}\n */\n function getAttrs(element) {\n return Array.from(element.attributes).reduce(function (attrs, attr) {\n attrs[attr.name] = attr.value;\n return attrs;\n }, {});\n }\n exports.default = replace;\n\n /***/\n }),\n /***/\"./src/tags.json\": (\n /*!***********************!*\\\n !*** ./src/tags.json ***!\n \\***********************/\n /*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, align-center, align-justify, align-left, align-right, anchor, archive, at-sign, award, aperture, bar-chart, bar-chart-2, battery, battery-charging, bell, bell-off, bluetooth, book-open, book, bookmark, box, briefcase, calendar, camera, cast, circle, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-rain, cloud-snow, cloud, codepen, codesandbox, code, coffee, columns, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, cpu, credit-card, crop, crosshair, database, delete, disc, dollar-sign, droplet, edit, edit-2, edit-3, eye, eye-off, external-link, facebook, fast-forward, figma, file-minus, file-plus, file-text, film, filter, flag, folder-minus, folder-plus, folder, framer, frown, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, globe, hard-drive, hash, headphones, heart, help-circle, hexagon, home, image, inbox, instagram, key, layers, layout, life-bouy, link, link-2, linkedin, list, lock, log-in, log-out, mail, map-pin, map, maximize, maximize-2, meh, menu, message-circle, message-square, mic-off, mic, minimize, minimize-2, minus, monitor, moon, more-horizontal, more-vertical, mouse-pointer, move, music, navigation, navigation-2, octagon, package, paperclip, pause, pause-circle, pen-tool, percent, phone-call, phone-forwarded, phone-incoming, phone-missed, phone-off, phone-outgoing, phone, play, pie-chart, play-circle, plus, plus-circle, plus-square, pocket, power, printer, radio, refresh-cw, refresh-ccw, repeat, rewind, rotate-ccw, rotate-cw, rss, save, scissors, search, send, settings, share-2, shield, shield-off, shopping-bag, shopping-cart, shuffle, skip-back, skip-forward, slack, slash, sliders, smartphone, smile, speaker, star, stop-circle, sun, sunrise, sunset, tablet, tag, target, terminal, thermometer, thumbs-down, thumbs-up, toggle-left, toggle-right, tool, trash, trash-2, triangle, truck, tv, twitch, twitter, type, umbrella, unlock, user-check, user-minus, user-plus, user-x, user, users, video-off, video, voicemail, volume, volume-1, volume-2, volume-x, watch, wifi-off, wifi, wind, x-circle, x-octagon, x-square, x, youtube, zap-off, zap, zoom-in, zoom-out, default */\n /***/\n function (module) {\n module.exports = {\n \"activity\": [\"pulse\", \"health\", \"action\", \"motion\"],\n \"airplay\": [\"stream\", \"cast\", \"mirroring\"],\n \"alert-circle\": [\"warning\", \"alert\", \"danger\"],\n \"alert-octagon\": [\"warning\", \"alert\", \"danger\"],\n \"alert-triangle\": [\"warning\", \"alert\", \"danger\"],\n \"align-center\": [\"text alignment\", \"center\"],\n \"align-justify\": [\"text alignment\", \"justified\"],\n \"align-left\": [\"text alignment\", \"left\"],\n \"align-right\": [\"text alignment\", \"right\"],\n \"anchor\": [],\n \"archive\": [\"index\", \"box\"],\n \"at-sign\": [\"mention\", \"at\", \"email\", \"message\"],\n \"award\": [\"achievement\", \"badge\"],\n \"aperture\": [\"camera\", \"photo\"],\n \"bar-chart\": [\"statistics\", \"diagram\", \"graph\"],\n \"bar-chart-2\": [\"statistics\", \"diagram\", \"graph\"],\n \"battery\": [\"power\", \"electricity\"],\n \"battery-charging\": [\"power\", \"electricity\"],\n \"bell\": [\"alarm\", \"notification\", \"sound\"],\n \"bell-off\": [\"alarm\", \"notification\", \"silent\"],\n \"bluetooth\": [\"wireless\"],\n \"book-open\": [\"read\", \"library\"],\n \"book\": [\"read\", \"dictionary\", \"booklet\", \"magazine\", \"library\"],\n \"bookmark\": [\"read\", \"clip\", \"marker\", \"tag\"],\n \"box\": [\"cube\"],\n \"briefcase\": [\"work\", \"bag\", \"baggage\", \"folder\"],\n \"calendar\": [\"date\"],\n \"camera\": [\"photo\"],\n \"cast\": [\"chromecast\", \"airplay\"],\n \"circle\": [\"off\", \"zero\", \"record\"],\n \"clipboard\": [\"copy\"],\n \"clock\": [\"time\", \"watch\", \"alarm\"],\n \"cloud-drizzle\": [\"weather\", \"shower\"],\n \"cloud-lightning\": [\"weather\", \"bolt\"],\n \"cloud-rain\": [\"weather\"],\n \"cloud-snow\": [\"weather\", \"blizzard\"],\n \"cloud\": [\"weather\"],\n \"codepen\": [\"logo\"],\n \"codesandbox\": [\"logo\"],\n \"code\": [\"source\", \"programming\"],\n \"coffee\": [\"drink\", \"cup\", \"mug\", \"tea\", \"cafe\", \"hot\", \"beverage\"],\n \"columns\": [\"layout\"],\n \"command\": [\"keyboard\", \"cmd\", \"terminal\", \"prompt\"],\n \"compass\": [\"navigation\", \"safari\", \"travel\", \"direction\"],\n \"copy\": [\"clone\", \"duplicate\"],\n \"corner-down-left\": [\"arrow\", \"return\"],\n \"corner-down-right\": [\"arrow\"],\n \"corner-left-down\": [\"arrow\"],\n \"corner-left-up\": [\"arrow\"],\n \"corner-right-down\": [\"arrow\"],\n \"corner-right-up\": [\"arrow\"],\n \"corner-up-left\": [\"arrow\"],\n \"corner-up-right\": [\"arrow\"],\n \"cpu\": [\"processor\", \"technology\"],\n \"credit-card\": [\"purchase\", \"payment\", \"cc\"],\n \"crop\": [\"photo\", \"image\"],\n \"crosshair\": [\"aim\", \"target\"],\n \"database\": [\"storage\", \"memory\"],\n \"delete\": [\"remove\"],\n \"disc\": [\"album\", \"cd\", \"dvd\", \"music\"],\n \"dollar-sign\": [\"currency\", \"money\", \"payment\"],\n \"droplet\": [\"water\"],\n \"edit\": [\"pencil\", \"change\"],\n \"edit-2\": [\"pencil\", \"change\"],\n \"edit-3\": [\"pencil\", \"change\"],\n \"eye\": [\"view\", \"watch\"],\n \"eye-off\": [\"view\", \"watch\", \"hide\", \"hidden\"],\n \"external-link\": [\"outbound\"],\n \"facebook\": [\"logo\", \"social\"],\n \"fast-forward\": [\"music\"],\n \"figma\": [\"logo\", \"design\", \"tool\"],\n \"file-minus\": [\"delete\", \"remove\", \"erase\"],\n \"file-plus\": [\"add\", \"create\", \"new\"],\n \"file-text\": [\"data\", \"txt\", \"pdf\"],\n \"film\": [\"movie\", \"video\"],\n \"filter\": [\"funnel\", \"hopper\"],\n \"flag\": [\"report\"],\n \"folder-minus\": [\"directory\"],\n \"folder-plus\": [\"directory\"],\n \"folder\": [\"directory\"],\n \"framer\": [\"logo\", \"design\", \"tool\"],\n \"frown\": [\"emoji\", \"face\", \"bad\", \"sad\", \"emotion\"],\n \"gift\": [\"present\", \"box\", \"birthday\", \"party\"],\n \"git-branch\": [\"code\", \"version control\"],\n \"git-commit\": [\"code\", \"version control\"],\n \"git-merge\": [\"code\", \"version control\"],\n \"git-pull-request\": [\"code\", \"version control\"],\n \"github\": [\"logo\", \"version control\"],\n \"gitlab\": [\"logo\", \"version control\"],\n \"globe\": [\"world\", \"browser\", \"language\", \"translate\"],\n \"hard-drive\": [\"computer\", \"server\", \"memory\", \"data\"],\n \"hash\": [\"hashtag\", \"number\", \"pound\"],\n \"headphones\": [\"music\", \"audio\", \"sound\"],\n \"heart\": [\"like\", \"love\", \"emotion\"],\n \"help-circle\": [\"question mark\"],\n \"hexagon\": [\"shape\", \"node.js\", \"logo\"],\n \"home\": [\"house\", \"living\"],\n \"image\": [\"picture\"],\n \"inbox\": [\"email\"],\n \"instagram\": [\"logo\", \"camera\"],\n \"key\": [\"password\", \"login\", \"authentication\", \"secure\"],\n \"layers\": [\"stack\"],\n \"layout\": [\"window\", \"webpage\"],\n \"life-bouy\": [\"help\", \"life ring\", \"support\"],\n \"link\": [\"chain\", \"url\"],\n \"link-2\": [\"chain\", \"url\"],\n \"linkedin\": [\"logo\", \"social media\"],\n \"list\": [\"options\"],\n \"lock\": [\"security\", \"password\", \"secure\"],\n \"log-in\": [\"sign in\", \"arrow\", \"enter\"],\n \"log-out\": [\"sign out\", \"arrow\", \"exit\"],\n \"mail\": [\"email\", \"message\"],\n \"map-pin\": [\"location\", \"navigation\", \"travel\", \"marker\"],\n \"map\": [\"location\", \"navigation\", \"travel\"],\n \"maximize\": [\"fullscreen\"],\n \"maximize-2\": [\"fullscreen\", \"arrows\", \"expand\"],\n \"meh\": [\"emoji\", \"face\", \"neutral\", \"emotion\"],\n \"menu\": [\"bars\", \"navigation\", \"hamburger\"],\n \"message-circle\": [\"comment\", \"chat\"],\n \"message-square\": [\"comment\", \"chat\"],\n \"mic-off\": [\"record\", \"sound\", \"mute\"],\n \"mic\": [\"record\", \"sound\", \"listen\"],\n \"minimize\": [\"exit fullscreen\", \"close\"],\n \"minimize-2\": [\"exit fullscreen\", \"arrows\", \"close\"],\n \"minus\": [\"subtract\"],\n \"monitor\": [\"tv\", \"screen\", \"display\"],\n \"moon\": [\"dark\", \"night\"],\n \"more-horizontal\": [\"ellipsis\"],\n \"more-vertical\": [\"ellipsis\"],\n \"mouse-pointer\": [\"arrow\", \"cursor\"],\n \"move\": [\"arrows\"],\n \"music\": [\"note\"],\n \"navigation\": [\"location\", \"travel\"],\n \"navigation-2\": [\"location\", \"travel\"],\n \"octagon\": [\"stop\"],\n \"package\": [\"box\", \"container\"],\n \"paperclip\": [\"attachment\"],\n \"pause\": [\"music\", \"stop\"],\n \"pause-circle\": [\"music\", \"audio\", \"stop\"],\n \"pen-tool\": [\"vector\", \"drawing\"],\n \"percent\": [\"discount\"],\n \"phone-call\": [\"ring\"],\n \"phone-forwarded\": [\"call\"],\n \"phone-incoming\": [\"call\"],\n \"phone-missed\": [\"call\"],\n \"phone-off\": [\"call\", \"mute\"],\n \"phone-outgoing\": [\"call\"],\n \"phone\": [\"call\"],\n \"play\": [\"music\", \"start\"],\n \"pie-chart\": [\"statistics\", \"diagram\"],\n \"play-circle\": [\"music\", \"start\"],\n \"plus\": [\"add\", \"new\"],\n \"plus-circle\": [\"add\", \"new\"],\n \"plus-square\": [\"add\", \"new\"],\n \"pocket\": [\"logo\", \"save\"],\n \"power\": [\"on\", \"off\"],\n \"printer\": [\"fax\", \"office\", \"device\"],\n \"radio\": [\"signal\"],\n \"refresh-cw\": [\"synchronise\", \"arrows\"],\n \"refresh-ccw\": [\"arrows\"],\n \"repeat\": [\"loop\", \"arrows\"],\n \"rewind\": [\"music\"],\n \"rotate-ccw\": [\"arrow\"],\n \"rotate-cw\": [\"arrow\"],\n \"rss\": [\"feed\", \"subscribe\"],\n \"save\": [\"floppy disk\"],\n \"scissors\": [\"cut\"],\n \"search\": [\"find\", \"magnifier\", \"magnifying glass\"],\n \"send\": [\"message\", \"mail\", \"email\", \"paper airplane\", \"paper aeroplane\"],\n \"settings\": [\"cog\", \"edit\", \"gear\", \"preferences\"],\n \"share-2\": [\"network\", \"connections\"],\n \"shield\": [\"security\", \"secure\"],\n \"shield-off\": [\"security\", \"insecure\"],\n \"shopping-bag\": [\"ecommerce\", \"cart\", \"purchase\", \"store\"],\n \"shopping-cart\": [\"ecommerce\", \"cart\", \"purchase\", \"store\"],\n \"shuffle\": [\"music\"],\n \"skip-back\": [\"music\"],\n \"skip-forward\": [\"music\"],\n \"slack\": [\"logo\"],\n \"slash\": [\"ban\", \"no\"],\n \"sliders\": [\"settings\", \"controls\"],\n \"smartphone\": [\"cellphone\", \"device\"],\n \"smile\": [\"emoji\", \"face\", \"happy\", \"good\", \"emotion\"],\n \"speaker\": [\"audio\", \"music\"],\n \"star\": [\"bookmark\", \"favorite\", \"like\"],\n \"stop-circle\": [\"media\", \"music\"],\n \"sun\": [\"brightness\", \"weather\", \"light\"],\n \"sunrise\": [\"weather\", \"time\", \"morning\", \"day\"],\n \"sunset\": [\"weather\", \"time\", \"evening\", \"night\"],\n \"tablet\": [\"device\"],\n \"tag\": [\"label\"],\n \"target\": [\"logo\", \"bullseye\"],\n \"terminal\": [\"code\", \"command line\", \"prompt\"],\n \"thermometer\": [\"temperature\", \"celsius\", \"fahrenheit\", \"weather\"],\n \"thumbs-down\": [\"dislike\", \"bad\", \"emotion\"],\n \"thumbs-up\": [\"like\", \"good\", \"emotion\"],\n \"toggle-left\": [\"on\", \"off\", \"switch\"],\n \"toggle-right\": [\"on\", \"off\", \"switch\"],\n \"tool\": [\"settings\", \"spanner\"],\n \"trash\": [\"garbage\", \"delete\", \"remove\", \"bin\"],\n \"trash-2\": [\"garbage\", \"delete\", \"remove\", \"bin\"],\n \"triangle\": [\"delta\"],\n \"truck\": [\"delivery\", \"van\", \"shipping\", \"transport\", \"lorry\"],\n \"tv\": [\"television\", \"stream\"],\n \"twitch\": [\"logo\"],\n \"twitter\": [\"logo\", \"social\"],\n \"type\": [\"text\"],\n \"umbrella\": [\"rain\", \"weather\"],\n \"unlock\": [\"security\"],\n \"user-check\": [\"followed\", \"subscribed\"],\n \"user-minus\": [\"delete\", \"remove\", \"unfollow\", \"unsubscribe\"],\n \"user-plus\": [\"new\", \"add\", \"create\", \"follow\", \"subscribe\"],\n \"user-x\": [\"delete\", \"remove\", \"unfollow\", \"unsubscribe\", \"unavailable\"],\n \"user\": [\"person\", \"account\"],\n \"users\": [\"group\"],\n \"video-off\": [\"camera\", \"movie\", \"film\"],\n \"video\": [\"camera\", \"movie\", \"film\"],\n \"voicemail\": [\"phone\"],\n \"volume\": [\"music\", \"sound\", \"mute\"],\n \"volume-1\": [\"music\", \"sound\"],\n \"volume-2\": [\"music\", \"sound\"],\n \"volume-x\": [\"music\", \"sound\", \"mute\"],\n \"watch\": [\"clock\", \"time\"],\n \"wifi-off\": [\"disabled\"],\n \"wifi\": [\"connection\", \"signal\", \"wireless\"],\n \"wind\": [\"weather\", \"air\"],\n \"x-circle\": [\"cancel\", \"close\", \"delete\", \"remove\", \"times\", \"clear\"],\n \"x-octagon\": [\"delete\", \"stop\", \"alert\", \"warning\", \"times\", \"clear\"],\n \"x-square\": [\"cancel\", \"close\", \"delete\", \"remove\", \"times\", \"clear\"],\n \"x\": [\"cancel\", \"close\", \"delete\", \"remove\", \"times\", \"clear\"],\n \"youtube\": [\"logo\", \"video\", \"play\"],\n \"zap-off\": [\"flash\", \"camera\", \"lightning\"],\n \"zap\": [\"flash\", \"camera\", \"lightning\"],\n \"zoom-in\": [\"magnifying glass\"],\n \"zoom-out\": [\"magnifying glass\"]\n };\n\n /***/\n }),\n /***/\"./src/to-svg.js\": (\n /*!***********************!*\\\n !*** ./src/to-svg.js ***!\n \\***********************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _icons = __webpack_require__( /*! ./icons */\"./src/icons.js\");\n var _icons2 = _interopRequireDefault(_icons);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n /**\n * Create an SVG string.\n * @deprecated\n * @param {string} name\n * @param {Object} attrs\n * @returns {string}\n */\n function toSvg(name) {\n var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n console.warn('feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead.');\n if (!name) {\n throw new Error('The required `key` (icon name) parameter is missing.');\n }\n if (!_icons2.default[name]) {\n throw new Error('No icon matching \\'' + name + '\\'. See the complete list of icons at https://feathericons.com');\n }\n return _icons2.default[name].toSvg(attrs);\n }\n exports.default = toSvg;\n\n /***/\n }),\n /***/0: (\n /*!**************************************************!*\\\n !*** multi core-js/es/array/from ./src/index.js ***!\n \\**************************************************/\n /*! no static exports found */\n /***/\n function (module, exports, __webpack_require__) {\n __webpack_require__( /*! core-js/es/array/from */\"./node_modules/core-js/es/array/from.js\");\n module.exports = __webpack_require__( /*! /home/travis/build/feathericons/feather/src/index.js */\"./src/index.js\");\n\n /***/\n })\n\n /******/\n });\n});"],"sourceRoot":""}