{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./app/webpacker/javascripts/utils/material_elements.coffee","webpack:///./node_modules/@material/list/constants.js","webpack:///./node_modules/@material/base/foundation.js","webpack:///./node_modules/@material/base/component.js","webpack:///./node_modules/@material/dom/keyboard.js","webpack:///./node_modules/@material/dom/events.js","webpack:///./app/webpacker/javascripts/utils/form_utils.coffee","webpack:///./node_modules/@material/dom/ponyfill.js","webpack:///./app/webpacker/javascripts/utils/cookie_manager.coffee","webpack:///./node_modules/@material/ripple/component.js","webpack:///./app/webpacker/javascripts/utils/user.coffee","webpack:///./node_modules/@material/snackbar/constants.js","webpack:///./node_modules/@material/snackbar/foundation.js","webpack:///./node_modules/@material/snackbar/util.js","webpack:///./node_modules/@material/snackbar/component.js","webpack:///./app/webpacker/javascripts/components/flash.coffee","webpack:///./node_modules/@material/ripple/constants.js","webpack:///./node_modules/@material/ripple/foundation.js","webpack:///./app/webpacker/javascripts/utils/emoji_fallback.coffee","webpack:///./node_modules/@material/list/events.js","webpack:///./node_modules/@material/list/typeahead.js","webpack:///./node_modules/@material/list/foundation.js","webpack:///./node_modules/@material/textfield/character-counter/constants.js","webpack:///./node_modules/@material/textfield/character-counter/foundation.js","webpack:///./node_modules/@material/textfield/character-counter/component.js","webpack:///./node_modules/@material/textfield/constants.js","webpack:///./node_modules/@material/textfield/foundation.js","webpack:///./node_modules/@material/textfield/component.js","webpack:///./node_modules/@material/ripple/util.js","webpack:///./app/webpacker/javascripts/libs/autoComplete.js","webpack:///./node_modules/@material/textfield/helper-text/constants.js","webpack:///./node_modules/@material/textfield/helper-text/foundation.js","webpack:///./node_modules/@material/floating-label/constants.js","webpack:///./node_modules/@material/floating-label/foundation.js","webpack:///./node_modules/@material/notched-outline/constants.js","webpack:///./node_modules/@material/notched-outline/foundation.js","webpack:///./node_modules/@material/notched-outline/component.js","webpack:///./node_modules/@material/floating-label/component.js","webpack:///./node_modules/@material/line-ripple/constants.js","webpack:///./node_modules/@material/line-ripple/foundation.js","webpack:///./node_modules/@material/line-ripple/component.js","webpack:///./node_modules/@material/list/component.js","webpack:///./node_modules/@material/textfield/icon/constants.js","webpack:///./node_modules/@material/textfield/icon/foundation.js","webpack:///./node_modules/@material/textfield/icon/component.js","webpack:///./node_modules/@material/dom/focus-trap.js","webpack:///./app/webpacker/javascripts/utils/amplitude.coffee","webpack:///./node_modules/@material/textfield/helper-text/component.js","webpack:///./node_modules/@material/tab-indicator/constants.js","webpack:///./node_modules/@material/tab-indicator/foundation.js","webpack:///./node_modules/@material/tab-indicator/fading-foundation.js","webpack:///./node_modules/@material/tab-indicator/sliding-foundation.js","webpack:///./node_modules/@material/tab-indicator/component.js","webpack:///(webpack)/buildin/global.js","webpack:///./app/webpacker/javascripts/components/company_search.js","webpack:///./app/webpacker/javascripts/navigation.js","webpack:///./node_modules/amplitude-js/amplitude.umd.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./app/webpacker/javascripts/site_search.js","webpack:///./app/webpacker/javascripts/components/lazy_load_images.coffee","webpack:///./node_modules/@material/top-app-bar/constants.js","webpack:///./node_modules/@material/top-app-bar/foundation.js","webpack:///./node_modules/@material/top-app-bar/standard/foundation.js","webpack:///./node_modules/@material/top-app-bar/fixed/foundation.js","webpack:///./node_modules/@material/top-app-bar/short/foundation.js","webpack:///./node_modules/@material/top-app-bar/component.js","webpack:///./node_modules/@material/drawer/constants.js","webpack:///./node_modules/@material/drawer/dismissible/foundation.js","webpack:///./node_modules/@material/drawer/modal/foundation.js","webpack:///./node_modules/@material/drawer/component.js","webpack:///./app/webpacker/javascripts/components/layout.coffee","webpack:///./node_modules/@material/drawer/util.js","webpack:///./app/webpacker/javascripts/components/gdpr_cookie_notice.coffee","webpack:///./app/webpacker/javascripts/libs/requests.coffee","webpack:///./app/webpacker/javascripts/components/lazy_load_trustpilot.coffee","webpack:///./node_modules/@material/tab-scroller/util.js","webpack:///./node_modules/@material/tab-scroller/constants.js","webpack:///./node_modules/@material/tab-scroller/rtl-scroller.js","webpack:///./node_modules/@material/tab-scroller/rtl-default-scroller.js","webpack:///./node_modules/@material/tab-scroller/rtl-negative-scroller.js","webpack:///./node_modules/@material/tab-scroller/rtl-reverse-scroller.js","webpack:///./node_modules/@material/tab-scroller/foundation.js","webpack:///./node_modules/@material/tab-scroller/component.js","webpack:///./node_modules/@material/tab/constants.js","webpack:///./node_modules/@material/tab/foundation.js","webpack:///./node_modules/@material/tab/component.js","webpack:///./node_modules/@material/tab-bar/constants.js","webpack:///./node_modules/@material/tab-bar/foundation.js","webpack:///./node_modules/@material/tab-bar/component.js","webpack:///./app/webpacker/packs/home.coffee","webpack:///./app/webpacker/javascripts/components/lazy_load_twitter.coffee"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","__","this","constructor","__assign","assign","arguments","length","apply","__values","iterator","next","done","TypeError","__read","e","ar","push","error","__spread","concat","link_button","label","url","raised","secondary","outlined","a","element_with_class","setAttribute","classList","add","append","span","innerText","submit_button","button","element_with_content","text_field","el","extra_classes","input","money_input_field","symbol","floatingLabel","element","classes","document","createElement","toUpperCase","content","innerHTML","material_select_option","selected","li","dataset","material_select","select","select_anchor","menu","ul","anchor","dropdown_icon","svg","createElementNS","setAttributeNS","inactive_polygon","active_polygon","appendChild","cssClasses","LIST_ITEM_ACTIVATED_CLASS","LIST_ITEM_CLASS","LIST_ITEM_DISABLED_CLASS","LIST_ITEM_SELECTED_CLASS","LIST_ITEM_TEXT_CLASS","LIST_ITEM_PRIMARY_TEXT_CLASS","ROOT","strings","ACTION_EVENT","ARIA_CHECKED","ARIA_CHECKED_CHECKBOX_SELECTOR","ARIA_CHECKED_RADIO_SELECTOR","ARIA_CURRENT","ARIA_DISABLED","ARIA_ORIENTATION","ARIA_ORIENTATION_HORIZONTAL","ARIA_ROLE_CHECKBOX_SELECTOR","ARIA_SELECTED","CHECKBOX_RADIO_SELECTOR","CHECKBOX_SELECTOR","CHILD_ELEMENTS_TO_TOGGLE_TABINDEX","FOCUSABLE_CHILD_ELEMENTS","RADIO_SELECTOR","numbers","UNSET_INDEX","TYPEAHEAD_BUFFER_CLEAR_TIMEOUT_MS","MDCFoundation","adapter","configurable","init","destroy","MDCComponent","root","foundation","args","_i","initialize","undefined","getDefaultFoundation","initialSyncWithDOM","attachTo","_args","Error","listen","evtType","handler","options","addEventListener","unlisten","removeEventListener","emit","evtData","shouldBubble","evt","CustomEvent","bubbles","detail","createEvent","initCustomEvent","dispatchEvent","KEY","UNKNOWN","BACKSPACE","ENTER","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","DELETE","ESCAPE","normalizedKeys","Set","KEY_CODE","mappedKeyCodes","Map","set","navigationKeys","normalizeKey","has","mappedKey","keyCode","isNavigationEvent","applyPassive","globalObj","window","passiveSupported","err","supportsPassiveOption","passive","generate_recaptcha_token","callback","grecaptcha","ready","execute","body","googleSiteKey","action","then","token","querySelector","form_params","selector","params","params_with_csrf_token","form","append_input_to_params","URLSearchParams","append_csrf_token","token_name","getAttribute","token_value","form_element","method","id","hidden_field","closest","matches","parentElement","webkitMatchesSelector","msMatchesSelector","estimateScrollWidth","htmlEl","offsetParent","scrollWidth","clone","cloneNode","style","setProperty","documentElement","removeChild","CookieManager","val","date","Date","setTime","getTime","cookie","toUTCString","trim","indexOf","substring","remove","MDCRipple","_super","_this","disabled","opts","isUnbounded","ripple","unbounded","createAdapter","instance","addClass","className","browserSupportsCssVars","computeBoundingRect","getBoundingClientRect","containsEventTarget","target","contains","deregisterDocumentInteractionHandler","deregisterInteractionHandler","deregisterResizeHandler","getWindowPageOffset","x","pageXOffset","y","pageYOffset","isSurfaceActive","isSurfaceDisabled","Boolean","registerDocumentInteractionHandler","registerInteractionHandler","registerResizeHandler","removeClass","updateCssVariable","varName","unbounded_","setUnbounded_","activate","deactivate","layout","setUnbounded","User","isLoggedIn","type","isEmailVerified","emailVerified","isFreeAccount","status","isPaidExpired","isFreeTrialActive","isFreeTrialExpired","isPaidActive","hasActiveSubscription","userType","isExpired","expired","userStatus","hasNotification","shareId","notificationShareIds","notificationCount","index","notificationQuantities","notifIds","split","notifCounts","CLOSING","OPEN","OPENING","ACTION_SELECTOR","ARIA_LIVE_LABEL_TEXT_ATTR","CLOSED_EVENT","CLOSING_EVENT","DISMISS_SELECTOR","LABEL_SELECTOR","OPENED_EVENT","OPENING_EVENT","REASON_ACTION","REASON_DISMISS","SURFACE_SELECTOR","DEFAULT_AUTO_DISMISS_TIMEOUT_MS","INDETERMINATE","MAX_AUTO_DISMISS_TIMEOUT_MS","MIN_AUTO_DISMISS_TIMEOUT_MS","SNACKBAR_ANIMATION_CLOSE_TIME_MS","SNACKBAR_ANIMATION_OPEN_TIME_MS","ARIA_LIVE_DELAY_MS","MDCSnackbarFoundation","defaultAdapter","isOpen_","animationFrame_","animationTimer_","autoDismissTimer_","autoDismissTimeoutMs_","closeOnEscape_","announce","notifyClosed","notifyClosing","notifyOpened","notifyOpening","clearAutoDismissTimer_","cancelAnimationFrame","clearTimeout","open","runNextAnimationFrame_","setTimeout","timeoutMs","getTimeoutMs","handleAnimationTimerEnd_","close","reason","isOpen","setTimeoutMs","minValue","maxValue","getCloseOnEscape","setCloseOnEscape","closeOnEscape","handleKeyDown","handleActionButtonClick","_evt","handleActionIconClick","requestAnimationFrame","ariaEl","labelEl","priority","labelText","textContent","removeAttribute","MDCSnackbar","announcerFactory","announce_","surfaceEl_","labelEl_","actionEl_","handleKeyDown_","handleSurfaceClick_","isActionButton_","isActionIcon_","registerKeyDownHandler_","registerSurfaceClickHandler_","deregisterKeyDownHandler_","deregisterSurfaceClickHandler_","actionButtonText","message","addFlashMessage","success","clazz","removeFlashMessage","div","buildFlashMessage","prepareFlashMessage","surface","existing","BG_FOCUSED","FG_ACTIVATION","FG_DEACTIVATION","UNBOUNDED","VAR_FG_SCALE","VAR_FG_SIZE","VAR_FG_TRANSLATE_END","VAR_FG_TRANSLATE_START","VAR_LEFT","VAR_TOP","DEACTIVATION_TIMEOUT_MS","FG_DEACTIVATION_MS","INITIAL_ORIGIN_SCALE","PADDING","TAP_DELAY_MS","ACTIVATION_EVENT_TYPES","POINTER_DEACTIVATION_EVENT_TYPES","activatedTargets","MDCRippleFoundation","activationAnimationHasEnded_","activationTimer_","fgDeactivationRemovalTimer_","fgScale_","frame_","width","height","initialSize_","layoutFrame_","maxRadius_","unboundedCoords_","left","top","activationState_","defaultActivationState_","activationTimerCallback_","runDeactivationUXLogicIfReady_","activateHandler_","activate_","deactivateHandler_","deactivate_","focusHandler_","handleFocus","blurHandler_","handleBlur","resizeHandler_","right","bottom","supportsPressRipple","supportsPressRipple_","registerRootHandlers_","_a","ROOT_1","UNBOUNDED_1","layoutInternal_","ROOT_2","UNBOUNDED_2","removeCssVars_","deregisterRootHandlers_","deregisterDeactivationHandlers_","activationEvent","hasDeactivationUXRun","isActivated","isProgrammatic","wasActivatedByPointer","wasElementMadeActive","forEach","registerDeactivationHandlers_","rippleStrings","keys","activationState","previousActivationEvent","previousActivationEvent_","some","resetActivationState_","checkElementMadeActive_","animateActivation_","_b","translateStart","translateEnd","_c","getFgTranslationCoordinates_","startPoint","endPoint","rmBoundedActivationClasses_","state","animateDeactivation_","maxDim","Math","max","sqrt","pow","initialSize","floor","updateLayoutCssVars_","round","EmojiFallback","prepare_string","run","emoji_support","replace_emojis","tree_walker","nodes","createTreeWalker","NodeFilter","SHOW_TEXT","node","parentNode","FILTER_SKIP","nodeName","String","nodeValue","FILTER_ACCEPT","FILTER_REJECT","text_nodes","walker","nextNode","currentNode","getContext","context","fillText","flag","fromCodePoint","textBaseline","font","getImageData","data","codePoint","point","offset","units","fromCharCode","surrogatePairToCodepoint","lead","trail","getImageForCodepoint","hex","img","verticalAlign","src","fragmentForString","htmlString","tmpDoc","fragment","createDocumentFragment","childNode","firstChild","replace_in_node","pattern","match","replacement","imageReplacement","replaceChild","replaceInElement","replace","p1","p2","p3","p4","point1","charCodeAt","point2","toString","outerHTML","chars","join","ELEMENTS_KEY_ALLOWED_IN","preventDefaultEvent","tagName","toLowerCase","preventDefault","matchItem","nextChar","focusItemAtIndex","sortedIndexByFirstChar","focusedItemIndex","skipFocus","isItemAtIndexDisabled","bufferClearTimeout","clearBuffer","typeaheadBuffer","firstChar","itemsMatchingFirstChar","currentFirstChar","sortedIndexCursor","newIndex","cursorPosition","newCursorPosition","matchFirstChar","startingItem","text","lastIndexOf","nextCursorPosition","currentItem","isEnabled","matchAllChars","isTypingInProgress","handleKeydown","event","isTargetListItem","isArrowLeft","isArrowUp","isArrowRight","isArrowDown","isHome","isEnd","isEnter","isSpace","MDCListFoundation","wrapFocus_","isVertical_","isSingleSelectionList_","selectedIndex_","useActivatedClass_","ariaCurrentAttrValue_","isCheckboxList_","isRadioList_","hasTypeahead","typeaheadState","addClassForElementIndex","getAttributeForElementIndex","getFocusedElementIndex","getListItemCount","hasCheckboxAtIndex","hasRadioAtIndex","isCheckboxCheckedAtIndex","isFocusInsideList","isRootFocused","listItemAtIndexHasClass","notifyAction","removeClassForElementIndex","setAttributeForElementIndex","setCheckedCheckboxOrRadioAtIndex","setTabIndexForListItemChildren","getPrimaryTextAtIndex","typeaheadInitSortedIndex","setWrapFocus","setVerticalOrientation","setSingleSelection","setHasTypeahead","isTypeaheadInProgress","setUseActivatedClass","useActivated","getSelectedIndex","setSelectedIndex","isIndexValid_","setCheckboxAtIndex_","setRadioAtIndex_","setSingleSelectionAtIndex_","handleFocusIn","_","listItemIndex","handleFocusOut","setTabindexToFirstSelectedItem_","isRootListItem","focusLastElement","focusFirstElement","currentIndex","focusNextElement","focusPrevElement","isSelectableList_","setSelectedIndexOnAction_","handleClick","toggleCheckbox","setTabindexAtIndex_","nextIndex","prevIndex","lastIndex","setEnabled","itemIndex","selectedClassName","setAriaForSingleSelectionAtIndex_","isAriaCurrent","ariaAttribute","ariaAttributeValue","isChecked","targetIndex","reduce","minIndex","min","isIndexInRange_","listSize","toggleCheckboxAtIndex_","selectedIndexes","slice","filter","typeaheadMatchItem","startingIndex","listItemCount","getPrimaryTextByItemIndex","primaryText","values","sort","first","second","clearTypeaheadBuffer","ROOT_SELECTOR","MDCTextFieldCharacterCounterFoundation","setContent","setCounterValue","currentLength","maxLength","MDCTextFieldCharacterCounter","ARIA_CONTROLS","INPUT_SELECTOR","LEADING_ICON_SELECTOR","LINE_RIPPLE_SELECTOR","OUTLINE_SELECTOR","PREFIX_SELECTOR","SUFFIX_SELECTOR","TRAILING_ICON_SELECTOR","DISABLED","FOCUSED","FULLWIDTH","HELPER_LINE","INVALID","LABEL_FLOATING","NO_LABEL","OUTLINED","TEXTAREA","WITH_LEADING_ICON","WITH_TRAILING_ICON","LABEL_SCALE","VALIDATION_ATTR_WHITELIST","ALWAYS_FLOAT_TYPES","POINTERDOWN_EVENTS","INTERACTION_EVENTS","MDCTextFieldFoundation","foundationMap","isFocused_","receivedUserInput_","isValid_","useNativeValidation_","helperText_","helperText","characterCounter_","characterCounter","leadingIcon_","leadingIcon","trailingIcon_","trailingIcon","inputFocusHandler_","activateFocus","inputBlurHandler_","deactivateFocus","inputInputHandler_","handleInput","setPointerXOffset_","setTransformOrigin","textFieldInteractionHandler_","handleTextFieldInteraction","validationAttributeChangeHandler_","attributesList","handleValidationAttributeChange","getNativeInput_","shouldAlwaysFloat_","getValue","isBadInput_","isValid","hasClass","registerTextFieldInteractionHandler","deregisterTextFieldInteractionHandler","registerInputInteractionHandler","deregisterInputInteractionHandler","registerValidationAttributeChangeHandler","MutationObserver","deregisterValidationAttributeChangeHandler","getNativeInput","isFocused","activateLineRipple","deactivateLineRipple","setLineRippleTransformOrigin","shakeLabel","floatLabel","setLabelRequired","hasLabel","getLabelWidth","hasOutline","notchOutline","closeOutline","required","shouldFloat","styleFloating_","validationObserver_","setCharacterCounter_","nativeInput","attributeName","styleValidity_","openNotch","labelWidth","styleFocused_","shouldShake","showToScreenReader","isDisabled","touches","targetEvent","targetClientRect","normalizedX","clientX","autoCompleteFocus","setValue","isNativeInputValid_","setValid","setUseNativeValidation","useNativeValidation","setDisabled","styleDisabled_","setHelperTextContent","setLeadingIconAriaLabel","setAriaLabel","setLeadingIconContent","setTrailingIconAriaLabel","setTrailingIconContent","validity","badInput","valid","setValidity","isFloating","MDCTextField","rippleFactory","lineRippleFactory","helperTextFactory","characterCounterFactory","iconFactory","labelFactory","outlineFactory","input_","labelElement","label_","lineRippleElement","lineRipple_","outlineElement","outline_","helperTextStrings","nextElementSibling","hasHelperLine","helperTextEl","characterCounterStrings","characterCounterEl","leadingIconEl","trailingIconEl","prefix_","suffix_","createRipple_","minLength","step","prefixText","suffixText","focus","getRootAdapterMethods_","getInputAdapterMethods_","getLabelAdapterMethods_","getLineRippleAdapterMethods_","getOutlineAdapterMethods_","getFoundationMap_","observer","mutationsList","map","mutation","getAttributesList","observe","attributes","disconnect","activeElement","float","getWidth","shake","isRequired","setRequired","setRippleCenter","closeNotch","notch","foundationForTextField","isTextArea","isOutlined","ponyfill","supportsCssVariables_","supportsCssVariables","windowObj","forceRefresh","supportsCssVars","CSS","supports","explicitlySupportsCssVars","weAreFeatureDetectingSafari10plus","getNormalizedEventCoords","pageOffset","clientRect","normalizedY","documentX","documentY","touchEvent","changedTouches","pageX","pageY","mouseEvent","_classCallCheck","Constructor","_defineProperties","props","descriptor","writable","_createClass","protoProps","staticProps","_unsupportedIterableToArray","minLen","_arrayLikeToArray","from","test","arr","len","arr2","_createForOfIteratorHelper","isArray","F","f","it","normalCompletion","didErr","dataAttribute","resultsList","result","highlight","selectedResult","getInput","createResultsList","renderResults","container","destination","insertAdjacentElement","position","addResultsToList","dataSrc","resultItem","added","record","resultIndex","clearResults","onSelection","field","feedback","resultsValues","selection","query","HTMLInputElement","results","list","find","Number","currentTarget","navigation","childNodes","liLength","liSelected","removeSelection","direction","nextSibling","previousSibling","highlightSelection","current","onkeydown","onmousedown","autoComplete","config","_config$selector","_config$data","_src","_config$data$cache","cache","_config$trigger","trigger","_config$trigger$event","_config$trigger$condi","condition","_config$searchEngine","searchEngine","_config$threshold","threshold","_config$debounce","debounce","_config$resultsList","_config$resultsList$r","render","_config$resultsList$c","_config$resultsList$p","_config$resultsList$e","resultsListElement","_config$resultsList$n","navigation$$1","_config$sort","placeHolder","_config$maxResults","maxResults","_config$resultItem","_config$resultItem$co","_config$resultItem$el","resultItemElement","noResults","_config$highlight","highlight$$1","resultsListView","view","recordLowerCase","searchPosition","number","recordChar","includes","RegExp","exec","Promise","resolve","resList","search","recordValue","queryValue","_step","_iterator","_this2","func","delay","inDebounce","inputValue","HTMLTextAreaElement","manipulate","renderResultsList","triggerCondition","eventEmitter","cancelable","listMatchedResults","dataStream","eventType","_this3","ignite","factory","HELPER_TEXT_PERSISTENT","HELPER_TEXT_VALIDATION_MSG","ARIA_HIDDEN","ROLE","MDCTextFieldHelperTextFoundation","setAttr","removeAttr","setPersistent","isPersistent","setValidation","isValidation","inputIsValid","helperTextIsPersistent","validationMsgNeedsDisplay","hide_","LABEL_FLOAT_ABOVE","LABEL_REQUIRED","LABEL_SHAKE","MDCFloatingLabelFoundation","shakeAnimationEndHandler_","handleShakeAnimationEnd_","NOTCH_ELEMENT_SELECTOR","NOTCH_ELEMENT_PADDING","OUTLINE_NOTCHED","OUTLINE_UPGRADED","MDCNotchedOutlineFoundation","setNotchWidthProperty","removeNotchWidthProperty","notchWidth","MDCNotchedOutline","notchElement_","transitionDuration","removeProperty","MDCFloatingLabel","LINE_RIPPLE_ACTIVE","LINE_RIPPLE_DEACTIVATING","MDCLineRippleFoundation","transitionEndHandler_","handleTransitionEnd","setStyle","registerEventHandler","deregisterEventHandler","xCoordinate","isDeactivating","propertyName","MDCLineRipple","MDCList","querySelectorAll","isSingleSelectionList","handleClick_","handleClickEvent_","handleKeydown_","handleKeydownEvent_","focusInEventListener_","handleFocusInEvent_","focusOutEventListener_","handleFocusOutEvent_","initializeListType","vertical","getPrimaryText","item","singleLineText","checkboxListItems","singleSelectedListItem","radioSelectedListItem","preselectedItems","selectedIndex","listItem","listElements","singleSelection","attr","checked","toggleEl","initEvent","tabIndexValue","getListItemIndex_","eventTarget","nearestParent","ICON_EVENT","ICON_ROLE","MDCTextFieldIconFoundation","savedTabIndex_","interactionHandler_","handleInteraction","getAttr","notifyIconAction","isEnterKey","MDCTextFieldIcon","FOCUS_SENTINEL_CLASS","FocusTrap","elFocusedBeforeTrapFocus","trapFocus","focusableEls","getFocusableElements","HTMLElement","wrapTabFocus","skipInitialFocus","focusInitialElement","initialFocusEl","releaseFocus","sentinelEl","sentinelStart","createSentinel","sentinelEnd","insertBefore","children","focusIndex","isDisabledOrHidden","isTabbableAndVisible","tabIndex","isProgrammaticallyHidden","getComputedStyle","display","visibility","sentinel","amplitude","getInstance","userId","setUserId","identify","Identify","userName","EventTracking","track","properties","location","pathname","logEvent","MDCTextFieldHelperText","ACTIVE","FADE","NO_TRANSITION","CONTENT_SELECTOR","MDCTabIndicatorFoundation","computeContentClientRect","setContentStyleProperty","MDCFadingTabIndicatorFoundation","MDCSlidingTabIndicatorFoundation","previousIndicatorClientRect","currentClientRect","widthDelta","xPosition","MDCTabIndicator","content_","prop","g","Function","CompanySearch","includeHoldings","includeLinkToRequestCompany","selectionCallback","prepare","emoji","prepareAutocomplete","onsubmit","onblur","encodeURIComponent","fetch","source","json","placeholder","path","ticker","onclick","prepareNagivateToOnClick","afterLogin","prepareRedirectAfterLogin","toggle","_typeof","obj","_defineProperty","_objectSpread","ownKeys","getOwnPropertySymbols","sym","getOwnPropertyDescriptor","SpecialEventType","IdentifyOperation","LogLevel","Status","isBrowserEnv","fromHttpCode","code","Success","RateLimit","PayloadTooLarge","Invalid","Failed","Unknown","Skipped","fallbackGlobalObject","getGlobalObject","process","versions","global","self","globalNamespace","__AMPLITUDE__","getGlobalAmplitudeNamespace","PREFIX","Logger","_logLevel","disable","enable","logLevel","Warn","log","Verbose","console","warn","Constants","logger","UTF8","utftext","c1","c2","Base64","_keyStr","encode","btoa","atob","unescape","_encode","chr1","chr2","chr3","enc1","enc2","enc3","enc4","output","isNaN","charAt","decode","decodeURIComponent","escape","_decode","nodeType","Buffer","isBuffer","valueOf","localStorage","logLevels","DISABLE","ERROR","WARN","INFO","_log","info","_truncateValue","validateProperties","propsType","copy","keyType","validatePropertyValue","invalidValueTypes","valueType","arrayCopy","elemType","validateGroupName","groupName","groupNameType","utils","logLevelName","str","truncate","groups","groupsType","group","expectedType","getLocation","base64Id","random","ca","expires","expirationDays","domain","secure","sameSite","baseCookie","uid","cookieName","_areCookiesEnabled","getHost","href","hostname","topDomain","parts","levels","cname","_options","_domainSpecific","suffix","get$1","nameEq","JSON","parse","set$1","stringify","Cookie","reset","stored","setRaw","getRaw","setItem","getItem","removeItem","windowLocalStorageAvailable","globalStorage","attrKey","getElementsByTagName","addBehavior","k","v","load","save","clear","XMLDocument","_storageOptionExists","ampLocalStorage","cookieStorage","storage","getStorage","keyPrefix","storageOptionExists","MetadataStorage","_ref","storageKey","disableCookies","cookieDomain","writableTopDomain","disableCookieStorage","_ref2","deviceId","optOut","sessionId","lastEventTime","eventId","identifyId","sequenceNumber","sessionStorage","getCookieStorageKey","parseInt","AMP_OP_CLEAR_ALL","userPropertiesOperations","_addOperation","clearAll","prepend","setOnce","unset","operation","commonjsGlobal","createCommonjsModule","fn","md5","$","safeAdd","lsw","md5cmn","q","num","cnt","md5ff","md5gg","md5hh","md5ii","binlMD5","olda","oldb","oldc","oldd","binl2rstr","length32","rstr2binl","length8","rstr2hex","hexTab","str2rstrUTF8","rawMD5","rstrMD5","rawHMACMD5","hash","bkey","ipad","opad","rstrHMACMD5","string","raw","propIsEnumerable","propertyIsEnumerable","toObject","objectAssign","test1","getOwnPropertyNames","test2","test3","letter","shouldUseNative","symbols","to","strict","queryString","arrayFormat","formatter","encoderForArrayFormat","val2","Request","send","XDomainRequest","xdr","onload","responseText","onerror","ontimeout","onprogress","xhr","XMLHttpRequest","onreadystatechange","readyState","setRequestHeader","Revenue","_price","_productId","_quantity","_revenueType","_properties","setProductId","productId","setQuantity","quantity","setPrice","price","setRevenueType","revenueType","setEventProperties","eventProperties","_isValidRevenue","_toJSONObject","AsyncStorage","uaParser","undefined$1","FUNC_TYPE","OBJ_TYPE","MODEL","NAME","TYPE","VENDOR","VERSION","ARCHITECTURE","CONSOLE","MOBILE","TABLET","SMARTTV","WEARABLE","util","extend","regexes","extensions","mergedRegexes","str1","str2","lowerize","major","version","mapper","rgx","ua","arrays","j","regex","maps","browser","oldsafari","device","amazon","model","sprint","vendor","os","windows","cpu","engine","UAParser","uastring","getResult","navigator","userAgent","rgxmap","getBrowser","getCPU","architecture","getDevice","getEngine","getOS","getUA","setUA","BROWSER","MAJOR","CPU","DEVICE","EMBEDDED","ENGINE","OS","jQuery","Zepto","parser","uuid","DEFAULT_OPTIONS","apiEndpoint","batchEvents","cookieExpiration","sameSiteCookie","cookieForceUpgrade","deferInitialization","deviceIdFromUrlParam","eventUploadPeriodMillis","eventUploadThreshold","forceHttps","includeFbclid","includeGclid","includeReferrer","includeUtm","language","languages","userLanguage","logAttributionCapturedEvent","onError","platform","savedMaxCount","saveEvents","saveParamsReferrerOncePerSession","secureCookie","sessionTimeout","trackingOptions","city","country","carrier","device_manufacturer","device_model","dma","ip_address","os_name","os_version","region","version_name","unsetParamsReferrerOnNewSession","unsentKey","unsentIdentifyKey","uploadBatchSize","AmplitudeClient","instanceName","_instanceName","_unsentEvents","_unsentIdentifys","_ua","_q","_sending","_updateScheduled","_onInit","_eventId","_identifyId","_lastEventTime","_newSession","_sequenceNumber","_sessionId","_isInitialized","_userAgent","apiKey","opt_userId","opt_config","opt_callback","_parseConfig","Prototype","toJSON","augmentedWindow","augmentedArray","prototypeJsFix","_storageSuffix","_storageSuffixV5","_oldCookiename","_unsentKey","_unsentIdentifyKey","_cookieName","_metadataStorage","hasOldCookie","hasNewCookie","_useOldCookie","hasCookie","_deferInitialization","_generateApiPropertiesTrackingConfig","_apiPropertiesTrackingOptions","tracking_options","_upgradeCookieData","_loadCookieData","_pendingReadStorage","initFromStorage","storedDeviceId","_getInitialDeviceId","now","_unsetUTMParams","_trackParamsAndReferrer","_validateUnsentEventQueue","_saveCookieData","_sendEventsIfReady","_loadSavedUnsentEvents","runQueuedFunctions","deleteLowerLevelDomainCookies","host","cookieHost","hostParts","cookieHostParts","deleteDomain","configDeviceId","_getDeviceIdFromUrlParam","_getUrlParams","queue","userProperties","user_properties","event_properties","_migrateUnsentEvents","cb","all","unsentEventsString","itemsToSet","itemsToRemove","catch","utmProperties","referrerProperties","gclidProperties","fbclidProperties","_initUtmData","_saveReferrer","_getReferrer","_saveGclid","_saveFbclid","attributionProperties","parseValidateAndLoad","_apiKeySet","methodName","savedUnsentEventsString","_getFromStorage","unsentEvents","_parseSavedUnsentEventsString","_setInStorage","events","isNewSession","onInit","getSessionId","nextEventId","nextIdentifyId","nextSequenceNumber","_unsentCount","sendEvents","scope","cookieData","_loadCookieDataProps","queryParams","cookieParams","rawCookie","fetchParam","utmSource","utmMedium","utmCampaign","utmTerm","utmContent","utmData","addIfNotNull","queryName","_sendParamsReferrerUserProperties","referrer","urlParams","gclid","fbclid","_getReferringDomain","referrerInfo","referring_domain","serializedUnsentEvents","serializedIdentifys","unsentIdentify","setDomain","_shouldDeferCall","setGroup","groupType","_logEvent","setOptOut","setSessionId","resetSessionId","regenerateDeviceId","setDeviceId","setUserProperties","sanitized","clearUserProperties","_convertProxyObjectToRealObject","proxy","identify_obj","groupIdentify","group_type","group_name","setVersionName","versionName","apiProperties","groupProperties","timestamp","eventTime","osName","osVersion","deviceModel","device_id","user_id","event_id","session_id","event_type","_shouldTrackField","api_properties","library","sequence_number","group_properties","user_agent","_limitEventsQueued","fields","splice","logEventWithTimestamp","logEventWithGroups","_isNumber","parseFloat","isFinite","logRevenueV2","revenue_obj","logRevenue","product","special","removeEvents","maxEventId","maxIdentifyId","response","_removeEvents","eventQueue","maxId","filteredEvents","unsentEvent","Infinity","protocol","numEvents","mergedEvents","_mergeEventsAndIdentifys","eventsToSend","uploadTime","client","upload_time","checksum","ceil","eventIndex","identifyIndex","noIdentifys","noEvents","setGlobalUserProperties","__VERSION__","_initializationDeferred","enableTracking","Amplitude","_instances","old","newInstance","_iq","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","marker","runClearTimeout","Item","array","noop","nextTick","title","env","argv","on","addListener","once","off","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","Uint8Array","arg","encodingOrOffset","allocUnsafe","ArrayBuffer","byteOffset","byteLength","fromArrayLike","fromArrayBuffer","encoding","isEncoding","actual","write","fromString","buffer","fromObject","assertSize","size","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","read","buf","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","parsed","substr","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","hi","lo","utf16leToBytes","fromByteArray","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","typedArraySupport","poolSize","_augment","species","fill","allocUnsafeSlow","_isBuffer","compare","pos","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","_arr","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","leadSurrogate","toByteArray","stringtrim","base64clean","dst","b64","lens","getLens","validLen","placeHoldersLen","tmp","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","maxChunkLength","len2","encodeChunk","lookup","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","abs","LN2","blur","prepare_header_search","set_lazy_image_url","image","prepare_lazy_load","images","IntersectionObserver","entries","entry","isIntersecting","unobserve","FIXED_CLASS","FIXED_SCROLLED_CLASS","SHORT_CLASS","SHORT_COLLAPSED_CLASS","SHORT_HAS_ACTION_ITEM_CLASS","DEBOUNCE_THROTTLE_RESIZE_TIME_MS","MAX_TOP_APP_BAR_HEIGHT","ACTION_ITEM_SELECTOR","NAVIGATION_EVENT","NAVIGATION_ICON_SELECTOR","TITLE_SELECTOR","MDCTopAppBarBaseFoundation","getTopAppBarHeight","notifyNavigationIconClicked","getViewportScrollY","getTotalActionItems","handleTargetScroll","handleWindowResize","handleNavigationClick","MDCTopAppBarFoundation","wasDocked_","isDockedShowing_","currentAppBarOffsetTop_","isCurrentlyBeingResized_","resizeThrottleId_","resizeDebounceId_","lastScrollPosition_","topAppBarHeight_","currentScrollPosition","diff","moveTopAppBar_","throttledResizeHandler_","checkForUpdate_","offscreenBoundaryTop","hasAnyPixelsOffscreen","hasAnyPixelsOnscreen","partiallyShowing","currentHeight","MDCFixedTopAppBarFoundation","wasScrolled_","MDCShortTopAppBarFoundation","isCollapsed_","isAlwaysCollapsed_","setAlwaysCollapsed","collapse_","maybeCollapseBar_","getAlwaysCollapsed","uncollapse_","MDCTopAppBar","navIcon_","icons","iconRipples_","icon","scrollTarget_","handleNavigationClick_","handleWindowResize_","handleTargetScroll_","isFixed","iconRipple","setScrollTarget","clientHeight","win","scrollTop","ANIMATE","DISMISSIBLE","MODAL","APP_CONTENT_SELECTOR","CLOSE_EVENT","OPEN_EVENT","SCRIM_SELECTOR","MDCDismissibleDrawerFoundation","elementHasClass","notifyClose","notifyOpen","saveFocus","restoreFocus","focusActiveNavigationItem","isOpening","isClosing","isElement_","closed_","opened_","MDCModalDrawerFoundation","handleScrimClick","MDCDrawer","list_","focusTrapFactory","listFactory","listEl","wrapFocus","focusTrapFactory_","surfaceEl","scrim_","handleScrimClick_","focusTrap_","handleTransitionEnd_","previousFocus_","previousFocus","activeNavItemEl","drawer","topAppBar","getElementById","headers","ok_clicked","dataLayer","gtag","append_quantcast","confirm_button","cookie_message","link_to_more","link","append_cookie_message","script","async","append_quantcast_if_verified","append_cookie_message_if_not_verified","trustpilot_lazy_load","horizontalScrollbarHeight_","ANIMATING","SCROLL_AREA_SCROLL","SCROLL_TEST","AREA_SELECTOR","MDCTabScrollerRTL","MDCTabScrollerRTLDefault","getScrollPositionRTL","currentScrollLeft","getScrollAreaScrollLeft","calculateScrollEdges_","scrollToRTL","scrollX","edges","clampedScrollLeft","clampScrollValue_","finalScrollPosition","scrollDelta","incrementScrollRTL","getAnimatingScrollPosition","getScrollContentOffsetWidth","getScrollAreaOffsetWidth","MDCTabScrollerRTLNegative","translateX","contentWidth","MDCTabScrollerRTLReverse","MDCTabScrollerFoundation","isAnimating_","eventTargetMatchesSelector","addScrollAreaClass","setScrollAreaStyleProperty","setScrollContentStyleProperty","getScrollContentStyleValue","setScrollAreaScrollLeft","computeScrollAreaClientRect","computeScrollContentClientRect","computeHorizontalScrollbarHeight","horizontalScrollbarHeight","getScrollPosition","isRTL_","computeCurrentScrollPositionRTL_","currentTranslateX","calculateCurrentTranslateX_","stopScrollAnimation_","evtTarget","incrementScroll","scrollXIncrement","animate_","getIncrementScrollOperation_","incrementScrollImmediate","scrollTo","scrollToRTL_","scrollTo_","getRTLScroller","rtlScrollerInstance_","rtlScrollerFactory_","transformValue","matrixParams","tx","currentScrollX","safeScrollX","animation","targetScrollX","getAnimatingScrollPosition_","scrollLeft","initialScrollLeft","newScrollLeft","rootClientRect","contentClientRect","rightEdgeDelta","MDCTabScroller","area_","handleInteraction_","propName","getPropertyValue","offsetWidth","documentObj","shouldCacheResult","offsetHeight","getScrollContentWidth","INTERACTED_EVENT","RIPPLE_SELECTOR","TABINDEX","TAB_INDICATOR_SELECTOR","MDCTabFoundation","focusOnActivate_","activateIndicator","deactivateIndicator","notifyInteracted","getOffsetLeft","getOffsetWidth","getContentOffsetLeft","getContentOffsetWidth","isActive","setFocusOnActivate","focusOnActivate","computeDimensions","rootWidth","rootLeft","contentLeft","contentRight","rootRight","MDCTab","tabIndicatorFactory","rippleSurface","rippleAdapter","rippleFoundation","ripple_","tabIndicatorElement","tabIndicator_","tabId","offsetLeft","computeIndicatorClientRect","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","END_KEY","ENTER_KEY","HOME_KEY","SPACE_KEY","TAB_ACTIVATED_EVENT","TAB_SCROLLER_SELECTOR","TAB_SELECTOR","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","END_KEYCODE","ENTER_KEYCODE","EXTRA_SCROLL_AMOUNT","HOME_KEYCODE","SPACE_KEYCODE","ACCEPTABLE_KEYS","KEYCODE_MAP","MDCTabBarFoundation","useAutomaticActivation_","isRTL","setActiveTab","activateTabAtIndex","deactivateTabAtIndex","focusTabAtIndex","getTabIndicatorClientRectAtIndex","getTabDimensionsAtIndex","getPreviousActiveTabIndex","getFocusedTabIndex","getIndexOfTabById","getTabListLength","notifyTabActivated","setUseAutomaticActivation","useAutomaticActivation","activateTab","previousClientRect","previousActiveIndex","indexIsInRange_","scrollIntoView","getKeyFromEvent_","isActivationKey_","determineTargetFromKey_","focusedTabIndex","handleTabInteraction","scrollIntoViewRTL_","scrollIntoView_","origin","maxIndex","calculateScrollIncrement_","scrollPosition","barWidth","nextTabDimensions","relativeContentLeft","leftIncrement","rightIncrement","calculateScrollIncrementRTL_","scrollContentWidth","findAdjacentTabIndexClosestToEdge_","tabDimensions","relativeRootLeft","relativeRootRight","relativeRootDelta","findAdjacentTabIndexClosestToEdgeRTL_","rootDelta","scrollIncrement","tabIdCounter","MDCTabBar","tabList_","tab","tabFactory","tabScrollerFactory","instantiateTabs_","tabScroller_","instantiateTabScroller_","handleTabInteraction_","active","tabElements","getTabElements_","tabScrollerElement","prepareSearchListClick","searchList","prepare_twitter_lazy_load","loaded","scrollY"],"mappings":";aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,qBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,6CAIjBlC,EAAoBA,EAAoBmC,EAAI,K,+BClFrD,0KAgBA,IAAIC,EAAgB,SAAU1B,EAAG2B,GAS/B,OARAD,EAAgBtB,OAAOwB,gBAAkB,CACvCC,UAAW,cACAC,OAAS,SAAU9B,EAAG2B,GACjC3B,EAAE6B,UAAYF,IACX,SAAU3B,EAAG2B,GAChB,IAAK,IAAIH,KAAKG,EAAOA,EAAEJ,eAAeC,KAAIxB,EAAEwB,GAAKG,EAAEH,MAGhCxB,EAAG2B,IAGnB,SAASI,EAAU/B,EAAG2B,GAG3B,SAASK,IACPC,KAAKC,YAAclC,EAHrB0B,EAAc1B,EAAG2B,GAMjB3B,EAAEsB,UAAkB,OAANK,EAAavB,OAAOY,OAAOW,IAAMK,EAAGV,UAAYK,EAAEL,UAAW,IAAIU,GAE1E,IAAIG,EAAW,WAWpB,OAVAA,EAAW/B,OAAOgC,QAAU,SAAkBxB,GAC5C,IAAK,IAAIa,EAAG/B,EAAI,EAAGyB,EAAIkB,UAAUC,OAAQ5C,EAAIyB,EAAGzB,IAG9C,IAAK,IAAI8B,KAFTC,EAAIY,UAAU3C,GAEOU,OAAOkB,UAAUC,eAAe1B,KAAK4B,EAAGD,KAAIZ,EAAEY,GAAKC,EAAED,IAG5E,OAAOZ,IAGO2B,MAAMN,KAAMI,YA6KvB,SAASG,EAASrC,GACvB,IAAIsB,EAAsB,oBAAXhB,QAAyBA,OAAOgC,SAC3C3C,EAAI2B,GAAKtB,EAAEsB,GACX/B,EAAI,EACR,GAAII,EAAG,OAAOA,EAAED,KAAKM,GACrB,GAAIA,GAAyB,kBAAbA,EAAEmC,OAAqB,MAAO,CAC5CI,KAAM,WAEJ,OADIvC,GAAKT,GAAKS,EAAEmC,SAAQnC,OAAI,GACrB,CACLQ,MAAOR,GAAKA,EAAET,KACdiD,MAAOxC,KAIb,MAAM,IAAIyC,UAAUnB,EAAI,0BAA4B,mCAE/C,SAASoB,EAAO1C,EAAGgB,GACxB,IAAIrB,EAAsB,oBAAXW,QAAyBN,EAAEM,OAAOgC,UACjD,IAAK3C,EAAG,OAAOK,EACf,IACIK,EAEAsC,EAHApD,EAAII,EAAED,KAAKM,GAEX4C,EAAK,GAGT,IACE,WAAc,IAAN5B,GAAgBA,KAAM,MAAQX,EAAId,EAAEgD,QAAQC,MAAMI,EAAGC,KAAKxC,EAAEG,OACpE,MAAOsC,GACPH,EAAI,CACFG,MAAOA,GAET,QACA,IACMzC,IAAMA,EAAEmC,OAAS7C,EAAIJ,EAAU,SAAII,EAAED,KAAKH,GAC9C,QACA,GAAIoD,EAAG,MAAMA,EAAEG,OAInB,OAAOF,EAEF,SAASG,IACd,IAAK,IAAIH,EAAK,GAAIrD,EAAI,EAAGA,EAAI2C,UAAUC,OAAQ5C,IAAKqD,EAAKA,EAAGI,OAAON,EAAOR,UAAU3C,KAEpF,OAAOqD,I,6BCxQT,mSAEOK,EAAc,SAACC,EAAOC,EAAKC,EAAQC,EAAWC,GACnD,IAAAC,EAAA,E,OAAAA,EAAIC,EAAmB,IAAK,eAC1BC,aAAa,OAAQN,GACiBC,GAAxCG,EAAEG,UAAUC,IAAI,sBAC0BL,GAA1CC,EAAEG,UAAUC,IAAI,wBAC6BN,GAA7CE,EAAEG,UAAUC,IAAI,2BAChBJ,EAAEK,OAAOJ,EAAmB,MAAO,wBACnCK,EAAOL,EAAmB,OAAQ,sBAC7BM,UAAYZ,EACjBK,EAAEK,OAAOC,GACTN,GAEKQ,EAAgB,SAACb,EAAOE,EAAQC,EAAWC,GAChD,IAAAU,E,OAAAA,EAASR,EAAmB,SAAU,cACOJ,GAA7CY,EAAON,UAAUC,IAAI,sBAC6BN,GAAlDW,EAAON,UAAUC,IAAI,2BAC0BL,GAA/CU,EAAON,UAAUC,IAAI,wBACrBK,EAAOJ,OAAOJ,EAAmB,MAAO,uBACxCQ,EAAOJ,OAAOK,EAAqB,OAAQf,EAAO,sBAClDc,GAEKE,EAAa,WAClB,IAAAC,EAAA,U,OADmBjB,EAAA,aAAOpD,EAAA,aAAMU,EAAA,aAAO4D,EAAA,4CACvCD,EAAKX,EAAA,WAAmB,SAAS,iBAAkB,0BAA0B,cAAAY,MAC1ER,OAAOJ,EAAmB,OAAQ,4BACrCa,EAAQb,EAAmB,QAAS,0BAC9BC,aAAa,QAASP,GAC5BmB,EAAMZ,aAAa,OAAQ,QAC3BY,EAAMZ,aAAa,OAAQ3D,GAC3BuE,EAAM7D,MAAQA,EACd2D,EAAGP,OAAOS,GACVF,EAAGP,OAAOK,EAAqB,OAAQf,EAAO,uBAC9CiB,EAAGP,OAAOJ,EAAmB,OAAQ,oBACrCW,GAEKG,EAAoB,WACzB,IAAAH,EAAA,c,OAD0BjB,EAAA,aAAOpD,EAAA,aAAMU,EAAA,aAAO+D,EAAA,aAAQH,EAAA,4CACtDD,EAAKX,EAAA,WAAmB,SAAS,iBAAkB,0BAA0B,cAAAY,MAC1ER,OAAOJ,EAAmB,OAAQ,2BACrCW,EAAGP,OAAOK,EAAqB,OAAQM,EAAQ,wBAAyB,gCAAiC,qBACzGF,EAAQb,EAAmB,QAAS,0BAC9BC,aAAa,QAASP,GAC5BmB,EAAMZ,aAAa,OAAQ,QAC3BY,EAAMZ,aAAa,OAAQ3D,GAC3BuE,EAAMZ,aAAa,UAAW,aAC9BY,EAAMZ,aAAa,YAAa,WAChCY,EAAM7D,MAAQA,EACd2D,EAAGP,OAAOS,GACVG,EAAgBP,EAAqB,OAAQf,EAAO,sBACpDiB,EAAGP,OAAOY,GACVL,EAAGP,OAAOJ,EAAmB,OAAQ,oBACrCW,GAEKX,EAAqB,WAC1B,QAAAW,EAAA,MACA,IAF2BM,EAAA,aAASC,EAAA,2CACpCP,EAAKQ,SAASC,cAAcH,EAAQI,eACpC,uBAAgD,Q,SAAhDV,EAAGT,UAAUC,IAAI/D,G,OACjBuE,GAEKF,EAAuB,WAC5B,QAAAE,EAAA,E,OAD6BM,EAAA,aAASK,EAAA,aAASJ,EAAA,2CAC/CP,EAAKX,EAAA,WAAmB,CAAAiB,GAAS,cAAAC,KACX,kBAAZI,GAAuC,MAAdA,EAAQ,GACzCX,EAAGY,UAAYD,EAEfX,EAAGP,OAAOkB,GACZX,GAGKa,EAAyB,SAAC9B,EAAO1C,EAAOyE,GAC7C,IAAAC,E,OAAAA,EAAK1B,EAAmB,KAAM,kBAC3B2B,QAAQ3E,MAAQA,EACnB0E,EAAGzB,aAAa,OAAQ,UACoBwB,GAA5CC,EAAGzB,aAAa,gBAAiB,QACjCyB,EAAGtB,OAAOJ,EAAmB,OAAQ,0BACrC0B,EAAGtB,OAAOK,EAAqB,OAAQf,EAAO,wBAC9CgC,GAEKE,EAAkB,SAAClC,GACxB,MAAAmC,EAAA,E,OAAAA,EAAS7B,EAAmB,MAAO,aAAc,uBAC1CI,OAAO0B,EAAcpC,IAE5BqC,EAAO/B,EAAmB,MAAO,mBAAoB,WAAY,qBACjEgC,EAAKhC,EAAmB,KAAM,aAC3BC,aAAa,OAAQ,WACxB+B,EAAG/B,aAAa,aAAcP,GAC9BqC,EAAK3B,OAAO4B,GACZH,EAAOzB,OAAO2B,GACdF,GAEFC,EAAgB,SAACpC,GACf,IAAAuC,E,OAAAA,EAASjC,EAAmB,MAAO,uBAC5BC,aAAa,OAAQ,UAC5BgC,EAAOhC,aAAa,gBAAiB,WACrCgC,EAAOhC,aAAa,gBAAiB,SACrCgC,EAAO7B,OAAOJ,EAAmB,OAAQ,uBACzCiC,EAAO7B,OAAOK,EAAqB,OAAQf,EAAO,uBAClDuC,EAAO7B,OAAOJ,EAAmB,OAAQ,8BACzCiC,EAAO7B,OAAO8B,KACdD,EAAO7B,OAAOJ,EAAmB,OAAQ,oBACzCiC,GAEFC,EAAgB,WACd,QAAAC,E,OAAAA,EAAMhB,SAASiB,gBAAgB,6BAA8B,QACzDlC,UAAUC,IAAI,qCAClBgC,EAAIE,eAAe,KAAM,UAAW,aACpCF,EAAIE,eAAe,KAAM,YAAa,UACtCC,EAAmBnB,SAASiB,gBAAgB,6BAA8B,YACzDlC,UAAUC,IAAI,sCAC/BmC,EAAiBD,eAAe,KAAM,SAAU,QAChDC,EAAiBD,eAAe,KAAM,YAAa,WACnDC,EAAiBD,eAAe,KAAM,SAAU,qBAEhDE,EAAiBpB,SAASiB,gBAAgB,6BAA8B,YACzDlC,UAAUC,IAAI,oCAC7BoC,EAAeF,eAAe,KAAM,SAAU,QAC9CE,EAAeF,eAAe,KAAM,YAAa,WACjDE,EAAeF,eAAe,KAAM,SAAU,oBAE9CF,EAAIK,YAAYF,GAChBH,EAAIK,YAAYD,GAChB9B,EAAqB,OAAQ0B,EAAK,+B,6BCvHpC,sGAsBA,IAAIM,EAAa,CACfC,0BAA2B,2BAC3BC,gBAAiB,gBACjBC,yBAA0B,0BAC1BC,yBAA0B,0BAC1BC,qBAAsB,sBACtBC,6BAA8B,8BAC9BC,KAAM,YAEJC,EAAU,CACZC,aAAc,iBACdC,aAAc,eACdC,+BAAgC,yCAChCC,4BAA6B,sCAC7BC,aAAc,eACdC,cAAe,gBACfC,iBAAkB,mBAClBC,4BAA6B,aAC7BC,4BAA6B,oBAC7BC,cAAe,gBACfC,wBAAyB,8CACzBC,kBAAmB,yBACnBC,kCAAmC,UAAYrB,EAAWE,gBAAkB,iCAAmCF,EAAWE,gBAAkB,SAC5IoB,yBAA0B,UAAYtB,EAAWE,gBAAkB,iCAAmCF,EAAWE,gBAAkB,aAAeF,EAAWE,gBAAkB,8CAAkDF,EAAWE,gBAAkB,6CAC9PqB,eAAgB,uBAEdC,EAAU,CACZC,aAAc,EACdC,kCAAmC,M,6BClDrC,kCAsBA,IAAIC,EAEJ,WACE,SAASA,EAAcC,QACL,IAAZA,IACFA,EAAU,IAGZ/F,KAAK+F,QAAUA,EA+CjB,OA5CA5H,OAAOC,eAAe0H,EAAe,aAAc,CACjDxH,IAAK,WAGH,MAAO,IAETD,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe0H,EAAe,UAAW,CAC9CxH,IAAK,WAGH,MAAO,IAETD,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe0H,EAAe,UAAW,CAC9CxH,IAAK,WAGH,MAAO,IAETD,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe0H,EAAe,iBAAkB,CACrDxH,IAAK,WAIH,MAAO,IAETD,YAAY,EACZ2H,cAAc,IAGhBF,EAAczG,UAAU4G,KAAO,aAG/BH,EAAczG,UAAU6G,QAAU,aAG3BJ,EArDT,I,6BCxBA,oDAyBIK,EAEJ,WACE,SAASA,EAAaC,EAAMC,GAG1B,IAFA,IAAIC,EAAO,GAEFC,EAAK,EAAGA,EAAKnG,UAAUC,OAAQkG,IACtCD,EAAKC,EAAK,GAAKnG,UAAUmG,GAG3BvG,KAAKoG,KAAOA,EACZpG,KAAKwG,WAAWlG,MAAMN,KAAM,YAASsG,IAGrCtG,KAAKqG,gBAA4BI,IAAfJ,EAA2BrG,KAAK0G,uBAAyBL,EAC3ErG,KAAKqG,WAAWJ,OAChBjG,KAAK2G,qBA0EP,OAvEAR,EAAaS,SAAW,SAAUR,GAKhC,OAAO,IAAID,EAAaC,EAAM,IAAI,IAAc,MAKlDD,EAAa9G,UAAUmH,WAAa,WAGlC,IAFA,IAAIK,EAAQ,GAEHN,EAAK,EAAGA,EAAKnG,UAAUC,OAAQkG,IACtCM,EAAMN,GAAMnG,UAAUmG,IAO1BJ,EAAa9G,UAAUqH,qBAAuB,WAG5C,MAAM,IAAII,MAAM,mGAGlBX,EAAa9G,UAAUsH,mBAAqB,aAM5CR,EAAa9G,UAAU6G,QAAU,WAG/BlG,KAAKqG,WAAWH,WAGlBC,EAAa9G,UAAU0H,OAAS,SAAUC,EAASC,EAASC,GAC1DlH,KAAKoG,KAAKe,iBAAiBH,EAASC,EAASC,IAG/Cf,EAAa9G,UAAU+H,SAAW,SAAUJ,EAASC,EAASC,GAC5DlH,KAAKoG,KAAKiB,oBAAoBL,EAASC,EAASC,IAOlDf,EAAa9G,UAAUiI,KAAO,SAAUN,EAASO,EAASC,GAKxD,IAAIC,OAJiB,IAAjBD,IACFA,GAAe,GAKU,oBAAhBE,YACTD,EAAM,IAAIC,YAAYV,EAAS,CAC7BW,QAASH,EACTI,OAAQL,KAGVE,EAAM5E,SAASgF,YAAY,gBACvBC,gBAAgBd,EAASQ,GAAc,EAAOD,GAGpDvH,KAAKoG,KAAK2B,cAAcN,IAGnBtB,EAxFT,I,6BC3BA,sGA0BO,IAAI6B,EAAM,CACfC,QAAS,UACTC,UAAW,YACXC,MAAO,QACPC,SAAU,WACVC,QAAS,SACTC,UAAW,WACXC,IAAK,MACLC,KAAM,OACNC,WAAY,YACZC,SAAU,UACVC,YAAa,aACbC,WAAY,YACZC,OAAQ,SACRC,OAAQ,UAENC,EAAiB,IAAIC,IAGzBD,EAAelH,IAAImG,EAAIE,WACvBa,EAAelH,IAAImG,EAAIG,OACvBY,EAAelH,IAAImG,EAAII,UACvBW,EAAelH,IAAImG,EAAIK,SACvBU,EAAelH,IAAImG,EAAIM,WACvBS,EAAelH,IAAImG,EAAIO,KACvBQ,EAAelH,IAAImG,EAAIQ,MACvBO,EAAelH,IAAImG,EAAIS,YACvBM,EAAelH,IAAImG,EAAIU,UACvBK,EAAelH,IAAImG,EAAIW,aACvBI,EAAelH,IAAImG,EAAIY,YACvBG,EAAelH,IAAImG,EAAIa,QACvBE,EAAelH,IAAImG,EAAIc,QACvB,IAAIG,EACS,EADTA,EAEK,GAFLA,EAGQ,GAHRA,EAIO,GAJPA,EAKS,GALTA,EAMG,GANHA,EAOI,GAPJA,EAQU,GARVA,EASQ,GATRA,EAUW,GAVXA,EAWU,GAXVA,EAYM,GAZNA,EAaM,GAENC,EAAiB,IAAIC,IAGzBD,EAAeE,IAAIH,EAAoBjB,EAAIE,WAC3CgB,EAAeE,IAAIH,EAAgBjB,EAAIG,OACvCe,EAAeE,IAAIH,EAAmBjB,EAAII,UAC1Cc,EAAeE,IAAIH,EAAkBjB,EAAIK,SACzCa,EAAeE,IAAIH,EAAoBjB,EAAIM,WAC3CY,EAAeE,IAAIH,EAAcjB,EAAIO,KACrCW,EAAeE,IAAIH,EAAejB,EAAIQ,MACtCU,EAAeE,IAAIH,EAAqBjB,EAAIS,YAC5CS,EAAeE,IAAIH,EAAmBjB,EAAIU,UAC1CQ,EAAeE,IAAIH,EAAsBjB,EAAIW,aAC7CO,EAAeE,IAAIH,EAAqBjB,EAAIY,YAC5CM,EAAeE,IAAIH,EAAiBjB,EAAIa,QACxCK,EAAeE,IAAIH,EAAiBjB,EAAIc,QACxC,IAAIO,EAAiB,IAAIL,IAelB,SAASM,EAAa7B,GAC3B,IAAIzI,EAAMyI,EAAIzI,IAEd,GAAI+J,EAAeQ,IAAIvK,GACrB,OAAOA,EAIT,IAAIwK,EAAYN,EAAe5K,IAAImJ,EAAIgC,SAEvC,OAAID,GAIGxB,EAAIC,QAMN,SAASyB,EAAkBjC,GAChC,OAAO4B,EAAeE,IAAID,EAAa7B,IAjCzC4B,EAAexH,IAAImG,EAAIK,SACvBgB,EAAexH,IAAImG,EAAIM,WACvBe,EAAexH,IAAImG,EAAIO,KACvBc,EAAexH,IAAImG,EAAIQ,MACvBa,EAAexH,IAAImG,EAAIS,YACvBY,EAAexH,IAAImG,EAAIU,UACvBW,EAAexH,IAAImG,EAAIW,aACvBU,EAAexH,IAAImG,EAAIY,a,6BCxEhB,SAASe,EAAaC,GAK3B,YAJkB,IAAdA,IACFA,EAAYC,UAQhB,SAA+BD,QACX,IAAdA,IACFA,EAAYC,QAKd,IAAIC,GAAmB,EAEvB,IACE,IAAI5C,EAAU,CAGZ,cAEE,OADA4C,GAAmB,GACZ,IAKP7C,EAAU,aAEd2C,EAAU/G,SAASsE,iBAAiB,OAAQF,EAASC,GACrD0C,EAAU/G,SAASwE,oBAAoB,OAAQJ,EAASC,GACxD,MAAO6C,GACPD,GAAmB,EAGrB,OAAOA,EAjCAE,CAAsBJ,IAAa,CACxCK,SAAS,GAjCb,mC,8BCAA,sLAAOC,EAA2B,SAACC,G,OACjCC,WAAWC,OAAM,W,OACfD,WAAWE,QAAQzH,SAAS0H,KAAKlH,QAAQmH,cAAe,CAACC,OAAQ,WAAWC,MAAK,SAACC,G,OAChF9H,SAAS+H,cAAc,oBAAoBlM,MAAQiM,EACnDR,WAECU,EAAc,SAACC,GACpB,gBAAAC,EAAA,MAEA,IAFAA,EAASC,IAET,UADAC,EAAOpI,SAAS+H,cAAcE,IAC9B,0C,OAAAI,EAAuB3I,EAAOwI,GAC9B,0D,OAAAG,EAAuB3H,EAAQwH,G,OAC/BA,GAEKC,EAAyB,WAC9B,IAAAD,E,OAAAA,EAAS,IAAII,gBACbC,EAAkBL,GAClBA,GAEFG,EAAyB,SAAC3I,EAAOwI,G,OAC/BA,EAAOjJ,OAAOS,EAAMvE,KAAMuE,EAAM7D,QAElC0M,EAAoB,SAACL,GACnB,IAAAM,EAAA,E,OAAAA,EAAcxI,SAAS+H,cAAc,yBAAyBU,aAAa,WAC3EC,EAAc1I,SAAS+H,cAAc,yBAAyBU,aAAa,WAC3EP,EAAOjJ,OAAOuJ,EAAYE,IAE5B,IAAOC,EAAe,SAACnK,EAAKoK,EAAQC,GAClC,IAAAT,E,OAAAA,EAAOpI,SAASC,cAAc,SACzBnB,aAAa,SAAUN,GAC5B4J,EAAKtJ,aAAa,SAAU8J,GAAU,QACtCR,EAAKtJ,aAAa,KAAM+J,GACxBT,GAEKU,EAAe,SAAC3N,EAAMU,GAC3B,IAAA6D,E,OAAAA,EAAQM,SAASC,cAAc,UACzBnB,aAAa,OAAQ3D,GAC3BuE,EAAMZ,aAAa,OAAQ,UAC3BY,EAAM7D,MAAQA,EACd6D,I,6BCXK,SAASqJ,EAAQjJ,EAASmI,GAC/B,GAAInI,EAAQiJ,QACV,OAAOjJ,EAAQiJ,QAAQd,GAKzB,IAFA,IAAIzI,EAAKM,EAEFN,GAAI,CACT,GAAIwJ,EAAQxJ,EAAIyI,GACd,OAAOzI,EAGTA,EAAKA,EAAGyJ,cAGV,OAAO,KAEF,SAASD,EAAQlJ,EAASmI,GAE/B,OADoBnI,EAAQkJ,SAAWlJ,EAAQoJ,uBAAyBpJ,EAAQqJ,mBAC3DpO,KAAK+E,EAASmI,GAW9B,SAASmB,EAAoBtJ,GAKlC,IAAIuJ,EAASvJ,EAEb,GAA4B,OAAxBuJ,EAAOC,aACT,OAAOD,EAAOE,YAGhB,IAAIC,EAAQH,EAAOI,WAAU,GAC7BD,EAAME,MAAMC,YAAY,WAAY,YACpCH,EAAME,MAAMC,YAAY,YAAa,+BACrC3J,SAAS4J,gBAAgBvI,YAAYmI,GACrC,IAAID,EAAcC,EAAMD,YAExB,OADAvJ,SAAS4J,gBAAgBC,YAAYL,GAC9BD,EA1ET,uG,8BCAA,sCAAaO,EAAA,W,qBAEX,EAACvD,IAAK,SAACpK,EAAK4N,GACV,IAAAC,E,OAAAA,EAAO,IAAIC,MACNC,QAAQF,EAAKG,UAAY,SAC9BnK,SAASoK,OAAYjO,EAAI,IAAG4N,EAAI,YAAWC,EAAKK,cAAc,WAEhE,EAAC5O,IAAK,SAACU,GACL,UAAAhB,EAAA,EACA,IADAA,EAAUgB,EAAI,IACd,wEAEE,GAAgE,KADhElB,G,QAAMqP,QACyCC,QAAQpP,GAAvD,OAAOF,EAAEuP,UAAUrP,EAAKqC,OAAQvC,EAAEuC,QACpC,OAAO,MAET,EAACiN,OAAQ,SAACtO,GAER,GADM2N,EAAcrO,IAAIU,G,OAEtB6D,SAASoK,OAAYjO,EAAI,+B,EAjBlB,I,8BCAb,kFA6BIuO,EAEJ,SAAUC,GAGR,SAASD,IACP,IAAIE,EAAmB,OAAXD,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KAGhE,OADAyN,EAAMC,UAAW,EACVD,EAuHT,OA7HA,YAAUF,EAAWC,GASrBD,EAAU3G,SAAW,SAAUR,EAAMuH,QACtB,IAATA,IACFA,EAAO,CACLC,iBAAanH,IAIjB,IAAIoH,EAAS,IAAIN,EAAUnH,GAM3B,YAJyBK,IAArBkH,EAAKC,cACPC,EAAOC,UAAYH,EAAKC,aAGnBC,GAGTN,EAAUQ,cAAgB,SAAUC,GAClC,MAAO,CACLC,SAAU,SAAUC,GAClB,OAAOF,EAAS5H,KAAKxE,UAAUC,IAAIqM,IAErCC,uBAAwB,WACtB,OAAO,IAA0BtE,SAEnCuE,oBAAqB,WACnB,OAAOJ,EAAS5H,KAAKiI,yBAEvBC,oBAAqB,SAAUC,GAC7B,OAAOP,EAAS5H,KAAKoI,SAASD,IAEhCE,qCAAsC,SAAUzH,EAASC,GACvD,OAAOpE,SAAS4J,gBAAgBpF,oBAAoBL,EAASC,EAAS,gBAExEyH,6BAA8B,SAAU1H,EAASC,GAC/C,OAAO+G,EAAS5H,KAAKiB,oBAAoBL,EAASC,EAAS,gBAE7D0H,wBAAyB,SAAU1H,GACjC,OAAO4C,OAAOxC,oBAAoB,SAAUJ,IAE9C2H,oBAAqB,WACnB,MAAO,CACLC,EAAGhF,OAAOiF,YACVC,EAAGlF,OAAOmF,cAGdC,gBAAiB,WACf,OAAO,YAAQjB,EAAS5H,KAAM,YAEhC8I,kBAAmB,WACjB,OAAOC,QAAQnB,EAASN,WAE1BE,YAAa,WACX,OAAOuB,QAAQnB,EAASF,YAE1BsB,mCAAoC,SAAUpI,EAASC,GACrD,OAAOpE,SAAS4J,gBAAgBtF,iBAAiBH,EAASC,EAAS,gBAErEoI,2BAA4B,SAAUrI,EAASC,GAC7C,OAAO+G,EAAS5H,KAAKe,iBAAiBH,EAASC,EAAS,gBAE1DqI,sBAAuB,SAAUrI,GAC/B,OAAO4C,OAAO1C,iBAAiB,SAAUF,IAE3CsI,YAAa,SAAUrB,GACrB,OAAOF,EAAS5H,KAAKxE,UAAU0L,OAAOY,IAExCsB,kBAAmB,SAAUC,EAAS/Q,GACpC,OAAOsP,EAAS5H,KAAKmG,MAAMC,YAAYiD,EAAS/Q,MAKtDP,OAAOC,eAAemP,EAAUlO,UAAW,YAAa,CACtDf,IAAK,WACH,OAAO6Q,QAAQnP,KAAK0P,aAEtBtG,IAAK,SAAU0E,GACb9N,KAAK0P,WAAaP,QAAQrB,GAC1B9N,KAAK2P,iBAEPtR,YAAY,EACZ2H,cAAc,IAGhBuH,EAAUlO,UAAUuQ,SAAW,WAC7B5P,KAAKqG,WAAWuJ,YAGlBrC,EAAUlO,UAAUwQ,WAAa,WAC/B7P,KAAKqG,WAAWwJ,cAGlBtC,EAAUlO,UAAUyQ,OAAS,WAC3B9P,KAAKqG,WAAWyJ,UAGlBvC,EAAUlO,UAAUqH,qBAAuB,WACzC,OAAO,IAAI,IAAoB6G,EAAUQ,cAAc/N,QAGzDuN,EAAUlO,UAAUsH,mBAAqB,WACvC,IAAIP,EAAOpG,KAAKoG,KAChBpG,KAAK8N,UAAY,yBAA0B1H,EAAK/C,SAUlDkK,EAAUlO,UAAUsQ,cAAgB,WAClC3P,KAAKqG,WAAW0J,aAAaZ,QAAQnP,KAAK0P,cAGrCnC,EA9HT,CA+HE,M,6BC9JF,sCAAOyC,EAAO,CAEZC,WAAY,W,OAAG,KAACC,OAAS,GACzBC,gBAAiB,W,YAA0C,IAAvCtN,SAAS0H,KAAKlH,QAAQ+M,eAC1CC,cAAe,W,MAAgB,gBAAb,KAACC,UACnBC,cAAe,W,MAAgB,gBAAb,KAACD,UACnBE,kBAAmB,W,MAAgB,oBAAb,KAACF,UACvBG,mBAAoB,W,MAAgB,qBAAb,KAACH,UACxBI,aAAc,W,MAAgB,eAAb,KAACJ,UAAyC,UAAb,KAACA,UAC/CK,sBAAuB,W,OAAG,KAACH,qBAAuB,KAACE,gBAEnDR,KAAM,W,OAAGrN,SAAS0H,KAAKlH,QAAQuN,UAC/BC,UAAW,W,OAAG,KAACZ,mBAAkD,IAAjCpN,SAAS0H,KAAKlH,QAAQyN,SACtDR,OAAQ,W,OAAGzN,SAAS0H,KAAKlH,QAAQ0N,YACjCC,gBAAiB,SAACC,G,OAAY,KAACC,uBAAuB9D,QAAQ6D,IAAY,GAC1EE,kBAAmB,SAACF,GAClB,IAAAG,EACA,OADAA,EAAQ,KAACF,uBAAuB9D,QAAQ6D,KACY,EAA7C,KAACI,yBAAyBD,GACjC,MAEFF,qBAAsB,W,OAAGrO,SAAS0H,KAAKlH,QAAQiO,SAASC,MAAM,MAC9DF,uBAAwB,W,OAAGxO,SAAS0H,KAAKlH,QAAQmO,YAAYD,MAAM,Q,kHCCjEpN,EAAa,CACfsN,QAAS,wBACTC,KAAM,qBACNC,QAAS,yBAEPhN,EAAU,CACZiN,gBAAiB,wBACjBC,0BAA2B,+BAC3BC,aAAc,qBACdC,cAAe,sBACfC,iBAAkB,yBAClBC,eAAgB,uBAChBC,aAAc,qBACdC,cAAe,sBACfC,cAAe,SACfC,eAAgB,UAChBC,iBAAkB,0BAEhB3M,EAAU,CACZ4M,gCAAiC,IACjCC,eAAgB,EAChBC,4BAA6B,IAC7BC,4BAA6B,IAE7BC,iCAAkC,GAClCC,gCAAiC,IAOjCC,mBAAoB,K,OC7BlBlB,EAAUxN,EAAWwN,QACrBD,EAAOvN,EAAWuN,KAClBD,EAAUtN,EAAWsN,QACrBW,EAAgBzN,EAAQyN,cACxBC,EAAiB1N,EAAQ0N,eAEzB,EAEJ,SAAU7E,GAGR,SAASsF,EAAsB/M,GAC7B,IAAI0H,EAAQD,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAI8S,EAAsBC,gBAAiBhN,KAAa/F,KAQxG,OANAyN,EAAMuF,SAAU,EAChBvF,EAAMwF,gBAAkB,EACxBxF,EAAMyF,gBAAkB,EACxBzF,EAAM0F,kBAAoB,EAC1B1F,EAAM2F,sBAAwBzN,EAAQ4M,gCACtC9E,EAAM4F,gBAAiB,EAChB5F,EAuMT,OAlNA,YAAUqF,EAAuBtF,GAcjCrP,OAAOC,eAAe0U,EAAuB,aAAc,CACzDxU,IAAK,WACH,OAAO6F,GAET9F,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe0U,EAAuB,UAAW,CACtDxU,IAAK,WACH,OAAOqG,GAETtG,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe0U,EAAuB,UAAW,CACtDxU,IAAK,WACH,OAAOqH,GAETtH,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe0U,EAAuB,iBAAkB,CAC7DxU,IAAK,WACH,MAAO,CACL2P,SAAU,aAGVqF,SAAU,aAGVC,aAAc,aAGdC,cAAe,aAGfC,aAAc,aAGdC,cAAe,aAGfnE,YAAa,eAKjBlR,YAAY,EACZ2H,cAAc,IAGhB8M,EAAsBzT,UAAU6G,QAAU,WACxClG,KAAK2T,yBACLC,qBAAqB5T,KAAKiT,iBAC1BjT,KAAKiT,gBAAkB,EACvBY,aAAa7T,KAAKkT,iBAClBlT,KAAKkT,gBAAkB,EACvBlT,KAAK+F,QAAQwJ,YAAYoC,GACzB3R,KAAK+F,QAAQwJ,YAAYmC,GACzB1R,KAAK+F,QAAQwJ,YAAYkC,IAG3BqB,EAAsBzT,UAAUyU,KAAO,WACrC,IAAIrG,EAAQzN,KAEZA,KAAK2T,yBACL3T,KAAKgT,SAAU,EACfhT,KAAK+F,QAAQ2N,gBACb1T,KAAK+F,QAAQwJ,YAAYkC,GACzBzR,KAAK+F,QAAQkI,SAAS0D,GACtB3R,KAAK+F,QAAQuN,WAEbtT,KAAK+T,wBAAuB,WAC1BtG,EAAM1H,QAAQkI,SAASyD,GAEvBjE,EAAMyF,gBAAkBc,YAAW,WACjC,IAAIC,EAAYxG,EAAMyG,eAEtBzG,EAAM0G,2BAEN1G,EAAM1H,QAAQ0N,eAEVQ,IAActO,EAAQ6M,gBACxB/E,EAAM0F,kBAAoBa,YAAW,WACnCvG,EAAM2G,MAAM/B,KACX4B,MAEJtO,EAAQiN,qCAUfE,EAAsBzT,UAAU+U,MAAQ,SAAUC,GAChD,IAAI5G,EAAQzN,UAEG,IAAXqU,IACFA,EAAS,IAGNrU,KAAKgT,UAKVY,qBAAqB5T,KAAKiT,iBAC1BjT,KAAKiT,gBAAkB,EACvBjT,KAAK2T,yBACL3T,KAAKgT,SAAU,EACfhT,KAAK+F,QAAQyN,cAAca,GAC3BrU,KAAK+F,QAAQkI,SAAS9J,EAAWsN,SACjCzR,KAAK+F,QAAQwJ,YAAYpL,EAAWuN,MACpC1R,KAAK+F,QAAQwJ,YAAYpL,EAAWwN,SACpCkC,aAAa7T,KAAKkT,iBAClBlT,KAAKkT,gBAAkBc,YAAW,WAChCvG,EAAM0G,2BAEN1G,EAAM1H,QAAQwN,aAAac,KAC1B1O,EAAQgN,oCAGbG,EAAsBzT,UAAUiV,OAAS,WACvC,OAAOtU,KAAKgT,SAGdF,EAAsBzT,UAAU6U,aAAe,WAC7C,OAAOlU,KAAKoT,uBAGdN,EAAsBzT,UAAUkV,aAAe,SAAUN,GAEvD,IAAIO,EAAW7O,EAAQ+M,4BACnB+B,EAAW9O,EAAQ8M,4BAGvB,KAAIwB,IAActO,EAAQ6M,eAAiByB,GAAaQ,GAAYR,GAAaO,GAG/E,MAAM,IAAI1N,MAAM,uDAAyD0N,EAAW,SAAWC,EAAW,iBALnF9O,EAAQ6M,cAKmH,0BAA4ByB,EAAY,KAF1LjU,KAAKoT,sBAAwBa,GAMjCnB,EAAsBzT,UAAUqV,iBAAmB,WACjD,OAAO1U,KAAKqT,gBAGdP,EAAsBzT,UAAUsV,iBAAmB,SAAUC,GAC3D5U,KAAKqT,eAAiBuB,GAGxB9B,EAAsBzT,UAAUwV,cAAgB,SAAUpN,IAC1B,WAAZA,EAAIzI,KAAoC,KAAhByI,EAAIgC,UAE3BzJ,KAAK0U,oBACtB1U,KAAKoU,MAAM/B,IAIfS,EAAsBzT,UAAUyV,wBAA0B,SAAUC,GAClE/U,KAAKoU,MAAMhC,IAGbU,EAAsBzT,UAAU2V,sBAAwB,SAAUD,GAChE/U,KAAKoU,MAAM/B,IAGbS,EAAsBzT,UAAUsU,uBAAyB,WACvDE,aAAa7T,KAAKmT,mBAClBnT,KAAKmT,kBAAoB,GAG3BL,EAAsBzT,UAAU8U,yBAA2B,WACzDnU,KAAKkT,gBAAkB,EACvBlT,KAAK+F,QAAQwJ,YAAYpL,EAAWwN,SACpC3R,KAAK+F,QAAQwJ,YAAYpL,EAAWsN,UAOtCqB,EAAsBzT,UAAU0U,uBAAyB,SAAU5J,GACjE,IAAIsD,EAAQzN,KAEZ4T,qBAAqB5T,KAAKiT,iBAC1BjT,KAAKiT,gBAAkBgC,uBAAsB,WAC3CxH,EAAMwF,gBAAkB,EACxBY,aAAapG,EAAMyF,iBACnBzF,EAAMyF,gBAAkBc,WAAW7J,EAAU,OAI1C2I,EAnNT,CAoNE,KC9NED,EAAqBlN,EAAQkN,mBAC7BhB,EAA4BlN,EAAQkN,0BAExC,SAASyB,EAAS4B,EAAQC,QACR,IAAZA,IACFA,EAAUD,GAGZ,IAAIE,EAAWF,EAAO5J,aAAa,aAG/B+J,EAAYF,EAAQG,YAAYnI,OAE/BkI,GAAcD,IAKnBF,EAAOvT,aAAa,YAAa,OA4BjCwT,EAAQG,YAAc,GACtBH,EAAQlS,UAAY,4EAKpBkS,EAAQxT,aAAakQ,EAA2BwD,GAChDrB,YAAW,WAETkB,EAAOvT,aAAa,YAAayT,GAEjCD,EAAQI,gBAAgB1D,GAExBsD,EAAQG,YAAcD,IACrBxC,ICvDL,IAAIP,EAAmB3N,EAAQ2N,iBAC3BL,EAAiBtN,EAAQsN,eACzBL,EAAkBjN,EAAQiN,gBAC1BI,EAAmBrN,EAAQqN,iBAC3BG,EAAgBxN,EAAQwN,cACxBD,EAAevN,EAAQuN,aACvBH,EAAgBpN,EAAQoN,cACxBD,EAAenN,EAAQmN,aAEvB,EAEJ,SAAUtE,GAGR,SAASgI,IACP,OAAkB,OAAXhI,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KAgL7D,OAnLA,YAAUwV,EAAahI,GAMvBgI,EAAY5O,SAAW,SAAUR,GAC/B,OAAO,IAAIoP,EAAYpP,IAGzBoP,EAAYnW,UAAUmH,WAAa,SAAUiP,QAClB,IAArBA,IACFA,EAAmB,WACjB,OAAO,IAIXzV,KAAK0V,UAAYD,KAGnBD,EAAYnW,UAAUsH,mBAAqB,WACzC,IAAI8G,EAAQzN,KAEZA,KAAK2V,WAAa3V,KAAKoG,KAAKwE,cAAc0H,GAC1CtS,KAAK4V,SAAW5V,KAAKoG,KAAKwE,cAAcqH,GACxCjS,KAAK6V,UAAY7V,KAAKoG,KAAKwE,cAAcgH,GAEzC5R,KAAK8V,eAAiB,SAAUrO,GAC9B,OAAOgG,EAAMpH,WAAWwO,cAAcpN,IAGxCzH,KAAK+V,oBAAsB,SAAUtO,GACnC,IAAI8G,EAAS9G,EAAI8G,OAEbd,EAAMuI,gBAAgBzH,GACxBd,EAAMpH,WAAWyO,wBAAwBrN,GAChCgG,EAAMwI,cAAc1H,IAC7Bd,EAAMpH,WAAW2O,sBAAsBvN,IAI3CzH,KAAKkW,wBAAwBlW,KAAK8V,gBAClC9V,KAAKmW,6BAA6BnW,KAAK+V,sBAGzCP,EAAYnW,UAAU6G,QAAU,WAC9BsH,EAAOnO,UAAU6G,QAAQtI,KAAKoC,MAE9BA,KAAKoW,0BAA0BpW,KAAK8V,gBACpC9V,KAAKqW,+BAA+BrW,KAAK+V,sBAG3CP,EAAYnW,UAAUyU,KAAO,WAC3B9T,KAAKqG,WAAWyN,QASlB0B,EAAYnW,UAAU+U,MAAQ,SAAUC,QACvB,IAAXA,IACFA,EAAS,IAGXrU,KAAKqG,WAAW+N,MAAMC,IAGxBmB,EAAYnW,UAAUqH,qBAAuB,WAC3C,IAAI+G,EAAQzN,KA+BZ,OAAO,IAAI,EA3BG,CACZiO,SAAU,SAAUC,GAClB,OAAOT,EAAMrH,KAAKxE,UAAUC,IAAIqM,IAElCoF,SAAU,WACR,OAAO7F,EAAMiI,UAAUjI,EAAMmI,WAE/BrC,aAAc,SAAUc,GACtB,OAAO5G,EAAMnG,KAAKwK,EAAcuC,EAAS,CACvCA,OAAQA,GACN,KAENb,cAAe,SAAUa,GACvB,OAAO5G,EAAMnG,KAAKyK,EAAesC,EAAS,CACxCA,OAAQA,GACN,KAENZ,aAAc,WACZ,OAAOhG,EAAMnG,KAAK4K,EAAc,KAElCwB,cAAe,WACb,OAAOjG,EAAMnG,KAAK6K,EAAe,KAEnC5C,YAAa,SAAUrB,GACrB,OAAOT,EAAMrH,KAAKxE,UAAU0L,OAAOY,OAMzC/P,OAAOC,eAAeoX,EAAYnW,UAAW,YAAa,CACxDf,IAAK,WACH,OAAO0B,KAAKqG,WAAW6N,gBAEzB9K,IAAK,SAAU6K,GACbjU,KAAKqG,WAAWkO,aAAaN,IAE/B5V,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeoX,EAAYnW,UAAW,gBAAiB,CAC5Df,IAAK,WACH,OAAO0B,KAAKqG,WAAWqO,oBAEzBtL,IAAK,SAAUwL,GACb5U,KAAKqG,WAAWsO,iBAAiBC,IAEnCvW,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeoX,EAAYnW,UAAW,SAAU,CACrDf,IAAK,WACH,OAAO0B,KAAKqG,WAAWiO,UAEzBjW,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeoX,EAAYnW,UAAW,YAAa,CACxDf,IAAK,WAGH,OAAO0B,KAAK4V,SAASN,aAEvBlM,IAAK,SAAUiM,GACbrV,KAAK4V,SAASN,YAAcD,GAE9BhX,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeoX,EAAYnW,UAAW,mBAAoB,CAC/Df,IAAK,WACH,OAAO0B,KAAK6V,UAAUP,aAExBlM,IAAK,SAAUkN,GACbtW,KAAK6V,UAAUP,YAAcgB,GAE/BjY,YAAY,EACZ2H,cAAc,IAGhBwP,EAAYnW,UAAU6W,wBAA0B,SAAUjP,GACxDjH,KAAK+G,OAAO,UAAWE,IAGzBuO,EAAYnW,UAAU+W,0BAA4B,SAAUnP,GAC1DjH,KAAKoH,SAAS,UAAWH,IAG3BuO,EAAYnW,UAAU8W,6BAA+B,SAAUlP,GAC7DjH,KAAK2V,WAAWxO,iBAAiB,QAASF,IAG5CuO,EAAYnW,UAAUgX,+BAAiC,SAAUpP,GAC/DjH,KAAK2V,WAAWtO,oBAAoB,QAASJ,IAG/CuO,EAAYnW,UAAU2W,gBAAkB,SAAUzH,GAChD,OAAOY,QAAQ,YAAQZ,EAAQqD,KAGjC4D,EAAYnW,UAAU4W,cAAgB,SAAU1H,GAC9C,OAAOY,QAAQ,YAAQZ,EAAQyD,KAG1BwD,EApLT,CAqLE,KCzNW,EAAY,W,qBAEvB,EAACxU,MAAO,SAACuV,G,OAAY,KAACC,gBAAgBD,EAAS,gBAC/C,EAACE,QAAS,SAACF,G,OAAY,KAACC,gBAAgBD,EAAS,kBAEjD,EAACC,gBAAiB,SAACD,EAASG,GAC1B,M,OAAA,KAACC,qBACDC,EAAM,KAACC,kBAAkBN,EAASG,GAClC7T,SAAS0H,KAAKzI,OAAO8U,GACrB,KAACE,uBAEH,EAACA,oBAAqB,WACpB,IAAAF,EACA,GADAA,EAAM/T,SAAS+H,cAAc,kB,OAEhB,IAAI,EAAYgM,GAClB9C,QAEb,EAAC+C,kBAAmB,SAACN,EAASG,GAC5B,IAAAE,EAAA,I,OAAAA,EAAM,YAAmB,MAAO,eAAgBF,EAAO,iBACvDK,EAAU,YAAmB,MAAO,0BACpC3V,EAAQ,YAAqB,MAAOmV,EAAS,wBACvC5U,aAAa,OAAQ,UAC3BP,EAAMO,aAAa,YAAa,UAChCoV,EAAQjV,OAAOV,GACfwV,EAAI9U,OAAOiV,GACXH,GAEF,EAACD,mBAAoB,WACnB,IAAAK,EACA,GADAA,EAAWnU,SAAS+H,cAAc,kB,OAClCoM,EAAS1J,U,EA7BY,GA+BzB,EAAawJ,uB,iFCZF3S,EAAa,CAItB8S,WAAY,0CACZC,cAAe,6CACfC,gBAAiB,+CACjBzS,KAAM,sBACN0S,UAAW,kCAEFzS,EAAU,CACnB0S,aAAc,wBACdC,YAAa,uBACbC,qBAAsB,gCACtBC,uBAAwB,kCACxBC,SAAU,oBACVC,QAAS,oBAEA/R,EAAU,CACnBgS,wBAAyB,IACzBC,mBAAoB,IACpBC,qBAAsB,GACtBC,QAAS,GACTC,aAAc,K,QClBZC,EAAyB,CAAC,aAAc,cAAe,YAAa,WAEpEC,EAAmC,CAAC,WAAY,YAAa,UAAW,eAExEC,EAAmB,GAEnB,EAEJ,SAAU1K,GAGR,SAAS2K,EAAoBpS,GAC3B,IAAI0H,EAAQD,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAImY,EAAoBpF,gBAAiBhN,KAAa/F,KA6CtG,OA3CAyN,EAAM2K,8BAA+B,EACrC3K,EAAM4K,iBAAmB,EACzB5K,EAAM6K,4BAA8B,EACpC7K,EAAM8K,SAAW,IACjB9K,EAAM+K,OAAS,CACbC,MAAO,EACPC,OAAQ,GAEVjL,EAAMkL,aAAe,EACrBlL,EAAMmL,aAAe,EACrBnL,EAAMoL,WAAa,EACnBpL,EAAMqL,iBAAmB,CACvBC,KAAM,EACNC,IAAK,GAEPvL,EAAMwL,iBAAmBxL,EAAMyL,0BAE/BzL,EAAM0L,yBAA2B,WAC/B1L,EAAM2K,8BAA+B,EAErC3K,EAAM2L,kCAGR3L,EAAM4L,iBAAmB,SAAUxY,GACjC,OAAO4M,EAAM6L,UAAUzY,IAGzB4M,EAAM8L,mBAAqB,WACzB,OAAO9L,EAAM+L,eAGf/L,EAAMgM,cAAgB,WACpB,OAAOhM,EAAMiM,eAGfjM,EAAMkM,aAAe,WACnB,OAAOlM,EAAMmM,cAGfnM,EAAMoM,eAAiB,WACrB,OAAOpM,EAAMqC,UAGRrC,EA4iBT,OA5lBA,YAAU0K,EAAqB3K,GAmD/BrP,OAAOC,eAAe+Z,EAAqB,aAAc,CACvD7Z,IAAK,WACH,OAAO6F,GAET9F,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe+Z,EAAqB,UAAW,CACpD7Z,IAAK,WACH,OAAOqG,GAETtG,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe+Z,EAAqB,UAAW,CACpD7Z,IAAK,WACH,OAAOqH,GAETtH,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe+Z,EAAqB,iBAAkB,CAC3D7Z,IAAK,WACH,MAAO,CACL2P,SAAU,aAGVE,uBAAwB,WACtB,OAAO,GAETC,oBAAqB,WACnB,MAAO,CACL4K,IAAK,EACLc,MAAO,EACPC,OAAQ,EACRhB,KAAM,EACNN,MAAO,EACPC,OAAQ,IAGZpK,oBAAqB,WACnB,OAAO,GAETG,qCAAsC,aAGtCC,6BAA8B,aAG9BC,wBAAyB,aAGzBC,oBAAqB,WACnB,MAAO,CACLC,EAAG,EACHE,EAAG,IAGPE,gBAAiB,WACf,OAAO,GAETC,kBAAmB,WACjB,OAAO,GAETtB,YAAa,WACX,OAAO,GAETwB,mCAAoC,aAGpCC,2BAA4B,aAG5BC,sBAAuB,aAGvBC,YAAa,aAGbC,kBAAmB,eAKvBnR,YAAY,EACZ2H,cAAc,IAGhBmS,EAAoB9Y,UAAU4G,KAAO,WACnC,IAAIwH,EAAQzN,KAERga,EAAsBha,KAAKia,uBAG/B,GAFAja,KAAKka,sBAAsBF,GAEvBA,EAAqB,CACvB,IAAIG,EAAKhC,EAAoBhU,WACzBiW,EAASD,EAAGzV,KACZ2V,EAAcF,EAAG/C,UACrBnC,uBAAsB,WACpBxH,EAAM1H,QAAQkI,SAASmM,GAEnB3M,EAAM1H,QAAQ6H,gBAChBH,EAAM1H,QAAQkI,SAASoM,GAGvB5M,EAAM6M,wBAMdnC,EAAoB9Y,UAAU6G,QAAU,WACtC,IAAIuH,EAAQzN,KAEZ,GAAIA,KAAKia,uBAAwB,CAC3Bja,KAAKqY,mBACPxE,aAAa7T,KAAKqY,kBAClBrY,KAAKqY,iBAAmB,EACxBrY,KAAK+F,QAAQwJ,YAAY4I,EAAoBhU,WAAW+S,gBAGtDlX,KAAKsY,8BACPzE,aAAa7T,KAAKsY,6BAClBtY,KAAKsY,4BAA8B,EACnCtY,KAAK+F,QAAQwJ,YAAY4I,EAAoBhU,WAAWgT,kBAG1D,IAAIgD,EAAKhC,EAAoBhU,WACzBoW,EAASJ,EAAGzV,KACZ8V,EAAcL,EAAG/C,UACrBnC,uBAAsB,WACpBxH,EAAM1H,QAAQwJ,YAAYgL,GAE1B9M,EAAM1H,QAAQwJ,YAAYiL,GAE1B/M,EAAMgN,oBAIVza,KAAK0a,0BACL1a,KAAK2a,mCAOPxC,EAAoB9Y,UAAUuQ,SAAW,SAAUnI,GACjDzH,KAAKsZ,UAAU7R,IAGjB0Q,EAAoB9Y,UAAUwQ,WAAa,WACzC7P,KAAKwZ,eAGPrB,EAAoB9Y,UAAUyQ,OAAS,WACrC,IAAIrC,EAAQzN,KAERA,KAAK4Y,cACPhF,qBAAqB5T,KAAK4Y,cAG5B5Y,KAAK4Y,aAAe3D,uBAAsB,WACxCxH,EAAM6M,kBAEN7M,EAAMmL,aAAe,MAIzBT,EAAoB9Y,UAAU0Q,aAAe,SAAUjC,GACrD,IAAIsJ,EAAYe,EAAoBhU,WAAWiT,UAE3CtJ,EACF9N,KAAK+F,QAAQkI,SAASmJ,GAEtBpX,KAAK+F,QAAQwJ,YAAY6H,IAI7Be,EAAoB9Y,UAAUqa,YAAc,WAC1C,IAAIjM,EAAQzN,KAEZiV,uBAAsB,WACpB,OAAOxH,EAAM1H,QAAQkI,SAASkK,EAAoBhU,WAAW8S,gBAIjEkB,EAAoB9Y,UAAUua,WAAa,WACzC,IAAInM,EAAQzN,KAEZiV,uBAAsB,WACpB,OAAOxH,EAAM1H,QAAQwJ,YAAY4I,EAAoBhU,WAAW8S,gBAWpEkB,EAAoB9Y,UAAU4a,qBAAuB,WACnD,OAAOja,KAAK+F,QAAQoI,0BAGtBgK,EAAoB9Y,UAAU6Z,wBAA0B,WACtD,MAAO,CACL0B,qBAAiBnU,EACjBoU,sBAAsB,EACtBC,aAAa,EACbC,gBAAgB,EAChBC,uBAAuB,EACvBC,sBAAsB,IAQ1B9C,EAAoB9Y,UAAU6a,sBAAwB,SAAUF,GAC9D,IAAIvM,EAAQzN,KAERga,IACFhC,EAAuBkD,SAAQ,SAAUlU,GACvCyG,EAAM1H,QAAQsJ,2BAA2BrI,EAASyG,EAAM4L,qBAGtDrZ,KAAK+F,QAAQ6H,eACf5N,KAAK+F,QAAQuJ,sBAAsBtP,KAAK6Z,iBAI5C7Z,KAAK+F,QAAQsJ,2BAA2B,QAASrP,KAAKyZ,eACtDzZ,KAAK+F,QAAQsJ,2BAA2B,OAAQrP,KAAK2Z,eAGvDxB,EAAoB9Y,UAAU8b,8BAAgC,SAAU1T,GACtE,IAAIgG,EAAQzN,KAEK,YAAbyH,EAAIyI,KACNlQ,KAAK+F,QAAQsJ,2BAA2B,QAASrP,KAAKuZ,oBAEtDtB,EAAiCiD,SAAQ,SAAUlU,GACjDyG,EAAM1H,QAAQqJ,mCAAmCpI,EAASyG,EAAM8L,wBAKtEpB,EAAoB9Y,UAAUqb,wBAA0B,WACtD,IAAIjN,EAAQzN,KAEZgY,EAAuBkD,SAAQ,SAAUlU,GACvCyG,EAAM1H,QAAQ2I,6BAA6B1H,EAASyG,EAAM4L,qBAE5DrZ,KAAK+F,QAAQ2I,6BAA6B,QAAS1O,KAAKyZ,eACxDzZ,KAAK+F,QAAQ2I,6BAA6B,OAAQ1O,KAAK2Z,cAEnD3Z,KAAK+F,QAAQ6H,eACf5N,KAAK+F,QAAQ4I,wBAAwB3O,KAAK6Z,iBAI9C1B,EAAoB9Y,UAAUsb,gCAAkC,WAC9D,IAAIlN,EAAQzN,KAEZA,KAAK+F,QAAQ2I,6BAA6B,QAAS1O,KAAKuZ,oBACxDtB,EAAiCiD,SAAQ,SAAUlU,GACjDyG,EAAM1H,QAAQ0I,qCAAqCzH,EAASyG,EAAM8L,wBAItEpB,EAAoB9Y,UAAUob,eAAiB,WAC7C,IAAIhN,EAAQzN,KAERob,EAAgBjD,EAAoBxT,QAC7BxG,OAAOkd,KAAKD,GAClBF,SAAQ,SAAUlc,GACO,IAAxBA,EAAIoO,QAAQ,SACdK,EAAM1H,QAAQyJ,kBAAkB4L,EAAcpc,GAAM,UAK1DmZ,EAAoB9Y,UAAUia,UAAY,SAAU7R,GAClD,IAAIgG,EAAQzN,KAEZ,IAAIA,KAAK+F,QAAQmJ,oBAAjB,CAIA,IAAIoM,EAAkBtb,KAAKiZ,iBAE3B,IAAIqC,EAAgBR,YAApB,CAKA,IAAIS,EAA0Bvb,KAAKwb,yBAGnC,KAFwBD,QAAmC9U,IAARgB,GAAqB8T,EAAwBrL,OAASzI,EAAIyI,MAM7GoL,EAAgBR,aAAc,EAC9BQ,EAAgBP,oBAAyBtU,IAARgB,EACjC6T,EAAgBV,gBAAkBnT,EAClC6T,EAAgBN,uBAAwBM,EAAgBP,sBAAiCtU,IAARgB,IAAmC,cAAbA,EAAIyI,MAAqC,eAAbzI,EAAIyI,MAAsC,gBAAbzI,EAAIyI,YACpIzJ,IAARgB,GAAqByQ,EAAiB7X,OAAS,GAAK6X,EAAiBuD,MAAK,SAAUlN,GAC1G,OAAOd,EAAM1H,QAAQuI,oBAAoBC,MAKzCvO,KAAK0b,8BAIKjV,IAARgB,IACFyQ,EAAiBnX,KAAK0G,EAAI8G,QAC1BvO,KAAKmb,8BAA8B1T,IAGrC6T,EAAgBL,qBAAuBjb,KAAK2b,wBAAwBlU,GAEhE6T,EAAgBL,sBAClBjb,KAAK4b,qBAGP3G,uBAAsB,WAEpBiD,EAAmB,GAEdoD,EAAgBL,2BAAgCxU,IAARgB,GAAkC,MAAZA,EAAIzI,KAA+B,KAAhByI,EAAIgC,UAOxF6R,EAAgBL,qBAAuBxN,EAAMkO,wBAAwBlU,GAEjE6T,EAAgBL,sBAClBxN,EAAMmO,sBAILN,EAAgBL,uBAEnBxN,EAAMwL,iBAAmBxL,EAAMyL,kCAKrCf,EAAoB9Y,UAAUsc,wBAA0B,SAAUlU,GAChE,YAAehB,IAARgB,GAAkC,YAAbA,EAAIyI,MAAqBlQ,KAAK+F,QAAQkJ,mBAGpEkJ,EAAoB9Y,UAAUuc,mBAAqB,WACjD,IAAInO,EAAQzN,KAERma,EAAKhC,EAAoBxT,QACzB6S,EAAyB2C,EAAG3C,uBAC5BD,EAAuB4C,EAAG5C,qBAC1BsE,EAAK1D,EAAoBhU,WACzBgT,EAAkB0E,EAAG1E,gBACrBD,EAAgB2E,EAAG3E,cACnBS,EAA0BQ,EAAoBxS,QAAQgS,wBAC1D3X,KAAKsa,kBACL,IAAIwB,EAAiB,GACjBC,EAAe,GAEnB,IAAK/b,KAAK+F,QAAQ6H,cAAe,CAC/B,IAAIoO,EAAKhc,KAAKic,+BACVC,EAAaF,EAAGE,WAChBC,EAAWH,EAAGG,SAElBL,EAAiBI,EAAWrN,EAAI,OAASqN,EAAWnN,EAAI,KACxDgN,EAAeI,EAAStN,EAAI,OAASsN,EAASpN,EAAI,KAGpD/O,KAAK+F,QAAQyJ,kBAAkBgI,EAAwBsE,GACvD9b,KAAK+F,QAAQyJ,kBAAkB+H,EAAsBwE,GAErDlI,aAAa7T,KAAKqY,kBAClBxE,aAAa7T,KAAKsY,6BAClBtY,KAAKoc,8BACLpc,KAAK+F,QAAQwJ,YAAY4H,GAEzBnX,KAAK+F,QAAQqI,sBACbpO,KAAK+F,QAAQkI,SAASiJ,GACtBlX,KAAKqY,iBAAmBrE,YAAW,WACjC,OAAOvG,EAAM0L,6BACZxB,IAGLQ,EAAoB9Y,UAAU4c,6BAA+B,WAC3D,IAGIC,EAHA/B,EAAKna,KAAKiZ,iBACV2B,EAAkBT,EAAGS,gBAsBzB,MAAO,CACLsB,WATFA,EAAa,CACXrN,GAVAqN,EAJ0B/B,EAAGa,sBAIhB,YAAyBJ,EAAiB5a,KAAK+F,QAAQ6I,sBAAuB5O,KAAK+F,QAAQqI,uBAE3F,CACXS,EAAG7O,KAAKwY,OAAOC,MAAQ,EACvB1J,EAAG/O,KAAKwY,OAAOE,OAAS,IAMZ7J,EAAI7O,KAAK2Y,aAAe,EACtC5J,EAAGmN,EAAWnN,EAAI/O,KAAK2Y,aAAe,GAQtCwD,SANa,CACbtN,EAAG7O,KAAKwY,OAAOC,MAAQ,EAAIzY,KAAK2Y,aAAe,EAC/C5J,EAAG/O,KAAKwY,OAAOE,OAAS,EAAI1Y,KAAK2Y,aAAe,KAQpDR,EAAoB9Y,UAAU+Z,+BAAiC,WAC7D,IAAI3L,EAAQzN,KAIRmX,EAAkBgB,EAAoBhU,WAAWgT,gBACjDgD,EAAKna,KAAKiZ,iBACV4B,EAAuBV,EAAGU,qBAC1BC,EAAcX,EAAGW,aACID,IAAyBC,IAExB9a,KAAKoY,+BAC7BpY,KAAKoc,8BACLpc,KAAK+F,QAAQkI,SAASkJ,GACtBnX,KAAKsY,4BAA8BtE,YAAW,WAC5CvG,EAAM1H,QAAQwJ,YAAY4H,KACzBxR,EAAQiS,sBAIfO,EAAoB9Y,UAAU+c,4BAA8B,WAC1D,IAAIlF,EAAgBiB,EAAoBhU,WAAW+S,cACnDlX,KAAK+F,QAAQwJ,YAAY2H,GACzBlX,KAAKoY,8BAA+B,EACpCpY,KAAK+F,QAAQqI,uBAGf+J,EAAoB9Y,UAAUqc,sBAAwB,WACpD,IAAIjO,EAAQzN,KAEZA,KAAKwb,yBAA2Bxb,KAAKiZ,iBAAiB2B,gBACtD5a,KAAKiZ,iBAAmBjZ,KAAKkZ,0BAG7BlF,YAAW,WACT,OAAOvG,EAAM+N,8BAA2B/U,IACvC0R,EAAoBxS,QAAQoS,eAGjCI,EAAoB9Y,UAAUma,YAAc,WAC1C,IAAI/L,EAAQzN,KAERsb,EAAkBtb,KAAKiZ,iBAE3B,GAAKqC,EAAgBR,YAArB,CAIA,IAAIuB,EAAQ,YAAS,GAAIf,GAErBA,EAAgBP,gBAClB9F,uBAAsB,WACpB,OAAOxH,EAAM6O,qBAAqBD,MAEpCrc,KAAK0b,0BAEL1b,KAAK2a,kCACL1F,uBAAsB,WACpBxH,EAAMwL,iBAAiB4B,sBAAuB,EAE9CpN,EAAM6O,qBAAqBD,GAE3B5O,EAAMiO,8BAKZvD,EAAoB9Y,UAAUid,qBAAuB,SAAUnC,GAC7D,IAAIa,EAAwBb,EAAGa,sBAC3BC,EAAuBd,EAAGc,sBAE1BD,GAAyBC,IAC3Bjb,KAAKoZ,kCAITjB,EAAoB9Y,UAAUib,gBAAkB,WAC9C,IAAI7M,EAAQzN,KAEZA,KAAKwY,OAASxY,KAAK+F,QAAQqI,sBAC3B,IAAImO,EAASC,KAAKC,IAAIzc,KAAKwY,OAAOE,OAAQ1Y,KAAKwY,OAAOC,OAYtDzY,KAAK6Y,WAAa7Y,KAAK+F,QAAQ6H,cAAgB2O,EAJ5BC,KAAKE,KAAKF,KAAKG,IAAIlP,EAAM+K,OAAOC,MAAO,GAAK+D,KAAKG,IAAIlP,EAAM+K,OAAOE,OAAQ,IACvEP,EAAoBxS,QAAQmS,QAKlD,IAAI8E,EAAcJ,KAAKK,MAAMN,EAASpE,EAAoBxS,QAAQkS,sBAE9D7X,KAAK+F,QAAQ6H,eAAiBgP,EAAc,IAAM,EACpD5c,KAAK2Y,aAAeiE,EAAc,EAElC5c,KAAK2Y,aAAeiE,EAGtB5c,KAAKuY,SAAW,GAAKvY,KAAK6Y,WAAa7Y,KAAK2Y,aAC5C3Y,KAAK8c,wBAGP3E,EAAoB9Y,UAAUyd,qBAAuB,WACnD,IAAI3C,EAAKhC,EAAoBxT,QACzB2S,EAAc6C,EAAG7C,YACjBG,EAAW0C,EAAG1C,SACdC,EAAUyC,EAAGzC,QACbL,EAAe8C,EAAG9C,aACtBrX,KAAK+F,QAAQyJ,kBAAkB8H,EAAatX,KAAK2Y,aAAe,MAChE3Y,KAAK+F,QAAQyJ,kBAAkB6H,EAAcrX,KAAKuY,UAE9CvY,KAAK+F,QAAQ6H,gBACf5N,KAAK8Y,iBAAmB,CACtBC,KAAMyD,KAAKO,MAAM/c,KAAKwY,OAAOC,MAAQ,EAAIzY,KAAK2Y,aAAe,GAC7DK,IAAKwD,KAAKO,MAAM/c,KAAKwY,OAAOE,OAAS,EAAI1Y,KAAK2Y,aAAe,IAE/D3Y,KAAK+F,QAAQyJ,kBAAkBiI,EAAUzX,KAAK8Y,iBAAiBC,KAAO,MACtE/Y,KAAK+F,QAAQyJ,kBAAkBkI,EAAS1X,KAAK8Y,iBAAiBE,IAAM,QAIjEb,EA7lBT,CA8lBE,M,+BCjoBF,sCAAa6E,EAAA,WAEE,aACX,KAACC,iB,mBAEHC,IAAK,WACH,IAAyB,KAACC,gB,OAA1B,KAACC,kB,YAEHC,YAAa,WACX,IAAAC,E,OAAAA,EAAQ,CAAC,IAAK,KAAM,KAAM,QAC1Bza,SAAS0a,iBAAiB1a,SAAS0H,KAAMiT,WAAWC,WAAW,SAAEC,GAC/D,OAAqC,MAAAA,EAAKC,WAAnCH,WAAWI,YACqBN,EAAMlQ,QAAQsQ,EAAKC,WAAWE,SAAS9a,gBAAkB,EAC/D+a,OAAOze,UAAU8N,OAASuQ,EAAKK,UAAU5Q,OAAO9M,OAA1Emd,WAAWI,YACXJ,WAAWQ,cAFXR,WAAWS,iBAEgB,I,YAEtCC,WAAY,WACV,IAAAZ,EAAA,EAE+B,IAF/BA,EAAQ,GACRa,EAAS,KAACd,cAC2Bc,EAAOC,YAA5Cd,EAAMvc,KAAKod,EAAOE,a,OAClBf,G,YAEFH,cAAe,WACb,gBAAoBta,SAASC,cAAc,UAAUwb,aAEN,oBAD/CC,EAAU1b,SAASC,cAAc,UAAUwb,WAAW,OACnBE,WACnCC,EAAOX,OAAOY,cAAc,QAAWZ,OAAOY,cAAc,QAC5DH,EAAQI,aAAe,MACvBJ,EAAQK,KAAO,aACfL,EAAQC,SAASC,EAAM,EAAG,GACoB,IAA9CF,EAAQM,aAAa,GAAI,GAAI,EAAG,GAAGC,KAAK,M,YAE1CC,UAAW,SAACC,GACV,IAAAC,EAAA,E,OAAAA,EAASD,EAAQ,MACjBE,EAAWF,EAAQ,MAAY,CAAC,OAAUC,GAAU,IAAK,OAAmB,KAATA,IAAsB,CAACD,GAC1FlB,OAAOqB,aAAa7e,MAAM,KAAM4e,I,YAElCE,yBAA0B,SAACC,EAAMC,G,OAA4B,MAAjBD,EAAO,QAAmBC,EAAQ,OAAU,O,YAExFC,qBAAsB,SAACC,GACrB,IAAAC,E,OAAAA,EAAM5c,SAASC,cAAc,QACzByJ,MAAMmT,cAAgB,MAC1BD,EAAI7d,UAAUC,IAAI,cAClB4d,EAAIE,IAAM,+BAA+BH,EAAI,OAC7CC,G,YAEFG,kBAAmB,SAACC,GAClB,QAAAC,EAIgC,IAJhCA,EAASjd,SAASC,cAAc,OAChCid,EAAWld,SAASmd,yBAEpBF,EAAO7c,UAAY4c,EACmBI,EAAYH,EAAOI,YAAzDH,EAAS7b,YAAY+b,G,OACrBF,G,YAEFI,gBAAiB,SAACzC,GAChB,IAAA0C,EAAA,IAEA,GAFAA,EAAU,yEACV1hB,EAAQgf,EAAKK,WACJsC,MAAMD,G,OACbE,EAAc,KAACC,iBAAiB7hB,EAAO0hB,GACvC1C,EAAKC,WAAW6C,aAAa,KAACZ,kBAAkBU,GAAc5C,I,YAElE+C,iBAAkB,SAAC9d,GACjB,cAAU,KAACwa,gBAGX,OAFAiD,EAAU,yEACV1hB,EAAQiE,EAAQM,WACPod,MAAMD,IACbE,EAAc,KAACC,iBAAiB7hB,EAAO0hB,GACvCzd,EAAQM,UAAYqd,QAFtB,G,YAIFC,iBAAkB,SAAC7hB,EAAO0hB,G,OACxB1hB,EAAMgiB,QAAQN,GAAS,gBAACC,EAAOM,EAAIC,EAAIC,EAAIC,GACzC,IAAAC,EAAA,E,OAAAA,EAAS,EAAC3B,yBAAyBuB,EAAGK,WAAW,GAAIJ,EAAGI,WAAW,IACnEC,EAAS,EAAC7B,yBAAyByB,EAAGG,WAAW,GAAIF,EAAGE,WAAW,IAC7D,EAACzB,qBAAqBwB,EAAOG,SAAS,IAAMD,EAAOC,SAAS,KAC9DC,aAJiB,O,YAMzBlE,eAAgB,WACd,GAAO,MAAAa,OAAOY,c,OACZZ,OAAOY,eAAgB,kBACrB,IAAA0C,EAAA,MACA,IADAA,EAAQ,GACR,+B,eAAAA,EAAMrgB,KAAK,EAACge,UAAUC,I,OACtBoC,EAAMC,KAAK,MAHU,O,YAK3BjE,eAAgB,WACd,c,IAAA,gD,cAAA,KAAC+C,gBAAgBzC,I,YApFR,I,+FCsBT4D,EAA0B,CAAC,QAAS,SAAU,WAAY,UAQnDC,EAAsB,SAAU9Z,GACzC,IAAI8G,EAAS9G,EAAI8G,OAEjB,GAAKA,EAAL,CAIA,IAAIiT,GAAW,GAAKjT,EAAOiT,SAASC,eAEc,IAA9CH,EAAwBlU,QAAQoU,IAClC/Z,EAAIia,mBC+DD,SAASC,EAAUhU,EAAM0O,GAC9B,IAWIjL,EAXAwQ,EAAWjU,EAAKiU,SAChBC,EAAmBlU,EAAKkU,iBACxBC,EAAyBnU,EAAKmU,uBAC9BC,EAAmBpU,EAAKoU,iBACxBC,EAAYrU,EAAKqU,UACjBC,EAAwBtU,EAAKsU,sBAkBjC,OAjBApO,aAAawI,EAAM6F,oBACnB7F,EAAM6F,mBAAqBlO,YAAW,WACpCmO,EAAY9F,KACX,IAAQxW,mCACXwW,EAAM+F,gBAAkB/F,EAAM+F,gBAAkBR,GASjC,KALbxQ,EADmC,IAAjCiL,EAAM+F,gBAAgB/hB,OAkB5B,SAAwByhB,EAAwBC,EAAkBE,EAAuB5F,GACvF,IAAIgG,EAAYhG,EAAM+F,gBAAgB,GAClCE,EAAyBR,EAAuBxjB,IAAI+jB,GAExD,IAAKC,EACH,OAAQ,EAMV,GAAID,IAAchG,EAAMkG,kBAAoBD,EAAuBjG,EAAMmG,mBAAmBpR,QAAU2Q,EAAkB,CACtH1F,EAAMmG,mBAAqBnG,EAAMmG,kBAAoB,GAAKF,EAAuBjiB,OACjF,IAAIoiB,EAAWH,EAAuBjG,EAAMmG,mBAAmBpR,MAE/D,IAAK6Q,EAAsBQ,GACzB,OAAOA,EAQXpG,EAAMkG,iBAAmBF,EACzB,IACIK,EADAC,GAAqB,EAGzB,IAAKD,EAAiB,EAAGA,EAAiBJ,EAAuBjiB,OAAQqiB,IACvE,IAAKT,EAAsBK,EAAuBI,GAAgBtR,OAAQ,CACxEuR,EAAoBD,EACpB,MAOJ,KAAOA,EAAiBJ,EAAuBjiB,OAAQqiB,IACrD,GAAIJ,EAAuBI,GAAgBtR,MAAQ2Q,IAAqBE,EAAsBK,EAAuBI,GAAgBtR,OAAQ,CAC3IuR,EAAoBD,EACpB,MAIJ,IAA2B,IAAvBC,EAEF,OADAtG,EAAMmG,kBAAoBG,EACnBL,EAAuBjG,EAAMmG,mBAAmBpR,MAGzD,OAAQ,EAnEEwR,CAAed,EAAwBC,EAAkBE,EAAuB5F,GA2E5F,SAAuByF,EAAwBG,EAAuB5F,GACpE,IAAIgG,EAAYhG,EAAM+F,gBAAgB,GAClCE,EAAyBR,EAAuBxjB,IAAI+jB,GAExD,IAAKC,EACH,OAAQ,EAIV,IAAIO,EAAeP,EAAuBjG,EAAMmG,mBAEhD,GAAgE,IAA5DK,EAAaC,KAAKC,YAAY1G,EAAM+F,gBAAiB,KAAaH,EAAsBY,EAAazR,OACvG,OAAOyR,EAAazR,MAKtB,IAAIsR,GAAkBrG,EAAMmG,kBAAoB,GAAKF,EAAuBjiB,OACxE2iB,GAAsB,EAE1B,KAAON,IAAmBrG,EAAMmG,mBAAmB,CACjD,IAAIS,EAAcX,EAAuBI,GACrC7W,EAAqE,IAA3DoX,EAAYH,KAAKC,YAAY1G,EAAM+F,gBAAiB,GAC9Dc,GAAajB,EAAsBgB,EAAY7R,OAEnD,GAAIvF,GAAWqX,EAAW,CACxBF,EAAqBN,EACrB,MAGFA,GAAkBA,EAAiB,GAAKJ,EAAuBjiB,OAGjE,IAA4B,IAAxB2iB,EAEF,OADA3G,EAAMmG,kBAAoBQ,EACnBV,EAAuBjG,EAAMmG,mBAAmBpR,MAGzD,OAAQ,EA/GE+R,CAAcrB,EAAwBG,EAAuB5F,KAGlD2F,GACnBH,EAAiBzQ,GAGZA,EAiHF,SAASgS,EAAmB/G,GACjC,OAAOA,EAAM+F,gBAAgB/hB,OAAS,EASjC,SAAS8hB,EAAY9F,GAC1BA,EAAM+F,gBAAkB,GAoBnB,SAASiB,EAAc1V,EAAM0O,GAClC,IAAIiH,EAAQ3V,EAAK2V,MACbC,EAAmB5V,EAAK4V,iBACxBxB,EAAmBpU,EAAKoU,iBACxBF,EAAmBlU,EAAKkU,iBACxBC,EAAyBnU,EAAKmU,uBAC9BG,EAAwBtU,EAAKsU,sBAC7BuB,EAAsC,cAAxB,YAAaF,GAC3BG,EAAoC,YAAxB,YAAaH,GACzBI,EAAuC,eAAxB,YAAaJ,GAC5BK,EAAsC,cAAxB,YAAaL,GAC3BM,EAAiC,SAAxB,YAAaN,GACtBO,EAAgC,QAAxB,YAAaP,GACrBQ,EAAkC,UAAxB,YAAaR,GACvBS,EAAkC,aAAxB,YAAaT,GAE3B,OAAIE,GAAeC,GAAaC,GAAgBC,GAAeC,GAAUC,GAASC,GACxE,EAGYC,GAAgC,IAArBT,EAAMtkB,IAAIqB,OAetC0jB,GAIDR,GACFhC,EAAoB+B,GAGIC,GAAoBH,EAAmB/G,GAYxDsF,EATa,CAClBE,iBAAkBA,EAClBE,iBAAkBA,EAClBH,SAAU,IACVE,uBAAwBA,EACxBE,WAAW,EACXC,sBAAuBA,GAGO5F,IAG1B,IAtBE,GAbRkF,EAAoB+B,GASb3B,EARa,CAClBE,iBAAkBA,EAClBE,iBAAkBA,EAClBH,SAAU0B,EAAMtkB,IAAIyiB,cACpBK,uBAAwBA,EACxBE,WAAW,EACXC,sBAAuBA,GAEO5F,IC9QpC,IAAI,EAEJ,SAAU7O,GAGR,SAASwW,EAAkBje,GACzB,IAAI0H,EAAQD,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAIgkB,EAAkBjR,gBAAiBhN,KAAa/F,KAepG,OAbAyN,EAAMwW,YAAa,EACnBxW,EAAMyW,aAAc,EACpBzW,EAAM0W,wBAAyB,EAC/B1W,EAAM2W,eAAiB,IAAQxe,YAC/B6H,EAAMsU,iBAAmB,IAAQnc,YACjC6H,EAAM4W,oBAAqB,EAC3B5W,EAAM6W,sBAAwB,KAC9B7W,EAAM8W,iBAAkB,EACxB9W,EAAM+W,cAAe,EACrB/W,EAAMgX,cAAe,EAErBhX,EAAMiX,eDjBI,CACVxC,mBAAoB,EACpBK,iBAAkB,GAClBC,kBAAmB,EACnBJ,gBAAiB,ICcjB3U,EAAMqU,uBAAyB,IAAI3Y,IAC5BsE,EAwoBT,OA1pBA,YAAUuW,EAAmBxW,GAqB7BrP,OAAOC,eAAe4lB,EAAmB,UAAW,CAClD1lB,IAAK,WACH,OAAO,KAETD,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe4lB,EAAmB,aAAc,CACrD1lB,IAAK,WACH,OAAO,KAETD,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe4lB,EAAmB,UAAW,CAClD1lB,IAAK,WACH,OAAO,KAETD,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe4lB,EAAmB,iBAAkB,CACzD1lB,IAAK,WACH,MAAO,CACLqmB,wBAAyB,aAGzB9C,iBAAkB,aAGlB+C,4BAA6B,WAC3B,OAAO,MAETC,uBAAwB,WACtB,OAAO,GAETC,iBAAkB,WAChB,OAAO,GAETC,mBAAoB,WAClB,OAAO,GAETC,gBAAiB,WACf,OAAO,GAETC,yBAA0B,WACxB,OAAO,GAETC,kBAAmB,WACjB,OAAO,GAETC,cAAe,WACb,OAAO,GAETC,wBAAyB,WACvB,OAAO,GAETC,aAAc,aAGdC,2BAA4B,aAG5BC,4BAA6B,aAG7BC,iCAAkC,aAGlCC,+BAAgC,aAGhCC,sBAAuB,WACrB,MAAO,MAIbrnB,YAAY,EACZ2H,cAAc,IAGhBge,EAAkB3kB,UAAUyQ,OAAS,WACK,IAApC9P,KAAK+F,QAAQ+e,qBAIb9kB,KAAK+F,QAAQgf,mBAAmB,GAClC/kB,KAAKukB,iBAAkB,EACdvkB,KAAK+F,QAAQif,gBAAgB,KACtChlB,KAAKwkB,cAAe,GAGlBxkB,KAAKykB,eACPzkB,KAAK8hB,uBAAyB9hB,KAAK2lB,8BAQvC3B,EAAkB3kB,UAAUumB,aAAe,SAAUlnB,GACnDsB,KAAKikB,WAAavlB,GAOpBslB,EAAkB3kB,UAAUwmB,uBAAyB,SAAUnnB,GAC7DsB,KAAKkkB,YAAcxlB,GAOrBslB,EAAkB3kB,UAAUymB,mBAAqB,SAAUpnB,GACzDsB,KAAKmkB,uBAAyBzlB,GAQhCslB,EAAkB3kB,UAAU0mB,gBAAkB,SAAUtB,GACtDzkB,KAAKykB,aAAeA,EAEhBA,IACFzkB,KAAK8hB,uBAAyB9hB,KAAK2lB,6BAQvC3B,EAAkB3kB,UAAU2mB,sBAAwB,WAClD,OAAOhmB,KAAKykB,cAAgB,EAA6BzkB,KAAK0kB,iBAOhEV,EAAkB3kB,UAAU4mB,qBAAuB,SAAUC,GAC3DlmB,KAAKqkB,mBAAqB6B,GAG5BlC,EAAkB3kB,UAAU8mB,iBAAmB,WAC7C,OAAOnmB,KAAKokB,gBAGdJ,EAAkB3kB,UAAU+mB,iBAAmB,SAAUhV,GAClDpR,KAAKqmB,cAAcjV,KAIpBpR,KAAKukB,gBACPvkB,KAAKsmB,oBAAoBlV,GAChBpR,KAAKwkB,aACdxkB,KAAKumB,iBAAiBnV,GAEtBpR,KAAKwmB,2BAA2BpV,KAQpC4S,EAAkB3kB,UAAUonB,cAAgB,SAAUC,EAAGC,GACnDA,GAAiB,IACnB3mB,KAAK+hB,iBAAmB4E,EACxB3mB,KAAK+F,QAAQ0f,+BAA+BkB,EAAe,OAQ/D3C,EAAkB3kB,UAAUunB,eAAiB,SAAUF,EAAGC,GACxD,IAAIlZ,EAAQzN,KAER2mB,GAAiB,GACnB3mB,KAAK+F,QAAQ0f,+BAA+BkB,EAAe,MAQ7D3S,YAAW,WACJvG,EAAM1H,QAAQmf,qBACjBzX,EAAMoZ,oCAEP,IAOL7C,EAAkB3kB,UAAUgkB,cAAgB,SAAUC,EAAOwD,EAAgBH,GAC3E,IAAIlZ,EAAQzN,KAERwjB,EAAsC,cAAxB,YAAaF,GAC3BG,EAAoC,YAAxB,YAAaH,GACzBI,EAAuC,eAAxB,YAAaJ,GAC5BK,EAAsC,cAAxB,YAAaL,GAC3BM,EAAiC,SAAxB,YAAaN,GACtBO,EAAgC,QAAxB,YAAaP,GACrBQ,EAAkC,UAAxB,YAAaR,GACvBS,EAAkC,aAAxB,YAAaT,GAE3B,GAAItjB,KAAK+F,QAAQof,gBAAjB,CACM1B,GAAaI,GACfP,EAAM5B,iBACN1hB,KAAK+mB,qBACIpD,GAAeC,KACxBN,EAAM5B,iBACN1hB,KAAKgnB,qBAGHhnB,KAAKykB,cAaP,EAZwB,CACtBnB,MAAOA,EACPzB,iBAAkB,SAAUzQ,GAC1B3D,EAAMoU,iBAAiBzQ,IAEzB2Q,kBAAmB,EACnBwB,iBAAkBuD,EAClBhF,uBAAwB9hB,KAAK8hB,uBAC7BG,sBAAuB,SAAU7Q,GAC/B,OAAO3D,EAAM1H,QAAQqf,wBAAwBhU,EAAO,IAAW9M,4BAGxBtE,KAAK0kB,oBAtBpD,CA4BA,IAAIuC,EAAejnB,KAAK+F,QAAQ8e,yBAEhC,MAAsB,IAAlBoC,IACFA,EAAeN,GAEI,GAHrB,CAUA,GAAI3mB,KAAKkkB,aAAeP,IAAgB3jB,KAAKkkB,aAAeR,EAC1DnC,EAAoB+B,GACpBtjB,KAAKknB,iBAAiBD,QACjB,GAAIjnB,KAAKkkB,aAAeT,IAAczjB,KAAKkkB,aAAeV,EAC/DjC,EAAoB+B,GACpBtjB,KAAKmnB,iBAAiBF,QACjB,GAAIrD,EACTrC,EAAoB+B,GACpBtjB,KAAKgnB,yBACA,GAAInD,EACTtC,EAAoB+B,GACpBtjB,KAAK+mB,wBACA,IAAIjD,GAAWC,IAChB+C,EAAgB,CAElB,IAAIvY,EAAS+U,EAAM/U,OAEnB,GAAIA,GAA6B,MAAnBA,EAAOiT,SAAmBsC,EACtC,OAKF,GAFAvC,EAAoB+B,GAEhBtjB,KAAK+F,QAAQqf,wBAAwB6B,EAAc,IAAW3iB,0BAChE,OAGGtE,KAAKgmB,0BACJhmB,KAAKonB,qBACPpnB,KAAKqnB,0BAA0BJ,GAGjCjnB,KAAK+F,QAAQsf,aAAa4B,IAKhC,GAAIjnB,KAAKykB,aAaP,EAZwB,CACtBnB,MAAOA,EACPzB,iBAAkB,SAAUzQ,GAC1B3D,EAAMoU,iBAAiBzQ,IAEzB2Q,iBAAkB/hB,KAAK+hB,iBACvBwB,iBAAkBuD,EAClBhF,uBAAwB9hB,KAAK8hB,uBAC7BG,sBAAuB,SAAU7Q,GAC/B,OAAO3D,EAAM1H,QAAQqf,wBAAwBhU,EAAO,IAAW9M,4BAGxBtE,KAAK0kB,mBAQpDV,EAAkB3kB,UAAUioB,YAAc,SAAUlW,EAAOmW,GACrDnW,IAAU,IAAQxL,cAItB5F,KAAKwnB,oBAAoBpW,GACzBpR,KAAK+hB,iBAAmB3Q,EAEpBpR,KAAK+F,QAAQqf,wBAAwBhU,EAAO,IAAW9M,4BAIvDtE,KAAKonB,qBACPpnB,KAAKqnB,0BAA0BjW,EAAOmW,GAGxCvnB,KAAK+F,QAAQsf,aAAajU,MAO5B4S,EAAkB3kB,UAAU6nB,iBAAmB,SAAU9V,GACvD,IACIqW,EAAYrW,EAAQ,EAExB,GAAIqW,GAHQznB,KAAK+F,QAAQ+e,mBAGD,CACtB,IAAI9kB,KAAKikB,WAIP,OAAO7S,EAHPqW,EAAY,EAQhB,OADAznB,KAAK6hB,iBAAiB4F,GACfA,GAOTzD,EAAkB3kB,UAAU8nB,iBAAmB,SAAU/V,GACvD,IAAIsW,EAAYtW,EAAQ,EAExB,GAAIsW,EAAY,EAAG,CACjB,IAAI1nB,KAAKikB,WAIP,OAAO7S,EAHPsW,EAAY1nB,KAAK+F,QAAQ+e,mBAAqB,EAQlD,OADA9kB,KAAK6hB,iBAAiB6F,GACfA,GAGT1D,EAAkB3kB,UAAU2nB,kBAAoB,WAE9C,OADAhnB,KAAK6hB,iBAAiB,GACf,GAGTmC,EAAkB3kB,UAAU0nB,iBAAmB,WAC7C,IAAIY,EAAY3nB,KAAK+F,QAAQ+e,mBAAqB,EAElD,OADA9kB,KAAK6hB,iBAAiB8F,GACfA,GAQT3D,EAAkB3kB,UAAUuoB,WAAa,SAAUC,EAAW3E,GACvDljB,KAAKqmB,cAAcwB,KAIpB3E,GACFljB,KAAK+F,QAAQuf,2BAA2BuC,EAAW,IAAWvjB,0BAC9DtE,KAAK+F,QAAQwf,4BAA4BsC,EAAW,IAAQ5iB,cAAe,WAE3EjF,KAAK+F,QAAQ4e,wBAAwBkD,EAAW,IAAWvjB,0BAC3DtE,KAAK+F,QAAQwf,4BAA4BsC,EAAW,IAAQ5iB,cAAe,WAI/E+e,EAAkB3kB,UAAUmnB,2BAA6B,SAAUpV,GACjE,GAAIpR,KAAKokB,iBAAmBhT,EAA5B,CAIA,IAAI0W,EAAoB,IAAWvjB,yBAE/BvE,KAAKqkB,qBACPyD,EAAoB,IAAW1jB,2BAG7BpE,KAAKokB,iBAAmB,IAAQxe,aAClC5F,KAAK+F,QAAQuf,2BAA2BtlB,KAAKokB,eAAgB0D,GAG/D9nB,KAAK+F,QAAQ4e,wBAAwBvT,EAAO0W,GAC5C9nB,KAAK+nB,kCAAkC3W,GACvCpR,KAAKokB,eAAiBhT,IAOxB4S,EAAkB3kB,UAAU0oB,kCAAoC,SAAU3W,GAEpEpR,KAAKokB,iBAAmB,IAAQxe,cAClC5F,KAAKskB,sBAAwBtkB,KAAK+F,QAAQ6e,4BAA4BxT,EAAO,IAAQpM,eAGvF,IAAIgjB,EAA+C,OAA/BhoB,KAAKskB,sBACrB2D,EAAgBD,EAAgB,IAAQhjB,aAAe,IAAQK,cAE/DrF,KAAKokB,iBAAmB,IAAQxe,aAClC5F,KAAK+F,QAAQwf,4BAA4BvlB,KAAKokB,eAAgB6D,EAAe,SAG/E,IAAIC,EAAqBF,EAAgBhoB,KAAKskB,sBAAwB,OACtEtkB,KAAK+F,QAAQwf,4BAA4BnU,EAAO6W,EAAeC,IAOjElE,EAAkB3kB,UAAUknB,iBAAmB,SAAUnV,GACvDpR,KAAK+F,QAAQyf,iCAAiCpU,GAAO,GAEjDpR,KAAKokB,iBAAmB,IAAQxe,aAClC5F,KAAK+F,QAAQwf,4BAA4BvlB,KAAKokB,eAAgB,IAAQvf,aAAc,SAGtF7E,KAAK+F,QAAQwf,4BAA4BnU,EAAO,IAAQvM,aAAc,QACtE7E,KAAKokB,eAAiBhT,GAGxB4S,EAAkB3kB,UAAUinB,oBAAsB,SAAUlV,GAC1D,IAAK,IAAI3T,EAAI,EAAGA,EAAIuC,KAAK+F,QAAQ+e,mBAAoBrnB,IAAK,CACxD,IAAI0qB,GAAY,EAEZ/W,EAAMhE,QAAQ3P,IAAM,IACtB0qB,GAAY,GAGdnoB,KAAK+F,QAAQyf,iCAAiC/nB,EAAG0qB,GACjDnoB,KAAK+F,QAAQwf,4BAA4B9nB,EAAG,IAAQoH,aAAcsjB,EAAY,OAAS,SAGzFnoB,KAAKokB,eAAiBhT,GAGxB4S,EAAkB3kB,UAAUmoB,oBAAsB,SAAUpW,GACtDpR,KAAK+hB,mBAAqB,IAAQnc,aAAyB,IAAVwL,EAGnDpR,KAAK+F,QAAQwf,4BAA4B,EAAG,WAAY,MAC/CvlB,KAAK+hB,kBAAoB,GAAK/hB,KAAK+hB,mBAAqB3Q,GACjEpR,KAAK+F,QAAQwf,4BAA4BvlB,KAAK+hB,iBAAkB,WAAY,MAG9E/hB,KAAK+F,QAAQwf,4BAA4BnU,EAAO,WAAY,MAO9D4S,EAAkB3kB,UAAU+nB,kBAAoB,WAC9C,OAAOpnB,KAAKmkB,wBAA0BnkB,KAAKukB,iBAAmBvkB,KAAKwkB,cAGrER,EAAkB3kB,UAAUwnB,gCAAkC,WAC5D,IAAIuB,EAAc,EAEdpoB,KAAKonB,sBAC4B,kBAAxBpnB,KAAKokB,gBAA+BpkB,KAAKokB,iBAAmB,IAAQxe,YAC7EwiB,EAAcpoB,KAAKokB,eACIpkB,KAAKokB,0BAlhBFvkB,OAkhBqBG,KAAKokB,eAAe/jB,OAAS,IAC5E+nB,EAAcpoB,KAAKokB,eAAeiE,QAAO,SAAUpB,EAAcqB,GAC/D,OAAO9L,KAAK+L,IAAItB,EAAcqB,QAKpCtoB,KAAKwnB,oBAAoBY,IAG3BpE,EAAkB3kB,UAAUgnB,cAAgB,SAAUjV,GACpD,IAAI3D,EAAQzN,KAEZ,GAAIoR,aAAiBvR,MAAO,CAC1B,IAAKG,KAAKukB,gBACR,MAAM,IAAIzd,MAAM,+EAGlB,OAAqB,IAAjBsK,EAAM/Q,QAGD+Q,EAAMqK,MAAK,SAAUhe,GAC1B,OAAOgQ,EAAM+a,gBAAgB/qB,MAG5B,GAAqB,kBAAV2T,EAAoB,CACpC,GAAIpR,KAAKukB,gBACP,MAAM,IAAIzd,MAAM,sFAAwFsK,GAG1G,OAAOpR,KAAKwoB,gBAAgBpX,GAE5B,OAAO,GAIX4S,EAAkB3kB,UAAUmpB,gBAAkB,SAAUpX,GACtD,IAAIqX,EAAWzoB,KAAK+F,QAAQ+e,mBAC5B,OAAO1T,GAAS,GAAKA,EAAQqX,GAQ/BzE,EAAkB3kB,UAAUgoB,0BAA4B,SAAUjW,EAAOmW,QAChD,IAAnBA,IACFA,GAAiB,GAGfvnB,KAAKukB,gBACPvkB,KAAK0oB,uBAAuBtX,EAAOmW,GAEnCvnB,KAAKomB,iBAAiBhV,IAI1B4S,EAAkB3kB,UAAUqpB,uBAAyB,SAAUtX,EAAOmW,GACpE,IAAIY,EAAYnoB,KAAK+F,QAAQkf,yBAAyB7T,GAElDmW,IACFY,GAAaA,EACbnoB,KAAK+F,QAAQyf,iCAAiCpU,EAAO+W,IAGvDnoB,KAAK+F,QAAQwf,4BAA4BnU,EAAO,IAAQvM,aAAcsjB,EAAY,OAAS,SAE3F,IAAIQ,EAAkB3oB,KAAKokB,iBAAmB,IAAQxe,YAAc,GAAK5F,KAAKokB,eAAewE,QAEzFT,EACFQ,EAAgB5nB,KAAKqQ,GAErBuX,EAAkBA,EAAgBE,QAAO,SAAUprB,GACjD,OAAOA,IAAM2T,KAIjBpR,KAAKokB,eAAiBuE,GAGxB3E,EAAkB3kB,UAAUwiB,iBAAmB,SAAUzQ,GACvDpR,KAAKwnB,oBAAoBpW,GACzBpR,KAAK+F,QAAQ8b,iBAAiBzQ,GAC9BpR,KAAK+hB,iBAAmB3Q,GAiB1B4S,EAAkB3kB,UAAUypB,mBAAqB,SAAUlH,EAAUmH,EAAe/G,GAClF,IAAIvU,EAAQzN,KAkBZ,YAhBkB,IAAdgiB,IACFA,GAAY,GAeP,EAZI,CACTH,iBAAkB,SAAUzQ,GAC1B3D,EAAMoU,iBAAiBzQ,IAEzB2Q,iBAAkBgH,GAAgC/oB,KAAK+hB,iBACvDH,SAAUA,EACVE,uBAAwB9hB,KAAK8hB,uBAC7BE,UAAWA,EACXC,sBAAuB,SAAU7Q,GAC/B,OAAO3D,EAAM1H,QAAQqf,wBAAwBhU,EAAO,IAAW9M,4BAGlCtE,KAAK0kB,iBAUxCV,EAAkB3kB,UAAUsmB,yBAA2B,WACrD,OD5nBG,SAAyBqD,EAAeC,GAG7C,IAFA,IAAInH,EAAyB,IAAI3Y,IAExB1L,EAAI,EAAGA,EAAIurB,EAAevrB,IAAK,CACtC,IAAIyrB,EAAcD,EAA0BxrB,GAAG0P,OAE/C,GAAK+b,EAAL,CAIA,IAAI7G,EAAY6G,EAAY,GAAGzH,cAE1BK,EAAuBvY,IAAI8Y,IAC9BP,EAAuB1Y,IAAIiZ,EAAW,IAGxCP,EAAuBxjB,IAAI+jB,GAAWthB,KAAK,CACzC+hB,KAAMoG,EAAYzH,cAClBrQ,MAAO3T,KAWX,OALAqkB,EAAuB5G,SAAQ,SAAUiO,GACvCA,EAAOC,MAAK,SAAUC,EAAOC,GAC3B,OAAOD,EAAMjY,MAAQkY,EAAOlY,YAGzB0Q,EC+lBE,CAA0B9hB,KAAK+F,QAAQ+e,mBAAoB9kB,KAAK+F,QAAQ2f,wBAOjF1B,EAAkB3kB,UAAUkqB,qBAAuB,WACjD,EAAsBvpB,KAAK0kB,iBAGtBV,EA3pBT,CA4pBE,M,8ICzqBE7f,EAAa,CACfO,KAAM,oCAEJC,EAAU,CACZ6kB,cAAe,IAAMrlB,EAAWO,MCA9B,EAEJ,SAAU8I,GAGR,SAASic,EAAuC1jB,GAC9C,OAAOyH,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAIypB,EAAuC1W,gBAAiBhN,KAAa/F,KAqCtH,OAxCA,YAAUypB,EAAwCjc,GAMlDrP,OAAOC,eAAeqrB,EAAwC,aAAc,CAC1EnrB,IAAK,WACH,OAAO6F,GAET9F,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeqrB,EAAwC,UAAW,CACvEnrB,IAAK,WACH,OAAOqG,GAETtG,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeqrB,EAAwC,iBAAkB,CAI9EnrB,IAAK,WACH,MAAO,CACLorB,WAAY,eAKhBrrB,YAAY,EACZ2H,cAAc,IAGhByjB,EAAuCpqB,UAAUsqB,gBAAkB,SAAUC,EAAeC,GAC1FD,EAAgBpN,KAAK+L,IAAIqB,EAAeC,GACxC7pB,KAAK+F,QAAQ2jB,WAAWE,EAAgB,MAAQC,IAG3CJ,EAzCT,CA0CE,KC5CE,EAEJ,SAAUjc,GAGR,SAASsc,IACP,OAAkB,OAAXtc,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KA6B7D,OAhCA,YAAU8pB,EAA8Btc,GAMxCsc,EAA6BljB,SAAW,SAAUR,GAChD,OAAO,IAAI0jB,EAA6B1jB,IAG1CjI,OAAOC,eAAe0rB,EAA6BzqB,UAAW,yBAA0B,CAEtFf,IAAK,WACH,OAAO0B,KAAKqG,YAEdhI,YAAY,EACZ2H,cAAc,IAGhB8jB,EAA6BzqB,UAAUqH,qBAAuB,WAC5D,IAAI+G,EAAQzN,KASZ,OAAO,IAAI,EALG,CACZ0pB,WAAY,SAAU1mB,GACpByK,EAAMrH,KAAKkP,YAActS,MAMxB8mB,EAjCT,CAkCE,KCxCE,EAAU,CACZC,cAAe,gBACfC,eAAgB,yBAChB/X,eAAgB,sBAChBgY,sBAAuB,iCACvBC,qBAAsB,mBACtBC,iBAAkB,uBAClBC,gBAAiB,iCACjBC,gBAAiB,iCACjBC,uBAAwB,mCAEtB,EAAa,CACfC,SAAU,2BACVC,QAAS,0BACTC,UAAW,4BACXC,YAAa,6BACbC,QAAS,0BACTC,eAAgB,iCAChBC,SAAU,2BACVC,SAAU,2BACVpmB,KAAM,iBACNqmB,SAAU,2BACVC,kBAAmB,oCACnBC,mBAAoB,sCAElBtlB,EAAU,CACZulB,YAAa,KAOXC,EAA4B,CAAC,UAAW,MAAO,MAAO,WAAY,OAAQ,YAAa,aAKvFC,EAAqB,CAAC,QAAS,OAAQ,iBAAkB,QAAS,QAAS,OAAQ,QCnCnFC,EAAqB,CAAC,YAAa,cACnCC,EAAqB,CAAC,QAAS,WAE/B,EAEJ,SAAU9d,GAQR,SAAS+d,EAAuBxlB,EAASylB,QACjB,IAAlBA,IACFA,EAAgB,IAGlB,IAAI/d,EAAQD,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAIurB,EAAuBxY,gBAAiBhN,KAAa/F,KAmCzG,OAjCAyN,EAAMge,YAAa,EACnBhe,EAAMie,oBAAqB,EAC3Bje,EAAMke,UAAW,EACjBle,EAAMme,sBAAuB,EAC7Bne,EAAMoe,YAAcL,EAAcM,WAClCre,EAAMse,kBAAoBP,EAAcQ,iBACxCve,EAAMwe,aAAeT,EAAcU,YACnCze,EAAM0e,cAAgBX,EAAcY,aAEpC3e,EAAM4e,mBAAqB,WACzB,OAAO5e,EAAM6e,iBAGf7e,EAAM8e,kBAAoB,WACxB,OAAO9e,EAAM+e,mBAGf/e,EAAMgf,mBAAqB,WACzB,OAAOhf,EAAMif,eAGfjf,EAAMkf,mBAAqB,SAAUllB,GACnC,OAAOgG,EAAMmf,mBAAmBnlB,IAGlCgG,EAAMof,6BAA+B,WACnC,OAAOpf,EAAMqf,8BAGfrf,EAAMsf,kCAAoC,SAAUC,GAClD,OAAOvf,EAAMwf,gCAAgCD,IAGxCvf,EA0iBT,OAzlBA,YAAU8d,EAAwB/d,GAkDlCrP,OAAOC,eAAemtB,EAAwB,aAAc,CAC1DjtB,IAAK,WACH,OAAO,GAETD,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAemtB,EAAwB,UAAW,CACvDjtB,IAAK,WACH,OAAO,GAETD,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAemtB,EAAwB,UAAW,CACvDjtB,IAAK,WACH,OAAOqH,GAETtH,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAemtB,EAAuBlsB,UAAW,qBAAsB,CAC5Ef,IAAK,WACH,IAAI4R,EAAOlQ,KAAKktB,kBAAkBhd,KAClC,OAAOkb,EAAmBhe,QAAQ8C,IAAS,GAE7C7R,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAemtB,EAAuBlsB,UAAW,cAAe,CACrEf,IAAK,WACH,OAAO0B,KAAKmtB,oBAAsBntB,KAAKyrB,cAAgBzrB,KAAKotB,YAAcptB,KAAKqtB,eAEjFhvB,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAemtB,EAAuBlsB,UAAW,cAAe,CACrEf,IAAK,WACH,OAAQ0B,KAAKyrB,aAAezrB,KAAKstB,aAAettB,KAAKotB,YAEvD/uB,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAemtB,EAAwB,iBAAkB,CAI9DjtB,IAAK,WAEH,MAAO,CACL2P,SAAU,aAGVsB,YAAa,aAGbge,SAAU,WACR,OAAO,GAETC,oCAAqC,aAGrCC,sCAAuC,aAGvCC,gCAAiC,aAGjCC,kCAAmC,aAGnCC,yCAA0C,WACxC,OAAO,IAAIC,kBAAiB,gBAI9BC,2CAA4C,aAG5CC,eAAgB,WACd,OAAO,MAETC,UAAW,WACT,OAAO,GAETC,mBAAoB,aAGpBC,qBAAsB,aAGtBC,6BAA8B,aAG9BC,WAAY,aAGZC,WAAY,aAGZC,iBAAkB,aAGlBC,SAAU,WACR,OAAO,GAETC,cAAe,WACb,OAAO,GAETC,WAAY,WACV,OAAO,GAETC,aAAc,aAGdC,aAAc,eAKlBtwB,YAAY,EACZ2H,cAAc,IAGhBulB,EAAuBlsB,UAAU4G,KAAO,WACtC,IAAIwH,EAAQzN,KAERA,KAAK+F,QAAQwoB,YAAcvuB,KAAKktB,kBAAkB0B,UACpD5uB,KAAK+F,QAAQuoB,kBAAiB,GAG5BtuB,KAAK+F,QAAQioB,YACfhuB,KAAKqsB,qBACIrsB,KAAK+F,QAAQwoB,YAAcvuB,KAAK6uB,cACzC7uB,KAAK0uB,cAAa,GAClB1uB,KAAK+F,QAAQsoB,YAAW,GACxBruB,KAAK8uB,gBAAe,IAGtB9uB,KAAK+F,QAAQ2nB,gCAAgC,QAAS1tB,KAAKqsB,oBAC3DrsB,KAAK+F,QAAQ2nB,gCAAgC,OAAQ1tB,KAAKusB,mBAC1DvsB,KAAK+F,QAAQ2nB,gCAAgC,QAAS1tB,KAAKysB,oBAC3DpB,EAAmBnQ,SAAQ,SAAUlU,GACnCyG,EAAM1H,QAAQ2nB,gCAAgC1mB,EAASyG,EAAMkf,uBAE/DrB,EAAmBpQ,SAAQ,SAAUlU,GACnCyG,EAAM1H,QAAQynB,oCAAoCxmB,EAASyG,EAAMof,iCAEnE7sB,KAAK+uB,oBAAsB/uB,KAAK+F,QAAQ6nB,yCAAyC5tB,KAAK+sB,mCACtF/sB,KAAKgvB,qBAAqBhvB,KAAKotB,WAAW/sB,SAG5CkrB,EAAuBlsB,UAAU6G,QAAU,WACzC,IAAIuH,EAAQzN,KAEZA,KAAK+F,QAAQ4nB,kCAAkC,QAAS3tB,KAAKqsB,oBAC7DrsB,KAAK+F,QAAQ4nB,kCAAkC,OAAQ3tB,KAAKusB,mBAC5DvsB,KAAK+F,QAAQ4nB,kCAAkC,QAAS3tB,KAAKysB,oBAC7DpB,EAAmBnQ,SAAQ,SAAUlU,GACnCyG,EAAM1H,QAAQ4nB,kCAAkC3mB,EAASyG,EAAMkf,uBAEjErB,EAAmBpQ,SAAQ,SAAUlU,GACnCyG,EAAM1H,QAAQ0nB,sCAAsCzmB,EAASyG,EAAMof,iCAErE7sB,KAAK+F,QAAQ+nB,2CAA2C9tB,KAAK+uB,sBAO/DxD,EAAuBlsB,UAAUytB,2BAA6B,WAC5D,IAAImC,EAAcjvB,KAAK+F,QAAQgoB,iBAE3BkB,GAAeA,EAAYvhB,WAI/B1N,KAAK0rB,oBAAqB,IAO5BH,EAAuBlsB,UAAU4tB,gCAAkC,SAAUD,GAC3E,IAAIvf,EAAQzN,KAEZgtB,EAAevR,MAAK,SAAUyT,GAC5B,OAAI/D,EAA0B/d,QAAQ8hB,IAAkB,IACtDzhB,EAAM0hB,gBAAe,GAErB1hB,EAAM1H,QAAQuoB,iBAAiB7gB,EAAMyf,kBAAkB0B,WAEhD,MAMP5B,EAAe5f,QAAQ,cAAgB,GACzCpN,KAAKgvB,qBAAqBhvB,KAAKotB,WAAW/sB,SAQ9CkrB,EAAuBlsB,UAAUqvB,aAAe,SAAUU,GACxD,GAAKpvB,KAAK+F,QAAQ0oB,aAIlB,GAAIW,EAAW,CACb,IAAIC,EAAarvB,KAAK+F,QAAQyoB,gBAAkB7oB,EAAQulB,YACxDlrB,KAAK+F,QAAQ2oB,aAAaW,QAE1BrvB,KAAK+F,QAAQ4oB,gBAQjBpD,EAAuBlsB,UAAUitB,cAAgB,WAC/CtsB,KAAKyrB,YAAa,EAClBzrB,KAAKsvB,cAActvB,KAAKyrB,YACxBzrB,KAAK+F,QAAQkoB,qBAETjuB,KAAK+F,QAAQwoB,aACfvuB,KAAK0uB,aAAa1uB,KAAK6uB,aACvB7uB,KAAK+F,QAAQsoB,WAAWruB,KAAK6uB,aAC7B7uB,KAAK8uB,eAAe9uB,KAAK6uB,aACzB7uB,KAAK+F,QAAQqoB,WAAWpuB,KAAKuvB,cAG3BvvB,KAAK6rB,aACP7rB,KAAK6rB,YAAY2D,sBASrBjE,EAAuBlsB,UAAUutB,mBAAqB,SAAUnlB,GAC9D,IAAIzH,KAAKyvB,eAAgBzvB,KAAK+F,QAAQ0oB,aAAtC,CAIA,IAAIiB,EAAUjoB,EAAIioB,QACdC,EAAcD,EAAUA,EAAQ,GAAKjoB,EACrCmoB,EAAmBD,EAAYphB,OAAOF,wBACtCwhB,EAAcF,EAAYG,QAAUF,EAAiB7W,KACzD/Y,KAAK+F,QAAQooB,6BAA6B0B,KAO5CtE,EAAuBlsB,UAAUqtB,YAAc,WAC7C1sB,KAAK+vB,oBACL/vB,KAAKgvB,qBAAqBhvB,KAAKotB,WAAW/sB,SAQ5CkrB,EAAuBlsB,UAAU0wB,kBAAoB,WAC9C/vB,KAAK0rB,oBACR1rB,KAAKssB,iBAQTf,EAAuBlsB,UAAUmtB,gBAAkB,WACjDxsB,KAAKyrB,YAAa,EAClBzrB,KAAK+F,QAAQmoB,uBACb,IAAIZ,EAAUttB,KAAKstB,UACnBttB,KAAKmvB,eAAe7B,GACpBttB,KAAKsvB,cAActvB,KAAKyrB,YAEpBzrB,KAAK+F,QAAQwoB,aACfvuB,KAAK0uB,aAAa1uB,KAAK6uB,aACvB7uB,KAAK+F,QAAQsoB,WAAWruB,KAAK6uB,aAC7B7uB,KAAK8uB,eAAe9uB,KAAK6uB,aACzB7uB,KAAK+F,QAAQqoB,WAAWpuB,KAAKuvB,cAG1BvvB,KAAK6uB,cACR7uB,KAAK0rB,oBAAqB,IAI9BH,EAAuBlsB,UAAU+tB,SAAW,WAC1C,OAAOptB,KAAKktB,kBAAkBxuB,OAOhC6sB,EAAuBlsB,UAAU2wB,SAAW,SAAUtxB,GAEhDsB,KAAKotB,aAAe1uB,IACtBsB,KAAKktB,kBAAkBxuB,MAAQA,GAGjCsB,KAAKgvB,qBAAqBtwB,EAAM2B,QAChC,IAAIitB,EAAUttB,KAAKstB,UACnBttB,KAAKmvB,eAAe7B,GAEhBttB,KAAK+F,QAAQwoB,aACfvuB,KAAK0uB,aAAa1uB,KAAK6uB,aACvB7uB,KAAK+F,QAAQsoB,WAAWruB,KAAK6uB,aAC7B7uB,KAAK8uB,eAAe9uB,KAAK6uB,aACzB7uB,KAAK+F,QAAQqoB,WAAWpuB,KAAKuvB,eAQjChE,EAAuBlsB,UAAUiuB,QAAU,WACzC,OAAOttB,KAAK4rB,qBAAuB5rB,KAAKiwB,sBAAwBjwB,KAAK2rB,UAOvEJ,EAAuBlsB,UAAU6wB,SAAW,SAAU5C,GACpDttB,KAAK2rB,SAAW2B,EAChBttB,KAAKmvB,eAAe7B,GACpB,IAAIiC,GAAejC,IAAYttB,KAAKyrB,cAAgBzrB,KAAKotB,WAErDptB,KAAK+F,QAAQwoB,YACfvuB,KAAK+F,QAAQqoB,WAAWmB,IAS5BhE,EAAuBlsB,UAAU8wB,uBAAyB,SAAUC,GAClEpwB,KAAK4rB,qBAAuBwE,GAG9B7E,EAAuBlsB,UAAUowB,WAAa,WAC5C,OAAOzvB,KAAKktB,kBAAkBxf,UAOhC6d,EAAuBlsB,UAAUgxB,YAAc,SAAU3iB,GACvD1N,KAAKktB,kBAAkBxf,SAAWA,EAClC1N,KAAKswB,eAAe5iB,IAOtB6d,EAAuBlsB,UAAUkxB,qBAAuB,SAAUvtB,GAC5DhD,KAAK6rB,aACP7rB,KAAK6rB,YAAYnC,WAAW1mB,IAQhCuoB,EAAuBlsB,UAAUmxB,wBAA0B,SAAUpvB,GAC/DpB,KAAKisB,cACPjsB,KAAKisB,aAAawE,aAAarvB,IAQnCmqB,EAAuBlsB,UAAUqxB,sBAAwB,SAAU1tB,GAC7DhD,KAAKisB,cACPjsB,KAAKisB,aAAavC,WAAW1mB,IAQjCuoB,EAAuBlsB,UAAUsxB,yBAA2B,SAAUvvB,GAChEpB,KAAKmsB,eACPnsB,KAAKmsB,cAAcsE,aAAarvB,IAQpCmqB,EAAuBlsB,UAAUuxB,uBAAyB,SAAU5tB,GAC9DhD,KAAKmsB,eACPnsB,KAAKmsB,cAAczC,WAAW1mB,IAQlCuoB,EAAuBlsB,UAAU2vB,qBAAuB,SAAUpF,GAChE,GAAK5pB,KAAK+rB,kBAAV,CAIA,IAAIlC,EAAY7pB,KAAKktB,kBAAkBrD,UAEvC,IAAmB,IAAfA,EACF,MAAM,IAAI/iB,MAAM,uFAGlB9G,KAAK+rB,kBAAkBpC,gBAAgBC,EAAeC,KAOxD0B,EAAuBlsB,UAAUguB,YAAc,WAE7C,OAAOrtB,KAAKktB,kBAAkB2D,SAASC,WAAY,GAOrDvF,EAAuBlsB,UAAU4wB,oBAAsB,WACrD,OAAOjwB,KAAKktB,kBAAkB2D,SAASE,OAOzCxF,EAAuBlsB,UAAU8vB,eAAiB,SAAU7B,GAC1D,IAAI3C,EAAUY,EAAuBpnB,WAAWwmB,QAE5C2C,EACFttB,KAAK+F,QAAQwJ,YAAYob,GAEzB3qB,KAAK+F,QAAQkI,SAAS0c,GAGpB3qB,KAAK6rB,aACP7rB,KAAK6rB,YAAYmF,YAAY1D,IAQjC/B,EAAuBlsB,UAAUiwB,cAAgB,SAAUtB,GACzD,IAAIxD,EAAUe,EAAuBpnB,WAAWqmB,QAE5CwD,EACFhuB,KAAK+F,QAAQkI,SAASuc,GAEtBxqB,KAAK+F,QAAQwJ,YAAYib,IAQ7Be,EAAuBlsB,UAAUixB,eAAiB,SAAUb,GAC1D,IAAItV,EAAKoR,EAAuBpnB,WAC5BomB,EAAWpQ,EAAGoQ,SACdI,EAAUxQ,EAAGwQ,QAEb8E,GACFzvB,KAAK+F,QAAQkI,SAASsc,GACtBvqB,KAAK+F,QAAQwJ,YAAYob,IAEzB3qB,KAAK+F,QAAQwJ,YAAYgb,GAGvBvqB,KAAKisB,cACPjsB,KAAKisB,aAAaoE,YAAYZ,GAG5BzvB,KAAKmsB,eACPnsB,KAAKmsB,cAAckE,YAAYZ,IAQnClE,EAAuBlsB,UAAUyvB,eAAiB,SAAUmC,GAC1D,IAAIrG,EAAiBW,EAAuBpnB,WAAWymB,eAEnDqG,EACFjxB,KAAK+F,QAAQkI,SAAS2c,GAEtB5qB,KAAK+F,QAAQwJ,YAAYqb,IAQ7BW,EAAuBlsB,UAAU6tB,gBAAkB,WAKjD,OADkBltB,KAAK+F,QAAU/F,KAAK+F,QAAQgoB,iBAAmB,OAC3C,CACpBrgB,UAAU,EACVmc,WAAY,EACZ+E,UAAU,EACV1e,KAAM,QACN2gB,SAAU,CACRC,UAAU,EACVC,OAAO,GAETryB,MAAO,KAIJ6sB,EA1lBT,CA2lBE,K,wBCllBE,EAEJ,SAAU/d,GAGR,SAAS0jB,IACP,OAAkB,OAAX1jB,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KAsjB7D,OAzjBA,YAAUkxB,EAAc1jB,GAMxB0jB,EAAatqB,SAAW,SAAUR,GAChC,OAAO,IAAI8qB,EAAa9qB,IAG1B8qB,EAAa7xB,UAAUmH,WAAa,SAAU2qB,EAAeC,EAAmBC,EAAmBC,EAAyBC,EAAaC,EAAcC,QAC/H,IAAlBN,IACFA,EAAgB,SAAU9uB,EAAIgE,GAC5B,OAAO,IAAI,IAAUhE,EAAIgE,UAIH,IAAtB+qB,IACFA,EAAoB,SAAU/uB,GAC5B,OAAO,IAAI,IAAcA,UAIH,IAAtBgvB,IACFA,EAAoB,SAAUhvB,GAC5B,OAAO,IAAI,IAAuBA,UAIN,IAA5BivB,IACFA,EAA0B,SAAUjvB,GAClC,OAAO,IAAI,EAA6BA,UAIxB,IAAhBkvB,IACFA,EAAc,SAAUlvB,GACtB,OAAO,IAAI,IAAiBA,UAIX,IAAjBmvB,IACFA,EAAe,SAAUnvB,GACvB,OAAO,IAAI,IAAiBA,UAIT,IAAnBovB,IACFA,EAAiB,SAAUpvB,GACzB,OAAO,IAAI,IAAkBA,KAIjCrC,KAAK0xB,OAAS1xB,KAAKoG,KAAKwE,cAAc,EAAQof,gBAC9C,IAAI2H,EAAe3xB,KAAKoG,KAAKwE,cAAc,EAAQqH,gBACnDjS,KAAK4xB,OAASD,EAAeH,EAAaG,GAAgB,KAC1D,IAAIE,EAAoB7xB,KAAKoG,KAAKwE,cAAc,EAAQsf,sBACxDlqB,KAAK8xB,YAAcD,EAAoBT,EAAkBS,GAAqB,KAC9E,IAAIE,EAAiB/xB,KAAKoG,KAAKwE,cAAc,EAAQuf,kBACrDnqB,KAAKgyB,SAAWD,EAAiBN,EAAeM,GAAkB,KAElE,IAAIE,EAAoB,IAAiCttB,QACrDutB,EAAqBlyB,KAAKoG,KAAK8rB,mBAC/BC,EAAgBD,GAAsBA,EAAmBtwB,UAAU4M,SAAS,EAAWkc,aACvF0H,EAAeD,GAAiBD,GAAsBA,EAAmBtnB,cAAcqnB,EAAkBzI,eAC7GxpB,KAAK6rB,YAAcuG,EAAef,EAAkBe,GAAgB,KAEpE,IAAIC,EAA0B,EAAuC1tB,QACjE2tB,EAAqBtyB,KAAKoG,KAAKwE,cAAcynB,EAAwB7I,gBAEpE8I,GAAsBH,GAAiBD,IAC1CI,EAAqBJ,EAAmBtnB,cAAcynB,EAAwB7I,gBAGhFxpB,KAAK+rB,kBAAoBuG,EAAqBhB,EAAwBgB,GAAsB,KAE5F,IAAIC,EAAgBvyB,KAAKoG,KAAKwE,cAAc,EAAQqf,uBACpDjqB,KAAKisB,aAAesG,EAAgBhB,EAAYgB,GAAiB,KAEjE,IAAIC,EAAiBxyB,KAAKoG,KAAKwE,cAAc,EAAQ0f,wBACrDtqB,KAAKmsB,cAAgBqG,EAAiBjB,EAAYiB,GAAkB,KAEpExyB,KAAKyyB,QAAUzyB,KAAKoG,KAAKwE,cAAc,EAAQwf,iBAC/CpqB,KAAK0yB,QAAU1yB,KAAKoG,KAAKwE,cAAc,EAAQyf,iBAC/CrqB,KAAK6N,OAAS7N,KAAK2yB,cAAcxB,IAGnCD,EAAa7xB,UAAU6G,QAAU,WAC3BlG,KAAK6N,QACP7N,KAAK6N,OAAO3H,UAGVlG,KAAK8xB,aACP9xB,KAAK8xB,YAAY5rB,UAGflG,KAAK6rB,aACP7rB,KAAK6rB,YAAY3lB,UAGflG,KAAK+rB,mBACP/rB,KAAK+rB,kBAAkB7lB,UAGrBlG,KAAKisB,cACPjsB,KAAKisB,aAAa/lB,UAGhBlG,KAAKmsB,eACPnsB,KAAKmsB,cAAcjmB,UAGjBlG,KAAK4xB,QACP5xB,KAAK4xB,OAAO1rB,UAGVlG,KAAKgyB,UACPhyB,KAAKgyB,SAAS9rB,UAGhBsH,EAAOnO,UAAU6G,QAAQtI,KAAKoC,OAQhCkxB,EAAa7xB,UAAUsH,mBAAqB,WAC1C3G,KAAK0N,SAAW1N,KAAK0xB,OAAOhkB,UAG9BvP,OAAOC,eAAe8yB,EAAa7xB,UAAW,QAAS,CACrDf,IAAK,WACH,OAAO0B,KAAKqG,WAAW+mB,YAMzBhkB,IAAK,SAAU1K,GACbsB,KAAKqG,WAAW2pB,SAAStxB,IAE3BL,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,WAAY,CACxDf,IAAK,WACH,OAAO0B,KAAKqG,WAAWopB,cAMzBrmB,IAAK,SAAUsE,GACb1N,KAAKqG,WAAWgqB,YAAY3iB,IAE9BrP,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,QAAS,CACrDf,IAAK,WACH,OAAO0B,KAAKqG,WAAWinB,WAMzBlkB,IAAK,SAAU2nB,GACb/wB,KAAKqG,WAAW6pB,SAASa,IAE3B1yB,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,WAAY,CACxDf,IAAK,WACH,OAAO0B,KAAK0xB,OAAO9C,UAMrBxlB,IAAK,SAAUwlB,GACb5uB,KAAK0xB,OAAO9C,SAAWA,GAEzBvwB,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,UAAW,CACvDf,IAAK,WACH,OAAO0B,KAAK0xB,OAAOtR,SAMrBhX,IAAK,SAAUgX,GACbpgB,KAAK0xB,OAAOtR,QAAUA,GAExB/hB,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,YAAa,CACzDf,IAAK,WACH,OAAO0B,KAAK0xB,OAAOkB,WAMrBxpB,IAAK,SAAUwpB,GACb5yB,KAAK0xB,OAAOkB,UAAYA,GAE1Bv0B,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,YAAa,CACzDf,IAAK,WACH,OAAO0B,KAAK0xB,OAAO7H,WAMrBzgB,IAAK,SAAUygB,GAETA,EAAY,EACd7pB,KAAK0xB,OAAOnc,gBAAgB,aAE5BvV,KAAK0xB,OAAO7H,UAAYA,GAG5BxrB,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,MAAO,CACnDf,IAAK,WACH,OAAO0B,KAAK0xB,OAAOnJ,KAMrBnf,IAAK,SAAUmf,GACbvoB,KAAK0xB,OAAOnJ,IAAMA,GAEpBlqB,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,MAAO,CACnDf,IAAK,WACH,OAAO0B,KAAK0xB,OAAOjV,KAMrBrT,IAAK,SAAUqT,GACbzc,KAAK0xB,OAAOjV,IAAMA,GAEpBpe,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,OAAQ,CACpDf,IAAK,WACH,OAAO0B,KAAK0xB,OAAOmB,MAMrBzpB,IAAK,SAAUypB,GACb7yB,KAAK0xB,OAAOmB,KAAOA,GAErBx0B,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,oBAAqB,CAIjE+J,IAAK,SAAUpG,GACbhD,KAAKqG,WAAWkqB,qBAAqBvtB,IAEvC3E,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,uBAAwB,CAIpE+J,IAAK,SAAUhI,GACbpB,KAAKqG,WAAWmqB,wBAAwBpvB,IAE1C/C,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,qBAAsB,CAIlE+J,IAAK,SAAUpG,GACbhD,KAAKqG,WAAWqqB,sBAAsB1tB,IAExC3E,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,wBAAyB,CAIrE+J,IAAK,SAAUhI,GACbpB,KAAKqG,WAAWsqB,yBAAyBvvB,IAE3C/C,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,sBAAuB,CAInE+J,IAAK,SAAUpG,GACbhD,KAAKqG,WAAWuqB,uBAAuB5tB,IAEzC3E,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,sBAAuB,CAKnE+J,IAAK,SAAUgnB,GACbpwB,KAAKqG,WAAW8pB,uBAAuBC,IAEzC/xB,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,aAAc,CAI1Df,IAAK,WACH,OAAO0B,KAAKyyB,QAAUzyB,KAAKyyB,QAAQnd,YAAc,MAMnDlM,IAAK,SAAU0pB,GACT9yB,KAAKyyB,UACPzyB,KAAKyyB,QAAQnd,YAAcwd,IAG/Bz0B,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe8yB,EAAa7xB,UAAW,aAAc,CAI1Df,IAAK,WACH,OAAO0B,KAAK0yB,QAAU1yB,KAAK0yB,QAAQpd,YAAc,MAMnDlM,IAAK,SAAU2pB,GACT/yB,KAAK0yB,UACP1yB,KAAK0yB,QAAQpd,YAAcyd,IAG/B10B,YAAY,EACZ2H,cAAc,IAMhBkrB,EAAa7xB,UAAU2zB,MAAQ,WAC7BhzB,KAAK0xB,OAAOsB,SAOd9B,EAAa7xB,UAAUyQ,OAAS,WAC9B,IAAIsf,EAAYpvB,KAAKqG,WAAWwoB,YAChC7uB,KAAKqG,WAAWqoB,aAAaU,IAG/B8B,EAAa7xB,UAAUqH,qBAAuB,WAI5C,IAAIX,EAAU,YAAS,YAAS,YAAS,YAAS,YAAS,GAAI/F,KAAKizB,0BAA2BjzB,KAAKkzB,2BAA4BlzB,KAAKmzB,2BAA4BnzB,KAAKozB,gCAAiCpzB,KAAKqzB,6BAG5M,OAAO,IAAI,EAAuBttB,EAAS/F,KAAKszB,sBAGlDpC,EAAa7xB,UAAU4zB,uBAAyB,WAC9C,IAAIxlB,EAAQzN,KAGZ,MAAO,CACLiO,SAAU,SAAUC,GAClB,OAAOT,EAAMrH,KAAKxE,UAAUC,IAAIqM,IAElCqB,YAAa,SAAUrB,GACrB,OAAOT,EAAMrH,KAAKxE,UAAU0L,OAAOY,IAErCqf,SAAU,SAAUrf,GAClB,OAAOT,EAAMrH,KAAKxE,UAAU4M,SAASN,IAEvCsf,oCAAqC,SAAUxmB,EAASC,GACtD,OAAOwG,EAAM1G,OAAOC,EAASC,IAE/BwmB,sCAAuC,SAAUzmB,EAASC,GACxD,OAAOwG,EAAMrG,SAASJ,EAASC,IAEjC2mB,yCAA0C,SAAU3mB,GAClD,IAQIssB,EAAW,IAAI1F,kBAAiB,SAAU2F,GAC5C,OAAOvsB,EATe,SAAUusB,GAChC,OAAOA,EAAcC,KAAI,SAAUC,GACjC,OAAOA,EAASxE,iBACfrG,QAAO,SAAUqG,GAClB,OAAOA,KAKMyE,CAAkBH,OAMnC,OADAD,EAASK,QAAQnmB,EAAMikB,OAHV,CACXmC,YAAY,IAGPN,GAETzF,2CAA4C,SAAUyF,GACpD,OAAOA,EAASO,gBAKtB5C,EAAa7xB,UAAU6zB,wBAA0B,WAC/C,IAAIzlB,EAAQzN,KAGZ,MAAO,CACL+tB,eAAgB,WACd,OAAOtgB,EAAMikB,QAEf1D,UAAW,WACT,OAAOnrB,SAASkxB,gBAAkBtmB,EAAMikB,QAE1ChE,gCAAiC,SAAU1mB,EAASC,GAClD,OAAOwG,EAAMikB,OAAOvqB,iBAAiBH,EAASC,EAAS,gBAEzD0mB,kCAAmC,SAAU3mB,EAASC,GACpD,OAAOwG,EAAMikB,OAAOrqB,oBAAoBL,EAASC,EAAS,kBAKhEiqB,EAAa7xB,UAAU8zB,wBAA0B,WAC/C,IAAI1lB,EAAQzN,KAEZ,MAAO,CACLquB,WAAY,SAAUQ,GACpB,OAAOphB,EAAMmkB,QAAUnkB,EAAMmkB,OAAOoC,MAAMnF,IAE5CL,cAAe,WACb,OAAO/gB,EAAMmkB,OAASnkB,EAAMmkB,OAAOqC,WAAa,GAElD1F,SAAU,WACR,OAAOpf,QAAQ1B,EAAMmkB,SAEvBxD,WAAY,SAAUmB,GACpB,OAAO9hB,EAAMmkB,QAAUnkB,EAAMmkB,OAAOsC,MAAM3E,IAE5CjB,iBAAkB,SAAU6F,GAC1B,OAAO1mB,EAAMmkB,QAAUnkB,EAAMmkB,OAAOwC,YAAYD,MAKtDjD,EAAa7xB,UAAU+zB,6BAA+B,WACpD,IAAI3lB,EAAQzN,KAEZ,MAAO,CACLiuB,mBAAoB,WACdxgB,EAAMqkB,aACRrkB,EAAMqkB,YAAYliB,YAGtBse,qBAAsB,WAChBzgB,EAAMqkB,aACRrkB,EAAMqkB,YAAYjiB,cAGtBse,6BAA8B,SAAU0B,GAClCpiB,EAAMqkB,aACRrkB,EAAMqkB,YAAYuC,gBAAgBxE,MAM1CqB,EAAa7xB,UAAUg0B,0BAA4B,WACjD,IAAI5lB,EAAQzN,KAEZ,MAAO,CACL2uB,aAAc,WACZ,OAAOlhB,EAAMukB,UAAYvkB,EAAMukB,SAASsC,cAE1C7F,WAAY,WACV,OAAOtf,QAAQ1B,EAAMukB,WAEvBtD,aAAc,SAAUW,GACtB,OAAO5hB,EAAMukB,UAAYvkB,EAAMukB,SAASuC,MAAMlF,MASpD6B,EAAa7xB,UAAUi0B,kBAAoB,WACzC,MAAO,CACLtH,iBAAkBhsB,KAAK+rB,kBAAoB/rB,KAAK+rB,kBAAkByI,4BAAyB/tB,EAC3FqlB,WAAY9rB,KAAK6rB,YAAc7rB,KAAK6rB,YAAY2I,4BAAyB/tB,EACzEylB,YAAalsB,KAAKisB,aAAejsB,KAAKisB,aAAauI,4BAAyB/tB,EAC5E2lB,aAAcpsB,KAAKmsB,cAAgBnsB,KAAKmsB,cAAcqI,4BAAyB/tB,IAInFyqB,EAAa7xB,UAAUszB,cAAgB,SAAUxB,GAC/C,IAAI1jB,EAAQzN,KAERy0B,EAAaz0B,KAAKoG,KAAKxE,UAAU4M,SAAS,EAAWuc,UACrD2J,EAAa10B,KAAKoG,KAAKxE,UAAU4M,SAAS,EAAWsc,UAEzD,GAAI2J,GAAcC,EAChB,OAAO,KAMT,IAAI3uB,EAAU,YAAS,YAAS,GAAI,IAAUgI,cAAc/N,OAAQ,CAClEiP,gBAAiB,WACf,OAAO0lB,EAAA,EAAiBlnB,EAAMikB,OAAQ,YAExCriB,2BAA4B,SAAUrI,EAASC,GAC7C,OAAOwG,EAAMikB,OAAOvqB,iBAAiBH,EAASC,EAAS,gBAEzDyH,6BAA8B,SAAU1H,EAASC,GAC/C,OAAOwG,EAAMikB,OAAOrqB,oBAAoBL,EAASC,EAAS,kBAK9D,OAAOkqB,EAAcnxB,KAAKoG,KAAM,IAAI,IAAoBL,KAGnDmrB,EA1jBT,CA2jBE,M,6BChmBF,IAAI0D,EACG,SAASC,EAAqBC,EAAWC,QACzB,IAAjBA,IACFA,GAAe,GAGjB,IACIC,EADAC,EAAMH,EAAUG,IAGpB,GAAqC,mBAA1BL,IAAwCG,EACjD,OAAOH,EAKT,KAF8BK,GAA+B,oBAAjBA,EAAIC,UAG9C,OAAO,EAGT,IAAIC,EAA4BF,EAAIC,SAAS,aAAc,OAGvDE,EAAoCH,EAAIC,SAAS,sBAAwBD,EAAIC,SAAS,QAAS,aAOnG,OANAF,EAAkBG,GAA6BC,EAE1CL,IACHH,EAAwBI,GAGnBA,EAEF,SAASK,EAAyB5tB,EAAK6tB,EAAYC,GACxD,IAAK9tB,EACH,MAAO,CACLoH,EAAG,EACHE,EAAG,GAIP,IAII8gB,EACA2F,EALA3mB,EAAIymB,EAAWzmB,EACfE,EAAIumB,EAAWvmB,EACf0mB,EAAY5mB,EAAI0mB,EAAWxc,KAC3B2c,EAAY3mB,EAAIwmB,EAAWvc,IAI/B,GAAiB,eAAbvR,EAAIyI,KAAuB,CAC7B,IAAIylB,EAAaluB,EACjBooB,EAAc8F,EAAWC,eAAe,GAAGC,MAAQJ,EACnDD,EAAcG,EAAWC,eAAe,GAAGE,MAAQJ,MAC9C,CACL,IAAIK,EAAatuB,EACjBooB,EAAckG,EAAWF,MAAQJ,EACjCD,EAAcO,EAAWD,MAAQJ,EAGnC,MAAO,CACL7mB,EAAGghB,EACH9gB,EAAGymB,GA9DP,qE,gBCCiEh4B,EAAOD,QAG/D,WAAc,aAErB,SAASy4B,EAAgBhoB,EAAUioB,GACjC,KAAMjoB,aAAoBioB,GACxB,MAAM,IAAIt1B,UAAU,qCAIxB,SAASu1B,EAAkB3nB,EAAQ4nB,GACjC,IAAK,IAAI14B,EAAI,EAAGA,EAAI04B,EAAM91B,OAAQ5C,IAAK,CACrC,IAAI24B,EAAaD,EAAM14B,GACvB24B,EAAW/3B,WAAa+3B,EAAW/3B,aAAc,EACjD+3B,EAAWpwB,cAAe,EACtB,UAAWowB,IAAYA,EAAWC,UAAW,GACjDl4B,OAAOC,eAAemQ,EAAQ6nB,EAAWp3B,IAAKo3B,IAIlD,SAASE,EAAaL,EAAaM,EAAYC,GAG7C,OAFID,GAAYL,EAAkBD,EAAY52B,UAAWk3B,GACrDC,GAAaN,EAAkBD,EAAaO,GACzCP,EAGT,SAASQ,EAA4Bv4B,EAAGw4B,GACtC,GAAKx4B,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAOy4B,EAAkBz4B,EAAGw4B,GACvD,IAAIx3B,EAAIf,OAAOkB,UAAU6hB,SAAStjB,KAAKM,GAAG0qB,MAAM,GAAI,GAEpD,MADU,WAAN1pB,GAAkBhB,EAAE+B,cAAaf,EAAIhB,EAAE+B,YAAYjC,MAC7C,QAANkB,GAAqB,QAANA,EAAoBW,MAAM+2B,KAAK13B,GACxC,cAANA,GAAqB,2CAA2C23B,KAAK33B,GAAWy3B,EAAkBz4B,EAAGw4B,QAAzG,GAGF,SAASC,EAAkBG,EAAKC,IACnB,MAAPA,GAAeA,EAAMD,EAAIz2B,UAAQ02B,EAAMD,EAAIz2B,QAC/C,IAAK,IAAI5C,EAAI,EAAGu5B,EAAO,IAAIn3B,MAAMk3B,GAAMt5B,EAAIs5B,EAAKt5B,IAAKu5B,EAAKv5B,GAAKq5B,EAAIr5B,GACnE,OAAOu5B,EAGT,SAASC,EAA2B/4B,GAClC,GAAsB,qBAAXM,QAAgD,MAAtBN,EAAEM,OAAOgC,UAAmB,CAC/D,GAAIX,MAAMq3B,QAAQh5B,KAAOA,EAAIu4B,EAA4Bv4B,IAAK,CAC5D,IAAIT,EAAI,EACJ05B,EAAI,aACR,MAAO,CACL33B,EAAG23B,EACHj4B,EAAG,WACD,OAAIzB,GAAKS,EAAEmC,OAAe,CAAEK,MAAM,GAC3B,CAAEA,MAAM,EAAOhC,MAAOR,EAAET,OAEjCoD,EAAG,SAAUA,GACX,MAAMA,GAERu2B,EAAGD,GAGP,MAAM,IAAIx2B,UAAU,yIAGtB,IAAI02B,EAGAttB,EAFAutB,GAAmB,EACnBC,GAAS,EAEb,MAAO,CACL/3B,EAAG,WACD63B,EAAKn5B,EAAEM,OAAOgC,aAEhBtB,EAAG,WACD,IAAI2zB,EAAOwE,EAAG52B,OAEd,OADA62B,EAAmBzE,EAAKnyB,KACjBmyB,GAEThyB,EAAG,SAAUA,GACX02B,GAAS,EACTxtB,EAAMlJ,GAERu2B,EAAG,WACD,IACOE,GAAiC,MAAbD,EAAE,QAAiBA,EAAE,SADhD,QAGE,GAAIE,EAAQ,MAAMxtB,KAM1B,IAAIytB,EAAgB,UAChBj0B,EAAS,CACXk0B,YAAa,oBACbC,OAAQ,sBACRC,UAAW,2BACXC,eAAgB,yBAEdvc,EAAO,CACTlT,MAAO,GACPO,SAAU,GACVE,WAAY,IAEVivB,EAAW,SAAkB/sB,GAC/B,MAA2B,kBAAbA,EAAwBjI,SAAS+H,cAAcE,GAAYA,KAEvEgtB,EAAoB,SAA2BC,GACjD,IAAIN,EAAc50B,SAASC,cAAci1B,EAAcp1B,SAMvD,OALA80B,EAAY91B,aAAa,KAAM4B,EAAOk0B,aAClCM,EAAcC,WAChBD,EAAcC,UAAUP,GAE1BM,EAAcE,YAAYC,sBAAsBH,EAAcI,SAAUV,GACjEA,GAELE,EAAY,SAAmBj5B,GACjC,MAAO,eAAewC,OAAOqC,EAAOo0B,UAAW,KAAKz2B,OAAOxC,EAAO,YAEhE05B,EAAmB,SAA0BX,EAAaY,EAASC,GACrE,IAAIvY,EAAWld,SAASmd,yBACpBuY,EAAQ,GACZF,EAAQnd,SAAQ,SAAUoI,EAAOkV,GAC/B,IAAId,EAAS70B,SAASC,cAAcw1B,EAAW31B,SAC3C81B,EAAcJ,EAAQG,GAAQpnB,MAClCsmB,EAAO/1B,aAAa61B,EAAeiB,GACnCf,EAAO/1B,aAAa,QAAS4B,EAAOm0B,QACpCY,EAAWt1B,QAAUs1B,EAAWt1B,QAAQsgB,EAAOoU,GAAUA,EAAOz0B,UAAYqgB,EAAMjD,OAASiD,GACrD,GAAlCiV,EAAMnrB,QAAQkW,EAAM5kB,MAAMgN,MAC5BqU,EAAS7b,YAAYwzB,GACrBa,EAAMx3B,KAAKuiB,EAAM5kB,MAAMgN,QAG3B+rB,EAAYvzB,YAAY6b,IAEtB2Y,EAAe,SAAsBjB,GACvC,OAAOA,EAAYx0B,UAAY,IAE7B01B,EAAc,SAAqBrV,EAAOsV,EAAOnB,EAAaoB,EAAUC,EAAeC,GACzFF,EAAS,CACPvV,MAAOA,EACP0V,MAAOJ,aAAiBK,iBAAmBL,EAAMl6B,MAAQk6B,EAAM31B,UAC/D4I,QAASitB,EAAcjtB,QACvBqtB,QAASJ,EAAcK,KAAK1F,KAAI,SAAU+E,GACxC,OAAOA,EAAO95B,SAEhBq6B,UAAWD,EAAcK,KAAKC,MAAK,SAAU16B,GAC3C,OAAI4kB,EAAM7Z,UAAY4R,EAAKlT,MAClBzJ,EAAM0S,QAAUioB,OAAON,EAAUztB,aAAaksB,IAC7B,cAAflU,EAAMpT,KACRxR,EAAM0S,QAAUioB,OAAO/V,EAAMgW,cAAchuB,aAAaksB,SAD1D,OAKXkB,EAAajB,IAEX8B,EAAa,SAAoBh3B,EAAOk1B,EAAaoB,EAAUC,GACjE,IAGIr4B,EAHA2C,EAAKq0B,EAAY+B,WACjBC,EAAWr2B,EAAG/C,OAAS,EACvBq5B,OAAajzB,EAEbkzB,EAAkB,SAAyBC,GAC7CF,EAAW93B,UAAU0L,OAAO/J,EAAOq0B,gBAEjCn3B,EADgB,IAAdm5B,EACKF,EAAWG,YAEXH,EAAWI,iBAGlBC,EAAqB,SAA4BC,IACnDN,EAAaM,GACFp4B,UAAUC,IAAI0B,EAAOq0B,iBAElCr1B,EAAM03B,UAAY,SAAU3W,GAC1B,GAAIlgB,EAAG/C,OAAS,EACd,OAAQijB,EAAM7Z,SACZ,KAAK4R,EAAK3S,SACJgxB,GACFC,EAAgB,GAEdI,EADEt5B,GAGiB2C,EAAGq2B,KAGxBM,EAAmB32B,EAAGq2B,IAExB,MACF,KAAKpe,EAAKzS,WACJ8wB,GACFC,EAAgB,GAEdI,EADEt5B,GAGiB2C,EAAG,KAGxB22B,EAAmB32B,EAAG,IAExB,MACF,KAAKiY,EAAKlT,MACJuxB,GACFf,EAAYrV,EAAO/gB,EAAOk1B,EAAaoB,EAAUC,EAAeY,KAK1Et2B,EAAG8X,SAAQ,SAAU6d,GACnBA,EAAUmB,YAAc,SAAU5W,GAChC,OAAOqV,EAAYrV,EAAO/gB,EAAOk1B,EAAaoB,EAAUC,QA0Q9D,OArQmB,WACjB,SAASqB,EAAaC,GACpBpE,EAAgBh2B,KAAMm6B,GACtB,IAAIE,EAAmBD,EAAOtvB,SAC1BA,OAAgC,IAArBuvB,EAA8B,gBAAkBA,EAC3DC,EAAeF,EAAOtb,KACtB9f,EAAMs7B,EAAat7B,IACnBu7B,EAAOD,EAAa3a,IACpB6a,EAAqBF,EAAaG,MAClCA,OAA+B,IAAvBD,GAAuCA,EAC/CxB,EAAQoB,EAAOpB,MACf0B,EAAkBN,EAAOO,QAEzBC,GADJF,OAAsC,IAApBA,EAA6B,GAAKA,GACRpX,MACxCA,OAAkC,IAA1BsX,EAAmC,CAAC,SAAWA,EACvDC,EAAwBH,EAAgBI,UACxCA,OAAsC,IAA1BD,GAA2CA,EACvDE,EAAuBX,EAAOY,aAC9BA,OAAwC,IAAzBD,EAAkC,SAAWA,EAC5DE,EAAoBb,EAAOc,UAC3BA,OAAkC,IAAtBD,EAA+B,EAAIA,EAC/CE,EAAmBf,EAAOgB,SAC1BA,OAAgC,IAArBD,EAA8B,EAAIA,EAC7CE,EAAsBjB,EAAO3C,YAE7B6D,GADJD,OAA8C,IAAxBA,EAAiC,GAAKA,GACZE,OAC5CA,OAAmC,IAA1BD,GAA2CA,EACpDE,EAAwBH,EAAoBrD,UAC5CA,OAAsC,IAA1BwD,GAA2CA,EACvDvD,EAAcoD,EAAoBpD,YAClCwD,EAAwBJ,EAAoBlD,SAC5CA,OAAqC,IAA1BsD,EAAmC,WAAaA,EAC3DC,EAAwBL,EAAoB14B,QAC5Cg5B,OAA+C,IAA1BD,EAAmC,KAAOA,EAC/DE,EAAwBP,EAAoB9B,WAC5CsC,OAA0C,IAA1BD,GAA2CA,EAC3DE,EAAe1B,EAAOhR,KACtBA,OAAwB,IAAjB0S,GAAkCA,EACzCC,EAAc3B,EAAO2B,YACrBC,EAAqB5B,EAAO6B,WAC5BA,OAAoC,IAAvBD,EAAgC,EAAIA,EACjDE,EAAqB9B,EAAO9B,WAE5B6D,GADJD,OAA4C,IAAvBA,EAAgC,GAAKA,GACXl5B,QAC3CA,OAAoC,IAA1Bm5B,GAA2CA,EACrDC,EAAwBF,EAAmBv5B,QAC3C05B,OAA8C,IAA1BD,EAAmC,KAAOA,EAC9DE,EAAYlC,EAAOkC,UACnBC,EAAoBnC,EAAOzC,UAC3B6E,OAAqC,IAAtBD,GAAuCA,EACtD5D,EAAcyB,EAAOzB,YACrB8D,EAAkBlB,EAASzD,EAAkB,CAC/CE,UAAWA,EACXC,YAAaA,GAAeJ,EAAS/sB,GACrCqtB,SAAUA,EACVx1B,QAASg5B,IACN,KACL37B,KAAK8K,SAAWA,EAChB9K,KAAK8e,KAAO,CACVa,IAAK,WACH,MAAuB,oBAAT4a,EAAsBA,IAASA,GAE/Cv7B,IAAKA,EACLy7B,MAAOA,GAETz6B,KAAKg5B,MAAQA,EACbh5B,KAAK26B,QAAU,CACbrX,MAAOA,EACPwX,UAAWA,GAEb96B,KAAKg7B,aAAgC,UAAjBA,EAA2B,QAAkC,oBAAjBA,EAA8BA,EAAe,SAC7Gh7B,KAAKk7B,UAAYA,EACjBl7B,KAAKo7B,SAAWA,EAChBp7B,KAAKy3B,YAAc,CACjB8D,OAAQA,EACRmB,KAAMD,EACNlD,WAAYsC,GAEd77B,KAAKopB,KAAOA,EACZppB,KAAK+7B,YAAcA,EACnB/7B,KAAKi8B,WAAaA,EAClBj8B,KAAKs4B,WAAa,CAChBt1B,QAASA,EACTL,QAAS05B,GAEXr8B,KAAKs8B,UAAYA,EACjBt8B,KAAK23B,UAAY6E,EACjBx8B,KAAK24B,YAAcA,EACnB34B,KAAKiG,OA0KP,OAxKAqwB,EAAa6D,EAAc,CAAC,CAC1Bn7B,IAAK,SACLN,MAAO,SAAgBs6B,EAAOR,GAC5B,IAAImE,EAAkBnE,EAAO/W,cAC7B,GAA0B,UAAtBzhB,KAAKg7B,aAA0B,CACjChC,EAAQA,EAAMtY,QAAQ,KAAM,IAG5B,IAFA,IAAIL,EAAQ,GACRuc,EAAiB,EACZC,EAAS,EAAGA,EAASF,EAAgBt8B,OAAQw8B,IAAU,CAC9D,IAAIC,EAAatE,EAAOqE,GACpBD,EAAiB5D,EAAM34B,QAAUs8B,EAAgBE,KAAY7D,EAAM4D,KACrEE,EAAa98B,KAAK23B,UAAYA,EAAUmF,GAAcA,EACtDF,KAEFvc,EAAMtf,KAAK+7B,GAEb,OAAIF,IAAmB5D,EAAM34B,QAGtBggB,EAAMgB,KAAK,IAElB,GAAIsb,EAAgBI,SAAS/D,GAG3B,OADAA,EADc,IAAIgE,OAAO,GAAG97B,OAAO83B,GAAQ,KAC3BiE,KAAKzE,GACdx4B,KAAK23B,UAAYa,EAAO9X,QAAQsY,EAAOrB,EAAUqB,IAAUR,IAIvE,CACDx5B,IAAK,qBACLN,MAAO,SAA4BogB,GACjC,IAAIrR,EAAQzN,KACZ,OAAO,IAAIk9B,SAAQ,SAAUC,GAC3B,IAAIC,EAAU,GACdte,EAAK+J,QAAO,SAAU2P,EAAQpnB,GAC5B,IAAIisB,EAAS,SAAgBr+B,GAC3B,IAAIs+B,EAAct+B,EAAMw5B,EAAOx5B,GAAOw5B,EACtC,GAAI8E,EAAa,CACf,IAAIjd,EAAsC,oBAAvB5S,EAAMutB,aAA8BvtB,EAAMutB,aAAavtB,EAAM8vB,WAAYD,GAAe7vB,EAAM4vB,OAAO5vB,EAAM8vB,WAAYD,GACtIjd,GAASrhB,EACXo+B,EAAQr8B,KAAK,CACX/B,IAAKA,EACLoS,MAAOA,EACPiP,MAAOA,EACP3hB,MAAO85B,IAEAnY,IAAUrhB,GACnBo+B,EAAQr8B,KAAK,CACXqQ,MAAOA,EACPiP,MAAOA,EACP3hB,MAAO85B,MAKf,GAAI/qB,EAAMqR,KAAK9f,IAAK,CAClB,IACIw+B,EADAC,EAAYxG,EAA2BxpB,EAAMqR,KAAK9f,KAEtD,IACE,IAAKy+B,EAAUj+B,MAAOg+B,EAAQC,EAAUv+B,KAAKwB,MAE3C28B,EADUG,EAAM9+B,OAGlB,MAAOqL,GACP0zB,EAAU58B,EAAEkJ,GANd,QAQE0zB,EAAUrG,UAGZiG,OAGJ,IAAIlE,EAAO1rB,EAAM2b,KAAOgU,EAAQhU,KAAK3b,EAAM2b,MAAMR,MAAM,EAAGnb,EAAMwuB,YAAcmB,EAAQxU,MAAM,EAAGnb,EAAMwuB,YACrG,OAAOkB,EAAQ,CACbtxB,QAASuxB,EAAQ/8B,OACjB84B,KAAMA,SAIX,CACDn6B,IAAK,SACLN,MAAO,WACL,IAAIg/B,EAAS19B,KACTuC,EAAQs1B,EAAS73B,KAAK8K,UACtB9K,KAAK+7B,aACPx5B,EAAMZ,aAAa,cAAe3B,KAAK+7B,aAEzC,IAAIX,EAAW,SAAkBuC,EAAMC,GACrC,IAAIC,EACJ,OAAO,WACL,IAAItf,EAAUve,KACVsG,EAAOlG,UACXyT,aAAagqB,GACbA,EAAa7pB,YAAW,WACtB,OAAO2pB,EAAKr9B,MAAMie,EAASjY,KAC1Bs3B,KAGHX,EAAO,SAAc3Z,GACvB,IAAIwa,EAAav7B,aAAiB02B,kBAAoB12B,aAAiBw7B,oBAAsBx7B,EAAM7D,MAAM+iB,cAAgBlf,EAAMU,UAAUwe,cACrI8b,EAAaG,EAAOH,WAAaG,EAAO1E,OAAS0E,EAAO1E,MAAMgF,WAAaN,EAAO1E,MAAMgF,WAAWF,GAAcA,EACjHG,EAAoBP,EAAOjG,YAAY8D,OACvC2C,EAAmBR,EAAO/C,QAAQG,UAAY4C,EAAO/C,QAAQG,UAAUyC,GAAcA,EAAWl9B,QAAUq9B,EAAOxC,WAAaqC,EAAW7c,QAAQ,KAAM,IAAIrgB,OAC3J89B,EAAe,SAAsB7a,EAAO4V,GAC9C32B,EAAMwF,cAAc,IAAIL,YAAY,eAAgB,CAClDC,SAAS,EACTC,OAAQ,CACN0b,MAAOA,EACP/gB,MAAOu7B,EACP9E,MAAOuE,EACP1xB,QAASqtB,EAAUA,EAAQrtB,QAAU,KACrCqtB,QAASA,EAAUA,EAAQC,KAAO,MAEpCiF,YAAY,MAGhB,GAAIH,EAAmB,CACrB,IAAIxG,EAAciG,EAAOjG,YAAYiF,KACfhE,EAAajB,GAC/ByG,EACFR,EAAOW,mBAAmBX,EAAOY,WAAYhb,GAAO5Y,MAAK,SAAUyuB,GACjEgF,EAAa7a,EAAO6V,GAChBuE,EAAOjG,YAAY8D,SACI,IAArBpC,EAAKA,KAAK94B,QAAgBq9B,EAAOpB,UACnCoB,EAAOpB,aAEPlE,EAAiBX,EAAa0B,EAAKA,KAAMuE,EAAOpF,YAC5CoF,EAAO/E,cACT+E,EAAOjG,YAAY8B,WAAamE,EAAOjG,YAAY8B,WAAWjW,EAAO/gB,EAAOk1B,EAAaiG,EAAO/E,YAAaQ,GAAQI,EAAWh3B,EAAOk1B,EAAaiG,EAAO/E,YAAaQ,SAMhLgF,EAAa7a,QAEL2a,GAAqBC,GAC/BR,EAAOW,mBAAmBX,EAAOY,WAAYhb,GAAO5Y,MAAK,SAAUyuB,GACjEgF,EAAa7a,EAAO6V,OAItBjc,EAAM,SAAaoG,GACrB4Z,QAAQC,QAAQO,EAAO5e,KAAK2b,MAAQiD,EAAOY,WAAaZ,EAAO5e,KAAKa,OAAOjV,MAAK,SAAUoU,GACxF4e,EAAOY,WAAaxf,EACpBme,EAAK3Z,OAGTtjB,KAAK26B,QAAQrX,MAAMpI,SAAQ,SAAUqjB,GACnCh8B,EAAM4E,iBAAiBo3B,EAAWnD,GAAS,SAAU9X,GACnD,OAAOpG,EAAIoG,KACVoa,EAAOtC,gBAGb,CACDp8B,IAAK,OACLN,MAAO,WACL,IAAI8/B,EAASx+B,KACTA,KAAK8e,KAAK2b,MACZyC,QAAQC,QAAQn9B,KAAK8e,KAAKa,OAAOjV,MAAK,SAAUoU,GAC9C0f,EAAOF,WAAaxf,EACpB0f,EAAOC,YAGTz+B,KAAKy+B,aAIJtE,EAlQU,GAnN6DuE,I,iFCqB9Ev6B,EAAa,CACfw6B,uBAAwB,yCACxBC,2BAA4B,6CAC5Bl6B,KAAM,8BAEJC,EAAU,CACZk6B,YAAa,cACbC,KAAM,OACNtV,cAAe,IAAMrlB,EAAWO,MCJ9B,EAEJ,SAAU8I,GAGR,SAASuxB,EAAiCh5B,GACxC,OAAOyH,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAI++B,EAAiChsB,gBAAiBhN,KAAa/F,KAmHhH,OAtHA,YAAU++B,EAAkCvxB,GAM5CrP,OAAOC,eAAe2gC,EAAkC,aAAc,CACpEzgC,IAAK,WACH,OAAO6F,GAET9F,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe2gC,EAAkC,UAAW,CACjEzgC,IAAK,WACH,OAAOqG,GAETtG,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe2gC,EAAkC,iBAAkB,CAIxEzgC,IAAK,WAEH,MAAO,CACL2P,SAAU,aAGVsB,YAAa,aAGbge,SAAU,WACR,OAAO,GAETyR,QAAS,aAGTC,WAAY,aAGZvV,WAAY,eAKhBrrB,YAAY,EACZ2H,cAAc,IAMhB+4B,EAAiC1/B,UAAUqqB,WAAa,SAAU1mB,GAChEhD,KAAK+F,QAAQ2jB,WAAW1mB,IAO1B+7B,EAAiC1/B,UAAU6/B,cAAgB,SAAUC,GAC/DA,EACFn/B,KAAK+F,QAAQkI,SAAS9J,EAAWw6B,wBAEjC3+B,KAAK+F,QAAQwJ,YAAYpL,EAAWw6B,yBAQxCI,EAAiC1/B,UAAU+/B,cAAgB,SAAUC,GAC/DA,EACFr/B,KAAK+F,QAAQkI,SAAS9J,EAAWy6B,4BAEjC5+B,KAAK+F,QAAQwJ,YAAYpL,EAAWy6B,6BAQxCG,EAAiC1/B,UAAUmwB,mBAAqB,WAC9DxvB,KAAK+F,QAAQk5B,WAAWt6B,EAAQk6B,cAOlCE,EAAiC1/B,UAAU2xB,YAAc,SAAUsO,GACjE,IAAIC,EAAyBv/B,KAAK+F,QAAQwnB,SAASppB,EAAWw6B,wBAE1Da,EAD4Bx/B,KAAK+F,QAAQwnB,SAASppB,EAAWy6B,8BACHU,EAE1DE,EACFx/B,KAAK+F,QAAQi5B,QAAQr6B,EAAQm6B,KAAM,SAEnC9+B,KAAK+F,QAAQk5B,WAAWt6B,EAAQm6B,MAG7BS,GAA2BC,GAC9Bx/B,KAAKy/B,SAQTV,EAAiC1/B,UAAUogC,MAAQ,WACjDz/B,KAAK+F,QAAQi5B,QAAQr6B,EAAQk6B,YAAa,SAGrCE,EAvHT,CAwHE,M,iFC9HS56B,EAAa,CACtBu7B,kBAAmB,kCACnBC,eAAgB,+BAChBC,YAAa,4BACbl7B,KAAM,sBCAJ,EAEJ,SAAU8I,GAGR,SAASqyB,EAA2B95B,GAClC,IAAI0H,EAAQD,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAI6/B,EAA2B9sB,gBAAiBhN,KAAa/F,KAM7G,OAJAyN,EAAMqyB,0BAA4B,WAChC,OAAOryB,EAAMsyB,4BAGRtyB,EA2GT,OApHA,YAAUoyB,EAA4BryB,GAYtCrP,OAAOC,eAAeyhC,EAA4B,aAAc,CAC9DvhC,IAAK,WACH,OAAO6F,GAET9F,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeyhC,EAA4B,iBAAkB,CAIlEvhC,IAAK,WAEH,MAAO,CACL2P,SAAU,aAGVsB,YAAa,aAGb0kB,SAAU,WACR,OAAO,GAET5kB,2BAA4B,aAG5BX,6BAA8B,eAKlCrQ,YAAY,EACZ2H,cAAc,IAGhB65B,EAA2BxgC,UAAU4G,KAAO,WAC1CjG,KAAK+F,QAAQsJ,2BAA2B,eAAgBrP,KAAK8/B,4BAG/DD,EAA2BxgC,UAAU6G,QAAU,WAC7ClG,KAAK+F,QAAQ2I,6BAA6B,eAAgB1O,KAAK8/B,4BAOjED,EAA2BxgC,UAAU40B,SAAW,WAC9C,OAAOj0B,KAAK+F,QAAQkuB,YAQtB4L,EAA2BxgC,UAAU60B,MAAQ,SAAU3E,GACrD,IAAIqQ,EAAcC,EAA2B17B,WAAWy7B,YAEpDrQ,EACFvvB,KAAK+F,QAAQkI,SAAS2xB,GAEtB5/B,KAAK+F,QAAQwJ,YAAYqwB,IAS7BC,EAA2BxgC,UAAU20B,MAAQ,SAAUnF,GACrD,IAAI1U,EAAK0lB,EAA2B17B,WAChCu7B,EAAoBvlB,EAAGulB,kBACvBE,EAAczlB,EAAGylB,YAEjB/Q,EACF7uB,KAAK+F,QAAQkI,SAASyxB,IAEtB1/B,KAAK+F,QAAQwJ,YAAYmwB,GACzB1/B,KAAK+F,QAAQwJ,YAAYqwB,KAS7BC,EAA2BxgC,UAAU+0B,YAAc,SAAUD,GAC3D,IAAIwL,EAAiBE,EAA2B17B,WAAWw7B,eAEvDxL,EACFn0B,KAAK+F,QAAQkI,SAAS0xB,GAEtB3/B,KAAK+F,QAAQwJ,YAAYowB,IAI7BE,EAA2BxgC,UAAU0gC,yBAA2B,WAC9D,IAAIH,EAAcC,EAA2B17B,WAAWy7B,YACxD5/B,KAAK+F,QAAQwJ,YAAYqwB,IAGpBC,EArHT,CAsHE,M,yFC5HEl7B,EAAU,CACZq7B,uBAAwB,+BAEtBr6B,EAAU,CAEZs6B,sBAAuB,GAErB97B,EAAa,CACf0mB,SAAU,gCACVqV,gBAAiB,+BACjBC,iBAAkB,iCCNhB,EAEJ,SAAU3yB,GAGR,SAAS4yB,EAA4Br6B,GACnC,OAAOyH,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAIogC,EAA4BrtB,gBAAiBhN,KAAa/F,KAyE3G,OA5EA,YAAUogC,EAA6B5yB,GAMvCrP,OAAOC,eAAegiC,EAA6B,UAAW,CAC5D9hC,IAAK,WACH,OAAOqG,GAETtG,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAegiC,EAA6B,aAAc,CAC/D9hC,IAAK,WACH,OAAO6F,GAET9F,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAegiC,EAA6B,UAAW,CAC5D9hC,IAAK,WACH,OAAOqH,GAETtH,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAegiC,EAA6B,iBAAkB,CAInE9hC,IAAK,WAEH,MAAO,CACL2P,SAAU,aAGVsB,YAAa,aAGb8wB,sBAAuB,aAGvBC,yBAA0B,eAK9BjiC,YAAY,EACZ2H,cAAc,IAMhBo6B,EAA4B/gC,UAAUk1B,MAAQ,SAAUgM,GACtD,IAAIL,EAAkBE,EAA4Bj8B,WAAW+7B,gBAEzDK,EAAa,IACfA,GAAc56B,EAAQs6B,uBAGxBjgC,KAAK+F,QAAQs6B,sBAAsBE,GACnCvgC,KAAK+F,QAAQkI,SAASiyB,IAOxBE,EAA4B/gC,UAAUi1B,WAAa,WACjD,IAAI4L,EAAkBE,EAA4Bj8B,WAAW+7B,gBAC7DlgC,KAAK+F,QAAQwJ,YAAY2wB,GACzBlgC,KAAK+F,QAAQu6B,4BAGRF,EA7ET,C,KA8EE,GC9EE,EAEJ,SAAU5yB,GAGR,SAASgzB,IACP,OAAkB,OAAXhzB,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KA+D7D,OAlEA,YAAUwgC,EAAmBhzB,GAM7BgzB,EAAkB55B,SAAW,SAAUR,GACrC,OAAO,IAAIo6B,EAAkBp6B,IAG/Bo6B,EAAkBnhC,UAAUsH,mBAAqB,WAC/C3G,KAAKygC,cAAgBzgC,KAAKoG,KAAKwE,cAAcjG,EAAQq7B,wBACrD,IAAI5+B,EAAQpB,KAAKoG,KAAKwE,cAAc,IAAM,IAA2BzG,WAAWO,MAE5EtD,GACFA,EAAMmL,MAAMm0B,mBAAqB,KACjC1gC,KAAKoG,KAAKxE,UAAUC,IAAIsC,EAAWg8B,kBACnClrB,uBAAsB,WACpB7T,EAAMmL,MAAMm0B,mBAAqB,OAGnC1gC,KAAKoG,KAAKxE,UAAUC,IAAIsC,EAAW0mB,WASvC2V,EAAkBnhC,UAAUk1B,MAAQ,SAAUgM,GAC5CvgC,KAAKqG,WAAWkuB,MAAMgM,IAOxBC,EAAkBnhC,UAAUi1B,WAAa,WACvCt0B,KAAKqG,WAAWiuB,cAGlBkM,EAAkBnhC,UAAUqH,qBAAuB,WACjD,IAAI+G,EAAQzN,KAoBZ,OAAO,IAAI,EAfG,CACZiO,SAAU,SAAUC,GAClB,OAAOT,EAAMrH,KAAKxE,UAAUC,IAAIqM,IAElCqB,YAAa,SAAUrB,GACrB,OAAOT,EAAMrH,KAAKxE,UAAU0L,OAAOY,IAErCmyB,sBAAuB,SAAU5nB,GAC/B,OAAOhL,EAAMgzB,cAAcl0B,MAAMC,YAAY,QAASiM,EAAQ,OAEhE6nB,yBAA0B,WACxB,OAAO7yB,EAAMgzB,cAAcl0B,MAAMo0B,eAAe,aAO/CH,EAnET,CAoEE,M,6BClGF,mEA2BII,EAEJ,SAAUpzB,GAGR,SAASozB,IACP,OAAkB,OAAXpzB,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KAiE7D,OApEA,YAAU4gC,EAAkBpzB,GAM5BozB,EAAiBh6B,SAAW,SAAUR,GACpC,OAAO,IAAIw6B,EAAiBx6B,IAQ9Bw6B,EAAiBvhC,UAAU60B,MAAQ,SAAU3E,GAC3CvvB,KAAKqG,WAAW6tB,MAAM3E,IAQxBqR,EAAiBvhC,UAAU20B,MAAQ,SAAUnF,GAC3C7uB,KAAKqG,WAAW2tB,MAAMnF,IAQxB+R,EAAiBvhC,UAAU+0B,YAAc,SAAUD,GACjDn0B,KAAKqG,WAAW+tB,YAAYD,IAG9ByM,EAAiBvhC,UAAU40B,SAAW,WACpC,OAAOj0B,KAAKqG,WAAW4tB,YAGzB2M,EAAiBvhC,UAAUqH,qBAAuB,WAChD,IAAI+G,EAAQzN,KAKR+F,EAAU,CACZkI,SAAU,SAAUC,GAClB,OAAOT,EAAMrH,KAAKxE,UAAUC,IAAIqM,IAElCqB,YAAa,SAAUrB,GACrB,OAAOT,EAAMrH,KAAKxE,UAAU0L,OAAOY,IAErC+lB,SAAU,WACR,OAAO,YAAoBxmB,EAAMrH,OAEnCiJ,2BAA4B,SAAUrI,EAASC,GAC7C,OAAOwG,EAAM1G,OAAOC,EAASC,IAE/ByH,6BAA8B,SAAU1H,EAASC,GAC/C,OAAOwG,EAAMrG,SAASJ,EAASC,KAInC,OAAO,IAAI,IAA2BlB,IAGjC66B,EArET,CAsEE,M,wFC7EEz8B,EAAa,CACf08B,mBAAoB,0BACpBC,yBAA0B,iCCExB,EAEJ,SAAUtzB,GAGR,SAASuzB,EAAwBh7B,GAC/B,IAAI0H,EAAQD,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAI+gC,EAAwBhuB,gBAAiBhN,KAAa/F,KAM1G,OAJAyN,EAAMuzB,sBAAwB,SAAUv5B,GACtC,OAAOgG,EAAMwzB,oBAAoBx5B,IAG5BgG,EA2ET,OApFA,YAAUszB,EAAyBvzB,GAYnCrP,OAAOC,eAAe2iC,EAAyB,aAAc,CAC3DziC,IAAK,WACH,OAAO6F,GAET9F,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe2iC,EAAyB,iBAAkB,CAI/DziC,IAAK,WAEH,MAAO,CACL2P,SAAU,aAGVsB,YAAa,aAGbge,SAAU,WACR,OAAO,GAET2T,SAAU,aAGVC,qBAAsB,aAGtBC,uBAAwB,eAK5B/iC,YAAY,EACZ2H,cAAc,IAGhB+6B,EAAwB1hC,UAAU4G,KAAO,WACvCjG,KAAK+F,QAAQo7B,qBAAqB,gBAAiBnhC,KAAKghC,wBAG1DD,EAAwB1hC,UAAU6G,QAAU,WAC1ClG,KAAK+F,QAAQq7B,uBAAuB,gBAAiBphC,KAAKghC,wBAG5DD,EAAwB1hC,UAAUuQ,SAAW,WAC3C5P,KAAK+F,QAAQwJ,YAAYpL,EAAW28B,0BACpC9gC,KAAK+F,QAAQkI,SAAS9J,EAAW08B,qBAGnCE,EAAwB1hC,UAAUg1B,gBAAkB,SAAUgN,GAC5DrhC,KAAK+F,QAAQm7B,SAAS,mBAAoBG,EAAc,cAG1DN,EAAwB1hC,UAAUwQ,WAAa,WAC7C7P,KAAK+F,QAAQkI,SAAS9J,EAAW28B,2BAGnCC,EAAwB1hC,UAAU4hC,oBAAsB,SAAUx5B,GAGhE,IAAI65B,EAAiBthC,KAAK+F,QAAQwnB,SAASppB,EAAW28B,0BAE7B,YAArBr5B,EAAI85B,cACFD,IACFthC,KAAK+F,QAAQwJ,YAAYpL,EAAW08B,oBACpC7gC,KAAK+F,QAAQwJ,YAAYpL,EAAW28B,4BAKnCC,EArFT,CAsFE,KCxFE,EAEJ,SAAUvzB,GAGR,SAASg0B,IACP,OAAkB,OAAXh0B,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KA8D7D,OAjEA,YAAUwhC,EAAeh0B,GAMzBg0B,EAAc56B,SAAW,SAAUR,GACjC,OAAO,IAAIo7B,EAAcp7B,IAO3Bo7B,EAAcniC,UAAUuQ,SAAW,WACjC5P,KAAKqG,WAAWuJ,YAOlB4xB,EAAcniC,UAAUwQ,WAAa,WACnC7P,KAAKqG,WAAWwJ,cAQlB2xB,EAAcniC,UAAUg1B,gBAAkB,SAAUgN,GAClDrhC,KAAKqG,WAAWguB,gBAAgBgN,IAGlCG,EAAcniC,UAAUqH,qBAAuB,WAC7C,IAAI+G,EAAQzN,KA0BZ,OAAO,IAAI,EArBG,CACZiO,SAAU,SAAUC,GAClB,OAAOT,EAAMrH,KAAKxE,UAAUC,IAAIqM,IAElCqB,YAAa,SAAUrB,GACrB,OAAOT,EAAMrH,KAAKxE,UAAU0L,OAAOY,IAErCqf,SAAU,SAAUrf,GAClB,OAAOT,EAAMrH,KAAKxE,UAAU4M,SAASN,IAEvCgzB,SAAU,SAAUK,EAAc7iC,GAChC,OAAO+O,EAAMrH,KAAKmG,MAAMC,YAAY+0B,EAAc7iC,IAEpDyiC,qBAAsB,SAAUn6B,EAASC,GACvC,OAAOwG,EAAM1G,OAAOC,EAASC,IAE/Bm6B,uBAAwB,SAAUp6B,EAASC,GACzC,OAAOwG,EAAMrG,SAASJ,EAASC,OAO9Bu6B,EAlET,CAmEE,M,6BC/FF,0EA4BIC,EAEJ,SAAUj0B,GAGR,SAASi0B,IACP,OAAkB,OAAXj0B,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KAoU7D,OAvUA,YAAUyhC,EAASj0B,GAMnBrP,OAAOC,eAAeqjC,EAAQpiC,UAAW,WAAY,CACnD+J,IAAK,SAAU1K,GACbsB,KAAKqG,WAAWwf,uBAAuBnnB,IAEzCL,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeqjC,EAAQpiC,UAAW,eAAgB,CACvDf,IAAK,WACH,MAAO,GAAGsqB,MAAMhrB,KAAKoC,KAAKoG,KAAKs7B,iBAAiB,IAAM,IAAWr9B,mBAEnEhG,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeqjC,EAAQpiC,UAAW,YAAa,CACpD+J,IAAK,SAAU1K,GACbsB,KAAKqG,WAAWuf,aAAalnB,IAE/BL,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeqjC,EAAQpiC,UAAW,sBAAuB,CAI9Df,IAAK,WACH,OAAO0B,KAAKqG,WAAW2f,yBAEzB3nB,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeqjC,EAAQpiC,UAAW,eAAgB,CAKvD+J,IAAK,SAAUqb,GACbzkB,KAAKqG,WAAW0f,gBAAgBtB,IAElCpmB,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeqjC,EAAQpiC,UAAW,kBAAmB,CAC1D+J,IAAK,SAAUu4B,GACb3hC,KAAKqG,WAAWyf,mBAAmB6b,IAErCtjC,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeqjC,EAAQpiC,UAAW,gBAAiB,CACxDf,IAAK,WACH,OAAO0B,KAAKqG,WAAW8f,oBAEzB/c,IAAK,SAAUgI,GACbpR,KAAKqG,WAAW+f,iBAAiBhV,IAEnC/S,YAAY,EACZ2H,cAAc,IAGhBy7B,EAAQ76B,SAAW,SAAUR,GAC3B,OAAO,IAAIq7B,EAAQr7B,IAGrBq7B,EAAQpiC,UAAUsH,mBAAqB,WACrC3G,KAAK4hC,aAAe5hC,KAAK6hC,kBAAkB5iC,KAAKe,MAChDA,KAAK8hC,eAAiB9hC,KAAK+hC,oBAAoB9iC,KAAKe,MACpDA,KAAKgiC,sBAAwBhiC,KAAKiiC,oBAAoBhjC,KAAKe,MAC3DA,KAAKkiC,uBAAyBliC,KAAKmiC,qBAAqBljC,KAAKe,MAC7DA,KAAK+G,OAAO,UAAW/G,KAAK8hC,gBAC5B9hC,KAAK+G,OAAO,QAAS/G,KAAK4hC,cAC1B5hC,KAAK+G,OAAO,UAAW/G,KAAKgiC,uBAC5BhiC,KAAK+G,OAAO,WAAY/G,KAAKkiC,wBAC7BliC,KAAK8P,SACL9P,KAAKoiC,sBAGPX,EAAQpiC,UAAU6G,QAAU,WAC1BlG,KAAKoH,SAAS,UAAWpH,KAAK8hC,gBAC9B9hC,KAAKoH,SAAS,QAASpH,KAAK4hC,cAC5B5hC,KAAKoH,SAAS,UAAWpH,KAAKgiC,uBAC9BhiC,KAAKoH,SAAS,WAAYpH,KAAKkiC,yBAGjCT,EAAQpiC,UAAUyQ,OAAS,WACzB,IAAI8pB,EAAY55B,KAAKoG,KAAKkF,aAAa,IAAQpG,kBAC/ClF,KAAKqiC,SAAWzI,IAAc,IAAQz0B,4BAEtC,GAAGyjB,MAAMhrB,KAAKoC,KAAKoG,KAAKs7B,iBAAiB,mCAAmCxmB,SAAQ,SAAU7Y,GAC5FA,EAAGV,aAAa,WAAY,SAG9B,GAAGinB,MAAMhrB,KAAKoC,KAAKoG,KAAKs7B,iBAAiB,IAAQj8B,2BAA2ByV,SAAQ,SAAU7Y,GAC5F,OAAOA,EAAGV,aAAa,WAAY,SAErC3B,KAAKqG,WAAWyJ,UASlB2xB,EAAQpiC,UAAUijC,eAAiB,SAAUC,GAC3C,IAAIrZ,EAAcqZ,EAAK33B,cAAc,IAAM,IAAWnG,8BAEtD,GAAIykB,EACF,OAAOA,EAAY5T,aAAe,GAGpC,IAAIktB,EAAiBD,EAAK33B,cAAc,IAAM,IAAWpG,sBACzD,OAAOg+B,GAAkBA,EAAeltB,aAAe,IAOzDmsB,EAAQpiC,UAAU+iC,mBAAqB,WACrC,IAAI30B,EAAQzN,KAERyiC,EAAoBziC,KAAKoG,KAAKs7B,iBAAiB,IAAQt8B,6BACvDs9B,EAAyB1iC,KAAKoG,KAAKwE,cAAc,YAAc,IAAWxG,0BAA4B,aAAe,IAAWG,yBAA2B,UAC3Jo+B,EAAwB3iC,KAAKoG,KAAKwE,cAAc,IAAQ7F,6BAE5D,GAAI09B,EAAkBpiC,OAAQ,CAC5B,IAAIuiC,EAAmB5iC,KAAKoG,KAAKs7B,iBAAiB,IAAQ58B,gCAC1D9E,KAAK6iC,cAAgB,GAAGpP,IAAI71B,KAAKglC,GAAkB,SAAUE,GAC3D,OAAOr1B,EAAMs1B,aAAa31B,QAAQ01B,WAE3BJ,GACLA,EAAuB9gC,UAAU4M,SAAS,IAAWpK,4BACvDpE,KAAKqG,WAAW4f,sBAAqB,GAGvCjmB,KAAKgjC,iBAAkB,EACvBhjC,KAAK6iC,cAAgB7iC,KAAK+iC,aAAa31B,QAAQs1B,IACtCC,IACT3iC,KAAK6iC,cAAgB7iC,KAAK+iC,aAAa31B,QAAQu1B,KAUnDlB,EAAQpiC,UAAUuoB,WAAa,SAAUC,EAAW3E,GAClDljB,KAAKqG,WAAWuhB,WAAWC,EAAW3E,IAcxCue,EAAQpiC,UAAUypB,mBAAqB,SAAUlH,EAAUmH,GACzD,OAAO/oB,KAAKqG,WAAWyiB,mBAAmBlH,EAAUmH,GAEpD,IAGF0Y,EAAQpiC,UAAUqH,qBAAuB,WACvC,IAAI+G,EAAQzN,KAIR+F,EAAU,CACZ4e,wBAAyB,SAAUvT,EAAOlD,GACxC,IAAIvL,EAAU8K,EAAMs1B,aAAa3xB,GAE7BzO,GACFA,EAAQf,UAAUC,IAAIqM,IAG1B2T,iBAAkB,SAAUzQ,GAC1B,IAAIzO,EAAU8K,EAAMs1B,aAAa3xB,GAE7BzO,GACFA,EAAQqwB,SAGZpO,4BAA6B,SAAUxT,EAAO6xB,GAC5C,OAAOx1B,EAAMs1B,aAAa3xB,GAAO9F,aAAa23B,IAEhDpe,uBAAwB,WACtB,OAAOpX,EAAMs1B,aAAa31B,QAAQvK,SAASkxB,gBAE7CjP,iBAAkB,WAChB,OAAOrX,EAAMs1B,aAAa1iC,QAE5BqlB,sBAAuB,SAAUtU,GAC/B,OAAO3D,EAAM60B,eAAe70B,EAAMs1B,aAAa3xB,KAEjD2T,mBAAoB,SAAU3T,GAE5B,QADe3D,EAAMs1B,aAAa3xB,GAChBxG,cAAc,IAAQrF,oBAE1Cyf,gBAAiB,SAAU5T,GAEzB,QADe3D,EAAMs1B,aAAa3xB,GAChBxG,cAAc,IAAQlF,iBAE1Cuf,yBAA0B,SAAU7T,GAGlC,OAFe3D,EAAMs1B,aAAa3xB,GACVxG,cAAc,IAAQrF,mBAC9B29B,SAElBhe,kBAAmB,WACjB,OAAOzX,EAAMrH,KAAKoI,SAAS3L,SAASkxB,gBAEtC5O,cAAe,WACb,OAAOtiB,SAASkxB,gBAAkBtmB,EAAMrH,MAE1Cgf,wBAAyB,SAAUhU,EAAOlD,GACxC,OAAOT,EAAMs1B,aAAa3xB,GAAOxP,UAAU4M,SAASN,IAEtDmX,aAAc,SAAUjU,GACtB3D,EAAMnG,KAAK,IAAQ1C,aAAc,CAC/BwM,MAAOA,IAGT,IAEFkU,2BAA4B,SAAUlU,EAAOlD,GAC3C,IAAIvL,EAAU8K,EAAMs1B,aAAa3xB,GAE7BzO,GACFA,EAAQf,UAAU0L,OAAOY,IAG7BqX,4BAA6B,SAAUnU,EAAO6xB,EAAMvkC,GAClD,IAAIiE,EAAU8K,EAAMs1B,aAAa3xB,GAE7BzO,GACFA,EAAQhB,aAAashC,EAAMvkC,IAG/B8mB,iCAAkC,SAAUpU,EAAO+W,GACjD,IACIgb,EADW11B,EAAMs1B,aAAa3xB,GACVxG,cAAc,IAAQtF,yBAC9C69B,EAASD,QAAU/a,EACnB,IAAI7E,EAAQzgB,SAASgF,YAAY,SACjCyb,EAAM8f,UAAU,UAAU,GAAM,GAChCD,EAASp7B,cAAcub,IAEzBmC,+BAAgC,SAAUkB,EAAe0c,GACvD,IAAI1gC,EAAU8K,EAAMs1B,aAAapc,GACV,GAAGiC,MAAMhrB,KAAK+E,EAAQ++B,iBAAiB,IAAQl8B,oCACrD0V,SAAQ,SAAU7Y,GACjC,OAAOA,EAAGV,aAAa,WAAY0hC,QAIzC,OAAO,IAAI,IAAkBt9B,IAQ/B07B,EAAQpiC,UAAUikC,kBAAoB,SAAU77B,GAC9C,IAAI87B,EAAc97B,EAAI8G,OAClBi1B,EAAgB,YAAQD,EAAa,IAAM,IAAWl/B,gBAAkB,MAAQ,IAAWK,MAE/F,OAAI8+B,GAAiB,YAAQA,EAAe,IAAM,IAAWn/B,iBACpDrE,KAAK+iC,aAAa31B,QAAQo2B,IAG3B,GAOV/B,EAAQpiC,UAAU4iC,oBAAsB,SAAUx6B,GAChD,IAAI2J,EAAQpR,KAAKsjC,kBAAkB77B,GACnCzH,KAAKqG,WAAWogB,cAAchf,EAAK2J,IAOrCqwB,EAAQpiC,UAAU8iC,qBAAuB,SAAU16B,GACjD,IAAI2J,EAAQpR,KAAKsjC,kBAAkB77B,GACnCzH,KAAKqG,WAAWugB,eAAenf,EAAK2J,IAQtCqwB,EAAQpiC,UAAU0iC,oBAAsB,SAAUt6B,GAChD,IAAI2J,EAAQpR,KAAKsjC,kBAAkB77B,GAC/B8G,EAAS9G,EAAI8G,OACjBvO,KAAKqG,WAAWgd,cAAc5b,EAAK8G,EAAO3M,UAAU4M,SAAS,IAAWnK,iBAAkB+M,IAO5FqwB,EAAQpiC,UAAUwiC,kBAAoB,SAAUp6B,GAC9C,IAAI2J,EAAQpR,KAAKsjC,kBAAkB77B,GAC/B8G,EAAS9G,EAAI8G,OAEbgZ,GAAkB,YAAQhZ,EAAQ,IAAQjJ,yBAC9CtF,KAAKqG,WAAWihB,YAAYlW,EAAOmW,IAG9Bka,EAxUT,CAyUE,M,wFCjVE98B,EAAU,CACZ8+B,WAAY,oBACZC,UAAW,UAETv/B,EAAa,CACfO,KAAM,wBCFJ4mB,EAAqB,CAAC,QAAS,WAE/B,EAEJ,SAAU9d,GAGR,SAASm2B,EAA2B59B,GAClC,IAAI0H,EAAQD,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAI2jC,EAA2B5wB,gBAAiBhN,KAAa/F,KAQ7G,OANAyN,EAAMm2B,eAAiB,KAEvBn2B,EAAMo2B,oBAAsB,SAAUp8B,GACpC,OAAOgG,EAAMq2B,kBAAkBr8B,IAG1BgG,EAqGT,OAhHA,YAAUk2B,EAA4Bn2B,GActCrP,OAAOC,eAAeulC,EAA4B,UAAW,CAC3DrlC,IAAK,WACH,OAAOqG,GAETtG,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeulC,EAA4B,aAAc,CAC9DrlC,IAAK,WACH,OAAO6F,GAET9F,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeulC,EAA4B,iBAAkB,CAIlErlC,IAAK,WAEH,MAAO,CACLylC,QAAS,WACP,OAAO,MAET/E,QAAS,aAGTC,WAAY,aAGZvV,WAAY,aAGZra,2BAA4B,aAG5BX,6BAA8B,aAG9Bs1B,iBAAkB,eAKtB3lC,YAAY,EACZ2H,cAAc,IAGhB29B,EAA2BtkC,UAAU4G,KAAO,WAC1C,IAAIwH,EAAQzN,KAEZA,KAAK4jC,eAAiB5jC,KAAK+F,QAAQg+B,QAAQ,YAC3CzY,EAAmBpQ,SAAQ,SAAUlU,GACnCyG,EAAM1H,QAAQsJ,2BAA2BrI,EAASyG,EAAMo2B,yBAI5DF,EAA2BtkC,UAAU6G,QAAU,WAC7C,IAAIuH,EAAQzN,KAEZsrB,EAAmBpQ,SAAQ,SAAUlU,GACnCyG,EAAM1H,QAAQ2I,6BAA6B1H,EAASyG,EAAMo2B,yBAI9DF,EAA2BtkC,UAAUgxB,YAAc,SAAU3iB,GACtD1N,KAAK4jC,iBAINl2B,GACF1N,KAAK+F,QAAQi5B,QAAQ,WAAY,MACjCh/B,KAAK+F,QAAQk5B,WAAW,UAExBj/B,KAAK+F,QAAQi5B,QAAQ,WAAYh/B,KAAK4jC,gBACtC5jC,KAAK+F,QAAQi5B,QAAQ,OAAQr6B,EAAQ++B,cAIzCC,EAA2BtkC,UAAUoxB,aAAe,SAAUrvB,GAC5DpB,KAAK+F,QAAQi5B,QAAQ,aAAc59B,IAGrCuiC,EAA2BtkC,UAAUqqB,WAAa,SAAU1mB,GAC1DhD,KAAK+F,QAAQ2jB,WAAW1mB,IAG1B2gC,EAA2BtkC,UAAUykC,kBAAoB,SAAUr8B,GACjE,IAAIw8B,EAAyB,UAAZx8B,EAAIzI,KAAmC,KAAhByI,EAAIgC,SAE3B,UAAbhC,EAAIyI,MAAoB+zB,KAC1Bx8B,EAAIia,iBAGJ1hB,KAAK+F,QAAQi+B,qBAIVL,EAjHT,CAkHE,KCrHE,EAEJ,SAAUn2B,GAGR,SAAS02B,IACP,OAAkB,OAAX12B,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KAqD7D,OAxDA,YAAUkkC,EAAkB12B,GAM5B02B,EAAiBt9B,SAAW,SAAUR,GACpC,OAAO,IAAI89B,EAAiB99B,IAG9BjI,OAAOC,eAAe8lC,EAAiB7kC,UAAW,yBAA0B,CAE1Ef,IAAK,WACH,OAAO0B,KAAKqG,YAEdhI,YAAY,EACZ2H,cAAc,IAGhBk+B,EAAiB7kC,UAAUqH,qBAAuB,WAChD,IAAI+G,EAAQzN,KAiCZ,OAAO,IAAI,EA5BG,CACZ+jC,QAAS,SAAUd,GACjB,OAAOx1B,EAAMrH,KAAKkF,aAAa23B,IAEjCjE,QAAS,SAAUiE,EAAMvkC,GACvB,OAAO+O,EAAMrH,KAAKzE,aAAashC,EAAMvkC,IAEvCugC,WAAY,SAAUgE,GACpB,OAAOx1B,EAAMrH,KAAKmP,gBAAgB0tB,IAEpCvZ,WAAY,SAAU1mB,GACpByK,EAAMrH,KAAKkP,YAActS,GAE3BqM,2BAA4B,SAAUrI,EAASC,GAC7C,OAAOwG,EAAM1G,OAAOC,EAASC,IAE/ByH,6BAA8B,SAAU1H,EAASC,GAC/C,OAAOwG,EAAMrG,SAASJ,EAASC,IAEjC+8B,iBAAkB,WAChB,OAAOv2B,EAAMnG,KAAK,EAA2B3C,QAAQ8+B,WAAY,IAE/D,OASDS,EAzDT,CA0DE,M,6BCtFF,kCAsBA,IAAIC,EAAuB,yBASvBC,EAEJ,WACE,SAASA,EAAUh+B,EAAMc,QACP,IAAZA,IACFA,EAAU,IAGZlH,KAAKoG,KAAOA,EACZpG,KAAKkH,QAAUA,EAEflH,KAAKqkC,yBAA2B,KAuGlC,OA/FAD,EAAU/kC,UAAUilC,UAAY,WAC9B,IAAIC,EAAevkC,KAAKwkC,qBAAqBxkC,KAAKoG,MAElD,GAA4B,IAAxBm+B,EAAalkC,OACf,MAAM,IAAIyG,MAAM,8DAGlB9G,KAAKqkC,yBAA2BxhC,SAASkxB,yBAAyB0Q,YAAc5hC,SAASkxB,cAAgB,KACzG/zB,KAAK0kC,aAAa1kC,KAAKoG,KAAMm+B,GAExBvkC,KAAKkH,QAAQy9B,kBAChB3kC,KAAK4kC,oBAAoBL,EAAcvkC,KAAKkH,QAAQ29B,iBASxDT,EAAU/kC,UAAUylC,aAAe,WACjC,GAAGlc,MAAMhrB,KAAKoC,KAAKoG,KAAKs7B,iBAAiB,IAAMyC,IAAuBjpB,SAAQ,SAAU6pB,GACtFA,EAAWj5B,cAAcY,YAAYq4B,MAGnC/kC,KAAKqkC,0BACPrkC,KAAKqkC,yBAAyBrR,SAYlCoR,EAAU/kC,UAAUqlC,aAAe,SAAUriC,EAAIkiC,GAC/C,IAAIS,EAAgBhlC,KAAKilC,iBACrBC,EAAcllC,KAAKilC,iBACvBD,EAAc79B,iBAAiB,SAAS,WAClCo9B,EAAalkC,OAAS,GACxBkkC,EAAaA,EAAalkC,OAAS,GAAG2yB,WAG1CkS,EAAY/9B,iBAAiB,SAAS,WAChCo9B,EAAalkC,OAAS,GACxBkkC,EAAa,GAAGvR,WAGpB3wB,EAAG8iC,aAAaH,EAAe3iC,EAAG+iC,SAAS,IAC3C/iC,EAAG6B,YAAYghC,IAQjBd,EAAU/kC,UAAUulC,oBAAsB,SAAUL,EAAcM,GAChE,IAAIQ,EAAa,EAEbR,IACFQ,EAAa7oB,KAAKC,IAAI8nB,EAAan3B,QAAQy3B,GAAiB,IAG9DN,EAAac,GAAYrS,SAG3BoR,EAAU/kC,UAAUmlC,qBAAuB,SAAUp+B,GAEnD,MADmB,GAAGwiB,MAAMhrB,KAAKwI,EAAKs7B,iBAAiB,gEACnC7Y,QAAO,SAAUxmB,GACnC,IAAIijC,EAA0D,SAArCjjC,EAAGiJ,aAAa,kBAA8D,MAA/BjJ,EAAGiJ,aAAa,aAAoD,MAA7BjJ,EAAGiJ,aAAa,WAAwD,SAAnCjJ,EAAGiJ,aAAa,eAChKi6B,EAAuBljC,EAAGmjC,UAAY,GAAKnjC,EAAGgM,wBAAwBoK,MAAQ,IAAMpW,EAAGT,UAAU4M,SAAS21B,KAA0BmB,EACpIG,GAA2B,EAE/B,GAAIF,EAAsB,CACxB,IAAIh5B,EAAQm5B,iBAAiBrjC,GAC7BojC,EAA6C,SAAlBl5B,EAAMo5B,SAA2C,WAArBp5B,EAAMq5B,WAG/D,OAAOL,IAAyBE,MAIpCrB,EAAU/kC,UAAU4lC,eAAiB,WACnC,IAAIY,EAAWhjC,SAASC,cAAc,OAKtC,OAJA+iC,EAASlkC,aAAa,WAAY,KAElCkkC,EAASlkC,aAAa,cAAe,QACrCkkC,EAASjkC,UAAUC,IAAIsiC,GAChB0B,GAGFzB,EAhHT,I,8BCjCA,2DAAGvhC,SAAS0H,KAAKlH,QAAQyiC,aACvBA,EAAY,EAAQ,KACVC,cAAc9/B,KAAKpD,SAAS0H,KAAKlH,QAAQyiC,WAEnDjjC,SAASsE,iBAAiB,oBAAoB,SAACmc,GAC7C,GAAGzgB,SAAS0H,KAAKlH,QAAQ2iC,O,OACvBF,EAAUC,cAAcE,UAAUpjC,SAAS0H,KAAKlH,QAAQ2iC,QACxDF,EAAUC,cAAcG,UAAS,IAAIJ,EAAUK,UAAW/8B,IAAI,OAAQvG,SAAS0H,KAAKlH,QAAQ+iC,eAElG,IAAaC,EAAA,W,qBACX,EAACC,MAAO,SAACtoC,EAAMuoC,GACb,GAAG,MAAAT,EAAH,CACES,MAAe,IACfA,EAAW,IAAS18B,OAAO28B,SAASC,SACpCF,EAAW,UAAe1jC,SAAS0H,KAAKlH,QAAQ0N,WAChDw1B,EAAW,cAA8C,IAAhC1jC,SAAS0H,KAAKlH,QAAQ2iC,OACcO,EAAW,OAAxEA,EAAW,KAAU1jC,SAAS0H,KAAKe,aAAa,OAChD,IACEw6B,EAAUC,cAAcW,SAAS1oC,EAAMuoC,GADzC,W,OAEF,G,EAVS,I,6BCTb,4DA0BII,EAEJ,SAAUn5B,GAGR,SAASm5B,IACP,OAAkB,OAAXn5B,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KA8C7D,OAjDA,YAAU2mC,EAAwBn5B,GAMlCm5B,EAAuB//B,SAAW,SAAUR,GAC1C,OAAO,IAAIugC,EAAuBvgC,IAGpCjI,OAAOC,eAAeuoC,EAAuBtnC,UAAW,yBAA0B,CAEhFf,IAAK,WACH,OAAO0B,KAAKqG,YAEdhI,YAAY,EACZ2H,cAAc,IAGhB2gC,EAAuBtnC,UAAUqH,qBAAuB,WACtD,IAAI+G,EAAQzN,KAKR+F,EAAU,CACZkI,SAAU,SAAUC,GAClB,OAAOT,EAAMrH,KAAKxE,UAAUC,IAAIqM,IAElCqB,YAAa,SAAUrB,GACrB,OAAOT,EAAMrH,KAAKxE,UAAU0L,OAAOY,IAErCqf,SAAU,SAAUrf,GAClB,OAAOT,EAAMrH,KAAKxE,UAAU4M,SAASN,IAEvC8wB,QAAS,SAAUiE,EAAMvkC,GACvB,OAAO+O,EAAMrH,KAAKzE,aAAashC,EAAMvkC,IAEvCugC,WAAY,SAAUgE,GACpB,OAAOx1B,EAAMrH,KAAKmP,gBAAgB0tB,IAEpCvZ,WAAY,SAAU1mB,GACpByK,EAAMrH,KAAKkP,YAActS,IAI7B,OAAO,IAAI,IAAiC+C,IAGvC4gC,EAlDT,CAmDE,M,wFCzDExiC,EAAa,CACfyiC,OAAQ,4BACRC,KAAM,0BACNC,cAAe,oCAEbniC,EAAU,CACZoiC,iBAAkB,+BCFhB,EAEJ,SAAUv5B,GAGR,SAASw5B,EAA0BjhC,GACjC,OAAOyH,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAIgnC,EAA0Bj0B,gBAAiBhN,KAAa/F,KAkDzG,OArDA,YAAUgnC,EAA2Bx5B,GAMrCrP,OAAOC,eAAe4oC,EAA2B,aAAc,CAC7D1oC,IAAK,WACH,OAAO6F,GAET9F,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe4oC,EAA2B,UAAW,CAC1D1oC,IAAK,WACH,OAAOqG,GAETtG,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe4oC,EAA2B,iBAAkB,CACjE1oC,IAAK,WAEH,MAAO,CACL2P,SAAU,aAGVsB,YAAa,aAGb03B,yBAA0B,WACxB,MAAO,CACLjuB,IAAK,EACLc,MAAO,EACPC,OAAQ,EACRhB,KAAM,EACNN,MAAO,EACPC,OAAQ,IAGZwuB,wBAAyB,eAK7B7oC,YAAY,EACZ2H,cAAc,IAGhBghC,EAA0B3nC,UAAU4nC,yBAA2B,WAC7D,OAAOjnC,KAAK+F,QAAQkhC,4BAGfD,EAtDT,CAuDE,KCzDE,EAEJ,SAAUx5B,GAGR,SAAS25B,IACP,OAAkB,OAAX35B,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KAW7D,OAdA,YAAUmnC,EAAiC35B,GAM3C25B,EAAgC9nC,UAAUuQ,SAAW,WACnD5P,KAAK+F,QAAQkI,SAAS,EAA0B9J,WAAWyiC,SAG7DO,EAAgC9nC,UAAUwQ,WAAa,WACrD7P,KAAK+F,QAAQwJ,YAAY,EAA0BpL,WAAWyiC,SAGzDO,EAfT,CAgBE,GClBE,EAEJ,SAAU35B,GAGR,SAAS45B,IACP,OAAkB,OAAX55B,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KA8B7D,OAjCA,YAAUonC,EAAkC55B,GAM5C45B,EAAiC/nC,UAAUuQ,SAAW,SAAUy3B,GAG9D,GAAKA,EAAL,CAQA,IAAIC,EAAoBtnC,KAAKinC,2BACzBM,EAAaF,EAA4B5uB,MAAQ6uB,EAAkB7uB,MACnE+uB,EAAYH,EAA4BtuB,KAAOuuB,EAAkBvuB,KACrE/Y,KAAK+F,QAAQkI,SAAS,EAA0B9J,WAAW2iC,eAC3D9mC,KAAK+F,QAAQmhC,wBAAwB,YAAa,cAAgBM,EAAY,cAAgBD,EAAa,KAE3GvnC,KAAKinC,2BACLjnC,KAAK+F,QAAQwJ,YAAY,EAA0BpL,WAAW2iC,eAC9D9mC,KAAK+F,QAAQkI,SAAS,EAA0B9J,WAAWyiC,QAC3D5mC,KAAK+F,QAAQmhC,wBAAwB,YAAa,SAhBhDlnC,KAAK+F,QAAQkI,SAAS,EAA0B9J,WAAWyiC,SAmB/DQ,EAAiC/nC,UAAUwQ,WAAa,WACtD7P,KAAK+F,QAAQwJ,YAAY,EAA0BpL,WAAWyiC,SAGzDQ,EAlCT,CAmCE,GCnCE,EAEJ,SAAU55B,GAGR,SAASi6B,IACP,OAAkB,OAAXj6B,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KAoD7D,OAvDA,YAAUynC,EAAiBj6B,GAM3Bi6B,EAAgB7gC,SAAW,SAAUR,GACnC,OAAO,IAAIqhC,EAAgBrhC,IAG7BqhC,EAAgBpoC,UAAUmH,WAAa,WACrCxG,KAAK0nC,SAAW1nC,KAAKoG,KAAKwE,cAAc,EAA0BjG,QAAQoiC,mBAG5EU,EAAgBpoC,UAAU4nC,yBAA2B,WACnD,OAAOjnC,KAAKqG,WAAW4gC,4BAGzBQ,EAAgBpoC,UAAUqH,qBAAuB,WAC/C,IAAI+G,EAAQzN,KAKR+F,EAAU,CACZkI,SAAU,SAAUC,GAClB,OAAOT,EAAMrH,KAAKxE,UAAUC,IAAIqM,IAElCqB,YAAa,SAAUrB,GACrB,OAAOT,EAAMrH,KAAKxE,UAAU0L,OAAOY,IAErC+4B,yBAA0B,WACxB,OAAOx5B,EAAMi6B,SAASr5B,yBAExB64B,wBAAyB,SAAUS,EAAMjpC,GACvC,OAAO+O,EAAMi6B,SAASn7B,MAAMC,YAAYm7B,EAAMjpC,KAIlD,OAAIsB,KAAKoG,KAAKxE,UAAU4M,SAAS,EAA0BrK,WAAW0iC,MAC7D,IAAI,EAAgC9gC,GAItC,IAAI,EAAiCA,IAG9C0hC,EAAgBpoC,UAAUuQ,SAAW,SAAUy3B,GAC7CrnC,KAAKqG,WAAWuJ,SAASy3B,IAG3BI,EAAgBpoC,UAAUwQ,WAAa,WACrC7P,KAAKqG,WAAWwJ,cAGX43B,EAxDT,CAyDE,M,eCvFF,IAAIG,EAEJA,EAAI,WACF,OAAO5nC,KADL,GAIJ,IAEE4nC,EAAIA,GAAK,IAAIC,SAAS,cAAb,GACT,MAAOhnC,GAEe,kBAAXgJ,SAAqB+9B,EAAI/9B,QAMtCrM,EAAOD,QAAUqqC,G,2sPCZV,IAAME,EAAb,WAEG,WAAYp8B,EAAIq8B,EAAiBC,EAA6BC,I,4FAAoB,CAAD,QAChFjoC,KAAKioC,kBAAoBA,EAEzBjoC,KAAKkoC,QAAQ,IAAMx8B,EAAIq8B,EAAiBC,G,UAL5C,O,EAAA,G,EAAA,sBAQE,SAAQt8B,EAAIq8B,EAAiBC,GAC3BhoC,KAAKmoC,MAAQ,IAAInrB,IACjBhd,KAAKooC,oBAAoB18B,EAAIq8B,EAAiBC,GAE9CnlC,SAAS+H,cAAcc,GAAI28B,SAAW,WAAQ,OAAO,GAErDxlC,SAAS+H,cAAcc,EAAK,QAAQ48B,OAAS,WAAO,IAAD,MAClCzlC,SAAS6+B,iBAAiB,uBADQ,yBACxCr/B,EADwC,QAE/C2R,YAAW,kBAAM3R,EAAGY,UAAY,KAAI,MADtC,2BAAiE,IADhB,gCAMnD,IACE,IAAIiuB,IAAaruB,SAAS+H,cAAcc,EAAK,QAAQI,eACrD,MAAOjL,OAtBb,iCAyBE,SAAoB6K,EAAIq8B,EAAiBC,GAA8B,I,EAG9D,EAH6D,OACpE,IAAI7N,IAAa,CACfrb,KAAM,CACJa,K,EAAG,UAAE,iGACGqZ,EAAQn2B,SAAS+H,cAAcc,EAAK,QAAQhN,MAC9C2C,EAAM,iBACN0mC,IAAiB1mC,GAAY,kBACjCA,EAAMA,EAAM,KAAOknC,mBAAmBvP,GAJnC,SAKkBwP,MAAMnnC,GALxB,cAKGonC,EALH,gBAMgBA,EAAOC,OANvB,cAMG5pB,EANH,OAOCkpB,GACFlpB,EAAK/d,KAAK,CAAC4nC,aAAY,EAAMtL,OAAQrE,EAAO4P,KAAM,wBARjD,kBAUI9pB,GAVJ,2CAAF,E,8KAAA,4CAYH9f,IAAK,CAAC,UACNy7B,OAAO,GAET3vB,SAAUY,EAAK,OACf+rB,YAAa,CACX8D,QAAQ,EACRtD,YAAap1B,SAAS+H,cAAcc,GACpCysB,SAAU,YACVx1B,QAAS,OAEXu4B,UAAW,EACXE,SAAU,IACVa,WAAY,GACZtE,WAAW,EACXW,WAAY,CACVt1B,QAAS,SAAC8b,EAAM2pB,GACd,GAAI3pB,EAAKpgB,MAAMiqC,YACbF,EAAOvkC,YAAY/B,YAAqB,MAAO,mBAAoB,oBAC9D,CACL,IAAMsc,EAAO5b,SAASC,cAAc,OACpC2b,EAAK9c,aAAa,QAAS,QAC3B8c,EAAKxb,UAAY6b,EAAKpgB,MAAM+f,KAC5B,EAAK0pB,MAAM1nB,iBAAiBhC,GAC5B,IAAMoqB,EAAShmC,SAASC,cAAc,OACtC+lC,EAAOlnC,aAAa,QAAS,UAC7BknC,EAAO5lC,UAAY6b,EAAKpgB,MAAMmqC,OAC9B,IAAM7qC,EAAO6E,SAASC,cAAc,OACpC9E,EAAK2D,aAAa,QAAS,QAC3B3D,EAAKiF,UAAY6b,EAAKpgB,MAAMV,KAC5ByqC,EAAOvkC,YAAYua,GACnBgqB,EAAOvkC,YAAY2kC,GACnBJ,EAAOvkC,YAAYlG,KAGvB2E,QAAS,OACRg2B,YAAa,SAACE,GACf,EAAKoP,kBAAkBpP,EAASE,mB,8EA5ExC,M,4JCHiC,WAG/B,IAFA,IAAMzb,EAAQza,SAAS6+B,iBAAiB,yBADH,WAG5BjkC,GACP,IAAI4E,EAAKib,EAAM7f,GACf4E,EAAGymC,QAAU,WACXjmC,SAAS2jC,SAAWnkC,EAAGgB,QAAQulC,OAH1BnrC,EAAI,EAAGA,EAAI6f,EAAMjd,OAAQ5C,IAAM,EAA/BA,GAQXsrC,IAEkC,WAGhC,IAFA,IAAMzrB,EAAQza,SAAS6+B,iBAAiB,yBADF,WAG7BjkC,GACP,IAAI4E,EAAKib,EAAM7f,GACf4E,EAAGymC,QAAU,WACXn8B,IAAcvD,IAAI,cAAe/G,EAAGgB,QAAQ2lC,cAHvCvrC,EAAI,EAAGA,EAAI6f,EAAMjd,OAAQ5C,IAAM,EAA/BA,GAQXwrC,GAEA,I,g7BAAgBpmC,SAAS6+B,iBAAiB,8B,IAC1C,2BAA0B,SACrBoH,QAAU,SAACjoC,GAAQA,EAAEy4B,cAAc13B,UAAUsnC,OAAO,c,sDC9BzD,wBAES,WACP,aAEA,SAASC,EAAQC,GAWf,OATED,EADoB,oBAAX3qC,QAAoD,kBAApBA,OAAOgC,SACtC,SAAU4oC,GAClB,cAAcA,GAGN,SAAUA,GAClB,OAAOA,GAAyB,oBAAX5qC,QAAyB4qC,EAAInpC,cAAgBzB,QAAU4qC,IAAQ5qC,OAAOa,UAAY,gBAAkB+pC,IAI9GA,GASjB,SAASlT,EAAkB3nB,EAAQ4nB,GACjC,IAAK,IAAI14B,EAAI,EAAGA,EAAI04B,EAAM91B,OAAQ5C,IAAK,CACrC,IAAI24B,EAAaD,EAAM14B,GACvB24B,EAAW/3B,WAAa+3B,EAAW/3B,aAAc,EACjD+3B,EAAWpwB,cAAe,EACtB,UAAWowB,IAAYA,EAAWC,UAAW,GACjDl4B,OAAOC,eAAemQ,EAAQ6nB,EAAWp3B,IAAKo3B,IAUlD,SAASiT,EAAgBD,EAAKpqC,EAAKN,GAYjC,OAXIM,KAAOoqC,EACTjrC,OAAOC,eAAegrC,EAAKpqC,EAAK,CAC9BN,MAAOA,EACPL,YAAY,EACZ2H,cAAc,EACdqwB,UAAU,IAGZ+S,EAAIpqC,GAAON,EAGN0qC,EAGT,SAASE,EAAc/6B,GACrB,IAAK,IAAI9Q,EAAI,EAAGA,EAAI2C,UAAUC,OAAQ5C,IAAK,CACzC,IAAIgrC,EAAyB,MAAhBroC,UAAU3C,GAAa2C,UAAU3C,GAAK,GAC/C8rC,EAAUprC,OAAOkd,KAAKotB,GAEkB,oBAAjCtqC,OAAOqrC,wBAChBD,EAAUA,EAAQroC,OAAO/C,OAAOqrC,sBAAsBf,GAAQ5f,QAAO,SAAU4gB,GAC7E,OAAOtrC,OAAOurC,yBAAyBjB,EAAQgB,GAAKprC,gBAIxDkrC,EAAQruB,SAAQ,SAAUlc,GACxBqqC,EAAgB96B,EAAQvP,EAAKypC,EAAOzpC,OAIxC,OAAOuP,EAQT,IAAIo7B,EAMAC,EAuBAC,EAkBAC,EAuFJ,SAASC,IACP,MAAyB,kBAAXlgC,aAA6FpD,KAA1D,OAAXoD,aAA8B,IAAXA,YAAoB,EAASA,OAAOhH,WArI/F,SAAW8mC,GACTA,EAA2B,SAAI,YADjC,CAEGA,IAAqBA,EAAmB,KAI3C,SAAWC,GAETA,EAAuB,IAAI,OAC3BA,EAA4B,SAAI,WAEhCA,EAAuB,IAAI,OAC3BA,EAA0B,OAAI,UAC9BA,EAA2B,QAAI,WAC/BA,EAA0B,OAAI,UAE9BA,EAA6B,UAAI,aACjCA,EAA8B,WAAI,cAElCA,EAAyB,MAAI,SAC7BA,EAA6B,UAAI,YAdnC,CAeGA,IAAsBA,EAAoB,KAQ7C,SAAWC,GAETA,EAASA,EAAe,KAAI,GAAK,OAGjCA,EAASA,EAAgB,MAAI,GAAK,QAGlCA,EAASA,EAAe,KAAI,GAAK,OAGjCA,EAASA,EAAkB,QAAI,GAAK,UAXtC,CAYGA,IAAaA,EAAW,KAM3B,SAAWC,GAETA,EAAgB,QAAI,UAGpBA,EAAgB,QAAI,UAGpBA,EAAgB,QAAI,UAGpBA,EAAkB,UAAI,aAGtBA,EAAwB,gBAAI,oBAG5BA,EAAgB,QAAI,UAGpBA,EAAe,OAAI,SApBrB,CAqBGA,IAAWA,EAAS,KAIvB,SAAWA,GA+BTA,EAAOE,aAxBP,SAAsBC,GACpB,OAAIA,GAAQ,KAAOA,EAAO,IACjBH,EAAOI,QAGH,MAATD,EACKH,EAAOK,UAGH,MAATF,EACKH,EAAOM,gBAGZH,GAAQ,KAAOA,EAAO,IACjBH,EAAOO,QAGZJ,GAAQ,IACHH,EAAOQ,OAGTR,EAAOS,SA5BlB,CAgCGT,IAAWA,EAAS,KAObA,EAAOU,QAyBjB,IAAIC,EAAuB,GAOvBC,EAAkB,WACpB,MArB0B,kBAAZC,QAAqJlkC,KAA9C,QAA7E0T,EAAiB,OAAZwwB,QAAgC,IAAZA,OAAqB,EAASA,EAAQC,gBAA6B,IAAPzwB,OAAgB,EAASA,EAAGuD,MAqBpImtB,EAA2B,qBAAXhhC,OAAyBA,OAAyB,qBAATihC,KAAuBA,KAAOL,EAxB9G,IACMtwB,GAuDF4wB,EA7B8B,WAChC,IAAIF,EAASH,IAEb,OADAG,EAAOG,cAAgBH,EAAOG,eAAiB,GACxCH,EAAOG,cA0BMC,GAGlBC,EAAS,oBAGTC,EAEJ,WAEE,SAASA,IACPnrC,KAAKorC,UAAY,EAmEnB,OA9DAD,EAAO9rC,UAAUgsC,QAAU,WACzBrrC,KAAKorC,UAAY,GAKnBD,EAAO9rC,UAAUisC,OAAS,SAAUC,QACjB,IAAbA,IACFA,EAAW1B,EAAS2B,MAGtBxrC,KAAKorC,UAAYG,GAKnBJ,EAAO9rC,UAAUosC,IAAM,WAGrB,IAFA,IAAInlC,EAAO,GAEFC,EAAK,EAAGA,EAAKnG,UAAUC,OAAQkG,IACtCD,EAAKC,GAAMnG,UAAUmG,GAGnBvG,KAAKorC,UAAYvB,EAAS6B,SAI9Bb,EAAOc,QAAQF,IAAIP,EAAS,UAAY5kC,EAAK+a,KAAK,OAKpD8pB,EAAO9rC,UAAUusC,KAAO,WAGtB,IAFA,IAAItlC,EAAO,GAEFC,EAAK,EAAGA,EAAKnG,UAAUC,OAAQkG,IACtCD,EAAKC,GAAMnG,UAAUmG,GAGnBvG,KAAKorC,UAAYvB,EAAS2B,MAI9BX,EAAOc,QAAQC,KAAKV,EAAS,WAAa5kC,EAAK+a,KAAK,OAKtD8pB,EAAO9rC,UAAU2B,MAAQ,WAGvB,IAFA,IAAIsF,EAAO,GAEFC,EAAK,EAAGA,EAAKnG,UAAUC,OAAQkG,IACtCD,EAAKC,GAAMnG,UAAUmG,GAGnBvG,KAAKorC,UAAYvB,EAAS/iC,OAI9B+jC,EAAOc,QAAQ3qC,MAAMkqC,EAAS,YAAc5kC,EAAK+a,KAAK,OAGjD8pB,EAtET,GA2EIU,GADSd,EAAgBe,SAAWf,EAAgBe,OAAS,IAAIX,GAEjD,qBADhBU,EAEW,EAFXA,EAGiB,KAHjBA,EAIiB,IAJjBA,EAKc,YALdA,EAMoB,iBANpBA,EAiBkB,kBAjBlBA,EAkBa,MAlBbA,EAoBe,GApBfA,EAqBe,UArBfA,EAsBY,OAtBZA,EAuBa,eAvBbA,EAwBe,iBAxBfA,EA0Ba,iBA1BbA,EA2BkB,aA3BlBA,EA4BgB,YA5BhBA,EA6Ba,SA7BbA,EA8BoB,eA9BpBA,EA+BmB,gBA/BnBA,EAiCQ,WAjCRA,EAmCU,aAnCVA,EAoCU,aApCVA,EAqCY,eArCZA,EAsCQ,WAtCRA,EAuCW,cAvCXA,EAwCiB,mCAOjBE,EACM,SAAgBvsC,GAGtB,IAFA,IAAIwsC,EAAU,GAEL9sC,EAAI,EAAGA,EAAIM,EAAEa,OAAQnB,IAAK,CACjC,IAAIpB,EAAI0B,EAAEwhB,WAAW9hB,GAEjBpB,EAAI,IACNkuC,GAAWluB,OAAOqB,aAAarhB,GACtBA,EAAI,KAAOA,EAAI,MACxBkuC,GAAWluB,OAAOqB,aAAarhB,GAAK,EAAI,KACxCkuC,GAAWluB,OAAOqB,aAAiB,GAAJrhB,EAAS,OAExCkuC,GAAWluB,OAAOqB,aAAarhB,GAAK,GAAK,KACzCkuC,GAAWluB,OAAOqB,aAAarhB,GAAK,EAAI,GAAK,KAC7CkuC,GAAWluB,OAAOqB,aAAiB,GAAJrhB,EAAS,MAI5C,OAAOkuC,GAnBPD,EAqBM,SAAgBC,GAOtB,IANA,IAAIxsC,EAAI,GACJ/B,EAAI,EACJK,EAAI,EACJmuC,EAAK,EACLC,EAAK,EAEFzuC,EAAIuuC,EAAQ3rC,SACjBvC,EAAIkuC,EAAQhrB,WAAWvjB,IAEf,KACN+B,GAAKse,OAAOqB,aAAarhB,GACzBL,KACSK,EAAI,KAAOA,EAAI,KACxBmuC,EAAKD,EAAQhrB,WAAWvjB,EAAI,GAC5B+B,GAAKse,OAAOqB,cAAkB,GAAJrhB,IAAW,EAAS,GAALmuC,GACzCxuC,GAAK,IAELwuC,EAAKD,EAAQhrB,WAAWvjB,EAAI,GAC5ByuC,EAAKF,EAAQhrB,WAAWvjB,EAAI,GAC5B+B,GAAKse,OAAOqB,cAAkB,GAAJrhB,IAAW,IAAW,GAALmuC,IAAY,EAAS,GAALC,GAC3DzuC,GAAK,GAIT,OAAO+B,GAQP2sC,EAAS,CACXC,QAAS,oEACTC,OAAQ,SAAgB9pC,GACtB,IACE,GAAIsH,OAAOyiC,MAAQziC,OAAO0iC,KACxB,OAAO1iC,OAAOyiC,KAAKE,SAASjE,mBAAmBhmC,KAEjD,MAAO1B,IAGT,OAAOsrC,EAAOM,QAAQlqC,IAExBkqC,QAAS,SAAiBlqC,GACxB,IACImqC,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,EADpCC,EAAS,GAETxvC,EAAI,EAGR,IAFA8E,EAAQwpC,EAAYxpC,GAEb9E,EAAI8E,EAAMlC,QAIfwsC,GAHAH,EAAOnqC,EAAMye,WAAWvjB,OAGT,EACfqvC,GAAe,EAAPJ,IAAa,GAHrBC,EAAOpqC,EAAMye,WAAWvjB,OAGS,EACjCsvC,GAAe,GAAPJ,IAAc,GAHtBC,EAAOrqC,EAAMye,WAAWvjB,OAGU,EAClCuvC,EAAc,GAAPJ,EAEHM,MAAMP,GACRI,EAAOC,EAAO,GACLE,MAAMN,KACfI,EAAO,IAGTC,EAASA,EAASd,EAAOC,QAAQe,OAAON,GAAQV,EAAOC,QAAQe,OAAOL,GAAQX,EAAOC,QAAQe,OAAOJ,GAAQZ,EAAOC,QAAQe,OAAOH,GAGpI,OAAOC,GAETG,OAAQ,SAAgB7qC,GACtB,IACE,GAAIsH,OAAOyiC,MAAQziC,OAAO0iC,KACxB,OAAOc,mBAAmBC,OAAOzjC,OAAO0iC,KAAKhqC,KAE/C,MAAO1B,IAGT,OAAOsrC,EAAOoB,QAAQhrC,IAExBgrC,QAAS,SAAiBhrC,GACxB,IACImqC,EAAMC,EAAMC,EACNE,EAAMC,EAAMC,EAFlBC,EAAS,GAGTxvC,EAAI,EAGR,IAFA8E,EAAQA,EAAMme,QAAQ,mBAAoB,IAEnCjjB,EAAI8E,EAAMlC,QAKfqsC,EAJOP,EAAOC,QAAQh/B,QAAQ7K,EAAM4qC,OAAO1vC,OAI5B,GAHfqvC,EAAOX,EAAOC,QAAQh/B,QAAQ7K,EAAM4qC,OAAO1vC,QAGhB,EAC3BkvC,GAAe,GAAPG,IAAc,GAHtBC,EAAOZ,EAAOC,QAAQh/B,QAAQ7K,EAAM4qC,OAAO1vC,QAGT,EAClCmvC,GAAe,EAAPG,IAAa,GAHrBC,EAAOb,EAAOC,QAAQh/B,QAAQ7K,EAAM4qC,OAAO1vC,OAI3CwvC,GAAkBnvB,OAAOqB,aAAautB,GAEzB,KAATK,IACFE,GAAkBnvB,OAAOqB,aAAawtB,IAG3B,KAATK,IACFC,GAAkBnvB,OAAOqB,aAAaytB,IAK1C,OADAK,EAASlB,EAAYkB,KASrB/rB,EAAW/iB,OAAOkB,UAAU6hB,SAShC,SAAShR,EAAKtD,GACZ,OAAQsU,EAAStjB,KAAKgP,IACpB,IAAK,gBACH,MAAO,OAET,IAAK,kBACH,MAAO,SAET,IAAK,qBACH,MAAO,YAET,IAAK,iBACH,MAAO,QAET,IAAK,iBACH,MAAO,QAGX,OAAY,OAARA,EACK,YAGGnG,IAARmG,EACK,YAGLA,IAAQA,EACH,MAGLA,GAAwB,IAAjBA,EAAI4gC,SACN,UAGa,qBAAXC,GAAqD,oBAApBA,EAAOC,UAA2BD,EAAOC,SAAS9gC,GACrF,SAIFu8B,EADPv8B,EAAMA,EAAI+gC,QAAU/gC,EAAI+gC,UAAYxvC,OAAOkB,UAAUsuC,QAAQrtC,MAAMsM,IAIrE,IAogBIghC,EApgBAC,EAAY,CACdC,QAAS,EACTC,MAAO,EACPC,KAAM,EACNC,KAAM,GAEJ1C,EAAWsC,EAAUG,KAYrBvC,EAAM,CACRzqC,MAAO,SAAexB,GAChB+rC,GAAYsC,EAAUE,OACxBG,EAAK1uC,IAGTosC,KAAM,SAAcpsC,GACd+rC,GAAYsC,EAAUG,MACxBE,EAAK1uC,IAGT2uC,KAAM,SAAc3uC,GACd+rC,GAAYsC,EAAUI,MACxBC,EAAK1uC,KAKP0uC,EAAO,SAAc1uC,GACvB,IACEmsC,QAAQF,IAAI,eAAiBjsC,GAC7B,MAAOqB,MAsCPutC,EAAiB,SAAwB1vC,GAC3C,MAAoB,WAAhBwR,EAAKxR,IACAA,EAAM2B,OAASwrC,EAA8BntC,EAAM2O,UAAU,EAAGw+B,GAGlEntC,GAaL2vC,GAAqB,SAA4B9H,GACnD,IAAI+H,EAAYp+B,EAAKq2B,GAErB,GAAkB,WAAd+H,EAEF,OADA7C,EAAIzqC,MAAM,2EAA6EstC,EAAY,cAC5F,GAGT,GAAInwC,OAAOkd,KAAKkrB,GAAYlmC,OAASwrC,EAEnC,OADAJ,EAAIzqC,MAAM,yDACH,GAGT,IAAIutC,EAAO,GAEX,IAAK,IAAInvC,KAAYmnC,EACnB,GAAKpoC,OAAOkB,UAAUC,eAAe1B,KAAK2oC,EAAYnnC,GAAtD,CAKA,IAAIJ,EAAMI,EACNovC,EAAUt+B,EAAKlR,GAEH,WAAZwvC,IACFxvC,EAAM8e,OAAO9e,GACbysC,EAAIG,KAAK,mDAAqD4C,EAAU,yBAA2BxvC,EAAM,MAI3G,IAAIN,EAAQ+vC,GAAsBzvC,EAAKunC,EAAWnnC,IAEpC,OAAVV,IAIJ6vC,EAAKvvC,GAAON,GAGd,OAAO6vC,GAGLG,GAAoB,CAAC,MAAO,WAAY,YAAa,SAAU,WAE/DD,GAAwB,SAASA,EAAsBzvC,EAAKN,GAC9D,IAAIiwC,EAAYz+B,EAAKxR,GAErB,IAA8C,IAA1CgwC,GAAkBthC,QAAQuhC,GAC5BlD,EAAIG,KAAK,0BAA4B5sC,EAAM,6BAA+B2vC,EAAY,cACtFjwC,EAAQ,UACH,GAAkB,cAAdiwC,EACTjwC,EAAQ,UACH,GAAkB,UAAdiwC,EACTjwC,EAAQof,OAAOpf,GACf+sC,EAAIG,KAAK,0BAA4B5sC,EAAM,wCAA0CN,QAChF,GAAkB,UAAdiwC,EAAuB,CAIhC,IAFA,IAAIC,EAAY,GAEPnxC,EAAI,EAAGA,EAAIiB,EAAM2B,OAAQ5C,IAAK,CACrC,IAAIkF,EAAUjE,EAAMjB,GAChBoxC,EAAW3+B,EAAKvN,GAEH,UAAbksC,EAGoB,WAAbA,EACTD,EAAU7tC,KAAKstC,GAAmB1rC,IAElCisC,EAAU7tC,KAAK0tC,EAAsBzvC,EAAK2D,IAL1C8oC,EAAIG,KAAK,wBAA0BiD,EAAW,gDASlDnwC,EAAQkwC,MACe,WAAdD,IACTjwC,EAAQ2vC,GAAmB3vC,IAG7B,OAAOA,GAwCLowC,GAAoB,SAA2B9vC,EAAK+vC,GACtD,IAAIC,EAAgB9+B,EAAK6+B,GAEzB,GAAsB,WAAlBC,EACF,OAAOD,EAGT,GAAsB,SAAlBC,GAA8C,WAAlBA,GAAgD,YAAlBA,EAG5D,OAFAD,EAAYjxB,OAAOixB,GACnBtD,EAAIG,KAAK,gDAAkDoD,EAAgB,yBAA2BD,EAAY,KAC3GA,EAGT,GAAsB,UAAlBC,EAA2B,CAI7B,IAFA,IAAIJ,EAAY,GAEPnxC,EAAI,EAAGA,EAAIsxC,EAAU1uC,OAAQ5C,IAAK,CACzC,IAAIkF,EAAUosC,EAAUtxC,GACpBoxC,EAAW3+B,EAAKvN,GAEH,UAAbksC,GAAqC,WAAbA,EAGJ,WAAbA,EACTD,EAAU7tC,KAAK4B,GACO,SAAbksC,GAAoC,WAAbA,GAAsC,YAAbA,IACzDlsC,EAAUmb,OAAOnb,GACjB8oC,EAAIG,KAAK,gDAAkDiD,EAAW,yBAA2BlsC,EAAU,KAC3GisC,EAAU7tC,KAAK4B,IAPf8oC,EAAIG,KAAK,4BAA8BiD,EAAW,uBAWtD,OAAOD,EAGTnD,EAAIG,KAAK,gDAAkDoD,EAAgB,2DAWzEC,GA5Pc,SAAqBC,GACjC/wC,OAAOkB,UAAUC,eAAe1B,KAAKiwC,EAAWqB,KAClD3D,EAAWsC,EAAUqB,KA0PrBD,GAIGxD,EAJHwD,GAzNgB,SAAuBE,GACzC,OAAQA,GAAsB,IAAfA,EAAI9uC,QAwNjB4uC,GAPgB,SAAuBjxC,EAAMg7B,GAC/Ch7B,EAAOA,EAAK0iB,QAAQ,MAAO,OAAOA,QAAQ,OAAQ,OAClD,IACIwY,EADQ,IAAI8D,OAAO,SAAWh/B,EAAO,aACrBi/B,KAAKjE,GACzB,OAAmB,OAAZE,OAAmBzyB,EAAY4mC,mBAAmBnU,EAAQ,GAAGxY,QAAQ,MAAO,OAGjFuuB,GAzMW,SAASG,EAAS1wC,GAC/B,GAAoB,UAAhBwR,EAAKxR,GACP,IAAK,IAAIjB,EAAI,EAAGA,EAAIiB,EAAM2B,OAAQ5C,IAChCiB,EAAMjB,GAAK2xC,EAAS1wC,EAAMjB,SAEvB,GAAoB,WAAhByS,EAAKxR,GACd,IAAK,IAAIM,KAAON,EACVM,KAAON,IACTA,EAAMM,GAAOowC,EAAS1wC,EAAMM,UAIhCN,EAAQ0vC,EAAe1vC,GAGzB,OAAOA,GA0LLuwC,GApFiB,SAAwBI,GAC3C,IAAIC,EAAap/B,EAAKm/B,GAEtB,GAAmB,WAAfC,EAEF,OADA7D,EAAIzqC,MAAM,uEAAyEsuC,EAAa,cACzF,GAGT,IAAIf,EAAO,GAEX,IAAK,IAAIgB,KAASF,EAChB,GAAKlxC,OAAOkB,UAAUC,eAAe1B,KAAKyxC,EAAQE,GAAlD,CAKA,IAAIvwC,EAAMuwC,EACNf,EAAUt+B,EAAKlR,GAEH,WAAZwvC,IACFxvC,EAAM8e,OAAO9e,GACbysC,EAAIG,KAAK,gDAAkD4C,EAAU,yBAA2BxvC,EAAM,MAIxG,IAAIN,EAAQowC,GAAkB9vC,EAAKqwC,EAAOE,IAE5B,OAAV7wC,IAIJ6vC,EAAKvvC,GAAON,GAGd,OAAO6vC,GAkDLU,GA/KgB,SAAuB1sC,EAAOvE,EAAMwxC,GACtD,OAAIt/B,EAAK3N,KAAWitC,IAClB/D,EAAIzqC,MAAM,WAAahD,EAAO,yBAA2BwxC,EAAe,iBAAmBt/B,EAAK3N,KACzF,IA4KP0sC,GAWkBZ,GAGlBoB,GAAc,WAChB,OAAO5lC,OAAO28B,UAMZkJ,GAAW,WAGb,IAFA,IAAIP,EAAM,GAED1xC,EAAI,EAAGA,EAAI,KAAMA,EACxB0xC,GANc,mEAMKhC,OAAO3wB,KAAKK,MAAsB,GAAhBL,KAAKmzB,WAG5C,OAAOR,GAGL7wC,GAAM,SAAaN,GACrB,IAIE,IAHA,IAAI4xC,EAAK/sC,SAASoK,OAAOsE,MAAM,KAC3B7S,EAAQ,KAEHjB,EAAI,EAAGA,EAAImyC,EAAGvvC,OAAQ5C,IAAK,CAGlC,IAFA,IAAIK,EAAI8xC,EAAGnyC,GAEY,MAAhBK,EAAEqvC,OAAO,IACdrvC,EAAIA,EAAEuP,UAAU,EAAGvP,EAAEuC,QAGvB,GAAwB,IAApBvC,EAAEsP,QAAQpP,GAAa,CACzBU,EAAQZ,EAAEuP,UAAUrP,EAAKqC,OAAQvC,EAAEuC,QACnC,OAIJ,OAAO3B,EACP,MAAOmC,GACP,OAAO,OAIPuI,GAAM,SAAapL,EAAMU,EAAOiP,GAClC,IAAIkiC,EAAoB,OAAVnxC,EAAiBiP,EAAKmiC,gBAAkB,EAEtD,GAAID,EAAS,CACX,IAAIhjC,EAAO,IAAIC,KACfD,EAAKE,QAAQF,EAAKG,UAAsB,GAAV6iC,EAAe,GAAK,GAAK,KACvDA,EAAUhjC,EAGZ,IAAIsiC,EAAMnxC,EAAO,IAAMU,EAEnBmxC,IACFV,GAAO,aAAeU,EAAQ3iC,eAGhCiiC,GAAO,WAEHxhC,EAAKoiC,SACPZ,GAAO,YAAcxhC,EAAKoiC,QAGxBpiC,EAAKqiC,SACPb,GAAO,YAGLxhC,EAAKsiC,WACPd,GAAO,cAAgBxhC,EAAKsiC,UAG9BptC,SAASoK,OAASkiC,GAuBhBe,GACG9mC,GADH8mC,GAEG5xC,GAFH4xC,GAnBoB,WACtB,IAAIviC,EAAOvN,UAAUC,OAAS,QAAsBoG,IAAjBrG,UAAU,GAAmBA,UAAU,GAAK,GAC3E+vC,EAAMryB,OAAO,IAAIhR,MAErB,IACE,IAAIsjC,EAAavE,EAA+B6D,KAChDtmC,GAAIgnC,EAAYD,EAAKxiC,GAErB,IAAI0iC,EAAqB/xC,GAAI8xC,EAAa,OAASD,EAGnD,OADA/mC,GAAIgnC,EAAY,KAAMziC,GACf0iC,EACP,MAAOxvC,IAIT,OAAO,GASLyvC,GAAU,SAAiBjvC,GAC7B,IAAII,EAAIoB,SAASC,cAAc,KAE/B,OADArB,EAAE8uC,KAAOlvC,EACFI,EAAE+uC,UAAYhK,SAASgK,UAG5BC,GAAY,SAAmBpvC,GAMjC,IALA,IACIqvC,EADOJ,GAAQjvC,GACFkQ,MAAM,KACnBo/B,EAAS,GACTC,EAAQ,YAAclB,KAEjBjyC,EAAIizC,EAAMrwC,OAAS,EAAG5C,GAAK,IAAKA,EACvCkzC,EAAO5vC,KAAK2vC,EAAM9nB,MAAMnrB,GAAG4jB,KAAK,MAGlC,IAAK,IAAI9a,EAAK,EAAGA,EAAKoqC,EAAOtwC,SAAUkG,EAAI,CACzC,IAAIwpC,EAASY,EAAOpqC,GAChBoH,EAAO,CACToiC,OAAQ,IAAMA,GAIhB,GAFAG,GAAeU,EAAO,EAAGjjC,GAErBuiC,GAAeU,GAEjB,OADAV,GAAeU,EAAO,KAAMjjC,GACrBoiC,EAIX,MAAO,IAOLc,GAAW,CACbf,oBAAgBrpC,EAChBspC,YAAQtpC,GAkCNqqC,GAAkB,SAAyB9yC,GAE7C,IAAI+yC,EAAS,GAMb,OAJIF,GAASd,SACXgB,EAAuC,MAA9BF,GAASd,OAAO5C,OAAO,GAAa0D,GAASd,OAAO1iC,UAAU,GAAKwjC,GAASd,QAGhF/xC,EAAO+yC,GAGZC,GAAQ,SAAahzC,GACvB,IAAIizC,EAASH,GAAgB9yC,GAAQ,IACjCU,EAAQwxC,GAAee,GAE3B,IACE,GAAIvyC,EACF,OAAOwyC,KAAKC,MAAMhF,EAAOiB,OAAO1uC,IAElC,MAAOmC,GACP,OAAO,KAGT,OAAO,MAGLuwC,GAAQ,SAAapzC,EAAMU,GAC7B,IAEE,OADAwxC,GAAeY,GAAgB9yC,GAAOmuC,EAAOE,OAAO6E,KAAKG,UAAU3yC,IAASmyC,KACrE,EACP,MAAOhwC,GACP,OAAO,IAkBPyM,GAAS,SAAgBtP,GAC3B,IAEE,OADAkyC,GAAeY,GAAgB9yC,GAAO,KAAM6yC,KACrC,EACP,MAAOhwC,GACP,OAAO,IAIPywC,GAAS,CACXC,MA1FU,WACVV,GAAW,CACTf,oBAAgBrpC,EAChBspC,YAAQtpC,IAwFVS,QApFY,SAAiByG,GAC7B,GAAyB,IAArBvN,UAAUC,OACZ,OAAOwwC,GAGTljC,EAAOA,GAAQ,GACfkjC,GAASf,eAAiBniC,EAAKmiC,eAC/Be,GAASb,OAASriC,EAAKqiC,OACvBa,GAASZ,SAAWtiC,EAAKsiC,SACzB,IAAIF,EAAUd,GAAoBthC,EAAKoiC,QAAwB,IAAMU,GAAUhB,KAAcc,MAA5C5iC,EAAKoiC,OAClDplC,EAAQ6R,KAAKmzB,SACjBkB,GAASd,OAASA,EAClBqB,GAAM,iBAAkBzmC,GACxB,IAAI6mC,EAASR,GAAM,kBAQnB,OANKQ,GAAUA,IAAW7mC,IACxBolC,EAAS,MAGXziC,GAAO,kBACPujC,GAASd,OAASA,EACXc,IAgEPvyC,IAAK0yC,GACL5nC,IAAKgoC,GACL9jC,OAAQA,GACRmkC,OA7BW,SAAgBzzC,EAAMU,GACjC,IAEE,OADAwxC,GAAeY,GAAgB9yC,GAAOU,EAAOmyC,KACtC,EACP,MAAOhwC,GACP,OAAO,IAyBT6wC,OArBW,SAAgB1zC,GAC3B,IAAIizC,EAASH,GAAgB9yC,GAAQ,IACrC,OAAOkyC,GAAee,KA2CtB,GAfkC,WAChC,IACIvZ,EADAyY,EAAM,IAAIrjC,KAGd,IAIE,OAHAjD,OAAO+jC,aAAa+D,QAAQxB,EAAKA,GACjCzY,EAAS7tB,OAAO+jC,aAAagE,QAAQzB,KAASryB,OAAOqyB,GACrDtmC,OAAO+jC,aAAaiE,WAAW1B,GACxBzY,EACP,MAAO72B,IAGT,OAAO,EAGLixC,GACFlE,EAAe/jC,OAAO+jC,kBACjB,GAAI/jC,OAAOkoC,cAGhB,IACEnE,EAAe/jC,OAAOkoC,cAAcloC,OAAO28B,SAASgK,UACpD,MAAO3vC,UAEJ,GAAwB,qBAAbgC,SAA0B,CAG1C,IAAI+T,GAAM/T,SAASC,cAAc,OAC7BkvC,GAAU,eACdp7B,GAAIrK,MAAMo5B,QAAU,OACpB9iC,SAASovC,qBAAqB,QAAQ,GAAG/tC,YAAY0S,IAEjDA,GAAIs7B,cACNt7B,GAAIs7B,YAAY,qBAChBtE,EAAe,CACbvtC,OAAQ,EACRsxC,QAAS,SAAiBQ,EAAGC,GAC3Bx7B,GAAIy7B,KAAKL,IAEJp7B,GAAItL,aAAa6mC,IACpBnyC,KAAKK,SAGPuW,GAAIjV,aAAawwC,EAAGC,GACpBx7B,GAAI07B,KAAKN,KAEXJ,QAAS,SAAiBO,GAExB,OADAv7B,GAAIy7B,KAAKL,IACFp7B,GAAItL,aAAa6mC,IAE1BN,WAAY,SAAoBM,GAC9Bv7B,GAAIy7B,KAAKL,IAELp7B,GAAItL,aAAa6mC,IACnBnyC,KAAKK,SAGPuW,GAAIrB,gBAAgB48B,GACpBv7B,GAAI07B,KAAKN,KAEXO,MAAO,WACL37B,GAAIy7B,KAAKL,IAIT,IAHA,IACI/O,EADAxlC,EAAI,EAGDwlC,EAAOrsB,GAAI47B,YAAY/lC,gBAAgBonB,WAAWp2B,MACvDmZ,GAAIrB,gBAAgB0tB,EAAKjlC,MAG3B4Y,GAAI07B,KAAKN,IACThyC,KAAKK,OAAS,GAEhBrB,IAAK,SAAamzC,GAEhB,OADAv7B,GAAIy7B,KAAKL,IACFp7B,GAAI47B,YAAY/lC,gBAAgBonB,WAAWse,KAGtDv7B,GAAIy7B,KAAKL,IACTpE,EAAavtC,OAASuW,GAAI47B,YAAY/lC,gBAAgBonB,WAAWxzB,QAIhEutC,IAEHA,EAAe,CACbvtC,OAAQ,EACRsxC,QAAS,SAAiBQ,EAAGC,KAC7BR,QAAS,SAAiBO,KAC1BN,WAAY,SAAoBM,KAChCI,MAAO,aACPvzC,IAAK,SAAamzC,OAKxB,IA6EIM,GA7EAC,GAAkB9E,EAMlB+E,GAAgB,WAClB3yC,KAAK4yC,QAAU,MAGjBD,GAActzC,UAAUwzC,WAAa,WACnC,GAAqB,OAAjB7yC,KAAK4yC,QACP,OAAO5yC,KAAK4yC,QAGd,GAAI1C,KACFlwC,KAAK4yC,QAAUtB,OACV,CAGL,IAAIwB,EAAY,mBAChB9yC,KAAK4yC,QAAU,CACb/B,SAAU,CACRf,oBAAgBrpC,EAChBspC,YAAQtpC,EACRupC,QAAQ,GAEVuB,MAAO,WACLvxC,KAAK6wC,SAAW,CACdf,oBAAgBrpC,EAChBspC,YAAQtpC,EACRupC,QAAQ,IAGZ9oC,QAAS,SAAiByG,GACxB,OAAyB,IAArBvN,UAAUC,OACLL,KAAK6wC,UAGdljC,EAAOA,GAAQ,GACf3N,KAAK6wC,SAASf,eAAiBniC,EAAKmiC,gBAAkB9vC,KAAK6wC,SAASf,eAEpE9vC,KAAK6wC,SAASd,OAASpiC,EAAKoiC,QAAU/vC,KAAK6wC,SAASd,QAAUlmC,QAAUA,OAAO28B,UAAY38B,OAAO28B,SAASgK,SACpGxwC,KAAK6wC,SAASb,OAASriC,EAAKqiC,SAAU,IAE/C1xC,IAAK,SAAaN,GAChB,IACE,OAAOkzC,KAAKC,MAAMuB,GAAgBd,QAAQkB,EAAY90C,IACtD,MAAO6C,KAIT,OAAO,MAETuI,IAAK,SAAapL,EAAMU,GACtB,IAEE,OADAg0C,GAAgBf,QAAQmB,EAAY90C,EAAMkzC,KAAKG,UAAU3yC,KAClD,EACP,MAAOmC,KAIT,OAAO,GAETyM,OAAQ,SAAgBtP,GACtB,IACE00C,GAAgBb,WAAWiB,EAAY90C,GACvC,MAAO6C,IACP,OAAO,KAMf,OAAOb,KAAK4yC,SAKd,IAAIG,IAAkD1J,EAA3BoJ,GAAuB,GAA0C5G,GAA2B,GAAOxC,EAAgBoJ,GAAsB5G,GAAwB,GAAOxC,EAAgBoJ,GAAsB5G,GAAyB,GAAOxC,EAAgBoJ,GAAsB5G,GAA2B,GAAO4G,IAS7UO,GAA+B,WACjC,SAASA,EAAgBC,GACvB,IAAIC,EAAaD,EAAKC,WAClBC,EAAiBF,EAAKE,eACtBpD,EAASkD,EAAKlD,OACdC,EAASiD,EAAKjD,OACdC,EAAWgD,EAAKhD,SAChBH,EAAiBmD,EAAKnD,eACtB8C,EAAUK,EAAKL,SAnvCvB,SAAyB5kC,EAAUioB,GACjC,KAAMjoB,aAAoBioB,GACxB,MAAM,IAAIt1B,UAAU,qCAmvCpBq1B,CAAgBh2B,KAAMgzC,GAEtBhzC,KAAKkzC,WAAaA,EAClBlzC,KAAK+vC,OAASA,EACd/vC,KAAKgwC,OAASA,EACdhwC,KAAKiwC,SAAWA,EAChBjwC,KAAK8vC,eAAiBA,EACtB9vC,KAAKozC,aAAe,GAElB,IAAIC,EAAoB5C,GAAUhB,KAAcc,MAIlD,GAHEvwC,KAAKozC,aAAerD,IAAWsD,EAAoB,IAAMA,EAAoB,MAG3EN,GAAoBH,GACtB5yC,KAAK4yC,QAAUA,MACV,CACL,IAAIU,EAAuBH,IAAmBjD,GAA6B,CACzEH,OAAQ/vC,KAAKozC,aACbpD,OAAQhwC,KAAKgwC,OACbC,SAAUjwC,KAAKiwC,SACfH,eAAgB9vC,KAAK8vC,iBAIrB9vC,KAAK4yC,QADHU,EACazH,EAEAA,GA/vCvB,IAAsB5V,EAAaM,EAAYC,EA+2C7C,OA/2CoBP,EAowCP+c,GApwCoBzc,EAowCH,CAAC,CAC7Bv3B,IAAK,sBACLN,MAAO,WACL,IAAKsB,KAAK+vC,OACR,OAAO/vC,KAAKkzC,WAGd,IAAInC,EAAmC,MAA1B/wC,KAAK+vC,OAAO5C,OAAO,GAAantC,KAAK+vC,OAAO1iC,UAAU,GAAKrN,KAAK+vC,OAC7E,MAAO,GAAG7uC,OAAOlB,KAAKkzC,YAAYhyC,OAAO6vC,EAAS,IAAI7vC,OAAO6vC,GAAU,MAOxE,CACD/xC,IAAK,OACLN,MAAO,SAAc60C,GACnB,IAAIC,EAAWD,EAAMC,SACjBxN,EAASuN,EAAMvN,OACfyN,EAASF,EAAME,OACfC,EAAYH,EAAMG,UAClBC,EAAgBJ,EAAMI,cACtBC,EAAUL,EAAMK,QAChBC,EAAaN,EAAMM,WACnBC,EAAiBP,EAAMO,eAE3B,GAAI9zC,KAAK4yC,UAAY/G,EAArB,CAIA,IAAIntC,EAAQ,CAAC80C,EAAUrH,EAAOE,OAAOrG,GAAU,IAC/CyN,EAAS,IAAM,GAAIC,EAAYA,EAAUxyB,SAAS,IAAM,IACxDyyB,EAAgBA,EAAczyB,SAAS,IAAM,IAC7C0yB,EAAUA,EAAQ1yB,SAAS,IAAM,IAAK2yB,EAAaA,EAAW3yB,SAAS,IAAM,IAAK4yB,EAAiBA,EAAe5yB,SAAS,IAAM,KAAKG,KAAK,KAE3I,OAAQrhB,KAAK4yC,SACX,KAAK/G,EACChiC,OAAOkqC,gBACTlqC,OAAOkqC,eAAepC,QAAQ3xC,KAAKkzC,WAAYx0C,GAGjD,MAEF,KAAKmtC,EACH6G,GAAgBf,QAAQ3xC,KAAKkzC,WAAYx0C,GACzC,MAEF,KAAKmtC,EACHqE,GAAelwC,KAAKg0C,sBAAuBt1C,EAAO,CAChDqxC,OAAQ/vC,KAAKozC,aACbpD,OAAQhwC,KAAKgwC,OACbC,SAAUjwC,KAAKiwC,SACfH,eAAgB9vC,KAAK8vC,qBAK5B,CACD9wC,IAAK,OACLN,MAAO,WACL,IAAIywC,EAUJ,GARInvC,KAAK4yC,UAAY/G,IACnBsD,EAAMe,GAAelwC,KAAKg0C,sBAAwB,MAG/C7E,IACHA,EAAMuD,GAAgBd,QAAQ5xC,KAAKkzC,cAGhC/D,EACH,IACEA,EAAMtlC,OAAOkqC,gBAAkBlqC,OAAOkqC,eAAenC,QAAQ5xC,KAAKkzC,YAClE,MAAOryC,IACPouC,GAAUd,KAAK,+CAAgDjtC,OAAOL,GAAG,MAI7E,IAAKsuC,EACH,OAAO,KAGT,IAAIhmB,EAASgmB,EAAI59B,MAAM,KACnBy0B,EAAS,KAEb,GAAI7c,EAAO,GACT,IACE6c,EAASmG,EAAOiB,OAAOjkB,EAAO,IAC9B,MAAOtoB,IACPmlC,EAAS,KAIb,MAAO,CACLwN,SAAUrqB,EAAO,GACjB6c,OAAQA,EACRyN,OAAsB,MAAdtqB,EAAO,GACfuqB,UAAWO,SAAS9qB,EAAO,GAAI,IAC/BwqB,cAAeM,SAAS9qB,EAAO,GAAI,IACnCyqB,QAASK,SAAS9qB,EAAO,GAAI,IAC7B0qB,WAAYI,SAAS9qB,EAAO,GAAI,IAChC2qB,eAAgBG,SAAS9qB,EAAO,GAAI,UAz2C1B+M,EAAkBD,EAAY52B,UAAWk3B,GACrDC,GAAaN,EAAkBD,EAAaO,GA62CzCwc,EApJ0B,GA4L/BkB,GAAmB,YAgBnB/N,GAAW,WACbnmC,KAAKm0C,yBAA2B,GAChCn0C,KAAKumC,WAAa,IAcpBJ,GAAS9mC,UAAUwC,IAAM,SAAUzC,EAAUV,GAO3C,MANoB,WAAhBwR,EAAKxR,IAAuC,WAAhBwR,EAAKxR,GACnCsB,KAAKo0C,cApCQ,OAoCkBh1C,EAAUV,GAEzCuwC,GAAUjuC,MAAM,+BAAiCkP,EAAKxR,GAAS,gCAG1DsB,MAmBTmmC,GAAS9mC,UAAUyC,OAAS,SAAU1C,EAAUV,GAG9C,OAFAsB,KAAKo0C,cA5Da,UA4DgBh1C,EAAUV,GAErCsB,MAWTmmC,GAAS9mC,UAAUg1C,SAAW,WAC5B,OAAIl2C,OAAOkd,KAAKrb,KAAKm0C,0BAA0B9zC,OAAS,GACjDlC,OAAOkB,UAAUC,eAAe1B,KAAKoC,KAAKm0C,yBAA0BD,KACvEjF,GAAUjuC,MAAM,sGAGXhB,OAGTA,KAAKm0C,yBAAyC,UAAI,IAC3Cn0C,OAoBTmmC,GAAS9mC,UAAUi1C,QAAU,SAAUl1C,EAAUV,GAG/C,OAFAsB,KAAKo0C,cAtGc,WAsGgBh1C,EAAUV,GAEtCsB,MAeTmmC,GAAS9mC,UAAU+J,IAAM,SAAUhK,EAAUV,GAG3C,OAFAsB,KAAKo0C,cAvHU,OAuHgBh1C,EAAUV,GAElCsB,MAgBTmmC,GAAS9mC,UAAUk1C,QAAU,SAAUn1C,EAAUV,GAG/C,OAFAsB,KAAKo0C,cAzIe,WAyIgBh1C,EAAUV,GAEvCsB,MAYTmmC,GAAS9mC,UAAUm1C,MAAQ,SAAUp1C,GAGnC,OAFAY,KAAKo0C,cAvJY,SAuJgBh1C,EAAU,KAEpCY,MASTmmC,GAAS9mC,UAAU+0C,cAAgB,SAAUK,EAAWr1C,EAAUV,GAE5DP,OAAOkB,UAAUC,eAAe1B,KAAKoC,KAAKm0C,yBAA0BD,IACtEjF,GAAUjuC,MAAM,4EAA8EyzC,IAKrD,IAAvCz0C,KAAKumC,WAAWn5B,QAAQhO,IAKvBjB,OAAOkB,UAAUC,eAAe1B,KAAKoC,KAAKm0C,yBAA0BM,KACvEz0C,KAAKm0C,yBAAyBM,GAAa,IAG7Cz0C,KAAKm0C,yBAAyBM,GAAWr1C,GAAYV,EACrDsB,KAAKumC,WAAWxlC,KAAK3B,IATnB6vC,GAAUjuC,MAAM,kBAAoB5B,EAAW,uDAAyDq1C,IAY5G,IAAIC,GAAmC,qBAAX7qC,OAAyBA,OAA2B,qBAAXghC,EAAyBA,EAAyB,qBAATC,KAAuBA,KAAO,GAE5I,SAAS6J,GAAqBC,EAAIp3C,GAChC,OAEGo3C,EAFIp3C,EAAS,CACdD,QAAS,IACGC,EAAOD,SAAUC,EAAOD,QAGxC,IAAIs3C,GAAMF,IAAqB,SAAUn3C,IACvC,SAAWs3C,GAKT,SAASC,EAAQlmC,EAAGE,GAClB,IAAIimC,GAAW,MAAJnmC,IAAmB,MAAJE,GAE1B,OADWF,GAAK,KAAOE,GAAK,KAAOimC,GAAO,KAC5B,GAAW,MAANA,EAerB,SAASC,EAAOC,EAAGzzC,EAAG/B,EAAGmP,EAAGrP,EAAGb,GAC7B,OAAOo2C,GATcI,EASQJ,EAAQA,EAAQtzC,EAAGyzC,GAAIH,EAAQlmC,EAAGlQ,OATrCy2C,EAS0C51C,GARhD21C,IAAQ,GAAKC,EAQuC11C,GAT1E,IAAuBy1C,EAAKC,EAY5B,SAASC,EAAM5zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAGrP,EAAGb,GAC/B,OAAOs2C,EAAOv1C,EAAI5B,GAAK4B,EAAI3B,EAAG0D,EAAG/B,EAAGmP,EAAGrP,EAAGb,GAG5C,SAAS22C,EAAM7zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAGrP,EAAGb,GAC/B,OAAOs2C,EAAOv1C,EAAI3B,EAAID,GAAKC,EAAG0D,EAAG/B,EAAGmP,EAAGrP,EAAGb,GAG5C,SAAS42C,EAAM9zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAGrP,EAAGb,GAC/B,OAAOs2C,EAAOv1C,EAAI5B,EAAIC,EAAG0D,EAAG/B,EAAGmP,EAAGrP,EAAGb,GAGvC,SAAS62C,EAAM/zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAGrP,EAAGb,GAC/B,OAAOs2C,EAAOn3C,GAAK4B,GAAK3B,GAAI0D,EAAG/B,EAAGmP,EAAGrP,EAAGb,GAO1C,SAAS82C,EAAQ5mC,EAAGkoB,GAIlB,IAAIt5B,EACAi4C,EACAC,EACAC,EACAC,EANJhnC,EAAEkoB,GAAO,IAAM,KAAQA,EAAM,GAC7BloB,EAA0B,IAAvBkoB,EAAM,KAAO,GAAK,IAAWA,EAMhC,IAAIt1B,EAAI,WACJ/B,GAAK,UACL5B,GAAK,WACLC,EAAI,UAER,IAAKN,EAAI,EAAGA,EAAIoR,EAAExO,OAAQ5C,GAAK,GAC7Bi4C,EAAOj0C,EACPk0C,EAAOj2C,EACPk2C,EAAO93C,EACP+3C,EAAO93C,EACP0D,EAAI4zC,EAAM5zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAEpR,GAAI,GAAI,WAChCM,EAAIs3C,EAAMt3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,EAAI,GAAI,IAAK,WACrCK,EAAIu3C,EAAMv3C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,GAAI,GAAI,WACpCiC,EAAI21C,EAAM31C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,EAAI,GAAI,IAAK,YACrCgE,EAAI4zC,EAAM5zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAEpR,EAAI,GAAI,GAAI,WACpCM,EAAIs3C,EAAMt3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,EAAI,GAAI,GAAI,YACpCK,EAAIu3C,EAAMv3C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,GAAI,IAAK,YACrCiC,EAAI21C,EAAM31C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,EAAI,GAAI,IAAK,UACrCgE,EAAI4zC,EAAM5zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAEpR,EAAI,GAAI,EAAG,YACnCM,EAAIs3C,EAAMt3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,EAAI,GAAI,IAAK,YACrCK,EAAIu3C,EAAMv3C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,IAAK,IAAK,OACtCiC,EAAI21C,EAAM31C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,EAAI,IAAK,IAAK,YACtCgE,EAAI4zC,EAAM5zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAEpR,EAAI,IAAK,EAAG,YACpCM,EAAIs3C,EAAMt3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,EAAI,IAAK,IAAK,UACtCK,EAAIu3C,EAAMv3C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,IAAK,IAAK,YAEtCgE,EAAI6zC,EAAM7zC,EADV/B,EAAI21C,EAAM31C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,EAAI,IAAK,GAAI,YACrBK,EAAGC,EAAG8Q,EAAEpR,EAAI,GAAI,GAAI,WACpCM,EAAIu3C,EAAMv3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,EAAI,GAAI,GAAI,YACpCK,EAAIw3C,EAAMx3C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,IAAK,GAAI,WACrCiC,EAAI41C,EAAM51C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,GAAI,IAAK,WACjCgE,EAAI6zC,EAAM7zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAEpR,EAAI,GAAI,GAAI,WACpCM,EAAIu3C,EAAMv3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,EAAI,IAAK,EAAG,UACpCK,EAAIw3C,EAAMx3C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,IAAK,IAAK,WACtCiC,EAAI41C,EAAM51C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,EAAI,GAAI,IAAK,WACrCgE,EAAI6zC,EAAM7zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAEpR,EAAI,GAAI,EAAG,WACnCM,EAAIu3C,EAAMv3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,EAAI,IAAK,GAAI,YACrCK,EAAIw3C,EAAMx3C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,GAAI,IAAK,WACrCiC,EAAI41C,EAAM51C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,EAAI,GAAI,GAAI,YACpCgE,EAAI6zC,EAAM7zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAEpR,EAAI,IAAK,GAAI,YACrCM,EAAIu3C,EAAMv3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,EAAI,GAAI,GAAI,UACpCK,EAAIw3C,EAAMx3C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,GAAI,GAAI,YAEpCgE,EAAI8zC,EAAM9zC,EADV/B,EAAI41C,EAAM51C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,EAAI,IAAK,IAAK,YACtBK,EAAGC,EAAG8Q,EAAEpR,EAAI,GAAI,GAAI,QACpCM,EAAIw3C,EAAMx3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,EAAI,GAAI,IAAK,YACrCK,EAAIy3C,EAAMz3C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,IAAK,GAAI,YACrCiC,EAAI61C,EAAM71C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,EAAI,IAAK,IAAK,UACtCgE,EAAI8zC,EAAM9zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAEpR,EAAI,GAAI,GAAI,YACpCM,EAAIw3C,EAAMx3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,EAAI,GAAI,GAAI,YACpCK,EAAIy3C,EAAMz3C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,GAAI,IAAK,WACrCiC,EAAI61C,EAAM71C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,EAAI,IAAK,IAAK,YACtCgE,EAAI8zC,EAAM9zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAEpR,EAAI,IAAK,EAAG,WACpCM,EAAIw3C,EAAMx3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,GAAI,IAAK,WACjCK,EAAIy3C,EAAMz3C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,GAAI,IAAK,WACrCiC,EAAI61C,EAAM71C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,EAAI,GAAI,GAAI,UACpCgE,EAAI8zC,EAAM9zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAEpR,EAAI,GAAI,GAAI,WACpCM,EAAIw3C,EAAMx3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,EAAI,IAAK,IAAK,WACtCK,EAAIy3C,EAAMz3C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,IAAK,GAAI,WAErCgE,EAAI+zC,EAAM/zC,EADV/B,EAAI61C,EAAM71C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,EAAI,GAAI,IAAK,WACrBK,EAAGC,EAAG8Q,EAAEpR,GAAI,GAAI,WAChCM,EAAIy3C,EAAMz3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,EAAI,GAAI,GAAI,YACpCK,EAAI03C,EAAM13C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,IAAK,IAAK,YACtCiC,EAAI81C,EAAM91C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,EAAI,GAAI,IAAK,UACrCgE,EAAI+zC,EAAM/zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAEpR,EAAI,IAAK,EAAG,YACpCM,EAAIy3C,EAAMz3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,EAAI,GAAI,IAAK,YACrCK,EAAI03C,EAAM13C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,IAAK,IAAK,SACtCiC,EAAI81C,EAAM91C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,EAAI,GAAI,IAAK,YACrCgE,EAAI+zC,EAAM/zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAEpR,EAAI,GAAI,EAAG,YACnCM,EAAIy3C,EAAMz3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,EAAI,IAAK,IAAK,UACtCK,EAAI03C,EAAM13C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,GAAI,IAAK,YACrCiC,EAAI81C,EAAM91C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,EAAI,IAAK,GAAI,YACrCgE,EAAI+zC,EAAM/zC,EAAG/B,EAAG5B,EAAGC,EAAG8Q,EAAEpR,EAAI,GAAI,GAAI,WACpCM,EAAIy3C,EAAMz3C,EAAG0D,EAAG/B,EAAG5B,EAAG+Q,EAAEpR,EAAI,IAAK,IAAK,YACtCK,EAAI03C,EAAM13C,EAAGC,EAAG0D,EAAG/B,EAAGmP,EAAEpR,EAAI,GAAI,GAAI,WACpCiC,EAAI81C,EAAM91C,EAAG5B,EAAGC,EAAG0D,EAAGoN,EAAEpR,EAAI,GAAI,IAAK,WACrCgE,EAAIszC,EAAQtzC,EAAGi0C,GACfh2C,EAAIq1C,EAAQr1C,EAAGi2C,GACf73C,EAAIi3C,EAAQj3C,EAAG83C,GACf73C,EAAIg3C,EAAQh3C,EAAG83C,GAGjB,MAAO,CAACp0C,EAAG/B,EAAG5B,EAAGC,GAOnB,SAAS+3C,EAAUvzC,GACjB,IAAI9E,EACAwvC,EAAS,GACT8I,EAA0B,GAAfxzC,EAAMlC,OAErB,IAAK5C,EAAI,EAAGA,EAAIs4C,EAAUt4C,GAAK,EAC7BwvC,GAAUnvB,OAAOqB,aAAa5c,EAAM9E,GAAK,KAAOA,EAAI,GAAK,KAG3D,OAAOwvC,EAQT,SAAS+I,EAAUzzC,GACjB,IAAI9E,EACAwvC,EAAS,GAGb,IAFAA,GAAQ1qC,EAAMlC,QAAU,GAAK,QAAKoG,EAE7BhJ,EAAI,EAAGA,EAAIwvC,EAAO5sC,OAAQ5C,GAAK,EAClCwvC,EAAOxvC,GAAK,EAGd,IAAIw4C,EAAyB,EAAf1zC,EAAMlC,OAEpB,IAAK5C,EAAI,EAAGA,EAAIw4C,EAASx4C,GAAK,EAC5BwvC,EAAOxvC,GAAK,KAAiC,IAA1B8E,EAAMye,WAAWvjB,EAAI,KAAcA,EAAI,GAG5D,OAAOwvC,EAwCT,SAASiJ,EAAS3zC,GAChB,IAEIsM,EACApR,EAHA04C,EAAS,mBACTlJ,EAAS,GAIb,IAAKxvC,EAAI,EAAGA,EAAI8E,EAAMlC,OAAQ5C,GAAK,EACjCoR,EAAItM,EAAMye,WAAWvjB,GACrBwvC,GAAUkJ,EAAOhJ,OAAOt+B,IAAM,EAAI,IAAQsnC,EAAOhJ,OAAW,GAAJt+B,GAG1D,OAAOo+B,EAOT,SAASmJ,EAAa7zC,GACpB,OAAOiqC,SAASjE,mBAAmBhmC,IAOrC,SAAS8zC,EAAO72C,GACd,OA5DF,SAAiBA,GACf,OAAOs2C,EAAUL,EAAQO,EAAUx2C,GAAe,EAAXA,EAAEa,SA2DlCi2C,CAAQF,EAAa52C,IAO9B,SAAS+2C,EAAWpE,EAAGp0C,GACrB,OA5DF,SAAqBiB,EAAK8f,GACxB,IAAIrhB,EAIA+4C,EAHAC,EAAOT,EAAUh3C,GACjB03C,EAAO,GACPC,EAAO,GAQX,IANAD,EAAK,IAAMC,EAAK,SAAMlwC,EAElBgwC,EAAKp2C,OAAS,KAChBo2C,EAAOhB,EAAQgB,EAAmB,EAAbz3C,EAAIqB,SAGtB5C,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvBi5C,EAAKj5C,GAAe,UAAVg5C,EAAKh5C,GACfk5C,EAAKl5C,GAAe,WAAVg5C,EAAKh5C,GAIjB,OADA+4C,EAAOf,EAAQiB,EAAKx1C,OAAO80C,EAAUl3B,IAAQ,IAAoB,EAAdA,EAAKze,QACjDy1C,EAAUL,EAAQkB,EAAKz1C,OAAOs1C,GAAO,MA0CrCI,CAAYR,EAAajE,GAAIiE,EAAar4C,IAOnD,SAAS82C,EAAIgC,EAAQ73C,EAAK83C,GACxB,OAAK93C,EAQA83C,EAIEP,EAAWv3C,EAAK63C,GAhBhBX,EAASK,EAaIv3C,EAAK63C,IARlBC,EAIET,EAAOQ,GAjBTX,EAASG,EAcEQ,IAahBr5C,EAAOD,QACTC,EAAOD,QAAUs3C,EAEjBC,EAAED,IAAMA,EApRZ,CAsRGH,OAiBDlL,GAAwBrrC,OAAOqrC,sBAC/BlqC,GAAiBnB,OAAOkB,UAAUC,eAClCy3C,GAAmB54C,OAAOkB,UAAU23C,qBAExC,SAASC,GAASrqC,GAChB,GAAY,OAARA,QAAwBnG,IAARmG,EAClB,MAAM,IAAIjM,UAAU,yDAGtB,OAAOxC,OAAOyO,GAmDhB,IAAIsqC,GAhDJ,WACE,IACE,IAAK/4C,OAAOgC,OACV,OAAO,EAKT,IAAIg3C,EAAQ,IAAIr5B,OAAO,OAIvB,GAFAq5B,EAAM,GAAK,KAEkC,MAAzCh5C,OAAOi5C,oBAAoBD,GAAO,GACpC,OAAO,EAMT,IAFA,IAAIE,EAAQ,GAEH55C,EAAI,EAAGA,EAAI,GAAIA,IACtB45C,EAAM,IAAMv5B,OAAOqB,aAAa1hB,IAAMA,EAOxC,GAAwB,eAJXU,OAAOi5C,oBAAoBC,GAAO5jB,KAAI,SAAUv0B,GAC3D,OAAOm4C,EAAMn4C,MAGJmiB,KAAK,IACd,OAAO,EAIT,IAAIi2B,EAAQ,GAKZ,MAJA,uBAAuB/lC,MAAM,IAAI2J,SAAQ,SAAUq8B,GACjDD,EAAMC,GAAUA,KAGqC,yBAAnDp5C,OAAOkd,KAAKld,OAAOgC,OAAO,GAAIm3C,IAAQj2B,KAAK,IAK/C,MAAOtX,GAEP,OAAO,GAIQytC,GAAoBr5C,OAAOgC,OAAS,SAAUoO,EAAQk6B,GAKvE,IAJA,IAAI7R,EAEA6gB,EADAC,EAAKT,GAAS1oC,GAGT/O,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAGzC,IAAK,IAAIR,KAFT43B,EAAOz4B,OAAOiC,UAAUZ,IAGlBF,GAAe1B,KAAKg5B,EAAM53B,KAC5B04C,EAAG14C,GAAO43B,EAAK53B,IAInB,GAAIwqC,GAAuB,CACzBiO,EAAUjO,GAAsB5S,GAEhC,IAAK,IAAIn5B,EAAI,EAAGA,EAAIg6C,EAAQp3C,OAAQ5C,IAC9Bs5C,GAAiBn5C,KAAKg5B,EAAM6gB,EAAQh6C,MACtCi6C,EAAGD,EAAQh6C,IAAMm5B,EAAK6gB,EAAQh6C,MAMtC,OAAOi6C,GAEL/sC,GAAQ,eA4JZ,SAAS0hC,GAAO3tC,EAAOiP,GACrB,OAAIA,EAAK0+B,OACA1+B,EAAKgqC,OAlQPpP,mBAkQgC7pC,GAlQRgiB,QAAQ,YAAY,SAAU5iB,GAC3D,MAAO,IAAMA,EAAEkjB,WAAW,GAAGE,SAAS,IAAIne,iBAiQIwlC,mBAAmB7pC,GAG5DA,EAhKW,IAAIs+B,OAAOryB,GAAO,MACnB,IAAIqyB,OAAO,IAAMryB,GAAQ,KAAM,MAsOlD,IAoDIitC,GAjDY,SAAUxO,EAAKz7B,IAQX,KAFlBA,EAAOupC,GALQ,CACb7K,QAAQ,EACRsL,QAAQ,EACRE,YAAa,QAEelqC,IAErByb,OACPzb,EAAKyb,KAAO,cAGd,IAAI0uB,EA/JN,SAA+BnqC,GAC7B,OAAQA,EAAKkqC,aACX,IAAK,QACH,OAAO,SAAU74C,EAAKN,EAAO0S,GAC3B,OAAiB,OAAV1S,EAAiB,CAAC2tC,GAAOrtC,EAAK2O,GAAO,IAAKyD,EAAO,KAAKiQ,KAAK,IAAM,CAACgrB,GAAOrtC,EAAK2O,GAAO,IAAK0+B,GAAOj7B,EAAOzD,GAAO,KAAM0+B,GAAO3tC,EAAOiP,IAAO0T,KAAK,KAG1J,IAAK,UACH,OAAO,SAAUriB,EAAKN,GACpB,OAAiB,OAAVA,EAAiB2tC,GAAOrtC,EAAK2O,GAAQ,CAAC0+B,GAAOrtC,EAAK2O,GAAO,MAAO0+B,GAAO3tC,EAAOiP,IAAO0T,KAAK,KAGrG,QACE,OAAO,SAAUriB,EAAKN,GACpB,OAAiB,OAAVA,EAAiB2tC,GAAOrtC,EAAK2O,GAAQ,CAAC0+B,GAAOrtC,EAAK2O,GAAO,IAAK0+B,GAAO3tC,EAAOiP,IAAO0T,KAAK,MAiJrF02B,CAAsBpqC,GACtC,OAAOy7B,EAAMjrC,OAAOkd,KAAK+tB,GAAKhgB,KAAKzb,EAAKyb,MAAMqK,KAAI,SAAUz0B,GAC1D,IAAI4N,EAAMw8B,EAAIpqC,GAEd,QAAYyH,IAARmG,EACF,MAAO,GAGT,GAAY,OAARA,EACF,OAAOy/B,GAAOrtC,EAAK2O,GAGrB,GAAI9N,MAAMq3B,QAAQtqB,GAAM,CACtB,IAAI8qB,EAAS,GAQb,OAPA9qB,EAAIgc,QAAQ1N,SAAQ,SAAU88B,QACfvxC,IAATuxC,GAIJtgB,EAAO32B,KAAK+2C,EAAU94C,EAAKg5C,EAAMtgB,EAAOr3B,YAEnCq3B,EAAOrW,KAAK,KAGrB,OAAOgrB,GAAOrtC,EAAK2O,GAAQ,IAAM0+B,GAAOz/B,EAAKe,MAC5Ckb,QAAO,SAAUha,GAClB,OAAOA,EAAExO,OAAS,KACjBghB,KAAK,KAAO,IAoBb42B,GAAU,SAAiB52C,EAAKyd,GAClC9e,KAAKqB,IAAMA,EACXrB,KAAK8e,KAAOA,GAAQ,IAGtBm5B,GAAQ54C,UAAU64C,KAAO,SAAU/tC,GAGjC,GAFWN,OAAOsuC,eAER,CACR,IAAIC,EAAM,IAAIvuC,OAAOsuC,eACrBC,EAAItkC,KAAK,OAAQ9T,KAAKqB,KAAK,GAE3B+2C,EAAIC,OAAS,WACXluC,EAAS,IAAKiuC,EAAIE,eAGpBF,EAAIG,QAAU,WAEa,6BAArBH,EAAIE,aACNnuC,EAAS,IAAKiuC,EAAIE,cAElBnuC,EAAS,IAAKiuC,EAAIE,eAItBF,EAAII,UAAY,aAEhBJ,EAAIK,WAAa,aAEjBL,EAAIF,KAAKN,GAAsB53C,KAAK8e,WAC/B,CACL,IAAI45B,EAAM,IAAIC,eACdD,EAAI5kC,KAAK,OAAQ9T,KAAKqB,KAAK,GAE3Bq3C,EAAIE,mBAAqB,WACA,IAAnBF,EAAIG,YACN1uC,EAASuuC,EAAIpoC,OAAQooC,EAAIJ,eAI7BI,EAAII,iBAAiB,eAAgB,oDACrCJ,EAAIR,KAAKN,GAAsB53C,KAAK8e,SAiBxC,IAAIi6B,GAAU,WAEZ/4C,KAAKg5C,OAAS,KAEdh5C,KAAKi5C,WAAa,KAClBj5C,KAAKk5C,UAAY,EACjBl5C,KAAKm5C,aAAe,KACpBn5C,KAAKo5C,YAAc,MAYrBL,GAAQ15C,UAAUg6C,aAAe,SAAsBC,GASrD,MARwB,WAApBppC,EAAKopC,GACPrK,GAAUjuC,MAAM,mCAAqCkP,EAAKopC,GAAa,sBAC9DrK,GAAoBqK,GAC7BrK,GAAUjuC,MAAM,2BAEhBhB,KAAKi5C,WAAaK,EAGbt5C,MAYT+4C,GAAQ15C,UAAUk6C,YAAc,SAAqBC,GAOnD,MANuB,WAAnBtpC,EAAKspC,GACPvK,GAAUjuC,MAAM,kCAAoCkP,EAAKspC,GAAY,sBAErEx5C,KAAKk5C,UAAYjF,SAASuF,GAGrBx5C,MAcT+4C,GAAQ15C,UAAUo6C,SAAW,SAAkBC,GAO7C,MANoB,WAAhBxpC,EAAKwpC,GACPzK,GAAUjuC,MAAM,+BAAiCkP,EAAKwpC,GAAS,sBAE/D15C,KAAKg5C,OAASU,EAGT15C,MAYT+4C,GAAQ15C,UAAUs6C,eAAiB,SAAwBC,GAOzD,MAN0B,WAAtB1pC,EAAK0pC,GACP3K,GAAUjuC,MAAM,qCAAuCkP,EAAK0pC,GAAe,sBAE3E55C,KAAKm5C,aAAeS,EAGf55C,MAaT+4C,GAAQ15C,UAAUw6C,mBAAqB,SAA4BC,GAOjE,MAN8B,WAA1B5pC,EAAK4pC,GACP7K,GAAUjuC,MAAM,yCAA2CkP,EAAK4pC,GAAmB,sBAEnF95C,KAAKo5C,YAAcnK,GAAyB6K,GAGvC95C,MAOT+4C,GAAQ15C,UAAU06C,gBAAkB,WAClC,MAA0B,WAAtB7pC,EAAKlQ,KAAKg5C,UACZ/J,GAAUjuC,MAAM,6CACT,IAUX+3C,GAAQ15C,UAAU26C,cAAgB,WAChC,IAAI5Q,EAAiC,WAA3Bl5B,EAAKlQ,KAAKo5C,aAA4Bp5C,KAAKo5C,YAAc,GAkBnE,OAhBwB,OAApBp5C,KAAKi5C,aACP7P,EAAIyC,GAAgC7rC,KAAKi5C,YAGpB,OAAnBj5C,KAAKk5C,YACP9P,EAAIyC,GAA8B7rC,KAAKk5C,WAGrB,OAAhBl5C,KAAKg5C,SACP5P,EAAIyC,GAA2B7rC,KAAKg5C,QAGZ,OAAtBh5C,KAAKm5C,eACP/P,EAAIyC,GAAkC7rC,KAAKm5C,cAGtC/P,GAGT,IA4rBI6Q,GA5rBAC,GAAWvF,IAAqB,SAAUn3C,EAAQD,IASpD,SAAWsM,EAAQswC,GAIjB,IAGIC,EAAY,WACZC,EAAW,SAIfC,EAAQ,QACJC,EAAO,OACPC,EAAO,OACPC,EAAS,SACTC,EAAU,UACVC,EAAe,eACfC,EAAU,UACVC,EAAS,SACTC,EAAS,SACTC,EAAU,UACVC,EAAW,WAKXC,EAAO,CACTC,OAAQ,SAAUC,EAASC,GACzB,IAAIC,EAAgB,GAEpB,IAAK,IAAI59C,KAAK09C,EACRC,EAAW39C,IAAM29C,EAAW39C,GAAG4C,OAAS,IAAM,EAChDg7C,EAAc59C,GAAK29C,EAAW39C,GAAGyD,OAAOi6C,EAAQ19C,IAEhD49C,EAAc59C,GAAK09C,EAAQ19C,GAI/B,OAAO49C,GAET9xC,IAAK,SAAU+xC,EAAMC,GACnB,MAAoB,kBAATD,IACkD,IAApDC,EAAK95B,cAAcrU,QAAQkuC,EAAK75B,gBAK3C+5B,SAAU,SAAUrM,GAClB,OAAOA,EAAI1tB,eAEbg6B,MAAO,SAAUC,GACf,MA3CW,kBA2CGA,EAAuBA,EAAQh7B,QAAQ,WAAY,IAAInP,MAAM,KAAK,GAAK4oC,GAEvFhtC,KAAM,SAAUgiC,GACd,OAAOA,EAAIzuB,QAAQ,qCAAsC,MAMzDi7B,EAAS,CACXC,IAAK,SAAUC,EAAIC,GASjB,IARA,IACIC,EACA5J,EACA5yC,EACA21C,EACArpC,EACAwU,EANA5iB,EAAI,EAQDA,EAAIq+C,EAAOz7C,SAAWwL,GAAS,CACpC,IAAImwC,EAAQF,EAAOr+C,GAEnB04B,EAAQ2lB,EAAOr+C,EAAI,GAInB,IAFAs+C,EAAI5J,EAAI,EAED4J,EAAIC,EAAM37C,SAAWwL,GAG1B,GAFAA,EAAUmwC,EAAMD,KAAK9e,KAAK4e,GAGxB,IAAKt8C,EAAI,EAAGA,EAAI42B,EAAM91B,OAAQd,IAC5B8gB,EAAQxU,IAAUsmC,UAClB+C,EAAI/e,EAAM52B,MAEO86C,GAAYnF,EAAE70C,OAAS,EACtB,GAAZ60C,EAAE70C,cACO60C,EAAE,IAAMkF,EAEjBp6C,KAAKk1C,EAAE,IAAMA,EAAE,GAAGt3C,KAAKoC,KAAMqgB,GAG7BrgB,KAAKk1C,EAAE,IAAMA,EAAE,GAEI,GAAZA,EAAE70C,cAEA60C,EAAE,KAAOkF,GAAelF,EAAE,GAAGjY,MAAQiY,EAAE,GAAGre,KAKnD72B,KAAKk1C,EAAE,IAAM70B,EAAQA,EAAMK,QAAQw0B,EAAE,GAAIA,EAAE,IAAMiF,EAHjDn6C,KAAKk1C,EAAE,IAAM70B,EAAQ60B,EAAE,GAAGt3C,KAAKoC,KAAMqgB,EAAO60B,EAAE,IAAMiF,EAKjC,GAAZjF,EAAE70C,SACXL,KAAKk1C,EAAE,IAAM70B,EAAQ60B,EAAE,GAAGt3C,KAAKoC,KAAMqgB,EAAMK,QAAQw0B,EAAE,GAAIA,EAAE,KAAOiF,GAGpEn6C,KAAKk1C,GAAK70B,GAAgB85B,EAMlC18C,GAAK,IAGT0xC,IAAK,SAAUA,EAAK1b,GAClB,IAAK,IAAIh2B,KAAKg2B,EAEZ,UAAWA,EAAIh2B,KAAO48C,GAAY5mB,EAAIh2B,GAAG4C,OAAS,GAChD,IAAK,IAAI07C,EAAI,EAAGA,EAAItoB,EAAIh2B,GAAG4C,OAAQ07C,IACjC,GAAId,EAAK1xC,IAAIkqB,EAAIh2B,GAAGs+C,GAAI5M,GACtB,MArHE,MAqHK1xC,EAAgB08C,EAAc18C,OAGpC,GAAIw9C,EAAK1xC,IAAIkqB,EAAIh2B,GAAI0xC,GAC1B,MAzHM,MAyHC1xC,EAAgB08C,EAAc18C,EAIzC,OAAO0xC,IAMP8M,EAAO,CACTC,QAAS,CACPC,UAAW,CACTT,QAAS,CACP,MAAO,KACP,IAAO,KACP,IAAO,KACP,MAAO,OACP,QAAS,OACT,QAAS,OACT,QAAS,OACT,IAAK,OAIXU,OAAQ,CACNC,OAAQ,CACNC,MAAO,CACL,aAAc,CAAC,KAAM,QAGzBC,OAAQ,CACND,MAAO,CACL,eAAgB,UAElBE,OAAQ,CACN,IAAO,MACP,OAAU,YAIhBC,GAAI,CACFC,QAAS,CACPhB,QAAS,CACP,GAAM,OACN,UAAW,SACX,SAAU,QACV,IAAQ,SACR,GAAM,CAAC,SAAU,UACjB,MAAS,SACT,EAAK,SACL,EAAK,SACL,IAAO,SACP,GAAM,CAAC,SAAU,WACjB,GAAM,UAQVP,EAAU,CACZe,QAAS,CAAC,CACV,6BACA,8CACA,+BACA,4BACG,CAAC3B,EAAMG,GAAU,CAAC,4BAClB,CAAC,CAACH,EAAM,cAAeG,GAAU,CAAC,uBAClC,CAAC,CAACH,EAAM,SAAUG,GAAU,CAC/B,uBACA,+DAEA,uDACA,8CACA,4BAEA,uBACA,mJACG,CAACH,EAAMG,GAAU,CAAC,2BAClB,CAAC,CAACH,EAAM,aAAcG,GAAU,CAAC,6CACjC,CAAC,CAACH,EAAM,MAAOG,GAAU,CAAC,4CAC1B,CAAC,CAACH,EAAM,QAASG,GAAU,CAAC,2BAC5B,CAAC,CAACH,EAAM,UAAWG,GAAU,CAAC,uBAC9B,CAAC,CAACH,EAAM,wBAAyBG,GAAU,CAAC,qBAC5C,CAAC,CAACH,EAAM,sBAAuBG,GAAU,CAAC,wBAC1C,CAAC,CAACH,EAAM,UAAWG,GAAU,CAAC,uBAC9B,CAAC,CAACH,EAAM,iBAAkBG,GAAU,CAAC,qBACrC,CAAC,CAACH,EAAM,eAAgBG,GAAU,CAAC,6DACnC,CAAC,CAACH,EAAM,aAAcG,GAAU,CAAC,+BACjC,CAAC,CAACH,EAAM,KAAM,KAAMG,GAAU,CAAC,sCAC/B,CAAC,CAACH,EAAM,uBAAwBG,GAAU,CAAC,gCAC3C,CAAC,CAACH,EAAM,UAAWG,GAAU,CAAC,uBAC9B,CAAC,CAACH,EAAM,SAAUG,GAAU,CAAC,+BAC7B,CAACH,EAAMG,GAAU,CAAC,oBAClB,CAACH,EAAMG,GAAU,CAAC,kCAClB,CAACH,EAAMG,GAAU,CAAC,kCAClB,CAACH,EAAMG,GAAU,CAAC,mCAClB,CAACH,EAAMG,GAAU,CAAC,6BAClB,CAACH,GAAO,CAAC,gBACT,CAACA,GAAO,CAAC,mCACT,CAACG,EAAS,CAACH,EAAM,iBAAkB,CAAC,sBACpC,CAACG,EAAS,CAACH,EAAM,aAAc,CAAC,6BACnC,oCACG,CAACA,EAAMG,GAAU,CAAC,qCAClB,CAACA,EAAS,CAACH,EAAM,oBAAqB,CAAC,gCACvC,CAAC,CAACA,EAAM,OAAQ,cAAeG,GAAU,CAAC,2CAA4C,CAAC,CAACH,EAAM,mBAAoB,SAAUG,GAAU,CACzI,wCACA,uDAAwD,CAAC,CAACH,EAAM,iBAAkBG,GAAU,CAAC,8DAC1F,CAACA,EAAS,CAACH,EAAM,oBAAqB,CAAC,iCACvC,CAAC,CAACA,EAAM,oBAAqBG,GAAU,CAAC,gEACxC,CAACH,EAAMG,GAAU,CAAC,wBAClB,CAAC,CAACH,EAAM,WAAYG,GAAU,CAAC,6CAC/B,CAAC,CAACH,EAAM,gBAAiB,CAAC,uBAC1B,CAAC,CAACA,EAAM,eAAgBG,GAAU,CAAC,sBACnC,CAACA,EAAS,CAACH,EAAM,YAAa,CAAC,+CAC/B,CAACG,EAAS,CAACH,EAAM,kBAAmB,CAAC,kDACrC,CAACG,EAASH,GAAO,CAAC,oEAClB,CAAC,CAACA,EAAM,OAAQG,GAAU,CAAC,iDAC3B,CAACH,EAAM,CAACG,EAASiB,EAAOxM,IAAK8M,EAAKC,QAAQC,UAAUT,UAAW,CAAC,8BAA+B,CAACnB,EAAMG,GAAU,CACnH,qCACG,CAAC,CAACH,EAAM,YAAaG,GAAU,CAAC,cACnC,gGACA,sGACA,0CAEA,8EACA,wBACA,2BACA,iCACA,4BACG,CAACH,EAAMG,IACViC,IAAK,CAAC,CAAC,iDACJ,CAAC,CAAChC,EAAc,UAAW,CAAC,gBAC5B,CAAC,CAACA,EAAcM,EAAKO,WAAY,CAAC,0BAClC,CAAC,CAACb,EAAc,SAAU,CAC7B,gCAAiC,CAAC,CAACA,EAAc,QAAS,CAAC,2CACxD,CAAC,CAACA,EAAc,OAAQ,GAAIM,EAAKO,WAAY,CAAC,kBAC9C,CAAC,CAACb,EAAc,UAAW,CAAC,kHAC5B,CAAC,CAACA,EAAcM,EAAKO,YACxBY,OAAQ,CAAC,CAAC,8CACP,CAAC9B,EAAOG,EAAQ,CAACD,EAAMM,IAAU,CAAC,oCAClC,CAACR,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMM,IAAU,CAAC,qBAC7C,CAAC,CAACR,EAAO,YAAa,CAACG,EAAQ,SAAU,CAACD,EAAMO,IAAW,CAAC,yBAC/D,oBACA,kBACA,uBACA,+BACA,oCACG,CAACN,EAAQH,EAAO,CAACE,EAAMM,IAAU,CAAC,gCAClC,CAACR,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMM,IAAU,CAAC,6CAC9C,CAAC,CAACR,EAAOqB,EAAOxM,IAAK8M,EAAKG,OAAOC,OAAOC,OAAQ,CAAC7B,EAAQ,UAAW,CAACD,EAAMK,IAAU,CAAC,+BACtF,CAACP,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMO,IAAW,CAAC,mCAC/C,CAACT,EAAOG,EAAQ,CAACD,EAAMK,IAAU,CAAC,0BAClC,CAACP,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMK,IAAU,CAAC,2BAChD,mGACA,qBACA,kBACG,CAACJ,EAAQH,EAAO,CAACE,EAAMK,IAAU,CAAC,mBAClC,CAACP,EAAO,CAACG,EAAQ,cAAe,CAACD,EAAMK,IAAU,CACpD,kFAAmF,CAACP,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMM,IAAU,CAAC,mCAC/H,8BAA+B,CAAC,CAACL,EAAQ,QAAS,CAACH,EAAO,iBAAkB,CAACE,EAAMM,IAAU,CAAC,kFAAmF,CAACR,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMK,IAAU,CAAC,cAC7N,4BACG,CAACJ,EAAQH,EAAO,CAACE,EAAMI,IAAW,CAAC,gCACnC,CAACN,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMI,IAAW,CAAC,mCAC/C,CAACN,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMI,IAAW,CAAC,oBAC7C,CAAC,CAACH,EAAQkB,EAAOxM,IAAK8M,EAAKG,OAAOG,OAAOC,QAAS,CAAClC,EAAOqB,EAAOxM,IAAK8M,EAAKG,OAAOG,OAAOD,OAAQ,CAAC9B,EAAMK,IAAU,CAAC,4CACtH,eACA,qEACG,CAACJ,EAAQ,CAACH,EAAO,KAAM,KAAM,CAACE,EAAMK,IAAU,CAAC,eAC/C,CAACP,EAAO,CAACG,EAAQ,OAAQ,CAACD,EAAMM,IAAU,CAAC,4BAA6B,wCACxE,CAACR,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMK,IAAU,CAAC,iCAC9C,CAACP,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMM,IAAU,CAAC,iCAC9C,CAACL,EAAQH,EAAO,CAACE,EAAMK,IAAU,CAAC,mCAClC,CAACP,EAAO,CAACG,EAAQ,aAAc,CAACD,EAAMI,IAAW,CAAC,sBAClD,CAAC,CAACN,EAAO,MAAO,KAAM,CAACG,EAAQ,aAAc,CAACD,EAAMK,IAAU,CACjE,kFAAmF,kBAAmB,uBAAwB,eAAgB,CAACP,EAAO,CAACG,EAAQ,YAAa,CAACD,EAAMK,IAAU,CAAC,gDAAiD,CAACP,EAAO,CAACG,EAAQ,YAAa,CAACD,EAAMM,IAAU,CAAC,0DAC5R,CAAC,CAACL,EAAQQ,EAAK9tC,MAAO,CAACmtC,EAAOW,EAAK9tC,MAAO,CAACqtC,EAAMO,IAAW,CAAC,uBAAwB,CAAC,CAACT,EAAO,IAAK,WAAY,CAACG,EAAQ,WAAY,CAACD,EAAMO,IAAW,CAAC,wBACvJ,CAACT,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMO,IAAW,CAAC,8EAA+E,gBAAiB,CAAC,CAACN,EAAQ,WAAYH,EAAO,CAACE,EAAMM,IAAU,CAC/L,wBAAyB,CAACL,EAAQ,CAACD,EAAMO,GAAUT,GAAQ,CAAC,qDAAsD,mCAAoC,mBAAoB,CAAC,CAACG,EAAQ,WAAYH,EAAO,CAACE,EAAMK,IAAU,CAAC,cACtN,CAACP,EAAO,CAACG,EAAQ,WAAY,CAACD,EAAMK,IAAU,CAAC,oCAClD,2BAA4B,CAAC,CAACJ,EAAQ,SAAUH,EAAO,CAACE,EAAMK,IAAU,CAAC,mDACtE,CAACP,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMM,IAAU,CAAC,qCAC5C,CAACR,EAAO,CAACG,EAAQ,MAAO,CAACD,EAAMM,IAAU,CAAC,iDAC1C,CAAC,CAACL,EAAQ,MAAOH,EAAO,CAACE,EAAMM,IAAU,CAAC,qBAC1C,CAACL,EAAQH,EAAO,CAACE,EAAMO,IAAW,CAAC,iBACtC,qBAAsB,oCAAqC,CAACT,EAAO,CAACG,EAAQ,MAAO,CAACD,EAAMK,IAAU,CAAC,yDAClG,CAACJ,EAAQH,EAAO,CAACE,EAAMM,IAAU,CAAC,oCAClC,CAACR,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMM,IAAU,CAAC,4BAA6B,CAACL,EAAQH,EAAO,CAACE,EAAMK,IAAU,CAAC,uBAC7G,CAACJ,EAAQH,EAAO,CAACE,EAAMK,IAAU,CAAC,6BAClC,CAACJ,EAAQH,EAAO,CAACE,EAAMQ,IAAY,CAAC,0CACpC,CAACP,EAAQH,EAAO,CAACE,EAAMK,IAAU,CAAC,UAClC,CAAC,CAACP,EAAO,cAAe,CAACG,EAAQ,UAAW,CAACD,EAAMO,IAAW,CAAC,4BAC/D,CAACT,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMQ,IAAY,CAAC,+BAChD,CAACV,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMM,IAAU,CAAC,2CAC9C,CAACR,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMK,IAAU,CAAC,mCACjD,qDACA,kGACA,+DACG,CAAC,CAACP,EAAO,KAAM,KAAM,CAACG,EAAQ,UAAW,CAACD,EAAMK,IAAU,CAAC,0DAC3D,CAAC,CAACP,EAAO,KAAM,KAAM,CAACG,EAAQ,UAAW,CAACD,EAAMM,IAAU,CAAC,sCAC3D,CAACR,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMK,IAAU,CAAC,qBAAsB,CAAC,CAACJ,EAAQ,SAAUH,EAAO,CAACE,EAAMK,IAAU,CAAC,4BACnH,oCAAqC,CAACP,EAAO,CAACG,EAAQ,WAAY,CAACD,EAAMK,IAAU,CAAC,0CACjF,CAACP,EAAO,CAACG,EAAQ,OAAQ,CAACD,EAAMM,IAAU,CAAC,gDAC3C,CAACR,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMM,IAAU,CAAC,6CAC5C,CAACR,EAAO,CAACG,EAAQ,WAAY,CAACD,EAAMM,IAAU,CAAC,iEAC/C,CAAC,CAACL,EAAQ,kBAAmBH,EAAO,CAACE,EAAMM,IAAU,CAAC,2CACtD,CAACR,EAAO,CAACG,EAAQ,YAAa,CAACD,EAAMM,IAAU,CAAC,6BAChD,CAACR,EAAO,CAACG,EAAQ,OAAQ,CAACD,EAAMM,IAAU,CAAC,6CAC3C,CAACR,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMK,IAAU,CAAC,wCAC7C,CAACP,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMM,IAAU,CAAC,6CAC7C,CAACR,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMM,IAAU,CAAC,0CAA2C,8DACvF,CAAC,CAACL,EAAQ,gBAAiBH,EAAO,CAACE,EAAMM,IAAU,CAAC,0CACpD,CAACR,EAAO,CAACG,EAAQ,YAAa,CAACD,EAAMM,IAAU,CAAC,kDAChD,CAACR,EAAO,CAACG,EAAQ,YAAa,CAACD,EAAMM,IAAU,CAAC,6EAA8E,CAAC,CAACL,EAAQ,SAAUH,EAAO,CAACE,EAAMK,IAAU,CAC7K,gDACG,CAAC,CAACJ,EAAQ,SAAUH,EAAO,CAACE,EAAMK,IAAU,CAAC,yBAA0B,CAACP,EAAO,CAACG,EAAQ,aAAc,CAACD,EAAMK,IAAU,CAC1H,4DACG,CAACP,EAAO,CAACG,EAAQ,WAAY,CAACD,EAAMM,IAAU,CAAC,4DAC/C,CAACL,EAAQH,EAAO,CAACE,EAAMM,IAAU,CAAC,6CAClC,CAACR,EAAO,CAACG,EAAQ,aAAc,CAACD,EAAMM,IAAU,CAAC,sDACjD,CAACL,EAAQH,EAAO,CAACE,EAAMM,IAAU,CAAC,uCAClC,CAACR,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMM,IAAU,CAAC,8BAC7C,CAACR,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMM,IAAU,CAAC,gDAC9C,CAACL,EAAQH,EAAO,CAACE,EAAMM,IAAU,CAAC,uBACrC,iCACG,CAAC,CAACN,EAAMS,EAAKO,UAAWf,EAAQH,GAAQ,CAAC,6BACzC,CAAC,CAACE,EAAMO,IAAW,CAAC,qCACpB,CAACT,EAAO,CAACG,EAAQ,aACpBmC,OAAQ,CAAC,CAAC,+BACP,CAAClC,EAAS,CAACH,EAAM,aAAc,CAAC,6CAChC,CAACG,EAAS,CAACH,EAAM,UAAW,CAAC,uBAChC,sEACA,0CACA,gCACG,CAACA,EAAMG,GAAU,CAAC,+BAClB,CAACA,EAASH,IACbkC,GAAI,CAAC,CACL,qCACG,CAAClC,EAAMG,GAAU,CAAC,+BACrB,iDACA,sDAAuD,CAAC,CAACH,EAAMoB,EAAOxM,IAAK8M,EAAKQ,GAAGC,QAAQ1+C,MAAO,CAAC08C,EAASiB,EAAOxM,IAAK8M,EAAKQ,GAAGC,QAAQhB,UAAW,CAAC,wCAAyC,CAAC,CAACnB,EAAM,WAAY,CAACG,EAASiB,EAAOxM,IAAK8M,EAAKQ,GAAGC,QAAQhB,UAAW,CAClQ,gBACG,CAAC,CAACnB,EAAM,cAAeG,GAAU,CAAC,+BACrC,gCACA,8FACG,CAACH,EAAMG,GAAU,CAAC,oDAClB,CAAC,CAACH,EAAM,WAAYG,GAAU,CAAC,kBAC/B,CAACH,GAAO,CAAC,uCACT,CAAC,CAACA,EAAM,cAAeG,GAAU,CACpC,iDAEA,wBACA,6BACA,2JAEA,4BACA,sBACG,CAAC,CAACH,EAAM,SAAUG,GAAU,CAAC,+BAC7B,CAAC,CAACH,EAAM,eAAgBG,GAAU,CACrC,0BACG,CAAC,CAACH,EAAM,WAAYG,GAAU,CACjC,kDACG,CAAC,CAACH,EAAM,SAAUG,GAAU,CAAC,mDAC7B,CAAC,CAACH,EAAM,UAAW,CAACG,EAAS,KAAM,MAAO,CAAC,iDAC3C,CAAC,CAACH,EAAM,QAAS,CAACG,EAAS,KAAM,MAAO,CAAC,mBACzC,CAACH,EAAMG,GAAU,CAAC,uBAAwB,yDAC1C,CAAC,CAACA,EAAS,KAAM,KAAM,CAACH,EAAM,QAAS,CAAC,8BAA+B,kCACvE,CAAC,CAACA,EAAM,OAAQ,CAACG,EAAS,KAAM,MAAO,CAC1C,uCACA,oCACA,uEACA,uBACG,CAACH,EAAMG,KAKRmC,EAAW,SAAUC,EAAU1B,GAMjC,GALwB,kBAAb0B,IACT1B,EAAa0B,EACbA,EAAW3C,KAGPn6C,gBAAgB68C,GACpB,OAAO,IAAIA,EAASC,EAAU1B,GAAY2B,YAG5C,IAAIlB,EAAKiB,IAAajzC,GAAUA,EAAOmzC,WAAanzC,EAAOmzC,UAAUC,UAAYpzC,EAAOmzC,UAAUC,UA3ZxF,IA4ZNC,EAAS9B,EAAaH,EAAKC,OAAOC,EAASC,GAAcD,EAqE7D,OAnEAn7C,KAAKm9C,WAAa,WAChB,IAAIjB,EAAU,CACZl+C,KAAMm8C,EACNuB,QAASvB,GAKX,OAHAwB,EAAOC,IAAIh+C,KAAKs+C,EAASL,EAAIqB,EAAOhB,SACpCA,EAAQT,MAAQR,EAAKQ,MAAMS,EAAQR,SAE5BQ,GAGTl8C,KAAKo9C,OAAS,WACZ,IAAIT,EAAM,CACRU,aAAclD,GAGhB,OADAwB,EAAOC,IAAIh+C,KAAK++C,EAAKd,EAAIqB,EAAOP,KACzBA,GAGT38C,KAAKs9C,UAAY,WACf,IAAIlB,EAAS,CACXI,OAAQrC,EACRmC,MAAOnC,EACPjqC,KAAMiqC,GAGR,OADAwB,EAAOC,IAAIh+C,KAAKw+C,EAAQP,EAAIqB,EAAOd,QAC5BA,GAGTp8C,KAAKu9C,UAAY,WACf,IAAIX,EAAS,CACX5+C,KAAMm8C,EACNuB,QAASvB,GAGX,OADAwB,EAAOC,IAAIh+C,KAAKg/C,EAAQf,EAAIqB,EAAON,QAC5BA,GAGT58C,KAAKw9C,MAAQ,WACX,IAAIf,EAAK,CACPz+C,KAAMm8C,EACNuB,QAASvB,GAGX,OADAwB,EAAOC,IAAIh+C,KAAK6+C,EAAIZ,EAAIqB,EAAOT,IACxBA,GAGTz8C,KAAK+8C,UAAY,WACf,MAAO,CACLlB,GAAI77C,KAAKy9C,QACTvB,QAASl8C,KAAKm9C,aACdP,OAAQ58C,KAAKu9C,YACbd,GAAIz8C,KAAKw9C,QACTpB,OAAQp8C,KAAKs9C,YACbX,IAAK38C,KAAKo9C,WAIdp9C,KAAKy9C,MAAQ,WACX,OAAO5B,GAGT77C,KAAK09C,MAAQ,SAAUZ,GAErB,OADAjB,EAAKiB,EACE98C,MAGFA,MAGT68C,EAASnC,QAreQ,SAsejBmC,EAASc,QAAU,CACjBpD,KAAMA,EACNqD,MAleU,QAoeVlD,QAASA,GAEXmC,EAASgB,IAAM,CACblD,aAAcA,GAEhBkC,EAASiB,OAAS,CAChBxD,MAAOA,EACPG,OAAQA,EACRD,KAAMA,EACNI,QAASA,EACTC,OAAQA,EACRE,QAASA,EACTD,OAAQA,EACRE,SAAUA,EACV+C,SArea,YAueflB,EAASmB,OAAS,CAChBzD,KAAMA,EACNG,QAASA,GAEXmC,EAASoB,GAAK,CACZ1D,KAAMA,EACNG,QAASA,GAQLl9C,EAAOD,UACTA,EAAUC,EAAOD,QAAUs/C,GAG7Bt/C,EAAQs/C,SAAWA,EAOrB,IAAI/H,EAAIjrC,IAAWA,EAAOq0C,QAAUr0C,EAAOs0C,OAE3C,GAAIrJ,IAAMA,EAAE+G,GAAI,CACd,IAAIuC,EAAS,IAAIvB,EACjB/H,EAAE+G,GAAKuC,EAAOrB,YAEdjI,EAAE+G,GAAGv9C,IAAM,WACT,OAAO8/C,EAAOX,SAGhB3I,EAAE+G,GAAGzyC,IAAM,SAAU0zC,GACnBsB,EAAOV,MAAMZ,GACb,IAAIplB,EAAS0mB,EAAOrB,YAEpB,IAAK,IAAIpV,KAAQjQ,EACfod,EAAE+G,GAAGlU,GAAQjQ,EAAOiQ,KAtiB5B,CA0iBqB,kBAAX99B,OAAsBA,OAAS6qC,OAYvC2J,IAVanE,GAAS2C,SAUf,SAASwB,EAAK58C,GACvB,OAAOA,GAENA,EAED,GADA+a,KAAKmzB,UAELluC,EAAI,GACJyf,SAAS,KAER,CAAC,MACD,KACA,KACA,KACA,MACDR,QACA,SACA29B,KAIE3C,GAAU,QAkDV4C,GAAkB,CACpBC,YAAa,oBACbC,aAAa,EACbC,iBAAkB,IAElBrO,WAAY,eAEZsO,eAAgB,MAEhBC,oBAAoB,EACpBC,qBAAqB,EACrBzL,gBAAgB,EAEhB0L,sBAAsB,EACtB9O,OAAQ,GACR+O,wBAAyB,IAEzBC,qBAAsB,GACtBC,YAAY,EACZC,eAAe,EACfC,cAAc,EACdC,iBAAiB,EACjBC,YAAY,EACZC,SAtEOrC,YAAcA,UAAUsC,WAAatC,UAAUsC,UAAU,IAAMtC,UAAUqC,UAAYrC,UAAUuC,eAAiB,GAuEvHhU,SAAU,OACViU,6BAA6B,EAC7B/L,QAAQ,EACRgM,QAAS,aACTC,SArEa,MAsEbC,cAAe,IACfC,YAAY,EACZC,kCAAkC,EAClCC,cAAc,EACdC,eAAgB,KAChBnN,QAAS/G,EACTmU,gBAAiB,CACfC,MAAM,EACNC,SAAS,EACTC,SAAS,EACTC,qBAAqB,EACrBC,cAAc,EACdC,KAAK,EACLC,YAAY,EACZlB,UAAU,EACVmB,SAAS,EACTC,YAAY,EACZf,UAAU,EACVgB,QAAQ,EACRC,cAAc,GAEhBC,iCAAiC,EACjCC,UAAW,mBACXC,kBAAmB,4BACnBC,gBAAiB,KAYfC,GAAkB,SAAyBC,GACxClX,KACHkF,GAAUrD,KAAK,mJAGjB5rC,KAAKkhD,cAAgBjS,GAAoBgS,GAAgBpV,EAA6BoV,EAAax/B,cACnGzhB,KAAKmhD,cAAgB,GACrBnhD,KAAKohD,iBAAmB,GACxBphD,KAAKqhD,IAAM,IAAInH,GAAS8C,UAAUC,WAAWF,YAC7C/8C,KAAKkH,QAAUoiC,EAAc,GAAIgV,GAAiB,CAChD0B,gBAAiB1W,EAAc,GAAIgV,GAAgB0B,mBAErDhgD,KAAK2yC,eAAgB,IAAIA,IAAgBE,aACzC7yC,KAAKshD,GAAK,GAEVthD,KAAKuhD,UAAW,EAChBvhD,KAAKwhD,kBAAmB,EACxBxhD,KAAKyhD,QAAU,GAEfzhD,KAAK0hD,SAAW,EAChB1hD,KAAK2hD,YAAc,EACnB3hD,KAAK4hD,eAAiB,KACtB5hD,KAAK6hD,aAAc,EAEnB7hD,KAAK8hD,gBAAkB,EACvB9hD,KAAK+hD,WAAa,KAClB/hD,KAAKgiD,gBAAiB,EACtBhiD,KAAKiiD,WAAajF,WAAaA,UAAUC,WAAa,MAGxD+D,GAAgB3hD,UAAU8mC,SAAWA,GACrC6a,GAAgB3hD,UAAU05C,QAAUA,GAapCiI,GAAgB3hD,UAAU4G,KAAO,SAAci8C,EAAQC,EAAYC,EAAYC,GAC7E,IAAI50C,EAAQzN,KAEZ,GAAqB,WAAjBkQ,EAAKgyC,IAAwBjT,GAAoBiT,GACnDjT,GAAUjuC,MAAM,iEAIlB,IACEshD,GAAatiD,KAAKkH,QAASk7C,GAEvBrY,UAAuCtjC,IAArBoD,OAAO04C,WAA2B1iD,MAAMR,UAAUmjD,SA7/FvD,WACnB,IAAIroC,EAEJ,GAAI4vB,IAAgB,CAClB,IAAI0Y,EAAkB54C,OAClB64C,EAAiB7iD,MAErB,QAAkC4G,IAA9Bg8C,EAAgBF,gBAAgH97C,KAAhD,QAAnC0T,EAAKuoC,EAAerjD,iBAA8B,IAAP8a,OAAgB,EAASA,EAAGqoC,eAC/GE,EAAerjD,UAAUmjD,QAs/FhCG,GACA1T,GAAUrD,KAAK,8GAGb5rC,KAAKkH,QAAQkpC,aAAekO,GAAgBlO,YAC9CnB,GAAUrD,KAAK,iFAGjB5rC,KAAKkH,QAAQg7C,OAASA,EACtBliD,KAAK4iD,eAAiB,IAAMV,GAAUliD,KAAKkhD,gBAAkBrV,EAA6B,GAAK,IAAM7rC,KAAKkhD,eAC1GlhD,KAAK6iD,iBAAmBX,EAAOt5B,MAAM,EAAG,GACxC5oB,KAAK8iD,eAAiB9iD,KAAKkH,QAAQkpC,WAAapwC,KAAK4iD,eACrD5iD,KAAK+iD,WAAa/iD,KAAKkH,QAAQ25C,UAAY7gD,KAAK4iD,eAChD5iD,KAAKgjD,mBAAqBhjD,KAAKkH,QAAQ45C,kBAAoB9gD,KAAK4iD,eAChE5iD,KAAKijD,YAAcpX,EAA0B,IAAM7rC,KAAK6iD,iBACxD7iD,KAAK2yC,cAAczrC,QAAQ,CACzB4oC,eAAgB9vC,KAAKkH,QAAQu3C,iBAC7B1O,OAAQ/vC,KAAKkH,QAAQ6oC,OACrBC,OAAQhwC,KAAKkH,QAAQ44C,aACrB7P,SAAUjwC,KAAKkH,QAAQw3C,iBAEzB1+C,KAAKkjD,iBAAmB,IAAIlQ,GAAgB,CAC1CE,WAAYlzC,KAAKijD,YACjB9P,eAAgBnzC,KAAKkH,QAAQisC,eAC7BrD,eAAgB9vC,KAAKkH,QAAQu3C,iBAC7B1O,OAAQ/vC,KAAKkH,QAAQ6oC,OACrBC,OAAQhwC,KAAKkH,QAAQ44C,aACrB7P,SAAUjwC,KAAKkH,QAAQw3C,eACvB9L,QAAS5yC,KAAKkH,QAAQ0rC,UAExB,IAAIuQ,IAAiBnjD,KAAK2yC,cAAcr0C,IAAI0B,KAAK8iD,gBAC7CM,IAAiBpjD,KAAKkjD,iBAAiB7Q,OAC3CryC,KAAKqjD,eAAiBD,GAAgBD,IAAiBnjD,KAAKkH,QAAQy3C,mBACpE,IAAI2E,EAAYF,GAAgBD,EAGhC,GAFAnjD,KAAKkH,QAAQ6oC,OAAS/vC,KAAK2yC,cAAczrC,UAAU6oC,OAE/C/vC,KAAKkH,QAAQ03C,sBAAwB0E,EAGvC,YAFAtjD,KAAKujD,qBAAqBrB,EAAQC,EAAYC,EAAYC,GAKxB,WAAhCnyC,EAAKlQ,KAAKkH,QAAQqkC,WACpB0D,GAAkBjvC,KAAKkH,QAAQqkC,UAGjC,IAAIyU,EAAkBwD,GAAqCxjD,MAE3DA,KAAKyjD,8BAAgCtlD,OAAOkd,KAAK2kC,GAAiB3/C,OAAS,EAAI,CAC7EqjD,iBAAkB1D,GAChB,GAEAhgD,KAAKkH,QAAQy3C,oBAAsBwE,IAChCC,GACHO,GAAmB3jD,MAGrBA,KAAK2yC,cAAcrlC,OAAOtN,KAAK8iD,iBAGjCc,GAAgB5jD,MAEhBA,KAAK6jD,qBAAsB,EAE3B,IAAIC,EAAkB,SAAyBC,GAC7Ct2C,EAAMvG,QAAQssC,SAAW/lC,EAAMu2C,oBAAoB5B,GAAcA,EAAW5O,SAAUuQ,GACtFt2C,EAAMvG,QAAQ8+B,OAA8B,WAArB91B,EAAKiyC,KAA6BlT,GAAoBkT,IAAeA,GAAmC,WAArBjyC,EAAKiyC,IAA4BA,EAAWjhC,YAAczT,EAAMvG,QAAQ8+B,QAAU,KAC5L,IAAIie,GAAM,IAAIn3C,MAAOE,YAEhBS,EAAMs0C,aAAet0C,EAAMm0C,gBAAkBqC,EAAMx2C,EAAMm0C,eAAiBn0C,EAAMvG,QAAQ64C,kBACvFtyC,EAAMvG,QAAQ05C,iCAChBnzC,EAAMy2C,kBAGRz2C,EAAMo0C,aAAc,EACpBp0C,EAAMs0C,WAAakC,EAEfx2C,EAAMvG,QAAQ24C,kCAChBpyC,EAAM02C,2BAIL12C,EAAMvG,QAAQ24C,kCACjBpyC,EAAM02C,0BAIJ12C,EAAMvG,QAAQ04C,aAChBwE,GAA0B32C,EAAM0zC,eAEhCiD,GAA0B32C,EAAM2zC,mBAGlC3zC,EAAMm0C,eAAiBqC,EAEvBI,GAAgB52C,GAEhBA,EAAMo2C,qBAAsB,EAE5Bp2C,EAAM62C,qBAGN,IAAK,IAAI7mD,EAAI,EAAGA,EAAIgQ,EAAMg0C,QAAQphD,OAAQ5C,IACxCgQ,EAAMg0C,QAAQhkD,GAAGgQ,GAGnBA,EAAMg0C,QAAU,GAChBh0C,EAAMu0C,gBAAiB,GAuDnBhiD,KAAKkH,QAAQ04C,aACf5/C,KAAKmhD,cAAgBnhD,KAAKukD,uBAAuBvkD,KAAKkH,QAAQ25C,WAAWptB,KAAI,SAAUnQ,GACrF,MAAO,CACLA,MAAOA,MAERpiB,OAAOlB,KAAKmhD,eACfnhD,KAAKohD,iBAAmBphD,KAAKukD,uBAAuBvkD,KAAKkH,QAAQ45C,mBAAmBrtB,KAAI,SAAUnQ,GAChG,MAAO,CACLA,MAAOA,MAERpiB,OAAOlB,KAAKohD,mBAGjB0C,IACA9jD,KAAKwkD,qBAEsB,aAAvBt0C,EAAKmyC,IACPA,EAAariD,MAGjB,MAAO+J,GACPklC,GAAUjuC,MAAM+I,GAChB/J,KAAKkH,QAAQu4C,QAAQ11C,KAIzBi3C,GAAgB3hD,UAAUolD,8BAAgC,WACxD,IAAIC,EAAOpU,KACPqU,EAAa3kD,KAAKkH,QAAQ6oC,QAAqC,MAA3B/vC,KAAKkH,QAAQ6oC,OAAO,GAAa/vC,KAAKkH,QAAQ6oC,OAAOnnB,MAAM,GAAK5oB,KAAKkH,QAAQ6oC,OAErH,GAAK4U,GAIDD,IAASC,GACP,IAAI3nB,OAAO2nB,EAAa,KAAK9tB,KAAK6tB,GAAO,CAI3C,IAHA,IAAIE,EAAYF,EAAKnzC,MAAM,KACvBszC,EAAkBF,EAAWpzC,MAAM,KAE9B9T,EAAImnD,EAAUvkD,OAAQ5C,EAAIonD,EAAgBxkD,SAAU5C,EAAG,CAC9D,IAAIqnD,EAAeF,EAAUh8B,MAAMg8B,EAAUvkD,OAAS5C,GAAG4jB,KAAK,KAC9D6uB,GAAelwC,KAAKijD,YAAa,KAAM,CACrClT,OAAQ,IAAM+U,IAIlB5U,GAAelwC,KAAKijD,YAAa,KAAM,MAK7CjC,GAAgB3hD,UAAU2kD,oBAAsB,SAAUe,EAAgBhB,GACxE,GAAIgB,EACF,OAAOA,EAGT,GAAI/kD,KAAKkH,QAAQ23C,qBAAsB,CACrC,IAAIA,EAAuB7+C,KAAKglD,yBAAyBhlD,KAAKilD,iBAE9D,GAAIpG,EACF,OAAOA,EAIX,OAAI7+C,KAAKkH,QAAQssC,SACRxzC,KAAKkH,QAAQssC,SAGlBuQ,GAIGrU,MAIT,IAAI0U,GAA4B,SAAmCc,GACjE,IAAK,IAAIznD,EAAI,EAAGA,EAAIynD,EAAM7kD,OAAQ5C,IAAK,CACrC,IAAI0nD,EAAiBD,EAAMznD,GAAG6lB,MAAM8hC,gBAChCtL,EAAkBoL,EAAMznD,GAAG6lB,MAAM+hC,iBACjChW,EAAS6V,EAAMznD,GAAG6lB,MAAM+rB,OAC5B6V,EAAMznD,GAAG6lB,MAAM8hC,gBAAkBnW,GAAyBkW,GAC1DD,EAAMznD,GAAG6lB,MAAM+hC,iBAAmBpW,GAAyB6K,GAC3DoL,EAAMznD,GAAG6lB,MAAM+rB,OAASJ,GAAqBI,KAQjD2R,GAAgB3hD,UAAUimD,qBAAuB,SAA8BC,GAC7E,IAAI7nB,EAAS19B,KAEbk9B,QAAQsoB,IAAI,CAACvL,GAAarI,QAAQ5xC,KAAKkH,QAAQ25C,WAAY5G,GAAarI,QAAQ5xC,KAAKkH,QAAQ45C,qBAAqBp2C,MAAK,SAAUye,GAC/H,GAAIuU,EAAOx2B,QAAQ04C,WAAY,CAC7B,IAAI6F,EAAqBt8B,EAAO,GAC5B23B,EAAoB33B,EAAO,GAC3Bu8B,EAAa,GACbC,EAAgB,GAEhBF,IACFC,EAAW3kD,KAAKk5C,GAAatI,QAAQjU,EAAOx2B,QAAQ25C,UAAYnjB,EAAOklB,eAAgB1R,KAAKG,UAAUoU,KACtGE,EAAc5kD,KAAKk5C,GAAapI,WAAWnU,EAAOx2B,QAAQ25C,aAGxDC,IACF4E,EAAW3kD,KAAKk5C,GAAatI,QAAQjU,EAAOx2B,QAAQ45C,kBAAoBpjB,EAAOklB,eAAgB1R,KAAKG,UAAUyP,KAC9G6E,EAAc5kD,KAAKk5C,GAAapI,WAAWnU,EAAOx2B,QAAQ45C,qBAGxD4E,EAAWrlD,OAAS,GACtB68B,QAAQsoB,IAAIE,GAAYh7C,MAAK,eAAgBk7C,OAAM,SAAU77C,GAC3D2zB,EAAOx2B,QAAQu4C,QAAQ11C,UAI5BW,KAAK66C,GAAIK,OAAM,SAAU77C,GAC1B2zB,EAAOx2B,QAAQu4C,QAAQ11C,OAQ3Bi3C,GAAgB3hD,UAAU8kD,wBAA0B,WAClD,IAAI0B,EACAC,EACAC,EACAC,EAkBJ,GAhBIhmD,KAAKkH,QAAQk4C,aACfyG,EAAgB7lD,KAAKimD,gBAGnBjmD,KAAKkH,QAAQi4C,kBACf2G,EAAqB9lD,KAAKkmD,cAAclmD,KAAKmmD,iBAG3CnmD,KAAKkH,QAAQg4C,eACf6G,EAAkB/lD,KAAKomD,WAAWpmD,KAAKilD,kBAGrCjlD,KAAKkH,QAAQ+3C,gBACf+G,EAAmBhmD,KAAKqmD,YAAYrmD,KAAKilD,kBAGvCjlD,KAAKkH,QAAQs4C,4BAA6B,CAC5C,IAAI8G,EAAwBhd,EAAc,GAAIuc,EAAeC,EAAoBC,EAAiBC,GAE9F7nD,OAAOkd,KAAKirC,GAAuBjmD,OAAS,GAC9CL,KAAK0mC,SAASmF,EAA6Bya,KAWjD,IAAIhE,GAAe,SAASA,EAAap7C,EAASkzB,GAChD,GAAqB,WAAjBlqB,EAAKkqB,GAAT,CAKA,IAAImsB,EAAuB,SAA8BvnD,GACvD,GAAKb,OAAOkB,UAAUC,eAAe1B,KAAKsJ,EAASlI,GAAnD,CAIA,IAAI8+B,EAAa1D,EAAOp7B,GACpBwwC,EAAet/B,EAAKhJ,EAAQlI,IAE3BiwC,GAAoBnR,EAAY9+B,EAAM,UAAWwwC,KAIjC,YAAjBA,EACFtoC,EAAQlI,KAAS8+B,EACS,WAAjB0R,IAA8BP,GAAoBnR,IAAgC,WAAjB0R,GAA6B1R,EAAa,EACpH52B,EAAQlI,GAAO8+B,EACW,WAAjB0R,GACT8S,EAAap7C,EAAQlI,GAAM8+B,MAI/B,IAAK,IAAI9+B,KAAOo7B,EACVj8B,OAAOkB,UAAUC,eAAe1B,KAAKw8B,EAAQp7B,IAC/CunD,EAAqBvnD,KAU3BgiD,GAAgB3hD,UAAUmlD,mBAAqB,WAC7C,IAAIU,EAAQllD,KAAKshD,GACjBthD,KAAKshD,GAAK,GAEV,IAAK,IAAI7jD,EAAI,EAAGA,EAAIynD,EAAM7kD,OAAQ5C,IAAK,CACrC,IAAIm3C,EAAK50C,KAAKklD,EAAMznD,GAAG,IAEN,aAAbyS,EAAK0kC,IACPA,EAAGt0C,MAAMN,KAAMklD,EAAMznD,GAAGmrB,MAAM,MAUpCo4B,GAAgB3hD,UAAUmnD,WAAa,SAAoBC,GACzD,OAAIxX,GAAoBjvC,KAAKkH,QAAQg7C,UACnCjT,GAAUjuC,MAAM,wEAA0EylD,IACnF,IAWXzF,GAAgB3hD,UAAUklD,uBAAyB,SAAgC1D,GACjF,IAAI6F,EAA0B1mD,KAAK2mD,gBAAgBjU,GAAiBmO,GAEhE+F,EAAe5mD,KAAK6mD,8BAA8BH,EAAyB7F,GAI/E,OAFA7gD,KAAK8mD,cAAcpU,GAAiBmO,EAAW3P,KAAKG,UAAUuV,IAEvDA,GAQT5F,GAAgB3hD,UAAUwnD,8BAAgC,SAAuCH,EAAyB7F,GACxH,GAAI5R,GAAoByX,GACtB,MAAO,GAGT,GAAsC,WAAlCx2C,EAAKw2C,GACP,IACE,IAAIK,EAAS7V,KAAKC,MAAMuV,GAExB,GAAqB,UAAjBx2C,EAAK62C,GAEP,OAAOA,EAET,MAAOlmD,KAMX,OADAouC,GAAUjuC,MAAM,kBAAoB6/C,EAAY,4CACzC,IASTG,GAAgB3hD,UAAU2nD,aAAe,WACvC,OAAOhnD,KAAK6hD,aAQdb,GAAgB3hD,UAAU4nD,OAAS,SAAU98C,GACvCnK,KAAKgiD,eACP73C,EAASnK,MAETA,KAAKyhD,QAAQ1gD,KAAKoJ,IAUtB62C,GAAgB3hD,UAAU6nD,aAAe,WACvC,OAAOlnD,KAAK+hD,YAQdf,GAAgB3hD,UAAU8nD,YAAc,WAEtC,OADAnnD,KAAK0hD,WACE1hD,KAAK0hD,UAQdV,GAAgB3hD,UAAU+nD,eAAiB,WAEzC,OADApnD,KAAK2hD,cACE3hD,KAAK2hD,aAQdX,GAAgB3hD,UAAUgoD,mBAAqB,WAE7C,OADArnD,KAAK8hD,kBACE9hD,KAAK8hD,iBAQdd,GAAgB3hD,UAAUioD,aAAe,WACvC,OAAOtnD,KAAKmhD,cAAc9gD,OAASL,KAAKohD,iBAAiB/gD,QAQ3D2gD,GAAgB3hD,UAAUilD,mBAAqB,WAC7C,OAA4B,IAAxBtkD,KAAKsnD,iBAKJtnD,KAAKkH,QAAQs3C,YAMdx+C,KAAKsnD,gBAAkBtnD,KAAKkH,QAAQ63C,sBACtC/+C,KAAKunD,cACE,IAIJvnD,KAAKwhD,mBAERxhD,KAAKwhD,kBAAmB,EACxBxtC,WAAW,WACThU,KAAKwhD,kBAAmB,EACxBxhD,KAAKunD,cACLtoD,KAAKe,MAAOA,KAAKkH,QAAQ43C,2BAGtB,IApBL9+C,KAAKunD,cACE,KA4BXvG,GAAgB3hD,UAAUsnD,gBAAkB,SAAyB/T,EAAS5zC,GAC5E,OAAO4zC,EAAQhB,QAAQ5yC,EAAMgB,KAAK4iD,iBASpC5B,GAAgB3hD,UAAUynD,cAAgB,SAAuBlU,EAAS5zC,EAAKN,GAC7Ek0C,EAAQjB,QAAQ3yC,EAAMgB,KAAK4iD,eAAgBlkD,IAQ7C,IAAIklD,GAAkB,SAAyB4D,GAC7C,GAAKA,EAAMnE,cAAX,CAUA,IAAIoE,EAAaD,EAAM7U,cAAcr0C,IAAIkpD,EAAM1E,gBAEtB,WAArB5yC,EAAKu3C,IACPC,GAAqBF,EAAOC,OAb9B,CACE,IAAItxB,EAAQqxB,EAAMtE,iBAAiB7Q,OAEf,WAAhBniC,EAAKimB,IACPuxB,GAAqBF,EAAOrxB,KAe9BwtB,GAAqB,SAA4B6D,GACnD,IAAIC,EAAaD,EAAM7U,cAAcr0C,IAAIkpD,EAAM1E,gBAEtB,WAArB5yC,EAAKu3C,KACPC,GAAqBF,EAAOC,GAE5BpD,GAAgBmD,KAIhBE,GAAuB,SAA8BF,EAAOC,GAC1DA,EAAWjU,WACbgU,EAAMtgD,QAAQssC,SAAWiU,EAAWjU,UAGlCiU,EAAWzhB,SACbwhB,EAAMtgD,QAAQ8+B,OAASyhB,EAAWzhB,QAGV,OAAtByhB,EAAWhU,aAAyChtC,IAAtBghD,EAAWhU,SAEjB,IAAtBgU,EAAWhU,SACb+T,EAAMtgD,QAAQusC,OAASgU,EAAWhU,QAIlCgU,EAAW/T,YACb8T,EAAMzF,WAAa9N,SAASwT,EAAW/T,UAAW,KAGhD+T,EAAW9T,gBACb6T,EAAM5F,eAAiB3N,SAASwT,EAAW9T,cAAe,KAGxD8T,EAAW7T,UACb4T,EAAM9F,SAAWzN,SAASwT,EAAW7T,QAAS,KAG5C6T,EAAW5T,aACb2T,EAAM7F,YAAc1N,SAASwT,EAAW5T,WAAY,KAGlD4T,EAAW3T,iBACb0T,EAAM1F,gBAAkB7N,SAASwT,EAAW3T,eAAgB,MAS5DuQ,GAAkB,SAAyBmD,GAC7C,IAAIC,EAAa,CACfjU,SAAUgU,EAAMtgD,QAAQssC,SACxBxN,OAAQwhB,EAAMtgD,QAAQ8+B,OACtByN,OAAQ+T,EAAMtgD,QAAQusC,OACtBC,UAAW8T,EAAMzF,WACjBpO,cAAe6T,EAAM5F,eACrBhO,QAAS4T,EAAM9F,SACf7N,WAAY2T,EAAM7F,YAClB7N,eAAgB0T,EAAM1F,iBAOpB0F,EAAMnE,cACRmE,EAAM7U,cAAcvpC,IAAIo+C,EAAMtgD,QAAQkpC,WAAaoX,EAAM5E,eAAgB6E,GAEzED,EAAMtE,iBAAiB5Q,KAAKmV,IAShCzG,GAAgB3hD,UAAU4mD,aAAe,SAAsB0B,EAAaC,GAC1ED,EAAcA,GAAe3nD,KAAKilD,gBAClC2C,EAAeA,GAAgB5nD,KAAK2yC,cAAcr0C,IAAI,UACtD,IAt/EmCupD,EAAW7uB,EAE1C/rB,EAEA66C,EAIAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEAC,EAu+EAxC,GAt/E0C7sB,EAs/ED2uB,EAp/EzC16C,GAF+B46C,EAs/EJD,GAp/EN,IAAMC,EAAUt2C,MAAM,KAAKqX,OAAO,GAAG,GAAGlI,QAAQ,MAAO,KAAO,GAMnFqnC,GAJAD,EAAa,SAAoBQ,EAAWtvB,EAAOoX,EAAYnjC,GACjE,OAAOgiC,GAAoBqZ,EAAWtvB,IAAUiW,GAAoBmB,EAAYnjC,KAGvD4+B,EAAsB7S,EAAO,SAAU/rB,GAC9D+6C,EAAYF,EAAWjc,EAAsB7S,EAAO,SAAU/rB,GAC9Dg7C,EAAcH,EAAWjc,EAAwB7S,EAAO,SAAU/rB,GAClEi7C,EAAUJ,EAAWjc,EAAoB7S,EAAO,SAAU/rB,GAC1Dk7C,EAAaL,EAAWjc,EAAuB7S,EAAO,SAAU/rB,GAChEm7C,EAAU,IAEVC,EAAe,SAAsBrpD,EAAKN,GACvCuwC,GAAoBvwC,KACvB0pD,EAAQppD,GAAON,KAINmtC,EAAsBkc,GACnCM,EAAaxc,EAAsBmc,GACnCK,EAAaxc,EAAwBoc,GACrCI,EAAaxc,EAAoBqc,GACjCG,EAAaxc,EAAuBsc,GAC7BC,GAg+EP,OAFAG,GAAkCvoD,KAAM6lD,GAEjCA,GAQT7E,GAAgB3hD,UAAU6kD,gBAAkB,WAC1C,IAAIhe,EAAW,IAAIC,GACnBD,EAASsO,MAAM3I,GACf3F,EAASsO,MAAM3I,GACf3F,EAASsO,MAAM3I,GACf3F,EAASsO,MAAM3I,GACf3F,EAASsO,MAAM3I,GACf3F,EAASsO,MAAM3I,GACf7rC,KAAKkmC,SAASA,IAShB,IAAIqiB,GAAoC,SAA2Cf,EAAOrC,GACxF,GAA6B,WAAzBj1C,EAAKi1C,IAAuE,IAAvChnD,OAAOkd,KAAK8pC,GAAgB9kD,OAArE,CAKA,IAAI6lC,EAAW,IAAIC,GAEnB,IAAK,IAAInnC,KAAOmmD,EACVhnD,OAAOkB,UAAUC,eAAe1B,KAAKunD,EAAgBnmD,KACvDknC,EAASqO,QAAQ,WAAav1C,EAAKmmD,EAAenmD,IAClDknC,EAAS98B,IAAIpK,EAAKmmD,EAAenmD,KAIrCwoD,EAAMthB,SAASA,KAOjB8a,GAAgB3hD,UAAU8mD,aAAe,WACvC,OAAOtjD,SAAS2lD,UAOlBxH,GAAgB3hD,UAAU4lD,cAAgB,WACxC,OAAOze,SAASnJ,QAQlB2jB,GAAgB3hD,UAAU+mD,WAAa,SAAoBqC,GACzD,IAAIC,EAAQzZ,GAAoB,QAASwZ,GAEzC,IAAIxZ,GAAoByZ,GAAxB,CAIA,IAAI3C,EAAkB,CACpB2C,MAAOA,GAKT,OAFAH,GAAkCvoD,KAAM+lD,GAEjCA,IAQT/E,GAAgB3hD,UAAUgnD,YAAc,SAAqBoC,GAC3D,IAAIE,EAAS1Z,GAAoB,SAAUwZ,GAE3C,IAAIxZ,GAAoB0Z,GAAxB,CAIA,IAAI3C,EAAmB,CACrB2C,OAAQA,GAKV,OAFAJ,GAAkCvoD,KAAMgmD,GAEjCA,IAQThF,GAAgB3hD,UAAU2lD,yBAA2B,SAAkCyD,GACrF,OAAOxZ,GAAoBpD,EAA+B4c,IAQ5DzH,GAAgB3hD,UAAUupD,oBAAsB,SAA6BJ,GAC3E,GAAIvZ,GAAoBuZ,GACtB,OAAO,KAGT,IAAI9X,EAAQ8X,EAASj3C,MAAM,KAE3B,OAAIm/B,EAAMrwC,QAAU,EACXqwC,EAAM,GAGR,MASTsQ,GAAgB3hD,UAAU6mD,cAAgB,SAAuBsC,GAC/D,IAAIvZ,GAAoBuZ,GAAxB,CAIA,IAAIK,EAAe,CACjBL,SAAUA,EACVM,iBAAkB9oD,KAAK4oD,oBAAoBJ,IAK7C,OAFAD,GAAkCvoD,KAAM6oD,GAEjCA,IAST7H,GAAgB3hD,UAAUugD,WAAa,WACrC,IACE,IAAImJ,EAAyB7X,KAAKG,UAAUrxC,KAAKmhD,cAAc1tB,KAAI,SAAUwf,GAE3E,OADYA,EAAK3vB,UAOjBtjB,KAAK8mD,cAAcpU,GAAiB1yC,KAAKkH,QAAQ25C,UAAWkI,GAE9D,MAAOloD,KAIT,IACE,IAAImoD,EAAsB9X,KAAKG,UAAUrxC,KAAKohD,iBAAiB3tB,KAAI,SAAUw1B,GAC3E,OAAOA,EAAe3lC,UAMtBtjB,KAAK8mD,cAAcpU,GAAiB1yC,KAAKkH,QAAQ45C,kBAAmBkI,GAEtE,MAAOnoD,OAYXmgD,GAAgB3hD,UAAU6pD,UAAY,SAAmBnZ,GACvD,GAAI/vC,KAAKmpD,mBACP,OAAOnpD,KAAKshD,GAAGvgD,KAAK,CAAC,aAAaG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAGjF,GAAK6uC,GAAoBc,EAAQ,SAAU,UAI3C,IACE/vC,KAAK2yC,cAAczrC,QAAQ,CACzB4oC,eAAgB9vC,KAAKkH,QAAQu3C,iBAC7BzO,OAAQhwC,KAAKkH,QAAQ44C,aACrB/P,OAAQA,EACRE,SAAUjwC,KAAKkH,QAAQw3C,iBAEzB1+C,KAAKkH,QAAQ6oC,OAAS/vC,KAAK2yC,cAAczrC,UAAU6oC,OAEnD6T,GAAgB5jD,MAEhBqkD,GAAgBrkD,MAChB,MAAOa,IACPouC,GAAUjuC,MAAMH,MAWpBmgD,GAAgB3hD,UAAU4mC,UAAY,SAAmBD,GACvD,GAAIhmC,KAAKmpD,mBACP,OAAOnpD,KAAKshD,GAAGvgD,KAAK,CAAC,aAAaG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAGjF,IACEJ,KAAKkH,QAAQ8+B,YAAoBv/B,IAAXu/B,GAAmC,OAAXA,GAAmB,GAAKA,GAAU,KAEhFqe,GAAgBrkD,MAChB,MAAOa,IACPouC,GAAUjuC,MAAMH,MAoBpBmgD,GAAgB3hD,UAAU+pD,SAAW,SAAUC,EAAWta,GACxD,GAAI/uC,KAAKmpD,mBACP,OAAOnpD,KAAKshD,GAAGvgD,KAAK,CAAC,YAAYG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAGhF,GAAKJ,KAAKwmD,WAAW,eAAkBvX,GAAoBoa,EAAW,YAAa,YAAapa,GAAoBoa,GAApH,CAIA,IAAIha,EAAS,GACbA,EAAOga,GAAata,EACpB,IAAI7I,GAAW,IAAIC,IAAW/8B,IAAIigD,EAAWta,GAE7C/uC,KAAKspD,UAAUzd,EAA0B,KAAM,KAAM3F,EAASiO,yBAA0B9E,EAAQ,KAAM,KAAM,QAU9G2R,GAAgB3hD,UAAUkqD,UAAY,SAAmBje,GACvD,GAAItrC,KAAKmpD,mBACP,OAAOnpD,KAAKshD,GAAGvgD,KAAK,CAAC,aAAaG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAGjF,GAAK6uC,GAAoB3D,EAAQ,SAAU,WAI3C,IACEtrC,KAAKkH,QAAQusC,OAASnI,EAEtB+Y,GAAgBrkD,MAChB,MAAOa,IACPouC,GAAUjuC,MAAMH,MAIpBmgD,GAAgB3hD,UAAUmqD,aAAe,SAAsB9V,GAC7D,GAAKzE,GAAoByE,EAAW,YAAa,UAIjD,IACE1zC,KAAK+hD,WAAarO,EAElB2Q,GAAgBrkD,MAChB,MAAOa,IACPouC,GAAUjuC,MAAMH,MAIpBmgD,GAAgB3hD,UAAUoqD,eAAiB,WACzCzpD,KAAKwpD,cAAa,IAAI18C,MAAOE,YAW/Bg0C,GAAgB3hD,UAAUqqD,mBAAqB,WAC7C,GAAI1pD,KAAKmpD,mBACP,OAAOnpD,KAAKshD,GAAGvgD,KAAK,CAAC,sBAAsBG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAG1FJ,KAAK2pD,YAAYja,OAYnBsR,GAAgB3hD,UAAUsqD,YAAc,SAAqBnW,GAC3D,GAAIxzC,KAAKmpD,mBACP,OAAOnpD,KAAKshD,GAAGvgD,KAAK,CAAC,eAAeG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAGnF,GAAK6uC,GAAoBuE,EAAU,WAAY,UAI/C,IACOvE,GAAoBuE,KACvBxzC,KAAKkH,QAAQssC,SAAW,GAAKA,EAE7B6Q,GAAgBrkD,OAElB,MAAOa,IACPouC,GAAUjuC,MAAMH,MAapBmgD,GAAgB3hD,UAAUuqD,kBAAoB,SAA2BzE,GACvE,GAAInlD,KAAKmpD,mBACP,OAAOnpD,KAAKshD,GAAGvgD,KAAK,CAAC,qBAAqBG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAGzF,GAAKJ,KAAKwmD,WAAW,wBAA2BvX,GAAoBkW,EAAgB,iBAAkB,UAAtG,CAKA,IAAI0E,EAAY5a,GAAeA,GAAyBkW,IAExD,GAAsC,IAAlChnD,OAAOkd,KAAKwuC,GAAWxpD,OAA3B,CAKA,IAAI6lC,EAAW,IAAIC,GAEnB,IAAK,IAAI/mC,KAAYyqD,EACf1rD,OAAOkB,UAAUC,eAAe1B,KAAKisD,EAAWzqD,IAClD8mC,EAAS98B,IAAIhK,EAAUyqD,EAAUzqD,IAIrCY,KAAKkmC,SAASA,MAShB8a,GAAgB3hD,UAAUyqD,oBAAsB,WAC9C,GAAI9pD,KAAKmpD,mBACP,OAAOnpD,KAAKshD,GAAGvgD,KAAK,CAAC,uBAAuBG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAG3F,GAAKJ,KAAKwmD,WAAW,yBAArB,CAIA,IAAItgB,EAAW,IAAIC,GACnBD,EAASmO,WACTr0C,KAAKkmC,SAASA,KAShB,IAAI6jB,GAAkC,SAAyC/7C,EAAUg8C,GACvF,IAAK,IAAIvsD,EAAI,EAAGA,EAAIusD,EAAM1I,GAAGjhD,OAAQ5C,IAAK,CACxC,IAAIm3C,EAAK5mC,EAASg8C,EAAM1I,GAAG7jD,GAAG,IAEb,aAAbyS,EAAK0kC,IACPA,EAAGt0C,MAAM0N,EAAUg8C,EAAM1I,GAAG7jD,GAAGmrB,MAAM,IAIzC,OAAO5a,GAeTgzC,GAAgB3hD,UAAU6mC,SAAW,SAAU+jB,EAAc5H,GAC3D,GAAIriD,KAAKmpD,mBACP,OAAOnpD,KAAKshD,GAAGvgD,KAAK,CAAC,YAAYG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAGhF,GAAKJ,KAAKwmD,WAAW,cAerB,GAJ2B,WAAvBt2C,EAAK+5C,IAA8B9rD,OAAOkB,UAAUC,eAAe1B,KAAKqsD,EAAc,QACxFA,EAAeF,GAAgC,IAAI5jB,GAAY8jB,IAG7DA,aAAwB9jB,GAAU,CAEpC,GAAIhoC,OAAOkd,KAAK4uC,EAAa9V,0BAA0B9zC,OAAS,EAC9D,OAAOL,KAAKspD,UAAUzd,EAA0B,KAAM,KAAMoe,EAAa9V,yBAA0B,KAAM,KAAM,KAAMkO,GAE1F,aAAvBnyC,EAAKmyC,IACPA,EAAa,EAAG,kBAAmB,CACjChuC,OAAQ,qCAKd46B,GAAUjuC,MAAM,iEAAmEkP,EAAK+5C,IAE7D,aAAvB/5C,EAAKmyC,IACPA,EAAa,EAAG,kBAAmB,CACjChuC,OAAQ,oCA9Be,aAAvBnE,EAAKmyC,IACPA,EAAa,EAAG,kBAAmB,CACjChuC,OAAQ,wBAkChB2sC,GAAgB3hD,UAAU6qD,cAAgB,SAAUC,EAAYC,EAAYH,EAAc5H,GACxF,GAAIriD,KAAKmpD,mBACP,OAAOnpD,KAAKshD,GAAGvgD,KAAK,CAAC,iBAAiBG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAGrF,GAAKJ,KAAKwmD,WAAW,mBAUrB,GAAKvX,GAAoBkb,EAAY,aAAc,YAAalb,GAAoBkb,GAUpF,GAAmB,OAAfC,QAAsC3jD,IAAf2jD,EAe3B,GAJ2B,WAAvBl6C,EAAK+5C,IAA8B9rD,OAAOkB,UAAUC,eAAe1B,KAAKqsD,EAAc,QACxFA,EAAeF,GAAgC,IAAI5jB,GAAY8jB,IAG7DA,aAAwB9jB,GAAU,CAEpC,GAAIhoC,OAAOkd,KAAK4uC,EAAa9V,0BAA0B9zC,OAAS,EAC9D,OAAOL,KAAKspD,UAAUzd,EAAgC,KAAM,KAAM,KAAMxC,EAAgB,GAAI8gB,EAAYC,GAAaH,EAAa9V,yBAA0B,KAAMkO,GAEvI,aAAvBnyC,EAAKmyC,IACPA,EAAa,EAAG,kBAAmB,CACjChuC,OAAQ,sCAKd46B,GAAUjuC,MAAM,iEAAmEkP,EAAK+5C,IAE7D,aAAvB/5C,EAAKmyC,IACPA,EAAa,EAAG,kBAAmB,CACjChuC,OAAQ,oCA9Be,aAAvBnE,EAAKmyC,IACPA,EAAa,EAAG,kBAAmB,CACjChuC,OAAQ,2BAZe,aAAvBnE,EAAKmyC,IACPA,EAAa,EAAG,kBAAmB,CACjChuC,OAAQ,2BAZe,aAAvBnE,EAAKmyC,IACPA,EAAa,EAAG,kBAAmB,CACjChuC,OAAQ,wBA6DhB2sC,GAAgB3hD,UAAUgrD,eAAiB,SAAwBC,GACjE,GAAItqD,KAAKmpD,mBACP,OAAOnpD,KAAKshD,GAAGvgD,KAAK,CAAC,kBAAkBG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAGjF6uC,GAAoBqb,EAAa,cAAe,YAIrDtqD,KAAKkH,QAAQojD,YAAcA,IAQ7BtJ,GAAgB3hD,UAAUiqD,UAAY,SAAmB/qB,EAAWub,EAAiByQ,EAAepF,EAAgB9V,EAAQmb,EAAiBC,EAAWtgD,GAMtJ,GAJEy5C,GAAgB5jD,MAIbu+B,EAUL,GAAIv+B,KAAKkH,QAAQusC,OACQ,aAAnBvjC,EAAK/F,IACPA,EAAS,EAAG,kBAAmB,CAC7BkK,OAAQ,+BAOd,IACE,IAAIu/B,EAGFA,EADErV,IAAcsN,GAA4BtN,IAAcsN,EAChD7rC,KAAKonD,iBAELpnD,KAAKmnD,cAGjB,IAAIrT,EAAiB9zC,KAAKqnD,qBACtBqD,EAAgC,WAApBx6C,EAAKu6C,GAA0BA,GAAY,IAAI39C,MAAOE,YAEjEhN,KAAK+hD,aAAe/hD,KAAK4hD,gBAAkB8I,EAAY1qD,KAAK4hD,eAAiB5hD,KAAKkH,QAAQ64C,kBAC7F//C,KAAK+hD,WAAa2I,GAGpB1qD,KAAK4hD,eAAiB8I,EAEtBrG,GAAgBrkD,MAEhB,IAAI2qD,EAAS3qD,KAAKqhD,IAAInF,QAAQl+C,KAC1B4sD,EAAY5qD,KAAKqhD,IAAInF,QAAQT,MAC7BoP,EAAc7qD,KAAKqhD,IAAI5E,GAAGz+C,KAI9BmnD,EAAiBA,GAAkB,GAEnC,IAAInF,EAAkB1W,EAAc,GAAItpC,KAAKyjD,+BAE7C8G,EAAgBjhB,EAAc,GAAIihB,GAAiB,GAAIvK,GACvDlG,EAAkBA,GAAmB,GACrCzK,EAASA,GAAU,GACnBmb,EAAkBA,GAAmB,GACrC,IAAIlnC,EAAQ,CACVwnC,UAAW9qD,KAAKkH,QAAQssC,SACxBuX,QAAS/qD,KAAKkH,QAAQ8+B,OACtBykB,UAAWC,EACXM,SAAUpX,EACVqX,WAAYjrD,KAAK+hD,aAAe,EAChCmJ,WAAY3sB,EACZoiB,aAAcwK,GAAkBnrD,KAAM,iBAAkBA,KAAKkH,QAAQojD,aAAqC,KAC1G5K,SAAUyL,GAAkBnrD,KAAM,YAAcA,KAAKkH,QAAQw4C,SAAW,KACxEc,QAAS2K,GAAkBnrD,KAAM,YAAa2qD,GAAiB,KAC/DlK,WAAY0K,GAAkBnrD,KAAM,eAAgB4qD,GAAoB,KACxEvK,aAAc8K,GAAkBnrD,KAAM,iBAAkB6qD,GAAsB,KAC9EzK,qBAAqB+K,GAAkBnrD,KAAM,uBAA+C,MAC5Fq/C,SAAU8L,GAAkBnrD,KAAM,YAAcA,KAAKkH,QAAQm4C,SAAW,KACxEc,SAASgL,GAAkBnrD,KAAM,WAAwB,MACzDorD,eAAgBb,EAChBlF,iBAAkBpW,GAAeA,GAAyB6K,IAC1DsL,gBAAiBnW,GAAeA,GAAyBkW,IACzD9G,KAAMA,KACNgN,QAAS,CACPrtD,KAAM,eACN09C,QAASA,IAEX4P,gBAAiBxX,EAEjBzE,OAAQJ,GAAeA,GAAqBI,IAC5Ckc,iBAAkBtc,GAAeA,GAAyBub,IAC1DgB,WAAYxrD,KAAKiiD,YAyBnB,OAtBI1jB,IAAcsN,GAA4BtN,IAAcsN,GAC1D7rC,KAAKohD,iBAAiBrgD,KAAK,CACzBuiB,MAAOA,EACPnZ,SAAUA,IAGZnK,KAAKyrD,mBAAmBzrD,KAAKohD,oBAE7BphD,KAAKmhD,cAAcpgD,KAAK,CACtBuiB,MAAOA,EACPnZ,SAAUA,IAGZnK,KAAKyrD,mBAAmBzrD,KAAKmhD,gBAG3BnhD,KAAKkH,QAAQ04C,YACf5/C,KAAK4/C,aAGP5/C,KAAKskD,mBAAmBn6C,GAEjBypC,EACP,MAAO/yC,IACPouC,GAAUjuC,MAAMH,QA3GO,aAAnBqP,EAAK/F,IACPA,EAAS,EAAG,kBAAmB,CAC7BkK,OAAQ,uBA6GhB,IAAI82C,GAAoB,SAA2B3D,EAAO5uB,GACxD,QAAS4uB,EAAMtgD,QAAQ84C,gBAAgBpnB,IAGrC4qB,GAAuC,SAA8CgE,GAKvF,IAHA,IAAIkE,EAAS,CAAC,OAAQ,UAAW,MAAO,aAAc,UAClDtxB,EAAS,GAEJ38B,EAAI,EAAGA,EAAIiuD,EAAOrrD,OAAQ5C,IAAK,CACtC,IAAIm7B,EAAQ8yB,EAAOjuD,GAEd0tD,GAAkB3D,EAAO5uB,KAC5BwB,EAAOxB,IAAS,GAIpB,OAAOwB,GAQT4mB,GAAgB3hD,UAAUosD,mBAAqB,SAA4BvG,GACrEA,EAAM7kD,OAASL,KAAKkH,QAAQy4C,eACVuF,EAAMyG,OAAO,EAAGzG,EAAM7kD,OAASL,KAAKkH,QAAQy4C,eAClDzkC,SAAQ,SAAUoI,GACD,aAAzBpT,EAAKoT,EAAMnZ,WACbmZ,EAAMnZ,SAAS,EAAG,kBAAmB,CACnCkK,OAAQ,4GA0BlB2sC,GAAgB3hD,UAAUqnC,SAAW,SAAkBnI,EAAWub,EAAiBuI,GACjF,OAAIriD,KAAKmpD,mBACAnpD,KAAKshD,GAAGvgD,KAAK,CAAC,YAAYG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAGzEJ,KAAK4rD,sBAAsBrtB,EAAWub,EAAiB,KAAMuI,IActErB,GAAgB3hD,UAAUusD,sBAAwB,SAAkBrtB,EAAWub,EAAiB2Q,EAAWpI,GACzG,OAAIriD,KAAKmpD,mBACAnpD,KAAKshD,GAAGvgD,KAAK,CAAC,yBAAyBG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAGxFJ,KAAKwmD,WAAW,cAUhBvX,GAAoB1Q,EAAW,YAAa,UAU7C0Q,GAAoB1Q,IACK,aAAvBruB,EAAKmyC,IACPA,EAAa,EAAG,kBAAmB,CACjChuC,OAAQ,uBAIJ,GAGHrU,KAAKspD,UAAU/qB,EAAWub,EAAiB,KAAM,KAAM,KAAM,KAAM2Q,EAAWpI,IAnBxD,aAAvBnyC,EAAKmyC,IACPA,EAAa,EAAG,kBAAmB,CACjChuC,OAAQ,gCAIJ,IAhBmB,aAAvBnE,EAAKmyC,IACPA,EAAa,EAAG,kBAAmB,CACjChuC,OAAQ,qBAIJ,IA2CZ2sC,GAAgB3hD,UAAUwsD,mBAAqB,SAAUttB,EAAWub,EAAiBzK,EAAQgT,GAC3F,OAAIriD,KAAKmpD,mBACAnpD,KAAKshD,GAAGvgD,KAAK,CAAC,sBAAsBG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAGrFJ,KAAKwmD,WAAW,wBAUhBvX,GAAoB1Q,EAAW,YAAa,UAU1Cv+B,KAAKspD,UAAU/qB,EAAWub,EAAiB,KAAM,KAAMzK,EAAQ,KAAM,KAAMgT,IATrD,aAAvBnyC,EAAKmyC,IACPA,EAAa,EAAG,kBAAmB,CACjChuC,OAAQ,gCAIJ,IAhBmB,aAAvBnE,EAAKmyC,IACPA,EAAa,EAAG,kBAAmB,CACjChuC,OAAQ,qBAIJ,IAqBZ,IAAIy3C,GAAY,SAAmB5sD,GACjC,OAAQguC,MAAM6e,WAAW7sD,KAAO8sD,SAAS9sD,IAe3C8hD,GAAgB3hD,UAAU4sD,aAAe,SAAsBC,GAC7D,GAAIlsD,KAAKmpD,mBACP,OAAOnpD,KAAKshD,GAAGvgD,KAAK,CAAC,gBAAgBG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAGpF,GAAKJ,KAAKwmD,WAAW,kBASrB,GAJ0B,WAAtBt2C,EAAKg8C,IAA6B/tD,OAAOkB,UAAUC,eAAe1B,KAAKsuD,EAAa,QACtFA,EAAcnC,GAAgC,IAAIhR,GAAWmT,IAG3DA,aAAuBnT,IAEzB,GAAImT,GAAeA,EAAYnS,kBAC7B,OAAO/5C,KAAK0mC,SAASmF,EAAyBqgB,EAAYlS,sBAG5D/K,GAAUjuC,MAAM,+DAAiEkP,EAAKg8C,KAcxFlL,GAAgB3hD,UAAU8sD,WAAa,SAAoBzS,EAAOF,EAAU4S,GAC1E,OAAIpsD,KAAKmpD,mBACAnpD,KAAKshD,GAAGvgD,KAAK,CAAC,cAAcG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,KAI7EJ,KAAKwmD,WAAW,iBAAoBsF,GAAUpS,UAAuBjzC,IAAb+yC,GAA2BsS,GAAUtS,IAK3Fx5C,KAAKspD,UAAUzd,EAAyB,GAAI,CACjDyN,UAAW8S,EACXC,QAAS,iBACT7S,SAAUA,GAAY,EACtBE,MAAOA,GACN,KAAM,KAAM,KAAM,KAAM,OARjB,GAgBdsH,GAAgB3hD,UAAUitD,aAAe,SAAsBC,EAAYC,EAAel8C,EAAQm8C,GAChGC,GAAc1sD,KAAM,gBAAiBusD,EAAYj8C,EAAQm8C,GAEzDC,GAAc1sD,KAAM,mBAAoBwsD,EAAel8C,EAAQm8C,IASjE,IAAIC,GAAgB,SAAuBlF,EAAOmF,EAAYC,EAAOt8C,EAAQm8C,GAC3E,KAAIG,EAAQ,GAAZ,CAMA,IAFA,IAAIC,EAAiB,GAEZpvD,EAAI,EAAGA,EAAI+pD,EAAMmF,GAAYtsD,OAAa5C,IAAK,CACtD,IAAIqvD,EAActF,EAAMmF,GAAYlvD,GAEhCqvD,EAAYxpC,MAAM0nC,SAAW4B,EAC/BC,EAAe9rD,KAAK+rD,GAEhBA,EAAY3iD,UACd2iD,EAAY3iD,SAASmG,EAAQm8C,GAKnCjF,EAAMmF,GAAcE,IAStB7L,GAAgB3hD,UAAUkoD,WAAa,WACrC,GAAKvnD,KAAKwmD,WAAW,iBAOrB,GAAIxmD,KAAKkH,QAAQusC,OACfzzC,KAAKssD,aAAaS,IAAUA,IAAU,EAAG,kBAAmB,CAC1D14C,OAAQ,gCAMZ,GAA4B,IAAxBrU,KAAKsnD,iBAMLtnD,KAAKuhD,SAAT,CAIAvhD,KAAKuhD,UAAW,EAChB,IACIlgD,GADWrB,KAAKkH,QAAQ83C,YAAuB,WAAan1C,OAAO28B,SAASwmB,SAAvC,QAA4D,QAChF,MAAQhtD,KAAKkH,QAAQq3C,YAEtC0O,EAAYzwC,KAAK+L,IAAIvoB,KAAKsnD,eAAgBtnD,KAAKkH,QAAQ65C,iBAEvDmM,EAAeltD,KAAKmtD,yBAAyBF,GAE7CV,EAAaW,EAAaX,WAC1BC,EAAgBU,EAAaV,cAC7BzF,EAAS7V,KAAKG,UAAU6b,EAAaE,aAAa35B,KAAI,SAAU8f,GAElE,OADYA,EAAMjwB,UAGhB+pC,GAAa,IAAIvgD,MAAOE,UACxB8R,EAAO,CACTwuC,OAAQttD,KAAKkH,QAAQg7C,OACrBrhD,EAAGkmD,EACH3U,EAAGvG,EACH0hB,YAAaF,EACbG,SAAU3Y,GAAIhJ,EAAwB7rC,KAAKkH,QAAQg7C,OAAS6E,EAASsG,IAEnE7F,EAAQxnD,KACZ,IAAIi4C,GAAQ52C,EAAKyd,GAAMo5B,MAAK,SAAU5nC,EAAQm8C,GAC5CjF,EAAMjG,UAAW,EAEjB,IACiB,MAAXjxC,GAA+B,YAAbm8C,GACpBjF,EAAM8E,aAAaC,EAAYC,EAAel8C,EAAQm8C,GAElDjF,EAAMtgD,QAAQ04C,YAChB4H,EAAM5H,aAIR4H,EAAMlD,sBAEc,MAAXh0C,IAG6B,IAAlCk3C,EAAMtgD,QAAQ65C,iBAChByG,EAAM8E,aAAaC,EAAYC,EAAel8C,EAAQm8C,GAIxDjF,EAAMtgD,QAAQ65C,gBAAkBvkC,KAAKixC,KAAKR,EAAY,GACtDzF,EAAMD,cAQR,MAAO1mD,eA9ETb,KAAKssD,aAAaS,IAAUA,IAAU,EAAG,kBAAmB,CAC1D14C,OAAQ,qBAwFd2sC,GAAgB3hD,UAAU8tD,yBAA2B,SAAkCF,GAQrF,IANA,IAAIG,EAAe,GACfM,EAAa,EACbnB,GAAc,EACdoB,EAAgB,EAChBnB,GAAiB,EAEdY,EAAa/sD,OAAS4sD,GAAW,CACtC,IAAIH,OAAc,EACdc,EAAcD,GAAiB3tD,KAAKohD,iBAAiB/gD,OACrDwtD,EAAWH,GAAc1tD,KAAKmhD,cAAc9gD,OAGhD,GAAIwtD,GAAYD,EAAa,CAC3B3e,GAAUjuC,MAAM,yEAChB,MAEO4sD,EAEPrB,GADAO,EAAc9sD,KAAKmhD,cAAcuM,MACRpqC,MAAM0nC,SACtB6C,EAETrB,GADAM,EAAc9sD,KAAKohD,iBAAiBuM,MACRrqC,MAAM0nC,WAG5B,oBAAqBhrD,KAAKmhD,cAAcuM,GAAYpqC,QAAUtjB,KAAKmhD,cAAcuM,GAAYpqC,MAAMgoC,gBAAkBtrD,KAAKohD,iBAAiBuM,GAAerqC,MAAMgoC,gBAEpKiB,GADAO,EAAc9sD,KAAKmhD,cAAcuM,MACRpqC,MAAM0nC,SAG/BwB,GADAM,EAAc9sD,KAAKohD,iBAAiBuM,MACRrqC,MAAM0nC,SAItCoC,EAAarsD,KAAK+rD,GAGpB,MAAO,CACLM,aAAcA,EACdb,WAAYA,EACZC,cAAeA,IAUjBxL,GAAgB3hD,UAAUyuD,wBAA0B,SAAiC3I,GACnFnlD,KAAK4pD,kBAAkBzE,IAU3BnE,GAAgB3hD,UAAU0uD,YAAcrS,GAMxCsF,GAAgB3hD,UAAU8pD,iBAAmB,WAC3C,OAAOnpD,KAAK6jD,qBAAuB7jD,KAAKguD,yBAS1ChN,GAAgB3hD,UAAUkkD,qBAAuB,WAC/CvjD,KAAKguD,yBAA0B,EAE/BhuD,KAAKshD,GAAGvgD,KAAK,CAAC,QAAQG,OAAOrB,MAAMR,UAAUupB,MAAMhrB,KAAKwC,UAAW,MAUrE4gD,GAAgB3hD,UAAU4uD,eAAiB,WAEzCjuD,KAAKguD,yBAA0B,EAE/B3J,GAAgBrkD,MAEhBA,KAAKwkD,sBAgBP,IAAI0J,GAAY,WACdluD,KAAKkH,QAAUoiC,EAAc,GAAIgV,IACjCt+C,KAAKshD,GAAK,GACVthD,KAAKmuD,WAAa,IAGpBD,GAAU7uD,UAAU8mC,SAAWA,GAC/B+nB,GAAU7uD,UAAU05C,QAAUA,GAE9BmV,GAAU7uD,UAAU0mC,YAAc,SAAqB/3B,GACrDA,EAAWihC,GAAoBjhC,GAAY69B,EAA6B79B,EAASyT,cACjF,IAAI6rC,EAASttD,KAAKmuD,WAAWngD,GAO7B,YALevH,IAAX6mD,IACFA,EAAS,IAAItM,GAAgBhzC,GAC7BhO,KAAKmuD,WAAWngD,GAAYs/C,GAGvBA,GAQPY,GAAU7uD,UAAUmlD,mBAAqB,WAEvC,IAAK,IAAI/mD,EAAI,EAAGA,EAAIuC,KAAKshD,GAAGjhD,OAAQ5C,IAAK,CACvC,IAAIm3C,EAAK50C,KAAKA,KAAKshD,GAAG7jD,GAAG,IAER,aAAbyS,EAAK0kC,IACPA,EAAGt0C,MAAMN,KAAMA,KAAKshD,GAAG7jD,GAAGmrB,MAAM,IAOpC,IAAK,IAAI5a,KAHThO,KAAKshD,GAAK,GAGWthD,KAAKmuD,WACpBhwD,OAAOkB,UAAUC,eAAe1B,KAAKoC,KAAKmuD,WAAYngD,IACxDhO,KAAKmuD,WAAWngD,GAAUw2C,sBAkBhC0J,GAAU7uD,UAAU4G,KAAO,SAAci8C,EAAQC,EAAYC,EAAYC,GACvEriD,KAAK+lC,cAAc9/B,KAAKi8C,EAAQC,EAAYC,EAAY,SAAUp0C,GAEhEhO,KAAKkH,QAAU8G,EAAS9G,QAEG,aAAvBgJ,EAAKmyC,IACPA,EAAar0C,IAEf/O,KAAKe,QAUTkuD,GAAU7uD,UAAU2nD,aAAe,WACjC,OAAOhnD,KAAK+lC,cAAcihB,gBAU5BkH,GAAU7uD,UAAU6nD,aAAe,WACjC,OAAOlnD,KAAK+lC,cAAcmhB,gBAQ5BgH,GAAU7uD,UAAU8nD,YAAc,WAChC,OAAOnnD,KAAK+lC,cAAcohB,eAQ5B+G,GAAU7uD,UAAU+nD,eAAiB,WACnC,OAAOpnD,KAAK+lC,cAAcqhB,kBAQ5B8G,GAAU7uD,UAAUgoD,mBAAqB,WACvC,OAAOrnD,KAAK+lC,cAAcshB,sBAS5B6G,GAAU7uD,UAAUugD,WAAa,WAC/B5/C,KAAK+lC,cAAc6Z,cAWrBsO,GAAU7uD,UAAU6pD,UAAY,SAAmBnZ,GACjD/vC,KAAK+lC,cAAcmjB,UAAUnZ,IAW/Bme,GAAU7uD,UAAU4mC,UAAY,SAAmBD,GACjDhmC,KAAK+lC,cAAcE,UAAUD,IAkB/BkoB,GAAU7uD,UAAU+pD,SAAW,SAAUC,EAAWta,GAClD/uC,KAAK+lC,cAAcqjB,SAASC,EAAWta,IAWzCmf,GAAU7uD,UAAUkqD,UAAY,SAAmBje,GACjDtrC,KAAK+lC,cAAcwjB,UAAUje,IAY/B4iB,GAAU7uD,UAAUqqD,mBAAqB,WACvC1pD,KAAK+lC,cAAc2jB,sBAerBwE,GAAU7uD,UAAUsqD,YAAc,SAAqBnW,GACrDxzC,KAAK+lC,cAAc4jB,YAAYnW,IAajC0a,GAAU7uD,UAAUuqD,kBAAoB,SAA2BzE,GACjEnlD,KAAK+lC,cAAc6jB,kBAAkBzE,IAUvC+I,GAAU7uD,UAAUyqD,oBAAsB,WACxC9pD,KAAK+lC,cAAc+jB,uBAgBrBoE,GAAU7uD,UAAU6mC,SAAW,SAAU+jB,EAAc5H,GACrDriD,KAAK+lC,cAAcG,SAAS+jB,EAAc5H,IAW5C6L,GAAU7uD,UAAUgrD,eAAiB,SAAwBC,GAC3DtqD,KAAK+lC,cAAcskB,eAAeC,IAsBpC4D,GAAU7uD,UAAUqnC,SAAW,SAAkBnI,EAAWub,EAAiBuI,GAC3E,OAAOriD,KAAK+lC,cAAcW,SAASnI,EAAWub,EAAiBuI,IAsBjE6L,GAAU7uD,UAAUwsD,mBAAqB,SAAUttB,EAAWub,EAAiBzK,EAAQgT,GACrF,OAAOriD,KAAK+lC,cAAc8lB,mBAAmBttB,EAAWub,EAAiBzK,EAAQgT,IAgBnF6L,GAAU7uD,UAAU4sD,aAAe,SAAsBC,GACvD,OAAOlsD,KAAK+lC,cAAckmB,aAAaC,IAazCgC,GAAU7uD,UAAU8sD,WAAa,SAAoBzS,EAAOF,EAAU4S,GACpE,OAAOpsD,KAAK+lC,cAAcomB,WAAWzS,EAAOF,EAAU4S,IAQxD8B,GAAU7uD,UAAUitD,aAAe,SAAsBC,EAAYC,GACnExsD,KAAK+lC,cAAcumB,aAAaC,EAAYC,IAW9C0B,GAAU7uD,UAAUkoD,WAAa,SAAoBp9C,GACnDnK,KAAK+lC,cAAcwhB,WAAWp9C,IAShC+jD,GAAU7uD,UAAUyuD,wBAA0B,SAAiC3I,GAC7EnlD,KAAK+lC,cAAc6jB,kBAAkBzE,IAUzC+I,GAAU7uD,UAAU0uD,YAAcrS,GAElC,IAAI0S,GAAMvkD,OAAOi8B,WAAa,GAC1BuoB,GAAc,IAAIH,GAOtB,IAAK,IAAIlgD,MANTqgD,GAAY/M,GAAK8M,GAAI9M,IAAM,GAMN8M,GAAIE,IAEnBnwD,OAAOkB,UAAUC,eAAe1B,KAAKwwD,GAAIE,IAAKtgD,MAChDqgD,GAAYtoB,YAAY/3B,IAAUszC,GAAK8M,GAAIE,IAAItgD,IAAUszC,IAAM,IASnE,OAHE+M,GAAY7J,qBAGP6J,IA17KwD7wD,EAAOD,QAAUmhC,M,mDCAlF,IAKI6vB,EACAC,EANA7jB,EAAUntC,EAAOD,QAAU,GAQ/B,SAASkxD,IACP,MAAM,IAAI3nD,MAAM,mCAGlB,SAAS4nD,IACP,MAAM,IAAI5nD,MAAM,qCAyBlB,SAAS6nD,EAAWC,GAClB,GAAIL,IAAqBv6C,WAEvB,OAAOA,WAAW46C,EAAK,GAIzB,IAAKL,IAAqBE,IAAqBF,IAAqBv6C,WAElE,OADAu6C,EAAmBv6C,WACZA,WAAW46C,EAAK,GAGzB,IAEE,OAAOL,EAAiBK,EAAK,GAC7B,MAAO/tD,GACP,IAEE,OAAO0tD,EAAiB3wD,KAAK,KAAMgxD,EAAK,GACxC,MAAO/tD,GAEP,OAAO0tD,EAAiB3wD,KAAKoC,KAAM4uD,EAAK,MA3C9C,WACE,IAEIL,EADwB,oBAAfv6C,WACUA,WAEAy6C,EAErB,MAAO5tD,GACP0tD,EAAmBE,EAGrB,IAEID,EAD0B,oBAAjB36C,aACYA,aAEA66C,EAEvB,MAAO7tD,GACP2tD,EAAqBE,GAlBzB,GA2EA,IAEIG,EAFA3J,EAAQ,GACR4J,GAAW,EAEXC,GAAc,EAElB,SAASC,IACFF,GAAaD,IAIlBC,GAAW,EAEPD,EAAaxuD,OACf6kD,EAAQ2J,EAAa3tD,OAAOgkD,GAE5B6J,GAAc,EAGZ7J,EAAM7kD,QACR4uD,KAIJ,SAASA,IACP,IAAIH,EAAJ,CAIA,IAAII,EAAUP,EAAWK,GACzBF,GAAW,EAGX,IAFA,IAAI/3B,EAAMmuB,EAAM7kD,OAET02B,GAAK,CAIV,IAHA83B,EAAe3J,EACfA,EAAQ,KAEC6J,EAAah4B,GAChB83B,GACFA,EAAaE,GAAY7xC,MAI7B6xC,GAAc,EACdh4B,EAAMmuB,EAAM7kD,OAGdwuD,EAAe,KACfC,GAAW,EA1Eb,SAAyBK,GACvB,GAAIX,IAAuB36C,aAEzB,OAAOA,aAAas7C,GAItB,IAAKX,IAAuBE,IAAwBF,IAAuB36C,aAEzE,OADA26C,EAAqB36C,aACdA,aAAas7C,GAGtB,IAESX,EAAmBW,GAC1B,MAAOtuD,GACP,IAEE,OAAO2tD,EAAmB5wD,KAAK,KAAMuxD,GACrC,MAAOtuD,GAGP,OAAO2tD,EAAmB5wD,KAAKoC,KAAMmvD,KAqDzCC,CAAgBF,IAoBlB,SAASG,EAAKT,EAAKU,GACjBtvD,KAAK4uD,IAAMA,EACX5uD,KAAKsvD,MAAQA,EAef,SAASC,KAlCT5kB,EAAQ6kB,SAAW,SAAUZ,GAC3B,IAAItoD,EAAO,IAAIzG,MAAMO,UAAUC,OAAS,GAExC,GAAID,UAAUC,OAAS,EACrB,IAAK,IAAI5C,EAAI,EAAGA,EAAI2C,UAAUC,OAAQ5C,IACpC6I,EAAK7I,EAAI,GAAK2C,UAAU3C,GAI5BynD,EAAMnkD,KAAK,IAAIsuD,EAAKT,EAAKtoD,IAEJ,IAAjB4+C,EAAM7kD,QAAiByuD,GACzBH,EAAWM,IAUfI,EAAKhwD,UAAU6d,IAAM,WACnBld,KAAK4uD,IAAItuD,MAAM,KAAMN,KAAKsvD,QAG5B3kB,EAAQ8kB,MAAQ,UAChB9kB,EAAQuR,SAAU,EAClBvR,EAAQ+kB,IAAM,GACd/kB,EAAQglB,KAAO,GACfhlB,EAAQ+Q,QAAU,GAElB/Q,EAAQC,SAAW,GAInBD,EAAQilB,GAAKL,EACb5kB,EAAQklB,YAAcN,EACtB5kB,EAAQmlB,KAAOP,EACf5kB,EAAQolB,IAAMR,EACd5kB,EAAQqlB,eAAiBT,EACzB5kB,EAAQslB,mBAAqBV,EAC7B5kB,EAAQrjC,KAAOioD,EACf5kB,EAAQulB,gBAAkBX,EAC1B5kB,EAAQwlB,oBAAsBZ,EAE9B5kB,EAAQylB,UAAY,SAAUpyD,GAC5B,MAAO,IAGT2sC,EAAQ0lB,QAAU,SAAUryD,GAC1B,MAAM,IAAI8I,MAAM,qCAGlB6jC,EAAQ2lB,IAAM,WACZ,MAAO,KAGT3lB,EAAQ4lB,MAAQ,SAAUC,GACxB,MAAM,IAAI1pD,MAAM,mCAGlB6jC,EAAQ8lB,MAAQ,WACd,OAAO,I,8BC9MT,YAUA,IAAIC,EAAS,EAAQ,IAEjBC,EAAU,EAAQ,IAElBz5B,EAAU,EAAQ,IAsDtB,SAAS05B,IACP,OAAOnjB,EAAOojB,oBAAsB,WAAa,WAGnD,SAASC,EAAaC,EAAM1wD,GAC1B,GAAIuwD,IAAevwD,EACjB,MAAM,IAAI2wD,WAAW,8BAgBvB,OAbIvjB,EAAOojB,qBAETE,EAAO,IAAIE,WAAW5wD,IACjBT,UAAY6tC,EAAOpuC,WAGX,OAAT0xD,IACFA,EAAO,IAAItjB,EAAOptC,IAGpB0wD,EAAK1wD,OAASA,GAGT0wD,EAaT,SAAStjB,EAAOyjB,EAAKC,EAAkB9wD,GACrC,IAAKotC,EAAOojB,uBAAyB7wD,gBAAgBytC,GACnD,OAAO,IAAIA,EAAOyjB,EAAKC,EAAkB9wD,GAI3C,GAAmB,kBAAR6wD,EAAkB,CAC3B,GAAgC,kBAArBC,EACT,MAAM,IAAIrqD,MAAM,qEAGlB,OAAOsqD,EAAYpxD,KAAMkxD,GAG3B,OAAOt6B,EAAK52B,KAAMkxD,EAAKC,EAAkB9wD,GAW3C,SAASu2B,EAAKm6B,EAAMryD,EAAOyyD,EAAkB9wD,GAC3C,GAAqB,kBAAV3B,EACT,MAAM,IAAIiC,UAAU,yCAGtB,MAA2B,qBAAhB0wD,aAA+B3yD,aAAiB2yD,YAsI7D,SAAyBN,EAAMzB,EAAOgC,EAAYjxD,GAGhD,GAFAivD,EAAMiC,WAEFD,EAAa,GAAKhC,EAAMiC,WAAaD,EACvC,MAAM,IAAIN,WAAW,6BAGvB,GAAI1B,EAAMiC,WAAaD,GAAcjxD,GAAU,GAC7C,MAAM,IAAI2wD,WAAW,6BAIrB1B,OADiB7oD,IAAf6qD,QAAuC7qD,IAAXpG,EACtB,IAAI4wD,WAAW3B,QACH7oD,IAAXpG,EACD,IAAI4wD,WAAW3B,EAAOgC,GAEtB,IAAIL,WAAW3B,EAAOgC,EAAYjxD,GAGxCotC,EAAOojB,qBAETE,EAAOzB,GACF1vD,UAAY6tC,EAAOpuC,UAGxB0xD,EAAOS,EAAcT,EAAMzB,GAG7B,OAAOyB,EAjKEU,CAAgBV,EAAMryD,EAAOyyD,EAAkB9wD,GAGnC,kBAAV3B,EAgGb,SAAoBqyD,EAAMla,EAAQ6a,GACR,kBAAbA,GAAsC,KAAbA,IAClCA,EAAW,QAGb,IAAKjkB,EAAOkkB,WAAWD,GACrB,MAAM,IAAI/wD,UAAU,8CAGtB,IAAIN,EAAwC,EAA/BkxD,EAAW1a,EAAQ6a,GAE5BE,GADJb,EAAOD,EAAaC,EAAM1wD,IACRwxD,MAAMhb,EAAQ6a,GAE5BE,IAAWvxD,IAIb0wD,EAAOA,EAAKnoC,MAAM,EAAGgpC,IAGvB,OAAOb,EAnHEe,CAAWf,EAAMryD,EAAOyyD,GAgKnC,SAAoBJ,EAAM3nB,GACxB,GAAIqE,EAAOC,SAAStE,GAAM,CACxB,IAAIrS,EAA4B,EAAtBmM,EAAQkG,EAAI/oC,QAGtB,OAAoB,KAFpB0wD,EAAOD,EAAaC,EAAMh6B,IAEjB12B,QAIT+oC,EAAImF,KAAKwiB,EAAM,EAAG,EAAGh6B,GAHZg6B,EAOX,GAAI3nB,EAAK,CACP,GAA2B,qBAAhBioB,aAA+BjoB,EAAI2oB,kBAAkBV,aAAe,WAAYjoB,EACzF,MAA0B,kBAAfA,EAAI/oC,SAigDNuM,EAjgDmCw8B,EAAI/oC,UAkgDrCuM,EAjgDFkkD,EAAaC,EAAM,GAGrBS,EAAcT,EAAM3nB,GAG7B,GAAiB,WAAbA,EAAIl5B,MAAqBgnB,EAAQkS,EAAItqB,MACvC,OAAO0yC,EAAcT,EAAM3nB,EAAItqB,MAy/CrC,IAAelS,EAr/Cb,MAAM,IAAIjM,UAAU,sFAxLbqxD,CAAWjB,EAAMryD,GA6B1B,SAASuzD,EAAWC,GAClB,GAAoB,kBAATA,EACT,MAAM,IAAIvxD,UAAU,oCACf,GAAIuxD,EAAO,EAChB,MAAM,IAAIlB,WAAW,wCA8BzB,SAASI,EAAYL,EAAMmB,GAIzB,GAHAD,EAAWC,GACXnB,EAAOD,EAAaC,EAAMmB,EAAO,EAAI,EAAoB,EAAhBhvB,EAAQgvB,KAE5CzkB,EAAOojB,oBACV,IAAK,IAAIpzD,EAAI,EAAGA,EAAIy0D,IAAQz0D,EAC1BszD,EAAKtzD,GAAK,EAId,OAAOszD,EA0CT,SAASS,EAAcT,EAAMzB,GAC3B,IAAIjvD,EAASivD,EAAMjvD,OAAS,EAAI,EAA4B,EAAxB6iC,EAAQosB,EAAMjvD,QAClD0wD,EAAOD,EAAaC,EAAM1wD,GAE1B,IAAK,IAAI5C,EAAI,EAAGA,EAAI4C,EAAQ5C,GAAK,EAC/BszD,EAAKtzD,GAAgB,IAAX6xD,EAAM7xD,GAGlB,OAAOszD,EAgET,SAAS7tB,EAAQ7iC,GAGf,GAAIA,GAAUuwD,IACZ,MAAM,IAAII,WAAW,0DAAiEJ,IAAa1vC,SAAS,IAAM,UAGpH,OAAgB,EAAT7gB,EA8FT,SAASkxD,EAAW1a,EAAQ6a,GAC1B,GAAIjkB,EAAOC,SAASmJ,GAClB,OAAOA,EAAOx2C,OAGhB,GAA2B,qBAAhBgxD,aAA6D,oBAAvBA,YAAYc,SAA0Bd,YAAYc,OAAOtb,IAAWA,aAAkBwa,aACrI,OAAOxa,EAAO0a,WAGM,kBAAX1a,IACTA,EAAS,GAAKA,GAGhB,IAAI9f,EAAM8f,EAAOx2C,OACjB,GAAY,IAAR02B,EAAW,OAAO,EAItB,IAFA,IAAIq7B,GAAc,IAGhB,OAAQV,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAO36B,EAET,IAAK,OACL,IAAK,QACL,UAAKtwB,EACH,OAAO4rD,EAAYxb,GAAQx2C,OAE7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAa,EAAN02B,EAET,IAAK,MACH,OAAOA,IAAQ,EAEjB,IAAK,SACH,OAAOu7B,EAAczb,GAAQx2C,OAE/B,QACE,GAAI+xD,EAAa,OAAOC,EAAYxb,GAAQx2C,OAE5CqxD,GAAY,GAAKA,GAAUjwC,cAC3B2wC,GAAc,GAOtB,SAASG,EAAab,EAAUc,EAAOC,GACrC,IAAIL,GAAc,EAalB,SANc3rD,IAAV+rD,GAAuBA,EAAQ,KACjCA,EAAQ,GAKNA,EAAQxyD,KAAKK,OACf,MAAO,GAOT,SAJYoG,IAARgsD,GAAqBA,EAAMzyD,KAAKK,UAClCoyD,EAAMzyD,KAAKK,QAGToyD,GAAO,EACT,MAAO,GAOT,IAHAA,KAAS,KACTD,KAAW,GAGT,MAAO,GAKT,IAFKd,IAAUA,EAAW,UAGxB,OAAQA,GACN,IAAK,MACH,OAAOgB,EAAS1yD,KAAMwyD,EAAOC,GAE/B,IAAK,OACL,IAAK,QACH,OAAOE,EAAU3yD,KAAMwyD,EAAOC,GAEhC,IAAK,QACH,OAAOG,EAAW5yD,KAAMwyD,EAAOC,GAEjC,IAAK,SACL,IAAK,SACH,OAAOI,EAAY7yD,KAAMwyD,EAAOC,GAElC,IAAK,SACH,OAAOK,EAAY9yD,KAAMwyD,EAAOC,GAElC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOM,EAAa/yD,KAAMwyD,EAAOC,GAEnC,QACE,GAAIL,EAAa,MAAM,IAAIzxD,UAAU,qBAAuB+wD,GAC5DA,GAAYA,EAAW,IAAIjwC,cAC3B2wC,GAAc,GAStB,SAASY,EAAKtzD,EAAGR,EAAGrB,GAClB,IAAIJ,EAAIiC,EAAER,GACVQ,EAAER,GAAKQ,EAAE7B,GACT6B,EAAE7B,GAAKJ,EAgJT,SAASw1D,EAAqBlB,EAAQnlD,EAAK0kD,EAAYI,EAAUlB,GAE/D,GAAsB,IAAlBuB,EAAO1xD,OAAc,OAAQ,EAqBjC,GAnB0B,kBAAfixD,GACTI,EAAWJ,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,GAAc,aACvBA,GAAc,YAGhBA,GAAcA,EAEVpkB,MAAMokB,KAERA,EAAad,EAAM,EAAIuB,EAAO1xD,OAAS,GAIrCixD,EAAa,IAAGA,EAAaS,EAAO1xD,OAASixD,GAE7CA,GAAcS,EAAO1xD,OAAQ,CAC/B,GAAImwD,EAAK,OAAQ,EAAOc,EAAaS,EAAO1xD,OAAS,OAChD,GAAIixD,EAAa,EAAG,CACzB,IAAId,EAAyB,OAAQ,EAA5Bc,EAAa,EASxB,GALmB,kBAAR1kD,IACTA,EAAM6gC,EAAO7W,KAAKhqB,EAAK8kD,IAIrBjkB,EAAOC,SAAS9gC,GAElB,OAAmB,IAAfA,EAAIvM,QACE,EAGH6yD,EAAanB,EAAQnlD,EAAK0kD,EAAYI,EAAUlB,GAClD,GAAmB,kBAAR5jD,EAGhB,OAFAA,GAAY,IAER6gC,EAAOojB,qBAA+D,oBAAjCI,WAAW5xD,UAAU+N,QACxDojD,EACKS,WAAW5xD,UAAU+N,QAAQxP,KAAKm0D,EAAQnlD,EAAK0kD,GAE/CL,WAAW5xD,UAAU0jB,YAAYnlB,KAAKm0D,EAAQnlD,EAAK0kD,GAIvD4B,EAAanB,EAAQ,CAACnlD,GAAM0kD,EAAYI,EAAUlB,GAG3D,MAAM,IAAI7vD,UAAU,wCAGtB,SAASuyD,EAAap8B,EAAKlqB,EAAK0kD,EAAYI,EAAUlB,GACpD,IA2BI/yD,EA3BA01D,EAAY,EACZC,EAAYt8B,EAAIz2B,OAChBgzD,EAAYzmD,EAAIvM,OAEpB,QAAiBoG,IAAbirD,IAGe,UAFjBA,EAAW5zC,OAAO4zC,GAAUjwC,gBAEY,UAAbiwC,GAAqC,YAAbA,GAAuC,aAAbA,GAAyB,CACpG,GAAI56B,EAAIz2B,OAAS,GAAKuM,EAAIvM,OAAS,EACjC,OAAQ,EAGV8yD,EAAY,EACZC,GAAa,EACbC,GAAa,EACb/B,GAAc,EAIlB,SAASgC,EAAKC,EAAK91D,GACjB,OAAkB,IAAd01D,EACKI,EAAI91D,GAEJ81D,EAAIC,aAAa/1D,EAAI01D,GAMhC,GAAI3C,EAAK,CACP,IAAIiD,GAAc,EAElB,IAAKh2D,EAAI6zD,EAAY7zD,EAAI21D,EAAW31D,IAClC,GAAI61D,EAAKx8B,EAAKr5B,KAAO61D,EAAK1mD,GAAqB,IAAhB6mD,EAAoB,EAAIh2D,EAAIg2D,IAEzD,IADoB,IAAhBA,IAAmBA,EAAah2D,GAChCA,EAAIg2D,EAAa,IAAMJ,EAAW,OAAOI,EAAaN,OAEtC,IAAhBM,IAAmBh2D,GAAKA,EAAIg2D,GAChCA,GAAc,OAMlB,IAFInC,EAAa+B,EAAYD,IAAW9B,EAAa8B,EAAYC,GAE5D51D,EAAI6zD,EAAY7zD,GAAK,EAAGA,IAAK,CAGhC,IAFA,IAAIi2D,GAAQ,EAEH3X,EAAI,EAAGA,EAAIsX,EAAWtX,IAC7B,GAAIuX,EAAKx8B,EAAKr5B,EAAIs+C,KAAOuX,EAAK1mD,EAAKmvC,GAAI,CACrC2X,GAAQ,EACR,MAIJ,GAAIA,EAAO,OAAOj2D,EAItB,OAAQ,EAeV,SAASk2D,EAASJ,EAAK1c,EAAQ53B,EAAQ5e,GACrC4e,EAASoa,OAAOpa,IAAW,EAC3B,IAAI20C,EAAYL,EAAIlzD,OAAS4e,EAExB5e,GAGHA,EAASg5B,OAAOh5B,IAEHuzD,IACXvzD,EAASuzD,GALXvzD,EAASuzD,EAUX,IAAIC,EAAShd,EAAOx2C,OACpB,GAAIwzD,EAAS,IAAM,EAAG,MAAM,IAAIlzD,UAAU,sBAEtCN,EAASwzD,EAAS,IACpBxzD,EAASwzD,EAAS,GAGpB,IAAK,IAAIp2D,EAAI,EAAGA,EAAI4C,IAAU5C,EAAG,CAC/B,IAAIq2D,EAAS7f,SAAS4C,EAAOkd,OAAW,EAAJt2D,EAAO,GAAI,IAC/C,GAAIyvC,MAAM4mB,GAAS,OAAOr2D,EAC1B81D,EAAIt0C,EAASxhB,GAAKq2D,EAGpB,OAAOr2D,EAGT,SAASu2D,EAAUT,EAAK1c,EAAQ53B,EAAQ5e,GACtC,OAAO4zD,EAAW5B,EAAYxb,EAAQ0c,EAAIlzD,OAAS4e,GAASs0C,EAAKt0C,EAAQ5e,GAG3E,SAAS6zD,EAAWX,EAAK1c,EAAQ53B,EAAQ5e,GACvC,OAAO4zD,EA26BT,SAAsB9kB,GAGpB,IAFA,IAAIglB,EAAY,GAEP12D,EAAI,EAAGA,EAAI0xC,EAAI9uC,SAAU5C,EAEhC02D,EAAUpzD,KAAyB,IAApBouC,EAAInuB,WAAWvjB,IAGhC,OAAO02D,EAn7BWC,CAAavd,GAAS0c,EAAKt0C,EAAQ5e,GAGvD,SAASg0D,EAAYd,EAAK1c,EAAQ53B,EAAQ5e,GACxC,OAAO6zD,EAAWX,EAAK1c,EAAQ53B,EAAQ5e,GAGzC,SAASi0D,EAAYf,EAAK1c,EAAQ53B,EAAQ5e,GACxC,OAAO4zD,EAAW3B,EAAczb,GAAS0c,EAAKt0C,EAAQ5e,GAGxD,SAASk0D,EAAUhB,EAAK1c,EAAQ53B,EAAQ5e,GACtC,OAAO4zD,EA06BT,SAAwB9kB,EAAKjwB,GAI3B,IAHA,IAAIphB,EAAG02D,EAAIC,EACPN,EAAY,GAEP12D,EAAI,EAAGA,EAAI0xC,EAAI9uC,WACjB6e,GAAS,GAAK,KADazhB,EAGhC+2D,GADA12D,EAAIqxC,EAAInuB,WAAWvjB,KACT,EACVg3D,EAAK32D,EAAI,IACTq2D,EAAUpzD,KAAK0zD,GACfN,EAAUpzD,KAAKyzD,GAGjB,OAAOL,EAv7BWO,CAAe7d,EAAQ0c,EAAIlzD,OAAS4e,GAASs0C,EAAKt0C,EAAQ5e,GA+E9E,SAASyyD,EAAYS,EAAKf,EAAOC,GAC/B,OAAc,IAAVD,GAAeC,IAAQc,EAAIlzD,OACtBqwD,EAAOiE,cAAcpB,GAErB7C,EAAOiE,cAAcpB,EAAI3qC,MAAM4pC,EAAOC,IAIjD,SAASE,EAAUY,EAAKf,EAAOC,GAC7BA,EAAMj2C,KAAK+L,IAAIgrC,EAAIlzD,OAAQoyD,GAI3B,IAHA,IAAImC,EAAM,GACNn3D,EAAI+0D,EAED/0D,EAAIg1D,GAAK,CACd,IAKMoC,EAAYC,EAAWC,EAAYC,EALrCC,EAAY1B,EAAI91D,GAChBshB,EAAY,KACZm2C,EAAmBD,EAAY,IAAO,EAAIA,EAAY,IAAO,EAAIA,EAAY,IAAO,EAAI,EAE5F,GAAIx3D,EAAIy3D,GAAoBzC,EAG1B,OAAQyC,GACN,KAAK,EACCD,EAAY,MACdl2C,EAAYk2C,GAGd,MAEF,KAAK,EAGyB,OAAV,KAFlBJ,EAAatB,EAAI91D,EAAI,OAGnBu3D,GAA6B,GAAZC,IAAqB,EAAmB,GAAbJ,GAExB,MAClB91C,EAAYi2C,GAIhB,MAEF,KAAK,EACHH,EAAatB,EAAI91D,EAAI,GACrBq3D,EAAYvB,EAAI91D,EAAI,GAEQ,OAAV,IAAbo3D,IAAsD,OAAV,IAAZC,KACnCE,GAA6B,GAAZC,IAAoB,IAAoB,GAAbJ,IAAsB,EAAkB,GAAZC,GAEpD,OAAUE,EAAgB,OAAUA,EAAgB,SACtEj2C,EAAYi2C,GAIhB,MAEF,KAAK,EACHH,EAAatB,EAAI91D,EAAI,GACrBq3D,EAAYvB,EAAI91D,EAAI,GACpBs3D,EAAaxB,EAAI91D,EAAI,GAEO,OAAV,IAAbo3D,IAAsD,OAAV,IAAZC,IAAsD,OAAV,IAAbC,KAClEC,GAA6B,GAAZC,IAAoB,IAAqB,GAAbJ,IAAsB,IAAmB,GAAZC,IAAqB,EAAmB,GAAbC,GAEjF,OAAUC,EAAgB,UAC5Cj2C,EAAYi2C,GAOJ,OAAdj2C,GAGFA,EAAY,MACZm2C,EAAmB,GACVn2C,EAAY,QAErBA,GAAa,MACb61C,EAAI7zD,KAAKge,IAAc,GAAK,KAAQ,OACpCA,EAAY,MAAqB,KAAZA,GAGvB61C,EAAI7zD,KAAKge,GACTthB,GAAKy3D,EAGP,OAQF,SAA+BC,GAC7B,IAAIp+B,EAAMo+B,EAAW90D,OAErB,GAAI02B,GAAOq+B,EACT,OAAOt3C,OAAOqB,aAAa7e,MAAMwd,OAAQq3C,GAI3C,IAAIP,EAAM,GACNn3D,EAAI,EAER,KAAOA,EAAIs5B,GACT69B,GAAO92C,OAAOqB,aAAa7e,MAAMwd,OAAQq3C,EAAWvsC,MAAMnrB,EAAGA,GAAK23D,IAGpE,OAAOR,EAvBAS,CAAsBT,GA1gC/Br3D,EAAQkwC,OAASA,EACjBlwC,EAAQ+3D,WAiUR,SAAoBj1D,IACbA,GAAUA,IAEbA,EAAS,GAGX,OAAOotC,EAAO8nB,OAAOl1D,IAtUvB9C,EAAQi4D,kBAAoB,GA0B5B/nB,EAAOojB,yBAAqDpqD,IAA/BokC,EAAOgmB,oBAAoChmB,EAAOgmB,oBAO/E,WACE,IACE,IAAI/5B,EAAM,IAAIm6B,WAAW,GAOzB,OANAn6B,EAAIl3B,UAAY,CACdA,UAAWqxD,WAAW5xD,UACtBo2D,IAAK,WACH,OAAO,KAGU,KAAd3+B,EAAI2+B,OACa,oBAAjB3+B,EAAI4+B,UACuB,IAAlC5+B,EAAI4+B,SAAS,EAAG,GAAGnE,WACnB,MAAO1wD,GACP,OAAO,GApB0F80D,GAKrGp4D,EAAQqzD,WAAaA,IAuErBnjB,EAAOmoB,SAAW,KAGlBnoB,EAAOooB,SAAW,SAAU/+B,GAE1B,OADAA,EAAIl3B,UAAY6tC,EAAOpuC,UAChBy3B,GA4BT2W,EAAO7W,KAAO,SAAUl4B,EAAOyyD,EAAkB9wD,GAC/C,OAAOu2B,EAAK,KAAMl4B,EAAOyyD,EAAkB9wD,IAGzCotC,EAAOojB,sBACTpjB,EAAOpuC,UAAUO,UAAYqxD,WAAW5xD,UACxCouC,EAAO7tC,UAAYqxD,WAEG,qBAAXzyD,QAA0BA,OAAOs3D,SAAWroB,EAAOjvC,OAAOs3D,WAAaroB,GAEhFtvC,OAAOC,eAAeqvC,EAAQjvC,OAAOs3D,QAAS,CAC5Cp3D,MAAO,KACPsH,cAAc,KAmCpBynC,EAAO8nB,MAAQ,SAAUrD,EAAM6D,EAAMrE,GACnC,OAvBF,SAAeX,EAAMmB,EAAM6D,EAAMrE,GAG/B,OAFAO,EAAWC,GAEPA,GAAQ,EACHpB,EAAaC,EAAMmB,QAGfzrD,IAATsvD,EAIyB,kBAAbrE,EAAwBZ,EAAaC,EAAMmB,GAAM6D,KAAKA,EAAMrE,GAAYZ,EAAaC,EAAMmB,GAAM6D,KAAKA,GAG/GjF,EAAaC,EAAMmB,GASnBqD,CAAM,KAAMrD,EAAM6D,EAAMrE,IAoBjCjkB,EAAO2jB,YAAc,SAAUc,GAC7B,OAAOd,EAAY,KAAMc,IAO3BzkB,EAAOuoB,gBAAkB,SAAU9D,GACjC,OAAOd,EAAY,KAAMc,IAqH3BzkB,EAAOC,SAAW,SAAkBhuC,GAClC,QAAe,MAALA,IAAaA,EAAEu2D,YAG3BxoB,EAAOyoB,QAAU,SAAiBz0D,EAAG/B,GACnC,IAAK+tC,EAAOC,SAASjsC,KAAOgsC,EAAOC,SAAShuC,GAC1C,MAAM,IAAIiB,UAAU,6BAGtB,GAAIc,IAAM/B,EAAG,OAAO,EAIpB,IAHA,IAAImP,EAAIpN,EAAEpB,OACN0O,EAAIrP,EAAEW,OAED5C,EAAI,EAAGs5B,EAAMva,KAAK+L,IAAI1Z,EAAGE,GAAItR,EAAIs5B,IAAOt5B,EAC/C,GAAIgE,EAAEhE,KAAOiC,EAAEjC,GAAI,CACjBoR,EAAIpN,EAAEhE,GACNsR,EAAIrP,EAAEjC,GACN,MAIJ,OAAIoR,EAAIE,GAAW,EACfA,EAAIF,EAAU,EACX,GAGT4+B,EAAOkkB,WAAa,SAAoBD,GACtC,OAAQ5zC,OAAO4zC,GAAUjwC,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,EAET,QACE,OAAO,IAIbgsB,EAAOvsC,OAAS,SAAgBi4B,EAAM94B,GACpC,IAAK62B,EAAQiC,GACX,MAAM,IAAIx4B,UAAU,+CAGtB,GAAoB,IAAhBw4B,EAAK94B,OACP,OAAOotC,EAAO8nB,MAAM,GAGtB,IAAI93D,EAEJ,QAAegJ,IAAXpG,EAGF,IAFAA,EAAS,EAEJ5C,EAAI,EAAGA,EAAI07B,EAAK94B,SAAU5C,EAC7B4C,GAAU84B,EAAK17B,GAAG4C,OAItB,IAAI0xD,EAAStkB,EAAO2jB,YAAY/wD,GAC5B81D,EAAM,EAEV,IAAK14D,EAAI,EAAGA,EAAI07B,EAAK94B,SAAU5C,EAAG,CAChC,IAAI81D,EAAMp6B,EAAK17B,GAEf,IAAKgwC,EAAOC,SAAS6lB,GACnB,MAAM,IAAI5yD,UAAU,+CAGtB4yD,EAAIhlB,KAAKwjB,EAAQoE,GACjBA,GAAO5C,EAAIlzD,OAGb,OAAO0xD,GAsDTtkB,EAAO8jB,WAAaA,EAyEpB9jB,EAAOpuC,UAAU42D,WAAY,EAQ7BxoB,EAAOpuC,UAAU+2D,OAAS,WACxB,IAAIr/B,EAAM/2B,KAAKK,OAEf,GAAI02B,EAAM,IAAM,EACd,MAAM,IAAIi6B,WAAW,6CAGvB,IAAK,IAAIvzD,EAAI,EAAGA,EAAIs5B,EAAKt5B,GAAK,EAC5Bu1D,EAAKhzD,KAAMvC,EAAGA,EAAI,GAGpB,OAAOuC,MAGTytC,EAAOpuC,UAAUg3D,OAAS,WACxB,IAAIt/B,EAAM/2B,KAAKK,OAEf,GAAI02B,EAAM,IAAM,EACd,MAAM,IAAIi6B,WAAW,6CAGvB,IAAK,IAAIvzD,EAAI,EAAGA,EAAIs5B,EAAKt5B,GAAK,EAC5Bu1D,EAAKhzD,KAAMvC,EAAGA,EAAI,GAClBu1D,EAAKhzD,KAAMvC,EAAI,EAAGA,EAAI,GAGxB,OAAOuC,MAGTytC,EAAOpuC,UAAUi3D,OAAS,WACxB,IAAIv/B,EAAM/2B,KAAKK,OAEf,GAAI02B,EAAM,IAAM,EACd,MAAM,IAAIi6B,WAAW,6CAGvB,IAAK,IAAIvzD,EAAI,EAAGA,EAAIs5B,EAAKt5B,GAAK,EAC5Bu1D,EAAKhzD,KAAMvC,EAAGA,EAAI,GAClBu1D,EAAKhzD,KAAMvC,EAAI,EAAGA,EAAI,GACtBu1D,EAAKhzD,KAAMvC,EAAI,EAAGA,EAAI,GACtBu1D,EAAKhzD,KAAMvC,EAAI,EAAGA,EAAI,GAGxB,OAAOuC,MAGTytC,EAAOpuC,UAAU6hB,SAAW,WAC1B,IAAI7gB,EAAuB,EAAdL,KAAKK,OAClB,OAAe,IAAXA,EAAqB,GACA,IAArBD,UAAUC,OAAqBsyD,EAAU3yD,KAAM,EAAGK,GAC/CkyD,EAAajyD,MAAMN,KAAMI,YAGlCqtC,EAAOpuC,UAAUk3D,OAAS,SAAgB72D,GACxC,IAAK+tC,EAAOC,SAAShuC,GAAI,MAAM,IAAIiB,UAAU,6BAC7C,OAAIX,OAASN,GACsB,IAA5B+tC,EAAOyoB,QAAQl2D,KAAMN,IAG9B+tC,EAAOpuC,UAAUm3D,QAAU,WACzB,IAAIrnB,EAAM,GACN1yB,EAAMlf,EAAQi4D,kBAOlB,OALIx1D,KAAKK,OAAS,IAChB8uC,EAAMnvC,KAAKkhB,SAAS,MAAO,EAAGzE,GAAK4D,MAAM,SAASgB,KAAK,KACnDrhB,KAAKK,OAASoc,IAAK0yB,GAAO,UAGzB,WAAaA,EAAM,KAG5B1B,EAAOpuC,UAAU62D,QAAU,SAAiB3nD,EAAQikD,EAAOC,EAAKgE,EAAWC,GACzE,IAAKjpB,EAAOC,SAASn/B,GACnB,MAAM,IAAI5N,UAAU,6BAmBtB,QAhBc8F,IAAV+rD,IACFA,EAAQ,QAGE/rD,IAARgsD,IACFA,EAAMlkD,EAASA,EAAOlO,OAAS,QAGfoG,IAAdgwD,IACFA,EAAY,QAGEhwD,IAAZiwD,IACFA,EAAU12D,KAAKK,QAGbmyD,EAAQ,GAAKC,EAAMlkD,EAAOlO,QAAUo2D,EAAY,GAAKC,EAAU12D,KAAKK,OACtE,MAAM,IAAI2wD,WAAW,sBAGvB,GAAIyF,GAAaC,GAAWlE,GAASC,EACnC,OAAO,EAGT,GAAIgE,GAAaC,EACf,OAAQ,EAGV,GAAIlE,GAASC,EACX,OAAO,EAOT,GAAIzyD,OAASuO,EAAQ,OAAO,EAO5B,IANA,IAAIM,GAFJ6nD,KAAa,IADbD,KAAe,GAIX1nD,GALJ0jD,KAAS,IADTD,KAAW,GAOPz7B,EAAMva,KAAK+L,IAAI1Z,EAAGE,GAClB4nD,EAAW32D,KAAK4oB,MAAM6tC,EAAWC,GACjCE,EAAaroD,EAAOqa,MAAM4pC,EAAOC,GAE5Bh1D,EAAI,EAAGA,EAAIs5B,IAAOt5B,EACzB,GAAIk5D,EAASl5D,KAAOm5D,EAAWn5D,GAAI,CACjCoR,EAAI8nD,EAASl5D,GACbsR,EAAI6nD,EAAWn5D,GACf,MAIJ,OAAIoR,EAAIE,GAAW,EACfA,EAAIF,EAAU,EACX,GAqIT4+B,EAAOpuC,UAAU09B,SAAW,SAAkBnwB,EAAK0kD,EAAYI,GAC7D,OAAoD,IAA7C1xD,KAAKoN,QAAQR,EAAK0kD,EAAYI,IAGvCjkB,EAAOpuC,UAAU+N,QAAU,SAAiBR,EAAK0kD,EAAYI,GAC3D,OAAOuB,EAAqBjzD,KAAM4M,EAAK0kD,EAAYI,GAAU,IAG/DjkB,EAAOpuC,UAAU0jB,YAAc,SAAqBnW,EAAK0kD,EAAYI,GACnE,OAAOuB,EAAqBjzD,KAAM4M,EAAK0kD,EAAYI,GAAU,IAsD/DjkB,EAAOpuC,UAAUwyD,MAAQ,SAAehb,EAAQ53B,EAAQ5e,EAAQqxD,GAE9D,QAAejrD,IAAXwY,EACFyyC,EAAW,OACXrxD,EAASL,KAAKK,OACd4e,EAAS,OACJ,QAAexY,IAAXpG,GAA0C,kBAAX4e,EACxCyyC,EAAWzyC,EACX5e,EAASL,KAAKK,OACd4e,EAAS,MACJ,KAAI+sC,SAAS/sC,GAYlB,MAAM,IAAInY,MAAM,2EAXhBmY,GAAkB,EAEd+sC,SAAS3rD,IACXA,GAAkB,OACDoG,IAAbirD,IAAwBA,EAAW,UAEvCA,EAAWrxD,EACXA,OAASoG,GAOb,IAAImtD,EAAY5zD,KAAKK,OAAS4e,EAG9B,SAFexY,IAAXpG,GAAwBA,EAASuzD,KAAWvzD,EAASuzD,GAErD/c,EAAOx2C,OAAS,IAAMA,EAAS,GAAK4e,EAAS,IAAMA,EAASjf,KAAKK,OACnE,MAAM,IAAI2wD,WAAW,0CAGlBU,IAAUA,EAAW,QAG1B,IAFA,IAAIU,GAAc,IAGhB,OAAQV,GACN,IAAK,MACH,OAAOiC,EAAS3zD,KAAM62C,EAAQ53B,EAAQ5e,GAExC,IAAK,OACL,IAAK,QACH,OAAO2zD,EAAUh0D,KAAM62C,EAAQ53B,EAAQ5e,GAEzC,IAAK,QACH,OAAO6zD,EAAWl0D,KAAM62C,EAAQ53B,EAAQ5e,GAE1C,IAAK,SACL,IAAK,SACH,OAAOg0D,EAAYr0D,KAAM62C,EAAQ53B,EAAQ5e,GAE3C,IAAK,SAEH,OAAOi0D,EAAYt0D,KAAM62C,EAAQ53B,EAAQ5e,GAE3C,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOk0D,EAAUv0D,KAAM62C,EAAQ53B,EAAQ5e,GAEzC,QACE,GAAI+xD,EAAa,MAAM,IAAIzxD,UAAU,qBAAuB+wD,GAC5DA,GAAY,GAAKA,GAAUjwC,cAC3B2wC,GAAc,IAKtB3kB,EAAOpuC,UAAUmjD,OAAS,WACxB,MAAO,CACLtyC,KAAM,SACN4O,KAAMjf,MAAMR,UAAUupB,MAAMhrB,KAAKoC,KAAK62D,MAAQ72D,KAAM,KAkGxD,IAAIo1D,EAAuB,KAoB3B,SAASxC,EAAWW,EAAKf,EAAOC,GAC9B,IAAIqE,EAAM,GACVrE,EAAMj2C,KAAK+L,IAAIgrC,EAAIlzD,OAAQoyD,GAE3B,IAAK,IAAIh1D,EAAI+0D,EAAO/0D,EAAIg1D,IAAOh1D,EAC7Bq5D,GAAOh5C,OAAOqB,aAAsB,IAATo0C,EAAI91D,IAGjC,OAAOq5D,EAGT,SAASjE,EAAYU,EAAKf,EAAOC,GAC/B,IAAIqE,EAAM,GACVrE,EAAMj2C,KAAK+L,IAAIgrC,EAAIlzD,OAAQoyD,GAE3B,IAAK,IAAIh1D,EAAI+0D,EAAO/0D,EAAIg1D,IAAOh1D,EAC7Bq5D,GAAOh5C,OAAOqB,aAAao0C,EAAI91D,IAGjC,OAAOq5D,EAGT,SAASpE,EAASa,EAAKf,EAAOC,GAC5B,IAAI17B,EAAMw8B,EAAIlzD,SACTmyD,GAASA,EAAQ,KAAGA,EAAQ,KAC5BC,GAAOA,EAAM,GAAKA,EAAM17B,KAAK07B,EAAM17B,GAGxC,IAFA,IAAIggC,EAAM,GAEDt5D,EAAI+0D,EAAO/0D,EAAIg1D,IAAOh1D,EAC7Bs5D,GAAOC,EAAMzD,EAAI91D,IAGnB,OAAOs5D,EAGT,SAAShE,EAAaQ,EAAKf,EAAOC,GAIhC,IAHA,IAAIwE,EAAQ1D,EAAI3qC,MAAM4pC,EAAOC,GACzBmC,EAAM,GAEDn3D,EAAI,EAAGA,EAAIw5D,EAAM52D,OAAQ5C,GAAK,EACrCm3D,GAAO92C,OAAOqB,aAAa83C,EAAMx5D,GAAoB,IAAfw5D,EAAMx5D,EAAI,IAGlD,OAAOm3D,EA4CT,SAASsC,EAAYj4C,EAAQk4C,EAAK92D,GAChC,GAAI4e,EAAS,IAAM,GAAKA,EAAS,EAAG,MAAM,IAAI+xC,WAAW,sBACzD,GAAI/xC,EAASk4C,EAAM92D,EAAQ,MAAM,IAAI2wD,WAAW,yCA+IlD,SAASoG,EAAS7D,EAAK70D,EAAOugB,EAAQk4C,EAAK16C,EAAK8L,GAC9C,IAAKklB,EAAOC,SAAS6lB,GAAM,MAAM,IAAI5yD,UAAU,+CAC/C,GAAIjC,EAAQ+d,GAAO/d,EAAQ6pB,EAAK,MAAM,IAAIyoC,WAAW,qCACrD,GAAI/xC,EAASk4C,EAAM5D,EAAIlzD,OAAQ,MAAM,IAAI2wD,WAAW,sBAsDtD,SAASqG,EAAkB9D,EAAK70D,EAAOugB,EAAQq4C,GACzC54D,EAAQ,IAAGA,EAAQ,MAASA,EAAQ,GAExC,IAAK,IAAIjB,EAAI,EAAGs+C,EAAIv/B,KAAK+L,IAAIgrC,EAAIlzD,OAAS4e,EAAQ,GAAIxhB,EAAIs+C,IAAKt+C,EAC7D81D,EAAIt0C,EAASxhB,IAAMiB,EAAQ,KAAQ,GAAK44D,EAAe75D,EAAI,EAAIA,MAAqC,GAA5B65D,EAAe75D,EAAI,EAAIA,GAkCnG,SAAS85D,EAAkBhE,EAAK70D,EAAOugB,EAAQq4C,GACzC54D,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAE5C,IAAK,IAAIjB,EAAI,EAAGs+C,EAAIv/B,KAAK+L,IAAIgrC,EAAIlzD,OAAS4e,EAAQ,GAAIxhB,EAAIs+C,IAAKt+C,EAC7D81D,EAAIt0C,EAASxhB,GAAKiB,IAAuC,GAA5B44D,EAAe75D,EAAI,EAAIA,GAAS,IAmKjE,SAAS+5D,EAAajE,EAAK70D,EAAOugB,EAAQk4C,EAAK16C,EAAK8L,GAClD,GAAItJ,EAASk4C,EAAM5D,EAAIlzD,OAAQ,MAAM,IAAI2wD,WAAW,sBACpD,GAAI/xC,EAAS,EAAG,MAAM,IAAI+xC,WAAW,sBAGvC,SAASyG,EAAWlE,EAAK70D,EAAOugB,EAAQq4C,EAAcI,GAMpD,OALKA,GACHF,EAAajE,EAAK70D,EAAOugB,EAAQ,GAGnC0xC,EAAQkB,MAAM0B,EAAK70D,EAAOugB,EAAQq4C,EAAc,GAAI,GAC7Cr4C,EAAS,EAWlB,SAAS04C,EAAYpE,EAAK70D,EAAOugB,EAAQq4C,EAAcI,GAMrD,OALKA,GACHF,EAAajE,EAAK70D,EAAOugB,EAAQ,GAGnC0xC,EAAQkB,MAAM0B,EAAK70D,EAAOugB,EAAQq4C,EAAc,GAAI,GAC7Cr4C,EAAS,EA5dlBwuB,EAAOpuC,UAAUupB,MAAQ,SAAe4pC,EAAOC,GAC7C,IAmBImF,EAnBA7gC,EAAM/2B,KAAKK,OAqBf,IApBAmyD,IAAUA,GAGE,GACVA,GAASz7B,GACG,IAAGy7B,EAAQ,GACdA,EAAQz7B,IACjBy7B,EAAQz7B,IANV07B,OAAchsD,IAARgsD,EAAoB17B,IAAQ07B,GASxB,GACRA,GAAO17B,GACG,IAAG07B,EAAM,GACVA,EAAM17B,IACf07B,EAAM17B,GAGJ07B,EAAMD,IAAOC,EAAMD,GAGnB/kB,EAAOojB,qBACT+G,EAAS53D,KAAK01D,SAASlD,EAAOC,IACvB7yD,UAAY6tC,EAAOpuC,cACrB,CACL,IAAIw4D,EAAWpF,EAAMD,EACrBoF,EAAS,IAAInqB,EAAOoqB,OAAUpxD,GAE9B,IAAK,IAAIhJ,EAAI,EAAGA,EAAIo6D,IAAYp6D,EAC9Bm6D,EAAOn6D,GAAKuC,KAAKvC,EAAI+0D,GAIzB,OAAOoF,GAYTnqB,EAAOpuC,UAAUy4D,WAAa,SAAoB74C,EAAQsyC,EAAYmG,GACpEz4C,GAAkB,EAClBsyC,GAA0B,EACrBmG,GAAUR,EAAYj4C,EAAQsyC,EAAYvxD,KAAKK,QAKpD,IAJA,IAAIuM,EAAM5M,KAAKif,GACX84C,EAAM,EACNt6D,EAAI,IAECA,EAAI8zD,IAAewG,GAAO,MACjCnrD,GAAO5M,KAAKif,EAASxhB,GAAKs6D,EAG5B,OAAOnrD,GAGT6gC,EAAOpuC,UAAU24D,WAAa,SAAoB/4C,EAAQsyC,EAAYmG,GACpEz4C,GAAkB,EAClBsyC,GAA0B,EAErBmG,GACHR,EAAYj4C,EAAQsyC,EAAYvxD,KAAKK,QAMvC,IAHA,IAAIuM,EAAM5M,KAAKif,IAAWsyC,GACtBwG,EAAM,EAEHxG,EAAa,IAAMwG,GAAO,MAC/BnrD,GAAO5M,KAAKif,IAAWsyC,GAAcwG,EAGvC,OAAOnrD,GAGT6gC,EAAOpuC,UAAU44D,UAAY,SAAmBh5C,EAAQy4C,GAEtD,OADKA,GAAUR,EAAYj4C,EAAQ,EAAGjf,KAAKK,QACpCL,KAAKif,IAGdwuB,EAAOpuC,UAAU64D,aAAe,SAAsBj5C,EAAQy4C,GAE5D,OADKA,GAAUR,EAAYj4C,EAAQ,EAAGjf,KAAKK,QACpCL,KAAKif,GAAUjf,KAAKif,EAAS,IAAM,GAG5CwuB,EAAOpuC,UAAUm0D,aAAe,SAAsBv0C,EAAQy4C,GAE5D,OADKA,GAAUR,EAAYj4C,EAAQ,EAAGjf,KAAKK,QACpCL,KAAKif,IAAW,EAAIjf,KAAKif,EAAS,IAG3CwuB,EAAOpuC,UAAU84D,aAAe,SAAsBl5C,EAAQy4C,GAE5D,OADKA,GAAUR,EAAYj4C,EAAQ,EAAGjf,KAAKK,SACnCL,KAAKif,GAAUjf,KAAKif,EAAS,IAAM,EAAIjf,KAAKif,EAAS,IAAM,IAAyB,SAAnBjf,KAAKif,EAAS,IAGzFwuB,EAAOpuC,UAAU+4D,aAAe,SAAsBn5C,EAAQy4C,GAE5D,OADKA,GAAUR,EAAYj4C,EAAQ,EAAGjf,KAAKK,QACrB,SAAfL,KAAKif,IAAuBjf,KAAKif,EAAS,IAAM,GAAKjf,KAAKif,EAAS,IAAM,EAAIjf,KAAKif,EAAS,KAGpGwuB,EAAOpuC,UAAUg5D,UAAY,SAAmBp5C,EAAQsyC,EAAYmG,GAClEz4C,GAAkB,EAClBsyC,GAA0B,EACrBmG,GAAUR,EAAYj4C,EAAQsyC,EAAYvxD,KAAKK,QAKpD,IAJA,IAAIuM,EAAM5M,KAAKif,GACX84C,EAAM,EACNt6D,EAAI,IAECA,EAAI8zD,IAAewG,GAAO,MACjCnrD,GAAO5M,KAAKif,EAASxhB,GAAKs6D,EAK5B,OADInrD,IADJmrD,GAAO,OACSnrD,GAAO4P,KAAKG,IAAI,EAAG,EAAI40C,IAChC3kD,GAGT6gC,EAAOpuC,UAAUi5D,UAAY,SAAmBr5C,EAAQsyC,EAAYmG,GAClEz4C,GAAkB,EAClBsyC,GAA0B,EACrBmG,GAAUR,EAAYj4C,EAAQsyC,EAAYvxD,KAAKK,QAKpD,IAJA,IAAI5C,EAAI8zD,EACJwG,EAAM,EACNnrD,EAAM5M,KAAKif,IAAWxhB,GAEnBA,EAAI,IAAMs6D,GAAO,MACtBnrD,GAAO5M,KAAKif,IAAWxhB,GAAKs6D,EAK9B,OADInrD,IADJmrD,GAAO,OACSnrD,GAAO4P,KAAKG,IAAI,EAAG,EAAI40C,IAChC3kD,GAGT6gC,EAAOpuC,UAAUk5D,SAAW,SAAkBt5C,EAAQy4C,GAEpD,OADKA,GAAUR,EAAYj4C,EAAQ,EAAGjf,KAAKK,QACtB,IAAfL,KAAKif,IACyB,GAA5B,IAAOjf,KAAKif,GAAU,GADKjf,KAAKif,IAI1CwuB,EAAOpuC,UAAUm5D,YAAc,SAAqBv5C,EAAQy4C,GACrDA,GAAUR,EAAYj4C,EAAQ,EAAGjf,KAAKK,QAC3C,IAAIuM,EAAM5M,KAAKif,GAAUjf,KAAKif,EAAS,IAAM,EAC7C,OAAa,MAANrS,EAAqB,WAANA,EAAmBA,GAG3C6gC,EAAOpuC,UAAUo5D,YAAc,SAAqBx5C,EAAQy4C,GACrDA,GAAUR,EAAYj4C,EAAQ,EAAGjf,KAAKK,QAC3C,IAAIuM,EAAM5M,KAAKif,EAAS,GAAKjf,KAAKif,IAAW,EAC7C,OAAa,MAANrS,EAAqB,WAANA,EAAmBA,GAG3C6gC,EAAOpuC,UAAUq5D,YAAc,SAAqBz5C,EAAQy4C,GAE1D,OADKA,GAAUR,EAAYj4C,EAAQ,EAAGjf,KAAKK,QACpCL,KAAKif,GAAUjf,KAAKif,EAAS,IAAM,EAAIjf,KAAKif,EAAS,IAAM,GAAKjf,KAAKif,EAAS,IAAM,IAG7FwuB,EAAOpuC,UAAUs5D,YAAc,SAAqB15C,EAAQy4C,GAE1D,OADKA,GAAUR,EAAYj4C,EAAQ,EAAGjf,KAAKK,QACpCL,KAAKif,IAAW,GAAKjf,KAAKif,EAAS,IAAM,GAAKjf,KAAKif,EAAS,IAAM,EAAIjf,KAAKif,EAAS,IAG7FwuB,EAAOpuC,UAAUu5D,YAAc,SAAqB35C,EAAQy4C,GAE1D,OADKA,GAAUR,EAAYj4C,EAAQ,EAAGjf,KAAKK,QACpCswD,EAAQ2C,KAAKtzD,KAAMif,GAAQ,EAAM,GAAI,IAG9CwuB,EAAOpuC,UAAUw5D,YAAc,SAAqB55C,EAAQy4C,GAE1D,OADKA,GAAUR,EAAYj4C,EAAQ,EAAGjf,KAAKK,QACpCswD,EAAQ2C,KAAKtzD,KAAMif,GAAQ,EAAO,GAAI,IAG/CwuB,EAAOpuC,UAAUy5D,aAAe,SAAsB75C,EAAQy4C,GAE5D,OADKA,GAAUR,EAAYj4C,EAAQ,EAAGjf,KAAKK,QACpCswD,EAAQ2C,KAAKtzD,KAAMif,GAAQ,EAAM,GAAI,IAG9CwuB,EAAOpuC,UAAU05D,aAAe,SAAsB95C,EAAQy4C,GAE5D,OADKA,GAAUR,EAAYj4C,EAAQ,EAAGjf,KAAKK,QACpCswD,EAAQ2C,KAAKtzD,KAAMif,GAAQ,EAAO,GAAI,IAS/CwuB,EAAOpuC,UAAU25D,YAAc,SAAqBt6D,EAAOugB,EAAQsyC,EAAYmG,IAC7Eh5D,GAASA,EACTugB,GAAkB,EAClBsyC,GAA0B,EAErBmG,IAEHN,EAASp3D,KAAMtB,EAAOugB,EAAQsyC,EADf/0C,KAAKG,IAAI,EAAG,EAAI40C,GAAc,EACO,GAGtD,IAAIwG,EAAM,EACNt6D,EAAI,EAGR,IAFAuC,KAAKif,GAAkB,IAARvgB,IAENjB,EAAI8zD,IAAewG,GAAO,MACjC/3D,KAAKif,EAASxhB,GAAKiB,EAAQq5D,EAAM,IAGnC,OAAO94C,EAASsyC,GAGlB9jB,EAAOpuC,UAAU45D,YAAc,SAAqBv6D,EAAOugB,EAAQsyC,EAAYmG,IAC7Eh5D,GAASA,EACTugB,GAAkB,EAClBsyC,GAA0B,EAErBmG,IAEHN,EAASp3D,KAAMtB,EAAOugB,EAAQsyC,EADf/0C,KAAKG,IAAI,EAAG,EAAI40C,GAAc,EACO,GAGtD,IAAI9zD,EAAI8zD,EAAa,EACjBwG,EAAM,EAGV,IAFA/3D,KAAKif,EAASxhB,GAAa,IAARiB,IAEVjB,GAAK,IAAMs6D,GAAO,MACzB/3D,KAAKif,EAASxhB,GAAKiB,EAAQq5D,EAAM,IAGnC,OAAO94C,EAASsyC,GAGlB9jB,EAAOpuC,UAAU65D,WAAa,SAAoBx6D,EAAOugB,EAAQy4C,GAM/D,OALAh5D,GAASA,EACTugB,GAAkB,EACby4C,GAAUN,EAASp3D,KAAMtB,EAAOugB,EAAQ,EAAG,IAAM,GACjDwuB,EAAOojB,sBAAqBnyD,EAAQ8d,KAAKK,MAAMne,IACpDsB,KAAKif,GAAkB,IAARvgB,EACRugB,EAAS,GAWlBwuB,EAAOpuC,UAAU85D,cAAgB,SAAuBz6D,EAAOugB,EAAQy4C,GAYrE,OAXAh5D,GAASA,EACTugB,GAAkB,EACby4C,GAAUN,EAASp3D,KAAMtB,EAAOugB,EAAQ,EAAG,MAAQ,GAEpDwuB,EAAOojB,qBACT7wD,KAAKif,GAAkB,IAARvgB,EACfsB,KAAKif,EAAS,GAAKvgB,IAAU,GAE7B24D,EAAkBr3D,KAAMtB,EAAOugB,GAAQ,GAGlCA,EAAS,GAGlBwuB,EAAOpuC,UAAU+5D,cAAgB,SAAuB16D,EAAOugB,EAAQy4C,GAYrE,OAXAh5D,GAASA,EACTugB,GAAkB,EACby4C,GAAUN,EAASp3D,KAAMtB,EAAOugB,EAAQ,EAAG,MAAQ,GAEpDwuB,EAAOojB,qBACT7wD,KAAKif,GAAUvgB,IAAU,EACzBsB,KAAKif,EAAS,GAAa,IAARvgB,GAEnB24D,EAAkBr3D,KAAMtB,EAAOugB,GAAQ,GAGlCA,EAAS,GAWlBwuB,EAAOpuC,UAAUg6D,cAAgB,SAAuB36D,EAAOugB,EAAQy4C,GAcrE,OAbAh5D,GAASA,EACTugB,GAAkB,EACby4C,GAAUN,EAASp3D,KAAMtB,EAAOugB,EAAQ,EAAG,WAAY,GAExDwuB,EAAOojB,qBACT7wD,KAAKif,EAAS,GAAKvgB,IAAU,GAC7BsB,KAAKif,EAAS,GAAKvgB,IAAU,GAC7BsB,KAAKif,EAAS,GAAKvgB,IAAU,EAC7BsB,KAAKif,GAAkB,IAARvgB,GAEf64D,EAAkBv3D,KAAMtB,EAAOugB,GAAQ,GAGlCA,EAAS,GAGlBwuB,EAAOpuC,UAAUi6D,cAAgB,SAAuB56D,EAAOugB,EAAQy4C,GAcrE,OAbAh5D,GAASA,EACTugB,GAAkB,EACby4C,GAAUN,EAASp3D,KAAMtB,EAAOugB,EAAQ,EAAG,WAAY,GAExDwuB,EAAOojB,qBACT7wD,KAAKif,GAAUvgB,IAAU,GACzBsB,KAAKif,EAAS,GAAKvgB,IAAU,GAC7BsB,KAAKif,EAAS,GAAKvgB,IAAU,EAC7BsB,KAAKif,EAAS,GAAa,IAARvgB,GAEnB64D,EAAkBv3D,KAAMtB,EAAOugB,GAAQ,GAGlCA,EAAS,GAGlBwuB,EAAOpuC,UAAUk6D,WAAa,SAAoB76D,EAAOugB,EAAQsyC,EAAYmG,GAI3E,GAHAh5D,GAASA,EACTugB,GAAkB,GAEby4C,EAAU,CACb,IAAI8B,EAAQh9C,KAAKG,IAAI,EAAG,EAAI40C,EAAa,GACzC6F,EAASp3D,KAAMtB,EAAOugB,EAAQsyC,EAAYiI,EAAQ,GAAIA,GAGxD,IAAI/7D,EAAI,EACJs6D,EAAM,EACN0B,EAAM,EAGV,IAFAz5D,KAAKif,GAAkB,IAARvgB,IAENjB,EAAI8zD,IAAewG,GAAO,MAC7Br5D,EAAQ,GAAa,IAAR+6D,GAAsC,IAAzBz5D,KAAKif,EAASxhB,EAAI,KAC9Cg8D,EAAM,GAGRz5D,KAAKif,EAASxhB,IAAMiB,EAAQq5D,GAAO,GAAK0B,EAAM,IAGhD,OAAOx6C,EAASsyC,GAGlB9jB,EAAOpuC,UAAUq6D,WAAa,SAAoBh7D,EAAOugB,EAAQsyC,EAAYmG,GAI3E,GAHAh5D,GAASA,EACTugB,GAAkB,GAEby4C,EAAU,CACb,IAAI8B,EAAQh9C,KAAKG,IAAI,EAAG,EAAI40C,EAAa,GACzC6F,EAASp3D,KAAMtB,EAAOugB,EAAQsyC,EAAYiI,EAAQ,GAAIA,GAGxD,IAAI/7D,EAAI8zD,EAAa,EACjBwG,EAAM,EACN0B,EAAM,EAGV,IAFAz5D,KAAKif,EAASxhB,GAAa,IAARiB,IAEVjB,GAAK,IAAMs6D,GAAO,MACrBr5D,EAAQ,GAAa,IAAR+6D,GAAsC,IAAzBz5D,KAAKif,EAASxhB,EAAI,KAC9Cg8D,EAAM,GAGRz5D,KAAKif,EAASxhB,IAAMiB,EAAQq5D,GAAO,GAAK0B,EAAM,IAGhD,OAAOx6C,EAASsyC,GAGlB9jB,EAAOpuC,UAAUs6D,UAAY,SAAmBj7D,EAAOugB,EAAQy4C,GAO7D,OANAh5D,GAASA,EACTugB,GAAkB,EACby4C,GAAUN,EAASp3D,KAAMtB,EAAOugB,EAAQ,EAAG,KAAO,KAClDwuB,EAAOojB,sBAAqBnyD,EAAQ8d,KAAKK,MAAMne,IAChDA,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtCsB,KAAKif,GAAkB,IAARvgB,EACRugB,EAAS,GAGlBwuB,EAAOpuC,UAAUu6D,aAAe,SAAsBl7D,EAAOugB,EAAQy4C,GAYnE,OAXAh5D,GAASA,EACTugB,GAAkB,EACby4C,GAAUN,EAASp3D,KAAMtB,EAAOugB,EAAQ,EAAG,OAAS,OAErDwuB,EAAOojB,qBACT7wD,KAAKif,GAAkB,IAARvgB,EACfsB,KAAKif,EAAS,GAAKvgB,IAAU,GAE7B24D,EAAkBr3D,KAAMtB,EAAOugB,GAAQ,GAGlCA,EAAS,GAGlBwuB,EAAOpuC,UAAUw6D,aAAe,SAAsBn7D,EAAOugB,EAAQy4C,GAYnE,OAXAh5D,GAASA,EACTugB,GAAkB,EACby4C,GAAUN,EAASp3D,KAAMtB,EAAOugB,EAAQ,EAAG,OAAS,OAErDwuB,EAAOojB,qBACT7wD,KAAKif,GAAUvgB,IAAU,EACzBsB,KAAKif,EAAS,GAAa,IAARvgB,GAEnB24D,EAAkBr3D,KAAMtB,EAAOugB,GAAQ,GAGlCA,EAAS,GAGlBwuB,EAAOpuC,UAAUy6D,aAAe,SAAsBp7D,EAAOugB,EAAQy4C,GAcnE,OAbAh5D,GAASA,EACTugB,GAAkB,EACby4C,GAAUN,EAASp3D,KAAMtB,EAAOugB,EAAQ,EAAG,YAAa,YAEzDwuB,EAAOojB,qBACT7wD,KAAKif,GAAkB,IAARvgB,EACfsB,KAAKif,EAAS,GAAKvgB,IAAU,EAC7BsB,KAAKif,EAAS,GAAKvgB,IAAU,GAC7BsB,KAAKif,EAAS,GAAKvgB,IAAU,IAE7B64D,EAAkBv3D,KAAMtB,EAAOugB,GAAQ,GAGlCA,EAAS,GAGlBwuB,EAAOpuC,UAAU06D,aAAe,SAAsBr7D,EAAOugB,EAAQy4C,GAenE,OAdAh5D,GAASA,EACTugB,GAAkB,EACby4C,GAAUN,EAASp3D,KAAMtB,EAAOugB,EAAQ,EAAG,YAAa,YACzDvgB,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAExC+uC,EAAOojB,qBACT7wD,KAAKif,GAAUvgB,IAAU,GACzBsB,KAAKif,EAAS,GAAKvgB,IAAU,GAC7BsB,KAAKif,EAAS,GAAKvgB,IAAU,EAC7BsB,KAAKif,EAAS,GAAa,IAARvgB,GAEnB64D,EAAkBv3D,KAAMtB,EAAOugB,GAAQ,GAGlCA,EAAS,GAiBlBwuB,EAAOpuC,UAAU26D,aAAe,SAAsBt7D,EAAOugB,EAAQy4C,GACnE,OAAOD,EAAWz3D,KAAMtB,EAAOugB,GAAQ,EAAMy4C,IAG/CjqB,EAAOpuC,UAAU46D,aAAe,SAAsBv7D,EAAOugB,EAAQy4C,GACnE,OAAOD,EAAWz3D,KAAMtB,EAAOugB,GAAQ,EAAOy4C,IAYhDjqB,EAAOpuC,UAAU66D,cAAgB,SAAuBx7D,EAAOugB,EAAQy4C,GACrE,OAAOC,EAAY33D,KAAMtB,EAAOugB,GAAQ,EAAMy4C,IAGhDjqB,EAAOpuC,UAAU86D,cAAgB,SAAuBz7D,EAAOugB,EAAQy4C,GACrE,OAAOC,EAAY33D,KAAMtB,EAAOugB,GAAQ,EAAOy4C,IAIjDjqB,EAAOpuC,UAAUkvC,KAAO,SAAchgC,EAAQ6rD,EAAa5H,EAAOC,GAOhE,GANKD,IAAOA,EAAQ,GACfC,GAAe,IAARA,IAAWA,EAAMzyD,KAAKK,QAC9B+5D,GAAe7rD,EAAOlO,SAAQ+5D,EAAc7rD,EAAOlO,QAClD+5D,IAAaA,EAAc,GAC5B3H,EAAM,GAAKA,EAAMD,IAAOC,EAAMD,GAE9BC,IAAQD,EAAO,OAAO,EAC1B,GAAsB,IAAlBjkD,EAAOlO,QAAgC,IAAhBL,KAAKK,OAAc,OAAO,EAErD,GAAI+5D,EAAc,EAChB,MAAM,IAAIpJ,WAAW,6BAGvB,GAAIwB,EAAQ,GAAKA,GAASxyD,KAAKK,OAAQ,MAAM,IAAI2wD,WAAW,6BAC5D,GAAIyB,EAAM,EAAG,MAAM,IAAIzB,WAAW,2BAE9ByB,EAAMzyD,KAAKK,SAAQoyD,EAAMzyD,KAAKK,QAE9BkO,EAAOlO,OAAS+5D,EAAc3H,EAAMD,IACtCC,EAAMlkD,EAAOlO,OAAS+5D,EAAc5H,GAGtC,IACI/0D,EADAs5B,EAAM07B,EAAMD,EAGhB,GAAIxyD,OAASuO,GAAUikD,EAAQ4H,GAAeA,EAAc3H,EAE1D,IAAKh1D,EAAIs5B,EAAM,EAAGt5B,GAAK,IAAKA,EAC1B8Q,EAAO9Q,EAAI28D,GAAep6D,KAAKvC,EAAI+0D,QAEhC,GAAIz7B,EAAM,MAAS0W,EAAOojB,oBAE/B,IAAKpzD,EAAI,EAAGA,EAAIs5B,IAAOt5B,EACrB8Q,EAAO9Q,EAAI28D,GAAep6D,KAAKvC,EAAI+0D,QAGrCvB,WAAW5xD,UAAU+J,IAAIxL,KAAK2Q,EAAQvO,KAAK01D,SAASlD,EAAOA,EAAQz7B,GAAMqjC,GAG3E,OAAOrjC,GAOT0W,EAAOpuC,UAAU02D,KAAO,SAAcnpD,EAAK4lD,EAAOC,EAAKf,GAErD,GAAmB,kBAAR9kD,EAAkB,CAU3B,GATqB,kBAAV4lD,GACTd,EAAWc,EACXA,EAAQ,EACRC,EAAMzyD,KAAKK,QACa,kBAARoyD,IAChBf,EAAWe,EACXA,EAAMzyD,KAAKK,QAGM,IAAfuM,EAAIvM,OAAc,CACpB,IAAI4pC,EAAOr9B,EAAIoU,WAAW,GAEtBipB,EAAO,MACTr9B,EAAMq9B,GAIV,QAAiBxjC,IAAbirD,GAA8C,kBAAbA,EACnC,MAAM,IAAI/wD,UAAU,6BAGtB,GAAwB,kBAAb+wD,IAA0BjkB,EAAOkkB,WAAWD,GACrD,MAAM,IAAI/wD,UAAU,qBAAuB+wD,OAErB,kBAAR9kD,IAChBA,GAAY,KAId,GAAI4lD,EAAQ,GAAKxyD,KAAKK,OAASmyD,GAASxyD,KAAKK,OAASoyD,EACpD,MAAM,IAAIzB,WAAW,sBAGvB,GAAIyB,GAAOD,EACT,OAAOxyD,KAMT,IAAIvC,EAEJ,GALA+0D,KAAkB,EAClBC,OAAchsD,IAARgsD,EAAoBzyD,KAAKK,OAASoyD,IAAQ,EAC3C7lD,IAAKA,EAAM,GAGG,kBAARA,EACT,IAAKnP,EAAI+0D,EAAO/0D,EAAIg1D,IAAOh1D,EACzBuC,KAAKvC,GAAKmP,MAEP,CACL,IAAIqqD,EAAQxpB,EAAOC,SAAS9gC,GAAOA,EAAMylD,EAAY,IAAI5kB,EAAO7gC,EAAK8kD,GAAUxwC,YAC3E6V,EAAMkgC,EAAM52D,OAEhB,IAAK5C,EAAI,EAAGA,EAAIg1D,EAAMD,IAAS/0D,EAC7BuC,KAAKvC,EAAI+0D,GAASyE,EAAMx5D,EAAIs5B,GAIhC,OAAO/2B,MAKT,IAAIq6D,EAAoB,qBAoBxB,SAASrD,EAAM93D,GACb,OAAIA,EAAI,GAAW,IAAMA,EAAEgiB,SAAS,IAC7BhiB,EAAEgiB,SAAS,IAGpB,SAASmxC,EAAYxb,EAAQ33B,GAE3B,IAAIH,EADJG,EAAQA,GAAS6tC,IAMjB,IAJA,IAAI1sD,EAASw2C,EAAOx2C,OAChBi6D,EAAgB,KAChBrD,EAAQ,GAEHx5D,EAAI,EAAGA,EAAI4C,IAAU5C,EAAG,CAG/B,IAFAshB,EAAY83B,EAAO71B,WAAWvjB,IAEd,OAAUshB,EAAY,MAAQ,CAE5C,IAAKu7C,EAAe,CAElB,GAAIv7C,EAAY,MAAQ,EAEjBG,GAAS,IAAM,GAAG+3C,EAAMl2D,KAAK,IAAM,IAAM,KAC9C,SACK,GAAItD,EAAI,IAAM4C,EAAQ,EAEtB6e,GAAS,IAAM,GAAG+3C,EAAMl2D,KAAK,IAAM,IAAM,KAC9C,SAIFu5D,EAAgBv7C,EAChB,SAIF,GAAIA,EAAY,MAAQ,EACjBG,GAAS,IAAM,GAAG+3C,EAAMl2D,KAAK,IAAM,IAAM,KAC9Cu5D,EAAgBv7C,EAChB,SAIFA,EAAkE,OAArDu7C,EAAgB,OAAU,GAAKv7C,EAAY,YAC/Cu7C,IAEJp7C,GAAS,IAAM,GAAG+3C,EAAMl2D,KAAK,IAAM,IAAM,KAKhD,GAFAu5D,EAAgB,KAEZv7C,EAAY,IAAM,CACpB,IAAKG,GAAS,GAAK,EAAG,MACtB+3C,EAAMl2D,KAAKge,QACN,GAAIA,EAAY,KAAO,CAC5B,IAAKG,GAAS,GAAK,EAAG,MACtB+3C,EAAMl2D,KAAKge,GAAa,EAAM,IAAkB,GAAZA,EAAmB,UAClD,GAAIA,EAAY,MAAS,CAC9B,IAAKG,GAAS,GAAK,EAAG,MACtB+3C,EAAMl2D,KAAKge,GAAa,GAAM,IAAMA,GAAa,EAAM,GAAO,IAAkB,GAAZA,EAAmB,SAClF,MAAIA,EAAY,SAIrB,MAAM,IAAIjY,MAAM,sBAHhB,IAAKoY,GAAS,GAAK,EAAG,MACtB+3C,EAAMl2D,KAAKge,GAAa,GAAO,IAAMA,GAAa,GAAM,GAAO,IAAMA,GAAa,EAAM,GAAO,IAAkB,GAAZA,EAAmB,MAM5H,OAAOk4C,EA8BT,SAAS3E,EAAcnjB,GACrB,OAAOuhB,EAAO6J,YApHhB,SAAqBprB,GAInB,IAFAA,EAWF,SAAoBA,GAClB,OAAIA,EAAIhiC,KAAagiC,EAAIhiC,OAClBgiC,EAAIzuB,QAAQ,aAAc,IAb3B85C,CAAWrrB,GAAKzuB,QAAQ25C,EAAmB,KAEzCh6D,OAAS,EAAG,MAAO,GAE3B,KAAO8uC,EAAI9uC,OAAS,IAAM,GACxB8uC,GAAY,IAGd,OAAOA,EA0GmBsrB,CAAYtrB,IAGxC,SAAS8kB,EAAWt0C,EAAK+6C,EAAKz7C,EAAQ5e,GACpC,IAAK,IAAI5C,EAAI,EAAGA,EAAI4C,KACd5C,EAAIwhB,GAAUy7C,EAAIr6D,QAAU5C,GAAKkiB,EAAItf,UADb5C,EAE5Bi9D,EAAIj9D,EAAIwhB,GAAUU,EAAIliB,GAGxB,OAAOA,K,+CCrzDTF,EAAQg0D,WAkCR,SAAoBoJ,GAClB,IAAIC,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GAC3B,OAAsC,GAA9BE,EAAWC,GAAuB,EAAIA,GArChDx9D,EAAQg9D,YA4CR,SAAqBI,GACnB,IAAIK,EAQAv9D,EAPAm9D,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GACvB9jC,EAAM,IAAImkC,EAThB,SAAqBN,EAAKG,EAAUC,GAClC,OAAsC,GAA9BD,EAAWC,GAAuB,EAAIA,EAQ5BG,CAAYP,EAAKG,EAAUC,IACzCI,EAAU,EAEVpkC,EAAMgkC,EAAkB,EAAID,EAAW,EAAIA,EAG/C,IAAKr9D,EAAI,EAAGA,EAAIs5B,EAAKt5B,GAAK,EACxBu9D,EAAMI,EAAUT,EAAI35C,WAAWvjB,KAAO,GAAK29D,EAAUT,EAAI35C,WAAWvjB,EAAI,KAAO,GAAK29D,EAAUT,EAAI35C,WAAWvjB,EAAI,KAAO,EAAI29D,EAAUT,EAAI35C,WAAWvjB,EAAI,IACzJq5B,EAAIqkC,KAAaH,GAAO,GAAK,IAC7BlkC,EAAIqkC,KAAaH,GAAO,EAAI,IAC5BlkC,EAAIqkC,KAAmB,IAANH,EAGK,IAApBD,IACFC,EAAMI,EAAUT,EAAI35C,WAAWvjB,KAAO,EAAI29D,EAAUT,EAAI35C,WAAWvjB,EAAI,KAAO,EAC9Eq5B,EAAIqkC,KAAmB,IAANH,GAGK,IAApBD,IACFC,EAAMI,EAAUT,EAAI35C,WAAWvjB,KAAO,GAAK29D,EAAUT,EAAI35C,WAAWvjB,EAAI,KAAO,EAAI29D,EAAUT,EAAI35C,WAAWvjB,EAAI,KAAO,EACvHq5B,EAAIqkC,KAAaH,GAAO,EAAI,IAC5BlkC,EAAIqkC,KAAmB,IAANH,GAGnB,OAAOlkC,GAxETv5B,EAAQo3D,cA2FR,SAAuB0G,GASrB,IARA,IAAIL,EACAjkC,EAAMskC,EAAMh7D,OACZi7D,EAAavkC,EAAM,EAEnB2Z,EAAQ,GACR6qB,EAAiB,MAGZ99D,EAAI,EAAG+9D,EAAOzkC,EAAMukC,EAAY79D,EAAI+9D,EAAM/9D,GAAK89D,EACtD7qB,EAAM3vC,KAAK06D,EAAYJ,EAAO59D,EAAGA,EAAI89D,EAAiBC,EAAOA,EAAO/9D,EAAI89D,IAIvD,IAAfD,GACFN,EAAMK,EAAMtkC,EAAM,GAClB2Z,EAAM3vC,KAAK26D,EAAOV,GAAO,GAAKU,EAAOV,GAAO,EAAI,IAAQ,OAChC,IAAfM,IACTN,GAAOK,EAAMtkC,EAAM,IAAM,GAAKskC,EAAMtkC,EAAM,GAC1C2Z,EAAM3vC,KAAK26D,EAAOV,GAAO,IAAMU,EAAOV,GAAO,EAAI,IAAQU,EAAOV,GAAO,EAAI,IAAQ,MAGrF,OAAOtqB,EAAMrvB,KAAK,KA3GpB,IALA,IAAIq6C,EAAS,GACTN,EAAY,GACZH,EAA4B,qBAAfhK,WAA6BA,WAAapxD,MACvDoqC,EAAO,mEAEFxsC,EAAI,EAAGs5B,EAAMkT,EAAK5pC,OAAQ5C,EAAIs5B,IAAOt5B,EAC5Ci+D,EAAOj+D,GAAKwsC,EAAKxsC,GACjB29D,EAAUnxB,EAAKjpB,WAAWvjB,IAAMA,EAQlC,SAASo9D,EAAQF,GACf,IAAI5jC,EAAM4jC,EAAIt6D,OAEd,GAAI02B,EAAM,EAAI,EACZ,MAAM,IAAIjwB,MAAM,kDAKlB,IAAIg0D,EAAWH,EAAIvtD,QAAQ,KAG3B,OAFkB,IAAd0tD,IAAiBA,EAAW/jC,GAEzB,CAAC+jC,EADcA,IAAa/jC,EAAM,EAAI,EAAI+jC,EAAW,GAoD9D,SAASW,EAAYJ,EAAO7I,EAAOC,GAIjC,IAHA,IAAIuI,EALmB7lB,EAMnBlI,EAAS,GAEJxvC,EAAI+0D,EAAO/0D,EAAIg1D,EAAKh1D,GAAK,EAChCu9D,GAAOK,EAAM59D,IAAM,GAAK,WAAa49D,EAAM59D,EAAI,IAAM,EAAI,QAA0B,IAAf49D,EAAM59D,EAAI,IAC9EwvC,EAAOlsC,KATF26D,GADgBvmB,EAUO6lB,IATT,GAAK,IAAQU,EAAOvmB,GAAO,GAAK,IAAQumB,EAAOvmB,GAAO,EAAI,IAAQumB,EAAa,GAANvmB,IAY9F,OAAOlI,EAAO5rB,KAAK,IA3ErB+5C,EAAU,IAAIp6C,WAAW,IAAM,GAC/Bo6C,EAAU,IAAIp6C,WAAW,IAAM,I,cCjB/BzjB,EAAQ+1D,KAAO,SAAUvB,EAAQ9yC,EAAQ08C,EAAMC,EAAMC,GACnD,IAAIh7D,EAAGhD,EACHi+D,EAAgB,EAATD,EAAaD,EAAO,EAC3BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAS,EACTx+D,EAAIk+D,EAAOE,EAAS,EAAI,EACxB99D,EAAI49D,GAAQ,EAAI,EAChBn8D,EAAIuyD,EAAO9yC,EAASxhB,GAMxB,IALAA,GAAKM,EACL8C,EAAIrB,GAAK,IAAMy8D,GAAS,EACxBz8D,KAAOy8D,EACPA,GAASH,EAEFG,EAAQ,EAAGp7D,EAAQ,IAAJA,EAAUkxD,EAAO9yC,EAASxhB,GAAIA,GAAKM,EAAGk+D,GAAS,GAMrE,IAJAp+D,EAAIgD,GAAK,IAAMo7D,GAAS,EACxBp7D,KAAOo7D,EACPA,GAASL,EAEFK,EAAQ,EAAGp+D,EAAQ,IAAJA,EAAUk0D,EAAO9yC,EAASxhB,GAAIA,GAAKM,EAAGk+D,GAAS,GAErE,GAAU,IAANp7D,EACFA,EAAI,EAAIm7D,MACH,IAAIn7D,IAAMk7D,EACf,OAAOl+D,EAAIq+D,IAAqBnP,KAAdvtD,GAAK,EAAI,GAE3B3B,GAAQ2e,KAAKG,IAAI,EAAGi/C,GACpB/6D,GAAQm7D,EAGV,OAAQx8D,GAAK,EAAI,GAAK3B,EAAI2e,KAAKG,IAAI,EAAG9b,EAAI+6D,IAG5Cr+D,EAAQs0D,MAAQ,SAAUE,EAAQrzD,EAAOugB,EAAQ08C,EAAMC,EAAMC,GAC3D,IAAIh7D,EAAGhD,EAAGC,EACNg+D,EAAgB,EAATD,EAAaD,EAAO,EAC3BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBI,EAAc,KAATP,EAAcp/C,KAAKG,IAAI,GAAI,IAAMH,KAAKG,IAAI,GAAI,IAAM,EACzDlf,EAAIk+D,EAAO,EAAIE,EAAS,EACxB99D,EAAI49D,EAAO,GAAK,EAChBn8D,EAAId,EAAQ,GAAe,IAAVA,GAAe,EAAIA,EAAQ,EAAI,EAAI,EAqCxD,IApCAA,EAAQ8d,KAAK4/C,IAAI19D,GAEbwuC,MAAMxuC,IAAUA,IAAUquD,KAC5BlvD,EAAIqvC,MAAMxuC,GAAS,EAAI,EACvBmC,EAAIk7D,IAEJl7D,EAAI2b,KAAKK,MAAML,KAAKivB,IAAI/sC,GAAS8d,KAAK6/C,KAElC39D,GAASZ,EAAI0e,KAAKG,IAAI,GAAI9b,IAAM,IAClCA,IACA/C,GAAK,IAILY,GADEmC,EAAIm7D,GAAS,EACNG,EAAKr+D,EAELq+D,EAAK3/C,KAAKG,IAAI,EAAG,EAAIq/C,IAGpBl+D,GAAK,IACf+C,IACA/C,GAAK,GAGH+C,EAAIm7D,GAASD,GACfl+D,EAAI,EACJgD,EAAIk7D,GACKl7D,EAAIm7D,GAAS,GACtBn+D,GAAKa,EAAQZ,EAAI,GAAK0e,KAAKG,IAAI,EAAGi/C,GAClC/6D,GAAQm7D,IAERn+D,EAAIa,EAAQ8d,KAAKG,IAAI,EAAGq/C,EAAQ,GAAKx/C,KAAKG,IAAI,EAAGi/C,GACjD/6D,EAAI,IAID+6D,GAAQ,EAAG7J,EAAO9yC,EAASxhB,GAAS,IAAJI,EAAUJ,GAAKM,EAAGF,GAAK,IAAK+9D,GAAQ,GAK3E,IAHA/6D,EAAIA,GAAK+6D,EAAO/9D,EAChBi+D,GAAQF,EAEDE,EAAO,EAAG/J,EAAO9yC,EAASxhB,GAAS,IAAJoD,EAAUpD,GAAKM,EAAG8C,GAAK,IAAKi7D,GAAQ,GAE1E/J,EAAO9yC,EAASxhB,EAAIM,IAAU,IAAJyB,I,cCvF5B,IAAI0hB,EAAW,GAAGA,SAElB1jB,EAAOD,QAAUsC,MAAMq3B,SAAW,SAAUJ,GAC1C,MAA6B,kBAAtB5V,EAAStjB,KAAKk5B,K,0/MCGvB,I,EAIO,EAJDqR,EAAQ,IAAInrB,IAElB,IAAImd,IAAa,CACfrb,KAAM,CACJa,K,EAAG,UAAE,+FACGqZ,EAAQn2B,SAAS+H,cAAc,eAAelM,MADjD,SAEkB8pC,MAAM,mBAAqBD,mBAAmBvP,IAFhE,cAEGyP,EAFH,gBAGgBA,EAAOC,OAHvB,cAGG5pB,EAHH,QAIE/d,KAAK,CAAC4nC,aAAY,EAAMtL,OAAQrE,EAAO4P,KAAM,wBAJ/C,kBAKI9pB,GALJ,0CAAF,E,8KAAA,4CAOH9f,IAAK,CAAC,UACNy7B,OAAO,GAET3vB,SAAU,cACV2sB,YAAa,CACX8D,QAAQ,EACRtD,YAAap1B,SAAS+H,cAAc,6BACpCutB,SAAU,YACVx1B,QAAS,OAEXs5B,WAAY,GACZtE,WAAW,EACXW,WAAY,CACVt1B,QAAS,SAAC8b,EAAM2pB,GACd,GAAI3pB,EAAKpgB,MAAMiqC,YACbF,EAAOvkC,YAAY/B,YAAqB,MAAO,mBAAoB,oBAC9D,CACL,IAAMsc,EAAO5b,SAASC,cAAc,OACpC2b,EAAK9c,aAAa,QAAS,QAC3B8c,EAAKxb,UAAY6b,EAAKpgB,MAAM+f,KAC5B0pB,EAAM1nB,iBAAiBhC,GACvB,IAAMoqB,EAAShmC,SAASC,cAAc,OACtC+lC,EAAOlnC,aAAa,QAAS,UAC7BknC,EAAO5lC,UAAY6b,EAAKpgB,MAAMmqC,OAC9B,IAAM7qC,EAAO6E,SAASC,cAAc,OACpC9E,EAAK2D,aAAa,QAAS,QAC3B3D,EAAKiF,UAAY6b,EAAKpgB,MAAMV,KAC5ByqC,EAAOvkC,YAAYua,GACnBgqB,EAAOvkC,YAAY2kC,GACnBJ,EAAOvkC,YAAYlG,KAGvB2E,QAAS,OACRg2B,YAAa,SAACE,GACfh2B,SAAS2jC,SAAW3N,EAASE,UAAUr6B,MAAMkqC,QAIjD/lC,SAAS+H,cAAc,8BAA8BzD,iBAAiB,SAAS,WAC7EtE,SAAS+H,cAAc,wBAAwBhJ,UAAUsnC,OAAO,SAChErmC,SAAS+H,cAAc,eAAeooB,WAGxCnwB,SAAS+H,cAAc,6BAA6By9B,SAAW,WAAQ,OAAO,IAEhD,WACV,IAAInX,IAAaruB,SAAS+H,cAAc,+BAC7C,IAAIs5B,IAAiBrhC,SAAS+H,cAAc,sCACpD7D,OAAO,qBAAqB,SAACuc,GAChCzgB,SAAS+H,cAAc,wBAAwBhJ,UAAU0L,OAAO,SAChEzK,SAAS+H,cAAc,eAAe0xD,UAI1CC,I,6BCvEA,oEAAOC,EAAqB,SAAC/8C,G,OAC3BA,EAAIE,IAAMF,EAAIpc,QAAQo5D,MACtBh9C,EAAI7d,UAAU0L,OAAO,cAEvBovD,EAAoB,WAClB,IAAAC,EAAA,EAEA,OAFAA,EAAS,GAAG/zC,MAAMhrB,KAAKiF,SAAS6+B,iBAAiB,kBAE9C73B,OAAO+yD,sBACRrpC,EAAW,IAAIqpC,sBAAqB,SAACC,EAAStpC,G,OAC5CspC,EAAQ3hD,SAAQ,SAAC4hD,GACf,GAAGA,EAAMC,e,OACPP,EAAmBM,EAAMvuD,QACzBglB,EAASypC,UAAUF,EAAMvuD,cAE/BouD,EAAOzhD,SAAQ,SAACuhD,G,OAAUlpC,EAASK,QAAQ6oC,OAG3CE,EAAOzhD,SAAQ,SAACuhD,G,OACdD,EAAmBC,OAEzB55D,SAASsE,iBAAiB,mBAAoBu1D,I,8ECE1Cv4D,EAAa,CACf84D,YAAa,yBACbC,qBAAsB,kCACtBC,YAAa,yBACbC,sBAAuB,mCACvBC,4BAA6B,0CAE3B13D,EAAU,CACZ23D,iCAAkC,IAClCC,uBAAwB,KAEtB54D,EAAU,CACZ64D,qBAAsB,gCACtBC,iBAAkB,mBAClBC,yBAA0B,oCAC1Bl0C,cAAe,mBACfm0C,eAAgB,2B,OCZd,EAEJ,SAAUnwD,GAKR,SAASowD,EAA2B73D,GAClC,OAAOyH,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAI49D,EAA2B7qD,gBAAiBhN,KAAa/F,KA0E1G,OA/EA,YAAU49D,EAA4BpwD,GAQtCrP,OAAOC,eAAew/D,EAA4B,UAAW,CAC3Dt/D,IAAK,WACH,OAAOqG,GAETtG,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAew/D,EAA4B,aAAc,CAC9Dt/D,IAAK,WACH,OAAO6F,GAET9F,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAew/D,EAA4B,UAAW,CAC3Dt/D,IAAK,WACH,OAAOqH,GAETtH,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAew/D,EAA4B,iBAAkB,CAIlEt/D,IAAK,WAEH,MAAO,CACL2P,SAAU,aAGVsB,YAAa,aAGbge,SAAU,WACR,OAAO,GAET2T,SAAU,aAGV28B,mBAAoB,WAClB,OAAO,GAETC,4BAA6B,aAG7BC,mBAAoB,WAClB,OAAO,GAETC,oBAAqB,WACnB,OAAO,KAIb3/D,YAAY,EACZ2H,cAAc,IAIhB43D,EAA2Bv+D,UAAU4+D,mBAAqB,aAK1DL,EAA2Bv+D,UAAU6+D,mBAAqB,aAG1DN,EAA2Bv+D,UAAU8+D,sBAAwB,WAC3Dn+D,KAAK+F,QAAQ+3D,+BAGRF,EAhFT,CAiFE,KClFE,EAEJ,SAAUpwD,GAKR,SAAS4wD,EAAuBr4D,GAC9B,IAAI0H,EAAQD,EAAO5P,KAAKoC,KAAM+F,IAAY/F,KAkC1C,OA5BAyN,EAAM4wD,YAAa,EAKnB5wD,EAAM6wD,kBAAmB,EAKzB7wD,EAAM8wD,wBAA0B,EAKhC9wD,EAAM+wD,0BAA2B,EAKjC/wD,EAAMgxD,kBApCU,EAyChBhxD,EAAMixD,kBAzCU,EA0ChBjxD,EAAMkxD,oBAAsBlxD,EAAM1H,QAAQg4D,qBAC1CtwD,EAAMmxD,iBAAmBnxD,EAAM1H,QAAQ83D,qBAChCpwD,EAgIT,OAvKA,YAAU2wD,EAAwB5wD,GA0ClC4wD,EAAuB/+D,UAAU6G,QAAU,WACzCsH,EAAOnO,UAAU6G,QAAQtI,KAAKoC,MAE9BA,KAAK+F,QAAQm7B,SAAS,MAAO,KAQ/Bk9B,EAAuB/+D,UAAU4+D,mBAAqB,WACpD,IAAIY,EAAwBriD,KAAKC,IAAIzc,KAAK+F,QAAQg4D,qBAAsB,GACpEe,EAAOD,EAAwB7+D,KAAK2+D,oBACxC3+D,KAAK2+D,oBAAsBE,EAGtB7+D,KAAKw+D,2BACRx+D,KAAKu+D,yBAA2BO,EAE5B9+D,KAAKu+D,wBAA0B,EACjCv+D,KAAKu+D,wBAA0B,EACtB/hD,KAAK4/C,IAAIp8D,KAAKu+D,yBAA2Bv+D,KAAK4+D,mBACvD5+D,KAAKu+D,yBAA2Bv+D,KAAK4+D,kBAGvC5+D,KAAK++D,mBASTX,EAAuB/+D,UAAU6+D,mBAAqB,WACpD,IAAIzwD,EAAQzN,KAGPA,KAAKy+D,oBACRz+D,KAAKy+D,kBAAoBzqD,YAAW,WAClCvG,EAAMgxD,kBAxFM,EA0FZhxD,EAAMuxD,4BACLr5D,EAAQ23D,mCAGbt9D,KAAKw+D,0BAA2B,EAE5Bx+D,KAAK0+D,mBACP7qD,aAAa7T,KAAK0+D,mBAGpB1+D,KAAK0+D,kBAAoB1qD,YAAW,WAClCvG,EAAMwwD,qBAENxwD,EAAM+wD,0BAA2B,EACjC/wD,EAAMixD,kBAxGQ,IAyGb/4D,EAAQ23D,mCAObc,EAAuB/+D,UAAU4/D,gBAAkB,WACjD,IAAIC,GAAwBl/D,KAAK4+D,iBAC7BO,EAAwBn/D,KAAKu+D,wBAA0B,EACvDa,EAAuBp/D,KAAKu+D,wBAA0BW,EACtDG,EAAmBF,GAAyBC,EAEhD,GAAIC,EACFr/D,KAAKq+D,YAAa,MACb,CAEL,IAAKr+D,KAAKq+D,WAER,OADAr+D,KAAKq+D,YAAa,GACX,EACF,GAAIr+D,KAAKs+D,mBAAqBc,EAEnC,OADAp/D,KAAKs+D,iBAAmBc,GACjB,EAIX,OAAOC,GAOTjB,EAAuB/+D,UAAU0/D,eAAiB,WAChD,GAAI/+D,KAAKi/D,kBAAmB,CAG1B,IAAIhgD,EAASjf,KAAKu+D,wBAEd/hD,KAAK4/C,IAAIn9C,IAAWjf,KAAK4+D,mBAC3B3/C,GAAUtZ,EAAQ43D,wBAGpBv9D,KAAK+F,QAAQm7B,SAAS,MAAOjiB,EAAS,QAS1Cm/C,EAAuB/+D,UAAU2/D,wBAA0B,WACzD,IAAIM,EAAgBt/D,KAAK+F,QAAQ83D,qBAE7B79D,KAAK4+D,mBAAqBU,IAC5Bt/D,KAAKq+D,YAAa,EAIlBr+D,KAAKu+D,yBAA2Bv+D,KAAK4+D,iBAAmBU,EACxDt/D,KAAK4+D,iBAAmBU,GAG1Bt/D,KAAKi+D,sBAGAG,EAxKT,CAyKE,GC5KE,EAEJ,SAAU5wD,GAGR,SAAS+xD,IACP,IAAI9xD,EAAmB,OAAXD,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KAOhE,OADAyN,EAAM+xD,cAAe,EACd/xD,EAwBT,OAlCA,YAAU8xD,EAA6B/xD,GAkBvC+xD,EAA4BlgE,UAAU4+D,mBAAqB,WACrCj+D,KAAK+F,QAAQg4D,sBAEZ,EACf/9D,KAAKw/D,eACPx/D,KAAK+F,QAAQwJ,YAAYpL,EAAW+4D,sBACpCl9D,KAAKw/D,cAAe,GAGjBx/D,KAAKw/D,eACRx/D,KAAK+F,QAAQkI,SAAS9J,EAAW+4D,sBACjCl9D,KAAKw/D,cAAe,IAKnBD,EAnCT,CAoCE,GCtCE,EAEJ,SAAU/xD,GAKR,SAASiyD,EAA4B15D,GACnC,IAAI0H,EAAQD,EAAO5P,KAAKoC,KAAM+F,IAAY/F,KAI1C,OAFAyN,EAAMiyD,cAAe,EACrBjyD,EAAMkyD,oBAAqB,EACpBlyD,EAiFT,OA1FA,YAAUgyD,EAA6BjyD,GAYvCrP,OAAOC,eAAeqhE,EAA4BpgE,UAAW,cAAe,CAE1Ef,IAAK,WACH,OAAO0B,KAAK0/D,cAEdrhE,YAAY,EACZ2H,cAAc,IAGhBy5D,EAA4BpgE,UAAU4G,KAAO,WAC3CuH,EAAOnO,UAAU4G,KAAKrI,KAAKoC,MAEvBA,KAAK+F,QAAQi4D,sBAAwB,GACvCh+D,KAAK+F,QAAQkI,SAAS9J,EAAWk5D,6BAInCr9D,KAAK4/D,mBAAmB5/D,KAAK+F,QAAQwnB,SAASppB,EAAWi5D,yBAS3DqC,EAA4BpgE,UAAUugE,mBAAqB,SAAUlhE,GACnEsB,KAAK2/D,qBAAuBjhE,EAExBsB,KAAK2/D,mBACP3/D,KAAK6/D,YAGL7/D,KAAK8/D,qBAITL,EAA4BpgE,UAAU0gE,mBAAqB,WACzD,OAAO//D,KAAK2/D,oBAQdF,EAA4BpgE,UAAU4+D,mBAAqB,WACzDj+D,KAAK8/D,qBAGPL,EAA4BpgE,UAAUygE,kBAAoB,WACpD9/D,KAAK2/D,qBAIW3/D,KAAK+F,QAAQg4D,sBAEZ,EACf/9D,KAAK0/D,cACP1/D,KAAKggE,cAGFhgE,KAAK0/D,cACR1/D,KAAK6/D,cAKXJ,EAA4BpgE,UAAU2gE,YAAc,WAClDhgE,KAAK+F,QAAQwJ,YAAYpL,EAAWi5D,uBACpCp9D,KAAK0/D,cAAe,GAGtBD,EAA4BpgE,UAAUwgE,UAAY,WAChD7/D,KAAK+F,QAAQkI,SAAS9J,EAAWi5D,uBACjCp9D,KAAK0/D,cAAe,GAGfD,EA3FT,CA4FE,GC1FE,EAEJ,SAAUjyD,GAGR,SAASyyD,IACP,OAAkB,OAAXzyD,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KA6H7D,OAhIA,YAAUigE,EAAczyD,GAMxByyD,EAAar5D,SAAW,SAAUR,GAChC,OAAO,IAAI65D,EAAa75D,IAG1B65D,EAAa5gE,UAAUmH,WAAa,SAAU2qB,QACtB,IAAlBA,IACFA,EAAgB,SAAU9uB,GACxB,OAAO,IAAUuE,SAASvE,KAI9BrC,KAAKkgE,SAAWlgE,KAAKoG,KAAKwE,cAAcjG,EAAQ+4D,0BAEhD,IAAIyC,EAAQ,GAAGv3C,MAAMhrB,KAAKoC,KAAKoG,KAAKs7B,iBAAiB/8B,EAAQ64D,uBAEzDx9D,KAAKkgE,UACPC,EAAMp/D,KAAKf,KAAKkgE,UAGlBlgE,KAAKogE,aAAeD,EAAM1sC,KAAI,SAAU4sC,GACtC,IAAIxyD,EAASsjB,EAAckvC,GAE3B,OADAxyD,EAAOC,WAAY,EACZD,KAET7N,KAAKsgE,cAAgBz2D,QAGvBo2D,EAAa5gE,UAAUsH,mBAAqB,WAC1C3G,KAAKugE,uBAAyBvgE,KAAKqG,WAAW83D,sBAAsBl/D,KAAKe,KAAKqG,YAC9ErG,KAAKwgE,oBAAsBxgE,KAAKqG,WAAW63D,mBAAmBj/D,KAAKe,KAAKqG,YACxErG,KAAKygE,oBAAsBzgE,KAAKqG,WAAW43D,mBAAmBh/D,KAAKe,KAAKqG,YACxErG,KAAKsgE,cAAcn5D,iBAAiB,SAAUnH,KAAKygE,qBAE/CzgE,KAAKkgE,UACPlgE,KAAKkgE,SAAS/4D,iBAAiB,QAASnH,KAAKugE,wBAG/C,IAAIG,EAAU1gE,KAAKoG,KAAKxE,UAAU4M,SAASrK,EAAW84D,aACxCj9D,KAAKoG,KAAKxE,UAAU4M,SAASrK,EAAWg5D,cAErCuD,GACf72D,OAAO1C,iBAAiB,SAAUnH,KAAKwgE,sBAI3CP,EAAa5gE,UAAU6G,QAAU,WAC/BlG,KAAKogE,aAAallD,SAAQ,SAAUylD,GAClC,OAAOA,EAAWz6D,aAEpBlG,KAAKsgE,cAAcj5D,oBAAoB,SAAUrH,KAAKygE,qBAElDzgE,KAAKkgE,UACPlgE,KAAKkgE,SAAS74D,oBAAoB,QAASrH,KAAKugE,wBAGlD,IAAIG,EAAU1gE,KAAKoG,KAAKxE,UAAU4M,SAASrK,EAAW84D,aACxCj9D,KAAKoG,KAAKxE,UAAU4M,SAASrK,EAAWg5D,cAErCuD,GACf72D,OAAOxC,oBAAoB,SAAUrH,KAAKwgE,qBAG5ChzD,EAAOnO,UAAU6G,QAAQtI,KAAKoC,OAGhCigE,EAAa5gE,UAAUuhE,gBAAkB,SAAUryD,GAEjDvO,KAAKsgE,cAAcj5D,oBAAoB,SAAUrH,KAAKygE,qBACtDzgE,KAAKsgE,cAAgB/xD,EAErBvO,KAAKygE,oBAAsBzgE,KAAKqG,WAAW43D,mBAAmBh/D,KAAKe,KAAKqG,YACxErG,KAAKsgE,cAAcn5D,iBAAiB,SAAUnH,KAAKygE,sBAGrDR,EAAa5gE,UAAUqH,qBAAuB,WAC5C,IAAI+G,EAAQzN,KAKR+F,EAAU,CACZwnB,SAAU,SAAUrf,GAClB,OAAOT,EAAMrH,KAAKxE,UAAU4M,SAASN,IAEvCD,SAAU,SAAUC,GAClB,OAAOT,EAAMrH,KAAKxE,UAAUC,IAAIqM,IAElCqB,YAAa,SAAUrB,GACrB,OAAOT,EAAMrH,KAAKxE,UAAU0L,OAAOY,IAErCgzB,SAAU,SAAU9hC,EAAUV,GAC5B,OAAO+O,EAAMrH,KAAKmG,MAAMC,YAAYpN,EAAUV,IAEhDm/D,mBAAoB,WAClB,OAAOpwD,EAAMrH,KAAKy6D,cAEpB/C,4BAA6B,WAC3B,OAAOrwD,EAAMnG,KAAK3C,EAAQ84D,iBAAkB,KAE9CM,mBAAoB,WAClB,IAAI+C,EAAMrzD,EAAM6yD,cACZj+D,EAAKoL,EAAM6yD,cACf,YAA2B75D,IAApBq6D,EAAI9xD,YAA4B8xD,EAAI9xD,YAAc3M,EAAG0+D,WAE9D/C,oBAAqB,WACnB,OAAOvwD,EAAMrH,KAAKs7B,iBAAiB/8B,EAAQ64D,sBAAsBn9D,SAcrE,OARIL,KAAKoG,KAAKxE,UAAU4M,SAASrK,EAAWg5D,aAC7B,IAAI,EAA4Bp3D,GACpC/F,KAAKoG,KAAKxE,UAAU4M,SAASrK,EAAW84D,aACpC,IAAI,EAA4Bl3D,GAEhC,IAAI,EAAuBA,IAMrCk6D,EAjIT,CAkIE,K,wBC5IE,EAAa,CACfe,QAAS,sBACTvvD,QAAS,sBACTwvD,YAAa,0BACbC,MAAO,oBACPxvD,KAAM,mBACNC,QAAS,sBACTjN,KAAM,cAEJ,EAAU,CACZy8D,qBAAsB,0BACtBC,YAAa,mBACbC,WAAY,mBACZC,eAAgB,qBCTd,EAEJ,SAAU9zD,GAGR,SAAS+zD,EAA+Bx7D,GACtC,IAAI0H,EAAQD,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAIuhE,EAA+BxuD,gBAAiBhN,KAAa/F,KAIjH,OAFAyN,EAAMwF,gBAAkB,EACxBxF,EAAMyF,gBAAkB,EACjBzF,EAkNT,OAzNA,YAAU8zD,EAAgC/zD,GAU1CrP,OAAOC,eAAemjE,EAAgC,UAAW,CAC/DjjE,IAAK,WACH,OAAO,GAETD,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAemjE,EAAgC,aAAc,CAClEjjE,IAAK,WACH,OAAO,GAETD,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAemjE,EAAgC,iBAAkB,CACtEjjE,IAAK,WAEH,MAAO,CACL2P,SAAU,aAGVsB,YAAa,aAGbge,SAAU,WACR,OAAO,GAETi0C,gBAAiB,WACf,OAAO,GAETC,YAAa,aAGbC,WAAY,aAGZC,UAAW,aAGXC,aAAc,aAGdC,0BAA2B,aAG3Bv9B,UAAW,aAGXQ,aAAc,eAKlBzmC,YAAY,EACZ2H,cAAc,IAGhBu7D,EAA+BliE,UAAU6G,QAAU,WAC7ClG,KAAKiT,iBACPW,qBAAqB5T,KAAKiT,iBAGxBjT,KAAKkT,iBACPW,aAAa7T,KAAKkT,kBAQtBquD,EAA+BliE,UAAUyU,KAAO,WAC9C,IAAIrG,EAAQzN,KAERA,KAAKsU,UAAYtU,KAAK8hE,aAAe9hE,KAAK+hE,cAI9C/hE,KAAK+F,QAAQkI,SAAS,EAAWyD,MACjC1R,KAAK+F,QAAQkI,SAAS,EAAW+yD,SAEjChhE,KAAK+T,wBAAuB,WAC1BtG,EAAM1H,QAAQkI,SAAS,EAAW0D,YAEpC3R,KAAK+F,QAAQ47D,cAOfJ,EAA+BliE,UAAU+U,MAAQ,YAC1CpU,KAAKsU,UAAYtU,KAAK8hE,aAAe9hE,KAAK+hE,aAI/C/hE,KAAK+F,QAAQkI,SAAS,EAAWwD,UAQnC8vD,EAA+BliE,UAAUiV,OAAS,WAChD,OAAOtU,KAAK+F,QAAQwnB,SAAS,EAAW7b,OAQ1C6vD,EAA+BliE,UAAUyiE,UAAY,WACnD,OAAO9hE,KAAK+F,QAAQwnB,SAAS,EAAW5b,UAAY3R,KAAK+F,QAAQwnB,SAAS,EAAWyzC,UAQvFO,EAA+BliE,UAAU0iE,UAAY,WACnD,OAAO/hE,KAAK+F,QAAQwnB,SAAS,EAAW9b,UAO1C8vD,EAA+BliE,UAAUgkB,cAAgB,SAAU5b,GACjE,IAAIgC,EAAUhC,EAAIgC,SAEK,WADbhC,EAAIzI,KACiC,KAAZyK,IAGjCzJ,KAAKoU,SAQTmtD,EAA+BliE,UAAU4hC,oBAAsB,SAAUx5B,GACvE,IAAIkK,EAAU,EAAWA,QACrBF,EAAU,EAAWA,QACrBC,EAAO,EAAWA,KAClBsvD,EAAU,EAAWA,QACrBt8D,EAAO,EAAWA,KAEF1E,KAAKgiE,WAAWv6D,EAAI8G,SAAWvO,KAAK+F,QAAQy7D,gBAAgB/5D,EAAI8G,OAAQ7J,KAMxF1E,KAAK+hE,aACP/hE,KAAK+F,QAAQwJ,YAAYmC,GACzB1R,KAAKiiE,UACLjiE,KAAK+F,QAAQ67D,eACb5hE,KAAK+F,QAAQ07D,gBAEbzhE,KAAK+F,QAAQ87D,4BACb7hE,KAAKkiE,UACLliE,KAAK+F,QAAQ27D,cAGf1hE,KAAK+F,QAAQwJ,YAAYyxD,GACzBhhE,KAAK+F,QAAQwJ,YAAYoC,GACzB3R,KAAK+F,QAAQwJ,YAAYkC,KAO3B8vD,EAA+BliE,UAAU6iE,QAAU,aAOnDX,EAA+BliE,UAAU4iE,QAAU,aAOnDV,EAA+BliE,UAAU0U,uBAAyB,SAAU5J,GAC1E,IAAIsD,EAAQzN,KAEZ4T,qBAAqB5T,KAAKiT,iBAC1BjT,KAAKiT,gBAAkBgC,uBAAsB,WAC3CxH,EAAMwF,gBAAkB,EACxBY,aAAapG,EAAMyF,iBACnBzF,EAAMyF,gBAAkBc,WAAW7J,EAAU,OAIjDo3D,EAA+BliE,UAAU2iE,WAAa,SAAUr/D,GAE9D,OAAOwM,QAAQxM,EAAQf,YAGlB2/D,EA1NT,CA2NE,KC7NE,EAEJ,SAAU/zD,GAGR,SAAS20D,IACP,OAAkB,OAAX30D,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KA2B7D,OA9BA,YAAUmiE,EAA0B30D,GAUpC20D,EAAyB9iE,UAAU+iE,iBAAmB,WACpDpiE,KAAKoU,SAOP+tD,EAAyB9iE,UAAU6iE,QAAU,WAC3CliE,KAAK+F,QAAQu+B,aAOf69B,EAAyB9iE,UAAU4iE,QAAU,WAC3CjiE,KAAK+F,QAAQ++B,gBAGRq9B,EA/BT,CAgCE,GC9BF,IC9BA,ID8BI,EAAa,EAA+Bh+D,WAC5C,EAAU,EAA+BQ,QAMzC,EAEJ,SAAU6I,GAGR,SAAS60D,IACP,OAAkB,OAAX70D,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KA2K7D,OA9KA,YAAUqiE,EAAW70D,GAMrB60D,EAAUz7D,SAAW,SAAUR,GAC7B,OAAO,IAAIi8D,EAAUj8D,IAGvBjI,OAAOC,eAAeikE,EAAUhjE,UAAW,OAAQ,CAKjDf,IAAK,WACH,OAAO0B,KAAKqG,WAAWiO,UAMzBlL,IAAK,SAAUkL,GACTA,EACFtU,KAAKqG,WAAWyN,OAEhB9T,KAAKqG,WAAW+N,SAGpB/V,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeikE,EAAUhjE,UAAW,OAAQ,CACjDf,IAAK,WACH,OAAO0B,KAAKsiE,OAEdjkE,YAAY,EACZ2H,cAAc,IAGhBq8D,EAAUhjE,UAAUmH,WAAa,SAAU+7D,EAAkBC,QAClC,IAArBD,IACFA,EAAmB,SAAUlgE,GAC3B,OAAO,IAAI,IAAUA,UAIL,IAAhBmgE,IACFA,EAAc,SAAUngE,GACtB,OAAO,IAAI,IAAQA,KAIvB,IAAIogE,EAASziE,KAAKoG,KAAKwE,cAAc,IAAM,IAAkBzG,WAAWO,MAEpE+9D,IACFziE,KAAKsiE,MAAQE,EAAYC,GACzBziE,KAAKsiE,MAAMI,WAAY,GAGzB1iE,KAAK2iE,kBAAoBJ,GAG3BF,EAAUhjE,UAAUsH,mBAAqB,WACvC,IElFoCi8D,EFkFhCn1D,EAAQzN,KAERkhE,EAAQ,EAAWA,MACnBI,EAAiB,EAAQA,eAC7BthE,KAAK6iE,OAAS7iE,KAAKoG,KAAKuX,WAAW/S,cAAc02D,GAE7CthE,KAAK6iE,QAAU7iE,KAAKoG,KAAKxE,UAAU4M,SAAS0yD,KAC9ClhE,KAAK8iE,kBAAoB,WACvB,OAAOr1D,EAAMpH,WAAW+7D,oBAG1BpiE,KAAK6iE,OAAO17D,iBAAiB,QAASnH,KAAK8iE,mBAC3C9iE,KAAK+iE,YE9F6BH,EF8Fa5iE,KAAKoG,MAAlC,EAAwCpG,KAAK2iE,mBE7F3CC,EAAW,CAEjCj+B,kBAAkB,MF8FlB3kC,KAAK8hC,eAAiB,SAAUr6B,GAC9B,OAAOgG,EAAMpH,WAAWgd,cAAc5b,IAGxCzH,KAAKgjE,qBAAuB,SAAUv7D,GACpC,OAAOgG,EAAMpH,WAAW46B,oBAAoBx5B,IAG9CzH,KAAK+G,OAAO,UAAW/G,KAAK8hC,gBAC5B9hC,KAAK+G,OAAO,gBAAiB/G,KAAKgjE,uBAGpCX,EAAUhjE,UAAU6G,QAAU,WAC5BlG,KAAKoH,SAAS,UAAWpH,KAAK8hC,gBAC9B9hC,KAAKoH,SAAS,gBAAiBpH,KAAKgjE,sBAEhChjE,KAAKsiE,OACPtiE,KAAKsiE,MAAMp8D,UAGb,IAAIg7D,EAAQ,EAAWA,MAEnBlhE,KAAK6iE,QAAU7iE,KAAK8iE,mBAAqB9iE,KAAKoG,KAAKxE,UAAU4M,SAAS0yD,KACxElhE,KAAK6iE,OAAOx7D,oBAAoB,QAASrH,KAAK8iE,mBAE9C9iE,KAAK8T,MAAO,IAIhBuuD,EAAUhjE,UAAUqH,qBAAuB,WACzC,IAAI+G,EAAQzN,KAKR+F,EAAU,CACZkI,SAAU,SAAUC,GAClB,OAAOT,EAAMrH,KAAKxE,UAAUC,IAAIqM,IAElCqB,YAAa,SAAUrB,GACrB,OAAOT,EAAMrH,KAAKxE,UAAU0L,OAAOY,IAErCqf,SAAU,SAAUrf,GAClB,OAAOT,EAAMrH,KAAKxE,UAAU4M,SAASN,IAEvCszD,gBAAiB,SAAU7+D,EAASuL,GAClC,OAAOvL,EAAQf,UAAU4M,SAASN,IAEpCyzD,UAAW,WACT,OAAOl0D,EAAMw1D,eAAiBpgE,SAASkxB,eAEzC6tC,aAAc,WACZ,IAAIsB,EAAgBz1D,EAAMw1D,eAEtBC,GAAiBA,EAAclwC,OAASvlB,EAAMrH,KAAKoI,SAAS3L,SAASkxB,gBACvEmvC,EAAclwC,SAGlB6uC,0BAA2B,WACzB,IAAIsB,EAAkB11D,EAAMrH,KAAKwE,cAAc,IAAM,IAAkBzG,WAAWC,2BAE9E++D,GACFA,EAAgBnwC,SAGpByuC,YAAa,WACX,OAAOh0D,EAAMnG,KAAK,EAAQ85D,YAAa,IAAI,IAI7CM,WAAY,WACV,OAAOj0D,EAAMnG,KAAK,EAAQ+5D,WAAY,IAAI,IAI5C/8B,UAAW,WACT,OAAO72B,EAAMs1D,WAAWz+B,aAE1BQ,aAAc,WACZ,OAAOr3B,EAAMs1D,WAAWj+B,iBAIxBm8B,EAAc,EAAWA,YACzBC,EAAQ,EAAWA,MAEvB,GAAIlhE,KAAKoG,KAAKxE,UAAU4M,SAASyyD,GAC/B,OAAO,IAAI,EAA+Bl7D,GACrC,GAAI/F,KAAKoG,KAAKxE,UAAU4M,SAAS0yD,GACtC,OAAO,IAAI,EAAyBn7D,GAEpC,MAAM,IAAIe,MAAM,sEAAwEm6D,EAAc,QAAUC,EAAQ,MAIrHmB,EA/KT,CAgLE,KChNF,GAAG5uC,IAAI71B,KAAKiF,SAAS6+B,iBADV,6DACsC,SAACr/B,G,OAChD,IAAI,IAAUA,MAEhB,GAAGoxB,IAAI71B,KAAKiF,SAAS6+B,iBAAiB,uBAAuB,SAACr/B,G,OAC5D,IAAI,IAAgBA,MAGtB+gE,EAAS,EAAUx8D,SAAS/D,SAAS+H,cAAc,iBAEnDy4D,EAAY,EAAaz8D,SAAS/D,SAASygE,eAAe,aAChD1C,gBAAgB/9D,SAASygE,eAAe,YAClDD,EAAUt8D,OAAO,oBAAoB,W,OAAGq8D,EAAOtvD,MAAQsvD,EAAOtvD,QAErD,IAAI,IAAUjR,SAAS+H,cAAc,iBAE9C,EAAQ,IACR,EAAQ,IACR,EAAQ,K,wCExBR,c,8BCIO8tC,EAAM,SAACr3C,EAAKoK,EAAiBlB,EAAakM,G,iBAA9BhL,EAAS,Q,UAAQlB,EAAO,M,UAAMkM,EAAU,MACd,OAARlM,GAA2B,QAAVkB,IAApDlB,EAAO,eAEPi+B,MAAMnnC,EAAK,CAAAoK,OAAQA,EAAQlB,KAAMA,EAAMg5D,QAD7B,CAAE,mBAAoB,oBACyB74D,MAAK,SAAC+hD,GAC7D,GAAqBh2C,E,OAArBA,EAAQg2C,ODFZ+W,EAAa,WACX,M,OAAA,IAAcp6D,IAAI,uBAAuB,GACzC,IAAcA,IAAI,iCAAiC,IAAI0D,MAAOE,WAC9DnK,SAAS+H,cAAc,mBAAmBhJ,UAAUC,IAAI,UAExDgI,OAAO45D,UAAY55D,OAAO45D,WAAa,GAChC,W,OAAGA,UAAU1iE,KAAKX,WAEzBsjE,CAAK,UAAW,SACd,YAAc,UACd,kBAAqB,aAEvB34D,EAAS,eACFjJ,OAAO,OAAQ,IACtBiJ,EAAOjJ,OAAO,QAAS,4GACvB42C,EAAI,UAAW,OAAQ3tC,GAEvB44D,KAEFC,EAAiB,WACf,IAAA1hE,E,OAAAA,EAAS,YAAc,MAAM,GAAM,IAC5BiF,iBAAiB,SAAS,W,OAAGq8D,OACpCthE,GAEF2hE,EAAiB,WACf,IAAAjtD,E,OAAAA,EAAM,YAAmB,MAAO,mBAC5B9U,OAAO,YAAqB,OAAQ,wBAAyB,YACjE8U,EAAI9U,OAAO8hE,KACXhtD,EAAI9U,OAAOgiE,KACXltD,GAEFktD,EAAe,WACb,IAAAC,E,OAAAA,EAAO,YAAqB,IAAK,kBAC5BpiE,aAAa,OAAQ,2BAC1BoiE,GAEFC,EAAwB,W,OACtBnhE,SAAS0H,KAAKzI,OAAO+hE,MAKvBF,EAAmB,WACjB,IAAAM,E,OAAAA,EAASphE,SAASC,cAAc,WACzB6c,IAAM,yCACbskD,EAAOC,OAAQ,EACfrhE,SAAS0H,KAAKrG,YAAY+/D,IAE5BE,EAA+B,WAC7B,GAAsB,IAAc7lE,IAAI,uB,OAAxCqlE,KAVsC,WACtC,IAA+B,IAAcrlE,IAAI,uBAAjD0lE,IAWFI,GACAD,K,4BE1DA,IAAAE,IAAuB,WACrB,WAAGhiE,EAAKQ,SAAS+H,cAAc,gC,OAC7BvI,EAAGT,UAAU0L,OAAO,cACX,GACT22D,EAASphE,SAASC,cAAc,WACzBnB,aAAa,QAAS,QAC7BsiE,EAAOtiE,aAAa,MAAO,mEAC3BU,EAAGP,OAAOmiE,IAEdphE,SAASsE,iBAAiB,mBAAoBk9D,I,mECkB1CC,E,mCCLAngE,EAAa,CACfogE,UAAW,8BACXC,mBAAoB,wCACpBC,YAAa,0BAEX9/D,EAAU,CACZ+/D,cAAe,iCACf39B,iBAAkB,qCCPhB49B,EAGF,SAA2B5+D,GACzB/F,KAAK+F,QAAUA,GCDf,EAEJ,SAAUyH,GAGR,SAASo3D,IACP,OAAkB,OAAXp3D,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KA+C7D,OAlDA,YAAU4kE,EAA0Bp3D,GAMpCo3D,EAAyBvlE,UAAUwlE,qBAAuB,WACxD,IAAIC,EAAoB9kE,KAAK+F,QAAQg/D,0BACjCjrD,EAAQ9Z,KAAKglE,wBAAwBlrD,MAEzC,OAAO0C,KAAKO,MAAMjD,EAAQgrD,IAG5BF,EAAyBvlE,UAAU4lE,YAAc,SAAUC,GACzD,IAAIC,EAAQnlE,KAAKglE,wBACbF,EAAoB9kE,KAAK+F,QAAQg/D,0BACjCK,EAAoBplE,KAAKqlE,kBAAkBF,EAAMrrD,MAAQorD,GAC7D,MAAO,CACLI,oBAAqBF,EACrBG,YAAaH,EAAoBN,IAIrCF,EAAyBvlE,UAAUmmE,mBAAqB,SAAUN,GAChE,IAAIJ,EAAoB9kE,KAAK+F,QAAQg/D,0BACjCK,EAAoBplE,KAAKqlE,kBAAkBP,EAAoBI,GACnE,MAAO,CACLI,oBAAqBF,EACrBG,YAAaH,EAAoBN,IAIrCF,EAAyBvlE,UAAUomE,2BAA6B,SAAUP,GACxE,OAAOA,GAGTN,EAAyBvlE,UAAU2lE,sBAAwB,WAGzD,MAAO,CACLjsD,KAAM,EACNe,MAJiB9Z,KAAK+F,QAAQ2/D,8BAChB1lE,KAAK+F,QAAQ4/D,6BAO/Bf,EAAyBvlE,UAAUgmE,kBAAoB,SAAUH,GAC/D,IAAIC,EAAQnlE,KAAKglE,wBACjB,OAAOxoD,KAAK+L,IAAI/L,KAAKC,IAAI0oD,EAAMpsD,KAAMmsD,GAAUC,EAAMrrD,QAGhD8qD,EAnDT,CAoDED,GCtDE,EAEJ,SAAUn3D,GAGR,SAASo4D,IACP,OAAkB,OAAXp4D,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KA4C7D,OA/CA,YAAU4lE,EAA2Bp4D,GAMrCo4D,EAA0BvmE,UAAUwlE,qBAAuB,SAAUgB,GACnE,IAAIf,EAAoB9kE,KAAK+F,QAAQg/D,0BACrC,OAAOvoD,KAAKO,MAAM8oD,EAAaf,IAGjCc,EAA0BvmE,UAAU4lE,YAAc,SAAUC,GAC1D,IAAIJ,EAAoB9kE,KAAK+F,QAAQg/D,0BACjCK,EAAoBplE,KAAKqlE,mBAAmBH,GAChD,MAAO,CACLI,oBAAqBF,EACrBG,YAAaH,EAAoBN,IAIrCc,EAA0BvmE,UAAUmmE,mBAAqB,SAAUN,GACjE,IAAIJ,EAAoB9kE,KAAK+F,QAAQg/D,0BACjCK,EAAoBplE,KAAKqlE,kBAAkBP,EAAoBI,GACnE,MAAO,CACLI,oBAAqBF,EACrBG,YAAaH,EAAoBN,IAIrCc,EAA0BvmE,UAAUomE,2BAA6B,SAAUP,EAASW,GAClF,OAAOX,EAAUW,GAGnBD,EAA0BvmE,UAAU2lE,sBAAwB,WAC1D,IAAIc,EAAe9lE,KAAK+F,QAAQ2/D,8BAEhC,MAAO,CACL3sD,KAFc/Y,KAAK+F,QAAQ4/D,2BAETG,EAClBhsD,MAAO,IAIX8rD,EAA0BvmE,UAAUgmE,kBAAoB,SAAUH,GAChE,IAAIC,EAAQnlE,KAAKglE,wBACjB,OAAOxoD,KAAKC,IAAID,KAAK+L,IAAI48C,EAAMrrD,MAAOorD,GAAUC,EAAMpsD,OAGjD6sD,EAhDT,CAiDEjB,GCnDE,EAEJ,SAAUn3D,GAGR,SAASu4D,IACP,OAAkB,OAAXv4D,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KA6C7D,OAhDA,YAAU+lE,EAA0Bv4D,GAMpCu4D,EAAyB1mE,UAAUwlE,qBAAuB,SAAUgB,GAClE,IAAIf,EAAoB9kE,KAAK+F,QAAQg/D,0BAErC,OAAOvoD,KAAKO,MAAM+nD,EAAoBe,IAGxCE,EAAyB1mE,UAAU4lE,YAAc,SAAUC,GACzD,IAAIJ,EAAoB9kE,KAAK+F,QAAQg/D,0BACjCK,EAAoBplE,KAAKqlE,kBAAkBH,GAC/C,MAAO,CACLI,oBAAqBF,EACrBG,YAAaT,EAAoBM,IAIrCW,EAAyB1mE,UAAUmmE,mBAAqB,SAAUN,GAChE,IAAIJ,EAAoB9kE,KAAK+F,QAAQg/D,0BACjCK,EAAoBplE,KAAKqlE,kBAAkBP,EAAoBI,GACnE,MAAO,CACLI,oBAAqBF,EACrBG,YAAaT,EAAoBM,IAIrCW,EAAyB1mE,UAAUomE,2BAA6B,SAAUP,EAASW,GACjF,OAAOX,EAAUW,GAGnBE,EAAyB1mE,UAAU2lE,sBAAwB,WAGzD,MAAO,CACLjsD,KAHiB/Y,KAAK+F,QAAQ2/D,8BAChB1lE,KAAK+F,QAAQ4/D,2BAG3B7rD,MAAO,IAIXisD,EAAyB1mE,UAAUgmE,kBAAoB,SAAUH,GAC/D,IAAIC,EAAQnlE,KAAKglE,wBACjB,OAAOxoD,KAAK+L,IAAI/L,KAAKC,IAAI0oD,EAAMrrD,MAAOorD,GAAUC,EAAMpsD,OAGjDgtD,EAjDT,CAkDEpB,GChDE,EAEJ,SAAUn3D,GAGR,SAASw4D,EAAyBjgE,GAChC,IAAI0H,EAAQD,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAIgmE,EAAyBjzD,gBAAiBhN,KAAa/F,KAO3G,OADAyN,EAAMw4D,cAAe,EACdx4D,EAwZT,OAlaA,YAAUu4D,EAA0Bx4D,GAapCrP,OAAOC,eAAe4nE,EAA0B,aAAc,CAC5D1nE,IAAK,WACH,OAAO6F,GAET9F,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe4nE,EAA0B,UAAW,CACzD1nE,IAAK,WACH,OAAOqG,GAETtG,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAe4nE,EAA0B,iBAAkB,CAChE1nE,IAAK,WAEH,MAAO,CACL4nE,2BAA4B,WAC1B,OAAO,GAETj4D,SAAU,aAGVsB,YAAa,aAGb42D,mBAAoB,aAGpBC,2BAA4B,aAG5BC,8BAA+B,aAG/BC,2BAA4B,WAC1B,MAAO,IAETC,wBAAyB,aAGzBxB,wBAAyB,WACvB,OAAO,GAETW,4BAA6B,WAC3B,OAAO,GAETC,yBAA0B,WACxB,OAAO,GAETa,4BAA6B,WAC3B,MAAO,CACLxtD,IAAK,EACLc,MAAO,EACPC,OAAQ,EACRhB,KAAM,EACNN,MAAO,EACPC,OAAQ,IAGZ+tD,+BAAgC,WAC9B,MAAO,CACLztD,IAAK,EACLc,MAAO,EACPC,OAAQ,EACRhB,KAAM,EACNN,MAAO,EACPC,OAAQ,IAGZguD,iCAAkC,WAChC,OAAO,KAIbroE,YAAY,EACZ2H,cAAc,IAGhBggE,EAAyB3mE,UAAU4G,KAAO,WAGxC,IAAI0gE,EAA4B3mE,KAAK+F,QAAQ2gE,mCAC7C1mE,KAAK+F,QAAQqgE,2BAA2B,iBAAkBO,EAA4B,MACtF3mE,KAAK+F,QAAQogE,mBAAmBH,EAAyB7hE,WAAWqgE,qBAOtEwB,EAAyB3mE,UAAUunE,kBAAoB,WACrD,GAAI5mE,KAAK6mE,SACP,OAAO7mE,KAAK8mE,mCAGd,IAAIC,EAAoB/mE,KAAKgnE,8BAE7B,OADiBhnE,KAAK+F,QAAQg/D,0BACVgC,GAOtBf,EAAyB3mE,UAAUykC,kBAAoB,WAEhD9jC,KAAKimE,cAKVjmE,KAAKinE,wBAOPjB,EAAyB3mE,UAAU4hC,oBAAsB,SAAUx5B,GAEjE,IAAIy/D,EAAYz/D,EAAI8G,OAEfvO,KAAKimE,cAAiBjmE,KAAK+F,QAAQmgE,2BAA2BgB,EAAWlB,EAAyBrhE,QAAQoiC,oBAI/G/mC,KAAKimE,cAAe,EACpBjmE,KAAK+F,QAAQwJ,YAAYy2D,EAAyB7hE,WAAWogE,aAQ/DyB,EAAyB3mE,UAAU8nE,gBAAkB,SAAUC,GAEpC,IAArBA,GAIJpnE,KAAKqnE,SAASrnE,KAAKsnE,6BAA6BF,KAQlDpB,EAAyB3mE,UAAUkoE,yBAA2B,SAAUH,GAEtE,GAAyB,IAArBA,EAAJ,CAIA,IAAI3yB,EAAYz0C,KAAKsnE,6BAA6BF,GAEpB,IAA1B3yB,EAAU8wB,cAIdvlE,KAAKinE,uBACLjnE,KAAK+F,QAAQwgE,wBAAwB9xB,EAAU6wB,wBAOjDU,EAAyB3mE,UAAUmoE,SAAW,SAAUtC,GACtD,GAAIllE,KAAK6mE,SACP,OAAO7mE,KAAKynE,aAAavC,GAG3BllE,KAAK0nE,UAAUxC,IAOjBc,EAAyB3mE,UAAUsoE,eAAiB,WAKlD,OAJK3nE,KAAK4nE,uBACR5nE,KAAK4nE,qBAAuB5nE,KAAK6nE,uBAG5B7nE,KAAK4nE,sBAOd5B,EAAyB3mE,UAAU2nE,4BAA8B,WAC/D,IAAIc,EAAiB9nE,KAAK+F,QAAQugE,2BAA2B,aAE7D,GAAuB,SAAnBwB,EACF,OAAO,EAOT,IAAIznD,EAAQ,YAAY4c,KAAK6qC,GAE7B,IAAKznD,EACH,OAAO,EAGT,IAAI0nD,EAAe1nD,EAAM,GAGrBlG,EAAK,YAAO4tD,EAAax2D,MAAM,KAAM,GAKrCy2D,GAJI7tD,EAAG,GACHA,EAAG,GACHA,EAAG,GACHA,EAAG,GACFA,EAAG,IACHA,EAAG,GAEZ,OAAO4xC,WAAWic,IAQpBhC,EAAyB3mE,UAAUgmE,kBAAoB,SAAUH,GAC/D,IAAIC,EAAQnlE,KAAKglE,wBACjB,OAAOxoD,KAAK+L,IAAI/L,KAAKC,IAAI0oD,EAAMpsD,KAAMmsD,GAAUC,EAAMrrD,QAGvDksD,EAAyB3mE,UAAUynE,iCAAmC,WACpE,IAAIjB,EAAa7lE,KAAKgnE,8BACtB,OAAOhnE,KAAK2nE,iBAAiB9C,qBAAqBgB,IAGpDG,EAAyB3mE,UAAU2lE,sBAAwB,WAGzD,MAAO,CACLjsD,KAAM,EACNe,MAJiB9Z,KAAK+F,QAAQ2/D,8BAChB1lE,KAAK+F,QAAQ4/D,6BAY/BK,EAAyB3mE,UAAUqoE,UAAY,SAAUxC,GACvD,IAAI+C,EAAiBjoE,KAAK4mE,oBACtBsB,EAAcloE,KAAKqlE,kBAAkBH,GACrCK,EAAc2C,EAAcD,EAChCjoE,KAAKqnE,SAAS,CACZ/B,oBAAqB4C,EACrB3C,YAAaA,KASjBS,EAAyB3mE,UAAUooE,aAAe,SAAUvC,GAC1D,IAAIiD,EAAYnoE,KAAK2nE,iBAAiB1C,YAAYC,GAClDllE,KAAKqnE,SAASc,IAShBnC,EAAyB3mE,UAAUioE,6BAA+B,SAAUpC,GAC1E,GAAIllE,KAAK6mE,SACP,OAAO7mE,KAAK2nE,iBAAiBnC,mBAAmBN,GAGlD,IAAI+C,EAAiBjoE,KAAK4mE,oBACtBwB,EAAgBlD,EAAU+C,EAC1BC,EAAcloE,KAAKqlE,kBAAkB+C,GAEzC,MAAO,CACL9C,oBAAqB4C,EACrB3C,YAHgB2C,EAAcD,IAYlCjC,EAAyB3mE,UAAUgoE,SAAW,SAAUc,GACtD,IAAI16D,EAAQzN,KAGkB,IAA1BmoE,EAAU5C,cAIdvlE,KAAKinE,uBAGLjnE,KAAK+F,QAAQwgE,wBAAwB4B,EAAU7C,qBAC/CtlE,KAAK+F,QAAQsgE,8BAA8B,YAAa,cAAgB8B,EAAU5C,YAAc,OAEhGvlE,KAAK+F,QAAQygE,8BACbvxD,uBAAsB,WACpBxH,EAAM1H,QAAQkI,SAAS+3D,EAAyB7hE,WAAWogE,WAE3D92D,EAAM1H,QAAQsgE,8BAA8B,YAAa,WAE3DrmE,KAAKimE,cAAe,IAOtBD,EAAyB3mE,UAAU4nE,qBAAuB,WACxDjnE,KAAKimE,cAAe,EACpB,IAAIpH,EAAwB7+D,KAAKqoE,8BACjCroE,KAAK+F,QAAQwJ,YAAYy2D,EAAyB7hE,WAAWogE,WAC7DvkE,KAAK+F,QAAQsgE,8BAA8B,YAAa,mBACxDrmE,KAAK+F,QAAQwgE,wBAAwB1H,IAOvCmH,EAAyB3mE,UAAUgpE,4BAA8B,WAC/D,IAAItB,EAAoB/mE,KAAKgnE,8BACzBsB,EAAatoE,KAAK+F,QAAQg/D,0BAE9B,OAAI/kE,KAAK6mE,SACA7mE,KAAK2nE,iBAAiBlC,2BAA2B6C,EAAYvB,GAG/DuB,EAAavB,GAOtBf,EAAyB3mE,UAAUwoE,oBAAsB,WAmBvD,IAAIU,EAAoBvoE,KAAK+F,QAAQg/D,0BACrC/kE,KAAK+F,QAAQwgE,wBAAwBgC,EAAoB,GACzD,IAAIC,EAAgBxoE,KAAK+F,QAAQg/D,0BAIjC,GAAIyD,EAAgB,EAGlB,OADAxoE,KAAK+F,QAAQwgE,wBAAwBgC,GAC9B,IAAI,EAA0BvoE,KAAK+F,SAG5C,IAAI0iE,EAAiBzoE,KAAK+F,QAAQygE,8BAC9BkC,EAAoB1oE,KAAK+F,QAAQ0gE,iCACjCkC,EAAiBnsD,KAAKO,MAAM2rD,EAAkB5uD,MAAQ2uD,EAAe3uD,OAMzE,OAJA9Z,KAAK+F,QAAQwgE,wBAAwBgC,GAIjCI,IAAmBH,EACd,IAAI,EAAyBxoE,KAAK+F,SAGpC,IAAI,EAAyB/F,KAAK+F,UAG3CigE,EAAyB3mE,UAAUwnE,OAAS,WAC1C,MAAgE,QAAzD7mE,KAAK+F,QAAQugE,2BAA2B,cAG1CN,EAnaT,CAoaE,KCtaF,IAAI,EAEJ,SAAUx4D,GAGR,SAASo7D,IACP,OAAkB,OAAXp7D,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KAkI7D,OArIA,YAAU4oE,EAAgBp7D,GAM1Bo7D,EAAehiE,SAAW,SAAUR,GAClC,OAAO,IAAIwiE,EAAexiE,IAG5BwiE,EAAevpE,UAAUmH,WAAa,WACpCxG,KAAK6oE,MAAQ7oE,KAAKoG,KAAKwE,cAAc,EAAyBjG,QAAQ+/D,eACtE1kE,KAAK0nC,SAAW1nC,KAAKoG,KAAKwE,cAAc,EAAyBjG,QAAQoiC,mBAG3E6hC,EAAevpE,UAAUsH,mBAAqB,WAC5C,IAAI8G,EAAQzN,KAEZA,KAAK8oE,mBAAqB,WACxB,OAAOr7D,EAAMpH,WAAWy9B,qBAG1B9jC,KAAKgjE,qBAAuB,SAAUv7D,GACpC,OAAOgG,EAAMpH,WAAW46B,oBAAoBx5B,IAG9CzH,KAAK6oE,MAAM1hE,iBAAiB,QAASnH,KAAK8oE,mBAAoB,eAC9D9oE,KAAK6oE,MAAM1hE,iBAAiB,aAAcnH,KAAK8oE,mBAAoB,eACnE9oE,KAAK6oE,MAAM1hE,iBAAiB,cAAenH,KAAK8oE,mBAAoB,eACpE9oE,KAAK6oE,MAAM1hE,iBAAiB,YAAanH,KAAK8oE,mBAAoB,eAClE9oE,KAAK6oE,MAAM1hE,iBAAiB,UAAWnH,KAAK8oE,mBAAoB,eAChE9oE,KAAK0nC,SAASvgC,iBAAiB,gBAAiBnH,KAAKgjE,uBAGvD4F,EAAevpE,UAAU6G,QAAU,WACjCsH,EAAOnO,UAAU6G,QAAQtI,KAAKoC,MAE9BA,KAAK6oE,MAAMxhE,oBAAoB,QAASrH,KAAK8oE,mBAAoB,eACjE9oE,KAAK6oE,MAAMxhE,oBAAoB,aAAcrH,KAAK8oE,mBAAoB,eACtE9oE,KAAK6oE,MAAMxhE,oBAAoB,cAAerH,KAAK8oE,mBAAoB,eACvE9oE,KAAK6oE,MAAMxhE,oBAAoB,YAAarH,KAAK8oE,mBAAoB,eACrE9oE,KAAK6oE,MAAMxhE,oBAAoB,UAAWrH,KAAK8oE,mBAAoB,eACnE9oE,KAAK0nC,SAASrgC,oBAAoB,gBAAiBrH,KAAKgjE,uBAG1D4F,EAAevpE,UAAUqH,qBAAuB,WAC9C,IAAI+G,EAAQzN,KAkDZ,OAAO,IAAI,EA7CG,CACZkmE,2BAA4B,SAAUgB,EAAWp8D,GAC/C,OAAO,YAAQo8D,EAAWp8D,IAE5BmD,SAAU,SAAUC,GAClB,OAAOT,EAAMrH,KAAKxE,UAAUC,IAAIqM,IAElCqB,YAAa,SAAUrB,GACrB,OAAOT,EAAMrH,KAAKxE,UAAU0L,OAAOY,IAErCi4D,mBAAoB,SAAUj4D,GAC5B,OAAOT,EAAMo7D,MAAMjnE,UAAUC,IAAIqM,IAEnCk4D,2BAA4B,SAAUz+B,EAAMjpC,GAC1C,OAAO+O,EAAMo7D,MAAMt8D,MAAMC,YAAYm7B,EAAMjpC,IAE7C2nE,8BAA+B,SAAU1+B,EAAMjpC,GAC7C,OAAO+O,EAAMi6B,SAASn7B,MAAMC,YAAYm7B,EAAMjpC,IAEhD4nE,2BAA4B,SAAUyC,GACpC,OAAOl/D,OAAO67B,iBAAiBj4B,EAAMi6B,UAAUshC,iBAAiBD,IAElExC,wBAAyB,SAAUrB,GACjC,OAAOz3D,EAAMo7D,MAAMP,WAAapD,GAElCH,wBAAyB,WACvB,OAAOt3D,EAAMo7D,MAAMP,YAErB5C,4BAA6B,WAC3B,OAAOj4D,EAAMi6B,SAASuhC,aAExBtD,yBAA0B,WACxB,OAAOl4D,EAAMo7D,MAAMI,aAErBzC,4BAA6B,WAC3B,OAAO/4D,EAAMo7D,MAAMx6D,yBAErBo4D,+BAAgC,WAC9B,OAAOh5D,EAAMi6B,SAASr5B,yBAExBq4D,iCAAkC,WAChC,OP3FD,SAA0CwC,EAAaC,GAK5D,QAJ0B,IAAtBA,IACFA,GAAoB,GAGlBA,GAA2D,qBAA/B7E,EAC9B,OAAOA,EAGT,IAAIjiE,EAAK6mE,EAAYpmE,cAAc,OACnCT,EAAGT,UAAUC,IAAIsC,EAAWsgE,aAC5ByE,EAAY3+D,KAAKrG,YAAY7B,GAC7B,IAAIskE,EAA4BtkE,EAAG+mE,aAAe/mE,EAAGw+D,aAOrD,OANAqI,EAAY3+D,KAAKmC,YAAYrK,GAEzB8mE,IACF7E,EAA6BqC,GAGxBA,EOwEM,CAAsC9jE,cAWnD+lE,EAAevpE,UAAUunE,kBAAoB,WAC3C,OAAO5mE,KAAKqG,WAAWugE,qBAOzBgC,EAAevpE,UAAUgqE,sBAAwB,WAC/C,OAAOrpE,KAAK0nC,SAASuhC,aAQvBL,EAAevpE,UAAU8nE,gBAAkB,SAAUC,GACnDpnE,KAAKqG,WAAW8gE,gBAAgBC,IAQlCwB,EAAevpE,UAAUmoE,SAAW,SAAUtC,GAC5CllE,KAAKqG,WAAWmhE,SAAStC,IAGpB0D,EAtIT,CAuIE,K,wBChJE,EAAa,CACfhiC,OAAQ,mBAEN,EAAU,CACZvhC,cAAe,gBACf0hC,iBAAkB,oBAClBuiC,iBAAkB,oBAClBC,gBAAiB,mBACjBC,SAAU,WACVC,uBAAwB,sBCLtB,EAEJ,SAAUj8D,GAGR,SAASk8D,EAAiB3jE,GACxB,IAAI0H,EAAQD,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAI0pE,EAAiB32D,gBAAiBhN,KAAa/F,KAGnG,OADAyN,EAAMk8D,kBAAmB,EAClBl8D,EAiIT,OAvIA,YAAUi8D,EAAkBl8D,GAS5BrP,OAAOC,eAAesrE,EAAkB,aAAc,CACpDprE,IAAK,WACH,OAAO,GAETD,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAesrE,EAAkB,UAAW,CACjDprE,IAAK,WACH,OAAO,GAETD,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAesrE,EAAkB,iBAAkB,CACxDprE,IAAK,WAEH,MAAO,CACL2P,SAAU,aAGVsB,YAAa,aAGbge,SAAU,WACR,OAAO,GAETyR,QAAS,aAGT4qC,kBAAmB,aAGnBC,oBAAqB,aAGrBC,iBAAkB,aAGlBC,cAAe,WACb,OAAO,GAETC,eAAgB,WACd,OAAO,GAETC,qBAAsB,WACpB,OAAO,GAETC,sBAAuB,WACrB,OAAO,GAETl3C,MAAO,eAKX30B,YAAY,EACZ2H,cAAc,IAGhB0jE,EAAiBrqE,UAAUioB,YAAc,WAGvCtnB,KAAK+F,QAAQ+jE,oBAGfJ,EAAiBrqE,UAAU8qE,SAAW,WACpC,OAAOnqE,KAAK+F,QAAQwnB,SAAS,EAAWqZ,SAO1C8iC,EAAiBrqE,UAAU+qE,mBAAqB,SAAUC,GACxDrqE,KAAK2pE,iBAAmBU,GAO1BX,EAAiBrqE,UAAUuQ,SAAW,SAAUy3B,GAC9CrnC,KAAK+F,QAAQkI,SAAS,EAAW24B,QACjC5mC,KAAK+F,QAAQi5B,QAAQ,EAAQ35B,cAAe,QAC5CrF,KAAK+F,QAAQi5B,QAAQ,EAAQwqC,SAAU,KACvCxpE,KAAK+F,QAAQ6jE,kBAAkBviC,GAE3BrnC,KAAK2pE,kBACP3pE,KAAK+F,QAAQitB,SAQjB02C,EAAiBrqE,UAAUwQ,WAAa,WAEjC7P,KAAKmqE,aAIVnqE,KAAK+F,QAAQwJ,YAAY,EAAWq3B,QACpC5mC,KAAK+F,QAAQi5B,QAAQ,EAAQ35B,cAAe,SAC5CrF,KAAK+F,QAAQi5B,QAAQ,EAAQwqC,SAAU,MACvCxpE,KAAK+F,QAAQ8jE,wBAOfH,EAAiBrqE,UAAUirE,kBAAoB,WAC7C,IAAIC,EAAYvqE,KAAK+F,QAAQikE,iBACzBQ,EAAWxqE,KAAK+F,QAAQgkE,gBACxBjE,EAAe9lE,KAAK+F,QAAQmkE,wBAC5BO,EAAczqE,KAAK+F,QAAQkkE,uBAC/B,MAAO,CACLQ,YAAaD,EAAWC,EACxBC,aAAcF,EAAWC,EAAc3E,EACvC0E,SAAUA,EACVG,UAAWH,EAAWD,IAInBb,EAxIT,CAyIE,KCxIE,EAEJ,SAAUl8D,GAGR,SAASo9D,IACP,OAAkB,OAAXp9D,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KAoK7D,OAvKA,YAAU4qE,EAAQp9D,GAMlBo9D,EAAOhkE,SAAW,SAAUR,GAC1B,OAAO,IAAIwkE,EAAOxkE,IAGpBwkE,EAAOvrE,UAAUmH,WAAa,SAAU2qB,EAAe05C,QAC/B,IAAlB15C,IACFA,EAAgB,SAAU9uB,EAAIgE,GAC5B,OAAO,IAAI,IAAUhE,EAAIgE,UAID,IAAxBwkE,IACFA,EAAsB,SAAUxoE,GAC9B,OAAO,IAAI,IAAgBA,KAI/BrC,KAAK0L,GAAK1L,KAAKoG,KAAKsF,GACpB,IAAIo/D,EAAgB9qE,KAAKoG,KAAKwE,cAAc,EAAiBjG,QAAQ4kE,iBAEjEwB,EAAgB,YAAS,YAAS,GAAI,IAAUh9D,cAAc/N,OAAQ,CACxEiO,SAAU,SAAUC,GAClB,OAAO48D,EAAclpE,UAAUC,IAAIqM,IAErCqB,YAAa,SAAUrB,GACrB,OAAO48D,EAAclpE,UAAU0L,OAAOY,IAExCsB,kBAAmB,SAAUC,EAAS/Q,GACpC,OAAOosE,EAAcv+D,MAAMC,YAAYiD,EAAS/Q,MAIhDssE,EAAmB,IAAI,IAAoBD,GAC/C/qE,KAAKirE,QAAU95C,EAAcnxB,KAAKoG,KAAM4kE,GACxC,IAAIE,EAAsBlrE,KAAKoG,KAAKwE,cAAc,EAAiBjG,QAAQ8kE,wBAC3EzpE,KAAKmrE,cAAgBN,EAAoBK,GACzClrE,KAAK0nC,SAAW1nC,KAAKoG,KAAKwE,cAAc,EAAiBjG,QAAQoiC,mBAGnE6jC,EAAOvrE,UAAUsH,mBAAqB,WACpC,IAAI8G,EAAQzN,KAEZA,KAAK4hC,aAAe,WAClB,OAAOn0B,EAAMpH,WAAWihB,eAG1BtnB,KAAK+G,OAAO,QAAS/G,KAAK4hC,eAG5BgpC,EAAOvrE,UAAU6G,QAAU,WACzBlG,KAAKoH,SAAS,QAASpH,KAAK4hC,cAC5B5hC,KAAKirE,QAAQ/kE,UAEbsH,EAAOnO,UAAU6G,QAAQtI,KAAKoC,OAGhC4qE,EAAOvrE,UAAUqH,qBAAuB,WACtC,IAAI+G,EAAQzN,KAgDZ,OAAO,IAAI,EA3CG,CACZg/B,QAAS,SAAUiE,EAAMvkC,GACvB,OAAO+O,EAAMrH,KAAKzE,aAAashC,EAAMvkC,IAEvCuP,SAAU,SAAUC,GAClB,OAAOT,EAAMrH,KAAKxE,UAAUC,IAAIqM,IAElCqB,YAAa,SAAUrB,GACrB,OAAOT,EAAMrH,KAAKxE,UAAU0L,OAAOY,IAErCqf,SAAU,SAAUrf,GAClB,OAAOT,EAAMrH,KAAKxE,UAAU4M,SAASN,IAEvC07D,kBAAmB,SAAUviC,GAC3B,OAAO55B,EAAM09D,cAAcv7D,SAASy3B,IAEtCwiC,oBAAqB,WACnB,OAAOp8D,EAAM09D,cAAct7D,cAE7Bi6D,iBAAkB,WAChB,OAAOr8D,EAAMnG,KAAK,EAAiB3C,QAAQ2kE,iBAAkB,CAC3D8B,MAAO39D,EAAM/B,KACZ,IAILq+D,cAAe,WACb,OAAOt8D,EAAMrH,KAAKilE,YAEpBrB,eAAgB,WACd,OAAOv8D,EAAMrH,KAAK6iE,aAEpBgB,qBAAsB,WACpB,OAAOx8D,EAAMi6B,SAAS2jC,YAExBnB,sBAAuB,WACrB,OAAOz8D,EAAMi6B,SAASuhC,aAExBj2C,MAAO,WACL,OAAOvlB,EAAMrH,KAAK4sB,YAOxB70B,OAAOC,eAAewsE,EAAOvrE,UAAW,SAAU,CAIhDf,IAAK,WACH,OAAO0B,KAAKqG,WAAW8jE,YAEzB9rE,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAewsE,EAAOvrE,UAAW,kBAAmB,CACzD+J,IAAK,SAAUihE,GACbrqE,KAAKqG,WAAW+jE,mBAAmBC,IAErChsE,YAAY,EACZ2H,cAAc,IAMhB4kE,EAAOvrE,UAAUuQ,SAAW,SAAU07D,GACpCtrE,KAAKqG,WAAWuJ,SAAS07D,IAO3BV,EAAOvrE,UAAUwQ,WAAa,WAC5B7P,KAAKqG,WAAWwJ,cAOlB+6D,EAAOvrE,UAAUisE,2BAA6B,WAC5C,OAAOtrE,KAAKmrE,cAAclkC,4BAG5B2jC,EAAOvrE,UAAUirE,kBAAoB,WACnC,OAAOtqE,KAAKqG,WAAWikE,qBAOzBM,EAAOvrE,UAAU2zB,MAAQ,WACvBhzB,KAAKoG,KAAK4sB,SAGL43C,EAxKT,CAyKE,KClLE,EAAU,CACZW,eAAgB,YAChBC,gBAAiB,aACjBC,QAAS,MACTC,UAAW,QACXC,SAAU,OACVC,UAAW,QACXC,oBAAqB,sBACrBC,sBAAuB,oBACvBC,aAAc,YAEZpmE,EAAU,CACZqmE,mBAAoB,GACpBC,oBAAqB,GACrBC,YAAa,GACbC,cAAe,GACfC,oBAAqB,GACrBC,aAAc,GACdC,cAAe,ICfbC,EAAkB,IAAIvjE,IAE1BujE,EAAgB1qE,IAAI,EAAQ0pE,gBAC5BgB,EAAgB1qE,IAAI,EAAQ2pE,iBAC5Be,EAAgB1qE,IAAI,EAAQ4pE,SAC5Bc,EAAgB1qE,IAAI,EAAQ8pE,UAC5BY,EAAgB1qE,IAAI,EAAQ6pE,WAC5Ba,EAAgB1qE,IAAI,EAAQ+pE,WAC5B,IAAIY,EAAc,IAAIrjE,IAEtBqjE,EAAYpjE,IAAIzD,EAAQqmE,mBAAoB,EAAQT,gBACpDiB,EAAYpjE,IAAIzD,EAAQsmE,oBAAqB,EAAQT,iBACrDgB,EAAYpjE,IAAIzD,EAAQumE,YAAa,EAAQT,SAC7Ce,EAAYpjE,IAAIzD,EAAQ0mE,aAAc,EAAQV,UAC9Ca,EAAYpjE,IAAIzD,EAAQwmE,cAAe,EAAQT,WAC/Cc,EAAYpjE,IAAIzD,EAAQ2mE,cAAe,EAAQV,WAE/C,IAAI,EAEJ,SAAUp+D,GAGR,SAASi/D,EAAoB1mE,GAC3B,IAAI0H,EAAQD,EAAO5P,KAAKoC,KAAM,YAAS,YAAS,GAAIysE,EAAoB15D,gBAAiBhN,KAAa/F,KAGtG,OADAyN,EAAMi/D,yBAA0B,EACzBj/D,EAgaT,OAtaA,YAAUg/D,EAAqBj/D,GAS/BrP,OAAOC,eAAequE,EAAqB,UAAW,CACpDnuE,IAAK,WACH,OAAO,GAETD,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAequE,EAAqB,UAAW,CACpDnuE,IAAK,WACH,OAAOqH,GAETtH,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAequE,EAAqB,iBAAkB,CAC3DnuE,IAAK,WAEH,MAAO,CACLkpE,SAAU,aAGVL,gBAAiB,aAGjBP,kBAAmB,WACjB,OAAO,GAETyC,sBAAuB,WACrB,OAAO,GAETW,eAAgB,WACd,OAAO,GAET2C,MAAO,WACL,OAAO,GAETC,aAAc,aAGdC,mBAAoB,aAGpBC,qBAAsB,aAGtBC,gBAAiB,aAGjBC,iCAAkC,WAChC,MAAO,CACLh0D,IAAK,EACLc,MAAO,EACPC,OAAQ,EACRhB,KAAM,EACNN,MAAO,EACPC,OAAQ,IAGZu0D,wBAAyB,WACvB,MAAO,CACLzC,SAAU,EACVG,UAAW,EACXF,YAAa,EACbC,aAAc,IAGlBwC,0BAA2B,WACzB,OAAQ,GAEVC,mBAAoB,WAClB,OAAQ,GAEVC,kBAAmB,WACjB,OAAQ,GAEVC,iBAAkB,WAChB,OAAO,GAETC,mBAAoB,eAKxBjvE,YAAY,EACZ2H,cAAc,IAOhBymE,EAAoBptE,UAAUkuE,0BAA4B,SAAUC,GAClExtE,KAAK0sE,wBAA0Bc,GAGjCf,EAAoBptE,UAAUouE,YAAc,SAAUr8D,GACpD,IAMIs8D,EANAC,EAAsB3tE,KAAK+F,QAAQmnE,4BAElCltE,KAAK4tE,gBAAgBx8D,IAAUA,IAAUu8D,KAMjB,IAAzBA,IACF3tE,KAAK+F,QAAQ+mE,qBAAqBa,GAClCD,EAAqB1tE,KAAK+F,QAAQinE,iCAAiCW,IAGrE3tE,KAAK+F,QAAQ8mE,mBAAmBz7D,EAAOs8D,GACvC1tE,KAAK6tE,eAAez8D,GACpBpR,KAAK+F,QAAQunE,mBAAmBl8D,KAGlCq7D,EAAoBptE,UAAUwV,cAAgB,SAAUpN,GAEtD,IAAIzI,EAAMgB,KAAK8tE,iBAAiBrmE,GAEhC,QAAYhB,IAARzH,EASJ,GAJKgB,KAAK+tE,iBAAiB/uE,IACzByI,EAAIia,iBAGF1hB,KAAK0sE,wBAAyB,CAChC,GAAI1sE,KAAK+tE,iBAAiB/uE,GACxB,OAGF,IAAIoS,EAAQpR,KAAKguE,wBAAwBhuE,KAAK+F,QAAQmnE,4BAA6BluE,GACnFgB,KAAK+F,QAAQ6mE,aAAax7D,GAC1BpR,KAAK6tE,eAAez8D,OACf,CACL,IAAI68D,EAAkBjuE,KAAK+F,QAAQonE,qBAEnC,GAAIntE,KAAK+tE,iBAAiB/uE,GACxBgB,KAAK+F,QAAQ6mE,aAAaqB,OACrB,CACD78D,EAAQpR,KAAKguE,wBAAwBC,EAAiBjvE,GAC1DgB,KAAK+F,QAAQgnE,gBAAgB37D,GAC7BpR,KAAK6tE,eAAez8D,MAS1Bq7D,EAAoBptE,UAAU6uE,qBAAuB,SAAUzmE,GAC7DzH,KAAK+F,QAAQ6mE,aAAa5sE,KAAK+F,QAAQqnE,kBAAkB3lE,EAAIG,OAAOwjE,SAQtEqB,EAAoBptE,UAAUwuE,eAAiB,SAAUz8D,GAEvD,GAAKpR,KAAK4tE,gBAAgBx8D,GAK1B,OAAc,IAAVA,EACKpR,KAAK+F,QAAQyhE,SAAS,GAK3Bp2D,IAAUpR,KAAK+F,QAAQsnE,mBAAqB,EACvCrtE,KAAK+F,QAAQyhE,SAASxnE,KAAK+F,QAAQsjE,yBAGxCrpE,KAAK6mE,SACA7mE,KAAKmuE,mBAAmB/8D,QAGjCpR,KAAKouE,gBAAgBh9D,IASvBq7D,EAAoBptE,UAAU2uE,wBAA0B,SAAUK,EAAQrvE,GACxE,IAAI2tE,EAAQ3sE,KAAK6mE,SACbyH,EAAWtuE,KAAK+F,QAAQsnE,mBAAqB,EAI7Cj8D,EAAQi9D,EAkBZ,OArBoBrvE,IAAQ,EAAQysE,QAMlCr6D,EAAQk9D,EALYtvE,IAAQ,EAAQusE,iBAAmBoB,GAAS3tE,IAAQ,EAAQwsE,iBAAmBmB,EAOnGv7D,GAAS,EANWpS,IAAQ,EAAQwsE,kBAAoBmB,GAAS3tE,IAAQ,EAAQusE,gBAAkBoB,EAQnGv7D,GAAS,EAETA,EAAQ,EAGNA,EAAQ,EACVA,EAAQk9D,EACCl9D,EAAQk9D,IACjBl9D,EAAQ,GAGHA,GAWTq7D,EAAoBptE,UAAUkvE,0BAA4B,SAAUn9D,EAAOqW,EAAW+mD,EAAgBC,GACpG,IAAIC,EAAoB1uE,KAAK+F,QAAQknE,wBAAwBxlD,GACzDknD,EAAsBD,EAAkBjE,YAAc+D,EAAiBC,EAEvEG,EADuBF,EAAkBhE,aAAe8D,EACjB7oE,EAAQymE,oBAC/CyC,EAAiBF,EAAsBhpE,EAAQymE,oBAEnD,OAAI3kD,EAAYrW,EACPoL,KAAK+L,IAAIqmD,EAAe,GAG1BpyD,KAAKC,IAAIoyD,EAAgB,IAYlCpC,EAAoBptE,UAAUyvE,6BAA+B,SAAU19D,EAAOqW,EAAW+mD,EAAgBC,EAAUM,GACjH,IAAIL,EAAoB1uE,KAAK+F,QAAQknE,wBAAwBxlD,GACzDknD,EAAsBI,EAAqBL,EAAkBjE,YAAc+D,EAE3EI,EADuBG,EAAqBL,EAAkBhE,aAAe8D,EAAiBC,EACvD9oE,EAAQymE,oBAC/CyC,EAAiBF,EAAsBhpE,EAAQymE,oBAEnD,OAAI3kD,EAAYrW,EACPoL,KAAKC,IAAImyD,EAAe,GAG1BpyD,KAAK+L,IAAIsmD,EAAgB,IAWlCpC,EAAoBptE,UAAU2vE,mCAAqC,SAAU59D,EAAO69D,EAAeT,EAAgBC,GAyBjH,IAAIS,EAAmBD,EAAczE,SAAWgE,EAC5CW,EAAoBF,EAActE,UAAY6D,EAAiBC,EAC/DW,EAAoBF,EAAmBC,EAI3C,OAHuBD,EAAmB,GAAKE,EAAoB,EAI1Dh+D,EAAQ,EAHO+9D,EAAoB,GAAKC,EAAoB,EAO5Dh+D,EAAQ,GAGT,GAYVq7D,EAAoBptE,UAAUgwE,sCAAwC,SAAUj+D,EAAO69D,EAAeT,EAAgBC,EAAUM,GAC9H,IAAIvE,EAAWuE,EAAqBE,EAAczE,SAAWiE,EAAWD,EACpE7D,EAAYoE,EAAqBE,EAActE,UAAY6D,EAC3Dc,EAAY9E,EAAWG,EAI3B,OAHuBH,EAAW,GAAK8E,EAAY,EAI1Cl+D,EAAQ,EAHOu5D,EAAY,GAAK2E,EAAY,EAO5Cl+D,EAAQ,GAGT,GAQVq7D,EAAoBptE,UAAUyuE,iBAAmB,SAAUrmE,GACzD,OAAI8kE,EAAgBhjE,IAAI9B,EAAIzI,KACnByI,EAAIzI,IAGNwtE,EAAYluE,IAAImJ,EAAIgC,UAG7BgjE,EAAoBptE,UAAU0uE,iBAAmB,SAAU/uE,GACzD,OAAOA,IAAQ,EAAQ4sE,WAAa5sE,IAAQ,EAAQ0sE,WAQtDe,EAAoBptE,UAAUuuE,gBAAkB,SAAUx8D,GACxD,OAAOA,GAAS,GAAKA,EAAQpR,KAAK+F,QAAQsnE,oBAO5CZ,EAAoBptE,UAAUwnE,OAAS,WACrC,OAAO7mE,KAAK+F,QAAQ4mE,SAQtBF,EAAoBptE,UAAU+uE,gBAAkB,SAAUh9D,GACxD,IAAIo9D,EAAiBxuE,KAAK+F,QAAQ6gE,oBAC9B6H,EAAWzuE,KAAK+F,QAAQikE,iBACxBiF,EAAgBjvE,KAAK+F,QAAQknE,wBAAwB77D,GACrDqW,EAAYznB,KAAKgvE,mCAAmC59D,EAAO69D,EAAeT,EAAgBC,GAE9F,GAAKzuE,KAAK4tE,gBAAgBnmD,GAA1B,CAIA,IAAI8nD,EAAkBvvE,KAAKuuE,0BAA0Bn9D,EAAOqW,EAAW+mD,EAAgBC,GACvFzuE,KAAK+F,QAAQohE,gBAAgBoI,KAQ/B9C,EAAoBptE,UAAU8uE,mBAAqB,SAAU/8D,GAC3D,IAAIo9D,EAAiBxuE,KAAK+F,QAAQ6gE,oBAC9B6H,EAAWzuE,KAAK+F,QAAQikE,iBACxBiF,EAAgBjvE,KAAK+F,QAAQknE,wBAAwB77D,GACrDhF,EAAcpM,KAAK+F,QAAQsjE,wBAC3B5hD,EAAYznB,KAAKqvE,sCAAsCj+D,EAAO69D,EAAeT,EAAgBC,EAAUriE,GAE3G,GAAKpM,KAAK4tE,gBAAgBnmD,GAA1B,CAIA,IAAI8nD,EAAkBvvE,KAAK8uE,6BAA6B19D,EAAOqW,EAAW+mD,EAAgBC,EAAUriE,GACpGpM,KAAK+F,QAAQohE,gBAAgBoI,KAGxB9C,EAvaT,CAwaE,KCxbE,EAAU,EAAoB9nE,QAC9B6qE,EAAe,EAEf,EAEJ,SAAUhiE,GAGR,SAASiiE,IACP,OAAkB,OAAXjiE,GAAmBA,EAAOlN,MAAMN,KAAMI,YAAcJ,KAgN7D,OAnNA,YAAUyvE,EAAWjiE,GAMrBiiE,EAAU7oE,SAAW,SAAUR,GAC7B,OAAO,IAAIqpE,EAAUrpE,IAGvBjI,OAAOC,eAAeqxE,EAAUpwE,UAAW,kBAAmB,CAC5D+J,IAAK,SAAUihE,GACbrqE,KAAK0vE,SAASx0D,SAAQ,SAAUy0D,GAC9B,OAAOA,EAAItF,gBAAkBA,MAGjChsE,YAAY,EACZ2H,cAAc,IAEhB7H,OAAOC,eAAeqxE,EAAUpwE,UAAW,yBAA0B,CACnE+J,IAAK,SAAUokE,GACbxtE,KAAKqG,WAAWknE,0BAA0BC,IAE5CnvE,YAAY,EACZ2H,cAAc,IAGhBypE,EAAUpwE,UAAUmH,WAAa,SAAUopE,EAAYC,QAClC,IAAfD,IACFA,EAAa,SAAUvtE,GACrB,OAAO,IAAI,EAAOA,UAIK,IAAvBwtE,IACFA,EAAqB,SAAUxtE,GAC7B,OAAO,IAAI,EAAeA,KAI9BrC,KAAK0vE,SAAW1vE,KAAK8vE,iBAAiBF,GACtC5vE,KAAK+vE,aAAe/vE,KAAKgwE,wBAAwBH,IAGnDJ,EAAUpwE,UAAUsH,mBAAqB,WACvC,IAAI8G,EAAQzN,KAEZA,KAAKiwE,sBAAwB,SAAUxoE,GACrC,OAAOgG,EAAMpH,WAAW6nE,qBAAqBzmE,IAG/CzH,KAAK8V,eAAiB,SAAUrO,GAC9B,OAAOgG,EAAMpH,WAAWwO,cAAcpN,IAGxCzH,KAAK+G,OAAO,EAAiBpC,QAAQ2kE,iBAAkBtpE,KAAKiwE,uBAC5DjwE,KAAK+G,OAAO,UAAW/G,KAAK8V,gBAE5B,IAAK,IAAIrY,EAAI,EAAGA,EAAIuC,KAAK0vE,SAASrvE,OAAQ5C,IACxC,GAAIuC,KAAK0vE,SAASjyE,GAAGyyE,OAAQ,CAC3BlwE,KAAK6tE,eAAepwE,GACpB,QAKNgyE,EAAUpwE,UAAU6G,QAAU,WAC5BsH,EAAOnO,UAAU6G,QAAQtI,KAAKoC,MAE9BA,KAAKoH,SAAS,EAAiBzC,QAAQ2kE,iBAAkBtpE,KAAKiwE,uBAC9DjwE,KAAKoH,SAAS,UAAWpH,KAAK8V,gBAC9B9V,KAAK0vE,SAASx0D,SAAQ,SAAUy0D,GAC9B,OAAOA,EAAIzpE,aAGTlG,KAAK+vE,cACP/vE,KAAK+vE,aAAa7pE,WAItBupE,EAAUpwE,UAAUqH,qBAAuB,WACzC,IAAI+G,EAAQzN,KA4EZ,OAAO,IAAI,EAvEG,CACZwnE,SAAU,SAAUtC,GAClB,OAAOz3D,EAAMsiE,aAAavI,SAAStC,IAErCiC,gBAAiB,SAAUC,GACzB,OAAO35D,EAAMsiE,aAAa5I,gBAAgBC,IAE5CR,kBAAmB,WACjB,OAAOn5D,EAAMsiE,aAAanJ,qBAE5ByC,sBAAuB,WACrB,OAAO57D,EAAMsiE,aAAa1G,yBAE5BW,eAAgB,WACd,OAAOv8D,EAAMrH,KAAK6iE,aAEpB0D,MAAO,WACL,MAA6E,QAAtE9iE,OAAO67B,iBAAiBj4B,EAAMrH,MAAM4iE,iBAAiB,cAE9D4D,aAAc,SAAUx7D,GACtB,OAAO3D,EAAMpH,WAAWonE,YAAYr8D,IAEtCy7D,mBAAoB,SAAUz7D,EAAOmkB,GACnC,OAAO9nB,EAAMiiE,SAASt+D,GAAOxB,SAAS2lB,IAExCu3C,qBAAsB,SAAU17D,GAC9B,OAAO3D,EAAMiiE,SAASt+D,GAAOvB,cAE/Bk9D,gBAAiB,SAAU37D,GACzB,OAAO3D,EAAMiiE,SAASt+D,GAAO4hB,SAE/Bg6C,iCAAkC,SAAU57D,GAC1C,OAAO3D,EAAMiiE,SAASt+D,GAAOk6D,8BAE/B2B,wBAAyB,SAAU77D,GACjC,OAAO3D,EAAMiiE,SAASt+D,GAAOk5D,qBAE/B4C,0BAA2B,WACzB,IAAK,IAAIzvE,EAAI,EAAGA,EAAIgQ,EAAMiiE,SAASrvE,OAAQ5C,IACzC,GAAIgQ,EAAMiiE,SAASjyE,GAAGyyE,OACpB,OAAOzyE,EAIX,OAAQ,GAEV0vE,mBAAoB,WAClB,IAAIgD,EAAc1iE,EAAM2iE,kBAEpBr8C,EAAgBlxB,SAASkxB,cAC7B,OAAOo8C,EAAY/iE,QAAQ2mB,IAE7Bq5C,kBAAmB,SAAU1hE,GAC3B,IAAK,IAAIjO,EAAI,EAAGA,EAAIgQ,EAAMiiE,SAASrvE,OAAQ5C,IACzC,GAAIgQ,EAAMiiE,SAASjyE,GAAGiO,KAAOA,EAC3B,OAAOjO,EAIX,OAAQ,GAEV4vE,iBAAkB,WAChB,OAAO5/D,EAAMiiE,SAASrvE,QAExBitE,mBAAoB,SAAUl8D,GAC5B,OAAO3D,EAAMnG,KAAK,EAAQukE,oBAAqB,CAC7Cz6D,MAAOA,IACN,OAYTq+D,EAAUpwE,UAAUouE,YAAc,SAAUr8D,GAC1CpR,KAAKqG,WAAWonE,YAAYr8D,IAQ9Bq+D,EAAUpwE,UAAUwuE,eAAiB,SAAUz8D,GAC7CpR,KAAKqG,WAAWwnE,eAAez8D,IAOjCq+D,EAAUpwE,UAAU+wE,gBAAkB,WACpC,MAAO,GAAGxnD,MAAMhrB,KAAKoC,KAAKoG,KAAKs7B,iBAAiB,EAAQqqC,gBAO1D0D,EAAUpwE,UAAUywE,iBAAmB,SAAUF,GAC/C,OAAO5vE,KAAKowE,kBAAkB38C,KAAI,SAAUpxB,GAE1C,OADAA,EAAGqJ,GAAKrJ,EAAGqJ,IAAM,cAAe8jE,EACzBI,EAAWvtE,OAQtBotE,EAAUpwE,UAAU2wE,wBAA0B,SAAUH,GACtD,IAAIQ,EAAqBrwE,KAAKoG,KAAKwE,cAAc,EAAQkhE,uBAEzD,OAAIuE,EACKR,EAAmBQ,GAGrB,MAGFZ,EApNT,CAqNE,M,wGCtPF,EAAAlxE,EAAA,uCAuBA,IAvBA,EAAQ,IACR,EAAQ,IACR,EAAQ,IACR,EAAQ,IACR,EAAQ,KACR,EAAQ,IACR,EAAQ,IAMR,IAAI,IAAc,eAAe,GAAO,GAAM,SAACw6B,G,OAAcl2B,SAAS2jC,SAAWzN,EAAUr6B,MAAMkqC,SAEzF,IAAI,KACNnoB,iBAAiB5d,SAAS+H,cAAc,sBAE9C0lE,EAAyB,SAACn3C,GACxB,IAAAo3C,E,OAAAA,EAAa,IAAI,IAAQp3C,IACdpyB,OAAO,kBAAkB,SAAC0D,GACnC,IAAA83B,E,OAAAA,EAAOguC,EAAWxtC,aAAat4B,EAAO7C,OAAOwJ,OAC7CvO,SAAS2jC,SAAWjE,EAAKl/B,QAAQulC,SAErC,4EAAA0nC,E,qBCvBA,IAAAE,IAA4B,WAC1B,IAAAC,E,OAAAA,GAAS,EACT5tE,SAASsE,iBAAiB,UAAU,WAClC,YAAIspE,GAAW5mE,OAAO6mE,QAAU,KAC3BruE,EAAKQ,SAAS+H,cAAc,4B,OAC7B6lE,GAAS,GACTxM,EAASphE,SAASC,cAAc,WACzBnB,aAAa,QAAS,QAC7BsiE,EAAOtiE,aAAa,MAAO,2CAC3BsiE,EAAOtiE,aAAa,UAAW,SAC/BU,EAAGP,OAAOmiE,OAElBphE,SAASsE,iBAAiB,mBAAoBqpE,I","file":"js/home-fd7ee45e7aa27c6cb2ca.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://cdn-staging.dividendmax.com/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 108);\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\n/* global Reflect, Promise */\nvar extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nexport var __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\nexport function __rest(s, e) {\n var t = {};\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport function __createBinding(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}\nexport function __exportStar(m, exports) {\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n\n return ar;\n}\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n\n return ar;\n}\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];\n\n return r;\n}\n;\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n\n function fulfill(value) {\n resume(\"next\", value);\n }\n\n function reject(value) {\n resume(\"throw\", value);\n }\n\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: n === \"return\"\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n\n return cooked;\n}\n;\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result.default = mod;\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n\n return privateMap.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n\n privateMap.set(receiver, value);\n return value;\n}","import {MDCTextField} from '@material/textfield'\n\nexport link_button = (label, url, raised, secondary, outlined) ->\n a = element_with_class('A', 'mdc-button')\n a.setAttribute('href', url)\n a.classList.add 'mdc-button--raised' if raised\n a.classList.add 'mdc-button--outlined' if outlined\n a.classList.add 'mdc-theme--secondary-bg' if secondary\n a.append element_with_class('DIV', 'mdc-button__ripple')\n span = element_with_class('SPAN', 'mdc-button__label')\n span.innerText = label\n a.append span\n a\n\nexport submit_button = (label, raised, secondary, outlined) ->\n button = element_with_class('button', 'mdc-button')\n button.classList.add 'mdc-button--raised' if raised\n button.classList.add 'mdc-theme--secondary-bg' if secondary\n button.classList.add 'mdc-button--outlined' if outlined\n button.append element_with_class('div', 'mdc-button__ripple')\n button.append element_with_content('span', label, 'mdc-button__label')\n button\n\nexport text_field = (label, name, value, extra_classes...) ->\n el = element_with_class('label', 'mdc-text-field', 'mdc-text-field--filled', extra_classes...)\n el.append element_with_class('span', 'mdc-text-field__ripple')\n input = element_with_class('input', 'mdc-text-field__input')\n input.setAttribute('label', label)\n input.setAttribute('type', 'text')\n input.setAttribute('name', name)\n input.value = value\n el.append input\n el.append element_with_content('span', label, 'mdc-floating-label')\n el.append element_with_class('span', 'mdc-line-ripple')\n el\n\nexport money_input_field = (label, name, value, symbol, extra_classes...) ->\n el = element_with_class('label', 'mdc-text-field', 'mdc-text-field--filled', extra_classes...)\n el.append element_with_class('span', 'mdc-text-field__ripple')\n el.append element_with_content('span', symbol, 'mdc-text-field__affix', 'mdc-text-field__affix--prefix', 'currency-symbol')\n input = element_with_class('input', 'mdc-text-field__input')\n input.setAttribute('label', label)\n input.setAttribute('type', 'text')\n input.setAttribute('name', name)\n input.setAttribute 'pattern', \"[0-9\\\\.]*\"\n input.setAttribute 'inputmode', \"decimal\"\n input.value = value\n el.append input\n floatingLabel = element_with_content('span', label, 'mdc-floating-label')\n el.append floatingLabel\n el.append element_with_class('span', 'mdc-line-ripple')\n el\n\nexport element_with_class = (element, classes...) ->\n el = document.createElement(element.toUpperCase())\n el.classList.add c for c in classes when c isnt null\n el\n\nexport element_with_content = (element, content, classes...) ->\n el = element_with_class(element, classes...)\n if typeof(content) == 'string' and content[0] == '&'\n el.innerHTML = content\n else\n el.append content\n el\n\n\nexport material_select_option = (label, value, selected) ->\n li = element_with_class('li', \"mdc-list-item\")\n li.dataset.value = value\n li.setAttribute('role', 'option')\n li.setAttribute('aria-selected', 'true') if selected\n li.append element_with_class('span', \"mdc-list-item__ripple\")\n li.append element_with_content('span', label, \"mdc-list-item__text\")\n li\n\nexport material_select = (label) ->\n select = element_with_class('div', 'mdc-select', 'mdc-select--filled')\n select.append select_anchor(label)\n\n menu = element_with_class('div', \"mdc-select__menu\", \"mdc-menu\", \"mdc-menu-surface\")\n ul = element_with_class('ul', 'mdc-list')\n ul.setAttribute('role', 'listbox')\n ul.setAttribute('aria-label', label)\n menu.append ul\n select.append menu\n select\n\nselect_anchor = (label) ->\n anchor = element_with_class('div', 'mdc-select__anchor')\n anchor.setAttribute('role', 'button')\n anchor.setAttribute('aria-haspopup', 'listbox')\n anchor.setAttribute('aria-expanded', 'false')\n anchor.append element_with_class('span', 'mdc-select__ripple')\n anchor.append element_with_content('span', label, 'mdc-floating-label')\n anchor.append element_with_class('span', 'mdc-select__selected-text')\n anchor.append dropdown_icon()\n anchor.append element_with_class('span', 'mdc-line-ripple')\n anchor\n\ndropdown_icon = ->\n svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg')\n svg.classList.add \"mdc-select__dropdown-icon-graphic\"\n svg.setAttributeNS null, 'viewBox', \"7 10 10 5\"\n svg.setAttributeNS null, 'focusable', \"false\"\n inactive_polygon = document.createElementNS('http://www.w3.org/2000/svg', 'polygon')\n inactive_polygon.classList.add \"mdc-select__dropdown-icon-inactive\"\n inactive_polygon.setAttributeNS null, 'stroke', \"none\"\n inactive_polygon.setAttributeNS null, 'fill-rule', \"evenodd\"\n inactive_polygon.setAttributeNS null, 'points', \"7 10 12 15 17 10\"\n\n active_polygon = document.createElementNS('http://www.w3.org/2000/svg', 'polygon')\n active_polygon.classList.add \"mdc-select__dropdown-icon-active\"\n active_polygon.setAttributeNS null, 'stroke', \"none\"\n active_polygon.setAttributeNS null, 'fill-rule', \"evenodd\"\n active_polygon.setAttributeNS null, 'points', \"7 15 12 10 17 15\"\n\n svg.appendChild inactive_polygon\n svg.appendChild active_polygon\n element_with_content('span', svg, \"mdc-select__dropdown-icon\")","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar cssClasses = {\n LIST_ITEM_ACTIVATED_CLASS: 'mdc-list-item--activated',\n LIST_ITEM_CLASS: 'mdc-list-item',\n LIST_ITEM_DISABLED_CLASS: 'mdc-list-item--disabled',\n LIST_ITEM_SELECTED_CLASS: 'mdc-list-item--selected',\n LIST_ITEM_TEXT_CLASS: 'mdc-list-item__text',\n LIST_ITEM_PRIMARY_TEXT_CLASS: 'mdc-list-item__primary-text',\n ROOT: 'mdc-list'\n};\nvar strings = {\n ACTION_EVENT: 'MDCList:action',\n ARIA_CHECKED: 'aria-checked',\n ARIA_CHECKED_CHECKBOX_SELECTOR: '[role=\"checkbox\"][aria-checked=\"true\"]',\n ARIA_CHECKED_RADIO_SELECTOR: '[role=\"radio\"][aria-checked=\"true\"]',\n ARIA_CURRENT: 'aria-current',\n ARIA_DISABLED: 'aria-disabled',\n ARIA_ORIENTATION: 'aria-orientation',\n ARIA_ORIENTATION_HORIZONTAL: 'horizontal',\n ARIA_ROLE_CHECKBOX_SELECTOR: '[role=\"checkbox\"]',\n ARIA_SELECTED: 'aria-selected',\n CHECKBOX_RADIO_SELECTOR: 'input[type=\"checkbox\"], input[type=\"radio\"]',\n CHECKBOX_SELECTOR: 'input[type=\"checkbox\"]',\n CHILD_ELEMENTS_TO_TOGGLE_TABINDEX: \"\\n .\" + cssClasses.LIST_ITEM_CLASS + \" button:not(:disabled),\\n .\" + cssClasses.LIST_ITEM_CLASS + \" a\\n \",\n FOCUSABLE_CHILD_ELEMENTS: \"\\n .\" + cssClasses.LIST_ITEM_CLASS + \" button:not(:disabled),\\n .\" + cssClasses.LIST_ITEM_CLASS + \" a,\\n .\" + cssClasses.LIST_ITEM_CLASS + \" input[type=\\\"radio\\\"]:not(:disabled),\\n .\" + cssClasses.LIST_ITEM_CLASS + \" input[type=\\\"checkbox\\\"]:not(:disabled)\\n \",\n RADIO_SELECTOR: 'input[type=\"radio\"]'\n};\nvar numbers = {\n UNSET_INDEX: -1,\n TYPEAHEAD_BUFFER_CLEAR_TIMEOUT_MS: 300\n};\nexport { strings, cssClasses, numbers };","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar MDCFoundation =\n/** @class */\nfunction () {\n function MDCFoundation(adapter) {\n if (adapter === void 0) {\n adapter = {};\n }\n\n this.adapter = adapter;\n }\n\n Object.defineProperty(MDCFoundation, \"cssClasses\", {\n get: function () {\n // Classes extending MDCFoundation should implement this method to return an object which exports every\n // CSS class the foundation class needs as a property. e.g. {ACTIVE: 'mdc-component--active'}\n return {};\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCFoundation, \"strings\", {\n get: function () {\n // Classes extending MDCFoundation should implement this method to return an object which exports all\n // semantic strings as constants. e.g. {ARIA_ROLE: 'tablist'}\n return {};\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCFoundation, \"numbers\", {\n get: function () {\n // Classes extending MDCFoundation should implement this method to return an object which exports all\n // of its semantic numbers as constants. e.g. {ANIMATION_DELAY_MS: 350}\n return {};\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCFoundation, \"defaultAdapter\", {\n get: function () {\n // Classes extending MDCFoundation may choose to implement this getter in order to provide a convenient\n // way of viewing the necessary methods of an adapter. In the future, this could also be used for adapter\n // validation.\n return {};\n },\n enumerable: true,\n configurable: true\n });\n\n MDCFoundation.prototype.init = function () {// Subclasses should override this method to perform initialization routines (registering events, etc.)\n };\n\n MDCFoundation.prototype.destroy = function () {// Subclasses should override this method to perform de-initialization routines (de-registering events, etc.)\n };\n\n return MDCFoundation;\n}();\n\nexport { MDCFoundation }; // tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\n\nexport default MDCFoundation;","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __read, __spread } from \"tslib\";\nimport { MDCFoundation } from './foundation';\n\nvar MDCComponent =\n/** @class */\nfunction () {\n function MDCComponent(root, foundation) {\n var args = [];\n\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n\n this.root = root;\n this.initialize.apply(this, __spread(args)); // Note that we initialize foundation here and not within the constructor's default param so that\n // this.root_ is defined and can be used within the foundation class.\n\n this.foundation = foundation === undefined ? this.getDefaultFoundation() : foundation;\n this.foundation.init();\n this.initialSyncWithDOM();\n }\n\n MDCComponent.attachTo = function (root) {\n // Subclasses which extend MDCBase should provide an attachTo() method that takes a root element and\n // returns an instantiated component with its root set to that element. Also note that in the cases of\n // subclasses, an explicit foundation class will not have to be passed in; it will simply be initialized\n // from getDefaultFoundation().\n return new MDCComponent(root, new MDCFoundation({}));\n };\n /* istanbul ignore next: method param only exists for typing purposes; it does not need to be unit tested */\n\n\n MDCComponent.prototype.initialize = function () {\n var _args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n } // Subclasses can override this to do any additional setup work that would be considered part of a\n // \"constructor\". Essentially, it is a hook into the parent constructor before the foundation is\n // initialized. Any additional arguments besides root and foundation will be passed in here.\n\n };\n\n MDCComponent.prototype.getDefaultFoundation = function () {\n // Subclasses must override this method to return a properly configured foundation class for the\n // component.\n throw new Error('Subclasses must override getDefaultFoundation to return a properly configured ' + 'foundation class');\n };\n\n MDCComponent.prototype.initialSyncWithDOM = function () {// Subclasses should override this method if they need to perform work to synchronize with a host DOM\n // object. An example of this would be a form control wrapper that needs to synchronize its internal state\n // to some property or attribute of the host DOM. Please note: this is *not* the place to perform DOM\n // reads/writes that would cause layout / paint, as this is called synchronously from within the constructor.\n };\n\n MDCComponent.prototype.destroy = function () {\n // Subclasses may implement this method to release any resources / deregister any listeners they have\n // attached. An example of this might be deregistering a resize event from the window object.\n this.foundation.destroy();\n };\n\n MDCComponent.prototype.listen = function (evtType, handler, options) {\n this.root.addEventListener(evtType, handler, options);\n };\n\n MDCComponent.prototype.unlisten = function (evtType, handler, options) {\n this.root.removeEventListener(evtType, handler, options);\n };\n /**\n * Fires a cross-browser-compatible custom event from the component root of the given type, with the given data.\n */\n\n\n MDCComponent.prototype.emit = function (evtType, evtData, shouldBubble) {\n if (shouldBubble === void 0) {\n shouldBubble = false;\n }\n\n var evt;\n\n if (typeof CustomEvent === 'function') {\n evt = new CustomEvent(evtType, {\n bubbles: shouldBubble,\n detail: evtData\n });\n } else {\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(evtType, shouldBubble, false, evtData);\n }\n\n this.root.dispatchEvent(evt);\n };\n\n return MDCComponent;\n}();\n\nexport { MDCComponent }; // tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\n\nexport default MDCComponent;","/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * KEY provides normalized string values for keys.\n */\nexport var KEY = {\n UNKNOWN: 'Unknown',\n BACKSPACE: 'Backspace',\n ENTER: 'Enter',\n SPACEBAR: 'Spacebar',\n PAGE_UP: 'PageUp',\n PAGE_DOWN: 'PageDown',\n END: 'End',\n HOME: 'Home',\n ARROW_LEFT: 'ArrowLeft',\n ARROW_UP: 'ArrowUp',\n ARROW_RIGHT: 'ArrowRight',\n ARROW_DOWN: 'ArrowDown',\n DELETE: 'Delete',\n ESCAPE: 'Escape'\n};\nvar normalizedKeys = new Set(); // IE11 has no support for new Map with iterable so we need to initialize this\n// by hand.\n\nnormalizedKeys.add(KEY.BACKSPACE);\nnormalizedKeys.add(KEY.ENTER);\nnormalizedKeys.add(KEY.SPACEBAR);\nnormalizedKeys.add(KEY.PAGE_UP);\nnormalizedKeys.add(KEY.PAGE_DOWN);\nnormalizedKeys.add(KEY.END);\nnormalizedKeys.add(KEY.HOME);\nnormalizedKeys.add(KEY.ARROW_LEFT);\nnormalizedKeys.add(KEY.ARROW_UP);\nnormalizedKeys.add(KEY.ARROW_RIGHT);\nnormalizedKeys.add(KEY.ARROW_DOWN);\nnormalizedKeys.add(KEY.DELETE);\nnormalizedKeys.add(KEY.ESCAPE);\nvar KEY_CODE = {\n BACKSPACE: 8,\n ENTER: 13,\n SPACEBAR: 32,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n END: 35,\n HOME: 36,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n DELETE: 46,\n ESCAPE: 27\n};\nvar mappedKeyCodes = new Map(); // IE11 has no support for new Map with iterable so we need to initialize this\n// by hand.\n\nmappedKeyCodes.set(KEY_CODE.BACKSPACE, KEY.BACKSPACE);\nmappedKeyCodes.set(KEY_CODE.ENTER, KEY.ENTER);\nmappedKeyCodes.set(KEY_CODE.SPACEBAR, KEY.SPACEBAR);\nmappedKeyCodes.set(KEY_CODE.PAGE_UP, KEY.PAGE_UP);\nmappedKeyCodes.set(KEY_CODE.PAGE_DOWN, KEY.PAGE_DOWN);\nmappedKeyCodes.set(KEY_CODE.END, KEY.END);\nmappedKeyCodes.set(KEY_CODE.HOME, KEY.HOME);\nmappedKeyCodes.set(KEY_CODE.ARROW_LEFT, KEY.ARROW_LEFT);\nmappedKeyCodes.set(KEY_CODE.ARROW_UP, KEY.ARROW_UP);\nmappedKeyCodes.set(KEY_CODE.ARROW_RIGHT, KEY.ARROW_RIGHT);\nmappedKeyCodes.set(KEY_CODE.ARROW_DOWN, KEY.ARROW_DOWN);\nmappedKeyCodes.set(KEY_CODE.DELETE, KEY.DELETE);\nmappedKeyCodes.set(KEY_CODE.ESCAPE, KEY.ESCAPE);\nvar navigationKeys = new Set(); // IE11 has no support for new Set with iterable so we need to initialize this\n// by hand.\n\nnavigationKeys.add(KEY.PAGE_UP);\nnavigationKeys.add(KEY.PAGE_DOWN);\nnavigationKeys.add(KEY.END);\nnavigationKeys.add(KEY.HOME);\nnavigationKeys.add(KEY.ARROW_LEFT);\nnavigationKeys.add(KEY.ARROW_UP);\nnavigationKeys.add(KEY.ARROW_RIGHT);\nnavigationKeys.add(KEY.ARROW_DOWN);\n/**\n * normalizeKey returns the normalized string for a navigational action.\n */\n\nexport function normalizeKey(evt) {\n var key = evt.key; // If the event already has a normalized key, return it\n\n if (normalizedKeys.has(key)) {\n return key;\n } // tslint:disable-next-line:deprecation\n\n\n var mappedKey = mappedKeyCodes.get(evt.keyCode);\n\n if (mappedKey) {\n return mappedKey;\n }\n\n return KEY.UNKNOWN;\n}\n/**\n * isNavigationEvent returns whether the event is a navigation event\n */\n\nexport function isNavigationEvent(evt) {\n return navigationKeys.has(normalizeKey(evt));\n}","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * Determine whether the current browser supports passive event listeners, and\n * if so, use them.\n */\nexport function applyPassive(globalObj) {\n if (globalObj === void 0) {\n globalObj = window;\n }\n\n return supportsPassiveOption(globalObj) ? {\n passive: true\n } : false;\n}\n\nfunction supportsPassiveOption(globalObj) {\n if (globalObj === void 0) {\n globalObj = window;\n } // See\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\n\n\n var passiveSupported = false;\n\n try {\n var options = {\n // This function will be called when the browser\n // attempts to access the passive property.\n get passive() {\n passiveSupported = true;\n return false;\n }\n\n };\n\n var handler = function () {};\n\n globalObj.document.addEventListener('test', handler, options);\n globalObj.document.removeEventListener('test', handler, options);\n } catch (err) {\n passiveSupported = false;\n }\n\n return passiveSupported;\n}","export generate_recaptcha_token = (callback) ->\n grecaptcha.ready ->\n grecaptcha.execute(document.body.dataset.googleSiteKey, {action: 'submit'}).then (token) ->\n document.querySelector('#recaptcha_token').value = token\n callback()\n\nexport form_params = (selector) ->\n params = params_with_csrf_token()\n form = document.querySelector(selector)\n append_input_to_params(input, params) for input in form.querySelectorAll('input')\n append_input_to_params(select, params) for select in form.querySelectorAll('select')\n params\n\nexport params_with_csrf_token = ->\n params = new URLSearchParams()\n append_csrf_token(params)\n params\n\nappend_input_to_params = (input, params) ->\n params.append(input.name, input.value)\n\nappend_csrf_token = (params) ->\n token_name = document.querySelector('meta[name=csrf-param]').getAttribute('content')\n token_value = document.querySelector('meta[name=csrf-token]').getAttribute('content')\n params.append(token_name, token_value)\n\nexport form_element = (url, method, id) ->\n form = document.createElement('FORM')\n form.setAttribute('action', url)\n form.setAttribute('method', method or 'POST')\n form.setAttribute('id', id)\n form\n\nexport hidden_field = (name, value) ->\n input = document.createElement('INPUT')\n input.setAttribute('name', name)\n input.setAttribute('type', 'hidden')\n input.value = value\n input","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * @fileoverview A \"ponyfill\" is a polyfill that doesn't modify the global prototype chain.\n * This makes ponyfills safer than traditional polyfills, especially for libraries like MDC.\n */\nexport function closest(element, selector) {\n if (element.closest) {\n return element.closest(selector);\n }\n\n var el = element;\n\n while (el) {\n if (matches(el, selector)) {\n return el;\n }\n\n el = el.parentElement;\n }\n\n return null;\n}\nexport function matches(element, selector) {\n var nativeMatches = element.matches || element.webkitMatchesSelector || element.msMatchesSelector;\n return nativeMatches.call(element, selector);\n}\n/**\n * Used to compute the estimated scroll width of elements. When an element is\n * hidden due to display: none; being applied to a parent element, the width is\n * returned as 0. However, the element will have a true width once no longer\n * inside a display: none context. This method computes an estimated width when\n * the element is hidden or returns the true width when the element is visble.\n * @param {Element} element the element whose width to estimate\n */\n\nexport function estimateScrollWidth(element) {\n // Check the offsetParent. If the element inherits display: none from any\n // parent, the offsetParent property will be null (see\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent).\n // This check ensures we only clone the node when necessary.\n var htmlEl = element;\n\n if (htmlEl.offsetParent !== null) {\n return htmlEl.scrollWidth;\n }\n\n var clone = htmlEl.cloneNode(true);\n clone.style.setProperty('position', 'absolute');\n clone.style.setProperty('transform', 'translate(-9999px, -9999px)');\n document.documentElement.appendChild(clone);\n var scrollWidth = clone.scrollWidth;\n document.documentElement.removeChild(clone);\n return scrollWidth;\n}","export class CookieManager\n\n @set: (key, val) ->\n date = new Date()\n date.setTime(date.getTime() + 157680000000)\n document.cookie = \"#{key}=#{val};expires=#{date.toUTCString()};path=/\"\n\n @get: (key) ->\n name = \"#{key}=\"\n for c in decodeURIComponent(document.cookie).split(';')\n c = c.trim()\n return c.substring(name.length, c.length) if c.indexOf(name) == 0\n return null\n\n @remove: (key) ->\n val = CookieManager.get(key)\n if val\n document.cookie = \"#{key}=;expires=1970-01-01;path=/\"","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __extends } from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { applyPassive } from '@material/dom/events';\nimport { matches } from '@material/dom/ponyfill';\nimport { MDCRippleFoundation } from './foundation';\nimport * as util from './util';\n\nvar MDCRipple =\n/** @class */\nfunction (_super) {\n __extends(MDCRipple, _super);\n\n function MDCRipple() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.disabled = false;\n return _this;\n }\n\n MDCRipple.attachTo = function (root, opts) {\n if (opts === void 0) {\n opts = {\n isUnbounded: undefined\n };\n }\n\n var ripple = new MDCRipple(root); // Only override unbounded behavior if option is explicitly specified\n\n if (opts.isUnbounded !== undefined) {\n ripple.unbounded = opts.isUnbounded;\n }\n\n return ripple;\n };\n\n MDCRipple.createAdapter = function (instance) {\n return {\n addClass: function (className) {\n return instance.root.classList.add(className);\n },\n browserSupportsCssVars: function () {\n return util.supportsCssVariables(window);\n },\n computeBoundingRect: function () {\n return instance.root.getBoundingClientRect();\n },\n containsEventTarget: function (target) {\n return instance.root.contains(target);\n },\n deregisterDocumentInteractionHandler: function (evtType, handler) {\n return document.documentElement.removeEventListener(evtType, handler, applyPassive());\n },\n deregisterInteractionHandler: function (evtType, handler) {\n return instance.root.removeEventListener(evtType, handler, applyPassive());\n },\n deregisterResizeHandler: function (handler) {\n return window.removeEventListener('resize', handler);\n },\n getWindowPageOffset: function () {\n return {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n },\n isSurfaceActive: function () {\n return matches(instance.root, ':active');\n },\n isSurfaceDisabled: function () {\n return Boolean(instance.disabled);\n },\n isUnbounded: function () {\n return Boolean(instance.unbounded);\n },\n registerDocumentInteractionHandler: function (evtType, handler) {\n return document.documentElement.addEventListener(evtType, handler, applyPassive());\n },\n registerInteractionHandler: function (evtType, handler) {\n return instance.root.addEventListener(evtType, handler, applyPassive());\n },\n registerResizeHandler: function (handler) {\n return window.addEventListener('resize', handler);\n },\n removeClass: function (className) {\n return instance.root.classList.remove(className);\n },\n updateCssVariable: function (varName, value) {\n return instance.root.style.setProperty(varName, value);\n }\n };\n };\n\n Object.defineProperty(MDCRipple.prototype, \"unbounded\", {\n get: function () {\n return Boolean(this.unbounded_);\n },\n set: function (unbounded) {\n this.unbounded_ = Boolean(unbounded);\n this.setUnbounded_();\n },\n enumerable: true,\n configurable: true\n });\n\n MDCRipple.prototype.activate = function () {\n this.foundation.activate();\n };\n\n MDCRipple.prototype.deactivate = function () {\n this.foundation.deactivate();\n };\n\n MDCRipple.prototype.layout = function () {\n this.foundation.layout();\n };\n\n MDCRipple.prototype.getDefaultFoundation = function () {\n return new MDCRippleFoundation(MDCRipple.createAdapter(this));\n };\n\n MDCRipple.prototype.initialSyncWithDOM = function () {\n var root = this.root;\n this.unbounded = 'mdcRippleIsUnbounded' in root.dataset;\n };\n /**\n * Closure Compiler throws an access control error when directly accessing a\n * protected or private property inside a getter/setter, like unbounded above.\n * By accessing the protected property inside a method, we solve that problem.\n * That's why this function exists.\n */\n\n\n MDCRipple.prototype.setUnbounded_ = function () {\n this.foundation.setUnbounded(Boolean(this.unbounded_));\n };\n\n return MDCRipple;\n}(MDCComponent);\n\nexport { MDCRipple };","export User = {\n\n isLoggedIn: -> @type() > 0\n isEmailVerified: -> document.body.dataset.emailVerified != undefined\n isFreeAccount: -> @status() is 'FreeAccount'\n isPaidExpired: -> @status() is 'ExpiredPaid'\n isFreeTrialActive: -> @status() is 'ActiveFreeTrial'\n isFreeTrialExpired: -> @status() is 'ExpiredFreeTrial'\n isPaidActive: -> @status() is 'ActivePaid' or @status() is 'Admin'\n hasActiveSubscription: -> @isFreeTrialActive() or @isPaidActive()\n\n type: -> document.body.dataset.userType\n isExpired: -> @isLoggedIn() and document.body.dataset.expired != undefined\n status: -> document.body.dataset.userStatus\n hasNotification: (shareId) -> @notificationShareIds().indexOf(shareId) > -1\n notificationCount: (shareId) ->\n index = @notificationShareIds().indexOf(shareId)\n return @notificationQuantities()[index] if index > -1\n null\n\n notificationShareIds: -> document.body.dataset.notifIds.split(\",\")\n notificationQuantities: -> document.body.dataset.notifCounts.split(\",\")\n}","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar cssClasses = {\n CLOSING: 'mdc-snackbar--closing',\n OPEN: 'mdc-snackbar--open',\n OPENING: 'mdc-snackbar--opening'\n};\nvar strings = {\n ACTION_SELECTOR: '.mdc-snackbar__action',\n ARIA_LIVE_LABEL_TEXT_ATTR: 'data-mdc-snackbar-label-text',\n CLOSED_EVENT: 'MDCSnackbar:closed',\n CLOSING_EVENT: 'MDCSnackbar:closing',\n DISMISS_SELECTOR: '.mdc-snackbar__dismiss',\n LABEL_SELECTOR: '.mdc-snackbar__label',\n OPENED_EVENT: 'MDCSnackbar:opened',\n OPENING_EVENT: 'MDCSnackbar:opening',\n REASON_ACTION: 'action',\n REASON_DISMISS: 'dismiss',\n SURFACE_SELECTOR: '.mdc-snackbar__surface'\n};\nvar numbers = {\n DEFAULT_AUTO_DISMISS_TIMEOUT_MS: 5000,\n INDETERMINATE: -1,\n MAX_AUTO_DISMISS_TIMEOUT_MS: 10000,\n MIN_AUTO_DISMISS_TIMEOUT_MS: 4000,\n // These variables need to be kept in sync with the values in _variables.scss.\n SNACKBAR_ANIMATION_CLOSE_TIME_MS: 75,\n SNACKBAR_ANIMATION_OPEN_TIME_MS: 150,\n\n /**\n * Number of milliseconds to wait between temporarily clearing the label text\n * in the DOM and subsequently restoring it. This is necessary to force IE 11\n * to pick up the `aria-live` content change and announce it to the user.\n */\n ARIA_LIVE_DELAY_MS: 1000\n};\nexport { cssClasses, strings, numbers };","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __assign, __extends } from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { cssClasses, numbers, strings } from './constants';\nvar OPENING = cssClasses.OPENING,\n OPEN = cssClasses.OPEN,\n CLOSING = cssClasses.CLOSING;\nvar REASON_ACTION = strings.REASON_ACTION,\n REASON_DISMISS = strings.REASON_DISMISS;\n\nvar MDCSnackbarFoundation =\n/** @class */\nfunction (_super) {\n __extends(MDCSnackbarFoundation, _super);\n\n function MDCSnackbarFoundation(adapter) {\n var _this = _super.call(this, __assign(__assign({}, MDCSnackbarFoundation.defaultAdapter), adapter)) || this;\n\n _this.isOpen_ = false;\n _this.animationFrame_ = 0;\n _this.animationTimer_ = 0;\n _this.autoDismissTimer_ = 0;\n _this.autoDismissTimeoutMs_ = numbers.DEFAULT_AUTO_DISMISS_TIMEOUT_MS;\n _this.closeOnEscape_ = true;\n return _this;\n }\n\n Object.defineProperty(MDCSnackbarFoundation, \"cssClasses\", {\n get: function () {\n return cssClasses;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCSnackbarFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCSnackbarFoundation, \"numbers\", {\n get: function () {\n return numbers;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCSnackbarFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n addClass: function () {\n return undefined;\n },\n announce: function () {\n return undefined;\n },\n notifyClosed: function () {\n return undefined;\n },\n notifyClosing: function () {\n return undefined;\n },\n notifyOpened: function () {\n return undefined;\n },\n notifyOpening: function () {\n return undefined;\n },\n removeClass: function () {\n return undefined;\n }\n };\n },\n enumerable: true,\n configurable: true\n });\n\n MDCSnackbarFoundation.prototype.destroy = function () {\n this.clearAutoDismissTimer_();\n cancelAnimationFrame(this.animationFrame_);\n this.animationFrame_ = 0;\n clearTimeout(this.animationTimer_);\n this.animationTimer_ = 0;\n this.adapter.removeClass(OPENING);\n this.adapter.removeClass(OPEN);\n this.adapter.removeClass(CLOSING);\n };\n\n MDCSnackbarFoundation.prototype.open = function () {\n var _this = this;\n\n this.clearAutoDismissTimer_();\n this.isOpen_ = true;\n this.adapter.notifyOpening();\n this.adapter.removeClass(CLOSING);\n this.adapter.addClass(OPENING);\n this.adapter.announce(); // Wait a frame once display is no longer \"none\", to establish basis for animation\n\n this.runNextAnimationFrame_(function () {\n _this.adapter.addClass(OPEN);\n\n _this.animationTimer_ = setTimeout(function () {\n var timeoutMs = _this.getTimeoutMs();\n\n _this.handleAnimationTimerEnd_();\n\n _this.adapter.notifyOpened();\n\n if (timeoutMs !== numbers.INDETERMINATE) {\n _this.autoDismissTimer_ = setTimeout(function () {\n _this.close(REASON_DISMISS);\n }, timeoutMs);\n }\n }, numbers.SNACKBAR_ANIMATION_OPEN_TIME_MS);\n });\n };\n /**\n * @param reason Why the snackbar was closed. Value will be passed to CLOSING_EVENT and CLOSED_EVENT via the\n * `event.detail.reason` property. Standard values are REASON_ACTION and REASON_DISMISS, but custom\n * client-specific values may also be used if desired.\n */\n\n\n MDCSnackbarFoundation.prototype.close = function (reason) {\n var _this = this;\n\n if (reason === void 0) {\n reason = '';\n }\n\n if (!this.isOpen_) {\n // Avoid redundant close calls (and events), e.g. repeated interactions as the snackbar is animating closed\n return;\n }\n\n cancelAnimationFrame(this.animationFrame_);\n this.animationFrame_ = 0;\n this.clearAutoDismissTimer_();\n this.isOpen_ = false;\n this.adapter.notifyClosing(reason);\n this.adapter.addClass(cssClasses.CLOSING);\n this.adapter.removeClass(cssClasses.OPEN);\n this.adapter.removeClass(cssClasses.OPENING);\n clearTimeout(this.animationTimer_);\n this.animationTimer_ = setTimeout(function () {\n _this.handleAnimationTimerEnd_();\n\n _this.adapter.notifyClosed(reason);\n }, numbers.SNACKBAR_ANIMATION_CLOSE_TIME_MS);\n };\n\n MDCSnackbarFoundation.prototype.isOpen = function () {\n return this.isOpen_;\n };\n\n MDCSnackbarFoundation.prototype.getTimeoutMs = function () {\n return this.autoDismissTimeoutMs_;\n };\n\n MDCSnackbarFoundation.prototype.setTimeoutMs = function (timeoutMs) {\n // Use shorter variable names to make the code more readable\n var minValue = numbers.MIN_AUTO_DISMISS_TIMEOUT_MS;\n var maxValue = numbers.MAX_AUTO_DISMISS_TIMEOUT_MS;\n var indeterminateValue = numbers.INDETERMINATE;\n\n if (timeoutMs === numbers.INDETERMINATE || timeoutMs <= maxValue && timeoutMs >= minValue) {\n this.autoDismissTimeoutMs_ = timeoutMs;\n } else {\n throw new Error(\"\\n timeoutMs must be an integer in the range \" + minValue + \"\\u2013\" + maxValue + \"\\n (or \" + indeterminateValue + \" to disable), but got '\" + timeoutMs + \"'\");\n }\n };\n\n MDCSnackbarFoundation.prototype.getCloseOnEscape = function () {\n return this.closeOnEscape_;\n };\n\n MDCSnackbarFoundation.prototype.setCloseOnEscape = function (closeOnEscape) {\n this.closeOnEscape_ = closeOnEscape;\n };\n\n MDCSnackbarFoundation.prototype.handleKeyDown = function (evt) {\n var isEscapeKey = evt.key === 'Escape' || evt.keyCode === 27;\n\n if (isEscapeKey && this.getCloseOnEscape()) {\n this.close(REASON_DISMISS);\n }\n };\n\n MDCSnackbarFoundation.prototype.handleActionButtonClick = function (_evt) {\n this.close(REASON_ACTION);\n };\n\n MDCSnackbarFoundation.prototype.handleActionIconClick = function (_evt) {\n this.close(REASON_DISMISS);\n };\n\n MDCSnackbarFoundation.prototype.clearAutoDismissTimer_ = function () {\n clearTimeout(this.autoDismissTimer_);\n this.autoDismissTimer_ = 0;\n };\n\n MDCSnackbarFoundation.prototype.handleAnimationTimerEnd_ = function () {\n this.animationTimer_ = 0;\n this.adapter.removeClass(cssClasses.OPENING);\n this.adapter.removeClass(cssClasses.CLOSING);\n };\n /**\n * Runs the given logic on the next animation frame, using setTimeout to factor in Firefox reflow behavior.\n */\n\n\n MDCSnackbarFoundation.prototype.runNextAnimationFrame_ = function (callback) {\n var _this = this;\n\n cancelAnimationFrame(this.animationFrame_);\n this.animationFrame_ = requestAnimationFrame(function () {\n _this.animationFrame_ = 0;\n clearTimeout(_this.animationTimer_);\n _this.animationTimer_ = setTimeout(callback, 0);\n });\n };\n\n return MDCSnackbarFoundation;\n}(MDCFoundation);\n\nexport { MDCSnackbarFoundation }; // tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\n\nexport default MDCSnackbarFoundation;","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { numbers, strings } from './constants';\nvar ARIA_LIVE_DELAY_MS = numbers.ARIA_LIVE_DELAY_MS;\nvar ARIA_LIVE_LABEL_TEXT_ATTR = strings.ARIA_LIVE_LABEL_TEXT_ATTR;\n\nfunction announce(ariaEl, labelEl) {\n if (labelEl === void 0) {\n labelEl = ariaEl;\n }\n\n var priority = ariaEl.getAttribute('aria-live'); // Trim text to ignore ` ` (see below).\n // textContent is only null if the node is a document, DOCTYPE, or notation.\n\n var labelText = labelEl.textContent.trim();\n\n if (!labelText || !priority) {\n return;\n } // Temporarily disable `aria-live` to prevent JAWS+Firefox from announcing the message twice.\n\n\n ariaEl.setAttribute('aria-live', 'off'); // Temporarily clear `textContent` to force a DOM mutation event that will be detected by screen readers.\n // `aria-live` elements are only announced when the element's `textContent` *changes*, so snackbars\n // sent to the browser in the initial HTML response won't be read unless we clear the element's `textContent` first.\n // Similarly, displaying the same snackbar message twice in a row doesn't trigger a DOM mutation event,\n // so screen readers won't announce the second message unless we first clear `textContent`.\n //\n // We have to clear the label text two different ways to make it work in all browsers and screen readers:\n //\n // 1. `textContent = ''` is required for IE11 + JAWS\n // 2. `innerHTML = ' '` is required for Chrome + JAWS and NVDA\n //\n // All other browser/screen reader combinations support both methods.\n //\n // The wrapper `` visually hides the space character so that it doesn't cause jank when added/removed.\n // N.B.: Setting `position: absolute`, `opacity: 0`, or `height: 0` prevents Chrome from detecting the DOM change.\n //\n // This technique has been tested in:\n //\n // * JAWS 2019:\n // - Chrome 70\n // - Firefox 60 (ESR)\n // - IE 11\n // * NVDA 2018:\n // - Chrome 70\n // - Firefox 60 (ESR)\n // - IE 11\n // * ChromeVox 53\n\n labelEl.textContent = '';\n labelEl.innerHTML = ' '; // Prevent visual jank by temporarily displaying the label text in the ::before pseudo-element.\n // CSS generated content is normally announced by screen readers\n // (except in IE 11; see https://tink.uk/accessibility-support-for-css-generated-content/);\n // however, `aria-live` is turned off, so this DOM update will be ignored by screen readers.\n\n labelEl.setAttribute(ARIA_LIVE_LABEL_TEXT_ATTR, labelText);\n setTimeout(function () {\n // Allow screen readers to announce changes to the DOM again.\n ariaEl.setAttribute('aria-live', priority); // Remove the message from the ::before pseudo-element.\n\n labelEl.removeAttribute(ARIA_LIVE_LABEL_TEXT_ATTR); // Restore the original label text, which will be announced by screen readers.\n\n labelEl.textContent = labelText;\n }, ARIA_LIVE_DELAY_MS);\n}\n\nexport { announce };","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __extends } from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { closest } from '@material/dom/ponyfill';\nimport { strings } from './constants';\nimport { MDCSnackbarFoundation } from './foundation';\nimport * as util from './util';\nvar SURFACE_SELECTOR = strings.SURFACE_SELECTOR,\n LABEL_SELECTOR = strings.LABEL_SELECTOR,\n ACTION_SELECTOR = strings.ACTION_SELECTOR,\n DISMISS_SELECTOR = strings.DISMISS_SELECTOR,\n OPENING_EVENT = strings.OPENING_EVENT,\n OPENED_EVENT = strings.OPENED_EVENT,\n CLOSING_EVENT = strings.CLOSING_EVENT,\n CLOSED_EVENT = strings.CLOSED_EVENT;\n\nvar MDCSnackbar =\n/** @class */\nfunction (_super) {\n __extends(MDCSnackbar, _super);\n\n function MDCSnackbar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n MDCSnackbar.attachTo = function (root) {\n return new MDCSnackbar(root);\n };\n\n MDCSnackbar.prototype.initialize = function (announcerFactory) {\n if (announcerFactory === void 0) {\n announcerFactory = function () {\n return util.announce;\n };\n }\n\n this.announce_ = announcerFactory();\n };\n\n MDCSnackbar.prototype.initialSyncWithDOM = function () {\n var _this = this;\n\n this.surfaceEl_ = this.root.querySelector(SURFACE_SELECTOR);\n this.labelEl_ = this.root.querySelector(LABEL_SELECTOR);\n this.actionEl_ = this.root.querySelector(ACTION_SELECTOR);\n\n this.handleKeyDown_ = function (evt) {\n return _this.foundation.handleKeyDown(evt);\n };\n\n this.handleSurfaceClick_ = function (evt) {\n var target = evt.target;\n\n if (_this.isActionButton_(target)) {\n _this.foundation.handleActionButtonClick(evt);\n } else if (_this.isActionIcon_(target)) {\n _this.foundation.handleActionIconClick(evt);\n }\n };\n\n this.registerKeyDownHandler_(this.handleKeyDown_);\n this.registerSurfaceClickHandler_(this.handleSurfaceClick_);\n };\n\n MDCSnackbar.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n\n this.deregisterKeyDownHandler_(this.handleKeyDown_);\n this.deregisterSurfaceClickHandler_(this.handleSurfaceClick_);\n };\n\n MDCSnackbar.prototype.open = function () {\n this.foundation.open();\n };\n /**\n * @param reason Why the snackbar was closed. Value will be passed to CLOSING_EVENT and CLOSED_EVENT via the\n * `event.detail.reason` property. Standard values are REASON_ACTION and REASON_DISMISS, but custom\n * client-specific values may also be used if desired.\n */\n\n\n MDCSnackbar.prototype.close = function (reason) {\n if (reason === void 0) {\n reason = '';\n }\n\n this.foundation.close(reason);\n };\n\n MDCSnackbar.prototype.getDefaultFoundation = function () {\n var _this = this; // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n\n\n var adapter = {\n addClass: function (className) {\n return _this.root.classList.add(className);\n },\n announce: function () {\n return _this.announce_(_this.labelEl_);\n },\n notifyClosed: function (reason) {\n return _this.emit(CLOSED_EVENT, reason ? {\n reason: reason\n } : {});\n },\n notifyClosing: function (reason) {\n return _this.emit(CLOSING_EVENT, reason ? {\n reason: reason\n } : {});\n },\n notifyOpened: function () {\n return _this.emit(OPENED_EVENT, {});\n },\n notifyOpening: function () {\n return _this.emit(OPENING_EVENT, {});\n },\n removeClass: function (className) {\n return _this.root.classList.remove(className);\n }\n };\n return new MDCSnackbarFoundation(adapter);\n };\n\n Object.defineProperty(MDCSnackbar.prototype, \"timeoutMs\", {\n get: function () {\n return this.foundation.getTimeoutMs();\n },\n set: function (timeoutMs) {\n this.foundation.setTimeoutMs(timeoutMs);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCSnackbar.prototype, \"closeOnEscape\", {\n get: function () {\n return this.foundation.getCloseOnEscape();\n },\n set: function (closeOnEscape) {\n this.foundation.setCloseOnEscape(closeOnEscape);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCSnackbar.prototype, \"isOpen\", {\n get: function () {\n return this.foundation.isOpen();\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCSnackbar.prototype, \"labelText\", {\n get: function () {\n // This property only returns null if the node is a document, DOCTYPE, or notation.\n // On Element nodes, it always returns a string.\n return this.labelEl_.textContent;\n },\n set: function (labelText) {\n this.labelEl_.textContent = labelText;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCSnackbar.prototype, \"actionButtonText\", {\n get: function () {\n return this.actionEl_.textContent;\n },\n set: function (actionButtonText) {\n this.actionEl_.textContent = actionButtonText;\n },\n enumerable: true,\n configurable: true\n });\n\n MDCSnackbar.prototype.registerKeyDownHandler_ = function (handler) {\n this.listen('keydown', handler);\n };\n\n MDCSnackbar.prototype.deregisterKeyDownHandler_ = function (handler) {\n this.unlisten('keydown', handler);\n };\n\n MDCSnackbar.prototype.registerSurfaceClickHandler_ = function (handler) {\n this.surfaceEl_.addEventListener('click', handler);\n };\n\n MDCSnackbar.prototype.deregisterSurfaceClickHandler_ = function (handler) {\n this.surfaceEl_.removeEventListener('click', handler);\n };\n\n MDCSnackbar.prototype.isActionButton_ = function (target) {\n return Boolean(closest(target, ACTION_SELECTOR));\n };\n\n MDCSnackbar.prototype.isActionIcon_ = function (target) {\n return Boolean(closest(target, DISMISS_SELECTOR));\n };\n\n return MDCSnackbar;\n}(MDCComponent);\n\nexport { MDCSnackbar };","import {element_with_content, element_with_class} from 'utils/material_elements'\nimport {MDCSnackbar} from '@material/snackbar'\n\nexport class FlashMessage\n\n @error: (message) -> @addFlashMessage(message, 'flash-error')\n @success: (message) -> @addFlashMessage(message, 'flash-success')\n\n @addFlashMessage: (message, clazz) ->\n @removeFlashMessage()\n div = @buildFlashMessage(message, clazz)\n document.body.append div\n @prepareFlashMessage()\n\n @prepareFlashMessage: ->\n div = document.querySelector('.flash-message')\n if div\n snackbar = new MDCSnackbar(div)\n snackbar.open()\n\n @buildFlashMessage: (message, clazz) ->\n div = element_with_class('div', 'mdc-snackbar', clazz, 'flash-message')\n surface = element_with_class('div', 'mdc-snackbar__surface')\n label = element_with_content('div', message, 'mdc-snackbar__label')\n label.setAttribute('role', 'status')\n label.setAttribute('aria-live', 'polite')\n surface.append label\n div.append surface\n div\n\n @removeFlashMessage: ->\n existing = document.querySelector('.flash-message')\n existing.remove() if existing\n\nFlashMessage.prepareFlashMessage()","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nexport var cssClasses = {\n // Ripple is a special case where the \"root\" component is really a \"mixin\" of sorts,\n // given that it's an 'upgrade' to an existing component. That being said it is the root\n // CSS class that all other CSS classes derive from.\n BG_FOCUSED: 'mdc-ripple-upgraded--background-focused',\n FG_ACTIVATION: 'mdc-ripple-upgraded--foreground-activation',\n FG_DEACTIVATION: 'mdc-ripple-upgraded--foreground-deactivation',\n ROOT: 'mdc-ripple-upgraded',\n UNBOUNDED: 'mdc-ripple-upgraded--unbounded'\n};\nexport var strings = {\n VAR_FG_SCALE: '--mdc-ripple-fg-scale',\n VAR_FG_SIZE: '--mdc-ripple-fg-size',\n VAR_FG_TRANSLATE_END: '--mdc-ripple-fg-translate-end',\n VAR_FG_TRANSLATE_START: '--mdc-ripple-fg-translate-start',\n VAR_LEFT: '--mdc-ripple-left',\n VAR_TOP: '--mdc-ripple-top'\n};\nexport var numbers = {\n DEACTIVATION_TIMEOUT_MS: 225,\n FG_DEACTIVATION_MS: 150,\n INITIAL_ORIGIN_SCALE: 0.6,\n PADDING: 10,\n TAP_DELAY_MS: 300\n};","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __assign, __extends } from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { cssClasses, numbers, strings } from './constants';\nimport { getNormalizedEventCoords } from './util'; // Activation events registered on the root element of each instance for activation\n\nvar ACTIVATION_EVENT_TYPES = ['touchstart', 'pointerdown', 'mousedown', 'keydown']; // Deactivation events registered on documentElement when a pointer-related down event occurs\n\nvar POINTER_DEACTIVATION_EVENT_TYPES = ['touchend', 'pointerup', 'mouseup', 'contextmenu']; // simultaneous nested activations\n\nvar activatedTargets = [];\n\nvar MDCRippleFoundation =\n/** @class */\nfunction (_super) {\n __extends(MDCRippleFoundation, _super);\n\n function MDCRippleFoundation(adapter) {\n var _this = _super.call(this, __assign(__assign({}, MDCRippleFoundation.defaultAdapter), adapter)) || this;\n\n _this.activationAnimationHasEnded_ = false;\n _this.activationTimer_ = 0;\n _this.fgDeactivationRemovalTimer_ = 0;\n _this.fgScale_ = '0';\n _this.frame_ = {\n width: 0,\n height: 0\n };\n _this.initialSize_ = 0;\n _this.layoutFrame_ = 0;\n _this.maxRadius_ = 0;\n _this.unboundedCoords_ = {\n left: 0,\n top: 0\n };\n _this.activationState_ = _this.defaultActivationState_();\n\n _this.activationTimerCallback_ = function () {\n _this.activationAnimationHasEnded_ = true;\n\n _this.runDeactivationUXLogicIfReady_();\n };\n\n _this.activateHandler_ = function (e) {\n return _this.activate_(e);\n };\n\n _this.deactivateHandler_ = function () {\n return _this.deactivate_();\n };\n\n _this.focusHandler_ = function () {\n return _this.handleFocus();\n };\n\n _this.blurHandler_ = function () {\n return _this.handleBlur();\n };\n\n _this.resizeHandler_ = function () {\n return _this.layout();\n };\n\n return _this;\n }\n\n Object.defineProperty(MDCRippleFoundation, \"cssClasses\", {\n get: function () {\n return cssClasses;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCRippleFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCRippleFoundation, \"numbers\", {\n get: function () {\n return numbers;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCRippleFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n addClass: function () {\n return undefined;\n },\n browserSupportsCssVars: function () {\n return true;\n },\n computeBoundingRect: function () {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: 0,\n height: 0\n };\n },\n containsEventTarget: function () {\n return true;\n },\n deregisterDocumentInteractionHandler: function () {\n return undefined;\n },\n deregisterInteractionHandler: function () {\n return undefined;\n },\n deregisterResizeHandler: function () {\n return undefined;\n },\n getWindowPageOffset: function () {\n return {\n x: 0,\n y: 0\n };\n },\n isSurfaceActive: function () {\n return true;\n },\n isSurfaceDisabled: function () {\n return true;\n },\n isUnbounded: function () {\n return true;\n },\n registerDocumentInteractionHandler: function () {\n return undefined;\n },\n registerInteractionHandler: function () {\n return undefined;\n },\n registerResizeHandler: function () {\n return undefined;\n },\n removeClass: function () {\n return undefined;\n },\n updateCssVariable: function () {\n return undefined;\n }\n };\n },\n enumerable: true,\n configurable: true\n });\n\n MDCRippleFoundation.prototype.init = function () {\n var _this = this;\n\n var supportsPressRipple = this.supportsPressRipple_();\n this.registerRootHandlers_(supportsPressRipple);\n\n if (supportsPressRipple) {\n var _a = MDCRippleFoundation.cssClasses,\n ROOT_1 = _a.ROOT,\n UNBOUNDED_1 = _a.UNBOUNDED;\n requestAnimationFrame(function () {\n _this.adapter.addClass(ROOT_1);\n\n if (_this.adapter.isUnbounded()) {\n _this.adapter.addClass(UNBOUNDED_1); // Unbounded ripples need layout logic applied immediately to set coordinates for both shade and ripple\n\n\n _this.layoutInternal_();\n }\n });\n }\n };\n\n MDCRippleFoundation.prototype.destroy = function () {\n var _this = this;\n\n if (this.supportsPressRipple_()) {\n if (this.activationTimer_) {\n clearTimeout(this.activationTimer_);\n this.activationTimer_ = 0;\n this.adapter.removeClass(MDCRippleFoundation.cssClasses.FG_ACTIVATION);\n }\n\n if (this.fgDeactivationRemovalTimer_) {\n clearTimeout(this.fgDeactivationRemovalTimer_);\n this.fgDeactivationRemovalTimer_ = 0;\n this.adapter.removeClass(MDCRippleFoundation.cssClasses.FG_DEACTIVATION);\n }\n\n var _a = MDCRippleFoundation.cssClasses,\n ROOT_2 = _a.ROOT,\n UNBOUNDED_2 = _a.UNBOUNDED;\n requestAnimationFrame(function () {\n _this.adapter.removeClass(ROOT_2);\n\n _this.adapter.removeClass(UNBOUNDED_2);\n\n _this.removeCssVars_();\n });\n }\n\n this.deregisterRootHandlers_();\n this.deregisterDeactivationHandlers_();\n };\n /**\n * @param evt Optional event containing position information.\n */\n\n\n MDCRippleFoundation.prototype.activate = function (evt) {\n this.activate_(evt);\n };\n\n MDCRippleFoundation.prototype.deactivate = function () {\n this.deactivate_();\n };\n\n MDCRippleFoundation.prototype.layout = function () {\n var _this = this;\n\n if (this.layoutFrame_) {\n cancelAnimationFrame(this.layoutFrame_);\n }\n\n this.layoutFrame_ = requestAnimationFrame(function () {\n _this.layoutInternal_();\n\n _this.layoutFrame_ = 0;\n });\n };\n\n MDCRippleFoundation.prototype.setUnbounded = function (unbounded) {\n var UNBOUNDED = MDCRippleFoundation.cssClasses.UNBOUNDED;\n\n if (unbounded) {\n this.adapter.addClass(UNBOUNDED);\n } else {\n this.adapter.removeClass(UNBOUNDED);\n }\n };\n\n MDCRippleFoundation.prototype.handleFocus = function () {\n var _this = this;\n\n requestAnimationFrame(function () {\n return _this.adapter.addClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);\n });\n };\n\n MDCRippleFoundation.prototype.handleBlur = function () {\n var _this = this;\n\n requestAnimationFrame(function () {\n return _this.adapter.removeClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);\n });\n };\n /**\n * We compute this property so that we are not querying information about the client\n * until the point in time where the foundation requests it. This prevents scenarios where\n * client-side feature-detection may happen too early, such as when components are rendered on the server\n * and then initialized at mount time on the client.\n */\n\n\n MDCRippleFoundation.prototype.supportsPressRipple_ = function () {\n return this.adapter.browserSupportsCssVars();\n };\n\n MDCRippleFoundation.prototype.defaultActivationState_ = function () {\n return {\n activationEvent: undefined,\n hasDeactivationUXRun: false,\n isActivated: false,\n isProgrammatic: false,\n wasActivatedByPointer: false,\n wasElementMadeActive: false\n };\n };\n /**\n * supportsPressRipple Passed from init to save a redundant function call\n */\n\n\n MDCRippleFoundation.prototype.registerRootHandlers_ = function (supportsPressRipple) {\n var _this = this;\n\n if (supportsPressRipple) {\n ACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter.registerInteractionHandler(evtType, _this.activateHandler_);\n });\n\n if (this.adapter.isUnbounded()) {\n this.adapter.registerResizeHandler(this.resizeHandler_);\n }\n }\n\n this.adapter.registerInteractionHandler('focus', this.focusHandler_);\n this.adapter.registerInteractionHandler('blur', this.blurHandler_);\n };\n\n MDCRippleFoundation.prototype.registerDeactivationHandlers_ = function (evt) {\n var _this = this;\n\n if (evt.type === 'keydown') {\n this.adapter.registerInteractionHandler('keyup', this.deactivateHandler_);\n } else {\n POINTER_DEACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter.registerDocumentInteractionHandler(evtType, _this.deactivateHandler_);\n });\n }\n };\n\n MDCRippleFoundation.prototype.deregisterRootHandlers_ = function () {\n var _this = this;\n\n ACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter.deregisterInteractionHandler(evtType, _this.activateHandler_);\n });\n this.adapter.deregisterInteractionHandler('focus', this.focusHandler_);\n this.adapter.deregisterInteractionHandler('blur', this.blurHandler_);\n\n if (this.adapter.isUnbounded()) {\n this.adapter.deregisterResizeHandler(this.resizeHandler_);\n }\n };\n\n MDCRippleFoundation.prototype.deregisterDeactivationHandlers_ = function () {\n var _this = this;\n\n this.adapter.deregisterInteractionHandler('keyup', this.deactivateHandler_);\n POINTER_DEACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter.deregisterDocumentInteractionHandler(evtType, _this.deactivateHandler_);\n });\n };\n\n MDCRippleFoundation.prototype.removeCssVars_ = function () {\n var _this = this;\n\n var rippleStrings = MDCRippleFoundation.strings;\n var keys = Object.keys(rippleStrings);\n keys.forEach(function (key) {\n if (key.indexOf('VAR_') === 0) {\n _this.adapter.updateCssVariable(rippleStrings[key], null);\n }\n });\n };\n\n MDCRippleFoundation.prototype.activate_ = function (evt) {\n var _this = this;\n\n if (this.adapter.isSurfaceDisabled()) {\n return;\n }\n\n var activationState = this.activationState_;\n\n if (activationState.isActivated) {\n return;\n } // Avoid reacting to follow-on events fired by touch device after an already-processed user interaction\n\n\n var previousActivationEvent = this.previousActivationEvent_;\n var isSameInteraction = previousActivationEvent && evt !== undefined && previousActivationEvent.type !== evt.type;\n\n if (isSameInteraction) {\n return;\n }\n\n activationState.isActivated = true;\n activationState.isProgrammatic = evt === undefined;\n activationState.activationEvent = evt;\n activationState.wasActivatedByPointer = activationState.isProgrammatic ? false : evt !== undefined && (evt.type === 'mousedown' || evt.type === 'touchstart' || evt.type === 'pointerdown');\n var hasActivatedChild = evt !== undefined && activatedTargets.length > 0 && activatedTargets.some(function (target) {\n return _this.adapter.containsEventTarget(target);\n });\n\n if (hasActivatedChild) {\n // Immediately reset activation state, while preserving logic that prevents touch follow-on events\n this.resetActivationState_();\n return;\n }\n\n if (evt !== undefined) {\n activatedTargets.push(evt.target);\n this.registerDeactivationHandlers_(evt);\n }\n\n activationState.wasElementMadeActive = this.checkElementMadeActive_(evt);\n\n if (activationState.wasElementMadeActive) {\n this.animateActivation_();\n }\n\n requestAnimationFrame(function () {\n // Reset array on next frame after the current event has had a chance to bubble to prevent ancestor ripples\n activatedTargets = [];\n\n if (!activationState.wasElementMadeActive && evt !== undefined && (evt.key === ' ' || evt.keyCode === 32)) {\n // If space was pressed, try again within an rAF call to detect :active, because different UAs report\n // active states inconsistently when they're called within event handling code:\n // - https://bugs.chromium.org/p/chromium/issues/detail?id=635971\n // - https://bugzilla.mozilla.org/show_bug.cgi?id=1293741\n // We try first outside rAF to support Edge, which does not exhibit this problem, but will crash if a CSS\n // variable is set within a rAF callback for a submit button interaction (#2241).\n activationState.wasElementMadeActive = _this.checkElementMadeActive_(evt);\n\n if (activationState.wasElementMadeActive) {\n _this.animateActivation_();\n }\n }\n\n if (!activationState.wasElementMadeActive) {\n // Reset activation state immediately if element was not made active.\n _this.activationState_ = _this.defaultActivationState_();\n }\n });\n };\n\n MDCRippleFoundation.prototype.checkElementMadeActive_ = function (evt) {\n return evt !== undefined && evt.type === 'keydown' ? this.adapter.isSurfaceActive() : true;\n };\n\n MDCRippleFoundation.prototype.animateActivation_ = function () {\n var _this = this;\n\n var _a = MDCRippleFoundation.strings,\n VAR_FG_TRANSLATE_START = _a.VAR_FG_TRANSLATE_START,\n VAR_FG_TRANSLATE_END = _a.VAR_FG_TRANSLATE_END;\n var _b = MDCRippleFoundation.cssClasses,\n FG_DEACTIVATION = _b.FG_DEACTIVATION,\n FG_ACTIVATION = _b.FG_ACTIVATION;\n var DEACTIVATION_TIMEOUT_MS = MDCRippleFoundation.numbers.DEACTIVATION_TIMEOUT_MS;\n this.layoutInternal_();\n var translateStart = '';\n var translateEnd = '';\n\n if (!this.adapter.isUnbounded()) {\n var _c = this.getFgTranslationCoordinates_(),\n startPoint = _c.startPoint,\n endPoint = _c.endPoint;\n\n translateStart = startPoint.x + \"px, \" + startPoint.y + \"px\";\n translateEnd = endPoint.x + \"px, \" + endPoint.y + \"px\";\n }\n\n this.adapter.updateCssVariable(VAR_FG_TRANSLATE_START, translateStart);\n this.adapter.updateCssVariable(VAR_FG_TRANSLATE_END, translateEnd); // Cancel any ongoing activation/deactivation animations\n\n clearTimeout(this.activationTimer_);\n clearTimeout(this.fgDeactivationRemovalTimer_);\n this.rmBoundedActivationClasses_();\n this.adapter.removeClass(FG_DEACTIVATION); // Force layout in order to re-trigger the animation.\n\n this.adapter.computeBoundingRect();\n this.adapter.addClass(FG_ACTIVATION);\n this.activationTimer_ = setTimeout(function () {\n return _this.activationTimerCallback_();\n }, DEACTIVATION_TIMEOUT_MS);\n };\n\n MDCRippleFoundation.prototype.getFgTranslationCoordinates_ = function () {\n var _a = this.activationState_,\n activationEvent = _a.activationEvent,\n wasActivatedByPointer = _a.wasActivatedByPointer;\n var startPoint;\n\n if (wasActivatedByPointer) {\n startPoint = getNormalizedEventCoords(activationEvent, this.adapter.getWindowPageOffset(), this.adapter.computeBoundingRect());\n } else {\n startPoint = {\n x: this.frame_.width / 2,\n y: this.frame_.height / 2\n };\n } // Center the element around the start point.\n\n\n startPoint = {\n x: startPoint.x - this.initialSize_ / 2,\n y: startPoint.y - this.initialSize_ / 2\n };\n var endPoint = {\n x: this.frame_.width / 2 - this.initialSize_ / 2,\n y: this.frame_.height / 2 - this.initialSize_ / 2\n };\n return {\n startPoint: startPoint,\n endPoint: endPoint\n };\n };\n\n MDCRippleFoundation.prototype.runDeactivationUXLogicIfReady_ = function () {\n var _this = this; // This method is called both when a pointing device is released, and when the activation animation ends.\n // The deactivation animation should only run after both of those occur.\n\n\n var FG_DEACTIVATION = MDCRippleFoundation.cssClasses.FG_DEACTIVATION;\n var _a = this.activationState_,\n hasDeactivationUXRun = _a.hasDeactivationUXRun,\n isActivated = _a.isActivated;\n var activationHasEnded = hasDeactivationUXRun || !isActivated;\n\n if (activationHasEnded && this.activationAnimationHasEnded_) {\n this.rmBoundedActivationClasses_();\n this.adapter.addClass(FG_DEACTIVATION);\n this.fgDeactivationRemovalTimer_ = setTimeout(function () {\n _this.adapter.removeClass(FG_DEACTIVATION);\n }, numbers.FG_DEACTIVATION_MS);\n }\n };\n\n MDCRippleFoundation.prototype.rmBoundedActivationClasses_ = function () {\n var FG_ACTIVATION = MDCRippleFoundation.cssClasses.FG_ACTIVATION;\n this.adapter.removeClass(FG_ACTIVATION);\n this.activationAnimationHasEnded_ = false;\n this.adapter.computeBoundingRect();\n };\n\n MDCRippleFoundation.prototype.resetActivationState_ = function () {\n var _this = this;\n\n this.previousActivationEvent_ = this.activationState_.activationEvent;\n this.activationState_ = this.defaultActivationState_(); // Touch devices may fire additional events for the same interaction within a short time.\n // Store the previous event until it's safe to assume that subsequent events are for new interactions.\n\n setTimeout(function () {\n return _this.previousActivationEvent_ = undefined;\n }, MDCRippleFoundation.numbers.TAP_DELAY_MS);\n };\n\n MDCRippleFoundation.prototype.deactivate_ = function () {\n var _this = this;\n\n var activationState = this.activationState_; // This can happen in scenarios such as when you have a keyup event that blurs the element.\n\n if (!activationState.isActivated) {\n return;\n }\n\n var state = __assign({}, activationState);\n\n if (activationState.isProgrammatic) {\n requestAnimationFrame(function () {\n return _this.animateDeactivation_(state);\n });\n this.resetActivationState_();\n } else {\n this.deregisterDeactivationHandlers_();\n requestAnimationFrame(function () {\n _this.activationState_.hasDeactivationUXRun = true;\n\n _this.animateDeactivation_(state);\n\n _this.resetActivationState_();\n });\n }\n };\n\n MDCRippleFoundation.prototype.animateDeactivation_ = function (_a) {\n var wasActivatedByPointer = _a.wasActivatedByPointer,\n wasElementMadeActive = _a.wasElementMadeActive;\n\n if (wasActivatedByPointer || wasElementMadeActive) {\n this.runDeactivationUXLogicIfReady_();\n }\n };\n\n MDCRippleFoundation.prototype.layoutInternal_ = function () {\n var _this = this;\n\n this.frame_ = this.adapter.computeBoundingRect();\n var maxDim = Math.max(this.frame_.height, this.frame_.width); // Surface diameter is treated differently for unbounded vs. bounded ripples.\n // Unbounded ripple diameter is calculated smaller since the surface is expected to already be padded appropriately\n // to extend the hitbox, and the ripple is expected to meet the edges of the padded hitbox (which is typically\n // square). Bounded ripples, on the other hand, are fully expected to expand beyond the surface's longest diameter\n // (calculated based on the diagonal plus a constant padding), and are clipped at the surface's border via\n // `overflow: hidden`.\n\n var getBoundedRadius = function () {\n var hypotenuse = Math.sqrt(Math.pow(_this.frame_.width, 2) + Math.pow(_this.frame_.height, 2));\n return hypotenuse + MDCRippleFoundation.numbers.PADDING;\n };\n\n this.maxRadius_ = this.adapter.isUnbounded() ? maxDim : getBoundedRadius(); // Ripple is sized as a fraction of the largest dimension of the surface, then scales up using a CSS scale transform\n\n var initialSize = Math.floor(maxDim * MDCRippleFoundation.numbers.INITIAL_ORIGIN_SCALE); // Unbounded ripple size should always be even number to equally center align.\n\n if (this.adapter.isUnbounded() && initialSize % 2 !== 0) {\n this.initialSize_ = initialSize - 1;\n } else {\n this.initialSize_ = initialSize;\n }\n\n this.fgScale_ = \"\" + this.maxRadius_ / this.initialSize_;\n this.updateLayoutCssVars_();\n };\n\n MDCRippleFoundation.prototype.updateLayoutCssVars_ = function () {\n var _a = MDCRippleFoundation.strings,\n VAR_FG_SIZE = _a.VAR_FG_SIZE,\n VAR_LEFT = _a.VAR_LEFT,\n VAR_TOP = _a.VAR_TOP,\n VAR_FG_SCALE = _a.VAR_FG_SCALE;\n this.adapter.updateCssVariable(VAR_FG_SIZE, this.initialSize_ + \"px\");\n this.adapter.updateCssVariable(VAR_FG_SCALE, this.fgScale_);\n\n if (this.adapter.isUnbounded()) {\n this.unboundedCoords_ = {\n left: Math.round(this.frame_.width / 2 - this.initialSize_ / 2),\n top: Math.round(this.frame_.height / 2 - this.initialSize_ / 2)\n };\n this.adapter.updateCssVariable(VAR_LEFT, this.unboundedCoords_.left + \"px\");\n this.adapter.updateCssVariable(VAR_TOP, this.unboundedCoords_.top + \"px\");\n }\n };\n\n return MDCRippleFoundation;\n}(MDCFoundation);\n\nexport { MDCRippleFoundation }; // tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\n\nexport default MDCRippleFoundation;","export class EmojiFallback\n\n constructor: ->\n @prepare_string()\n\n run: ->\n @replace_emojis() unless @emoji_support()\n\n tree_walker: ->\n nodes = ['A', 'LI', 'TD', 'SPAN']\n document.createTreeWalker document.body, NodeFilter.SHOW_TEXT, ((node) ->\n return NodeFilter.FILTER_SKIP unless node.parentNode?\n return NodeFilter.FILTER_REJECT unless nodes.indexOf(node.parentNode.nodeName.toUpperCase()) >= 0\n return NodeFilter.FILTER_SKIP if String.prototype.trim && !node.nodeValue.trim().length\n return NodeFilter.FILTER_ACCEPT), false\n\n text_nodes: ->\n nodes = []\n walker = @tree_walker()\n nodes.push(walker.currentNode) while walker.nextNode()\n nodes\n\n emoji_support: ->\n return false unless document.createElement('canvas').getContext\n context = document.createElement('canvas').getContext('2d')\n return false unless typeof context.fillText == 'function'\n flag = String.fromCodePoint(0x1F1F3) + String.fromCodePoint(0x1F1FF);\n context.textBaseline = \"top\"\n context.font = \"32px Arial\"\n context.fillText(flag, 0, 0)\n context.getImageData(16, 16, 1, 1).data[0] != 0\n\n codePoint: (point) ->\n offset = point - 0x10000\n units = if point > 0xFFFF then [0xD800 + (offset >> 10), 0xDC00 + (offset & 0x3FF)] else [point]\n String.fromCharCode.apply(null, units)\n\n surrogatePairToCodepoint: (lead, trail) -> (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000 \n\n getImageForCodepoint: (hex) ->\n img = document.createElement('IMG')\n img.style.verticalAlign = \"top\"\n img.classList.add 'emoji-flag'\n img.src = \"//cdn.dividendmax.com/flags/#{hex}.png\"\n img\n\n fragmentForString: (htmlString) ->\n tmpDoc = document.createElement('DIV')\n fragment = document.createDocumentFragment()\n\n tmpDoc.innerHTML = htmlString\n fragment.appendChild(childNode) while childNode = tmpDoc.firstChild\n fragment\n\n replace_in_node: (node) ->\n pattern = /([\\ud800-\\udbff])([\\udc00-\\udfff])([\\ud800-\\udbff])([\\udc00-\\udfff])/g\n value = node.nodeValue\n if value.match(pattern)\n replacement = @imageReplacement(value, pattern)\n node.parentNode.replaceChild(@fragmentForString(replacement), node)\n\n replaceInElement: (element) ->\n return if @emoji_support()\n pattern = /([\\ud800-\\udbff])([\\udc00-\\udfff])([\\ud800-\\udbff])([\\udc00-\\udfff])/g\n value = element.innerHTML\n if value.match(pattern)\n replacement = @imageReplacement(value, pattern)\n element.innerHTML = replacement\n\n imageReplacement: (value, pattern) ->\n value.replace pattern, (match, p1, p2, p3, p4) =>\n point1 = @surrogatePairToCodepoint(p1.charCodeAt(0), p2.charCodeAt(0))\n point2 = @surrogatePairToCodepoint(p3.charCodeAt(0), p4.charCodeAt(0))\n img = @getImageForCodepoint(point1.toString(16) + point2.toString(16))\n img.outerHTML\n\n prepare_string: ->\n unless String.fromCodePoint?\n String.fromCodePoint = =>\n chars = []\n chars.push(@codePoint(point)) for point in arguments\n chars.join(\"\")\n\n replace_emojis: ->\n @replace_in_node(node) for node in @text_nodes()\n\n\nexport apply = ->\n emoji = new EmojiFallback()\n emoji.run()","/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar ELEMENTS_KEY_ALLOWED_IN = ['input', 'button', 'textarea', 'select'];\n/**\n * Ensures that preventDefault is only called if the containing element\n * doesn't consume the event, and it will cause an unintended scroll.\n *\n * @param evt keyboard event to be prevented.\n */\n\nexport var preventDefaultEvent = function (evt) {\n var target = evt.target;\n\n if (!target) {\n return;\n }\n\n var tagName = (\"\" + target.tagName).toLowerCase();\n\n if (ELEMENTS_KEY_ALLOWED_IN.indexOf(tagName) === -1) {\n evt.preventDefault();\n }\n};","/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { normalizeKey } from '@material/dom/keyboard';\nimport { numbers } from './constants';\nimport { preventDefaultEvent } from './events';\n/**\n * Initializes a state object for typeahead. Use the same reference for calls to\n * typeahead functions.\n *\n * @return The current state of the typeahead process. Each state reference\n * represents a typeahead instance as the reference is typically mutated\n * in-place.\n */\n\nexport function initState() {\n var state = {\n bufferClearTimeout: 0,\n currentFirstChar: '',\n sortedIndexCursor: 0,\n typeaheadBuffer: ''\n };\n return state;\n}\n/**\n * Initializes typeahead state by indexing the current list items by primary\n * text into the sortedIndexByFirstChar data structure.\n *\n * @param listItemCount numer of items in the list\n * @param getPrimaryTextByItemIndex function that returns the primary text at a\n * given index\n *\n * @return Map that maps the first character of the primary text to the full\n * list text and it's index\n */\n\nexport function initSortedIndex(listItemCount, getPrimaryTextByItemIndex) {\n var sortedIndexByFirstChar = new Map(); // Aggregate item text to index mapping\n\n for (var i = 0; i < listItemCount; i++) {\n var primaryText = getPrimaryTextByItemIndex(i).trim();\n\n if (!primaryText) {\n continue;\n }\n\n var firstChar = primaryText[0].toLowerCase();\n\n if (!sortedIndexByFirstChar.has(firstChar)) {\n sortedIndexByFirstChar.set(firstChar, []);\n }\n\n sortedIndexByFirstChar.get(firstChar).push({\n text: primaryText.toLowerCase(),\n index: i\n });\n } // Sort the mapping\n // TODO(b/157162694): Investigate replacing forEach with Map.values()\n\n\n sortedIndexByFirstChar.forEach(function (values) {\n values.sort(function (first, second) {\n return first.index - second.index;\n });\n });\n return sortedIndexByFirstChar;\n}\n/**\n * Given the next desired character from the user, it attempts to find the next\n * list option matching the buffer. Wraps around if at the end of options.\n *\n * @param opts Options and accessors\n * - nextChar - the next character to match against items\n * - sortedIndexByFirstChar - output of `initSortedIndex(...)`\n * - focusedItemIndex - the index of the currently focused item\n * - focusItemAtIndex - function that focuses a list item at given index\n * - skipFocus - whether or not to focus the matched item\n * - isItemAtIndexDisabled - function that determines whether an item at a\n * given index is disabled\n * @param state The typeahead state instance. See `initState`.\n *\n * @return The index of the matched item, or -1 if no match.\n */\n\nexport function matchItem(opts, state) {\n var nextChar = opts.nextChar,\n focusItemAtIndex = opts.focusItemAtIndex,\n sortedIndexByFirstChar = opts.sortedIndexByFirstChar,\n focusedItemIndex = opts.focusedItemIndex,\n skipFocus = opts.skipFocus,\n isItemAtIndexDisabled = opts.isItemAtIndexDisabled;\n clearTimeout(state.bufferClearTimeout);\n state.bufferClearTimeout = setTimeout(function () {\n clearBuffer(state);\n }, numbers.TYPEAHEAD_BUFFER_CLEAR_TIMEOUT_MS);\n state.typeaheadBuffer = state.typeaheadBuffer + nextChar;\n var index;\n\n if (state.typeaheadBuffer.length === 1) {\n index = matchFirstChar(sortedIndexByFirstChar, focusedItemIndex, isItemAtIndexDisabled, state);\n } else {\n index = matchAllChars(sortedIndexByFirstChar, isItemAtIndexDisabled, state);\n }\n\n if (index !== -1 && !skipFocus) {\n focusItemAtIndex(index);\n }\n\n return index;\n}\n/**\n * Matches the user's single input character in the buffer to the\n * next option that begins with such character. Wraps around if at\n * end of options. Returns -1 if no match is found.\n */\n\nfunction matchFirstChar(sortedIndexByFirstChar, focusedItemIndex, isItemAtIndexDisabled, state) {\n var firstChar = state.typeaheadBuffer[0];\n var itemsMatchingFirstChar = sortedIndexByFirstChar.get(firstChar);\n\n if (!itemsMatchingFirstChar) {\n return -1;\n } // Has the same firstChar been recently matched?\n // Also, did starting index remain the same between key presses?\n // If both hold true, simply increment index.\n\n\n if (firstChar === state.currentFirstChar && itemsMatchingFirstChar[state.sortedIndexCursor].index === focusedItemIndex) {\n state.sortedIndexCursor = (state.sortedIndexCursor + 1) % itemsMatchingFirstChar.length;\n var newIndex = itemsMatchingFirstChar[state.sortedIndexCursor].index;\n\n if (!isItemAtIndexDisabled(newIndex)) {\n return newIndex;\n }\n } // If we're here, it means one of the following happened:\n // - either firstChar or startingIndex has changed, invalidating the\n // cursor.\n // - The next item of typeahead is disabled, so we have to look further.\n\n\n state.currentFirstChar = firstChar;\n var newCursorPosition = -1;\n var cursorPosition; // Find the first non-disabled item as a fallback.\n\n for (cursorPosition = 0; cursorPosition < itemsMatchingFirstChar.length; cursorPosition++) {\n if (!isItemAtIndexDisabled(itemsMatchingFirstChar[cursorPosition].index)) {\n newCursorPosition = cursorPosition;\n break;\n }\n } // Advance cursor to first item matching the firstChar that is positioned\n // after starting item. Cursor is unchanged from fallback if there's no\n // such item.\n\n\n for (; cursorPosition < itemsMatchingFirstChar.length; cursorPosition++) {\n if (itemsMatchingFirstChar[cursorPosition].index > focusedItemIndex && !isItemAtIndexDisabled(itemsMatchingFirstChar[cursorPosition].index)) {\n newCursorPosition = cursorPosition;\n break;\n }\n }\n\n if (newCursorPosition !== -1) {\n state.sortedIndexCursor = newCursorPosition;\n return itemsMatchingFirstChar[state.sortedIndexCursor].index;\n }\n\n return -1;\n}\n/**\n * Attempts to find the next item that matches all of the typeahead buffer.\n * Wraps around if at end of options. Returns -1 if no match is found.\n */\n\n\nfunction matchAllChars(sortedIndexByFirstChar, isItemAtIndexDisabled, state) {\n var firstChar = state.typeaheadBuffer[0];\n var itemsMatchingFirstChar = sortedIndexByFirstChar.get(firstChar);\n\n if (!itemsMatchingFirstChar) {\n return -1;\n } // Do nothing if text already matches\n\n\n var startingItem = itemsMatchingFirstChar[state.sortedIndexCursor];\n\n if (startingItem.text.lastIndexOf(state.typeaheadBuffer, 0) === 0 && !isItemAtIndexDisabled(startingItem.index)) {\n return startingItem.index;\n } // Find next item that matches completely; if no match, we'll eventually\n // loop around to same position\n\n\n var cursorPosition = (state.sortedIndexCursor + 1) % itemsMatchingFirstChar.length;\n var nextCursorPosition = -1;\n\n while (cursorPosition !== state.sortedIndexCursor) {\n var currentItem = itemsMatchingFirstChar[cursorPosition];\n var matches = currentItem.text.lastIndexOf(state.typeaheadBuffer, 0) === 0;\n var isEnabled = !isItemAtIndexDisabled(currentItem.index);\n\n if (matches && isEnabled) {\n nextCursorPosition = cursorPosition;\n break;\n }\n\n cursorPosition = (cursorPosition + 1) % itemsMatchingFirstChar.length;\n }\n\n if (nextCursorPosition !== -1) {\n state.sortedIndexCursor = nextCursorPosition;\n return itemsMatchingFirstChar[state.sortedIndexCursor].index;\n }\n\n return -1;\n}\n/**\n * Whether or not the given typeahead instaance state is currently typing.\n *\n * @param state The typeahead state instance. See `initState`.\n */\n\n\nexport function isTypingInProgress(state) {\n return state.typeaheadBuffer.length > 0;\n}\n/**\n * Clears the typeahaed buffer so that it resets item matching to the first\n * character.\n *\n * @param state The typeahead state instance. See `initState`.\n */\n\nexport function clearBuffer(state) {\n state.typeaheadBuffer = '';\n}\n/**\n * Given a keydown event, it calculates whether or not to automatically focus a\n * list item depending on what was typed mimicing the typeahead functionality of\n * a standard