{"version":3,"sources":["framework7.js"],"names":["window","Framework7","params","createPageCallback","callbackName","capitalized","replace","match","toUpperCase","app","pageName","callback","onPage","handleInfiniteScroll","virtualList","inf","$","this","scrollTop","scrollHeight","height","offsetHeight","distance","getAttribute","virtualListContainer","find","onTop","hasClass","indexOf","parseInt","trigger","length","eq","f7VirtualList","reachEnd","updatableScroll","_fixIpadBodyScrolLeft","device","ipad","document","body","scrollLeft","setTimeout","version","root","cache","cacheIgnore","cacheIgnoreGetParameters","cacheDuration","preloadPreviousPage","uniqueHistory","uniqueHistoryIgnoreGetParameters","dynamicPageUrl","allowDuplicateUrls","router","routerRemoveTimeout","routerRemoveWithTimeout","pushState","pushStateRoot","undefined","pushStateNoAnimation","pushStateSeparator","pushStateOnLoad","fastClicks","fastClicksDistanceThreshold","fastClicksDelayBetweenClicks","fastClicksExclude","tapHold","tapHoldDelay","tapHoldPreventClicks","activeState","activeStateElements","animateNavBackIcon","swipeBackPage","swipeBackPageThreshold","swipeBackPageActiveArea","swipeBackPageAnimateShadow","swipeBackPageAnimateOpacity","ajaxLinks","externalLinks","sortable","hideNavbarOnPageScroll","hideToolbarOnPageScroll","hideTabbarOnPageScroll","showBarsOnPageScrollEnd","showBarsOnPageScrollTop","swipeout","swipeoutActionsNoFold","swipeoutNoFollow","swipeoutRemoveWithTimeout","smartSelectOpenIn","smartSelectBackText","smartSelectPopupCloseText","smartSelectPickerCloseText","smartSelectSearchbar","smartSelectBackOnSelect","scrollTopOnNavbarClick","scrollTopOnStatusbarClick","swipePanel","swipePanelActiveArea","swipePanelCloseOpposite","swipePanelOnlyClose","swipePanelNoFollow","swipePanelThreshold","panelsCloseByOutside","modalButtonOk","modalButtonCancel","modalUsernamePlaceholder","modalPasswordPlaceholder","modalTitle","modalCloseByOutside","actionsCloseByOutside","popupCloseByOutside","modalPreloaderTitle","modalStack","modalsMoveToRoot","imagesLazyLoadThreshold","imagesLazyLoadSequential","viewClass","viewMainClass","viewsClass","notificationCloseOnClick","notificationCloseIcon","notificationCloseButtonText","animatePages","templates","template7Data","template7Pages","precompileTemplates","material","materialPageLoadDelay","materialPreloaderSvg","materialPreloaderHtml","materialRipple","materialRippleElements","init","param","Dom7","t7","Template7","_compiledTemplates","addClass","touchEvents","start","support","touch","move","end","ls","localStorage","rtl","css","attr","statusbarOverlay","removeClass","ios","cordova","phonegap","on","needsStatusBar","views","View","selector","i","defaults","dynamicNavbar","domCache","linksView","reloadPages","def","view","container","main","contentCache","contextCache","pagesCache","pageElementsCache","f7View","pagesContainer","initialPages","initialPagesUrl","initialNavbars","push","allowPageChange","docLocation","location","href","history","viewURL","split","currentPage","currentPageData","activePage","f7PageData","url","navbarInnerContainer","isScrolling","viewContainerWidth","touchesDiff","touchStartTime","activeNavElements","previousNavElements","activeNavBackIcon","previousNavBackIcon","pageShadow","el","isTouched","isMoved","touchesStart","previousPage","allowViewTouchMove","activeNavbar","previousNavbar","handleTouchStart","e","swipeoutOpenedEl","x","type","targetTouches","pageX","y","pageY","Date","getTime","handleTouchMove","Math","abs","f7PreventSwipeBack","preventSwipeBack","cancel","width","target","parents","is","notFromBorder","offset","left","android","append","closeModal","f7PreventPanelSwipe","preventDefault","inverter","percentage","callbackData","onSwipeBackMove","activePageTranslate","previousPageTranslate","pixelRatio","round","transform","style","opacity","className","activeNavTranslate","f7NavbarRightOffset","previousNavTranslate","f7NavbarLeftOffset","handleTouchEnd","boxShadow","timeDiff","pageChanged","each","translate","sliding","pageBackCallback","pageContainer","position","newPage","oldPage","swipeBack","pageAnimCallback","onSwipeBackBeforeChange","onSwipeBackBeforeReset","transitionEnd","back","afterBack","onSwipeBackAfterChange","onSwipeBackAfterReset","remove","attachEvents","detach","action","passiveListener","passive","capture","detachEvents","name","mainView","load","options","loadPage","loadContent","content","reloadPage","reload","reloadContent","reloadPreviousPage","reloadPrevious","reloadPreviousContent","refreshPage","ignoreCache","refreshPreviousPage","hideNavbar","animated","showNavbar","hideToolbar","showToolbar","pushStateUrl","pushStateUrlSplit","pushStateAnimatePages","historyState","state","destroy","removeAttr","splice","prop","hasOwnProperty","pluginHook","addView","getCurrentView","index","popoverView","popupView","panelView","appViews","appView","children","currentViews","navbarInitCallback","navbarContainer","parent","f7NavbarInitialized","navbarData","innerContainer","pageData","eventData","page","navbar","reinitNavbar","initNavbar","navbarRemoveCallback","initSearchbar","initNavbarWithCallback","viewContainer","pages","sizeNavbars","navbarInner","n","currLeft","diff","right","center","subnavbar","noLeft","noRight","leftWidth","outerWidth","rightWidth","centerWidth","navbarStyles","styles","navbarWidth","offsetWidth","paddingLeft","paddingRight","onLeft","requiredLeft","activeNavbarBackLink","offsetLeft","centerLeft","toolbarContainer","toolbar","Searchbar","preventSubmit","input","clearButton","cancelButton","searchList","searchIn","searchBy","found","notFound","overlay","ignore","customSearch","removeDiacritics","hideDividers","hideGroups","s","active","isVirtualList","cancelMarginProp","cancelButtonHasMargin","setCancelButtonMargin","transition","show","clientLeft","triggerEvent","eventName","enable","_enable","query","disable","_disable","blur","val","clear","previousQuery","value","focus","handleInput","trim","search","internal","_vlQuery","foundItems","resetFilter","hide","searchAll","items","searchByItem","values","toLowerCase","compareWithText","itemText","text","join","wordsMatch","title","nextElements","nextAll","nextEl","group","notHidden","filterItems","method","f7Searchbar","searchbar","onBeforeRemove","sb","dataset","once","Messagebar","textarea","maxHeight","m","pageContent","pageContentPadding","initialBarHeight","initialAreaHeight","sizeTextarea","clientHeight","newAreaHeight","newBarHeight","maxBarHeight","onBottom","bottom","padding-bottom","textareaTimeout","handleTextarea","clearTimeout","f7Messagebar","messagebar","initPageMessagebar","pageBeforeRemove","mb","off","removeFromCache","xhr","get","_url","time","ajax","beforeSend","onAjaxStart","complete","status","responseText","onAjaxComplete","error","onAjaxError","pageCallbacks","pageNames","returnCallbacks","callbacks","removeIndex","toString","pageCallbacksNames","triggerPageCallbacks","allPagesCallbacks","j","pageInitCallback","f7PageInitialized","pageQuery","parseUrlQuery","from","context","fromPage","oldNavbarInnerContainer","reinitPage","onPageReinit","preloadOnly","onPageBeforeInit","initPage","onPageInit","pageRemoveCallback","pageContext","onPageBeforeRemove","onPageAfterBack","onPageBack","onPageAfterAnimation","tabBar","onPageBeforeAnimation","initPageMessages","initFormsStorage","initSmartSelects","initPageSwiper","initPullToRefresh","initPageInfiniteScroll","initPageScrollToolbars","initImagesLazyLoad","initPageProgressbar","initPageResizableTextarea","initPageMaterialPreloader","initPageMaterialInputs","initPageMaterialTabbar","reinitPageSwiper","reinitLazyLoad","initPageWithCallback","_remove","_modalsSelector","temporaryDom","createElement","findElement","notCached","filter","leftPage","rightPage","direction","removeClasses","prepareNavbar","newNavbarInner","oldNavbarInner","newNavbarPosition","slidingOffset","animateNavbars","leftNavbarInner","rightNavbarInner","rightText","preprocess","next","pluginProcess","preroute","isBack","template7Render","t7_ctx","t7_template","t7_rendered_content","contextName","template","template7Cache","compile","_ctx_path","_ctx","data","pageNameMatch","templateName","url_query","key","console","_load","afterAnimation","pushStateClearQueue","historyBecameUnique","pagesInView","reloadPosition","t7_rendered","isDynamicPage","pageElement","innerHTML","ci","prependTo","f7RelatedNavbar","f7RelatedPage","newPageName","viewIndex","lastUrl","_history","lastIndexOf","slice","prev","insertBefore","insertAfter","animationEnd","proceed","abort","_back","animateBack","parseNewPage","setPages","navbarInners","force","pageToRemove","navbarToRemove","removeNavbar","unshift","manipulateDom","prepend","newNavbar","previousURL","pop","inners","oldNavbar","pageUrl","preloadUrl","_modalTemplateTempDiv","modalStackClearQueue","shift","modal","modalHTML","modalTemplate","buttonsHTML","buttons","bold","titleHTML","textHTML","afterTextHTML","afterText","noButtons","verticalButtons","modalButtonsHTML","cssClass","close","onClick","openModal","alert","callbackOk","arguments","confirm","callbackCancel","prompt","modalLogin","username","password","modalPassword","showPreloader","hidePreloader","showIndicator","hideIndicator","actions","groupSelector","buttonSelector","toPopover","isArray","actionsToPopoverTemplate","modalActionsToPopoverTemplate","actionsToPopover","popoverHTML","popover","modalActionsTemplate","button","buttonClass","label","color","bg","disabled","groups","groupIndex","clickTarget","buttonIndex","buttonParams","removeOnClose","sizePopover","top","modalAngle","modalAngleLeft","modalAngleTop","modalWidth","modalHeight","modalAngleSize","targetWidth","targetHeight","outerHeight","targetOffset","targetParentPage","windowHeight","windowWidth","modalTop","modalLeft","modalPosition","diffX","diffY","max","min","_modal","childNodes","classList","add","popup","pickerModal","loginScreen","isModal","isPopover","isPopup","isLoginScreen","isPickerModal","isActions","modalType","modalParent","removeData","marginTop","keepOnClose","setProgressbar","progress","speed","progressbar","showProgressbar","parseFloat","hideProgressbar","p","allowPanelOpen","openPanel","panelPosition","panelTransitionEnd","transitionEndTarget","panel","display","closePanel","effect","activePanel","initSwipePanels","nodeName","closest","side","opened","innerWidth","panelOverlay","panelWidth","threshold","overlayOpacity","edge","loadImage","onLoad","src","imageIsLoading","imagesSequence","onError","placeholderSrc","image","Image","onload","onerror","lazyHandler","lazyLoadImages","isElementInViewport","rect","getBoundingClientRect","innerHeight","imagesLazyLoadPlaceholder","f7DestroyImagesLazyLoad","destroyImagesLazyLoad","reinitImagesLazyLoad","html","Messages","autoLayout","newMessagesFirst","scrollMessages","scrollMessagesOnlyOnEdge","messageTemplate","layout","message","onlyPic","nodeType","textContent","isSent","appendMessage","props","animate","addMessage","prependMessage","addMessages","newMessages","newMessagesHTML","hasImage","onlyImage","scrollHeightBefore","heightBefore","scrollBefore","onEdge","messages","messagesToReturn","removeMessage","removeMessages","clean","duration","newScroll","currentScroll","f7Messages","allowSwipeout","initSwipeout","swipeoutEl","swipeOutEl","swipeOutContent","actionsRight","actionsLeft","actionsLeftWidth","actionsRightWidth","buttonsLeft","buttonsRight","overswipeRightButton","overswipeLeftButton","noFoldLeft","noFoldRight","openedActions","buttonOffset","swipeoutClose","swipeoutOpen","overswipeLeft","overswipeRight","$button","pow","_buttonOffset","actionsWidth","newTranslate","click","closed","dir","swipeOutActions","swipeOutActionsWidth","call","onSwipeoutClose","closeTO","swipeoutDelete","virtualIndex","f7VirtualListIndex","deleteItem","sortableToggle","sortableContainer","toggleClass","sortableOpen","sortableClose","initSortable","touchStartY","sortingEl","startIndex","sortingItems","minTop","offsetTop","maxTop","sortingElHeight","currentEl","currentElOffset","currentElHeight","sortingElOffset","oldIndex","newIndex","moveItem","selects","smartSelect","$select","select","displayAs","valueText","selected","itemAfter","selectedText","smartSelectAddOption","option","selectName","smartSelectOpen","reLayout","scrollToInput","newPaddingBottom","paddingTop","paddingBottom","pageHeight","picker","pageScrollHeight","inputTop","closeOnHTMLClick","checkMaxLength","selectedOptions","maxLength","checked","handleInputs","virtualListInstance","smartSelectItemTemplate","virtualListHeight","item","openIn","backOnSelect","inputName","optionText","inputType","pageInit","detail","f7SmartSelectPicker","closeText","smartSelectData","pageTitle","backText","pickerCloseText","popupCloseText","formTheme","smartSelectFormTheme","navbarTheme","smartSelectNavbarTheme","toolbarTheme","smartSelectToolbarTheme","pickerHeight","smartSelectPickerHeight","$selectData","optionHasMedia","optionImage","optionIcon","optionGroup","optionGroupLabel","optionIsLabel","previousGroup","optionColor","optionClassName","optionData","id","multiple","optionClass","groupLabel","isLabel","icon","hasMedia","checkbox","smartSelectItem","inputsHTML","navbarHTML","navbarLayout","toolbarHTML","noNavbar","noToolbar","noTabbar","smartSelectToolbar","smartSelectToolbarTemplate","inPicker","smartSelectNavbar","smartSelectNavbarTemplate","inPopup","inPage","leftTemplate","smartSelectPopupCloseTemplate","smartSelectBackTemplate","searchbarPlaceholder","searchbarCancel","useSearchbar","searchbarHTML","pageHTML","VirtualList","listBlock","cols","dynamicHeightBufferSize","showFilteredItemsOnly","vl","filteredItems","renderItem","osVersion","ul","displayDomCache","tempDomElement","lastRepaintY","fragment","createDocumentFragment","indexes","resetScrollTop","update","rowsPerScreen","rowsBefore","rowsAfter","rowsToRender","listHeight","maxBufferHeight","dynamicHeight","setListSize","heights","itemHeight","ceil","render","forceScrollTop","fromIndex","toIndex","heightBeforeFirstItem","heightBeforeLastItem","itemTop","topPosition","currentFromIndex","currentToIndex","onItemBeforeInsert","appendChild","onBeforeClear","onItemsBeforeInsert","emptyTemplate","onItemsAfterInsert","scrollToItem","listTop","handleScroll","_isVisible","getClientRects","handleResize","appendItems","appendItem","replaceAllItems","replaceItem","prependItems","newCache","cached","prependItem","cachedIndex","leftIndex","rightIndex","indexShift","insertItemBefore","deleteItems","prevIndex","deletedItem","deleteAllItems","clearCache","reinitVirtualList","vlists","vlistInstance","os","pullStarted","wasScrolled","touchId","identifier","touches","dynamicTriggerDistance","triggerDistance","startTranslate","useTranslate","refresh","event","changedTouches","done","pullToRefreshDone","destroyPullToRefresh","eventsTarget","hasNavbar","f7DestroyPullToRefresh","pullToRefreshTrigger","pullToRefreshContent","attachInfiniteScroll","infiniteContent","detachInfiniteScroll","scrollContent","bottomBarHeight","navbarHidden","toolbarHidden","tabbarHidden","tabbar","previousScroll","hasToolbar","hasTabbar","hideTabbar","toolbarHeight","tabbarHeight","f7ScrollToolbarsHandler","destroyScrollToolbars","handler","materialTabbarSetHighlight","activeLink","tabLinkWidth","highlightTranslate","tabbarSetHighlight","initMaterialTabbar","showTab","tab","tabLink","newTab","tabs","isAnimatedTabs","tabTranslate","swiper","isSwipeableTabs","activeIndex","slideTo","oldTab","oldTabLink","oldTabId","accordionToggle","accordionClose","accordionOpen","list","expandedItem","initFastClicks","findActivableElement","activable","isInsideScrollableView","activeTimeout","rippleTimeout","addActive","activableElement","removeActive","isFormElement","nodes","androidNeedsBlur","noBlur","activeElement","targetNeedsFastClick","$el","targetNeedsFocus","tag","skipInputs","readOnly","targetNeedsPrevent","prevent","handleMouseDown","which","touchStartX","rippleTouchStart","handleMouseMove","rippleTouchMove","handleMouseUp","rippleTouchEnd","findRippleElement","needsRipple","rippleParent","createRipple","box","diameter","rippleWave","rippleTransform","removeRipple","toRemove","removeTimeout","rippleTarget","sendClick","evt","createEvent","eventType","targetElement","initMouseEvent","screenX","screenY","clientX","clientY","forwardedTouchEvent","dispatchEvent","tapHoldFired","tapHoldTimeout","needsFastClickTimeOut","needsFastClick","trackClick","selection","getSelection","rangeCount","focusNode","isCollapsed","activeSelection","scrollParent","f7ScrollTop","timeStamp","lastClickTime","_isMoved","cancelable","webView","handleTouchCancel","handleClick","allowClick","stopImmediatePropagation","stopPropagation","androidChrome","addEventListener","initClickEvents","handleScrollTop","clicked","isLink","handleClicks","open","clickedData","pickerToClose","pickerToOpen","isTabLink","confirmTitle","closeOnCancel","accordionItem","validUrl","JSON","parse","preventScrolling","initResize","resize","orientationchange","minimalUi","orientation","formsData","formStoreData","formId","formJSON","stringify","formDeleteData","removeItem","formGetData","formToData","form","formData","skipTypes","skipNames","formToJSON","formFromData","formFromJSON","storeForm","forms","contentType","FormData","serializeObject","success","resizeTextarea","resizableTextarea","f7DestroyResizableTextarea","destroyResizableTextarea","textareas","itemInput","notInputs","initMaterialWatchInputs","addFocusState","els","removeFocusState","watchChangeState","pushStateQueue","queue","stateUrl","stateContent","statePageName","initPushState","handlePopState","blockPopstate","readyState","Swiper","destroySwiperOnRemove","slider","destroySwiper","swipers","initialSlide","onSlideChangeStart","slides","_slider","sliders","sliderInstance","PhotoBrowser","pb","photos","spaceBetween","zoom","zoomMax","zoomMin","exposition","expositionHideCaptions","theme","swipeToClose","backLinkText","ofText","loop","lazyLoading","lazyLoadingInPrevNext","lazyLoadingOnTransitionStart","maxZoom","minZoom","iconsColorClass","iconsColor","preloaderColorClass","photoTemplate","photoLazyTemplate","lazyPhotoTemplate","objectTemplate","captionTemplate","navbarTemplate","toolbarTemplate","htmlTemplate","openIndex","onPopupClose","onOpen","swiperContainer","onClose","swiperWrapper","onSliderTransitionStart","current","total","loopedSlides","isBeginning","isEnd","captions","captionsContainer","captionIndex","previousSlideVideo","previousIndex","pause","onTransitionStart","onSliderTransitionEnd","onTransitionEnd","sliderSettings","nextButton","prevButton","indexButton","preloadImages","onTap","toggleExposition","onDoubleTap","onSlideChangeEnd","onLazyImageLoad","slide","img","onLazyImageReady","onTouchStart","swipeCloseTouchStart","onTouchMoveOpposite","swipeCloseTouchMove","onTouchEnd","swipeCloseTouchEnd","exposed","enableExposition","disableExposition","swipeToCloseDiff","swipeToCloseStart","swipeToCloseCurrent","swipeToCloseActiveSlide","swipeToCloseTimeStart","swipeToCloseIsTouched","allowSwipeToClose","swipeToCloseStarted","onSwipeToClose","photoBrowser","Autocomplete","handleInputValue","a","source","itemsHTML","limit","regExp","highlightMatches","RegExp","itemValue","valueProperty","textProperty","dropdownItemTemplate","dropdownPlaceholderText","dropdownPlaceholderTemplate","dropdown","handleDropdownClick","clickedItem","updateInputValueOnSelect","onChange","searchbarPlaceholderText","searchbarCancelText","notFoundText","requestSourceOnOpen","expandInput","preloaderColor","preloader","opener","itemTemplate","dropdownTemplate","positionDropDown","listBlockOffsetLeft","inputOffsetLeft","inputOffsetTop","onSource","aValue","updateValues","valuesHTML","onSearch","isValues","initEvents","autocomplete","Picker","convertToPopover","onlyInPopover","inline","inPopover","resizeCols","divider","calcSize","setValue","openOnInput","onPickerClose","destroyPickerCol","updateValuesOnMomentum","updateValuesOnTouchmove","rotateEffect","momentumRatio","freeMode","closeByOutsideClick","inputReadOnly","toolbarCloseText","initialized","originBug","navigator","userAgent","arrValues","valueIndex","updateValue","forceValues","newValue","newDisplayValue","displayValues","displayValue","formatValue","initPickerCol","colElement","updateItems","updateDuringScroll","animationFrameId","requestAnimationFrame","col","touchCurrentY","allowItemClick","currentTranslate","getTranslate","wrapper","cancelAnimationFrame","returnTo","minTranslate","maxTranslate","velocityTranslate","prevTranslate","velocityTime","touchEndTime","velocity","floor","colContainer","colIndex","wrapperHeight","itemsHeight","replaceValues","destroyEvents","newItemsHTML","columnHTML","colWidth","colHeight","valueCallbacks","newActiveIndex","previousActiveIndex","selectedItem","itemOffsetTop","translateOffset","itemOffset","itemsFit","angle","f7DestroyPickerCol","onlyItems","columnItemsHTML","textAlign","pickerHTML","pickerClass","colsHTML","f7Picker","Calendar","formatDate","date","year","getFullYear","month","getMonth","month1","day","getDate","weekDay","getDay","dateFormat","substring","monthNames","monthNamesShort","dayNames","dayNamesShort","destroyCalendarEvents","firstDay","weekendDays","rangePicker","minDate","maxDate","events","rangesClasses","touchMove","closeOnSelect","monthPicker","monthPickerTemplate","yearPicker","yearPickerTemplate","weekHeader","headerPlaceholder","header","footer","headerTemplate","footerTemplate","isH","animating","addValue","inValuesIndex","sort","b","onlyHeader","inputValue","valueDate","initCalendarEvents","monthsTranslate","touchCurrentX","wrapperWidth","resetMonth","nextMonth","prevMonth","handleDayClick","dateYear","dateMonth","dateDay","onDayClick","prevYear","nextYear","f7DestroyCalendarEvents","dateInRange","dayDate","range","to","daysInMonth","d","monthHTML","daysInPrevMonth","firstDayOfMonthIndex","k","hasEvent","currentValues","rows","dayIndex","today","setHours","rowHTML","dayNumber","weekDayIndex","dayYear","dayMonth","updateCurrentMonthYear","currentMonth","months","currentYear","onMonthChangeStart","currentIndex","onMonthYearChangeStart","onMonthChangeEnd","rebuildBoth","nextMonthHTML","prevMonthHTML","newMonthHTML","setMonthsTranslate","onMonthAdd","onMonthYearChangeEnd","prevMonthTranslate","currentMonthTranslate","nextMonthTranslate","nextDate","nextDateTime","transitionEndCallback","prevDate","prevDateTime","setYearMonth","targetDate","currentDate","monthTranslate","wrapperTranslate","layoutDate","currentMonthHTML","monthsHTML","weekHeaderHTML","dayName","headerHTML","footerHTML","f7Calendar","calendar","_tempNotificationElement","addNotification","media","notificationMedia","notificationTitle","subtitle","notificationSubtitle","closeIcon","hold","notificationHold","closeOnClick","notificationTemplate","notification","closeNotification","additionalClass","marginBottom","initTemplate7Templates","_plugins","initPlugins","plugin","plugins","hook","hooks","pluginPrevent","prevents","process","processed","getDeviceInfo","onAppInit","arr","_this","tempParent","toCreate","querySelectorAll","getElementById","prototype","classes","contains","toggle","attrs","setAttribute","attrName","removeAttribute","propName","dom7ElementDataStorage","dataKey","attributes","toCamelCase","elStyle","webkitTransform","webkitTransitionDuration","transitionDuration","targetSelector","listener","handleLiveEvent","dom7LiveListeners","liveListener","removeEventListener","proxy","dom","CustomEvent","bubbles","initEvent","fireCallBack","includeMargins","getPropertyValue","clientTop","pageYOffset","pageXOffset","getComputedStyle","matchedItems","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","returnIndex","newChild","tempDiv","firstChild","appendTo","before","parentNode","cloneNode","after","nextSibling","nextElementSibling","nextEls","previousElementSibling","prevAll","prevEls","siblings","unique","foundElements","removeChild","toAdd","empty","createMethod","notTrigger","shortcuts","globalAjaxOptions","ajaxSetup","optionName","optionValue","_jsonpRequests","fireAjaxCallback","async","user","headers","xhrFields","statusCode","processData","dataType","timeout","globalOptionName","globalOptionValue","defaultValue","paramsPrefix","_method","stringData","abortTimeout","now","callbackSplit","requestUrl","addVars","script","scripterror","querySelector","XMLHttpRequest","requestParameters","postData","postDataInstances","ArrayBuffer","Blob","Document","constructor","boundary","setRequestHeader","_data","_newData","headerName","headerCallback","crossDomain","test","$2","host","fieldName","fieldValue","xhrTimeout","responseData","err","parseerror","responseType","response","onabort","send","methods","decodeURIComponent","Object","apply","obj","var_name","_parents","encodeURIComponent","var_value","resultArray","separator","newParents","toPush","string","group1","axis","matrix","curTransform","curStyle","transformMatrix","WebKitCSSMatrix","map","m41","m42","webkitRequestAnimationFrame","webkitCancelAnimationFrame","supportTouch","DocumentTouch","defaultDiacriticsRemovalap","base","letters","diacriticsMap","str","fn","scrollTo","easing","startTime","easeProgress","cos","PI","animateTop","currentTop","newTop","animateLeft","currentLeft","newLeft","maxLeft","scrollWidth","Animate7","elements","easingProgress","stop","frameId","animate7Instance","que","began","begin","_elements","currentValue","initialValue","finalValue","_container","unit","propsDone","keys","elementsDone","initialFullValue","finalFullValue","foundInstance","supportsPassive","opts","defineProperty","ua","ipod","iphone","osVersionArr","screen","statusBar","classNames","devicePixelRatio","major","isFunction","func","_escape","escape","helperToSlices","shiftIndex","helperParts","slices","blockQuoteRegExp","openingQuote","part","quoteDoubleRexExp","quoteSingleRexExp","hashParts","hashName","hashContent","hash","stringToBlocks","blocks","_blocks","block","helperSlices","helperName","isPartial","helperContext","helperHash","helperContent","elseContent","toSkip","foundClosed","foundElse","depth","inverseContent","getCompileFn","getCompileInverse","getCompileVar","ctx","variable","parts","levelsUp","newDepth","isFinite","getCompiledArguments","contextArray","t","Error","resultString","compiledArguments","helpers","eval","compiled","partials","_partial","partialName","if","inverse","unless","ret","reverse","first","last","with","delimiter","delimeter","js","expression","js_compare","condition","instance","rendered","registerHelper","unregisterHelper","registerPartial","unregisterPartial","autoplay","autoplayDelay","activeSlide","autoplayTimeoutId","fixLoop","_slideNext","emit","autoplayStopOnLast","stopAutoplay","_slideTo","findElementInEvent","_el","initObserver","ObserverFunc","MutationObserver","WebkitMutationObserver","observer","mutations","forEach","mutation","onResize","observe","childList","characterData","observers","setParallaxTransform","pX","pY","rtlFactor","isHorizontal","normalizeEventName","touchEventsTarget","autoplayDisableOnInteraction","iOSEdgeSwipeDetection","iOSEdgeSwipeThreshold","freeModeMomentum","freeModeMomentumRatio","freeModeMomentumBounce","freeModeMomentumBounceRatio","freeModeMomentumVelocityRatio","freeModeSticky","freeModeMinimumVelocity","autoHeight","setWrapperSize","virtualTranslate","coverflow","rotate","stretch","modifier","slideShadows","flip","limitRotation","cube","shadow","shadowOffset","shadowScale","fade","crossFade","parallax","zoomToggle","scrollbar","scrollbarHide","scrollbarDraggable","scrollbarSnapOnRelease","keyboardControl","mousewheelControl","mousewheelReleaseOnEdges","mousewheelInvert","mousewheelForceToAxis","mousewheelSensitivity","mousewheelEventsTarged","hashnav","hashnavWatchState","replaceState","breakpoints","slidesPerView","slidesPerColumn","slidesPerColumnFill","slidesPerGroup","centeredSlides","slidesOffsetBefore","slidesOffsetAfter","roundLengths","touchRatio","touchAngle","simulateTouch","shortSwipes","longSwipes","longSwipesRatio","longSwipesMs","followFinger","onlyExternal","touchMoveStopPropagation","touchReleaseOnEdges","uniqueNavElements","pagination","paginationElement","paginationClickable","paginationHide","paginationBulletRender","paginationProgressRender","paginationFractionRender","paginationCustomRender","paginationType","resistance","resistanceRatio","watchSlidesProgress","watchSlidesVisibility","grabCursor","preventClicks","preventClicksPropagation","slideToClickedSlide","lazyLoadingInPrevNextAmount","updateOnImagesReady","loopAdditionalSlides","control","controlInverse","controlBy","normalizeSlideIndex","allowSwipeToPrev","allowSwipeToNext","swipeHandler","noSwiping","noSwipingClass","passiveListeners","containerModifierClass","slideClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","bulletClass","bulletActiveClass","buttonDisabledClass","paginationCurrentClass","paginationTotalClass","paginationHiddenClass","paginationProgressbarClass","paginationClickableClass","paginationModifierClass","lazyLoadingClass","lazyStatusLoadingClass","lazyStatusLoadedClass","lazyPreloaderClass","notificationClass","preloaderClass","zoomContainerClass","observeParents","a11y","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","paginationBulletMessage","runCallbacksOnInit","initialVirtualTranslate","originalParams","jQuery","deepParam","deepDef","Zepto","currentBreakpoint","getActiveBreakpoint","point","breakpoint","points","setBreakpoint","breakPointsParams","needsReLoop","destroyLoop","reLoop","flexbox","transforms3d","paginationContainer","wrongRTL","lockSwipeToNext","unsetGrabCursor","lockSwipeToPrev","lockSwipes","unlockSwipeToNext","setGrabCursor","unlockSwipeToPrev","unlockSwipes","moving","cursor","imagesToLoad","imagesLoaded","imgElement","srcset","sizes","checkForComplete","onReady","_onReady","currentSrc","autoplaying","autoplayPaused","startAutoplay","pauseAutoplay","snapGrid","updateAutoHeight","activeSlides","newHeight","updateContainerSize","clientWidth","size","updateSlidesSize","slidesGrid","slidesSizesGrid","slidePosition","prevSlideSize","virtualSize","marginLeft","marginRight","slidesNumberEvenToRows","slideSize","slidesPerRow","numFullColumns","newSlideOrderIndex","column","row","-webkit-box-ordinal-group","-moz-box-ordinal-group","-ms-flex-order","-webkit-order","order","swiperSlideSize","newSlidesGrid","updateSlidesOffset","swiperSlideOffset","currentSlidesPerView","spv","breakLoop","updateSlidesProgress","offsetCenter","slideProgress","slideBefore","slideAfter","isVisible","updateProgress","translatesDiff","wasBeginning","wasEnd","updateActiveIndex","snapIndex","updateClasses","updateRealIndex","realIndex","nextSlide","prevSlide","bullets","scale","scaleX","scaleY","updatePagination","paginationHTML","numberOfBullets","initPagination","updateTranslate","forceSetTranslate","setWrapperTranslate","set","translated","controller","spline","forceUpdatePagination","slideChangedBySlideTo","lazy","touchEventsDesktop","pointerEnabled","msPointerEnabled","actionDom","moveCapture","nested","browser","ie","onTouchMove","onClickNext","onEnterKey","onClickPrev","onClickIndex","slideNext","slidePrev","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToIndex","allowTouchCallbacks","allowThresholdMove","clickTimeout","allowMomentumBounce","formElements","velocities","startX","startY","currentX","currentY","isTouchEvent","startMoving","originalEvent","swipeDirection","preventedByNestedSwiper","atan2","ieTouch","getWrapperTranslate","setWrapperTransition","disableParentSwiper","currentPos","lastMoveEvent","velocityEvent","momentumDuration","momentumDistance","newPosition","afterBouncePosition","doBounce","bounceAmount","slideReset","stopIndex","groupSize","ratio","slideIndex","runCallbacks","lteIE9","setHistory","setHash","_slidePrev","disableTouchControl","enableTouchControl","byController","effects","setTransition","z","setTranslate","MozTransform","OTransform","MsTransform","msTransform","initObservers","containerParents","disconnectObservers","disconnect","createLoop","prependSlides","appendSlides","updatePosition","appendSlide","prependSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","tx","ty","slideOpacity","eventTriggered","triggerEvents","rotateY","rotateX","zIndex","shadowBefore","shadowAfter","cubeShadow","wrapperRotate","slideAngle","tz","-webkit-transform-origin","-moz-transform-origin","-ms-transform-origin","transform-origin","shadowAngle","multiplier","sin","scale1","scale2","zFactor","isSafari","isUiWebView","slideOffset","offsetMultiplier","translateZ","translateY","translateX","slideTransform","ws","perspectiveOrigin","initialImageLoaded","loadImageInSlide","loadInDuplicate","_img","background","slideOriginalIndex","originalSlide","duplicatedSlide","amount","maxIndex","minIndex","setDragPosition","pointerPosition","track","dragSize","positionMin","moveDivider","positionMax","dragStart","dragTimeout","drag","dragMove","returnValue","dragEnd","draggableEvents","enableDraggable","disableDraggable","trackSize","newPos","newSize","LinearSpline","lastIndex","i1","i3","interpolate","x2","binarySearch","guess","array","getInterpolateFunction","c","setControlledTranslate","controlledTranslate","controlled","setControlledTransition","parallaxDuration","currentScale","isScaling","gesture","slideWidth","slideHeight","imageWrap","minX","minY","maxX","maxY","touchesCurrent","prevPositionX","prevPositionY","prevTime","getDistanceBetweenTouches","x1","y1","y2","sqrt","onGestureStart","gestures","scaleStart","onGestureChange","scaleMove","onGestureEnd","scaledWidth","scaledHeight","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","toggleZoom","touchX","touchY","offsetX","offsetY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","callPlugins","emitterEventListeners","_handler","makeFocusable","addRole","role","addLabel","keyCode","notify","liveRegion","bullet","enableKeyboardControl","enableMousewheelControl","hashnavReplaceState","cleanupStyles","deleteInstance","disableKeyboardControl","disableMousewheelControl","setHistoryPopState","msMaxTouchPoints","maxTouchPoints","div","getElementsByTagName","Modernizr","csstransforms3d"],"mappings":";;;;;;;;;;;;;;CAcA,WAEI,YAIAA,QAAOC,WAAa,SAAUC,GA4pD1B,QAASC,GAAmBC,GACxB,GAAIC,GAAcD,EAAaE,QAAQ,KAAM,SAAUC,GACnD,MAAOA,GAAMC,eAEjBC,GAAI,SAAWJ,GAAe,SAAUK,EAAUC,GAC9C,MAAOF,GAAIG,OAAOR,EAAcM,EAAUC,IA42JlD,QAASE,KAEL,GAMIC,GANAC,EAAMC,EAAEC,MACRC,EAAYH,EAAI,GAAGG,UACnBC,EAAeJ,EAAI,GAAGI,aACtBC,EAASL,EAAI,GAAGM,aAChBC,EAAWP,EAAI,GAAGQ,aAAa,iBAC/BC,EAAuBT,EAAIU,KAAK,iBAEhCC,EAAQX,EAAIY,SAAS,sBAMzB,IALKL,IAAUA,EAAW,IACF,gBAAbA,IAAyBA,EAASM,QAAQ,MAAQ,IACzDN,EAAWO,SAASP,EAAU,IAAM,IAAMF,GAE1CE,EAAWF,IAAQE,EAAWF,GAC9BM,EACIR,EAAYI,GACZP,EAAIe,QAAQ,gBAIhB,IAAIZ,EAAYE,GAAUD,EAAeG,EAAU,CAC/C,GAAIE,EAAqBO,OAAS,IAC9BjB,EAAcU,EAAqBQ,IAAG,GAAI,GAAGC,cACzCnB,IAAgBA,EAAYoB,WAAapB,EAAYZ,OAAOiC,iBAC5D,MAGRpB,GAAIe,QAAQ,aAytCxB,QAASM,KACD3B,EAAI4B,OAAOC,OACXC,SAASC,KAAKC,WAAa,EAC3BC,WAAW,WACPH,SAASC,KAAKC,WAAa,GAC5B,IArwPX,GAAIhC,GAAMQ,IAGVR,GAAIkC,QAAU,QAGdlC,EAAIP,QAEA0C,KAAM,OAENC,OAAO,EACPC,eACAC,0BAA0B,EAC1BC,cAAe,IACfC,qBAAqB,EACrBC,eAAe,EACfC,kCAAkC,EAClCC,eAAgB,oBAChBC,oBAAoB,EACpBC,QAAQ,EACRC,qBAAqB,EACrBC,yBAAyB,EAEzBC,WAAW,EACXC,cAAeC,OACfC,sBAAsB,EACtBC,mBAAoB,MACpBC,iBAAiB,EAEjBC,YAAY,EACZC,4BAA6B,GAC7BC,6BAA8B,GAC9BC,kBAAmB,GAEnBC,SAAS,EACTC,aAAc,IACdC,sBAAsB,EAEtBC,aAAa,EACbC,oBAAqB,yBAErBC,oBAAoB,EAEpBC,eAAe,EACfC,uBAAwB,EACxBC,wBAAyB,GACzBC,4BAA4B,EAC5BC,6BAA6B,EAE7BC,UAAWnB,OAEXoB,cAAe,YAEfC,UAAU,EAEVC,wBAAwB,EACxBC,yBAAyB,EACzBC,wBAAwB,EACxBC,yBAAyB,EACzBC,yBAAyB,EAEzBC,UAAU,EACVC,uBAAuB,EACvBC,kBAAkB,EAClBC,2BAA2B,EAE3BC,kBAAmB,OACnBC,oBAAqB,OACrBC,0BAA2B,QAC3BC,2BAA4B,OAC5BC,sBAAsB,EACtBC,yBAAyB,EAEzBC,wBAAwB,EACxBC,2BAA2B,EAE3BC,YAAY,EACZC,qBAAsB,EACtBC,yBAAyB,EACzBC,qBAAqB,EACrBC,oBAAoB,EACpBC,oBAAqB,EACrBC,sBAAsB,EAEtBC,cAAe,KACfC,kBAAmB,SACnBC,yBAA0B,WAC1BC,yBAA0B,WAC1BC,WAAY,aACZC,qBAAqB,EACrBC,uBAAuB,EACvBC,qBAAqB,EACrBC,oBAAqB,cACrBC,YAAY,EACZC,kBAAkB,EAElBC,wBAAyB,EACzBC,0BAA0B,EAE1BC,UAAW,OACXC,cAAe,YACfC,WAAY,QAEZC,0BAA0B,EAC1BC,uBAAuB,EACvBC,4BAA6B,QAE7BC,cAAc,EAEdC,aACAC,iBACAC,gBAAgB,EAChBC,qBAAqB,EAErBC,UAAU,EACVC,sBAAuB,EACvBC,qBAAsB,mJACtBC,sBACI,wQASJC,gBAAgB,EAChBC,uBAAwB,2MAExBC,MAAM,EAIV,KAAK,GAAIC,KAAStI,GACdO,EAAIP,OAAOsI,GAAStI,EAAOsI,EAI/B,IAAIxH,GAAIyH,EAGJC,EAAKC,SACTlI,GAAImI,sBAGJnI,EAAImC,KAAO5B,EAAEP,EAAIP,OAAO0C,MACxBnC,EAAImC,KAAKZ,GAAG,GAAG6G,SAAS,mBAGxBpI,EAAIqI,aACAC,MAAOtI,EAAIuI,QAAQC,MAAQ,aAAe,YAC1CC,KAAMzI,EAAIuI,QAAQC,MAAQ,YAAc,YACxCE,IAAK1I,EAAIuI,QAAQC,MAAQ,WAAa,WAI1CxI,EAAI2I,GAAKpJ,OAAOqJ,aAGhB5I,EAAI6I,IAAqC,QAA/BtI,EAAE,QAAQuI,IAAI,aACpB9I,EAAI6I,KAAKtI,EAAE,QAAQwI,KAAK,MAAO,OAGQ,mBAAhC/I,GAAIP,OAAOuJ,iBACdhJ,EAAIP,OAAOuJ,iBAAkBzI,EAAE,QAAQ6H,SAAS,0BAC/C7H,EAAE,QAAQ0I,YAAY,0BAEtBjJ,EAAI4B,OAAOsH,MAAQ3J,OAAO4J,SAAW5J,OAAO6J,WACjD7I,EAAEuB,UAAUuH,GAAG,SAAU,WACjBrJ,EAAI4B,OAAO0H,kBACX/I,EAAE,QAAQ6H,SAAS,4BAExB,GAOPpI,EAAIuJ,QACJ,IAAIC,GAAO,SAAUC,EAAUhK,GAC3B,GAgBIiK,GAhBAC,GACAC,eAAe,EACfC,UAAU,EACVC,UAAW5G,OACX6G,aAAa,EACbtH,cAAezC,EAAIP,OAAOgD,cAC1BC,iCAAkC1C,EAAIP,OAAOiD,iCAC7CE,mBAAoB5C,EAAIP,OAAOmD,mBAC/BoB,cAAehE,EAAIP,OAAOuE,cAC1BG,2BAA4BnE,EAAIP,OAAO0E,2BACvCC,4BAA6BpE,EAAIP,OAAO2E,4BACxCF,wBAAyBlE,EAAIP,OAAOyE,wBACpCD,uBAAwBjE,EAAIP,OAAOwE,uBACnCkD,aAAcnH,EAAIP,OAAO0H,aACzB3E,oBAAqBxC,EAAIP,OAAO+C,oBAKpC/C,GAASA,MAGLA,EAAOmK,eAAiB5J,EAAIP,OAAO+H,WAAU/H,EAAOmK,eAAgB,EAGxE,KAAK,GAAII,KAAOL,GACe,mBAAhBlK,GAAOuK,KACdvK,EAAOuK,GAAOL,EAASK,GAI/B,IAAIC,GAAOzJ,IACXyJ,GAAKxK,OAASA,EAGdwK,EAAKR,SAAWA,CAGhB,IAAIS,GAAY3J,EAAEkJ,EAgClB,IA/BAQ,EAAKC,UAAYA,EAAU,GAIH,gBAAbT,KAEPA,GAAYS,EAAUnB,KAAK,MAAQ,IAAMmB,EAAUnB,KAAK,MAAQ,KAAOmB,EAAUnB,KAAK,SAAW,IAAMmB,EAAUnB,KAAK,SAASlJ,QAAQ,KAAM,KAAKA,QAAQ,UAAW,IAAM,IAC3KoK,EAAKR,SAAWA,GAIpBQ,EAAKE,KAAOD,EAAUhJ,SAASlB,EAAIP,OAAOqH,eAG1CmD,EAAKG,gBAGLH,EAAKI,gBAGLJ,EAAKK,cACLL,EAAKM,qBAGLL,EAAU,GAAGM,OAASP,EAGtBA,EAAKQ,eAAiBP,EAAUlJ,KAAK,UAAU,GAC/CiJ,EAAKS,gBACLT,EAAKU,mBACLV,EAAKW,kBACDX,EAAKxK,OAAOoK,SAAU,CACtB,GAAIa,GAAeR,EAAUlJ,KAAK,QAClC,KAAK0I,EAAI,EAAGA,EAAIgB,EAAapJ,OAAQoI,IACjCO,EAAKS,aAAaG,KAAKH,EAAahB,IACpCO,EAAKU,gBAAgBE,KAAK,IAAMH,EAAanJ,GAAGmI,GAAGX,KAAK,aAE5D,IAAIkB,EAAKxK,OAAOmK,cAAe,CAC3B,GAAIgB,GAAiBV,EAAUlJ,KAAK,gBACpC,KAAK0I,EAAI,EAAGA,EAAIkB,EAAetJ,OAAQoI,IACnCO,EAAKW,eAAeC,KAAKD,EAAelB,KAMpDO,EAAKa,iBAAkB,CAGvB,IAAIC,GAAcjJ,SAASkJ,SAASC,IAGpChB,GAAKiB,UACL,IAAIC,GAAUJ,EACV3H,EAAqBpD,EAAIP,OAAO2D,mBAChCH,EAAgBjD,EAAIP,OAAOwD,aAC3BjD,GAAIP,OAAOuD,WAAaiH,EAAKE,OACzBlH,EACAkI,EAAUlI,EAGNG,GAAsB+H,EAAQhK,QAAQiC,IAAuB,GAAK+H,EAAQhK,QAAQiC,EAAqB,KAAO,IAAG+H,EAAUA,EAAQC,MAAMhI,GAAoB,IAMzK,IAAIiI,GAAaC,CACZrB,GAAKsB,aACNF,EAAc9K,EAAE0J,EAAKQ,gBAAgBzJ,KAAK,mBACf,IAAvBqK,EAAY/J,SACZ+J,EAAc9K,EAAE0J,EAAKQ,gBAAgBzJ,KAAK,sBAC1CqK,EAAcA,EAAY9J,GAAG8J,EAAY/J,OAAS,IAElD+J,EAAY/J,OAAS,IACrBgK,EAAkBD,EAAY,GAAGG,aAKrCvB,EAAKxK,OAAOoK,UAAYwB,GACxBpB,EAAKwB,IAAMvB,EAAUnB,KAAK,aAAekB,EAAKxK,OAAOgM,KAAO,IAAMJ,EAAYtC,KAAK,aACnFkB,EAAKK,WAAWL,EAAKwB,KAAOJ,EAAYtC,KAAK,cAE5CkB,EAAKwB,IAAMvB,EAAUnB,KAAK,aAAekB,EAAKxK,OAAOgM,KAAON,EAG7DG,IACAA,EAAgBrB,KAAOA,EACvBqB,EAAgBG,IAAMxB,EAAKwB,IACvBxB,EAAKxK,OAAOoK,UAAYI,EAAKxK,OAAOmK,gBAAkB0B,EAAgBI,uBACtEJ,EAAgBI,qBAAuBzB,EAAKW,eAAeX,EAAKS,aAAavJ,QAAQmK,EAAgBpB,aAEzGD,EAAKsB,WAAaD,EAClBD,EAAY,GAAGG,WAAaF,GAI5BrB,EAAKwB,KACLxB,EAAKiB,QAAQL,KAAKZ,EAAKwB,IAI3B,IAGIE,GAGAC,EACAC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAtC,EACAuC,EACAC,EAlBAC,GAAY,EACZC,GAAU,EACVC,KAEAhB,KACAiB,KAGAC,GAAqB,EAErBC,KACAC,IAqZJ,IA5YA1C,EAAK2C,iBAAmB,SAAUC,GACzBJ,GAAuBxC,EAAKxK,OAAOuE,gBAAiBqI,IAAarM,EAAI8M,kBAAqB7C,EAAKa,kBACpGwB,GAAU,EACVD,GAAY,EACZV,EAAczI,OACdqJ,EAAaQ,EAAe,eAAXF,EAAEG,KAAwBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,MACxEX,EAAaY,EAAe,eAAXN,EAAEG,KAAwBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,MACxEtB,GAAiB,GAAKuB,OAAQC,UAC9B1D,EAAgBK,EAAKxK,OAAOmK,eAAiBM,EAAUlJ,KAAK,iBAAiBM,OAAS,IAG1F2I,EAAKsD,gBAAkB,SAAUV,GAC7B,GAAKR,EAAL,CACA,GAAIa,GAAmB,cAAXL,EAAEG,KAAuBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,MAC9DE,EAAmB,cAAXP,EAAEG,KAAuBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,KAIlE,IAH2B,mBAAhBzB,KACPA,KAAiBA,GAAe6B,KAAKC,IAAIL,EAAQb,EAAaY,GAAKK,KAAKC,IAAIP,EAAQX,EAAaQ,KAEjGpB,GAAekB,EAAEa,oBAAsB1N,EAAI2N,iBAE3C,YADAtB,GAAY,EAGhB,KAAKC,EAAS,CACV,GAAIsB,IAAS,CAEbhC,GAAqB1B,EAAU2D,OAC/B,IAAIC,GAASvN,EAAEsM,EAAEiB,QACbjJ,EAAWiJ,EAAO5M,SAAS,YAAc4M,EAASA,EAAOC,QAAQ,YACjElJ,GAASvD,OAAS,KACbtB,EAAI6I,KAAOhE,EAAS7D,KAAK,0BAA0BM,OAAS,IAAGsM,GAAS,GACzE5N,EAAI6I,KAAOhE,EAAS7D,KAAK,2BAA2BM,OAAS,IAAGsM,GAAS,IAEjFrC,EAAauC,EAAOE,GAAG,SAAWF,EAASA,EAAOC,QAAQ,SACtDxC,EAAWrK,SAAS,kBAAiB0M,GAAS,GAClDpB,EAAetC,EAAUlJ,KAAK,6BAC9B,IAAIiN,GAAgB1B,EAAaQ,EAAI7C,EAAUgE,SAASC,KAAOlE,EAAKxK,OAAOyE,uBAS3E,IAPI+J,EADAjO,EAAI6I,IACY0D,EAAaQ,EAAI7C,EAAUgE,SAASC,KAAOjE,EAAU,GAAGlI,WAAa4J,EAAqB3B,EAAKxK,OAAOyE,wBAGtGqI,EAAaQ,EAAI7C,EAAUgE,SAASC,KAAOlE,EAAKxK,OAAOyE,wBAEvE+J,IAAeL,GAAS,GACA,IAAxBpB,EAAalL,QAAsC,IAAtBiK,EAAWjK,SAAcsM,GAAS,GAC/DA,EAEA,YADAvB,GAAY,EAIZpC,GAAKxK,OAAO0E,6BAA+BnE,EAAI4B,OAAOwM,UACtDjC,EAAaZ,EAAWvK,KAAK,0BACH,IAAtBmL,EAAW7K,SACX6K,EAAa5L,EAAE,6CACfgL,EAAW8C,OAAOlC,KAItBvC,IACA8C,EAAexC,EAAUlJ,KAAK,kCAC9B2L,EAAiBzC,EAAUlJ,KAAK,gCAChC+K,EAAoBW,EAAa1L,KAAK,+CACtCgL,EAAsBW,EAAe3L,KAAK,+CACtChB,EAAIP,OAAOsE,qBACXkI,EAAoBS,EAAa1L,KAAK,6BACtCkL,EAAsBS,EAAe3L,KAAK,+BAK9CT,EAAE,0BAA0Be,OAAS,GACrCtB,EAAIsO,WAAW/N,EAAE,2BAGzBsM,EAAE0B,qBAAsB,EACxBjC,GAAU,EACVO,EAAE2B,gBAGF,IAAIC,GAAWzO,EAAI6I,KAAM,EAAK,CAG9BgD,IAAeqB,EAAQX,EAAaQ,EAAI9C,EAAKxK,OAAOwE,wBAA0BwK,EAC1E5C,EAAc,IAAGA,EAAc,EACnC,IAAI6C,GAAa7C,EAAcD,EAG3B+C,GACAD,WAAYA,EACZnD,WAAYA,EAAW,GACvBiB,aAAcA,EAAa,GAC3BE,aAAcA,EAAa,GAC3BC,eAAgBA,EAAe,GAE/B1C,GAAKxK,OAAOmP,iBACZ3E,EAAKxK,OAAOmP,gBAAgBD,GAEhCzE,EAAU7I,QAAQ,+BAAgCsN,EAGlD,IAAIE,GAAsBhD,EAAc4C,EACpCK,GAAyBjD,EAAc,EAAID,EAAqB,GAAK6C,CAazE,IAZ8B,IAA1BzO,EAAI4B,OAAOmN,aACXF,EAAsBrB,KAAKwB,MAAMH,GACjCC,EAAwBtB,KAAKwB,MAAMF,IAGvCvD,EAAW0D,UAAU,eAAiBJ,EAAsB,WACxD5E,EAAKxK,OAAO0E,6BAA+BnE,EAAI4B,OAAOwM,UAASjC,EAAW,GAAG+C,MAAMC,QAAU,EAAI,EAAIT,GAEzGlC,EAAayC,UAAU,eAAiBH,EAAwB,WAC5D7E,EAAKxK,OAAO2E,8BAA6BoI,EAAa,GAAG0C,MAAMC,QAAU,GAAM,GAAMT,GAGrF9E,EAAe,CACf,GAAIF,EACJ,KAAKA,EAAI,EAAGA,EAAIqC,EAAkBzK,OAAQoI,IAGtC,GAFA0C,EAAK7L,EAAEwL,EAAkBrC,IACpB0C,EAAG4B,GAAG,wBAAuB5B,EAAG,GAAG8C,MAAMC,QAAW,EAAiB,IAAbT,GACzDtC,EAAG,GAAGgD,UAAUjO,QAAQ,YAAc,EAAG,CACzC,GAAIkO,GAAqBX,EAAatC,EAAG,GAAGkD,mBACd,KAA1BtP,EAAI4B,OAAOmN,aAAkBM,EAAqB7B,KAAKwB,MAAMK,IACjEjD,EAAG6C,UAAU,eAAiBI,EAAqB,WAC/CrP,EAAIP,OAAOsE,oBACPqI,EAAG,GAAGgD,UAAUjO,QAAQ,SAAW,GAAK8K,EAAkB3K,OAAS,GACnE2K,EAAkBgD,UAAU,gBAAkBI,EAAqB,WAKnF,IAAK3F,EAAI,EAAGA,EAAIsC,EAAoB1K,OAAQoI,IAGxC,GAFA0C,EAAK7L,EAAEyL,EAAoBtC,IACtB0C,EAAG4B,GAAG,wBAAuB5B,EAAG,GAAG8C,MAAMC,QAAuB,IAAbT,EAAmB,IACvEtC,EAAG,GAAGgD,UAAUjO,QAAQ,YAAc,EAAG,CACzC,GAAIoO,GAAuBnD,EAAG,GAAGoD,oBAAsB,EAAId,EAC7B,KAA1B1O,EAAI4B,OAAOmN,aAAkBQ,EAAuB/B,KAAKwB,MAAMO,IACnEnD,EAAG6C,UAAU,eAAiBM,EAAuB,WACjDvP,EAAIP,OAAOsE,oBACPqI,EAAG,GAAGgD,UAAUjO,QAAQ,SAAW,GAAK+K,EAAoB5K,OAAS,GACrE4K,EAAoB+C,UAAU,gBAAkBM,EAAuB,eAQ/FtF,EAAKwF,eAAiB,SAAU5C,GAC5B,IAAKR,IAAcC,EAGf,MAFAD,IAAY,OACZC,GAAU,EAKd,IAFAD,GAAY,EACZC,GAAU,EACU,IAAhBT,EAQA,MAPAtL,IAAGgL,EAAW,GAAIiB,EAAa,KAAKyC,UAAU,IAAInG,KAAKqG,QAAS,GAAIO,UAAW,UAC3E9F,IACAmC,EAAkBkD,UAAU,IAAInG,KAAKqG,QAAS,KAC9CnD,EAAoBiD,UAAU,IAAInG,KAAKqG,QAAS,KAC5ClD,GAAqBA,EAAkB3K,OAAS,GAAG2K,EAAkBgD,UAAU,IAC/E/C,GAAuBD,EAAkB3K,OAAS,GAAG4K,EAAoB+C,UAAU,KAI/F,IAAIU,IAAW,GAAKtC,OAAQC,UAAYxB,EACpC8D,GAAc,GAGVD,EAAW,KAAO9D,EAAc,IAChC8D,GAAY,KAAO9D,EAAcD,EAAqB,KAE1DL,EAAWtC,YAAY,kBAAkBb,SAAS,iBAClDoE,EAAavD,YAAY,gBAAgBb,SAAS,kBAC9CwB,IACA8C,EAAazD,YAAY,oBAAoBb,SAAS,mBACtDuE,EAAe1D,YAAY,kBAAkBb,SAAS,qBAE1DwH,GAAc,GAIlBrP,GAAGgL,EAAW,GAAIiB,EAAa,KAAKyC,UAAU,IAAInG,KAAKqG,QAAS,GAAIO,UAAW,KAAKtH,SAAS,sBACzFwB,IACAmC,EAAkBjD,KAAKqG,QAAS,KAC/BU,KAAK,WACF,GAAIC,GAAYF,EAAcpP,KAAK8O,oBAAsB,EACrDS,EAAUxP,EAAEC,KAChBuP,GAAQd,UAAU,eAAiBa,EAAY,WAC3C9P,EAAIP,OAAOsE,oBACPgM,EAAQ7O,SAAS,SAAW+K,EAAkB3K,OAAS,GACvD2K,EAAkB7D,SAAS,sBAAsB6G,UAAU,gBAAkBa,EAAY,aAIlG1H,SAAS,sBAEZ4D,EAAoBiD,UAAU,IAAInG,KAAKqG,QAAS,KAAKU,KAAK,WACtD,GAAIC,GAAYF,EAAc,EAAIpP,KAAKgP,mBACnCO,EAAUxP,EAAEC,KAChBuP,GAAQd,UAAU,eAAiBa,EAAY,WAC3C9P,EAAIP,OAAOsE,oBACPgM,EAAQ7O,SAAS,SAAWgL,EAAoB5K,OAAS,GACzD4K,EAAoB9D,SAAS,sBAAsB6G,UAAU,gBAAkBa,EAAY,aAGpG1H,SAAS,uBAEhBqE,GAAqB,EACrBxC,EAAKa,iBAAkB,CAEvB,IAAI6D,IACApD,WAAYA,EAAW,GACvBiB,aAAcA,EAAa,GAC3BE,aAAcA,EAAa,GAC3BC,eAAgBA,EAAe,GAEnC,IAAIiD,EAAa,CAEb,GAAInE,GAAMxB,EAAKiB,QAAQjB,EAAKiB,QAAQ5J,OAAS,EAC7C2I,GAAKwB,IAAMA,EAGXzL,EAAIgQ,iBAAiB,SAAU/F,GAAOgG,cAAe1E,EAAW,GAAIE,IAAKA,EAAKyE,SAAU,SAAUC,QAAS3D,EAAc4D,QAAS7E,EAAY8E,WAAW,IACzJrQ,EAAIsQ,iBAAiB,SAAUrG,GAAOgG,cAAezD,EAAa,GAAIf,IAAKA,EAAKyE,SAAU,OAAQC,QAAS3D,EAAc4D,QAAS7E,EAAY8E,WAAW,IAErJpG,EAAKxK,OAAO8Q,yBACZtG,EAAKxK,OAAO8Q,wBAAwB5B,GAExCzE,EAAU7I,QAAQ,+CAAgDsN,OAG9D1E,GAAKxK,OAAO+Q,wBACZvG,EAAKxK,OAAO+Q,uBAAuB7B,GAEvCzE,EAAU7I,QAAQ,6CAA8CsN,EAGpEpD,GAAWkF,cAAc,WACrBlQ,GAAGgL,EAAW,GAAIiB,EAAa,KAAKvD,YAAY,sBAC5CW,IACAmC,EAAkB9C,YAAY,sBAAsBH,KAAKqG,QAAS,KAClEnD,EAAoB/C,YAAY,sBAAsBH,KAAKqG,QAAS,KAChElD,GAAqBA,EAAkB3K,OAAS,GAAG2K,EAAkBhD,YAAY,sBACjFiD,GAAuBA,EAAoB5K,OAAS,GAAG4K,EAAoBjD,YAAY,uBAE/FwD,GAAqB,EACrBxC,EAAKa,iBAAkB,EACnB8E,GACI5P,EAAIP,OAAOuD,WAAaiH,EAAKE,MAAMe,QAAQwF,OAE/C1Q,EAAIgQ,iBAAiB,QAAS/F,GAAOgG,cAAe1E,EAAW,GAAIE,IAAKA,EAAKyE,SAAU,SAAUC,QAAS3D,EAAc4D,QAAS7E,EAAY8E,WAAW,IACxJrQ,EAAIsQ,iBAAiB,QAASrG,GAAOgG,cAAezD,EAAa,GAAIf,IAAKA,EAAKyE,SAAU,OAAQC,QAAS3D,EAAc4D,QAAS7E,EAAY8E,WAAW,IACxJrQ,EAAI6C,OAAO8N,UAAU1G,EAAMsB,EAAYiB,GAEnCvC,EAAKxK,OAAOmR,wBACZ3G,EAAKxK,OAAOmR,uBAAuBjC,GAEvCzE,EAAU7I,QAAQ,6CAA8CsN,KAG5D1E,EAAKxK,OAAOoR,uBACZ5G,EAAKxK,OAAOoR,sBAAsBlC,GAEtCzE,EAAU7I,QAAQ,2CAA4CsN,IAE9DxC,GAAcA,EAAW7K,OAAS,GAAG6K,EAAW2E,YAG5D7G,EAAK8G,aAAe,SAAUC,GAC1B,GAAIC,GAASD,EAAS,MAAQ,KAC1BE,IAA4C,eAA1BlR,EAAIqI,YAAYC,QAA0BtI,EAAIuI,QAAQ2I,mBAAmBC,SAAS,EAAMC,SAAS,EACvHlH,GAAU+G,GAAQjR,EAAIqI,YAAYC,MAAO2B,EAAK2C,iBAAkBsE,GAChEhH,EAAU+G,GAAQjR,EAAIqI,YAAYI,KAAMwB,EAAKsD,iBAC7CrD,EAAU+G,GAAQjR,EAAIqI,YAAYK,IAAKuB,EAAKwF,eAAgByB,IAEhEjH,EAAKoH,aAAe,WAChBpH,EAAK8G,cAAa,IAIlB9G,EAAKxK,OAAOuE,gBAAkBhE,EAAIP,OAAO+H,UACzCyC,EAAK8G,eAIL9G,EAAKxK,OAAO6R,OAAMrH,EAAKxK,OAAO6R,KAAOrH,EAAKxK,OAAO6R,KAAKzR,QAAQ,aAAc,KAGhFG,EAAIuJ,MAAMsB,KAAKZ,GACXA,EAAKE,MACLnK,EAAIuR,SAAWtH,EACfjK,EAAIuJ,MAAMY,KAAOF,GAEbA,EAAKxK,OAAO6R,OAChBtR,EAAIiK,EAAKxK,OAAO6R,KAAO,QAAUrH,EACjCjK,EAAIuJ,MAAMU,EAAKxK,OAAO6R,MAAQrH,GAIlCA,EAAKpH,QACD2O,KAAM,SAAUC,GACZ,MAAOzR,GAAI6C,OAAO2O,KAAKvH,EAAMwH,IAEjCf,KAAM,SAAUe,GACZ,MAAOzR,GAAI6C,OAAO6N,KAAKzG,EAAMwH,IAGjCC,SAAU,SAAUD,GAEhB,GADAA,EAAUA,MACa,gBAAZA,GAAsB,CAC7B,GAAIhG,GAAMgG,CACVA,MACIhG,GAA4B,IAArBA,EAAItK,QAAQ,MAAc8I,EAAKxK,OAAOoK,SAC7C4H,EAAQxR,SAAWwL,EAAIL,MAAM,KAAK,GAEjCqG,EAAQhG,IAAMA,EAEvB,MAAOzL,GAAI6C,OAAO2O,KAAKvH,EAAMwH,IAEjCE,YAAa,SAAUC,GACnB,MAAO5R,GAAI6C,OAAO2O,KAAKvH,GAAO2H,QAASA,KAE3CC,WAAY,SAAUpG,GAClB,MAAOzL,GAAI6C,OAAO2O,KAAKvH,GAAOwB,IAAKA,EAAKqG,QAAQ,KAEpDC,cAAe,SAAUH,GACrB,MAAO5R,GAAI6C,OAAO2O,KAAKvH,GAAO2H,QAASA,EAASE,QAAQ,KAE5DE,mBAAoB,SAAUvG,GAC1B,MAAOzL,GAAI6C,OAAO2O,KAAKvH,GAAOwB,IAAKA,EAAKwG,gBAAgB,EAAMH,QAAQ,KAE1EI,sBAAuB,SAAUN,GAC7B,MAAO5R,GAAI6C,OAAO2O,KAAKvH,GAAO2H,QAASA,EAASK,gBAAgB,EAAMH,QAAQ,KAElFK,YAAa,WACT,GAAIV,IACAhG,IAAKxB,EAAKwB,IACVqG,QAAQ,EACRM,aAAa,EAcjB,OAZIX,GAAQhG,KAAoC,IAA7BgG,EAAQhG,IAAItK,QAAQ,OAC/B8I,EAAKxK,OAAOoK,UAAYI,EAAKK,WAAWmH,EAAQhG,MAChDgG,EAAQxR,SAAWgK,EAAKK,WAAWmH,EAAQhG,KAC3CgG,EAAQhG,IAAMvI,aACPuO,GAAQhG,KAEVxB,EAAKG,aAAaqH,EAAQhG,OAC/BgG,EAAQG,QAAU3H,EAAKG,aAAaqH,EAAQhG,KAC5CgG,EAAQhG,IAAMvI,aACPuO,GAAQhG,MAGhBzL,EAAI6C,OAAO2O,KAAKvH,EAAMwH,IAEjCY,oBAAqB,WACjB,GAAIZ,IACAhG,IAAKxB,EAAKiB,QAAQjB,EAAKiB,QAAQ5J,OAAS,GACxCwQ,QAAQ,EACRG,gBAAgB,EAChBG,aAAa,EAOjB,OALIX,GAAQhG,KAAoC,IAA7BgG,EAAQhG,IAAItK,QAAQ,MAAc8I,EAAKxK,OAAOoK,UAAYI,EAAKK,WAAWmH,EAAQhG,OACjGgG,EAAQxR,SAAWgK,EAAKK,WAAWmH,EAAQhG,KAC3CgG,EAAQhG,IAAMvI,aACPuO,GAAQhG,KAEZzL,EAAI6C,OAAO2O,KAAKvH,EAAMwH,KAKrCxH,EAAKyH,SAAWzH,EAAKpH,OAAO6O,SAC5BzH,EAAK0H,YAAc1H,EAAKpH,OAAO8O,YAC/B1H,EAAK4H,WAAa5H,EAAKpH,OAAOgP,WAC9B5H,EAAK8H,cAAgB9H,EAAKpH,OAAOkP,cACjC9H,EAAK+H,mBAAqB/H,EAAKpH,OAAOmP,mBACtC/H,EAAKiI,sBAAwBjI,EAAKpH,OAAOqP,sBACzCjI,EAAKkI,YAAclI,EAAKpH,OAAOsP,YAC/BlI,EAAKoI,oBAAsBpI,EAAKpH,OAAOwP,oBACvCpI,EAAKyG,KAAOzG,EAAKpH,OAAO6N,KAGxBzG,EAAKqI,WAAa,SAAUC,GACxB,MAAOvS,GAAIsS,WAAWpI,EAAUlJ,KAAK,WAAYuR,IAErDtI,EAAKuI,WAAa,SAAUD,GACxB,MAAOvS,GAAIwS,WAAWtI,EAAUlJ,KAAK,WAAYuR,IAErDtI,EAAKwI,YAAc,SAAUF,GACzB,MAAOvS,GAAIyS,YAAYvI,EAAUlJ,KAAK,YAAauR,IAEvDtI,EAAKyI,YAAc,SAAUH,GACzB,MAAOvS,GAAI0S,YAAYxI,EAAUlJ,KAAK,YAAauR,IAInDvS,EAAIP,OAAOuD,WAAahD,EAAIP,OAAO4D,iBAAmB4G,EAAKE,KAAM,CACjE,GAAIwI,GACAC,EAAoB7H,EAAYK,MAAMhI,GAAoB,EAC1DH,GACA0P,EAAe5H,EAAYK,MAAMpL,EAAIP,OAAOwD,cAAgBG,GAAoB,GAE3EA,GAAsB2H,EAAY5J,QAAQiC,IAAuB,GAAK2H,EAAY5J,QAAQiC,EAAqB,KAAO,IAC3HuP,EAAeC,EAEnB,IAAIC,IAAwB7S,EAAIP,OAAO0D,sBAA+BD,OAClE4P,EAAe5H,QAAQ6H,KACvBJ,GACIA,EAAaxR,QAAQ,MAAQ,GAAK8I,EAAKxK,OAAOoK,UAAYiJ,GAAgBA,EAAa7S,UAAY,aAAe6S,GAClH9S,EAAI6C,OAAO2O,KAAKvH,GAAOhK,SAAU6S,EAAa7S,SAAUwL,IAAKqH,EAAarH,IAAKtE,aAAc0L,EAAuB7P,WAAW,IAE1H2P,EAAaxR,QAAQ,MAAQ,GAAK8I,EAAKxK,OAAOoK,UAAYI,EAAKU,gBAAgBxJ,QAAQwR,IAAiB,EAC7G3S,EAAI6C,OAAO2O,KAAKvH,GAAOhK,SAAU0S,EAAa9S,QAAQ,IAAI,IAAKsH,aAAc0L,EAAuB7P,WAAW,IAE9GhD,EAAI6C,OAAO2O,KAAKvH,GAAOwB,IAAKkH,EAAcxL,aAAc0L,EAAuB7P,WAAW,IAE1FiH,EAAKxK,OAAOoK,UAAYkB,EAAY5J,QAAQiC,EAAqB,MAAQ,IAC1E0P,GAAgBA,EAAa7S,UAAY,aAAe6S,GACxD9S,EAAI6C,OAAO2O,KAAKvH,GAAOhK,SAAU6S,EAAa7S,SAAUwL,IAAKqH,EAAarH,IAAKtE,aAAc0L,EAAuB7P,WAAW,IAE1HI,GAAyD,IAAnCwP,EAAkBzR,QAAQ,MACjD8I,EAAKU,gBAAgBxJ,QAAQyR,IAC7B5S,EAAI6C,OAAO2O,KAAKvH,GAAOhK,SAAU2S,EAAkB/S,QAAQ,IAAK,IAAKsH,aAAc0L,EAAuB7P,WAAW,KAyCrI,MAlCAiH,GAAK+I,QAAU,WACX/I,EAAKoH,eACDpH,EAAKE,MACLnK,EAAIuR,SAAW,WACRvR,GAAIuR,SACXvR,EAAIuJ,MAAMY,KAAO,WACVnK,GAAIuJ,MAAMY,MAEbF,EAAKxK,OAAO6R,OAChBtR,EAAIiK,EAAKxK,OAAO6R,KAAO,QAAU,WAC1BtR,GAAIiK,EAAKxK,OAAO6R,KAAO,QAC9BtR,EAAIuJ,MAAMU,EAAKxK,OAAO6R,MAAQ,WACvBtR,GAAIuJ,MAAMU,EAAKxK,OAAO6R,OAEjCpH,EAAU+I,WAAW,aACrB/I,EAAU,GAAGM,OAAS,WACfN,GAAU,GAAGM,OAEpBxK,EAAIuJ,MAAM2J,OAAOlT,EAAIuJ,MAAMpI,QAAQ8I,GAAO,EAG1C,KAAK,GAAIkJ,KAAQlJ,GACTA,EAAKmJ,eAAeD,KACpBlJ,EAAKkJ,GAAQ,WACNlJ,GAAKkJ,GAGpBlJ,GAAO,MAIXjK,EAAIqT,WAAW,UAAWpJ,GAGnBA,EAGXjK,GAAIsT,QAAU,SAAU7J,EAAUhK,GAC9B,MAAO,IAAI+J,GAAKC,EAAUhK,IAG9BO,EAAIuT,eAAiB,SAAUC,GAC3B,GAAIC,GAAclT,EAAE,2BAChBmT,EAAYnT,EAAE,yBACdoT,EAAYpT,EAAE,uBACdqT,EAAWrT,EAAE,UAEbsT,EAAUD,EAASE,SAAS,QAWhC,IATID,EAAQvS,OAAS,GACbuS,EAAQ3S,SAAS,SAEjB2S,EAAUD,EAASE,SAAS,iBAMhCL,EAAYnS,OAAS,GAAKmS,EAAY,GAAGjJ,OAAQ,MAAOiJ,GAAY,GAAGjJ,MAC3E,IAAIkJ,EAAUpS,OAAS,GAAKoS,EAAU,GAAGlJ,OAAQ,MAAOkJ,GAAU,GAAGlJ,MACrE,IAAImJ,EAAUrS,OAAS,GAAKqS,EAAU,GAAGnJ,OAAQ,MAAOmJ,GAAU,GAAGnJ,MACrE,IAAIqJ,EAAQvS,OAAS,EAAG,CACpB,GAAuB,IAAnBuS,EAAQvS,QAAgBuS,EAAQ,GAAGrJ,OAAQ,MAAOqJ,GAAQ,GAAGrJ,MACjE,IAAIqJ,EAAQvS,OAAS,EAAG,CAEpB,IAAK,GADDyS,MACKrK,EAAI,EAAGA,EAAImK,EAAQvS,OAAQoI,IAC5BmK,EAAQnK,GAAGc,QAAQuJ,EAAalJ,KAAKgJ,EAAQnK,GAAGc,OAExD,IAAIuJ,EAAazS,OAAS,GAAsB,mBAAVkS,GAAuB,MAAOO,GAAaP,EACjF,IAAIO,EAAazS,OAAS,EAAG,MAAOyS,EACpC,IAA4B,IAAxBA,EAAazS,OAAc,MAAOyS,GAAa,EACnD,WAWZ/T,EAAIgU,mBAAqB,SAAU/J,EAAMgG,EAAegE,EAAiBvI,GAErE,IADKuI,GAAmBvI,IAAsBuI,EAAkB1T,EAAEmL,GAAsBwI,OAAO,WAAW,IACrGxI,KAAwBA,EAAqByI,sBAAuBlK,GAASA,EAAKxK,OAAOoK,UAA9F,CACA,GAAIuK,IACAlK,UAAW+J,EACXI,eAAgB3I,GAEhB4I,EAAWrE,GAAiBA,EAAczE,WAE1C+I,GACAC,KAAMF,EACNG,OAAQL,EAGZ,IAAI1I,EAAqByI,sBAAyBlK,GAAQA,EAAKxK,OAAOoK,WAAeI,GAAQ1J,EAAE0T,GAAiBlG,QAAQ,0EAA0EzM,OAAS,GASvM,MAPAtB,GAAI0U,aAAaT,EAAiBvI,GAGlC1L,EAAIqT,WAAW,eAAgBkB,OAG/BhU,GAAEmL,GAAsBrK,QAAQ,6BAA8BkT,EAGlE7I,GAAqByI,qBAAsB,EAE3CnU,EAAIqT,WAAW,mBAAoBe,EAAYE,GAC/C/T,EAAEmL,GAAsBrK,QAAQ,qCAAsCkT,GAGtEvU,EAAI2U,WAAWV,EAAiBvI,GAGhC1L,EAAIqT,WAAW,aAAce,EAAYE,GACzC/T,EAAEmL,GAAsBrK,QAAQ,yBAA0BkT,KAG9DvU,EAAI4U,qBAAuB,SAAU3K,EAAMgG,EAAegE,EAAiBvI,IAClEuI,GAAmBvI,IAAsBuI,EAAkB1T,EAAEmL,GAAsBwI,OAAO,WAAW,GAC1G,IAIII,GAJAF,GACAlK,UAAW+J,EACXI,eAAgB3I,EAGhBuE,KACAqE,EAAWrE,EAAczE,WAG7B,IAAI+I,IACAC,KAAMF,EACNG,OAAQL,EAEZpU,GAAIqT,WAAW,qBAAsBe,EAAYE,GACjD/T,EAAEmL,GAAsBrK,QAAQ,yCAA0CkT,GAC1EH,EAAa,KACbE,EAAW,MAEftU,EAAI2U,WAAa,SAAUV,EAAiBvI,GAEpC1L,EAAI6U,eAAe7U,EAAI6U,cAAcnJ,IAE7C1L,EAAI0U,aAAe,SAAUT,EAAiBvI,KAG9C1L,EAAI8U,uBAAyB,SAAUb,GACnCA,EAAkB1T,EAAE0T,EACpB,IACIhK,GADA8K,EAAgBd,EAAgBlG,QAAQ,IAAM/N,EAAIP,OAAOoH,UAEhC,KAAzBkO,EAAczT,SACwC,IAAtD2S,EAAgBlG,QAAQ,mBAAmBzM,QAAiE,IAAjDyT,EAAc/T,KAAK,mBAAmBM,SACrG2I,EAAO8K,EAAc,GAAGvK,QAAUtH,OAElC+Q,EAAgBjT,KAAK,iBAAiB6O,KAAK,WACvC,GACII,GADAvE,EAAuBlL,IAM3B,IAJID,EAAEmL,GAAsB3C,KAAK,eAE7BkH,EAAgB8E,EAAc/T,KAAK,oBAAsBT,EAAEmL,GAAsB3C,KAAK,aAAe,MAAM,KAE1GkH,EAAe,CAChB,GAAI+E,GAAQD,EAAc/T,KAAK,QACV,KAAjBgU,EAAM1T,OACN2O,EAAgB+E,EAAM,GAGtBD,EAAc/T,KAAK,SAAS6O,KAAK,WACzBrP,KAAKgL,YAAchL,KAAKgL,WAAWE,uBAAyBA,IAC5DuE,EAAgBzP,QAKhCR,EAAIgU,mBAAmB/J,EAAMgG,EAAegE,EAAgB,GAAIvI,QAKxE1L,EAAIiV,YAAc,SAAUF,GACxB,IAAI/U,EAAIP,OAAO+H,SAAf,CACA,GAAI0N,GAAcH,EAAgBxU,EAAEwU,GAAe/T,KAAK,sCAAwCT,EAAE,qCAClG2U,GAAYrF,KAAK,WACb,GAAIsF,GAAI5U,EAAEC,KACV,KAAI2U,EAAEjU,SAAS,UAAf,CACA,GAYIkU,GAAUC,EAZVlH,EAAOnO,EAAI6I,IAAMsM,EAAEnU,KAAK,UAAYmU,EAAEnU,KAAK,SAC3CsU,EAAQtV,EAAI6I,IAAMsM,EAAEnU,KAAK,SAAWmU,EAAEnU,KAAK,UAC3CuU,EAASJ,EAAEnU,KAAK,WAChBwU,EAAYL,EAAEnU,KAAK,cACnByU,EAAyB,IAAhBtH,EAAK7M,OACdoU,EAA2B,IAAjBJ,EAAMhU,OAChBqU,EAAYF,EAAS,EAAItH,EAAKyH,YAAW,GACzCC,EAAaH,EAAU,EAAIJ,EAAMM,YAAW,GAC5CE,EAAcP,EAAOK,YAAW,GAChCG,EAAeZ,EAAEa,SACjBC,EAAcd,EAAE,GAAGe,YAAc9U,SAAS2U,EAAaI,YAAa,IAAM/U,SAAS2U,EAAaK,aAAc,IAC9GC,EAASlB,EAAEjU,SAAS,iBAGpBwU,KACAN,EAAWa,EAAcH,GAEzBL,IACAL,EAAW,GAEVK,GAAWC,IACZN,GAAYa,EAAcJ,EAAaC,EAAcH,GAAa,EAEtE,IAAIW,IAAgBL,EAAcH,GAAe,CAC7CG,GAAcN,EAAYE,EAAaC,GACnCQ,EAAeX,IACfW,EAAeX,GAEfW,EAAeR,EAAcG,EAAcJ,IAC3CS,EAAeL,EAAcJ,EAAaC,GAE9CT,EAAOiB,EAAelB,GAGtBC,EAAO,CAGX,IAAI5G,GAAWzO,EAAI6I,KAAM,EAAK,CAE9B,IAAI0M,EAAOrU,SAAS,aAChBqU,EAAO,GAAG/F,qBAAuB4F,EAAWC,GAAQ5G,EACpD8G,EAAO,GAAGjG,qBAAuB2G,EAAcb,EAAWC,EAAOS,GAAerH,EAC5E4H,GAAQ,CACR,GAAIrW,EAAIP,OAAOsE,mBAAoB,CAC/B,GAAIwS,GAAuBpB,EAAEjB,SAASlT,KAAK,qBAAqBA,KAAK,mCACjEuV,GAAqBjV,OAAS,IAC9BiU,EAAO,GAAG/F,oBAAsB+G,EAAqB,GAAGC,YAGhEjB,EAAOtG,UAAU,eAAiBsG,EAAO,GAAG/F,mBAAqB,cAGpEiG,GAAUtH,EAAKjN,SAAS,aACrBlB,EAAI6I,KACJsF,EAAK,GAAGqB,qBAAuByG,EAAc9H,EAAK,GAAG+H,aAAe,EAAIzH,EACxEN,EAAK,GAAGmB,oBAAsBqG,EAAYlH,IAG1CN,EAAK,GAAGqB,oBAAsBmG,EAC9BxH,EAAK,GAAGmB,qBAAuB2G,EAAc9H,EAAK,GAAG+H,aAAe,EAChElW,EAAIP,OAAOsE,oBAAsBoK,EAAKnN,KAAK,eAAeM,OAAS,IACnE6M,EAAK,GAAGmB,qBAAuBnB,EAAKnN,KAAK,eAAe,GAAGkV,cAG/DG,GAAQlI,EAAKc,UAAU,eAAiBd,EAAK,GAAGqB,mBAAqB,eAExEkG,GAAWJ,EAAMpU,SAAS,aACvBlB,EAAI6I,KACJyM,EAAM,GAAG9F,oBAAsBqG,EAAapH,EAC5C6G,EAAM,GAAGhG,qBAAuB2G,EAAcX,EAAM,GAAGY,aAAe,EAAIzH,IAG1E6G,EAAM,GAAG9F,qBAAuByG,EAAcX,EAAM,GAAGY,aAAe,EACtEZ,EAAM,GAAGhG,oBAAsBuG,GAE/BQ,GAAQf,EAAMrG,UAAU,eAAiBqG,EAAM,GAAG9F,mBAAqB,cAE3EgG,EAAUlU,QAAUkU,EAAUtU,SAAS,aACvCsU,EAAU,GAAGhG,mBAAqBxP,EAAI6I,IAAM2M,EAAU,GAAGU,aAAeV,EAAU,GAAGU,YACrFV,EAAU,GAAGlG,qBAAuBkG,EAAU,GAAGhG,mBAIrD,IAAIiH,GAAapB,CACbrV,GAAI6I,KAAO4M,GAAUC,GAAWH,EAAOjU,OAAS,IAAGmV,GAAcA,GACrElB,EAAOzM,KAAKqF,KAAMsI,EAAa,YAMvCzW,EAAIsS,WAAa,SAAU2B,EAAiB1B,GAGxC,MAFwB,mBAAbA,KAA0BA,GAAW,GAChDhS,EAAE0T,GAAiB7L,SAAS,iBAAoBmK,EAA+B,GAApB,mBACpD,GAEXvS,EAAIwS,WAAa,SAAUyB,EAAiB1B,GAChB,mBAAbA,KAA0BA,GAAW,EAChD,IAAIkC,GAASlU,EAAE0T,EAUf,OATI1B,IACAkC,EAAOxL,YAAY,gBACnBwL,EAAOrM,SAAS,iBAAiBa,YAAY,iBAAiBwH,cAAc,WACxEgE,EAAOxL,YAAY,oBAIvBwL,EAAOxL,YAAY,6CAEhB,GAEXjJ,EAAIyS,YAAc,SAAUiE,EAAkBnE,GAG1C,MAFwB,mBAAbA,KAA0BA,GAAW,GAChDhS,EAAEmW,GAAkBtO,SAAS,kBAAqBmK,EAA+B,GAApB,mBACtD,GAEXvS,EAAI0S,YAAc,SAAUgE,EAAkBnE,GAClB,mBAAbA,KAA0BA,GAAW,EAChD,IAAIoE,GAAUpW,EAAEmW,EACZnE,IACAoE,EAAQ1N,YAAY,gBACpB0N,EAAQvO,SAAS,kBAAkBa,YAAY,kBAAkBwH,cAAc,WAC3EkG,EAAQ1N,YAAY,kBAAqBsJ,EAA+B,GAApB,qBAIxDoE,EAAQ1N,YAAY,8CAS5B,IAAI2N,GAAY,SAAU1M,EAAWzK,GA+RjC,QAASoX,GAAchK,GACnBA,EAAE2B,iBA/RN,GAAI7E,IACAmN,MAAO,KACPC,YAAa,KACbC,aAAc,KACdC,WAAY,KACZC,SAAU,cACVC,SAAU,GACVC,MAAO,KACPC,SAAU,KACVC,QAAS,KACTC,OAAQ,oBACRC,cAAc,EACdC,kBAAkB,EAClBC,cAAc,EACdC,YAAY,EAShBlY,GAASA,KACT,KAAK,GAAIuK,KAAOL,IACe,mBAAhBlK,GAAOuK,IAAwC,OAAhBvK,EAAOuK,IAAiBL,EAASyJ,eAAepJ,MACtFvK,EAAOuK,GAAOL,EAASK,GAK/B,IAAI4N,GAAIpX,IAGRoX,GAAEpQ,SAAWxH,EAAIP,OAAO+H,SAGxBoQ,EAAEnY,OAASA,EAGXyK,EAAY3J,EAAE2J,GACd0N,EAAE1N,UAAYA,EAGd0N,EAAEC,QAAS,EAGXD,EAAEd,MAAQc,EAAEnY,OAAOqX,MAAQvW,EAAEqX,EAAEnY,OAAOqX,OAASc,EAAE1N,UAAUlJ,KAAK,wBAChE4W,EAAEb,YAAca,EAAEnY,OAAOsX,YAAcxW,EAAEqX,EAAEnY,OAAOsX,aAAea,EAAE1N,UAAUlJ,KAAK,oBAClF4W,EAAEZ,aAAeY,EAAEnY,OAAOuX,aAAezW,EAAEqX,EAAEnY,OAAOuX,cAAgBY,EAAE1N,UAAUlJ,KAAK,qBAGrF4W,EAAEX,WAAa1W,EAAEqX,EAAEnY,OAAOwX,YAG1BW,EAAEE,cAAgBF,EAAEX,WAAW/V,SAAS,gBAGxC0W,EAAE3H,cAAgB2H,EAAE1N,UAAU6D,QAAQ,SAASxM,GAAG,GAG7CqW,EAAEnY,OAAO6X,QAIVM,EAAEN,QAAU/W,EAAEqX,EAAEnY,OAAO6X,SAHvBM,EAAEN,QAAUM,EAAE3H,cAAc3O,OAAS,EAAIsW,EAAE3H,cAAcjP,KAAK,sBAAwBT,EAAE,sBAMvFqX,EAAEnY,OAAO2X,MAIVQ,EAAER,MAAQ7W,EAAEqX,EAAEnY,OAAO2X,OAHrBQ,EAAER,MAAQQ,EAAE3H,cAAc3O,OAAS,EAAIsW,EAAE3H,cAAcjP,KAAK,oBAAsBT,EAAE,oBAKnFqX,EAAEnY,OAAO4X,SAIVO,EAAEP,SAAW9W,EAAEqX,EAAEnY,OAAO4X,UAHxBO,EAAEP,SAAWO,EAAE3H,cAAc3O,OAAS,EAAIsW,EAAE3H,cAAcjP,KAAK,wBAA0BT,EAAE,uBAO/F,IAAIwX,GAAmB/X,EAAI6I,IAAM,cAAgB,eAC7CmP,GAAwB,CAC5BJ,GAAEK,sBAAwB,WACtBL,EAAEZ,aAAakB,WAAW,GAAGC,OAC7BP,EAAEZ,aAAalO,IAAIiP,GAAmBH,EAAEZ,aAAa,GAAGd,YAAc,KACrD0B,GAAEZ,aAAa,GAAGoB,UACnCR,GAAEZ,aAAakB,WAAW,IAC1BF,GAAwB,GAI5BJ,EAAES,aAAe,SAAUC,EAAW3Y,EAAc4U,GAChDqD,EAAE1N,UAAU7I,QAAQiX,EAAW/D,GAC3BqD,EAAEX,WAAW3V,OAAS,GAAGsW,EAAEX,WAAW5V,QAAQiX,EAAW/D,GACzD5U,GAAgBiY,EAAEnY,OAAOE,IAAeiY,EAAEnY,OAAOE,GAAciY,EAAGrD,IAI1EqD,EAAEW,OAAS,SAAU1L,GACjB,QAAS2L,MACAZ,EAAEX,WAAW3V,SAAUsW,EAAEnY,OAAO+X,cAAkBI,EAAE1N,UAAUhJ,SAAS,qBAAwB0W,EAAEa,OAAOb,EAAEN,QAAQlP,SAAS,4BAChIwP,EAAE1N,UAAU9B,SAAS,oBACjBwP,EAAEZ,aAAa1V,OAAS,IAAMsW,EAAEpQ,WAC3BwQ,GACDJ,EAAEK,wBAENL,EAAEZ,aAAalO,IAAIiP,EAAkB,QAEzCH,EAAES,aAAa,gCAAiC,YAChDT,EAAEC,QAAS,EAEX7X,EAAI4B,OAAOsH,MAAQlJ,EAAIP,OAAO+H,UAAYqF,GAAgB,UAAXA,EAAEG,KACjD/K,WAAW,WACPuW,KACD,KAGHA,KAIRZ,EAAEc,QAAU,WAQR,QAASC,KACLf,EAAEd,MAAM8B,OARZhB,EAAEd,MAAM+B,IAAI,IAAIxX,QAAQ,UACxBuW,EAAE1N,UAAUjB,YAAY,wCACpB2O,EAAEZ,aAAa1V,OAAS,IAAMsW,EAAEpQ,UAAUoQ,EAAEZ,aAAalO,IAAIiP,GAAmBH,EAAEZ,aAAa,GAAGd,YAAc,OAEhH0B,EAAEX,WAAW3V,QAAUsW,EAAEnY,OAAO+X,eAAcI,EAAEN,QAAQrO,YAAY,4BAExE2O,EAAEC,QAAS,EAIP7X,EAAI4B,OAAOsH,IACXjH,WAAW,WACP0W,KACD,KAGHA,IAEJf,EAAES,aAAa,kCAAmC,cAItDT,EAAEkB,MAAQ,SAAUjM,GAChB,IAAK+K,EAAEa,OAAS5L,GAAKtM,EAAEsM,EAAEiB,QAAQ5M,SAAS,mBAEtC,WADA0W,GAAEc,SAGN,IAAIK,GAAgBnB,EAAEoB,KACtBpB,GAAEd,MAAM+B,IAAI,IAAIxX,QAAQ,UAAU4X,QAClCrB,EAAES,aAAa,8BAA+B,WAAYU,cAAeA,KAI7EnB,EAAEsB,YAAc,WACZjX,WAAW,WACP,GAAI+W,GAAQpB,EAAEd,MAAM+B,MAAMM,QACrBvB,EAAEX,WAAW3V,OAAS,GAAKsW,EAAEnY,OAAO+X,gBAAkBI,EAAEnY,OAAOyX,UAAYU,EAAEE,gBAAgBF,EAAEwB,OAAOJ,GAAO,IACnH,GAGP,IACI3Y,GADA0Y,EAAgB,EA0JpB,OAxJAnB,GAAEwB,OAAS,SAAUX,EAAOY,GACxB,GAAIZ,EAAMU,SAAWJ,EAArB,CAoBA,GAnBAA,EAAgBN,EAAMU,OAEjBE,IACIzB,EAAEC,QACHD,EAAEW,SAENX,EAAEd,MAAM+B,IAAIJ,IAEhBb,EAAEa,MAAQb,EAAEoB,MAAQP,EAEC,IAAjBA,EAAMnX,QACNsW,EAAE1N,UAAUjB,YAAY,uBACpB2O,EAAEX,WAAW3V,QAAUsW,EAAE1N,UAAUhJ,SAAS,qBAAqB0W,EAAEN,QAAQlP,SAAS,8BAGxFwP,EAAE1N,UAAU9B,SAAS,uBACjBwP,EAAEX,WAAW3V,QAAUsW,EAAE1N,UAAUhJ,SAAS,qBAAqB0W,EAAEN,QAAQrO,YAAY,6BAG3F2O,EAAEnY,OAAO+X,aAET,WADAI,GAAES,aAAa,0BAA2B,YAAaI,MAAOA,GAIlE,IAAqBa,GAAjBC,IACJ,IAAI3B,EAAEE,cAAe,CAEjB,GADAzX,EAAcuX,EAAEX,WAAW,GAAGzV,cACT,KAAjBiX,EAAMU,OAIN,MAHA9Y,GAAYmZ,cACZ5B,EAAEP,SAASoC,WACX7B,GAAER,MAAMe,MAIZ,IADAmB,EAAW1B,EAAEnY,OAAOgY,iBAAmBlX,EAAEkX,iBAAiBgB,GAASA,EAC/DpY,EAAYZ,OAAOia,UACnBH,EAAalZ,EAAYZ,OAAOia,UAAUJ,EAAUjZ,EAAYsZ,eAE/D,IAAItZ,EAAYZ,OAAOma,aACxB,IAAK,GAAIlQ,GAAI,EAAGA,EAAIrJ,EAAYsZ,MAAMrY,OAAQoI,IACvCrJ,EAAYZ,OAAOma,aAAaN,EAAU5P,EAAGrJ,EAAYZ,OAAOka,MAAMjQ,KACrE6P,EAAW1O,KAAKnB,OAK3B,CACD,GAAImQ,EAC2BA,GAA3BjC,EAAEnY,OAAOgY,iBAA2BlX,EAAEkX,iBAAiBgB,EAAMU,OAAOW,eAAe1O,MAAM,KAEhFqN,EAAMU,OAAOW,cAAc1O,MAAM,KAE9CwM,EAAEX,WAAWjW,KAAK,MAAMiI,YAAY,uBAAuB4G,KAAK,SAAU2D,EAAOpH,GAC7EA,EAAK7L,EAAE6L,EACP,IAAI2N,KACJ3N,GAAGpL,KAAK4W,EAAEnY,OAAOyX,UAAUrH,KAAK,WAC5B,GAAImK,GAAWzZ,EAAEC,MAAMyZ,OAAOd,OAAOW,aACjClC,GAAEnY,OAAOgY,mBAAkBuC,EAAWzZ,EAAEkX,iBAAiBuC,IAC7DD,EAAgBlP,KAAKmP,KAEzBD,EAAkBA,EAAgBG,KAAK,IAEvC,KAAK,GADDC,GAAa,EACRzQ,EAAI,EAAGA,EAAImQ,EAAOvY,OAAQoI,IAC3BqQ,EAAgB5Y,QAAQ0Y,EAAOnQ,KAAO,GAAGyQ,GAE7CA,KAAeN,EAAOvY,QAAYsW,EAAEnY,OAAO8X,QAAUnL,EAAG4B,GAAG4J,EAAEnY,OAAO8X,QAIpEgC,EAAW1O,KAAKuB,EAAG,IAHnBA,EAAGhE,SAAS,yBAOhBwP,EAAEnY,OAAOiY,cACTE,EAAEX,WAAWjW,KAAK,oCAAoC6O,KAAK,WAIvD,IAAK,GAHDuK,GAAQ7Z,EAAEC,MACV6Z,EAAeD,EAAME,QAAQ,MAC7Bb,GAAO,EACF/P,EAAI,EAAGA,EAAI2Q,EAAa/Y,OAAQoI,IAAK,CAC1C,GAAI6Q,GAASha,EAAE8Z,EAAa3Q,GAC5B,IAAI6Q,EAAOrZ,SAAS,qBAAuBqZ,EAAOrZ,SAAS,gBAAiB,KACvEqZ,GAAOrZ,SAAS,yBACjBuY,GAAO,GAGf,GAAIlC,GAASK,EAAEnY,OAAO8X,QAAU6C,EAAMpM,GAAG4J,EAAEnY,OAAO8X,OAC9CkC,KAASlC,EAAQ6C,EAAMhS,SAAS,uBAC/BgS,EAAMnR,YAAY,yBAG3B2O,EAAEnY,OAAOkY,YACTC,EAAEX,WAAWjW,KAAK,eAAe6O,KAAK,WAClC,GAAI2K,GAAQja,EAAEC,MACV+W,EAASK,EAAEnY,OAAO8X,QAAUiD,EAAMxM,GAAG4J,EAAEnY,OAAO8X,QAC9CkD,EAAYD,EAAMxZ,KAAK,+BACF,KAArByZ,EAAUnZ,QAAiBiW,EAI3BiD,EAAMvR,YAAY,uBAHlBuR,EAAMpS,SAAS,yBAQ/BwP,EAAES,aAAa,0BAA2B,YAAaI,MAAOA,EAAOc,WAAYA,IACvD,IAAtBA,EAAWjY,QACXsW,EAAEP,SAASc,OACXP,EAAER,MAAMqC,SAGR7B,EAAEP,SAASoC,OACX7B,EAAER,MAAMe,QAERP,EAAEE,eACFzX,EAAYqa,YAAYnB,KAShC3B,EAAE7G,aAAe,SAAUiC,GACvB,GAAI2H,GAAS3H,EAAU,MAAQ,IAC/B4E,GAAE1N,UAAUyQ,GAAQ,SAAU9D,GACzBe,EAAEpQ,UAAUoQ,EAAEZ,aAAa2D,GAAQ,QAAS/C,EAAEc,SACnDd,EAAEN,QAAQqD,GAAQ,QAAS/C,EAAEc,SAC7Bd,EAAEd,MAAM6D,GAAQ,QAAS/C,EAAEW,QAC3BX,EAAEd,MAAM6D,GAAQ,gCAAiC/C,EAAEsB,aACnDtB,EAAEb,YAAY4D,GAAQ,QAAS/C,EAAEkB,QAGrClB,EAAEvG,aAAe,WACbuG,EAAE7G,cAAa,IAInB6G,EAAE9P,KAAO,WACL8P,EAAE7G,gBAEN6G,EAAE5E,QAAU,WACH4E,IACLA,EAAEvG,eACFuG,EAAI,OAIRA,EAAE9P,OAEF8P,EAAE1N,UAAU,GAAG0Q,YAAchD,EACtBA,EAGX5X,GAAI6a,UAAY,SAAU3Q,EAAWzK,GACjC,MAAO,IAAImX,GAAU1M,EAAWzK,IAEpCO,EAAI6U,cAAgB,SAAU3K,GAQ1B,QAAS4Q,KACDC,GAAIA,EAAG/H,UARf9I,EAAY3J,EAAE2J,EACd,IAAI2Q,GAAY3Q,EAAUhJ,SAAS,aAAegJ,EAAYA,EAAUlJ,KAAK,aAC7E,IAAyB,IAArB6Z,EAAUvZ,QACTuZ,EAAU3Z,SAAS,kBAAxB,CAEA,GAAI6Z,GAAK/a,EAAI6a,UAAUA,EAAWA,EAAUG,UAKxC9Q,GAAUhJ,SAAS,QACnBgJ,EAAU+Q,KAAK,mBAAoBH,GAE9B5Q,EAAUhJ,SAAS,iBACxBgJ,EAAU+Q,KAAK,qBAAsBH,IAO7C,IAAII,GAAa,SAAUhR,EAAWzK,GA0FlC,QAASoX,GAAchK,GACnBA,EAAE2B,iBA1FN,GAAI7E,IACAwR,SAAU,KACVC,UAAW,KAEf3b,GAASA,KACT,KAAK,GAAIuK,KAAOL,GACe,mBAAhBlK,GAAOuK,IAAwC,OAAhBvK,EAAOuK,KAC7CvK,EAAOuK,GAAOL,EAASK,GAK/B,IAAIqR,GAAI7a,IAOR,IAJA6a,EAAE5b,OAASA,EAGX4b,EAAEnR,UAAY3J,EAAE2J,GACW,IAAvBmR,EAAEnR,UAAU5I,OAgGhB,MA7FA+Z,GAAEF,SAAWE,EAAE5b,OAAO0b,SAAW5a,EAAE8a,EAAE5b,OAAO0b,UAAYE,EAAEnR,UAAUlJ,KAAK,YAGzEqa,EAAEpL,cAAgBoL,EAAEnR,UAAU6D,QAAQ,SAASxM,GAAG,GAClD8Z,EAAEC,YAAcD,EAAEpL,cAAcjP,KAAK,iBAGrCqa,EAAEE,mBAAqBna,SAASia,EAAEC,YAAYxS,IAAI,mBAClDuS,EAAEG,iBAAmBH,EAAEnR,UAAU,GAAGtJ,aACpCya,EAAEI,kBAAoBJ,EAAEF,SAAS,GAAGva,aAIpCya,EAAEK,aAAe,WAEbL,EAAEF,SAASrS,KAAKnI,OAAU,IAE1B,IAAIA,GAAS0a,EAAEF,SAAS,GAAGva,aACvByU,EAAO1U,EAAS0a,EAAEF,SAAS,GAAGQ,aAC9Bjb,EAAe2a,EAAEF,SAAS,GAAGza,YAGjC,IAAIA,EAAe2U,EAAO1U,EAAQ,CAC9B,GAAIib,GAAgBlb,EAAe2U,EAC/BwG,EAAeR,EAAEG,kBAAoBI,EAAgBP,EAAEI,mBACvDK,EAAeT,EAAE5b,OAAO2b,WAAaC,EAAEnR,UAAU6D,QAAQ,SAAS,GAAGnN,aAAe,EACpFib,GAAeC,IACfD,EAAeza,SAAS0a,EAAc,IACtCF,EAAgBC,EAAeR,EAAEG,iBAAmBH,EAAEI,mBAE1DJ,EAAEF,SAASrS,IAAI,SAAU8S,EAAgB,MACzCP,EAAEnR,UAAUpB,IAAI,SAAU+S,EAAe,KACzC,IAAIE,GAAYV,EAAEC,YAAY,GAAG7a,YAAc4a,EAAEC,YAAY,GAAG5a,aAAe2a,EAAEC,YAAY,GAAG1a,YAC5Fya,GAAEC,YAAYha,OAAS,IACvB+Z,EAAEC,YAAYxS,IAAI,iBAAkB+S,EAAe,MACM,IAArDR,EAAEC,YAAYta,KAAK,uBAAuBM,QAAgBya,GAC1DV,EAAEC,YAAY7a,UAAU4a,EAAEC,YAAY,GAAG5a,aAAe2a,EAAEC,YAAY,GAAG1a,mBAK7Eya,GAAEC,YAAYha,OAAS,IACvB+Z,EAAEnR,UAAUpB,KAAKnI,OAAU,GAAIqb,OAAU,KACzCX,EAAEC,YAAYxS,KAAKmT,iBAAkB,OAMjDZ,EAAEvC,MAAQ,WACNuC,EAAEF,SAAStC,IAAI,IAAIxX,QAAQ,WAE/Bga,EAAErC,MAAQ,SAAUA,GAChB,MAAqB,mBAAVA,GAA8BqC,EAAEF,SAAStC,UAC/CwC,GAAEF,SAAStC,IAAIG,GAAO3X,QAAQ,WAIvCga,EAAEa,gBAAkBhZ,OACpBmY,EAAEc,eAAiB,SAAUtP,GACzBuP,aAAaf,EAAEa,iBACfb,EAAEa,gBAAkBja,WAAW,WAC3BoZ,EAAEK,gBACH,IAQPL,EAAEtK,aAAe,SAAUiC,GACvB,GAAI2H,GAAS3H,EAAU,MAAQ,IAC/BqI,GAAEnR,UAAUyQ,GAAQ,SAAU9D,GAC9BwE,EAAEF,SAASR,GAAQ,0CAA2CU,EAAEc,iBAEpEd,EAAEhK,aAAe,WACbgK,EAAEtK,cAAa,IAInBsK,EAAEvT,KAAO,WACLuT,EAAEtK,gBAENsK,EAAErI,QAAU,WACRqI,EAAEhK,eACFgK,EAAI,MAIRA,EAAEvT,OAEFuT,EAAEnR,UAAU,GAAGmS,aAAehB,EACvBA,EAEXrb,GAAIsc,WAAa,SAAUpS,EAAWzK,GAClC,MAAO,IAAIyb,GAAWhR,EAAWzK,IAErCO,EAAIuc,mBAAqB,SAAUtM,GAQ/B,QAASuM,KACLC,EAAGzJ,UACH/C,EAAcyM,IAAI,oBAAqBF,GAT3CvM,EAAgB1P,EAAE0P,EAClB,IAAIqM,GAAarM,EAAc/O,SAAS,cAAgB+O,EAAgBA,EAAcjP,KAAK,cAC3F,IAA0B,IAAtBsb,EAAWhb,QACVgb,EAAWpb,SAAS,mBAAzB,CACA,GAAIub,GAAKzc,EAAIsc,WAAWA,EAAYA,EAAWtB,UAO3C/K,GAAc/O,SAAS,SACvB+O,EAAc5G,GAAG,oBAAqBmT,KAQ9Cxc,EAAIoC,SACJpC,EAAI2c,gBAAkB,SAAUlR,GAE5B,IAAK,GADD+H,IAAQ,EACH9J,EAAI,EAAGA,EAAI1J,EAAIoC,MAAMd,OAAQoI,IAC9B1J,EAAIoC,MAAMsH,GAAG+B,MAAQA,IAAK+H,EAAQ9J,EAEtC8J,MAAU,GAAOxT,EAAIoC,MAAM8Q,OAAOM,EAAO,IAIjDxT,EAAI4c,KAAM,EACV5c,EAAI6c,IAAM,SAAUpR,EAAKxB,EAAMmI,EAAalS,GAExC,GAAI4c,GAAOrR,CAIX,IAHIzL,EAAIP,OAAO6C,0BAA4BmJ,EAAItK,QAAQ,MAAQ,IAC3D2b,EAAOrR,EAAIL,MAAM,KAAK,IAEtBpL,EAAIP,OAAO2C,QAAUgQ,GAAe3G,EAAItK,QAAQ,WAAa,GAAKnB,EAAIP,OAAO4C,YAAYlB,QAAQ2b,GAAQ,EAEzG,IAAK,GAAIpT,GAAI,EAAGA,EAAI1J,EAAIoC,MAAMd,OAAQoI,IAClC,GAAI1J,EAAIoC,MAAMsH,GAAG+B,MAAQqR,IAEjB,GAAKzP,OAAQC,UAAYtN,EAAIoC,MAAMsH,GAAGqT,KAAO/c,EAAIP,OAAO8C,cAGxD,MADArC,GAASF,EAAIoC,MAAMsH,GAAGkI,UACf,CAkCvB,OA5BA5R,GAAI4c,IAAMrc,EAAEyc,MACRvR,IAAKA,EACLkP,OAAQ,MACRsC,WAAYjd,EAAIP,OAAOyd,YACvBC,SAAU,SAAUP,GACXA,EAAIQ,QAAU,KAAOR,EAAIQ,OAAS,KAAuB,IAAfR,EAAIQ,QAC3Cpd,EAAIP,OAAO2C,QACXpC,EAAI2c,gBAAgBG,GACpB9c,EAAIoC,MAAMyI,MACNY,IAAKqR,EACLC,MAAM,GAAK1P,OAAQC,UACnBsE,QAASgL,EAAIS,gBAGrBnd,EAAS0c,EAAIS,cAAc,IAG3Bnd,EAAS0c,EAAIS,cAAc,GAE3Brd,EAAIP,OAAO6d,gBAAgBtd,EAAIP,OAAO6d,eAAeV,IAE7DW,MAAO,SAAUX,GACb1c,EAAS0c,EAAIS,cAAc,GACvBrd,EAAIP,OAAO+d,aAAaxd,EAAIP,OAAO+d,YAAYZ,MAGvD3S,IAAMA,EAAK2S,IAAM5c,EAAI4c,KAElB5c,EAAI4c,KAQf5c,EAAIyd,iBAEJzd,EAAIG,OAAS,SAAUR,EAAcM,EAAUC,GAC3C,GAAID,GAAYA,EAASmL,MAAM,KAAK9J,OAAS,EAAG,CAG5C,IAAK,GAFDoc,GAAYzd,EAASmL,MAAM,KAC3BuS,KACKjU,EAAI,EAAGA,EAAIgU,EAAUpc,OAAQoI,IAClCiU,EAAgB9S,KAAK7K,EAAIG,OAAOR,EAAc+d,EAAUhU,GAAIxJ,GAYhE,OAVAyd,GAAgB7M,OAAS,WACrB,IAAK,GAAIpH,GAAI,EAAGA,EAAIiU,EAAgBrc,OAAQoI,IACxCiU,EAAgBjU,GAAGoH,UAG3B6M,EAAgBtc,QAAU,WACtB,IAAK,GAAIqI,GAAI,EAAGA,EAAIiU,EAAgBrc,OAAQoI,IACxCiU,EAAgBjU,GAAGrI,WAGpBsc,EAEX,GAAIC,GAAY5d,EAAIyd,cAAc9d,GAAcM,EAKhD,OAJK2d,KACDA,EAAY5d,EAAIyd,cAAc9d,GAAcM,OAEhDD,EAAIyd,cAAc9d,GAAcM,GAAU4K,KAAK3K,IAE3C4Q,OAAQ,WAEJ,IAAK,GADD+M,GACKnU,EAAI,EAAGA,EAAIkU,EAAUtc,OAAQoI,IAC9BkU,EAAUlU,GAAGoU,aAAe5d,EAAS4d,aACrCD,EAAcnU,EAGK,oBAAhBmU,IAA6BD,EAAU1K,OAAO2K,EAAa,IAE1Exc,QAASnB,GAejB,KAAK,GADD6d,GAAqB,oFAAsF3S,MAAM,KAC5G1B,EAAI,EAAGA,EAAIqU,EAAmBzc,OAAQoI,IAC3C1J,EAAIyd,cAAcM,EAAmBrU,OACrChK,EAAmBqe,EAAmBrU,GAG1C1J,GAAIge,qBAAuB,SAAUre,EAAcM,EAAUqU,GACzD,GAAI2J,GAAoBje,EAAIyd,cAAc9d,GAAc,IACxD,IAAIse,EACA,IAAK,GAAIC,GAAI,EAAGA,EAAID,EAAkB3c,OAAQ4c,IAC1CD,EAAkBC,GAAG5J,EAG7B,IAAIsJ,GAAY5d,EAAIyd,cAAc9d,GAAcM,EAChD,IAAK2d,GAAkC,IAArBA,EAAUtc,OAC5B,IAAK,GAAIoI,GAAI,EAAGA,EAAIkU,EAAUtc,OAAQoI,IAClCkU,EAAUlU,GAAG4K,IAKrBtU,EAAIme,iBAAmB,SAAUlU,EAAMxK,GACnC,GAAIwQ,GAAgBxQ,EAAOwQ,aAC3B,IAAKA,KACDA,EAAcmO,oBAAqBnU,GAASA,EAAKxK,OAAOoK,UAA5D,CAEA,GAAIwU,GAAY5e,EAAOgZ,KAClB4F,KAEGA,EADA5e,EAAOgM,KAAOhM,EAAOgM,IAAItK,QAAQ,KAAO,EAC5BZ,EAAE+d,cAAc7e,EAAOgM,KAAO,IAErCwE,EAAczE,YAAcyE,EAAczE,WAAWiN,MAC9CxI,EAAczE,WAAWiN,SAQ7C,IAAInE,IACApK,UAAW+F,EACXxE,IAAKhM,EAAOgM,IACZgN,MAAO4F,EACP/M,KAAM/Q,EAAE0P,GAAelH,KAAK,aAC5BkB,KAAMA,EACNsU,KAAM9e,EAAOyQ,SACbsO,QAAS/e,EAAO+e,QAChB9S,qBAAsBjM,EAAOiM,qBAC7B+S,SAAUhf,EAAOgf,SAMrB,IAJIhf,EAAOgf,WAAahf,EAAOgf,SAAS/S,sBAAwBjM,EAAOif,0BACnEjf,EAAOgf,SAAS/S,qBAAuBjM,EAAOif;AAG9CzO,EAAcmO,oBAAuBnU,GAAQA,EAAKxK,OAAOoK,WAAeI,GAAQ1J,EAAE0P,GAAelC,QAAQ,0EAA0EzM,OAAS,GAS5L,MAPAtB,GAAI2e,WAAW1O,GAGfjQ,EAAIqT,WAAW,aAAciB,GACzBtU,EAAIP,OAAOmf,cAAc5e,EAAIP,OAAOmf,aAAa5e,EAAKsU,GAC1DtU,EAAIge,qBAAqB,SAAU1J,EAAShD,KAAMgD,OAClD/T,GAAE+T,EAASpK,WAAW7I,QAAQ,0BAA2BmT,KAAMF,GAGnErE,GAAcmO,mBAAoB,EAGlCnO,EAAczE,WAAa8I,GAGvBrK,GAASxK,EAAOof,aAAgBpf,EAAOwS,iBAEvC1R,EAAE0J,EAAKC,WAAWnB,KAAK,YAAauL,EAAShD,MAE7CrH,EAAKsB,WAAa+I,GAItBtU,EAAIqT,WAAW,iBAAkBiB,GAC7BtU,EAAIP,OAAOqf,kBAAkB9e,EAAIP,OAAOqf,iBAAiB9e,EAAKsU,GAClEtU,EAAIge,qBAAqB,aAAc1J,EAAShD,KAAMgD,GACtD/T,EAAE+T,EAASpK,WAAW7I,QAAQ,kCAAmCmT,KAAMF,IAGvEtU,EAAI+e,SAAS9O,GAGbjQ,EAAIqT,WAAW,WAAYiB,GACvBtU,EAAIP,OAAOuf,YAAYhf,EAAIP,OAAOuf,WAAWhf,EAAKsU,GACtDtU,EAAIge,qBAAqB,OAAQ1J,EAAShD,KAAMgD,GAChD/T,EAAE+T,EAASpK,WAAW7I,QAAQ,sBAAuBmT,KAAMF,MAE/DtU,EAAIif,mBAAqB,SAAUhV,EAAMgG,EAAeC,GACpD,GAAIgP,EACJ,IAAKjP,EAAL,CACIA,EAAczE,aAAY0T,EAAcjP,EAAczE,WAAWgT,QAErE,IAAIlK,IACApK,UAAW+F,EACXqB,KAAM/Q,EAAE0P,GAAelH,KAAK,aAC5BkB,KAAMA,EACNwB,IAAKwE,EAAczE,YAAcyE,EAAczE,WAAWC,IAC1DgN,MAAOxI,EAAczE,YAAcyE,EAAczE,WAAWiN,MAC5D/M,qBAAsBuE,EAAczE,YAAcyE,EAAczE,WAAWE,qBAC3E6S,KAAMrO,EACNsO,QAASU,EAGblf,GAAIqT,WAAW,mBAAoBiB,GAC/BtU,EAAIP,OAAO0f,oBAAoBnf,EAAIP,OAAO0f,mBAAmBnf,EAAKsU,GACtEtU,EAAIge,qBAAqB,eAAgB1J,EAAShD,KAAMgD,GACxD/T,EAAE+T,EAASpK,WAAW7I,QAAQ,sCAAuCmT,KAAMF,IAC3EA,EAAW,OAEftU,EAAIgQ,iBAAmB,SAAU9P,EAAU+J,EAAMxK,GAE7C,GACIyf,GADAjP,EAAgBxQ,EAAOwQ,aAE3B,IAAKA,EAAL,CACIA,EAAczE,aAAY0T,EAAcjP,EAAczE,WAAWgT,QAErE,IAAIlK,IACApK,UAAW+F,EACXqB,KAAM/Q,EAAE0P,GAAelH,KAAK,aAC5B0C,IAAKwE,EAAczE,YAAcyE,EAAczE,WAAWC,IAC1DgN,MAAOxI,EAAczE,YAAcyE,EAAczE,WAAWiN,MAC5DxO,KAAMA,EACNsU,KAAM9e,EAAOyQ,SACbsO,QAASU,EACTxT,qBAAsBuE,EAAczE,YAAcyE,EAAczE,WAAWE,qBAC3E2E,UAAW5Q,EAAO4Q,UAGL,WAAbnQ,IACAF,EAAIqT,WAAW,gBAAiBiB,GAC5BtU,EAAIP,OAAO2f,iBAAiBpf,EAAIP,OAAO2f,gBAAgBpf,EAAKsU,GAChEtU,EAAIge,qBAAqB,YAAa1J,EAAShD,KAAMgD,GACrD/T,EAAE0P,GAAe5O,QAAQ,gCAAiCmT,KAAMF,KAGnD,WAAbpU,IACAF,EAAIqT,WAAW,WAAYiB,GACvBtU,EAAIP,OAAO4f,YAAYrf,EAAIP,OAAO4f,WAAWrf,EAAKsU,GACtDtU,EAAIge,qBAAqB,OAAQ1J,EAAShD,KAAMgD,GAChD/T,EAAE+T,EAASpK,WAAW7I,QAAQ,sBAAuBmT,KAAMF,OAGnEtU,EAAIsQ,iBAAmB,SAAUpQ,EAAU+J,EAAMxK,GAC7C,GACIyf,GADAjP,EAAgBxQ,EAAOwQ,aAE3B,IAAKA,EAAL,CACIA,EAAczE,aAAY0T,EAAcjP,EAAczE,WAAWgT,QAErE,IAAIH,GAAY5e,EAAOgZ,KAClB4F,KAEGA,EADA5e,EAAOgM,KAAOhM,EAAOgM,IAAItK,QAAQ,KAAO,EAC5BZ,EAAE+d,cAAc7e,EAAOgM,KAAO,IAErCwE,EAAczE,YAAcyE,EAAczE,WAAWiN,MAC9CxI,EAAczE,WAAWiN,SAO7C,IAAInE,IACApK,UAAW+F,EACXxE,IAAKhM,EAAOgM,IACZgN,MAAO4F,EACP/M,KAAM/Q,EAAE0P,GAAelH,KAAK,aAC5BkB,KAAMA,EACNsU,KAAM9e,EAAOyQ,SACbsO,QAASU,EACT7O,UAAW5Q,EAAO4Q,UAClB3E,qBAAsBuE,EAAczE,YAAcyE,EAAczE,WAAWE,qBAC3E+S,SAAUhf,EAAOgf,UAEjBrO,EAAU3Q,EAAO2Q,QACjBD,EAAU1Q,EAAO0Q,OAYrB,IATAF,EAAczE,WAAa8I,EAEV,UAAbpU,IACAF,EAAIqT,WAAW,qBAAsBiB,GACjCtU,EAAIP,OAAO6f,sBAAsBtf,EAAIP,OAAO6f,qBAAqBtf,EAAKsU,GAC1EtU,EAAIge,qBAAqB,iBAAkB1J,EAAShD,KAAMgD,GAC1D/T,EAAE+T,EAASpK,WAAW7I,QAAQ,0CAA2CmT,KAAMF,KAGlE,WAAbpU,EAAuB,CAEvBK,EAAE0J,EAAKC,WAAWnB,KAAK,YAAauL,EAAShD,MAGzCrH,IAAMA,EAAKsB,WAAa+I,GAGxBnE,EAAQjP,SAAS,eAAiBkP,EAAQlP,SAAS,cACnD+I,EAAKqI,aAEJnC,EAAQjP,SAAS,eAAiBkP,EAAQlP,SAAS,eAAgBkP,EAAQlP,SAAS,wBACrF+I,EAAKuI,aAGLrC,EAAQjP,SAAS,gBAAkBkP,EAAQlP,SAAS,eACpD+I,EAAKwI,cAEJtC,EAAQjP,SAAS,gBAAkBkP,EAAQlP,SAAS,gBAAiBkP,EAAQlP,SAAS,yBACvF+I,EAAKyI,aAGT,IAAI6M,EACApP,GAAQjP,SAAS,eAAiBkP,EAAQlP,SAAS,eACnDqe,EAAShf,EAAE0J,EAAKC,WAAWlJ,KAAK,WACV,IAAlBue,EAAOje,SAAcie,EAAShf,EAAE0J,EAAKC,WAAW6D,QAAQ,IAAM/N,EAAIP,OAAOsH,YAAY/F,KAAK,YAC9FhB,EAAIyS,YAAY8M,IAEfpP,EAAQjP,SAAS,eAAiBkP,EAAQlP,SAAS,eAAgBkP,EAAQlP,SAAS,yBACrFqe,EAAShf,EAAE0J,EAAKC,WAAWlJ,KAAK,WACV,IAAlBue,EAAOje,SAAcie,EAAShf,EAAE0J,EAAKC,WAAW6D,QAAQ,IAAM/N,EAAIP,OAAOsH,YAAY/F,KAAK,YAC9FhB,EAAI0S,YAAY6M,IAGpBnP,EAAQnH,YAAY,4CAEpBjJ,EAAIqT,WAAW,sBAAuBiB,GAClCtU,EAAIP,OAAO+f,uBAAuBxf,EAAIP,OAAO+f,sBAAsBxf,EAAKsU,GAC5EtU,EAAIge,qBAAqB,kBAAmB1J,EAAShD,KAAMgD,GAC3D/T,EAAE+T,EAASpK,WAAW7I,QAAQ,4CAA6CmT,KAAMF,OAKzFtU,EAAI+e,SAAW,SAAU9O,GACrBA,EAAgB1P,EAAE0P,GACW,IAAzBA,EAAc3O,SAEdtB,EAAIiV,aAAajV,EAAIiV,YAAYhF,EAAclC,QAAQ,IAAM/N,EAAIP,OAAOoH,WAAW,IAEnF7G,EAAIyf,kBAAkBzf,EAAIyf,iBAAiBxP,GAE3CjQ,EAAI0f,kBAAkB1f,EAAI0f,iBAAiBzP,GAE3CjQ,EAAI2f,kBAAkB3f,EAAI2f,iBAAiB1P,GAE3CjQ,EAAI4f,gBAAgB5f,EAAI4f,eAAe3P,GAEvCjQ,EAAI6f,mBAAmB7f,EAAI6f,kBAAkB5P,GAE7CjQ,EAAI8f,wBAAwB9f,EAAI8f,uBAAuB7P,GAEvDjQ,EAAI6U,eAAe7U,EAAI6U,cAAc5E,GAErCjQ,EAAIuc,oBAAoBvc,EAAIuc,mBAAmBtM,GAE/CjQ,EAAI+f,wBAAwB/f,EAAI+f,uBAAuB9P,GAEvDjQ,EAAIggB,oBAAoBhgB,EAAIggB,mBAAmB/P,GAE/CjQ,EAAIigB,qBAAqBjgB,EAAIigB,oBAAoBhQ,GAEjDjQ,EAAIkgB,2BAA2BlgB,EAAIkgB,0BAA0BjQ,GAE7DjQ,EAAIP,OAAO+H,UAAYxH,EAAImgB,2BAA2BngB,EAAImgB,0BAA0BlQ,GAEpFjQ,EAAIP,OAAO+H,UAAYxH,EAAIogB,wBAAwBpgB,EAAIogB,uBAAuBnQ,GAE9EjQ,EAAIP,OAAO+H,UAAYxH,EAAIqgB,wBAAwBrgB,EAAIqgB,uBAAuBpQ,KAEtFjQ,EAAI2e,WAAa,SAAU1O,GACvBA,EAAgB1P,EAAE0P,GACW,IAAzBA,EAAc3O,SAEdtB,EAAIiV,aAAajV,EAAIiV,YAAYhF,EAAclC,QAAQ,IAAM/N,EAAIP,OAAOoH,WAAW,IAEnF7G,EAAIsgB,kBAAkBtgB,EAAIsgB,iBAAiBrQ,GAE3CjQ,EAAIugB,gBAAgBvgB,EAAIugB,eAAetQ,KAE/CjQ,EAAIwgB,qBAAuB,SAAUvQ,GACjCA,EAAgB1P,EAAE0P,EAClB,IAAI8E,GAAgB9E,EAAclC,QAAQ,IAAM/N,EAAIP,OAAOoH,UAC3D,IAA6B,IAAzBkO,EAAczT,OAAlB,CACA,GAAI2I,GAAO8K,EAAc,GAAGvK,QAAUtH,OAClCuI,EAAMxB,GAAQA,EAAKwB,IAAMxB,EAAKwB,IAAMvI,MACpC6R,IAAiB9E,EAAclH,KAAK,cACpCgM,EAAchM,KAAK,YAAakH,EAAclH,KAAK,cAEvD/I,EAAIme,iBAAiBlU,GAAOgG,cAAeA,EAAc,GAAIxE,IAAKA,EAAKyE,SAAU,aAMrFlQ,EAAI6C,QACA4d,QAAS,SAAUrU,GACXpM,EAAIP,OAAOqD,qBAAuB9C,EAAIP,OAAOsD,wBAC7Cd,WAAW,WACP1B,EAAE6L,GAAI0E,UACP,GAEFvQ,EAAE6L,GAAI0E,UAEf4P,gBAAiB,yEAEjBC,aAAc7e,SAAS8e,cAAc,OAGrCC,YAAa,SAAUpX,EAAUS,EAAWD,EAAM6W,GAC9C5W,EAAY3J,EAAE2J,GACV4W,IAAWrX,GAAsB,gBACrC,IAAI2N,GAAQlN,EAAUlJ,KAAKyI,GAAUsX,OAAO,SAAUvN,EAAOpH,GACzD,MAA4D,KAArD7L,EAAE6L,GAAI2B,QAAQ/N,EAAI6C,OAAO6d,iBAAiBpf,QAYrD,OAVI8V,GAAM9V,OAAS,IACc,gBAAlB2I,GAAKR,WAEZ2N,EAAQlN,EAAUlJ,KAAKiJ,EAAKR,SAAW,IAAMA,IAE7C2N,EAAM9V,OAAS,IAEf8V,EAAQlN,EAAUlJ,KAAK,IAAMhB,EAAIP,OAAOqH,cAAgB,IAAM2C,KAGjD,IAAjB2N,EAAM9V,OAAqB8V,GAGtB0J,IAAW1J,EAAQpX,EAAI6C,OAAOge,YAAYpX,EAAUS,EAAWD,GAAM,IACtEmN,GAA0B,IAAjBA,EAAM9V,OAAqB8V,EACpCA,GAASA,EAAM9V,OAAS,EAAUf,EAAE6W,EAAM,IACzC,SAKbjQ,aAAc,SAAU6Z,EAAUC,EAAWC,GAEzC,GAAIC,GAAgB,2CACF,aAAdD,IACAF,EAAS/X,YAAYkY,GAAe/Y,SAAS,4BAC7C6Y,EAAUhY,YAAYkY,GAAe/Y,SAAS,8BAGhC,aAAd8Y,IACAF,EAAS/X,YAAYkY,GAAe/Y,SAAS,4BAC7C6Y,EAAUhY,YAAYkY,GAAe/Y,SAAS,+BAMtDgZ,cAAe,SAAUC,EAAgBC,EAAgBC,GACrDhhB,EAAE8gB,GAAgBrgB,KAAK,YAAY6O,KAAK,WACpC,GAAIE,GAAUxP,EAAEC,MACZghB,EAAsC,UAAtBD,EAAgC/gB,KAAK8O,oBAAsB9O,KAAKgP,kBAEhFxP,GAAIP,OAAOsE,oBACPgM,EAAQ7O,SAAS,SAAW6O,EAAQ/O,KAAK,eAAeM,OAAS,GACjEyO,EAAQ/O,KAAK,eAAeiO,UAAU,gBAAmBuS,EAAiB,WAGlFzR,EAAQd,UAAU,eAAiBuS,EAAgB,cAK3DC,eAAgB,SAAUC,EAAiBC,EAAkBT,GAEzD,GAAIC,GAAgB,iDACF,aAAdD,IACAS,EAAiB1Y,YAAYkY,GAAe/Y,SAAS,+BACrDuZ,EAAiB3gB,KAAK,YAAY6O,KAAK,WACnC,GAAIE,GAAUxP,EAAEC,KAChBuP,GAAQd,UAAU,wBACdjP,EAAIP,OAAOsE,oBACPgM,EAAQ7O,SAAS,SAAW6O,EAAQ/O,KAAK,eAAeM,OAAS,GACjEyO,EAAQ/O,KAAK,eAAeiO,UAAU,0BAKlDyS,EAAgBzY,YAAYkY,GAAe/Y,SAAS,8BACpDsZ,EAAgB1gB,KAAK,YAAY6O,KAAK,WAClC,GACI+R,GADA7R,EAAUxP,EAAEC,KAEZR,GAAIP,OAAOsE,qBACPgM,EAAQ7O,SAAS,WAAaygB,EAAiB3gB,KAAK,6BAA6BM,OAAS,IAC1FsgB,EAAYD,EAAiB3gB,KAAK,4BAC9B4gB,EAAUtgB,OAAS,IAAGd,KAAKgP,oBAAsBoS,EAAU,GAAGpL,aAElEzG,EAAQ7O,SAAS,SAAW6O,EAAQ/O,KAAK,eAAeM,OAAS,GACjEyO,EAAQ/O,KAAK,eAAeiO,UAAU,gBAAmBzO,KAAKgP,mBAAsB,YAG5FO,EAAQd,UAAU,eAAkBzO,KAAuB,mBAAI,cAIrD,aAAd0gB,IACAQ,EAAgBzY,YAAYkY,GAAe/Y,SAAS,8BACpDsZ,EAAgB1gB,KAAK,YAAY6O,KAAK,WAClC,GAAIE,GAAUxP,EAAEC,KAChBuP,GAAQd,UAAU,wBACdjP,EAAIP,OAAOsE,oBACPgM,EAAQ7O,SAAS,SAAW6O,EAAQ/O,KAAK,eAAeM,OAAS,GACjEyO,EAAQ/O,KAAK,eAAeiO,UAAU,0BAKlD0S,EAAiB1Y,YAAYkY,GAAe/Y,SAAS,+BACrDuZ,EAAiB3gB,KAAK,YAAY6O,KAAK,WACnC,GAAIE,GAAUxP,EAAEC,KACZR,GAAIP,OAAOsE,oBACPgM,EAAQ7O,SAAS,SAAW6O,EAAQ/O,KAAK,eAAeM,OAAS,GACjEyO,EAAQ/O,KAAK,eAAeiO,UAAU,gBAAmBzO,KAAK8O,oBAAuB,WAG7FS,EAAQd,UAAU,eAAkBzO,KAAwB,oBAAI,eAK5EqhB,WAAY,SAAS5X,EAAM2H,EAASnG,EAAKqW,GAErC9hB,EAAIqT,WAAW,mBAAoBpJ,EAAM2H,EAASnG,EAAKqW,GAGvDlQ,EAAU5R,EAAI+hB,cAAc,aAAcnQ,GAEtC3H,GAAQA,EAAKxK,QAAUwK,EAAKxK,OAAOoiB,YACnCjQ,EAAU3H,EAAKxK,OAAOoiB,WAAWjQ,EAASnG,EAAKqW,GACxB,mBAAZlQ,IACPkQ,EAAKlQ,IAGJ5R,EAAIP,OAAOoiB,YAChBjQ,EAAU5R,EAAIP,OAAOoiB,WAAWjQ,EAASnG,EAAKqW,GACvB,mBAAZlQ,IACPkQ,EAAKlQ,IAITkQ,EAAKlQ,IAGboQ,SAAU,SAAS/X,EAAMwH,EAASwQ,GAG9B,MAFIA,KAAQxQ,EAAQwQ,QAAS,GAC7BjiB,EAAIqT,WAAW,iBAAkBpJ,EAAMwH,MAClCzR,EAAIP,OAAOuiB,UAAYhiB,EAAIP,OAAOuiB,SAAS/X,EAAMwH,MAAa,GAAWxH,GAAQA,EAAKxK,OAAOuiB,UAAY/X,EAAKxK,OAAOuiB,SAAS/X,EAAMwH,MAAa,IAQ1JyQ,gBAAiB,SAAUjY,EAAMwH,GAC7B,GAOI0Q,GAAQC,EAPR3W,EAAMgG,EAAQhG,IACdmG,EAAUH,EAAQG,QAClByQ,EAAsB5Q,EAAQG,QAC9B4M,EAAU/M,EAAQ+M,QAClB8D,EAAc7Q,EAAQ6Q,YACtBC,EAAW9Q,EAAQ8Q,QAiBvB,IAduB,gBAAZ3Q,GACHnG,EACIzL,EAAIwiB,eAAe/W,KAASgG,EAAQW,YAAagQ,EAAcna,EAAG7F,MAAMqJ,IAExE2W,EAAcna,EAAGwa,QAAQ7Q,GACzB3J,EAAG7F,MAAMqJ,GAAO2W,GAGnBA,EAAcna,EAAGwa,QAAQ7Q,GAEzB2Q,IACLH,EAAcG,GAGd/D,EACA2D,EAAS3D,EACLA,GAAW/S,IACXxB,EAAKI,aAAaoB,GAAO+S,OAG5B,CACD,GAAI8D,EACA,GAAIA,EAAYnhB,QAAQ,MAAQ,EAAG,CAG/B,IAAK,GAFDuhB,GAAYJ,EAAYlX,MAAM,KAC9BuX,EAAO1a,EAAG2a,KAAKF,EAAU,IACpBhZ,EAAI,EAAGA,EAAIgZ,EAAUphB,OAAQoI,IAC9BgZ,EAAUhZ,KAAIiZ,EAAOA,EAAKD,EAAUhZ,IAE5CyY,GAASQ,MAERR,GAASla,EAAG2a,KAAKN,EAK1B,KAHKH,GAAU1W,IACX0W,EAASla,EAAG2a,KAAK,OAASnX,KAEzB0W,GAA6B,gBAAZvQ,KAAyB2Q,EAAU,CAErD,GAAIM,GAAgBjR,EAAQ9R,MAAM,8BAClC,IAAI+iB,EAAe,CACf,GAAIrO,GAAOqO,EAAc,GAAGzX,MAAM,cAAc,GAAGvL,QAAQ,QAAS,GAChE2U,KAAM2N,EAASla,EAAG2a,KAAK,QAAUpO,KAG7C,IAAK2N,GAAUI,GAAYta,EAAGb,UAE1B,IAAK,GAAI0b,KAAgB7a,GAAGb,UACpBa,EAAGb,UAAU0b,KAAkBP,IAAUJ,EAASla,EAAG2a,KAAKE,KAGjEX,GAAU1W,GAAOA,IAAOxB,GAAKI,eAC9B8X,EAASlY,EAAKI,aAAaoB,IAE1B0W,IACDA,MAIR,GAAIC,GAAeD,EAAQ,CAEvB,GADsB,kBAAXA,KAAuBA,EAASA,KACvC1W,EAAK,CAEL,GAAIgN,GAAQlY,EAAE+d,cAAc7S,EAC5B0W,GAAOY,YACP,KAAK,GAAIC,KAAOvK,GACZ0J,EAAOY,UAAUC,GAAOvK,EAAMuK,GAGtC,IACIX,EAAsBD,EAAYD,GAEtC,MAAOtV,GACHwV,EAAsB,GAClB9iB,OAAO0jB,SAAW1jB,OAAO0jB,QAAQ1F,OACjC0F,QAAQ1F,MAAM1Q,IAK1B,OAAQ+E,QAASyQ,EAAqB7D,QAAS2D,KAKvDniB,EAAI6C,OAAOqgB,MAAQ,SAAUjZ,EAAMwH,GAqU/B,QAAS0R,KACLlZ,EAAKa,iBAAkB,EACvBqF,EAAQlH,YAAY,wDAAwDb,SAAS,kBACrFgI,EAAQnH,YAAY,yDAAyDb,SAAS,gBAClFwB,IACAyX,EAAepY,YAAY,8DAA8Db,SAAS,oBAClGkZ,EAAerY,YAAY,+DAA+Db,SAAS,mBAEvGpI,EAAIsQ,iBAAiB,QAASrG,GAC1BgG,cAAeE,EAAQ,GACvB1E,IAAKA,EACLyE,SAAU,QACVE,QAASA,EACTD,QAASA,EACTsI,MAAOhH,EAAQgH,MACfgG,SAAUrO,GAAWA,EAAQ9O,QAAU8O,EAAQ,GAAG5E,aAElDxL,EAAIP,OAAOuD,WAAaiH,EAAKE,MAAMnK,EAAIojB,sBACrCnZ,EAAKxK,OAAOuE,eAAiBiG,EAAKxK,OAAO+C,sBACvCyH,EAAKxK,OAAOoK,UACZuG,EAAQhI,SAAS,UACbwB,GAAe0X,EAAelZ,SAAS,WAGhB,IAArBqD,EAAItK,QAAQ,MAAqE,IAAvDgP,EAAQpH,KAAK,aAAa5H,QAAQ,mBAC9DnB,EAAIif,mBAAmBhV,EAAMmG,EAAQ,GAAI,QACrCxG,GAAe5J,EAAI4U,qBAAqB3K,EAAMmG,EAAQ,GAAIqE,EAAO,GAAI6M,EAAe,IACxFthB,EAAI6C,OAAO4d,QAAQrQ,GACfxG,GAAe5J,EAAI6C,OAAO4d,QAAQa,KAI9CrX,EAAKxK,OAAOgD,eAAiB4gB,GAC7BpZ,EAAKoI,sBApWbrS,EAAIqT,WAAW,aAAcpJ,EAAMwH,EAEnC,IAQItB,GAASC,EAASkT,EAAa5Z,EAAG4X,EAAgBD,EAAgB5M,EAAQ7K,EAAe2Z,EARzF9X,EAAMgG,EAAQhG,IACdmG,EAAUH,EAAQG,QAClB4R,GAAe5R,QAASH,EAAQG,SAChC2Q,EAAW9Q,EAAQ8Q,SACnBtiB,EAAWwR,EAAQxR,SACnB8U,EAAgBxU,EAAE0J,EAAKC,WACvBO,EAAiBlK,EAAE0J,EAAKQ,gBACxBtD,EAAesK,EAAQtK,aAEvBsc,EAA+B,mBAARhY,IAAuBmG,GAAW2Q,EACzDvf,EAAYyO,EAAQzO,UACpB0gB,EAAcjS,EAAQiS,WAe1B,IAb4B,mBAAjBvc,KAA8BA,EAAe8C,EAAKxK,OAAO0H,eAGhEnH,EAAIP,OAAO6H,gBAAqC,gBAAZsK,IAAwB2Q,KAC5DiB,EAAcxjB,EAAI6C,OAAOqf,gBAAgBjY,EAAMwH,GAC3C+R,EAAY5R,UAAYA,IACxBA,EAAU4R,EAAY5R,UAI9B5R,EAAI6C,OAAO8d,aAAagD,UAAY,IAG/B1jB,IAAayjB,EACd,GAAwB,gBAAZ9R,IAA0BnG,GAA2B,gBAAZmG,GACjD5R,EAAI6C,OAAO8d,aAAagD,UAAYH,EAAY5R,YAEhD,IAAI,UAAYA,IAAWA,EAAQtQ,OAAS,EACxC,IAAK,GAAIsiB,GAAK,EAAGA,EAAKhS,EAAQtQ,OAAQsiB,IAClCrjB,EAAEP,EAAI6C,OAAO8d,cAActS,OAAOuD,EAAQgS,QAG9CrjB,GAAEP,EAAI6C,OAAO8d,cAActS,OAAOuD,EAe9C,IATA2R,EAAiB9R,EAAQK,SAAWL,EAAQQ,eAAiB,OAAS,UAGxD9B,EAAVlQ,EAAoBwK,EAAezJ,KAAK,oBAAsBf,EAAW,MAErEyjB,EAAuBnjB,EAAEmjB,GACd1jB,EAAI6C,OAAOge,YAAY,QAAS7gB,EAAI6C,OAAO8d,aAAc1W,IAGvEkG,GAA8B,IAAnBA,EAAQ7O,QAAiBrB,GAAYgK,EAAKsB,YAActB,EAAKsB,WAAW+F,OAASrR,EAE7F,YADAgK,EAAKa,iBAAkB,EAc3B,IAVAqF,EAAQ/H,SAASqJ,EAAQK,OAAS,WAAayR,EAAiB,iBAGhED,EAAc7Y,EAAeqJ,SAAS,sBAClC4P,IACAJ,EAAcA,EAAYvC,OAAO,SAAUvN,EAAOgB,GAC9C,GAAIA,IAASkP,EAAa,MAAOlP,MAIrC/C,EAAQK,QAAUL,EAAQQ,gBAAyC,IAAvBqR,EAAYhiB,OAExD,YADA2I,EAAKa,iBAAkB,EAI3B,IAAI2G,EAAQK,OACR1B,EAAUkT,EAAY/hB,GAAG+hB,EAAYhiB,OAAS,OAE7C,CACD,GAAIgiB,EAAYhiB,OAAS,EAAG,CACxB,IAAKoI,EAAI,EAAGA,EAAI4Z,EAAYhiB,OAAS,EAAGoI,IAC/BO,EAAKxK,OAAOoK,SAKbtJ,EAAE+iB,EAAY5Z,IAAItB,SAAS,WAJ3BpI,EAAIif,mBAAmBhV,EAAMqZ,EAAY5Z,GAAI,QAC7C1J,EAAI6C,OAAO4d,QAAQ6C,EAAY5Z,IAMlCO,GAAKxK,OAAOoK,SAKbtJ,EAAE+iB,EAAY5Z,IAAItB,SAAS,WAJ3BpI,EAAIif,mBAAmBhV,EAAMqZ,EAAY5Z,GAAI,QAC7C1J,EAAI6C,OAAO4d,QAAQ6C,EAAY5Z,KAMvC0G,EAAU3F,EAAeqJ,SAAS,sBAUtC,GARI4P,GAAetT,EAAQ9O,OAAS,IAChC8O,EAAUA,EAAQ2Q,OAAO,SAAUvN,EAAOgB,GACtC,GAAIA,IAASkP,EAAa,MAAOlP,OAGtCvK,EAAKxK,OAAOoK,UAAY6Z,IAAavT,EAAQlH,YAAY,UAGxDgB,EAAKxK,OAAOmK,cA4BZ,GA3BAA,GAAgB,EAGZyX,EADAphB,EACiB8U,EAAc/T,KAAK,4BAA8Bf,EAAW,MAG5DD,EAAI6C,OAAOge,YAAY,gBAAiB7gB,EAAI6C,OAAO8d,aAAc1W,GAEjFoX,GAA4C,IAA1BA,EAAe/f,SAElC+f,EAAiBlR,EAAQnP,KAAK,iBACzBqgB,GAA4C,IAA1BA,EAAe/f,OAK9B+f,EAAenN,OAAO,WAAW5S,OAAS,GAC1C+f,EAAewC,UAAU1T,GAJ7BvG,GAAgB,GAQpBA,GAAiBuG,EAAQnP,KAAK,WAAWM,OAAS,GAClDtB,EAAI6C,OAAO4d,QAAQtQ,EAAQnP,KAAK,WAAW+f,OAAO,SAASvN,EAAOpH,GAC9D,MAA4D,KAArD7L,EAAE6L,GAAI2B,QAAQ/N,EAAI6C,OAAO6d,iBAAiBpf,UAGzDmT,EAASM,EAAcjB,SAAS,WAC5BrC,EAAQK,OACRwP,EAAiB7M,EAAOzT,KAAK,6CAK7B,IAFAsgB,EAAiB7M,EAAOzT,KAAK,8BAEzBsgB,EAAehgB,OAAS,EAAG,CAC3B,IAAKoI,EAAI,EAAGA,EAAI4X,EAAehgB,OAAS,EAAGoI,IAClCO,EAAKxK,OAAOoK,SAKbtJ,EAAE+gB,EAAe5X,IAAItB,SAAS,WAJ9BpI,EAAI4U,qBAAqB3K,EAAMqZ,EAAY5Z,GAAI+K,EAAO,GAAI6M,EAAe5X,IACzE1J,EAAI6C,OAAO4d,QAAQa,EAAe5X,IAKrC2X,IAA4C,IAA1BC,EAAehgB,SAC7B2I,EAAKxK,OAAOoK,SAKbtJ,EAAE+gB,EAAe,IAAIlZ,SAAS,WAJ9BpI,EAAI4U,qBAAqB3K,EAAMqZ,EAAY,GAAI7O,EAAO,GAAI6M,EAAe,IACzEthB,EAAI6C,OAAO4d,QAAQa,EAAe,MAK1CA,EAAiB7M,EAAOzT,KAAK,8BAYzC,GARI4I,IACAyX,EAAejZ,SAASqJ,EAAQK,OAAS,aAAeyR,EAAiB,oBACtEtZ,EAAKxK,OAAOoK,UAAY6Z,IAAarC,EAAepY,YAAY,UACnEkH,EAAQ,GAAG2T,gBAAkBzC,EAAe,GAC5CA,EAAe,GAAG0C,cAAgB5T,EAAQ,IAIzC1E,EAWIA,GAAOiY,IACZzZ,EAAKM,kBAAkBkB,IACnB+I,KAAMrE,EACN+E,YAAamM,QAdX,CACN,GAAI2C,GAAc/jB,GAAYkQ,EAAQpH,KAAK,YACxB0C,GAAfgY,EAAqB,IAAMzjB,EAAIP,OAAOkD,eAAe9C,QAAQ,YAAamkB,GAAankB,QAAQ,aAAcoK,EAAKiB,QAAQ5J,QAAUmQ,EAAQK,OAAS,EAAI,IAClJ,IAAMkS,EACZ/Z,EAAKxK,OAAOoK,WACbI,EAAKG,aAAaqB,GAAOmG,GAEzB3H,EAAKxK,OAAOoK,UAAY5J,IACxBgK,EAAKK,WAAWmB,GAAOxL,GAW/B,GAAID,EAAIP,OAAOuD,YAAcyO,EAAQQ,gBAAkBhI,EAAKE,KAAO,CACtC,mBAAdnH,KAA2BA,GAAY,EAClD,IAAIC,GAAgBjD,EAAIP,OAAOwD,eAAiB,GAC5C0X,EAASlJ,EAAQK,OAAS,eAAiB,WAC3C9O,KACKygB,GAAkBxjB,EAGdwjB,GAAiB7R,EACtB1G,QAAQyP,IAAS/I,QAA4B,gBAAZA,GAAuBA,EAAU,GAAInG,IAAKA,EAAKwY,UAAWjkB,EAAIuJ,MAAMpI,QAAQ8I,IAAQ,GAAIhH,EAAgBjD,EAAIP,OAAO2D,mBAAqBqI,GAEpKxL,GACLiL,QAAQyP,IAAS1a,SAAUA,EAAUwL,IAAKA,EAAKwY,UAAWjkB,EAAIuJ,MAAMpI,QAAQ8I,IAAQ,GAAIhH,EAAgBjD,EAAIP,OAAO2D,mBAAqBqI,GANxIP,QAAQyP,IAASlP,IAAKA,EAAKwY,UAAWjkB,EAAIuJ,MAAMpI,QAAQ8I,IAAQ,GAAIhH,EAAgBjD,EAAIP,OAAO2D,mBAAqBqI,IAahI,GADAxB,EAAKwB,IAAMA,EACPgG,EAAQK,OAAQ,CAChB,GAAIoS,GAAUja,EAAKiB,QAAQjB,EAAKiB,QAAQ5J,QAAUmQ,EAAQQ,eAAiB,EAAI,GAC3EiS,IACyB,IAAzBA,EAAQ/iB,QAAQ,MAChB+iB,IAAWja,GAAKG,cAChB8Z,IAAYzY,GACZxB,EAAKiB,QAAQ/J,QAAQ+iB,MAAa,GAClCja,EAAKG,aAAa8Z,GAAW,WACtBja,GAAKG,aAAa8Z,IAEpBA,GACLA,IAAWja,GAAKM,mBAChB2Z,IAAYzY,IACXxB,EAAKiB,QAAQ/J,QAAQ+iB,MAAa,GAAMja,EAAKiB,QAAQ/J,QAAQ+iB,KAAaja,EAAKiB,QAAQ5J,OAAS,KACjG2I,EAAKM,kBAAkB2Z,GAAW,WAC3Bja,GAAKM,kBAAkB2Z,IAE9BA,GACAA,IAAWja,GAAKI,cAChB6Z,IAAYzY,IACXxB,EAAKiB,QAAQ/J,QAAQ+iB,MAAa,GAAMja,EAAKiB,QAAQ/J,QAAQ+iB,KAAaja,EAAKiB,QAAQ5J,OAAS,KACjG2I,EAAKI,aAAa6Z,GAAW,WACtBja,GAAKI,aAAa6Z,IAE7Bja,EAAKiB,QAAQjB,EAAKiB,QAAQ5J,QAAUmQ,EAAQQ,eAAiB,EAAI,IAAMxG,MAGvExB,GAAKiB,QAAQL,KAAKY,EAItB,IAAI4X,IAAsB,CAC1B,IAAIpZ,EAAKxK,OAAOgD,cAAe,CAC3B,GAAI0hB,GAAWla,EAAKiB,QAChB4R,EAAOrR,CACX,IAAIxB,EAAKxK,OAAOiD,iCAGZ,IAFAyhB,KACArH,EAAOrR,EAAIL,MAAM,KAAK,GACjB1B,EAAI,EAAGA,EAAIO,EAAKiB,QAAQ5J,OAAQoI,IACjCya,EAAStZ,KAAKZ,EAAKiB,QAAQxB,GAAG0B,MAAM,KAAK,GAI7C+Y,GAAShjB,QAAQ2b,KAAUqH,EAASC,YAAYtH,KAChD7S,EAAKiB,QAAUjB,EAAKiB,QAAQmZ,MAAM,EAAGF,EAAShjB,QAAQ2b,IACtD7S,EAAKiB,QAAQL,KAAKY,GAClB4X,GAAsB,GAiD9B,GA7CI5R,EAAQQ,gBACR7B,EAAUA,EAAQkU,KAAK,SACvBnU,EAAQoU,aAAanU,GACjBxG,IACA0X,EAAiBA,EAAegD,KAAK,iBACrCjD,EAAemD,YAAYlD,MAI/B7W,EAAe4D,OAAO8B,EAAQ,IAC1BvG,GAAe6K,EAAOpG,OAAOgT,EAAe,KAGhD5P,EAAQK,SACJ7H,EAAKxK,OAAOoK,UAAYI,EAAKS,aAAavJ,QAAQiP,EAAQ,KAAO,GACjEA,EAAQhI,SAAS,UACbwB,GAAe0X,EAAelZ,SAAS,YAG3CpI,EAAIif,mBAAmBhV,EAAMmG,EAAQ,GAAImT,GACrC3Z,GAAe5J,EAAI4U,qBAAqB3K,EAAMmG,EAAQ,GAAIqE,EAAO,GAAI6M,EAAe,IACxFthB,EAAI6C,OAAO4d,QAAQrQ,GACfxG,GAAe5J,EAAI6C,OAAO4d,QAAQa,KAK9CthB,EAAIme,iBAAiBlU,GACjBgG,cAAeE,EAAQ,GACvB1E,IAAKA,EACLyE,SAAUuB,EAAQK,OAASyR,EAAiB,QAC5C7X,qBAAsB9B,EAAgByX,GAAkBA,EAAe,GAAKne,OAC5Ewb,wBAAyB9U,EAAgB0X,GAAkBA,EAAe,GAAKpe,OAC/Esb,QAASgF,EAAYhF,SAAW/M,EAAQ+M,QACxC/F,MAAOhH,EAAQgH,MACfgG,SAAUrO,GAAWA,EAAQ9O,QAAU8O,EAAQ,GAAG5E,WAClDsG,OAAQL,EAAQK,OAChBG,eAAgBR,EAAQQ,iBAIxBrI,GACA5J,EAAIgU,mBAAmB/J,EAAMkG,EAAQ,GAAIsE,EAAO,GAAI4M,EAAe,GAAI5V,EAAKgG,EAAQK,OAASyR,EAAiB,SAG9G9R,EAAQK,OAGR,MAFA7H,GAAKa,iBAAkB,OACnBuY,GAAqBpZ,EAAKoI,sBAI9BzI,IAAiBzC,GACjBnH,EAAI6C,OAAOue,cAAcC,EAAgBC,EAAgB,QAG5CnR,GAAQ,GAAGiI,UAG5BpY,GAAIsQ,iBAAiB,SAAUrG,GAC3BgG,cAAeE,EAAQ,GACvB1E,IAAKA,EACLyE,SAAU,QACVE,QAASA,EACTD,QAASA,EACTsI,MAAOhH,EAAQgH,MACfgG,SAAUrO,GAAWA,EAAQ9O,QAAU8O,EAAQ,GAAG5E,aAuClDrE,GAEInH,EAAIP,OAAO+H,UAAYxH,EAAIP,OAAOgI,sBAClCxF,WAAW,WACPjC,EAAI6C,OAAOsE,aAAaiJ,EAASD,EAAS,UAAWlG,IACtDjK,EAAIP,OAAOgI,uBAGdzH,EAAI6C,OAAOsE,aAAaiJ,EAASD,EAAS,UAAWlG,GAIrDL,GACA3H,WAAW,WACPjC,EAAI6C,OAAO4e,eAAeH,EAAgBD,EAAgB,UAAWpX,IACtE,GAEPkG,EAAQsU,aAAa,WACjBtB,QAIAvZ,GAAeyX,EAAergB,KAAK,kCAAkCiO,UAAU,IACnFkU,MAKRnjB,EAAI6C,OAAO2O,KAAO,SAAUvH,EAAMwH,GAyB9B,QAASiT,GAAQ9S,GACb5R,EAAI6C,OAAOgf,WAAW5X,EAAM2H,EAASnG,EAAK,SAAUmG,GAChDH,EAAQG,QAAUA,EAClB5R,EAAI6C,OAAOqgB,MAAMjZ,EAAMwH,KA1B/B,GADAA,EAAUA,MACNzR,EAAI6C,OAAOmf,SAAS/X,EAAMwH,GAC1B,OAAO,CAEX,IAAIhG,GAAMgG,EAAQhG,IACdmG,EAAUH,EAAQG,QAClB3R,EAAWwR,EAAQxR,SACnByjB,EAAcjS,EAAQiS,WACtBzjB,IACIA,EAASkB,QAAQ,KAAO,IACxBsQ,EAAQgH,MAAQlY,EAAE+d,cAAcre,GAChCwR,EAAQxR,SAAWA,EAAWA,EAASmL,MAAM,KAAK,GAG1D,IAAImX,GAAW9Q,EAAQ8Q,QAGvB,OAFItY,GAAKxK,OAAOsK,eAAgB,IAAM0H,EAAQK,QAAS,KAElD7H,EAAKa,oBACNW,GAAOxB,EAAKwB,MAAQA,IAAQgG,EAAQK,SAAW7H,EAAKxK,OAAOmD,sBAC/DqH,EAAKa,iBAAkB,EACnB9K,EAAI4c,KAAO3S,EAAK2S,KAAO3S,EAAK2S,MAAQ5c,EAAI4c,MACxC5c,EAAI4c,IAAI+H,QACR3kB,EAAI4c,KAAM,GAQVhL,GAAW3R,GAAYyjB,MACvBgB,GAAQ9S,GAGH2Q,MACLviB,GAAI6C,OAAOqgB,MAAMjZ,EAAMwH,GAItBA,EAAQhG,KAAuB,MAAhBgG,EAAQhG,QAI5BzL,GAAI6c,IAAIpL,EAAQhG,IAAKxB,EAAMwH,EAAQW,YAAa,SAAUR,EAAS2L,GAC/D,MAAIA,QACAtT,EAAKa,iBAAkB,OAG3B4Z,GAAQ9S,UARR3H,EAAKa,iBAAkB,MAY/B9K,EAAI6C,OAAO+hB,MAAQ,SAAU3a,EAAMwH,GAiC/B,QAAS0R,KACLnjB,EAAIgQ,iBAAiB,QAAS/F,GAC1BgG,cAAeG,EAAQ,GACvB3E,IAAKA,EACLyE,SAAU,SACVE,QAASA,EACTD,QAASA,IAEbnQ,EAAIsQ,iBAAiB,QAASrG,GAC1BgG,cAAeE,EAAQ,GACvB1E,IAAKA,EACLyE,SAAU,OACVE,QAASA,EACTD,QAASA,EACTsI,MAAOhH,EAAQgH,MACfgG,SAAUrO,GAAWA,EAAQ9O,QAAU8O,EAAQ,GAAG5E,aAEtDxL,EAAI6C,OAAO8N,UAAU1G,EAAMmG,EAAQ,GAAID,EAAQ,IAEnD,QAAS0U,KAEL7kB,EAAIgQ,iBAAiB,SAAU/F,GAC3BgG,cAAeG,EAAQ,GACvB3E,IAAKA,EACLyE,SAAU,SACVE,QAASA,EACTD,QAASA,IAEbnQ,EAAIsQ,iBAAiB,SAAUrG,GAC3BgG,cAAeE,EAAQ,GACvB1E,IAAKA,EACLyE,SAAU,OACVE,QAASA,EACTD,QAASA,EACTsI,MAAOhH,EAAQgH,MACfgG,SAAUrO,GAAWA,EAAQ9O,QAAU8O,EAAQ,GAAG5E,aAGlDrE,GAEAnH,EAAI6C,OAAOsE,aAAagJ,EAASC,EAAS,WAAYnG,GAGlDL,GACA3H,WAAW,WACPjC,EAAI6C,OAAO4e,eAAeJ,EAAgBC,EAAgB,WAAYrX,IACvE,GAGPkG,EAAQsU,aAAa,WACjBtB,QAIAvZ,GAAeyX,EAAergB,KAAK,kCAAkCiO,UAAU,IACnFkU,KAIR,QAAS2B,KAGL,GAFA9kB,EAAI6C,OAAO8d,aAAagD,UAAY,GAEZ,gBAAZ/R,IAA0BnG,GAA2B,gBAAZmG,GACjD5R,EAAI6C,OAAO8d,aAAagD,UAAYH,EAAY5R,YAEhD,IAAI,UAAYA,IAAWA,EAAQtQ,OAAS,EACxC,IAAK,GAAIsiB,GAAK,EAAGA,EAAKhS,EAAQtQ,OAAQsiB,IAClCrjB,EAAEP,EAAI6C,OAAO8d,cAActS,OAAOuD,EAAQgS,QAG9CrjB,GAAEP,EAAI6C,OAAO8d,cAActS,OAAOuD,EAGzBzB,GAAbuT,EAAuBnjB,EAAEmjB,GACd1jB,EAAI6C,OAAOge,YAAY,QAAS7gB,EAAI6C,OAAO8d,aAAc1W,GAEpEA,EAAKxK,OAAOmK,gBAEZyX,EAAiBrhB,EAAI6C,OAAOge,YAAY,gBAAiB7gB,EAAI6C,OAAO8d,aAAc1W,IAG1F,QAAS8a,KAEL,IAAK5U,GAA8B,IAAnBA,EAAQ7O,OAEpB,YADA2I,EAAKa,iBAAkB,EAmB3B,IAhBIb,EAAKxK,OAAOmK,eAA0C,mBAAlBA,KAKhCA,KAJCyX,GAA4C,IAA1BA,EAAe/f,SAQ1C6O,EAAQ/H,SAAS,gBAAgBa,YAAY,UACzCW,IACA6K,EAASM,EAAcjB,SAAS,WAChCkR,EAAevQ,EAAOzT,KAAK,8BAC3BqgB,EAAejZ,SAAS,kBAAkBa,YAAY,WAGtDgc,EAAO,CACP,GAAIC,GAAcC,CAIlB,IAHAD,EAAe3kB,EAAE+iB,EAAYA,EAAYhiB,OAAS,IAE9CsI,IAAeub,EAAiB5kB,EAAE2kB,EAAa,IAAMA,EAAa,GAAGpB,iBAAmBkB,EAAaA,EAAa1jB,OAAS,KAC3H2I,EAAKxK,OAAOoK,UAAYI,EAAKS,aAAavJ,QAAQ+jB,EAAa,KAAO,EAClEA,EAAa5jB,QAAU4jB,EAAa,KAAO/U,EAAQ,IAAI+U,EAAa9c,SAAS,UAC7EwB,GAAiBub,EAAe7jB,QAAU6jB,EAAe,KAAO9D,EAAe,IAC/E8D,EAAe/c,SAAS,cAG3B,CACD,GAAIgd,GAAexb,GAAiBub,EAAe7jB,MAC/C4jB,GAAa5jB,QACbtB,EAAIif,mBAAmBhV,EAAMib,EAAa,GAAI,SAC1CE,GACAplB,EAAI4U,qBAAqB3K,EAAMib,EAAa,GAAIzQ,EAAO,GAAI0Q,EAAe,IAE9EnlB,EAAI6C,OAAO4d,QAAQyE,GACfE,GAAcplB,EAAI6C,OAAO4d,QAAQ0E,IAEhCC,IACLplB,EAAI4U,qBAAqB3K,EAAMib,EAAa,GAAIzQ,EAAO,GAAI0Q,EAAe,IAC1EnlB,EAAI6C,OAAO4d,QAAQ0E,IAG3B7B,EAAc7Y,EAAeqJ,SAAS,sBAClClK,IACAob,EAAejQ,EAAcjB,SAAS,WAAW9S,KAAK,+BAEtDiJ,EAAKiB,QAAQ/J,QAAQsK,IAAQ,EAC7BxB,EAAKiB,QAAUjB,EAAKiB,QAAQmZ,MAAM,EAAGpa,EAAKiB,QAAQ/J,QAAQsK,GAAO,GAG7DxB,EAAKiB,SAASjB,EAAKiB,QAAQ5J,OAAS,IACpC2I,EAAKiB,QAAQjB,EAAKiB,QAAQ5J,OAAS,GAAKmK,EAGxCxB,EAAKiB,QAAQma,QAAQ5Z,GAqDjC,GAhDA2E,EAAU7P,EAAE+iB,EAAYA,EAAYhiB,OAAS,IACzC2I,EAAKxK,OAAOoK,UACRuG,EAAQ,KAAOD,EAAQ,KACvBC,EAAU3F,EAAeqJ,SAAS,wBACX,IAAnB1D,EAAQ9O,QAAgB2I,EAAKsB,aAAY6E,EAAU7P,EAAE0J,EAAKsB,WAAWrB,aAI7EN,IAAkB0X,IAClBA,EAAiB/gB,EAAEykB,EAAaA,EAAa1jB,OAAS,IAClD2I,EAAKxK,OAAOoK,WACRyX,EAAe,KAAOD,EAAe,KACrCC,EAAiB7M,EAAOX,SAAS,gDAEP,IAA1BwN,EAAehgB,SACfggB,EAAiB7M,EAAOX,SAAS,4BAA4B1D,EAAQrH,KAAK,aAAa,QAGjE,IAA1BuY,EAAehgB,QAAgB+f,EAAe,KAAOC,EAAe,KAAI1X,GAAgB,IAG5FA,IACI0b,GAAejE,EAAekD,aAAajD,GAC/CD,EAAe,GAAG0C,cAAgB5T,EAAQ,GAC1CA,EAAQ,GAAG2T,gBAAkBzC,EAAe,IAE5CiE,GAAenV,EAAQoU,aAAanU,GAGxCpQ,EAAIme,iBAAiBlU,GACjBgG,cAAeE,EAAQ,GACvB1E,IAAKA,EACLyE,SAAU,OACVxE,qBAAsB9B,EAAgByX,EAAe,GAAKne,OAC1Dwb,wBAAyB9U,EAAgB0X,GAAkBA,EAAe,GAAKpe,OAC/Esb,QAASgF,EAAYhF,QACrB/F,MAAOhH,EAAQgH,MACfgG,SAAUrO,GAAWA,EAAQ9O,QAAU8O,EAAQ,GAAG5E,WAClDqT,YAAaA,IAEbjV,GACA5J,EAAIgU,mBAAmB/J,EAAMkG,EAAQ,GAAIsE,EAAO,GAAI4M,EAAe,GAAI5V,EAAK,SAG5E7B,GAAiByX,EAAengB,SAAS,mBAAqBiG,GAC9DnH,EAAI6C,OAAOue,cAAcC,EAAiBC,EAAgB,QAG1DzC,EAEA,YADA5U,EAAKa,iBAAkB,EAK3Bb,GAAKwB,IAAMA,CAGM0E,GAAQ,GAAGiI,UAE5ByM,KAGI7kB,EAAIP,OAAOuD,WAAaiH,EAAKE,OACJ,mBAAdnH,KAA2BA,GAAY,IAC7C6b,GAAe3T,QAAQ6H,OAAS/P,GACjCkI,QAAQwF,QAnPpBe,EAAUA,MAEVzR,EAAIqT,WAAW,aAAcpJ,EAAMwH,EAEnC,IAeIrB,GAASD,EAASmR,EAAgBD,EAAgB5M,EAAQuQ,EAAcpb,EAfxE6B,EAAMgG,EAAQhG,IACdmG,EAAUH,EAAQG,QAClB4R,GAAe5R,QAASH,EAAQG,SAChC2Q,EAAW9Q,EAAQ8Q,SACnBpb,EAAesK,EAAQtK,aACvB0X,EAAcpN,EAAQoN,YACtB7b,EAAYyO,EAAQzO,UAEpBiiB,GADcxT,EAAQW,YACdX,EAAQwT,OAChBhlB,EAAWwR,EAAQxR,SACnByjB,EAAcjS,EAAQiS,YAEtB3O,EAAgBxU,EAAE0J,EAAKC,WACvBO,EAAiBlK,EAAE0J,EAAKQ,gBACxB6Y,EAAc7Y,EAAeqJ,SAAS,sBACiDwR,GAAgB,CAuO3G,OArO4B,mBAAjBne,KAA8BA,EAAe8C,EAAKxK,OAAO0H,eAGhEnH,EAAIP,OAAO6H,gBAAqC,gBAAZsK,IAAwB2Q,KAC5DiB,EAAcxjB,EAAI6C,OAAOqf,gBAAgBjY,EAAMwH,GAC3C+R,EAAY5R,UAAYA,IACxBA,EAAU4R,EAAY5R,UA+N1B0R,EAAYhiB,OAAS,IAAM2jB,EAEvBpG,OACA5U,EAAKa,iBAAkB,IAI3Bb,EAAKwB,IAAMxB,EAAKiB,QAAQjB,EAAKiB,QAAQ5J,OAAS,GAC9CmK,EAAMxB,EAAKwB,IAGX0E,EAAU5P,EAAE+iB,EAAYA,EAAYhiB,OAAS,IAC7C8O,EAAU7P,EAAE+iB,EAAYA,EAAYhiB,OAAS,IAGzC2I,EAAKxK,OAAOmK,gBACZA,GAAgB,EAEhBob,EAAejQ,EAAcjB,SAAS,WAAW9S,KAAK,8BACtDqgB,EAAiB9gB,EAAEykB,EAAa,IAChC1D,EAAiB/gB,EAAEykB,EAAa,IACF,IAA1B3D,EAAe/f,QAA0C,IAA1BggB,EAAehgB,QAAgBggB,EAAe,KAAOD,EAAe,KACnGzX,GAAgB,IAGxB0b,GAAgB,MAChBP,MAICE,EAuCGxZ,GAAOA,IAAQxB,EAAKwB,KAAOxL,GAAYgK,EAAKsB,YAActB,EAAKsB,WAAW+F,OAASrR,OACnFgK,EAAKa,iBAAkB,GAIvB8G,GACAkT,QACAC,MAGK9kB,GAAYgK,EAAKxK,OAAOoK,UACzB5J,IAAUwL,EAAM,IAAMxL,GAE1BkQ,EAAU5P,EAAEwU,GAAe/T,KAAK,oBAAsBf,EAAW,MAC7DkQ,EAAQ,GAAG3E,YAAc2E,EAAQ,GAAG3E,WAAWC,MAC/CA,EAAM0E,EAAQ,GAAG3E,WAAWC,KAE5BxB,EAAKxK,OAAOmK,gBACZyX,EAAiB9gB,EAAEwU,GAAejB,SAAS,WAAW9S,KAAK,4BAA8Bf,EAAW,MACtE,IAA1BohB,EAAe/f,QAAgB6O,EAAQ,GAAG2T,kBAC1CzC,EAAiB9gB,EAAE4P,EAAQ,GAAG2T,kBAEJ,IAA1BzC,EAAe/f,QAAgB6O,EAAQ,GAAG3E,aAC1C6V,EAAiB9gB,EAAE4P,EAAQ,GAAG3E,WAAWE,4BAGjDqZ,MAGKrB,GAAejY,GACpB0E,EAAU5P,EAAEmjB,GACRzZ,EAAKxK,OAAOmK,gBACZyX,EAAiBlR,EAAQnP,KAAK,iBAAiB+f,OAAO,SAAUvN,EAAOpH,GACnE,MAA4D,KAArD7L,EAAE6L,GAAI2B,QAAQ/N,EAAI6C,OAAO6d,iBAAiBpf,SAEjD+f,EAAe/f,OAAS,IACxB6O,EAAQoV,QAAQlE,GAChBrhB,EAAI6C,OAAO4d,QAAQtQ,EAAQnP,KAAK,WAAW+f,OAAO,SAAUvN,EAAOpH,GAC/D,MAA4D,KAArD7L,EAAE6L,GAAI2B,QAAQ/N,EAAI6C,OAAO6d,iBAAiBpf,gBAI7DyjB,WAIA9a,EAAKa,iBAAkB,IAnFtB+T,IACD5U,EAAKwB,IAAMxB,EAAKiB,QAAQjB,EAAKiB,QAAQ5J,OAAS,GAC9CmK,EAAMxB,EAAKwB,KAGXmG,GACAkT,QACAC,MAGK9kB,GAELkQ,EAAU5P,EAAEwU,GAAe/T,KAAK,oBAAsBf,EAAW,MAC7DgK,EAAKxK,OAAOmK,gBACZyX,EAAiB9gB,EAAEwU,GAAejB,SAAS,WAAW9S,KAAK,4BAA8Bf,EAAW,MACtE,IAA1BohB,EAAe/f,QAAgB6O,EAAQ,GAAG2T,kBAC1CzC,EAAiB9gB,EAAE4P,EAAQ,GAAG2T,kBAEJ,IAA1BzC,EAAe/f,QAAgB6O,EAAQ,GAAG3E,aAC1C6V,EAAiB9gB,EAAE4P,EAAQ,GAAG3E,WAAWE,4BAGjDqZ,MAGKtZ,GAAOA,IAAOxB,GAAKM,mBACxB4F,EAAUlG,EAAKM,kBAAkBkB,GAAK+I,KACtC6M,EAAiBpX,EAAKM,kBAAkBkB,GAAKyJ,gBAC7C6P,WAIA9a,EAAKa,iBAAkB,KAyDnC9K,EAAI6C,OAAO6N,KAAO,SAAUzG,EAAMwH,GAwB9B,QAASiT,GAAQ9S,GACb5R,EAAI6C,OAAOgf,WAAW5X,EAAM2H,EAASnG,EAAK,SAAUmG,GAChDH,EAAQG,QAAUA,EAClB5R,EAAI6C,OAAO+hB,MAAM3a,EAAMwH,KAzB/B,GADAA,EAAUA,MACNzR,EAAI6C,OAAOmf,SAAS/X,EAAMwH,GAAS,GACnC,OAAO,CAEX,IAAIhG,GAAMgG,EAAQhG,IACdmG,EAAUH,EAAQG,QAClB3R,EAAWwR,EAAQxR,SACnByjB,EAAcjS,EAAQiS,WACtBzjB,IACIA,EAASkB,QAAQ,KAAO,IACxBsQ,EAAQgH,MAAQlY,EAAE+d,cAAcre,GAChCwR,EAAQxR,SAAWA,EAAWA,EAASmL,MAAM,KAAK,GAG1D,IAAI6Z,GAAQxT,EAAQwT,KACpB,KAAKhb,EAAKa,gBAAiB,OAAO,CAClCb,GAAKa,iBAAkB,EACnB9K,EAAI4c,KAAO3S,EAAK2S,KAAO3S,EAAK2S,MAAQ5c,EAAI4c,MACxC5c,EAAI4c,IAAI+H,QACR3kB,EAAI4c,KAAM,EAEd,IAAI0G,GAAc/iB,EAAE0J,EAAKQ,gBAAgBzJ,KAAK,qBAQ9C,IAAIsiB,EAAYhiB,OAAS,IAAM2jB,EAG3B,WADAjlB,GAAI6C,OAAO+hB,MAAM3a,EAAMwH,EAG3B,IAAKwT,EA+BA,CAED,IAAKxZ,GAAOmG,EAER,WADA8S,GAAQ9S,EAGP,KAAKnG,GAAOxL,EAGb,MAFIA,KAAUwL,EAAM,IAAMxL,OAC1BykB,IAGC,IAAIjZ,GAAOiY,EAEZ,WADAgB,IAGC,IAAIjZ,EAQL,WAPAzL,GAAI6c,IAAIpL,EAAQhG,IAAKxB,EAAMwH,EAAQW,YAAa,SAAUR,EAAS2L,GAC/D,MAAIA,QACAtT,EAAKa,iBAAkB,OAG3B4Z,GAAQ9S,SApDR,CAGR,GAFAnG,EAAMxB,EAAKiB,QAAQjB,EAAKiB,QAAQ5J,OAAS,IAAMmQ,EAAQhG,IAClDgG,EAAQhG,MAAKgG,EAAQhG,IAAMA,IAC3BA,EAED,YADAxB,EAAKa,iBAAkB,EAG3B,IAAyB,IAArBW,EAAItK,QAAQ,MAAc8I,EAAKG,aAAaqB,GAE5C,WADAiZ,GAAQza,EAAKG,aAAaqB,GAGzB,IAAyB,IAArBA,EAAItK,QAAQ,MAAc8I,EAAKxK,OAAOoK,SAG3C,MAFK5J,KAAUwR,EAAQxR,SAAWwL,EAAIL,MAAM,KAAK,QACjDsZ,IAGC,IAAIjZ,GAAOA,IAAOxB,GAAKM,kBACxBma,QAEC,IAAyB,IAArBjZ,EAAItK,QAAQ,KASjB,WAPAnB,GAAI6c,IAAIpL,EAAQhG,IAAKxB,EAAMwH,EAAQW,YAAa,SAAUR,EAAS2L,GAC/D,MAAIA,QACAtT,EAAKa,iBAAkB,OAG3B4Z,GAAQ9S,KA+BpB3H,EAAKa,iBAAkB,GAI3B9K,EAAI6C,OAAO8N,UAAY,SAAU1G,EAAMmG,EAASD,GAE5CC,EAAU7P,EAAE6P,GACZD,EAAU5P,EAAE4P,GAERlG,EAAKxK,OAAOoK,UAAYI,EAAKS,aAAavJ,QAAQiP,EAAQ,KAAO,EACjEA,EAAQnH,YAAY,6BAA6Bb,SAAS,WAG1DpI,EAAIif,mBAAmBhV,EAAMmG,EAAQ,GAAI,SACzCpQ,EAAI6C,OAAO4d,QAAQrQ,IAGvBD,EAAQlH,YAAY,yCAAyCb,SAAS,kBACtE6B,EAAKa,iBAAkB,CAGvB,IAEI0a,GAFAC,EAAcxb,EAAKiB,QAAQwa,KAK/B,IAAIzb,EAAKxK,OAAOmK,cAAe,CAC3B,GAAI+b,GAASplB,EAAE0J,EAAKC,WAAW4J,SAAS,WAAW9S,KAAK,8BACpD4kB,EAAYrlB,EAAE6P,EAAQ,GAAG0T,iBAAmB6B,EAAO,GACnD1b,GAAKxK,OAAOoK,UAAYI,EAAKW,eAAezJ,QAAQykB,EAAU,KAAO,EACrEA,EAAU3c,YAAY,+BAA+Bb,SAAS,WAG9DpI,EAAI4U,qBAAqB3K,EAAMmG,EAAQ,GAAIlN,OAAW0iB,EAAU,IAChE5lB,EAAI6C,OAAO4d,QAAQmF,IAEvBJ,EAAYjlB,EAAEolB,EAAO,IAAI1c,YAAY,6CAA6Cb,SAAS,oBA8C/F,GA1CI6B,EAAKxK,OAAOoK,UACZtJ,EAAE0J,EAAKC,WAAWlJ,KAAK,gBAAgB6O,KAAK,WACxC,GAAI2E,GAAOjU,EAAEC,MACTqlB,EAAUrR,EAAK,GAAGhJ,YAAcgJ,EAAK,GAAGhJ,WAAWC,GACnDoa,IAAW5b,EAAKiB,QAAQ/J,QAAQ0kB,GAAW,GAAK5b,EAAKS,aAAavJ,QAAQX,MAAQ,IAClFR,EAAIif,mBAAmBhV,EAAMuK,EAAK,GAAI,SAClCA,EAAK,GAAGsP,iBAAmB7Z,EAAKxK,OAAOmK,eAAe5J,EAAI4U,qBAAqB3K,EAAMuK,EAAK,GAAItR,OAAWsR,EAAK,GAAGsP,iBACrH9jB,EAAI6C,OAAO4d,QAAQjM,GACfA,EAAK,GAAGsP,iBAAmB7Z,EAAKxK,OAAOmK,eAAe5J,EAAI6C,OAAO4d,QAAQjM,EAAK,GAAGsP,qBAM5F7Z,EAAKxK,OAAOoK,UACb4b,GACAA,EAAYtkB,QAAQ,MAAO,GAC1BskB,IAAexb,GAAKG,cAErBH,EAAKiB,QAAQ/J,QAAQskB,MAAiB,IACtCxb,EAAKG,aAAaqb,GAAe,WAC1Bxb,GAAKG,aAAaqb,IAEzBA,GACCA,IAAexb,GAAKM,mBAErBN,EAAKiB,QAAQ/J,QAAQskB,MAAiB,IACtCxb,EAAKM,kBAAkBkb,GAAe,WAC/Bxb,GAAKM,kBAAkBkb,IAG9BA,GACCA,IAAexb,GAAKI,cAErBJ,EAAKiB,QAAQ/J,QAAQskB,MAAiB,IACtCxb,EAAKI,aAAaob,GAAe,WAC1Bxb,GAAKI,aAAaob,IAGzBzlB,EAAIP,OAAOuD,WAAaiH,EAAKE,MAAMnK,EAAIojB,sBAGvCnZ,EAAKxK,OAAO+C,oBACZ,GAAIyH,EAAKxK,OAAOoK,UAAYI,EAAKiB,QAAQ5J,OAAS,EAAG,CACjD,GACIkL,GACAG,EAFAmZ,EAAa7b,EAAKiB,QAAQjB,EAAKiB,QAAQ5J,OAAS,EAGhDwkB,IAAc7b,EAAKK,WAAWwb,IAE9BtZ,EAAejM,EAAE0J,EAAKC,WAAWlJ,KAAK,oBAAsBiJ,EAAKK,WAAWwb,GAAc,MACtFtZ,EAAasV,KAAK,SAAS,KAAO3R,EAAQ,IAAI3D,EAAa+X,aAAapU,GACxEqV,IACA7Y,EAAiBpM,EAAE0J,EAAKC,WAAW4J,SAAS,WAAW9S,KAAK,4BAA8BiJ,EAAKK,WAAWwb,GAAc,MACpHnZ,GAA4C,IAA1BA,EAAerL,SAAcqL,EAAiB6Y,EAAUlB,KAAK,yBAC/E3X,EAAemV,KAAK,iBAAiB,KAAO0D,EAAU,IAAI7Y,EAAe4X,aAAaiB,MAK9FhZ,EAAe2D,EAAQmU,KAAK,gBACxBkB,IAAW7Y,EAAiB6Y,EAAUlB,KAAK,0BAE/C9X,GAAgBA,EAAalL,OAAS,GAAGkL,EAAavD,YAAY,uCAAuCb,SAAS,gBAClHuE,GAAkBA,EAAerL,OAAS,GAAGqL,EAAe1D,YAAY,2CAA2Cb,SAAS,sBAGhIpI,GAAI6C,OAAO6N,KAAKzG,GAAO4U,aAAa,IAShD,IAAIkH,GAAwBjkB,SAAS8e,cAAc,MACnD5gB,GAAIyG,cACJzG,EAAIgmB,qBAAuB,WACnBhmB,EAAIyG,WAAWnF,QACdtB,EAAIyG,WAAWwf,WAGxBjmB,EAAIkmB,MAAQ,SAAUzmB,GAClBA,EAASA,KACT,IAAI0mB,GAAY,EAChB,IAAInmB,EAAIP,OAAO2mB,cACNpmB,EAAImI,mBAAmB+d,QAAOlmB,EAAImI,mBAAmB+d,MAAQje,EAAGwa,QAAQziB,EAAIP,OAAO2mB,gBACxFD,EAAYnmB,EAAImI,mBAAmB+d,MAAMzmB,OAExC,CACD,GAAI4mB,GAAc,EAClB,IAAI5mB,EAAO6mB,SAAW7mB,EAAO6mB,QAAQhlB,OAAS,EAC1C,IAAK,GAAIoI,GAAI,EAAGA,EAAIjK,EAAO6mB,QAAQhlB,OAAQoI,IACvC2c,GAAe,6BAA+B5mB,EAAO6mB,QAAQ5c,GAAG6c,KAAO,qBAAuB,IAAM,KAAO9mB,EAAO6mB,QAAQ5c,GAAGuQ,KAAO,SAG5I,IAAIuM,GAAY/mB,EAAO2a,MAAQ,4BAA8B3a,EAAO2a,MAAQ,SAAW,GACnFqM,EAAWhnB,EAAOwa,KAAO,2BAA6Bxa,EAAOwa,KAAO,SAAW,GAC/EyM,EAAgBjnB,EAAOknB,UAAYlnB,EAAOknB,UAAY,GACtDC,EAAannB,EAAO6mB,SAAqC,IAA1B7mB,EAAO6mB,QAAQhlB,OAAoC,GAArB,mBAC7DulB,EAAkBpnB,EAAOonB,gBAAkB,yBAA0B,GACrEC,EAAmBrnB,EAAO6mB,SAAW7mB,EAAO6mB,QAAQhlB,OAAS,EAAI,2CAA6C7B,EAAO6mB,QAAQhlB,OAAS,IAAMulB,EAAkB,KAAOR,EAAc,SAAW,EAClMF,GAAY,qBAAuBS,EAAY,KAAOnnB,EAAOsnB,UAAY,IAAM,+BAAiCP,EAAYC,EAAWC,GAAiB,SAAWI,EAAmB,SAG1Lf,EAAsBpC,UAAYwC,CAElC,IAAID,GAAQ3lB,EAAEwlB,GAAuBjS,UAarC,OAXA9T,GAAImC,KAAKkM,OAAO6X,EAAM,IAGtBA,EAAMllB,KAAK,iBAAiB6O,KAAK,SAAU2D,EAAOpH,GAC9C7L,EAAE6L,GAAI/C,GAAG,QAAS,SAAUwD,GACpBpN,EAAO6mB,QAAQ9S,GAAOwT,SAAU,GAAOhnB,EAAIsO,WAAW4X,GACtDzmB,EAAO6mB,QAAQ9S,GAAOyT,SAASxnB,EAAO6mB,QAAQ9S,GAAOyT,QAAQf,EAAOrZ,GACpEpN,EAAOwnB,SAASxnB,EAAOwnB,QAAQf,EAAO1S,OAGlDxT,EAAIknB,UAAUhB,GACPA,EAAM,IAEjBlmB,EAAImnB,MAAQ,SAAUlN,EAAMG,EAAOgN,GAK/B,MAJqB,kBAAVhN,KACPgN,EAAaC,UAAU,GACvBjN,EAAQlX,QAELlD,EAAIkmB,OACPjM,KAAMA,GAAQ,GACdG,MAAwB,mBAAVA,GAAwBpa,EAAIP,OAAO2G,WAAagU,EAC9DkM,UAAYrM,KAAMja,EAAIP,OAAOuG,cAAeugB,MAAM,EAAMU,QAASG,OAGzEpnB,EAAIsnB,QAAU,SAAUrN,EAAMG,EAAOgN,EAAYG,GAM7C,MALqB,kBAAVnN,KACPmN,EAAiBF,UAAU,GAC3BD,EAAaC,UAAU,GACvBjN,EAAQlX,QAELlD,EAAIkmB,OACPjM,KAAMA,GAAQ,GACdG,MAAwB,mBAAVA,GAAwBpa,EAAIP,OAAO2G,WAAagU,EAC9DkM,UACKrM,KAAMja,EAAIP,OAAOwG,kBAAmBghB,QAASM,IAC7CtN,KAAMja,EAAIP,OAAOuG,cAAeugB,MAAM,EAAMU,QAASG,OAIlEpnB,EAAIwnB,OAAS,SAAUvN,EAAMG,EAAOgN,EAAYG,GAM5C,MALqB,kBAAVnN,KACPmN,EAAiBF,UAAU,GAC3BD,EAAaC,UAAU,GACvBjN,EAAQlX,QAELlD,EAAIkmB,OACPjM,KAAMA,GAAQ,GACdG,MAAwB,mBAAVA,GAAwBpa,EAAIP,OAAO2G,WAAagU,EAC9DuM,UAAW,8EACXL,UAEQrM,KAAMja,EAAIP,OAAOwG,oBAGjBgU,KAAMja,EAAIP,OAAOuG,cACjBugB,MAAM,IAGdU,QAAS,SAAUf,EAAO1S,GACR,IAAVA,GAAe+T,GAAgBA,EAAehnB,EAAE2lB,GAAOllB,KAAK,qBAAqB6X,OACvE,IAAVrF,GAAe4T,GAAYA,EAAW7mB,EAAE2lB,GAAOllB,KAAK,qBAAqB6X,WAIzF7Y,EAAIynB,WAAa,SAAUxN,EAAMG,EAAOgN,EAAYG,GAMhD,MALqB,kBAAVnN,KACPmN,EAAiBF,UAAU,GAC3BD,EAAaC,UAAU,GACvBjN,EAAQlX,QAELlD,EAAIkmB,OACPjM,KAAMA,GAAQ,GACdG,MAAwB,mBAAVA,GAAwBpa,EAAIP,OAAO2G,WAAagU,EAC9DuM,UAAW,qGAAuG3mB,EAAIP,OAAOyG,yBAA2B,0IAA4IlG,EAAIP,OAAO0G,yBAA2B,oCAC1UmgB,UAEQrM,KAAMja,EAAIP,OAAOwG,oBAGjBgU,KAAMja,EAAIP,OAAOuG,cACjBugB,MAAM,IAGdU,QAAS,SAAUf,EAAO1S,GACtB,GAAIkU,GAAWnnB,EAAE2lB,GAAOllB,KAAK,4CAA4C6X,MACrE8O,EAAWpnB,EAAE2lB,GAAOllB,KAAK,4CAA4C6X,KAC3D,KAAVrF,GAAe+T,GAAgBA,EAAeG,EAAUC,GAC9C,IAAVnU,GAAe4T,GAAYA,EAAWM,EAAUC,OAIhE3nB,EAAI4nB,cAAgB,SAAU3N,EAAMG,EAAOgN,EAAYG,GAMnD,MALqB,kBAAVnN,KACPmN,EAAiBF,UAAU,GAC3BD,EAAaC,UAAU,GACvBjN,EAAQlX,QAELlD,EAAIkmB,OACPjM,KAAMA,GAAQ,GACdG,MAAwB,mBAAVA,GAAwBpa,EAAIP,OAAO2G,WAAagU,EAC9DuM,UAAW,sFAAwF3mB,EAAIP,OAAO0G,yBAA2B,oCACzImgB,UAEQrM,KAAMja,EAAIP,OAAOwG,oBAGjBgU,KAAMja,EAAIP,OAAOuG,cACjBugB,MAAM,IAGdU,QAAS,SAAUf,EAAO1S,GACtB,GAAImU,GAAWpnB,EAAE2lB,GAAOllB,KAAK,4CAA4C6X,KAC3D,KAAVrF,GAAe+T,GAAgBA,EAAeI,GACpC,IAAVnU,GAAe4T,GAAYA,EAAWO,OAItD3nB,EAAI6nB,cAAgB,SAAUzN,GAC1B,MAAOpa,GAAIkmB,OACP9L,MAAOA,GAASpa,EAAIP,OAAO+G,oBAC3ByT,KAAM,2BAA6Bja,EAAIP,OAAO+H,SAAWxH,EAAIP,OAAOkI,sBAAwB,IAAM,SAClGof,SAAU,qBAGlB/mB,EAAI8nB,cAAgB,WAChB9nB,EAAIsO,WAAW,oBAEnBtO,EAAI+nB,cAAgB,WACZxnB,EAAE,gCAAgCe,OAAS,GAC/CtB,EAAImC,KAAKkM,OAAO,kIAAoIrO,EAAIP,OAAO+H,SAAWxH,EAAIP,OAAOkI,sBAAwB,IAAM,kBAEvN3H,EAAIgoB,cAAgB,WAChBznB,EAAE,4DAA4DuQ,UAGlE9Q,EAAIioB,QAAU,SAAUna,EAAQrO,EAAQ8S,GACpC,GAAuB2T,GAAOgC,EAAeC,EAAzCC,GAAY,CACS,KAArBf,UAAU/lB,QAAqC,IAArB+lB,UAAU/lB,QAAwC,iBAAjB+lB,WAAU,IAErE5nB,EAAS4nB,UAAU,GACnB9U,EAAW8U,UAAU,IAIjBrnB,EAAI4B,OAAOsH,IACPlJ,EAAI4B,OAAOC,OAAMumB,GAAY,GAG7B7nB,EAAEhB,QAAQsO,SAAW,MAAKua,GAAY,GAG1B,mBAAb7V,KAA0BA,GAAW,GAEhD9S,EAASA,MAELA,EAAO6B,OAAS,IAAMf,EAAE8nB,QAAQ5oB,EAAO,MACvCA,GAAUA,GAEd,IAAI0mB,EACJ,IAAIiC,EAAW,CACX,GAAIE,GAA2BtoB,EAAIP,OAAO8oB,+BACtC,ggBAiBCvoB,GAAImI,mBAAmBqgB,mBACxBxoB,EAAImI,mBAAmBqgB,iBAAmBvgB,EAAGwa,QAAQ6F,GAEzD,IAAIG,GAAczoB,EAAImI,mBAAmBqgB,iBAAiB/oB,EAC1DymB,GAAQ3lB,EAAEP,EAAI0oB,QAAQD,EAAa3a,GAAQ,EAAMyE,IACjD2V,EAAgB,iBAChBC,EAAiB,mBAEhB,CACD,GAAInoB,EAAIP,OAAOkpB,qBACN3oB,EAAImI,mBAAmB8f,UAASjoB,EAAImI,mBAAmB8f,QAAUhgB,EAAGwa,QAAQziB,EAAIP,OAAOkpB,uBAC5FxC,EAAYnmB,EAAImI,mBAAmB8f,QAAQxoB,OAE1C,CAED,IAAK,GADD4mB,GAAc,GACT3c,EAAI,EAAGA,EAAIjK,EAAO6B,OAAQoI,IAC/B,IAAK,GAAIwU,GAAI,EAAGA,EAAIze,EAAOiK,GAAGpI,OAAQ4c,IAAK,CAC7B,IAANA,IAASmI,GAAe,oCAC5B,IAAIuC,GAASnpB,EAAOiK,GAAGwU,GACnB2K,EAAcD,EAAOE,MAAQ,sBAAwB,sBACrDF,GAAOrC,OAAMsC,GAAe,8BAC5BD,EAAOG,QAAOF,GAAe,UAAYD,EAAOG,OAChDH,EAAOI,KAAIH,GAAe,OAASD,EAAOI,IAC1CJ,EAAOK,WAAUJ,GAAe,aACpCxC,GAAe,eAAiBwC,EAAc,KAAOD,EAAO3O,KAAO,SAC/DiE,IAAMze,EAAOiK,GAAGpI,OAAS,IAAG+kB,GAAe,UAGvDF,EAAY,8BAAgCE,EAAc,SAE9DN,EAAsBpC,UAAYwC,EAClCD,EAAQ3lB,EAAEwlB,GAAuBjS,WACjC9T,EAAImC,KAAKkM,OAAO6X,EAAM,IACtBgC,EAAgB,uBAChBC,EAAiB,wBAGrB,GAAIe,GAAShD,EAAMllB,KAAKknB,EAmBxB,OAlBAgB,GAAOrZ,KAAK,SAAU2D,EAAOpH,GACzB,GAAI+c,GAAa3V,CACjBjT,GAAE6L,GAAI0H,WAAWjE,KAAK,SAAU2D,EAAOpH,GACnC,GAEIgd,GAFAC,EAAc7V,EACd8V,EAAe7pB,EAAO0pB,GAAYE,IAEjCjB,GAAa7nB,EAAE6L,GAAI4B,GAAGma,KAAiBiB,EAAc7oB,EAAE6L,IACxDgc,GAAa7nB,EAAE6L,GAAIpL,KAAKmnB,GAAgB7mB,OAAS,IAAG8nB,EAAc7oB,EAAE6L,GAAIpL,KAAKmnB,IAE7EiB,GACAA,EAAY/f,GAAG,QAAS,SAAUwD,GAC1Byc,EAAatC,SAAU,GAAOhnB,EAAIsO,WAAW4X,GAC7CoD,EAAarC,SAASqC,EAAarC,QAAQf,EAAOrZ,SAKjEub,GAAWpoB,EAAIknB,UAAUhB,EAAO3T,GAC9B2T,EAAM,IAEjBlmB,EAAI0oB,QAAU,SAAUxC,EAAOpY,EAAQyb,EAAehX,GA2BlD,QAASiX;AACLtD,EAAMpd,KAAKqF,KAAM,GAAIsb,IAAK,IAC1B,IAEIC,GAAgCC,EAAgBC,EAFhDC,EAAc3D,EAAMrY,QACpBic,EAAe5D,EAAMvlB,SACTopB,EAAiB,CAC5BviB,GAMD0e,EAAMjd,YAAY,qEAAqEH,KAAKqF,KAAM,GAAIsb,IAAK,MAL3GC,EAAaxD,EAAMllB,KAAK,kBACxB+oB,EAAiBL,EAAW7b,QAAU,EACtC6b,EAAWzgB,YAAY,qCAAqCH,KAAKqF,KAAM,GAAIsb,IAAK,KAMpF,IAAIO,GAAclc,EAAO8H,aACrBqU,EAAenc,EAAOoc,cACtBC,EAAerc,EAAOI,SACtBkc,EAAmBtc,EAAOC,QAAQ,QAClCqc,GAAiB9oB,OAAS,IAC1B6oB,EAAaV,IAAMU,EAAaV,IAAMW,EAAiB,GAAG3pB,UAG9D,IAAI4pB,GAAe9pB,EAAEhB,QAAQoB,SACzB2pB,EAAc/pB,EAAEhB,QAAQsO,QAExB0c,EAAW,EACXC,EAAY,EACZnV,EAAO,EAEPoV,EAAgBjjB,EAAW,SAAW,KAC1C,IAAIA,GAsCA,GArCIsiB,EAAcO,EAAeF,EAAaV,IAAMQ,GAEhDQ,EAAgB,SAChBF,EAAWJ,EAAaV,KAEnBK,EAAcK,EAAaV,KAEhCc,EAAWJ,EAAaV,IAAMK,EAAcG,EAC5CQ,EAAgB,QAIhBA,EAAgB,SAChBF,EAAWJ,EAAaV,KAGxBc,GAAY,EACZA,EAAW,EAENA,EAAWT,GAAeO,IAC/BE,EAAWF,EAAeP,EAAc,GAI5CU,EAAYL,EAAahc,KACrBqc,EAAYX,GAAcS,EAAc,IACxCE,EAAYL,EAAahc,KAAO6b,EAAcH,EAAa,GAE3DW,EAAY,IACZA,EAAY,GAEM,QAAlBC,GACAvE,EAAM9d,SAAS,kBAEG,WAAlBqiB,GACAvE,EAAM9d,SAAS,qBAEf0F,EAAO5M,SAAS,gCAAkCglB,EAAMhlB,SAAS,YAAa,CAC9EglB,EAAM9d,SAAS,0BACf,IAAIsiB,GAASF,EAAYX,EAAa,GAAMM,EAAahc,KAAO6b,EAAc,GAC1EW,EAASJ,EAAWT,EAAc,GAAMK,EAAaV,IAAMQ,EAAe,EAC9Enc,GACK1F,SAAS,iCACT6G,UAAU,eAAiByb,EAAQ,OAASC,EAAQ,SACpDla,cAAc,SAAU5D,GAChBiB,EAAO5M,SAAS,kCACrB4M,EACK1F,SAAS,oCACT6G,UAAU,eAAiByb,EAAQ,OAASC,EAAQ,eAAkBd,EAAWG,EAAe,KAAQF,EAAYG,EAAgB,OAGjJ/D,EAAMjL,KAAK,gBAAiB,WACxBnN,EACK7E,YAAY,kEACZb,SAAS,kCACT6G,UAAU,IACVwB,cAAc,SAAU5D,GACrBiB,EAAO7E,YAAY,sCAG/Bid,EAAMjL,KAAK,iBAAkB,WACzBiL,EAAMjd,YAAY,kCAMrB6gB,GAAcC,EAAkBI,EAAaV,IAE9Cc,EAAWJ,EAAaV,IAAMK,EAAcC,EAEtCD,EAAcC,EAAkBM,EAAeF,EAAaV,IAAMQ,GAExEQ,EAAgB,SAChBF,EAAWJ,EAAaV,IAAMQ,EAAeF,IAI7CU,EAAgB,SAChBF,EAAWN,EAAe,EAAIE,EAAaV,IAAMK,EAAc,EAC/DzU,EAAOkV,EACHA,GAAY,EACZA,EAAW,EAENA,EAAWT,GAAeO,IAC/BE,EAAWF,EAAeP,EAAc,GAE5CzU,GAAckV,GAII,QAAlBE,GAA6C,WAAlBA,GAC3BD,EAAYR,EAAc,EAAIG,EAAahc,KAAO0b,EAAa,EAC/DxU,EAAOmV,EACHA,EAAY,IAAGA,EAAY,GAC3BA,EAAYX,EAAaS,IAAaE,EAAYF,EAAcT,EAAa,GAC3D,QAAlBY,GACAf,EAAWthB,SAAS,aAEF,WAAlBqiB,GACAf,EAAWthB,SAAS,UAExBiN,GAAcmV,EACdb,EAAkBE,EAAa,EAAIE,EAAiB1U,EACpDsU,EAAiBnc,KAAKod,IAAIpd,KAAKqd,IAAIlB,EAAgBE,EAA8B,EAAjBE,EAAqB,IAAK,IAC1FL,EAAW5gB,KAAKqF,KAAMwb,EAAiB,QAGhB,WAAlBc,IACLD,EAAYL,EAAahc,KAAO0b,EAAaE,EAC7CL,EAAWthB,SAAS,aAChBoiB,EAAY,GAAMA,EAAYX,EAAaS,KACvCE,EAAY,IAAGA,EAAYL,EAAahc,KAAO6b,EAAcD,GAC7DS,EAAYX,EAAaS,IAAaE,EAAYF,EAAcT,EAAa,GACjFH,EAAWzgB,YAAY,YAAYb,SAAS,YAEhDwhB,EAAiBE,EAAc,EAAIC,EAAiB1U,EACpDuU,EAAgBpc,KAAKod,IAAIpd,KAAKqd,IAAIjB,EAAeE,EAA+B,EAAjBC,EAAqB,IAAK,IACzFL,EAAW5gB,KAAK2gB,IAAKG,EAAgB,OAM7C1D,GAAMpd,KAAK2gB,IAAKc,EAAW,KAAMpc,KAAMqc,EAAY,OAnLvD,GAF6B,mBAAlBjB,KAA+BA,GAAgB,GAClC,mBAAbhX,KAA0BA,GAAW,GAC3B,gBAAV2T,IAAsBA,EAAM/kB,QAAQ,MAAQ,EAAG,CACtD,GAAI2pB,GAAShpB,SAAS8e,cAAc,MAEpC,IADAkK,EAAOnH,UAAYuC,EAAM/M,SACrB2R,EAAOC,WAAWzpB,OAAS,GAK1B,OAAO,CAJR4kB,GAAQ4E,EAAOC,WAAW,GACtBxB,GAAerD,EAAM8E,UAAUC,IAAI,mBACvCjrB,EAAImC,KAAKkM,OAAO6X,GAMxB,GAFAA,EAAQ3lB,EAAE2lB,GACVpY,EAASvN,EAAEuN,GACU,IAAjBoY,EAAM5kB,QAAkC,IAAlBwM,EAAOxM,OAAc,OAAO,CACjB,KAAjC4kB,EAAMnY,QAAQ,QAAQzM,SAClBioB,GAAerD,EAAM9d,SAAS,mBAClCpI,EAAImC,KAAKkM,OAAO6X,EAAM,KAEkB,IAAxCA,EAAMllB,KAAK,kBAAkBM,QAAiBtB,EAAIP,OAAO+H,UACzD0e,EAAM7X,OAAO,qCAEjB6X,EAAM/N,MAEN,IAAI3Q,GAAWxH,EAAIP,OAAO+H,QAyK1B,OATAgiB,KAEAjpB,EAAEhB,QAAQ8J,GAAG,SAAUmgB,GAEvBtD,EAAM7c,GAAG,gBAAiB,WACtB9I,EAAEhB,QAAQmd,IAAI,SAAU8M,KAG5BxpB,EAAIknB,UAAUhB,EAAO3T,GACd2T,EAAM,IAEjBlmB,EAAIkrB,MAAQ,SAAUhF,EAAOqD,EAAehX,GAGxC,GAF6B,mBAAlBgX,KAA+BA,GAAgB,GAClC,mBAAbhX,KAA0BA,GAAW,GAC3B,gBAAV2T,IAAsBA,EAAM/kB,QAAQ,MAAQ,EAAG,CACtD,GAAI2pB,GAAShpB,SAAS8e,cAAc,MAEpC,IADAkK,EAAOnH,UAAYuC,EAAM/M,SACrB2R,EAAOC,WAAWzpB,OAAS,GAK1B,OAAO,CAJR4kB,GAAQ4E,EAAOC,WAAW,GACtBxB,GAAerD,EAAM8E,UAAUC,IAAI,mBACvCjrB,EAAImC,KAAKkM,OAAO6X,GAKxB,MADAA,GAAQ3lB,EAAE2lB,GACW,IAAjBA,EAAM5kB,SAC2B,IAAjC4kB,EAAMnY,QAAQ,QAAQzM,SAClBioB,GAAerD,EAAM9d,SAAS,mBAClCpI,EAAImC,KAAKkM,OAAO6X,EAAM,KAE1BA,EAAM/N,OAENnY,EAAIknB,UAAUhB,EAAO3T,GACd2T,EAAM,KAEjBlmB,EAAImrB,YAAc,SAAUjF,EAAOqD,EAAehX,GAG9C,GAF6B,mBAAlBgX,KAA+BA,GAAgB,GAClC,mBAAbhX,KAA0BA,GAAW,GAC3B,gBAAV2T,IAAsBA,EAAM/kB,QAAQ,MAAQ,EAAG,CAEtD,GADA+kB,EAAQ3lB,EAAE2lB,KACNA,EAAM5kB,OAAS,GAId,OAAO,CAHJioB,IAAerD,EAAM9d,SAAS,mBAClCpI,EAAImC,KAAKkM,OAAO6X,EAAM,IAK9B,MADAA,GAAQ3lB,EAAE2lB,GACW,IAAjBA,EAAM5kB,SAC2B,IAAjC4kB,EAAMnY,QAAQ,QAAQzM,SAClBioB,GAAerD,EAAM9d,SAAS,mBAClCpI,EAAImC,KAAKkM,OAAO6X,EAAM,KAEtB3lB,EAAE,0CAA0Ce,OAAS,IAAM4kB,EAAMhlB,SAAS,aAC1ElB,EAAIsO,WAAW,0CAEnB4X,EAAM/N,OACNnY,EAAIknB,UAAUhB,EAAO3T,GACd2T,EAAM,KAEjBlmB,EAAIorB,YAAc,SAAUlF,EAAO3T,GAI/B,MAHK2T,KAAOA,EAAQ,iBACI,mBAAb3T,KAA0BA,GAAW,GAChD2T,EAAQ3lB,EAAE2lB,GACW,IAAjBA,EAAM5kB,SACNf,EAAE,0CAA0Ce,OAAS,IAAM4kB,EAAMhlB,SAAS,aAC1ElB,EAAIsO,WAAW,0CAEnB4X,EAAM/N,OAENnY,EAAIknB,UAAUhB,EAAO3T,GACd2T,EAAM,KAEjBlmB,EAAIknB,UAAY,SAAUhB,EAAO3T,GACL,mBAAbA,KAA0BA,GAAW,GAChD2T,EAAQ3lB,EAAE2lB,GACVA,EAAM3T,EAAW,cAAgB,YAAY,eAE7C,IAAI8Y,GAAUnF,EAAMhlB,SAAS,SACzBoqB,EAAYpF,EAAMhlB,SAAS,WAC3BqqB,EAAUrF,EAAMhlB,SAAS,SACzBsqB,EAAgBtF,EAAMhlB,SAAS,gBAC/BuqB,EAAgBvF,EAAMhlB,SAAS,gBAC/BwqB,EAAYxF,EAAMhlB,SAAS,iBAG3ByqB,EAAY,OAOhB,IANIL,IAAWK,EAAY,WACvBJ,IAASI,EAAY,SACrBH,IAAeG,EAAY,eAC3BF,IAAeE,EAAY,UAC3BD,IAAWC,EAAY,WAEvBprB,EAAE,mCAAmCe,QAAUtB,EAAIP,OAAOgH,YAAc4kB,EAIxE,WAHArrB,GAAIyG,WAAWoE,KAAK,WAChB7K,EAAIknB,UAAUhB,IAMtB,KAAI,IAASA,EAAMtD,KAAK,kBAAxB,CAGAsD,EAAMtD,KAAK,kBAAkB,EAG7B,IAAIgJ,GAAc1F,EAAMhS,QACpBlU,GAAIP,OAAOiH,mBAAqBklB,EAAY5d,GAAGhO,EAAImC,QACnDnC,EAAImC,KAAKkM,OAAO6X,GAChBA,EAAMjL,KAAK0Q,EAAY,UAAW,WAC/BC,EAAYvd,OAAO6X,MAI1BA,EAAMjL,KAAK0Q,EAAY,SAAU,WAC9BzF,EAAM2F,WAAW,oBAGhBR,IACAnF,EAAM/N,OACN+N,EAAMpd,KACFgjB,WAAate,KAAKwB,MAAMkX,EAAMgE,cAAgB,GAAK,OAI3D,IAAI5S,EACCkU,IAAkBC,IACgB,IAA/BlrB,EAAE,kBAAkBe,QAAiBiqB,GACrCvrB,EAAImC,KAAKkM,OAAO,qCAEe,IAA/B9N,EAAE,kBAAkBe,QAAgBiqB,GACpCvrB,EAAImC,KAAKkM,OAAO,qCAEpBiJ,EAAoB/W,EAAVgrB,EAAY,iBAAsB,mBAE5CvrB,EAAIP,OAAO+H,UAAYikB,GACnBvF,EAAMhlB,SAAS,qBAC2B,IAAtCX,EAAE,yBAAyBe,QAAiBiqB,GAC5CvrB,EAAImC,KAAKkM,OAAO,4CAEpBiJ,EAAU/W,EAAE,0BAGhB+W,GACAA,EAAQ/E,EAAW,cAAgB,YAAY,eAIlC2T,GAAM,GAAG9N,UAiC1B,OA9BA8N,GAAM7kB,QAAQ,QAAUsqB,EAAY,SAGhCF,GACAlrB,EAAE,QAAQ6H,SAAS,qBAInB8d,EAAMllB,KAAK,IAAMhB,EAAIP,OAAOoH,WAAWvF,OAAS,IAChD4kB,EAAMllB,KAAK,SAAS6O,KAAK,WACrB7P,EAAIwgB,qBAAqBhgB,QAE7B0lB,EAAMllB,KAAK,WAAW6O,KAAK,WACvB7P,EAAI8U,uBAAuBtU,SAK9BgrB,GAAkBC,GAAenU,EAAQlP,SAAS,yBACnDpI,EAAIP,OAAO+H,UAAYikB,GAAiBnU,GAASA,EAAQlP,SAAS,yBAClEmK,EACA2T,EAAMjd,YAAY,aAAab,SAAS,YAAYqI,cAAc,SAAU5D,GACpEqZ,EAAMhlB,SAAS,aAAcglB,EAAM7kB,QAAQ,UAAYsqB,EAAY,WAClEzF,EAAM7kB,QAAQ,UAAYsqB,EAAY,cAI/CzF,EAAMjd,YAAY,aAAab,SAAS,YACxC8d,EAAM7kB,QAAQ,UAAYsqB,EAAY,aAEnC,IAEX3rB,EAAIsO,WAAa,SAAU4X,EAAO3T,GAG9B,GAFwB,mBAAbA,KAA0BA,GAAW,GAChD2T,EAAQ3lB,EAAE2lB,GAAS,aACE,mBAAVA,IAA0C,IAAjBA,EAAM5kB,OAA1C,CAGA4kB,EAAM3T,EAAW,cAAgB,YAAY,eAC7C,IAAI8Y,GAAUnF,EAAMhlB,SAAS,SACzBoqB,EAAYpF,EAAMhlB,SAAS,WAC3BqqB,EAAUrF,EAAMhlB,SAAS,SACzBsqB,EAAgBtF,EAAMhlB,SAAS,gBAC/BuqB,EAAgBvF,EAAMhlB,SAAS,gBAC/BwqB,EAAYxF,EAAMhlB,SAAS,iBAG3ByqB,EAAY,OACZL,KAAWK,EAAY,WACvBJ,IAASI,EAAY,SACrBH,IAAeG,EAAY,eAC3BF,IAAeE,EAAY,UAC3BD,IAAWC,EAAY,UAE3B,IAKIrU,GALAiS,EAAgBrD,EAAMhlB,SAAS,mBAG/B6qB,EAAc7F,EAAMhlB,SAAS,gBA6EjC,OAzEIqqB,GAASjU,EAAU/W,EAAE,kBAEjBkrB,GAAiBzrB,EAAIP,OAAO+H,SAAU8P,EAAU/W,EAAE,yBAC5CkrB,IAAenU,EAAU/W,EAAE,mBAGrCgrB,EACIrF,EAAM5kB,SAAWf,EAAE,mBAAmBe,QACtCgW,EAAQrO,YAAY,yBAGnBqO,GAAWA,EAAQhW,OAAS,GACjCgW,EAAQrO,YAAY,yBAEpBqO,GAASA,EAAQ/E,EAAW,cAAgB,YAAY,gBAE5D2T,EAAM7kB,QAAQ,SAAWsqB,EAAY,UAGjCF,IACAlrB,EAAE,QAAQ0I,YAAY,qBACtB1I,EAAE,QAAQ6H,SAAS,0BAGjBkjB,GAActrB,EAAIP,OAAO+H,UACvB+K,EACA2T,EAAMjd,YAAY,YAAYb,SAAS,aAAaqI,cAAc,SAAU5D,GACxE,GAAIqZ,EAAMhlB,SAAS,aAAcglB,EAAM7kB,QAAQ,UAAYsqB,EAAY,eAGnE,IADAzF,EAAM7kB,QAAQ,UAAYsqB,EAAY,WAClCL,EAAW,MAGfG,IACAlrB,EAAE,QAAQ0I,YAAY,wBAEtBsiB,GAAWC,GAAiBC,GAAiBH,GAC7CpF,EAAMjd,YAAY,aAAawQ,OAC3B8P,GAAiBrD,EAAM5kB,OAAS,GAChC4kB,EAAMpV,UAGJib,GACN7F,EAAMpV,YAKdoV,EAAM7kB,QAAQ,UAAYsqB,EAAY,WACtCzF,EAAMjd,YAAY,sBACdwiB,GACAlrB,EAAE,QAAQ0I,YAAY,wBAEtBsiB,GAAWC,GAAiBC,GAAiBH,GAC7CpF,EAAMzM,OACF8P,GAAiBrD,EAAM5kB,OAAS,GAChC4kB,EAAMpV,UAGJib,GACN7F,EAAMpV,UAGVua,GAAWrrB,EAAIP,OAAOgH,YACtBzG,EAAIgmB,yBAIRE,EAAMjd,YAAY,mCAAmC5H,QAAQ,UAAYsqB,EAAY,WAAWlS,OAC5F8P,GACArD,EAAMpV,WAGP,IAOX9Q,EAAIgsB,eAAiB,SAAU9hB,EAAW+hB,EAAUC,GAEhD,GADAhiB,EAAY3J,EAAE2J,GAAalK,EAAImC,MACN,IAArB+H,EAAU5I,OAAd,CACI2qB,IAAUA,EAAWze,KAAKqd,IAAIrd,KAAKod,IAAIqB,EAAU,GAAI,KACzD,IAAIE,EAKJ,IAJuCA,EAAnCjiB,EAAUhJ,SAAS,eAA8BgJ,EAEnCA,EAAU4J,SAAS,gBAEV,IAAvBqY,EAAY7qB,SAAgB6qB,EAAYjrB,SAAS,wBAArD,CACiBirB,EAAY,GAAG/T,UAQhC,OAPA+T,GAAYrY,SAAS,QAAQ7E,UAAU,iBAAkB,IAAOgd,GAAY,UACvD,mBAAVC,GACPC,EAAYrY,SAAS,QAAQoE,WAAWgU,GAGxCC,EAAYrY,SAAS,QAAQoE,WAAW,IAErCiU,EAAY,MAEvBnsB,EAAIosB,gBAAkB,SAAUliB,EAAW+hB,EAAUlD,GAWjD,GAVyB,gBAAd7e,KACPA,EAAYlK,EAAImC,KAChB8pB,EAAW5E,UAAU,GACrB0B,EAAQ1B,UAAU,IAElB4E,GAAgC,gBAAbA,IAAyBI,WAAWJ,KAAyB,EAAXA,IACrElD,EAAQkD,EACRA,EAAW/oB,QAEfgH,EAAY3J,EAAE2J,GAAalK,EAAImC,MACN,IAArB+H,EAAU5I,OAAd,CACA,GAAI6qB,EAkBJ,OAjBIjiB,GAAUhJ,SAAS,eAAgBirB,EAAcjiB,GAEjDiiB,EAAcjiB,EAAU4J,SAAS,mFACN,IAAvBqY,EAAY7qB,SAIR6qB,EAAc5rB,EAFM,mBAAb0rB,GAES,2CAA6ClD,EAAQ,UAAYA,EAAQ,IAAM,yBAI/E,oDAAsDA,EAAQ,UAAYA,EAAQ,IAAM,aAE5G7e,EAAUmE,OAAO8d,KAGrBF,GAAUjsB,EAAIgsB,eAAe9hB,EAAW+hB,GACrCE,EAAY,KAEvBnsB,EAAIssB,gBAAkB,SAAUpiB,GAE5B,GADAA,EAAY3J,EAAE2J,GAAalK,EAAImC,MACN,IAArB+H,EAAU5I,OAAd,CACA,GAAI6qB,EACmCA,GAAnCjiB,EAAUhJ,SAAS,eAA8BgJ,EAEnCA,EAAU4J,SAAS,uCAEV,IAAvBqY,EAAY7qB,QAAiB6qB,EAAYjrB,SAAS,oBAAqBirB,EAAYjrB,SAAS,oBAChGirB,EAAYljB,YAAY,kBAAkBb,SAAS,mBAAmBqc,aAAa,WAC/E0H,EAAYrb,SACZqb,EAAc,SAItBnsB,EAAIigB,oBAAsB,SAAUhQ,GAChCA,EAAgB1P,EAAE0P,GAClBA,EAAcjP,KAAK,gBAAgB6O,KAAK,WACpC,GAAI0c,GAAIhsB,EAAEC,KACwB,KAA9B+rB,EAAEzY,SAAS,QAAQxS,QAAcirB,EAAEle,OAAO,iBAC1Cke,EAAExjB,KAAK,kBAAkB/I,EAAIgsB,eAAeO,EAAGA,EAAExjB,KAAK,qBAOlE/I,EAAIwsB,gBAAiB,EACrBxsB,EAAIysB,UAAY,SAAUC,EAAena,GAyBrC,QAASoa,KACLC,EAAoBnc,cAAc,SAAU5D,GACpCtM,EAAEsM,EAAEiB,QAAQE,GAAG4e,IACXC,EAAM3rB,SAAS,UACf2rB,EAAMxrB,QAAQ,uBAGdwrB,EAAMxrB,QAAQ,uBAEdrB,EAAIP,OAAO+H,UAAUjH,EAAE,kBAAkBuI,KAAKgkB,QAAS,KAC3D9sB,EAAIwsB,gBAAiB,GAEpBG,MAnCb,GADwB,mBAAbpa,KAA0BA,GAAW,IAC3CvS,EAAIwsB,eAAgB,OAAO,CAChC,IAAIK,GAAQtsB,EAAE,UAAYmsB,EAC1B,IAAqB,IAAjBG,EAAMvrB,QAAgBurB,EAAM3rB,SAAS,UAAW,OAAO,CAC3DlB,GAAI+sB,aACJ/sB,EAAIwsB,gBAAiB,CACrB,IAAIQ,GAASH,EAAM3rB,SAAS,gBAAkB,SAAW,OACzD2rB,GAAMta,EAAW,cAAgB,YAAY,gBAC7Csa,EAAM/jB,KAAKgkB,QAAS,UAAU1kB,SAAS,UACvCykB,EAAMxrB,QAAQ,mBACVrB,EAAIP,OAAO+H,WACXjH,EAAE,kBAAkBgS,EAAW,cAAgB,YAAY,gBAC3DhS,EAAE,kBAAkB4X,QAEpB0U,EAAM7rB,KAAK,IAAMhB,EAAIP,OAAOoH,WAAWvF,OAAS,GAC5CtB,EAAIiV,aAAajV,EAAIiV,YAAY4X,EAAM7rB,KAAK,IAAMhB,EAAIP,OAAOoH,WAAW,GAIhF,IAGI+lB,IAHaC,EAAM,GAAGzU,WAGW,WAAX4U,EAAsBzsB,EAAE,IAAMP,EAAIP,OAAOsH,YAAc8lB,EA2BjF,OAVIta,GACAoa,KAGAE,EAAMxrB,QAAQ,uBACVrB,EAAIP,OAAO+H,UAAUjH,EAAE,kBAAkBuI,KAAKgkB,QAAS,KAC3D9sB,EAAIwsB,gBAAiB,GAGzBjsB,EAAE,QAAQ6H,SAAS,cAAgBskB,EAAgB,IAAMM,IAClD,GAEXhtB,EAAI+sB,WAAa,SAAUxa,GACC,mBAAbA,KAA0BA,GAAW,EAChD,IAAI0a,GAAc1sB,EAAE,gBACpB,IAA2B,IAAvB0sB,EAAY3rB,OAAc,OAAO,CACrC,IAAI0rB,GAASC,EAAY/rB,SAAS,gBAAkB,SAAW,QAC3DwrB,EAAgBO,EAAY/rB,SAAS,cAAgB,OAAS,OAClE+rB,GAAY1a,EAAW,cAAgB,YAAY,gBACnD0a,EAAYhkB,YAAY,UACpBjJ,EAAIP,OAAO+H,UACXjH,EAAE,kBAAkB0I,YAAY,eAEpC,IAAI2jB,GAAiC,WAAXI,EAAsBzsB,EAAE,IAAMP,EAAIP,OAAOsH,YAAckmB,CACjFA,GAAY5rB,QAAQ,qBACpBrB,EAAIwsB,gBAAiB,EACjBja,GACAqa,EAAoBnc,cAAc,WAC1Bwc,EAAY/rB,SAAS,YACzB+rB,EAAYnkB,KAAKgkB,QAAS,KAC1BG,EAAY5rB,QAAQ,uBACpBd,EAAE,QAAQ0I,YAAY,iBACtBjJ,EAAIwsB,gBAAiB,KAEzBjsB,EAAE,QAAQ6H,SAAS,iBAAiBa,YAAY,cAAgByjB,EAAgB,IAAMM,KAGtFC,EAAYnkB,KAAKgkB,QAAS,KAC1BG,EAAY5rB,QAAQ,uBACpB4rB,EAAYhkB,YAAY,gBACxB1I,EAAE,QAAQ0I,YAAY,cAAgByjB,EAAgB,IAAMM,GAC5DhtB,EAAIwsB,gBAAiB,IAM7BxsB,EAAIktB,gBAAkB,WAkBlB,QAAStgB,GAAiBC,GACtB,GAAK7M,EAAIwsB,iBAAoBxsB,EAAIP,OAAOgG,YAAezF,EAAIP,OAAOmG,uBAAwByG,KACtF9L,EAAE,gCAAgCe,OAAS,KACzCtB,EAAIP,OAAOkG,yBAA2B3F,EAAIP,OAAOmG,uBAC/CrF,EAAE,iBAAiBe,OAAS,IAAMurB,EAAM3rB,SAAS,cAErD2L,EAAEiB,QAA8C,UAApCjB,EAAEiB,OAAOqf,SAASrT,eAA+C,UAAlBjN,EAAEiB,OAAOd,MACpEzM,EAAEsM,EAAEiB,QAAQsf,QAAQ,wBAAwB9rB,OAAS,GAAzD,CAGA,GAFAiL,EAAaQ,EAAe,eAAXF,EAAEG,KAAwBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,MACxEX,EAAaY,EAAe,eAAXN,EAAEG,KAAwBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,MACpEpN,EAAIP,OAAOkG,yBAA2B3F,EAAIP,OAAOmG,oBAAqB,CACtE,GAAIrF,EAAE,iBAAiBe,OAAS,EAC5B+rB,EAAO9sB,EAAE,iBAAiBW,SAAS,cAAgB,OAAS,YAE3D,CACD,GAAIlB,EAAIP,OAAOmG,oBAAqB,MACpCynB,GAAOrtB,EAAIP,OAAOgG,WAEtB,IAAK4nB,EAAM,OAIf,GAFAR,EAAQtsB,EAAE,gBAAkB8sB,GAC5BC,EAAST,EAAM3rB,SAAS,UACpBlB,EAAIP,OAAOiG,uBAAyB4nB,EAAQ,CAC5C,GAAa,SAATD,GACI9gB,EAAaQ,EAAI/M,EAAIP,OAAOiG,qBAAsB,MAE1D,IAAa,UAAT2nB,GACI9gB,EAAaQ,EAAIxN,OAAOguB,WAAavtB,EAAIP,OAAOiG,qBAAsB,OAGlF4G,GAAU,EACVD,GAAY,EACZV,EAAczI,OAEd4I,GAAiB,GAAKuB,OAAQC,UAC9B4T,EAAYhe,QAEhB,QAASqK,GAAgBV,GACrB,GAAKR,IACDQ,EAAE0B,oBAAN,CACA,GAAIrB,GAAmB,cAAXL,EAAEG,KAAuBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,MAC9DE,EAAmB,cAAXP,EAAEG,KAAuBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,KAIlE,IAH2B,mBAAhBzB,KACPA,KAAiBA,GAAe6B,KAAKC,IAAIL,EAAQb,EAAaY,GAAKK,KAAKC,IAAIP,EAAQX,EAAaQ,KAEjGpB,EAEA,YADAU,GAAY,EAGhB,KAAK6U,EAAW,CAQZ,GANIA,EADAhU,EAAQX,EAAaQ,EACT,WAGA,UAGJ,SAATsgB,EAAgB,CAOf,GALIA,EADA9sB,EAAE,iBAAiBe,OAAS,EACrBf,EAAE,iBAAiBW,SAAS,cAAgB,OAAS,QAGvC,aAAdggB,EAA2B,OAAS,QAE3ClhB,EAAIP,OAAOiG,qBAAuB,EAAG,CACrC,GAAa,SAAT2nB,GAAmB9gB,EAAaQ,EAAI/M,EAAIP,OAAOiG,qBAE/C,YADA2G,GAAY,EAGhB,IAAa,UAATghB,GAAoB9gB,EAAaQ,EAAIxN,OAAOguB,WAAavtB,EAAIP,OAAOiG,qBAEpE,YADA2G,GAAY,GAIpBwgB,EAAQtsB,EAAE,gBAAkB8sB,GAGhC,GACa,SAATA,GAEkB,YAAdnM,IAA4B2L,EAAM3rB,SAAS,WAEtC,UAATmsB,GAEkB,aAAdnM,IAA6B2L,EAAM3rB,SAAS,UAKhD,YADAmL,GAAY,GAKpB,GAAIrM,EAAIP,OAAOoG,mBAAoB,CAC/B,GAAI8J,IAAW,GAAKtC,OAAQC,UAAYxB,CAaxC,OAZI6D,GAAW,MACO,YAAduR,IACa,UAATmM,GAAkBrtB,EAAIysB,UAAUY,GACvB,SAATA,GAAmBR,EAAM3rB,SAAS,WAAWlB,EAAI+sB,cAEvC,aAAd7L,IACa,SAATmM,GAAiBrtB,EAAIysB,UAAUY,GACtB,UAATA,GAAoBR,EAAM3rB,SAAS,WAAWlB,EAAI+sB,eAG9D1gB,GAAY,OACZC,GAAU,GAITA,IACD0gB,EAASH,EAAM3rB,SAAS,eAAiB,QAAU,SAC9CosB,IACDT,EAAM1U,OACNqV,EAAarV,QAEjBsV,EAAaZ,EAAM,GAAG3W,YACtB2W,EAAM3U,WAAW,GACb2U,EAAM7rB,KAAK,IAAMhB,EAAIP,OAAOoH,WAAWvF,OAAS,GAC5CtB,EAAIiV,aAAajV,EAAIiV,YAAY4X,EAAM7rB,KAAK,IAAMhB,EAAIP,OAAOoH,WAAW,KAIpFyF,GAAU,EAEVO,EAAE2B,gBACF,IAAIkf,GAAYJ,EAAS,GAAKttB,EAAIP,OAAOqG,mBAC5B,WAATunB,IAAkBK,GAAaA,GAEnC7hB,EAAcqB,EAAQX,EAAaQ,EAAI2gB,EAE1B,UAATL,GACAvd,EAAYjE,GAAgByhB,EAASG,EAAa,GAC9C3d,EAAY,IAAGA,EAAY,GAC3BA,GAAa2d,IACb3d,GAAa2d,KAIjB3d,EAAYjE,GAAgByhB,EAASG,EAAa,GAC9C3d,EAAY,IAAGA,EAAY,GAC3BA,EAAY2d,IACZ3d,EAAY2d,IAGL,WAAXT,GACAzjB,EAAM0F,UAAU,eAAiBa,EAAY,WAAWoI,WAAW,GACnEsV,EAAave,UAAU,eAAiBa,EAAY,WAAWoI,WAAW,GAE1E2U,EAAMxrB,QAAQ,eAAgB4qB,SAAUze,KAAKC,IAAIqC,EAAY2d,KAC7DztB,EAAIqT,WAAW,yBAA0B9J,EAAM,GAAIsjB,EAAM,GAAIrf,KAAKC,IAAIqC,EAAY2d,MAGlFZ,EAAM5d,UAAU,eAAiBa,EAAY,WAAWoI,WAAW,GAC/DlY,EAAIP,OAAO+H,WACXgmB,EAAatV,WAAW,GACxByV,EAAiBngB,KAAKC,IAAIqC,EAAU2d,GACpCD,EAAa1kB,KAAKqG,QAASwe,KAE/Bd,EAAMxrB,QAAQ,eAAgB4qB,SAAUze,KAAKC,IAAIqC,EAAY2d,KAC7DztB,EAAIqT,WAAW,yBAA0B9J,EAAM,GAAIsjB,EAAM,GAAIrf,KAAKC,IAAIqC,EAAY2d,MAG1F,QAAShe,GAAe5C,GACpB,IAAKR,IAAcC,EAGf,MAFAD,IAAY,OACZC,GAAU,EAGdD,IAAY,EACZC,GAAU,CACV,IACI2E,GADAtB,GAAW,GAAKtC,OAAQC,UAAYxB,EAEpC8hB,EAAsB,IAAd9d,GAAmBtC,KAAKC,IAAIqC,KAAe2d,CA6CvD,IA3BQxc,EAhBHqc,EAeGxd,KAAe2d,EACN,QAGT9d,EAAW,KAAOnC,KAAKC,IAAIqC,IAAc,GACzCH,GAAY,KAAQnC,KAAKC,IAAIqC,IAAc2d,EAAa,EAE3C,SAATJ,GAAmBvd,IAAc2d,EAAqB,QAC5C,OAGL,QAzBK,IAAd3d,EACS,QAGTH,EAAW,KAAOnC,KAAKC,IAAIqC,GAAa,GACxCH,GAAY,KAAQnC,KAAKC,IAAIqC,IAAc2d,EAAa,EAE/C,OAGA,QAkBF,SAAXxc,IACAjR,EAAIwsB,gBAAiB,EACjBc,GACAttB,EAAI+sB,aACAa,IACAf,EAAM/jB,KAAKgkB,QAAS,KACpBvsB,EAAE,QAAQ0I,YAAY,mBAI1BjJ,EAAIysB,UAAUY,GAEdO,IAAM5tB,EAAIwsB,gBAAiB,IAEpB,UAAXvb,EACA,GAAIqc,EACAttB,EAAIwsB,gBAAiB,EACrBxsB,EAAIysB,UAAUY,OAId,IADArtB,EAAI+sB,aACAa,EACA5tB,EAAIwsB,gBAAiB,EACrBK,EAAM/jB,KAAKgkB,QAAS,SAEnB,CACD,GAAIhf,GAAoB,WAAXkf,EAAsBzjB,EAAQsjB,CAC3CA,GAAMxrB,QAAQ,qBACdd,EAAE,QAAQ6H,SAAS,iBACnB0F,EAAO2C,cAAc,WACjBoc,EAAMxrB,QAAQ,sBACdwrB,EAAM/jB,KAAKgkB,QAAS,KACpBvsB,EAAE,QAAQ0I,YAAY,iBACtBjJ,EAAIwsB,gBAAiB,IAKtB,WAAXQ,IACAzjB,EAAM2O,WAAW,IACjB3O,EAAM0F,UAAU,KAEpB4d,EAAM3U,WAAW,IAAIjJ,UAAU,IAC/Bue,EAAa1kB,KAAKgkB,QAAS,KAAK7d,UAAU,IAAIiJ,WAAW,IAAIpP,IAAI,UAAW,IAxQhF,GAAI+jB,GAAOQ,CACX,IAAIrtB,EAAIP,OAAOgG,YAGX,GAFAonB,EAAQtsB,EAAE,gBAAkBP,EAAIP,OAAOgG,YACvC4nB,EAAOrtB,EAAIP,OAAOgG,WACG,IAAjBonB,EAAMvrB,QAAyB,SAAT+rB,EAAiB,WAE1C,CACD,IAAIrtB,EAAIP,OAAOmG,oBAGV,MAFD,IAA2B,IAAvBrF,EAAE,UAAUe,OAAc,OAKtC,GACI+K,GAAWC,EAASX,EAAgCG,EAAgBD,EAAaiE,EAAW6d,EAAgBL,EAAQG,EAAYT,EAAQ9L,EADxIsM,EAAejtB,EAAE,kBACgBgM,KACjChD,EAAQhJ,EAAE,IAAMP,EAAIP,OAAOsH,YA2P3BmK,IAA4C,eAA1BlR,EAAIqI,YAAYC,QAA0BtI,EAAIuI,QAAQ2I,mBAAmBC,SAAS,EAAMC,SAAS,EACvH7Q,GAAEuB,UAAUuH,GAAGrJ,EAAIqI,YAAYC,MAAOsE,EAAkBsE,GACxD3Q,EAAEuB,UAAUuH,GAAGrJ,EAAIqI,YAAYI,KAAM8E,GACrChN,EAAEuB,UAAUuH,GAAGrJ,EAAIqI,YAAYK,IAAK+G,EAAgByB,IAQxDlR,EAAIggB,mBAAqB,SAAU/P,GAqC/B,QAAS4d,GAAUzhB,GAOf,QAAS0hB,KACL1hB,EAAGnD,YAAY,QAAQb,SAAS,eAC5B4gB,EACA5c,EAAGtD,IAAI,mBAAoB,OAASilB,EAAM,KAG1C3hB,EAAGrD,KAAK,MAAOglB,GAGf/tB,EAAIP,OAAOmH,2BACXonB,GAAiB,EACbC,EAAe3sB,OAAS,GACxBusB,EAAUI,EAAehI,UAKrC,QAASiI,KACL9hB,EAAGnD,YAAY,QAAQb,SAAS,eAC5B4gB,EACA5c,EAAGtD,IAAI,mBAAoB,OAASqlB,EAAiB,KAGrD/hB,EAAGrD,KAAK,MAAOolB,GAGfnuB,EAAIP,OAAOmH,2BACXonB,GAAiB,EACbC,EAAe3sB,OAAS,GACxBusB,EAAUI,EAAehI,UAnCrC7Z,EAAK7L,EAAE6L,EAEP,IAAI4c,GAAK5c,EAAGrD,KAAK,mBACbglB,EAAM/E,EAAKA,EAAK5c,EAAGrD,KAAK,WAC5B,IAAKglB,EAAL,CAoCA,GAAI/tB,EAAIP,OAAOmH,0BACPonB,EAEA,YADIC,EAAe9sB,QAAQiL,EAAG,IAAM,GAAG6hB,EAAepjB,KAAKuB,EAAG,IAMtE4hB,IAAiB,CAEjB,IAAII,GAAQ,GAAIC,MAChBD,GAAME,OAASR,EACfM,EAAMG,QAAUL,EAChBE,EAAML,IAAKA,GAEf,QAASS,KACLC,EAAiBxe,EAAcjP,KAAK,SACpCytB,EAAe5e,KAAK,SAAS2D,EAAOpH,GAChCA,EAAK7L,EAAE6L,GACHA,EAAG2B,QAAQ,qBAAqBzM,OAAS,GAGzCotB,EAAoBtiB,EAAG,KACvByhB,EAAUzhB,KAKtB,QAASsiB,GAAqBtiB,GAC1B,GAAIuiB,GAAOviB,EAAGwiB,wBACVlB,EAAY1tB,EAAIP,OAAOkH,yBAA2B,CACtD,OACIgoB,GAAKlF,KAAQ,EAAIiE,GACjBiB,EAAKxgB,MAAS,EAAIuf,GAClBiB,EAAKlF,KAAQlqB,OAAOsvB,YAAcnB,GAClCiB,EAAKxgB,MAAS5O,OAAOguB,WAAaG,EAI1C,QAAS3c,GAAaiC,GAClB,GAAI2H,GAAS3H,EAAU,MAAQ,IAC/Byb,GAAe9T,GAAQ,OAAQ6T,GAC/BC,EAAe1gB,QAAQ,QAAQ4M,GAAQ,OAAQ6T,GAC/Cve,EAAc0K,GAAQ,OAAQ6T,GAC9BlT,EAAYX,GAAQ,OAAQ6T,GAC5BlT,EAAYX,GAAQ,SAAU6T,GAC9BjuB,EAAEhB,QAAQob,GAAQ,SAAU6T,GAEhC,QAASnd,KACLN,GAAa,GA9HjBd,EAAgB1P,EAAE0P,EAGlB,IAAIwe,EAQJ,IAPIxe,EAAc/O,SAAS,SACvButB,EAAiBxe,EACjBA,EAAgBwe,EAAe1gB,QAAQ,UAGvC0gB,EAAiBxe,EAAcjP,KAAK,SAEV,IAA1BytB,EAAentB,OAAnB,CAGA,GAAIga,EAQJ,IAPIrL,EAAc/O,SAAS,iBACvBoa,EAAcrL,EACdA,EAAgBA,EAAclC,QAAQ,UAGtCuN,EAAcrL,EAAcjP,KAAK,iBAEV,IAAvBsa,EAAYha,OAAhB,CAGA,GAAI6sB,GAAiB,wIAC+B,iBAAzCnuB,GAAIP,OAAOqvB,4BAClBX,EAAiBnuB,EAAIP,OAAOqvB,2BAE5B9uB,EAAIP,OAAOqvB,6BAA8B,GAAOL,EAAe5e,KAAK,WAChEtP,EAAEC,MAAMuI,KAAK,aAAaxI,EAAEC,MAAMuI,KAAK,MAAOolB,IAItD,IAAIF,MACAD,GAAiB,CA+FrB/d,GAAc,GAAG8e,wBAA0B1d,EAG3CN,IAGId,EAAc/O,SAAS,SACvB+O,EAAcgL,KAAK,oBAAqB5J,GAI5Cmd,IAGAve,EAAcgL,KAAK,sBAAuBuT,MAE9CxuB,EAAIgvB,sBAAwB,SAAU/e,GAClCA,EAAgB1P,EAAE0P,GACdA,EAAc3O,OAAS,GAAK2O,EAAc,GAAG8e,yBAC7C9e,EAAc,GAAG8e,2BAGzB/uB,EAAIivB,qBAAuB,SAAUhf,GACjCA,EAAgB1P,EAAE0P,GACdA,EAAc3O,OAAS,GACvB2O,EAAc5O,QAAQ,SAQ9BrB,EAAImgB,0BAA4B,SAAUlQ,GACtC1P,EAAE0P,GAAejP,KAAK,cAAc6O,KAAK,WACH,IAA9BtP,EAAEC,MAAMsT,WAAWxS,QACnBf,EAAEC,MAAM0uB,KAAKlvB,EAAIP,OAAOkI,yBAQpC,IAAIwnB,GAAW,SAAUjlB,EAAWzK,GAChC,GAAIkK,IACAylB,YAAY,EACZC,kBAAkB,EAClBC,gBAAgB,EAChBC,0BAA0B,EAC1BC,gBACI,olBAUR/vB,GAASA,KACT,KAAK,GAAIuK,KAAOL,GACe,mBAAhBlK,GAAOuK,IAAwC,OAAhBvK,EAAOuK,KAC7CvK,EAAOuK,GAAOL,EAASK,GAK/B,IAAIqR,GAAI7a,IAOR,IAJA6a,EAAE5b,OAASA,EAGX4b,EAAEnR,UAAY3J,EAAE2J,GACW,IAAvBmR,EAAEnR,UAAU5I,OA+KhB,MA5KI+Z,GAAE5b,OAAO2vB,YAAY/T,EAAEnR,UAAU9B,SAAS,wBAG1CiT,EAAE5b,OAAO4vB,kBAAkBhU,EAAEnR,UAAU9B,SAAS,sBAGpDiT,EAAEpL,cAAgBoL,EAAEnR,UAAU6D,QAAQ,SAASxM,GAAG,GAClD8Z,EAAEC,YAAcD,EAAEpL,cAAcjP,KAAK,iBAGrCqa,EAAEkH,SAAWra,UAAUua,QAAQpH,EAAE5b,OAAO+vB,iBAGxCnU,EAAEoU,OAAS,WACFpU,EAAEnR,UAAUhJ,SAAS,yBAAyBma,EAAEnR,UAAU9B,SAAS,wBACxEiT,EAAEnR,UAAUlJ,KAAK,YAAY6O,KAAK,WAC9B,GAAI6f,GAAUnvB,EAAEC,KAChB,IAAIkvB,EAAQ1uB,KAAK,qBAAqBM,OAAS,EAAG,CAG9C,IAAK,GAFDypB,GAAa2E,EAAQ1uB,KAAK,iBAAiB,GAAG+pB,WAC9C4E,GAAU,EACLjmB,EAAI,EAAIA,EAAIqhB,EAAWzpB,OAAQoI,IACL,IAA3BqhB,EAAWrhB,GAAGkmB,UAA2D,QAAzC7E,EAAWrhB,GAAGyjB,SAASrT,gBAAyB6V,GAAU,GAC/D,IAA3B5E,EAAWrhB,GAAGkmB,UAAuD,KAArC7E,EAAWrhB,GAAGmmB,YAAY1W,SAAewW,GAAU,EAEvFA,GAASD,EAAQtnB,SAAS,eACzBsnB,EAAQzmB,YAAY,eAEzBymB,EAAQ1uB,KAAK,mBAAmBM,OAAS,GAAGouB,EAAQtnB,SAAS,yBAErEiT,EAAEnR,UAAUlJ,KAAK,YAAY6O,KAAK,WAC9B,GAAI6f,GAAUnvB,EAAEC,MACZsvB,EAASJ,EAAQxuB,SAAS,gBAC1B4gB,EAAO4N,EAAQ5N,KAAK,aAAegO,EAAS,OAAS,aACrDxL,EAAOoL,EAAQpL,KAAK,aAAewL,EAAS,OAAS,YACrC,KAAhBhO,EAAKxgB,OACLouB,EAAQtnB,SAAS,kCAEhBsnB,EAAQzmB,YAAY,kCAEL,IAAhBqb,EAAKhjB,OACLouB,EAAQtnB,SAAS,iBAEhBsnB,EAAQzmB,YAAY,iBAErBqb,EAAKhjB,OAAS,GAAKgjB,EAAKtjB,KAAK,iBAAiBM,OAAS,GAAKouB,EAAQ1uB,KAAK,iBAAiBM,OAAS,GAC/FgjB,EAAKtjB,KAAK,iBAAiBiZ,SAAWyV,EAAQ1uB,KAAK,iBAAiBiZ,SACpEqK,EAAKlc,SAAS,kCACdsnB,EAAQtnB,SAAS,qBAOjCiT,EAAE0U,cAAgB,SAAUC,EAAOC,GAC/B,MAAO5U,GAAE6U,WAAWF,EAAO,SAAUC,IAEzC5U,EAAE8U,eAAiB,SAAUH,EAAOC,GAChC,MAAO5U,GAAE6U,WAAWF,EAAO,UAAWC,IAE1C5U,EAAE6U,WAAa,SAAUF,EAAOrV,EAAQsV,GACpC,MAAO5U,GAAE+U,aAAaJ,GAAQrV,EAAQsV,IAE1C5U,EAAE+U,YAAc,SAAUC,EAAa1V,EAAQsV,GACpB,mBAAZA,KACPA,GAAU,GAEQ,mBAAXtV,KACPA,EAASU,EAAE5b,OAAO4vB,iBAAmB,UAAY,SAErD,IAA0B3lB,GAAtB4mB,EAAkB,EACtB,KAAK5mB,EAAI,EAAGA,EAAI2mB,EAAY/uB,OAAQoI,IAAK,CACrC,GAAIsmB,GAAQK,EAAY3mB,MACxBsmB,GAAMhjB,KAAOgjB,EAAMhjB,MAAQ,OACtBgjB,EAAM/V,OACX+V,EAAMO,SAAWP,EAAM/V,KAAK9Y,QAAQ,SAAW,EAC3C6uB,EAAMQ,aAAc,IAAOR,EAAMO,UAAW,GAC5CN,IAASD,EAAM9f,SAAsB,WAAXyK,EAAsB,SAAW,OAE/D2V,GAAmBjV,EAAEkH,SAASyN,IAElC,GAAIS,GAAqBpV,EAAEC,YAAY,GAAG5a,aACtCgwB,EAAerV,EAAEC,YAAY,GAAG1a,aAChC+vB,EAAetV,EAAEC,YAAY,GAAG7a,SAMpC,IALA4a,EAAEnR,UAAUyQ,GAAQ2V,GAChBjV,EAAE5b,OAAO2vB,YAAY/T,EAAEoU,SACZ,YAAX9U,IACAU,EAAEC,YAAY,GAAG7a,UAAYkwB,GAAgBtV,EAAEC,YAAY,GAAG5a,aAAe+vB,IAE7EpV,EAAE5b,OAAO6vB,gBAA8B,WAAX3U,IAAwBU,EAAE5b,OAAO4vB,kBAAiC,YAAX1U,GAAwBU,EAAE5b,OAAO4vB,iBACpH,GAAIhU,EAAE5b,OAAO8vB,yBAA0B,CACnC,GAAIqB,IAAS,CACTvV,GAAE5b,OAAO4vB,iBACY,IAAjBsB,IAAoBC,GAAS,GAG7BD,GAAgBF,EAAqBC,KAAiB,KAAKE,GAAS,GAExEA,GAAQvV,EAAEiU,eAAeW,EAAU/sB,OAAY,OAElDmY,GAAEiU,eAAeW,EAAU/sB,OAAY,EAEhD,IAAI2tB,GAAWxV,EAAEnR,UAAUlJ,KAAK,WAChC,IAA2B,IAAvBqvB,EAAY/uB,OACZ,MAAkB,WAAXqZ,EAAsBkW,EAASA,EAASvvB,OAAS,GAAKuvB,EAAS,EAGtE,IAAIC,KACJ,IAAe,WAAXnW,EACA,IAAKjR,EAAImnB,EAASvvB,OAAS+uB,EAAY/uB,OAAQoI,EAAImnB,EAASvvB,OAAQoI,IAChEonB,EAAiBjmB,KAAKgmB,EAASnnB,QAInC,KAAKA,EAAI,EAAGA,EAAI2mB,EAAY/uB,OAAQoI,IAChConB,EAAiBjmB,KAAKgmB,EAASnnB,GAGvC,OAAOonB,IAIfzV,EAAE0V,cAAgB,SAAUrB,GAExB,MADAA,GAAUnvB,EAAEmvB,GACW,IAAnBA,EAAQpuB,SAIRouB,EAAQ5e,SACJuK,EAAE5b,OAAO2vB,YAAY/T,EAAEoU,UACpB,IAGfpU,EAAE2V,eAAiB,SAAUH,GACzBxV,EAAE0V,cAAcF,IAEpBxV,EAAE4V,MAAQ,WACN5V,EAAEnR,UAAUglB,KAAK,KAIrB7T,EAAEiU,eAAiB,SAAU4B,EAAUzwB,GACX,mBAAbywB,KAA0BA,EAAW,IAChD,IACIC,GADAC,EAAgB/V,EAAEC,YAAY,GAAG7a,SAErC,IAAyB,mBAAdA,GAA2B0wB,EAAY1wB,MAG9C,IADA0wB,EAAY9V,EAAE5b,OAAO4vB,iBAAmB,EAAIhU,EAAEC,YAAY,GAAG5a,aAAe2a,EAAEC,YAAY,GAAG1a,aACzFuwB,IAAcC,EAAe,MAErC/V,GAAEC,YAAY7a,UAAU0wB,EAAWD,IAIvC7V,EAAEvT,KAAO,WACDuT,EAAE5b,OAAOoxB,SACTxV,EAAE+U,YAAY/U,EAAE5b,OAAOoxB,SAAU3tB,QAAW,IAGxCmY,EAAE5b,OAAO2vB,YAAY/T,EAAEoU,SAC3BpU,EAAEiU,eAAe,KAIzBjU,EAAErI,QAAU,WACRqI,EAAI,MAIRA,EAAEvT,OAEFuT,EAAEnR,UAAU,GAAGmnB,WAAahW,EACrBA,EAEXrb,GAAI6wB,SAAW,SAAU3mB,EAAWzK,GAChC,MAAO,IAAI0vB,GAAUjlB,EAAWzK,IAEpCO,EAAIyf,iBAAmB,SAAUxP,GAU7B,QAASuM,KACLnB,EAAErI,UACF/C,EAAcyM,IAAI,oBAAqBF,GAX3CvM,EAAgB1P,EAAE0P,EAClB,IAAI4gB,GAAW5gB,EAAcjP,KAAK,YAClC,IAAwB,IAApB6vB,EAASvvB,QACRuvB,EAAS3vB,SAAS,iBAAvB,CAGA,GAAIma,GAAIrb,EAAI6wB,SAASA,EAAUA,EAAS7V,UAOpC/K,GAAc/O,SAAS,SACvB+O,EAAc5G,GAAG,oBAAqBmT,KAQ9Cxc,EAAI8M,iBAAmB5J,OACvBlD,EAAIsxB,eAAgB,EACpBtxB,EAAIuxB,aAAe,SAAUC,GAkBzB,QAAS5kB,GAAiBC,GACjB7M,EAAIsxB,gBACThlB,GAAU,EACVD,GAAY,EACZV,EAAczI,OACdqJ,EAAaQ,EAAe,eAAXF,EAAEG,KAAwBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,MACxEX,EAAaY,EAAe,eAAXN,EAAEG,KAAwBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,MACxEtB,GAAiB,GAAKuB,OAAQC,WAElC,QAASC,GAAgBV,GACrB,GAAKR,EAAL,CACA,GAAIa,GAAmB,cAAXL,EAAEG,KAAuBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,MAC9DE,EAAmB,cAAXP,EAAEG,KAAuBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,KAIlE,IAH2B,mBAAhBzB,KACPA,KAAiBA,GAAe6B,KAAKC,IAAIL,EAAQb,EAAaY,GAAKK,KAAKC,IAAIP,EAAQX,EAAaQ,KAEjGpB,EAEA,YADAU,GAAY,EAIhB,KAAKC,EAAS,CACV,GAAI/L,EAAE,+BAA+Be,OAAS,EAAG,MAEjDmwB,GAAalxB,EAAEC,MACfkxB,EAAkBD,EAAWzwB,KAAK,qBAClC2wB,EAAeF,EAAWzwB,KAAK,2BAC/B4wB,EAAcH,EAAWzwB,KAAK,0BAC9B6wB,EAAmBC,EAAoBC,EAAcC,EAAeC,EAAuBC,EAAsB,KACjHC,EAAaP,EAAY1wB,SAAS,6BAA+BlB,EAAIP,OAAOqF,sBAC5EstB,EAAcT,EAAazwB,SAAS,6BAA+BlB,EAAIP,OAAOqF,sBAC1E8sB,EAAYtwB,OAAS,IACrBuwB,EAAmBD,EAAYhc,aAC/Bmc,EAAcH,EAAY9d,SAAS,KACnCoe,EAAsBN,EAAY5wB,KAAK,wBAEvC2wB,EAAarwB,OAAS,IACtBwwB,EAAoBH,EAAa/b,aACjCoc,EAAeL,EAAa7d,SAAS,KACrCme,EAAuBN,EAAa3wB,KAAK,wBAE7CssB,EAASmE,EAAWvwB,SAAS,mBACzBosB,IACA+E,EAAgBZ,EAAWzwB,KAAK,kDAAkDM,OAAS,EAAI,OAAS,SAE5GmwB,EAAWxoB,YAAY,iBAClBjJ,EAAIP,OAAOsF,mBACZ0sB,EAAWzwB,KAAK,4BAA4BiI,YAAY,2BACxDwoB,EAAWxoB,YAAY,oBAc/B,GAXAqD,GAAU,EACVO,EAAE2B,iBAEF3C,EAAcqB,EAAQX,EAAaQ,EACnC+C,EAAYjE,EAERyhB,IACsB,UAAlB+E,EAA2BviB,GAAwBgiB,EAClDhiB,GAAwB+hB,GAG7B/hB,EAAY,GAA4B,IAAvB8hB,EAAYtwB,QAAgBwO,EAAY,GAA6B,IAAxB6hB,EAAarwB,OAAc,CACzF,IAAKgsB,EASD,MARAjhB,GAAYC,GAAU,EACtBolB,EAAgBziB,UAAU,IACtB+iB,GAAgBA,EAAa1wB,OAAS,GACtC0wB,EAAa/iB,UAAU,SAEvB8iB,GAAeA,EAAYzwB,OAAS,GACpCywB,EAAY9iB,UAAU,IAI9Ba,GAAY,EAGZA,EAAY,EAAGoR,EAAY,UACtBpR,EAAY,EAAGoR,EAAY,WAE3BA,IAAWA,EAAY,UAGhC,IAAIxX,GAAG4oB,EAAcrG,CAGrB,IADApf,EAAE0B,qBAAsB,EACpBvO,EAAIP,OAAOsF,iBAmBX,MAlBIuoB,IACsB,UAAlB+E,GAA6BxmB,EAAc,GAC3C7L,EAAIuyB,cAAcd,GAEA,SAAlBY,GAA4BxmB,EAAc,GAC1C7L,EAAIuyB,cAAcd,KAIlB5lB,EAAc,GAAK8lB,EAAarwB,OAAS,GACzCtB,EAAIwyB,aAAaf,EAAY,SAE7B5lB,EAAc,GAAK+lB,EAAYtwB,OAAS,GACxCtB,EAAIwyB,aAAaf,EAAY,SAGrCplB,GAAY,OACZC,GAAU,EAGdmmB,IAAgB,EAChBC,GAAiB,CACjB,IAAIC,EACJ,IAAIhB,EAAarwB,OAAS,EAStB,IAPA2qB,EAAWnc,EAAYgiB,EACnBhiB,GAAagiB,IACbhiB,GAAagiB,EAAoBtkB,KAAKolB,KAAK9iB,EAAYgiB,EAAmB,IACtEG,EAAqB3wB,OAAS,IAC9BoxB,GAAiB,IAGpBhpB,EAAI,EAAGA,EAAIsoB,EAAa1wB,OAAQoI,IACY,mBAAlCsoB,GAAatoB,GAAGmpB,gBACvBb,EAAatoB,GAAGmpB,cAAgBb,EAAatoB,GAAG8M,YAEpD8b,EAAeN,EAAatoB,GAAGmpB,cAC/BF,EAAUpyB,EAAEyxB,EAAatoB,IACrBuoB,EAAqB3wB,OAAS,GAAKqxB,EAAQzxB,SAAS,wBACpDyxB,EAAQ7pB,KAAKqF,MAAOukB,GAAkBJ,EAAe,GAAK,OACtDI,EACAC,EAAQvqB,SAAS,6BAGjBuqB,EAAQ1pB,YAAY,8BAG5B0pB,EAAQ1jB,UAAU,gBAAkBa,EAAYwiB,GAAgB,EAAI9kB,KAAKod,IAAIqB,GAAU,KAAQ,UAGvG,IAAI2F,EAAYtwB,OAAS,EASrB,IAPA2qB,EAAWnc,EAAY+hB,EACnB/hB,EAAY+hB,IACZ/hB,EAAY+hB,EAAmBrkB,KAAKolB,IAAI9iB,EAAY+hB,EAAkB,IAClEK,EAAoB5wB,OAAS,IAC7BmxB,GAAgB,IAGnB/oB,EAAI,EAAGA,EAAIqoB,EAAYzwB,OAAQoI,IACY,mBAAjCqoB,GAAYroB,GAAGmpB,gBACtBd,EAAYroB,GAAGmpB,cAAgBhB,EAAmBE,EAAYroB,GAAG8M,WAAaub,EAAYroB,GAAGwM,aAEjGoc,EAAeP,EAAYroB,GAAGmpB,cAC9BF,EAAUpyB,EAAEwxB,EAAYroB,IACpBwoB,EAAoB5wB,OAAS,GAAKqxB,EAAQzxB,SAAS,wBACnDyxB,EAAQ7pB,KAAKqF,MAAOskB,EAAgBH,EAAe,GAAK,OACpDG,EACAE,EAAQvqB,SAAS,6BAGjBuqB,EAAQ1pB,YAAY,8BAGxB8oB,EAAYzwB,OAAS,GACrBqxB,EAAQ7pB,IAAI,UAAWipB,EAAYzwB,OAASoI,GAEhDipB,EAAQ1jB,UAAU,gBAAkBa,EAAYwiB,GAAgB,EAAI9kB,KAAKqd,IAAIoB,EAAU,KAAO,UAGtGyF,GAAgBziB,UAAU,eAAiBa,EAAY,YAE3D,QAASL,GAAe5C,GACpB,IAAKR,IAAcC,EAGf,MAFAD,IAAY,OACZC,GAAU,EAIdD,IAAY,EACZC,GAAU,CACV,IACI2E,GAAQ6hB,EAAc7K,EAAS3B,EAAS5c,EADxCiG,GAAW,GAAKtC,OAAQC,UAAYxB,CAoBxC,IAjBAmc,EAAwB,YAAd/G,EAA0ByQ,EAAeC,EACnDkB,EAA6B,YAAd5R,EAA0B4Q,EAAoBD,EAMzD5gB,EAHAtB,EAAW,MAAQ9D,GAAc,IAAqB,YAAdqV,GAA2BrV,EAAc,IAAoB,aAAdqV,IACvFvR,GAAY,KAAOnC,KAAKC,IAAIqC,GAAagjB,EAAe,EAE/C,OAGA,QAETnjB,EAAW,MACiB,IAAxBnC,KAAKC,IAAIqC,KAAkBmB,EAAS,SACpCzD,KAAKC,IAAIqC,KAAegjB,IAAc7hB,EAAS,SAGxC,SAAXA,EAAmB,CACnBjR,EAAI8M,iBAAmB2kB,EACvBA,EAAWpwB,QAAQ,sBACnBowB,EAAWrpB,SAAS,gCACpB,IAAI2qB,GAA6B,YAAd7R,GAA2B4R,EAAeA,CAI7D,IAHApB,EAAgBziB,UAAU,eAAiB8jB,EAAe,WAC1D9K,EAAQ7f,SAAS,2BACjBke,EAAwB,YAAdpF,EAA0B8Q,EAAeD,EAE/C,IAAKroB,EAAI,EAAGA,EAAI4c,EAAQhlB,OAAQoI,IAC5BnJ,EAAE+lB,EAAQ5c,IAAIuF,UAAU,eAAiB8jB,EAAe,UAG5DL,IACAf,EAAa3wB,KAAK,uBAAuB,GAAGgyB,QAE5CP,GACAb,EAAY5wB,KAAK,uBAAuB,GAAGgyB,YAI/CvB,GAAWpwB,QAAQ,wBACnBrB,EAAI8M,iBAAmB5J,OACvBuuB,EAAWrpB,SAAS,iBAAiBa,YAAY,mBACjDyoB,EAAgBziB,UAAU,IAC1BgZ,EAAQhf,YAAY,0BAGxB,IAAIqpB,EACJ,IAAIP,GAAeA,EAAYzwB,OAAS,GAAKywB,IAAgBzL,EACzD,IAAK5c,EAAI,EAAGA,EAAIqoB,EAAYzwB,OAAQoI,IAChC4oB,EAAeP,EAAYroB,GAAGmpB,cACF,mBAAjBP,KACPP,EAAYroB,GAAGmpB,cAAgBhB,EAAmBE,EAAYroB,GAAG8M,WAAaub,EAAYroB,GAAGwM,aAEjG3V,EAAEwxB,EAAYroB,IAAIuF,UAAU,eAAiB,EAAiB,UAGtE,IAAI+iB,GAAgBA,EAAa1wB,OAAS,GAAK0wB,IAAiB1L,EAC5D,IAAK5c,EAAI,EAAGA,EAAIsoB,EAAa1wB,OAAQoI,IACjC4oB,EAAeN,EAAatoB,GAAGmpB,cACH,mBAAjBP,KACPN,EAAatoB,GAAGmpB,cAAgBb,EAAatoB,GAAG8M,YAEpDjW,EAAEyxB,EAAatoB,IAAIuF,UAAU,gBAAmBqjB,EAAgB,UAGxEZ,GAAgBjhB,cAAc,SAAU5D,GAChCygB,GAAqB,SAAXrc,GAAqBgiB,QAAqB,UAAXhiB,IAC7CwgB,EAAWpwB,QAAmB,SAAX4P,EAAoB,SAAW,UAC9Cqc,GAAqB,UAAXrc,IACN0gB,EAAarwB,OAAS,GACtB0wB,EAAa/iB,UAAU,IAEvB2iB,EAAYtwB,OAAS,GACrBywB,EAAY9iB,UAAU,QA9QtC,GAAI5C,GAAWC,EAASX,EAAgCG,EAAgBD,EAAa4lB,EAAYC,EAAiBC,EAAcC,EAAaC,EAAkBC,EAAmBhiB,EAAWwd,EAAQ+E,EAAeN,EAAaC,EAAc9Q,EAAWgR,EAAqBD,EAAsBQ,EAAeC,EAAgBP,EAAYC,EAA3S7lB,IACrChM,GAAEuB,UAAUuH,GAAGrJ,EAAIqI,YAAYC,MAAO,SAAUuE,GAC5C,GAAI7M,EAAI8M,iBAAkB,CACtB,GAAIgB,GAASvN,EAAEsM,EAAEiB,OAEb9N,GAAI8M,iBAAiBkB,GAAGF,EAAO,KAC/BA,EAAOC,QAAQ,aAAaC,GAAGhO,EAAI8M,mBACnCgB,EAAO5M,SAAS,aAChB4M,EAAO5M,SAAS,kBAChB4M,EAAO5M,SAAS,kBAChB4M,EAAOC,QAAQ,4CAA4CzM,OAAS,GAEpEtB,EAAIuyB,cAAcvyB,EAAI8M,qBAuQ9B0kB,GACAjxB,EAAEixB,GAAYnoB,GAAGrJ,EAAIqI,YAAYC,MAAOsE,GACxCrM,EAAEixB,GAAYnoB,GAAGrJ,EAAIqI,YAAYI,KAAM8E,GACvChN,EAAEixB,GAAYnoB,GAAGrJ,EAAIqI,YAAYK,IAAK+G,KAGtClP,EAAEuB,UAAUuH,GAAGrJ,EAAIqI,YAAYC,MAAO,0BAA2BsE,GACjErM,EAAEuB,UAAUuH,GAAGrJ,EAAIqI,YAAYI,KAAM,0BAA2B8E,GAChEhN,EAAEuB,UAAUuH,GAAGrJ,EAAIqI,YAAYK,IAAK,0BAA2B+G,KAIvEzP,EAAIwyB,aAAe,SAAUpmB,EAAI8mB,EAAKhzB,GAQlC,GAPAkM,EAAK7L,EAAE6L,GACkB,IAArBib,UAAU/lB,QACkB,kBAAjB+lB,WAAU,KACjBnnB,EAAWgzB,GAID,IAAd9mB,EAAG9K,SACH8K,EAAG9K,OAAS,IAAG8K,EAAK7L,EAAE6L,EAAG,KACxBA,EAAGlL,SAAS,cAAekL,EAAGlL,SAAS,oBAA5C,CACKgyB,IACkDA,EAA/C9mB,EAAGpL,KAAK,2BAA2BM,OAAS,EAAS,QAC9C,OAEf,IAAI6xB,GAAkB/mB,EAAGpL,KAAK,qBAAuBkyB,EACrD,IAA+B,IAA3BC,EAAgB7xB,OAApB,CACA8K,EAAG/K,QAAQ,sBAAsB+G,SAAS,mBAAmBa,YAAY,iBACzEkqB,EAAgB/qB,SAAS,0BACzB,IAGIsB,GAHA4c,EAAU6M,EAAgBrf,SAAS,KACnCsf,EAAuBD,EAAgBvd,aACvC9F,EAAoB,UAARojB,GAAmBE,EAAuBA,CAE1D,IAAI9M,EAAQhlB,OAAS,EAAG,CACpB,IAAKoI,EAAI,EAAGA,EAAI4c,EAAQhlB,OAAQoI,IAChB,UAARwpB,EACA3yB,EAAE+lB,EAAQ5c,IAAIuF,UAAU,gBAAoBqX,EAAQ5c,GAAG8M,WAAc,WAGrEjW,EAAE+lB,EAAQ5c,IAAIZ,IAAI,UAAWwd,EAAQhlB,OAASoI,GAAGuF,UAAU,gBAAkBmkB,EAAuB9M,EAAQ5c,GAAGwM,YAAcoQ,EAAQ5c,GAAG8M,YAAc,UAG7I8P,GAAQ,GAAGlO,WAGhC,IADAhM,EAAGhE,SAAS,iBACPsB,EAAI,EAAGA,EAAI4c,EAAQhlB,OAAQoI,IAC5BnJ,EAAE+lB,EAAQ5c,IAAIuF,UAAU,eAAiB,EAAc,UAE3D7C,GAAGpL,KAAK,qBAAqBiO,UAAU,eAAiBa,EAAY,WAAWW,cAAc,WACzFrE,EAAG/K,QAAQ,0BACPnB,GAAUA,EAASmzB,KAAKjnB,EAAG,MAEnCpM,EAAI8M,iBAAmBV,KAE3BpM,EAAIuyB,cAAgB,SAAUnmB,EAAIlM,GAa9B,QAASozB,KACLtzB,EAAIsxB,eAAgB,EAChBllB,EAAGlL,SAAS,qBAChBkL,EAAGnD,YAAY,iBACfqd,EAAQrX,UAAU,IAClB7C,EAAG/K,QAAQ,0BACPnB,GAAUA,EAASmzB,KAAKjnB,EAAG,IAC3BmnB,GAASnX,aAAamX,IAlB9B,GADAnnB,EAAK7L,EAAE6L,GACW,IAAdA,EAAG9K,QACF8K,EAAGlL,SAAS,mBAAjB,CACA,GAAIgyB,GAAM9mB,EAAGpL,KAAK,4BAA4BE,SAAS,0BAA4B,QAAU,OACzFiyB,EAAkB/mB,EAAGpL,KAAK,4BAA4BiI,YAAY,2BAClEqd,EAAU6M,EAAgBrf,SAAS,KACnCsf,EAAuBD,EAAgBvd,YAC3C5V,GAAIsxB,eAAgB,EACpBllB,EAAG/K,QAAQ,wBACX+K,EAAGnD,YAAY,mBAAmBb,SAAS,gBAE3C,IAAImrB,EAUJnnB,GAAGpL,KAAK,qBAAqBiO,UAAU,IAAIwB,cAAc6iB,GACzDC,EAAUtxB,WAAWqxB,EAAiB,IAEtC,KAAK,GAAI5pB,GAAI,EAAGA,EAAI4c,EAAQhlB,OAAQoI,IACpB,UAARwpB,EACA3yB,EAAE+lB,EAAQ5c,IAAIuF,UAAU,gBAAmBqX,EAAQ5c,GAAG8M,WAAc,WAGpEjW,EAAE+lB,EAAQ5c,IAAIuF,UAAU,gBAAkBmkB,EAAuB9M,EAAQ5c,GAAGwM,YAAcoQ,EAAQ5c,GAAG8M,YAAc,WAEvHjW,EAAE+lB,EAAQ5c,IAAIZ,KAAKqF,KAAK,QAAWlF,YAAY,4BAE/CjJ,GAAI8M,kBAAoB9M,EAAI8M,iBAAiB,KAAOV,EAAG,KAAIpM,EAAI8M,iBAAmB5J,UAE1FlD,EAAIwzB,eAAiB,SAAUpnB,EAAIlM,GAE/B,GADAkM,EAAK7L,EAAE6L,GACW,IAAdA,EAAG9K,OAAP,CACI8K,EAAG9K,OAAS,IAAG8K,EAAK7L,EAAE6L,EAAG,KAC7BpM,EAAI8M,iBAAmB5J,OACvBkJ,EAAG/K,QAAQ,0BACX+K,EAAGtD,KAAKnI,OAAQyL,EAAG8d,cAAgB,MAClB9d,GAAG,GAAGgM,UACvBhM,GAAGtD,KAAKnI,OAAQ,QAAWyH,SAAS,0BAA0BqI,cAAc,WAGxE,GAFArE,EAAG/K,QAAQ,4BACPnB,GAAUA,EAASmzB,KAAKjnB,EAAG,IAC3BA,EAAG2B,QAAQ,iBAAiBzM,OAAS,EAAG,CACxC,GAAIjB,GAAc+L,EAAG2B,QAAQ,iBAAiB,GAAGvM,cAC7CiyB,EAAernB,EAAG,GAAGsnB,kBACrBrzB,IAAuC,mBAAjBozB,IAA8BpzB,EAAYszB,WAAWF,OAG3EzzB,GAAIP,OAAOuF,0BACX/C,WAAW,WACPmK,EAAG0E,UACJ,GAEF1E,EAAG0E,UAGhB,IAAIhB,GAAY,OAChB1D,GAAGpL,KAAK,qBAAqBiO,UAAU,eAAiBa,EAAY,WAOxE9P,EAAI4zB,eAAiB,SAAUC,GAU3B,MATAA,GAAoBtzB,EAAEszB,GACW,IAA7BA,EAAkBvyB,SAAcuyB,EAAoBtzB,EAAE,yBAC1DszB,EAAkBC,YAAY,mBAC1BD,EAAkB3yB,SAAS,mBAC3B2yB,EAAkBxyB,QAAQ,sBAG1BwyB,EAAkBxyB,QAAQ,wBAEvBwyB,GAEX7zB,EAAI+zB,aAAe,SAAUF,GAKzB,MAJAA,GAAoBtzB,EAAEszB,GACW,IAA7BA,EAAkBvyB,SAAcuyB,EAAoBtzB,EAAE,yBAC1DszB,EAAkBzrB,SAAS,mBAC3ByrB,EAAkBxyB,QAAQ,sBACnBwyB,GAEX7zB,EAAIg0B,cAAgB,SAAUH,GAK1B,MAJAA,GAAoBtzB,EAAEszB,GACW,IAA7BA,EAAkBvyB,SAAcuyB,EAAoBtzB,EAAE,yBAC1DszB,EAAkB5qB,YAAY,mBAC9B4qB,EAAkBxyB,QAAQ,wBACnBwyB,GAEX7zB,EAAIi0B,aAAe,WAGf,QAASrnB,GAAiBC,GACtBP,GAAU,EACVD,GAAY,EACZ6nB,EAAyB,eAAXrnB,EAAEG,KAAwBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,MAErE+mB,EAAY5zB,EAAEC,MAAM0T,SACpBkgB,EAAaD,EAAU3gB,QACvB6gB,EAAeF,EAAUjgB,SAASlT,KAAK,MACvC6yB,EAAoBM,EAAUpmB,QAAQ,aACtClB,EAAE2B,iBACFxO,EAAIwsB,eAAiBxsB,EAAIsxB,eAAgB,EAE7C,QAAS/jB,GAAgBV,GACrB,GAAKR,GAAc8nB,EAAnB,CACA,GACI/mB,IADmB,cAAXP,EAAEG,KAAuBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,MAC3C,cAAXL,EAAEG,KAAuBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,MAC7Dd,KACD6nB,EAAU/rB,SAAS,WACnByrB,EAAkBzrB,SAAS,oBAC3BksB,EAASH,EAAU,GAAGI,UACtBC,EAASL,EAAUjgB,SAASvT,SAAWwzB,EAAU,GAAGI,UAAYJ,EAAUxzB,SAC1E8zB,EAAkBN,EAAU,GAAGvzB,cAEnC0L,GAAU,EAEVO,EAAE2B,iBACF3B,EAAE0B,qBAAsB,EACxB1C,EAAcuB,EAAQ8mB,CACtB,IAAIpkB,GAAYjE,CACZiE,IAAawkB,IAAQxkB,GAAawkB,GAClCxkB,EAAY0kB,IAAQ1kB,EAAY0kB,GACpCL,EAAUllB,UAAU,iBAAmBa,EAAY,SAEnDyU,EAAeC,EAActhB,OAE7BmxB,EAAaxkB,KAAK,WACd,GAAI6kB,GAAYn0B,EAAEC,KAClB,IAAIk0B,EAAU,KAAOP,EAAU,GAA/B,CACA,GAAIQ,GAAkBD,EAAU,GAAGH,UAC/BK,EAAkBF,EAAU/zB,SAC5Bk0B,EAAkBV,EAAU,GAAGI,UAAYzkB,CAE1C+kB,IAAmBF,EAAkBC,EAAkB,GAAMT,EAAU3gB,QAAUkhB,EAAUlhB,SAC5FkhB,EAAUzlB,UAAU,mBAAoBwlB,EAAiB,SACzDjQ,EAAckQ,EACdnQ,EAAerhB,QAET2xB,GAAmBF,EAAkBC,EAAkB,GAAMT,EAAU3gB,QAAUkhB,EAAUlhB,SACjGkhB,EAAUzlB,UAAU,kBAAkB,EAAkB,SACxDuV,EAActhB,OACTqhB,IAAcA,EAAemQ,IAGlCn0B,EAAEC,MAAMyO,UAAU,4BAI9B,QAASQ,GAAe5C,GAEpB,GADA7M,EAAIwsB,eAAiBxsB,EAAIsxB,eAAgB,GACpCjlB,IAAcC,EAGf,MAFAD,IAAY,OACZC,GAAU,EAGdO,GAAE2B,iBACF6lB,EAAaplB,UAAU,IACvBklB,EAAUlrB,YAAY,WACtB4qB,EAAkB5qB,YAAY,mBAC9B,IAAI5I,GAAay0B,EAAUC,CACvBvQ,KACA2P,EAAU3P,YAAYA,GACtB2P,EAAU9yB,QAAQ,sBAAuB+yB,WAAYA,EAAYW,SAAUZ,EAAU3gB,WAErF+Q,IACA4P,EAAU5P,aAAaA,GACvB4P,EAAU9yB,QAAQ,sBAAuB+yB,WAAYA,EAAYW,SAAUZ,EAAU3gB,YAEpFgR,GAAeD,IAAiBsP,EAAkB3yB,SAAS,kBAC5Db,EAAcwzB,EAAkB,GAAGryB,cACnCszB,EAAWX,EAAU,GAAGT,mBACxBqB,EAAWxQ,EAAeA,EAAa,GAAGmP,mBAAqBlP,EAAY,GAAGkP,mBAC1ErzB,GAAaA,EAAY20B,SAASF,EAAUC,IAEpDvQ,EAAcD,EAAerhB,OAC7BmJ,GAAY,EACZC,GAAU,EAvFd,GAAID,GAAWC,EAAS4nB,EAAaroB,EAAasoB,EAAWM,EAAiBJ,EAAcC,EAAQE,EAAQhQ,EAAaD,EAAcsP,EAAmBO,CAyF1J7zB,GAAEuB,UAAUuH,GAAGrJ,EAAIqI,YAAYC,MAAO,yCAA0CsE,GAC5E5M,EAAIuI,QAAQC,OACZjI,EAAEuB,UAAUuH,GAAGrJ,EAAIqI,YAAYI,KAAM,yCAA0C8E,GAC/EhN,EAAEuB,UAAUuH,GAAGrJ,EAAIqI,YAAYK,IAAK,yCAA0C+G,KAG9ElP,EAAEuB,UAAUuH,GAAGrJ,EAAIqI,YAAYI,KAAM8E,GACrChN,EAAEuB,UAAUuH,GAAGrJ,EAAIqI,YAAYK,IAAK+G,KAQ5CzP,EAAI2f,iBAAmB,SAAU1P,GAC7BA,EAAgB1P,EAAE0P,EAClB,IAAIglB,EAEAA,GADAhlB,EAAcjC,GAAG,iBACPiC,EAGAA,EAAcjP,KAAK,iBAEV,IAAnBi0B,EAAQ3zB,QAEZ2zB,EAAQplB,KAAK,WACT,GAAIqlB,GAAc30B,EAAEC,MAEhB20B,EAAUD,EAAYl0B,KAAK,SAC/B,IAAuB,IAAnBm0B,EAAQ7zB,OAAZ,CAEA,GAAI8zB,GAASD,EAAQ,EACrB,IAAsB,IAAlBC,EAAO9zB,OAAX;AAIA,IAAK,GADD+zB,GADAC,KAEK5rB,EAAI,EAAGA,EAAI0rB,EAAO9zB,OAAQoI,IAC3B0rB,EAAO1rB,GAAG6rB,WACVF,EAAYD,EAAO1rB,GAAGsR,QAAUoa,EAAO1rB,GAAGsR,QAAQqa,UAAY90B,EAAE60B,EAAO1rB,IAAIkZ,KAAK,cAC5EyS,GAAkC,mBAAdA,GACnCC,EAAUzqB,KAAKwqB,GAEfC,EAAUzqB,KAAKuqB,EAAO1rB,GAAGmmB,YAAY1W,QAKlC,IAAIqc,GAAYN,EAAYl0B,KAAK,cACjC,IAAyB,IAArBw0B,EAAUl0B,OACV4zB,EAAYl0B,KAAK,eAAeqN,OAAO,2BAA6BinB,EAAUpb,KAAK,MAAQ,cAE1F,CACD,GAAIub,GAAeD,EAAUvb,MAC7B,IAAIub,EAAUt0B,SAAS,sBACnB,IAAKwI,EAAI,EAAGA,EAAI0rB,EAAO9zB,OAAQoI,IAC3B0rB,EAAO1rB,GAAG6rB,SAAWH,EAAO1rB,GAAGmmB,YAAY1W,SAAWsc,EAAatc,WAGvEqc,GAAUvb,KAAKqb,EAAUpb,KAAK,OAItCib,EAAQ9rB,GAAG,SAAU,WAEjB,IAAK,GADDisB,MACK5rB,EAAI,EAAGA,EAAI0rB,EAAO9zB,OAAQoI,IAC/B,GAAI0rB,EAAO1rB,GAAG6rB,SAAU,CACpB,GAAIF,GAAYD,EAAO1rB,GAAGsR,QAAUoa,EAAO1rB,GAAGsR,QAAQqa,UAAY90B,EAAE60B,EAAO1rB,IAAIkZ,KAAK,aACnFyS,IAAkC,mBAAdA,GACnCC,EAAUzqB,KAAKwqB,GAEfC,EAAUzqB,KAAKuqB,EAAO1rB,GAAGmmB,YAAY1W,QAI/B+b,EAAYl0B,KAAK,eAAeiZ,KAAKqb,EAAUpb,KAAK,cAMhEla,EAAI01B,qBAAuB,SAAUN,EAAQO,EAAQniB,GACjD4hB,EAAS70B,EAAE60B,EACX,IAAIF,GAAcE,EAAOrnB,QAAQ,gBACZ,oBAAVyF,GACP4hB,EAAO/mB,OAAOsnB,GAGdp1B,EAAEo1B,GAAQpR,aAAa6Q,EAAOp0B,KAAK,UAAUO,GAAGiS,IAEpDxT,EAAI2f,iBAAiBuV,EACrB,IAAIU,GAAaV,EAAYl0B,KAAK,UAAU+H,KAAK,QAC7CukB,EAAS/sB,EAAE,6CAA+Cq1B,EAAa,MAAMt0B,OAAS,CACtFgsB,IACAttB,EAAI61B,gBAAgBX,GAAa,IAGzCl1B,EAAI61B,gBAAkB,SAAUX,EAAaY,GAoQzC,QAASC,KACL,GAAIza,GAAc4Z,EAAYnnB,QAAQ,gBACtC,IAA2B,IAAvBuN,EAAYha,OAAhB,CACA,GAII00B,GAJAC,EAAa70B,SAASka,EAAYxS,IAAI,eAAgB,IACtDotB,EAAgB90B,SAASka,EAAYxS,IAAI,kBAAmB,IAC5DqtB,EAAa7a,EAAY,GAAG1a,aAAeq1B,EAAaG,GAAOz1B,SAC/D01B,EAAmB/a,EAAY,GAAG5a,aAAeu1B,EAAaG,GAAOz1B,SAErE21B,EAAWpB,EAAYhnB,SAASub,IAAMwM,EAAaf,EAAY,GAAGt0B,YACtE,IAAI01B,EAAWH,EAAY,CACvB,GAAI11B,GAAY6a,EAAY7a,YAAc61B,EAAWH,CACjD11B,GAAY01B,EAAaE,IACzBL,EAAmBv1B,EAAY01B,EAAaE,EAAmBH,EAC3DC,IAAeE,IACfL,EAAmBI,GAAOz1B,UAE9B2a,EAAYxS,KAAKmT,iBAAkB,EAAqB,QAE5DX,EAAY7a,UAAUA,EAAW,OAIzC,QAAS81B,GAAiB1pB,GACtB,GAAIma,IAAQ,GACRna,EAAEiB,SAAWonB,EAAY,IAAM30B,EAAEsM,EAAEiB,QAAQC,QAAQmnB,EAAY,IAAI5zB,OAAS,KAC5E0lB,GAAQ,GAERzmB,EAAEsM,EAAEiB,QAAQC,QAAQ,iBAAiBzM,OAAS,IAC9C0lB,GAAQ,GAERA,GACAhnB,EAAIsO,WAAW,iCAKvB,QAASkoB,GAAetsB,GAChBkrB,EAAOqB,gBAAgBn1B,QAAUo1B,EACjCxsB,EAAUlJ,KAAK,0BAA0B6O,KAAK,WACrCrP,KAAKm2B,QAINp2B,EAAEC,MAAMuN,QAAQ,MAAM9E,YAAY,YAHlC1I,EAAEC,MAAMuN,QAAQ,MAAM3F,SAAS,cAQvC8B,EAAUlJ,KAAK,aAAaiI,YAAY,YAIhD,QAAS2tB,GAAa1sB,GAElB,GADAA,EAAY3J,EAAE2J,GACV7J,EAAa,CACb,GAAIw2B,GAAsB72B,EAAIK,YAAY6J,EAAUlJ,KAAK,kBACrD2Y,MAAOE,EACP0I,SAAUuU,EACVn2B,OAAQo2B,GAAqB7zB,OAC7B0W,aAAc,SAAUnB,EAAOjF,EAAOwjB,GAClC,SAAIA,EAAK/c,MAAQ+c,EAAK/c,KAAKH,cAAc3Y,QAAQsX,EAAMU,OAAOW,gBAAiB,KAIvF5P,GAAU+Q,KAAgB,UAAXgc,GAAiC,WAAXA,EAAsB,SAAU,mBAAoB,WACjFJ,GAAuBA,EAAoB7jB,SAAS6jB,EAAoB7jB,YAGhF0jB,GACAF,EAAetsB,GAEfgtB,GACAhtB,EAAUlJ,KAAK,6BAA+Bm2B,EAAY,cAAcppB,QAAQ,SAASkN,KAAK,QAAS,WACpF,UAAXgc,EAAoBj3B,EAAIsO,WAAW4c,IACnB,WAAX+L,EAAqBj3B,EAAIsO,WAAW8nB,IACxCnsB,EAAKpH,OAAO6N,SAGzBxG,EAAUb,GAAG,SAAU,eAAiB8tB,EAAY,KAAM,WAC/D,GAAIxB,GAAQ1b,EAICob,EAHAve,EAAQtW,KACRwY,EAAQlC,EAAMkC,MACdoe,IAEJ,IAAmB,aAAftgB,EAAM9J,KAAqB,CAE3B,IAAK,GAAItD,GAAI,EAAGA,EAAI0rB,EAAO3jB,QAAQnQ,OAAQoI,IACvCisB,EAASP,EAAO3jB,QAAQ/H,GACpBisB,EAAO3c,QAAUA,IACjB2c,EAAOJ,SAAWze,EAAM6f,SAExBhB,EAAOJ,WACPF,EAAYM,EAAO3a,QAAU2a,EAAO3a,QAAQqa,UAAY90B,EAAEo1B,GAAQ/S,KAAK,cACvE3I,EAAOob,GAAkC,mBAAdA,GAA4BA,EAAYM,EAAO9F,YAC1EuH,EAAWvsB,KAAKoP,EAAKd,QAGzBud,IACAF,EAAetsB,OAInByrB,GAAST,EAAYl0B,KAAK,iBAAmBgY,EAAQ,MAAM,GAC3Dqc,EAAYM,EAAO3a,QAAU2a,EAAO3a,QAAQqa,UAAY90B,EAAEo1B,GAAQ/S,KAAK,cACvE3I,EAAOob,GAAkC,mBAAdA,GAA4BA,EAAYM,EAAO9F,YAC1EuH,GAAcnd,GACdmb,EAAOpc,MAAQA,CAGnBmc,GAAQ9zB,QAAQ,UAChB6zB,EAAYl0B,KAAK,eAAeiZ,KAAKmd,EAAWld,KAAK,OACjDgd,GAA8B,UAAdG,IACD,UAAXJ,EAAoBj3B,EAAIsO,WAAW4c,IACnB,WAAX+L,EAAqBj3B,EAAIsO,WAAW8nB,IACxCnsB,EAAKpH,OAAO6N,UAI7B,QAAS4mB,GAASzqB,GACd,GAAI2H,GAAO3H,EAAE0qB,OAAO/iB,IAChBA,GAAKlD,OAASrR,IACd22B,EAAapiB,EAAKtK,WA3X1B,GADAgrB,EAAc30B,EAAE20B,GACW,IAAvBA,EAAY5zB,OAAhB,CAGA,GAAI2I,GAAOirB,EAAYnnB,QAAQ,IAAM/N,EAAIP,OAAOoH,UAChD,IAAoB,IAAhBoD,EAAK3I,OAAT,CACA2I,EAAOA,EAAK,GAAGO,MAGf,IAAIysB,GAAS/B,EAAYnsB,KAAK,iBAAmB/I,EAAIP,OAAOwF,iBAC5D,IAAe,UAAXgyB,GACA,GAAI12B,EAAE,6BAA6Be,OAAS,EAAG,WAE9C,IAAe,WAAX21B,GACL,GAAI12B,EAAE,0BAA0Be,OAAS,IAAMw0B,EAAS,CACpD,GAAIZ,EAAY,GAAGsC,sBAAwBj3B,EAAE,0CAA0C,GAClF,MADsFP,GAAIsO,WAAW/N,EAAE,gDAKhH,KAAK0J,EAAM,MAGf,IAGIwtB,GAHAC,EAAkBxC,EAAYla,UAC9B2c,EAAYD,EAAgBC,WAAazC,EAAYl0B,KAAK,eAAeiZ,OACzE2d,EAAWF,EAAgBE,UAAY53B,EAAIP,OAAOyF,mBAGlDuyB,GADW,WAAXR,EACYS,EAAgBG,iBAAmBH,EAAgBE,UAAY53B,EAAIP,OAAO2F,2BAG1EsyB,EAAgBI,gBAAkBJ,EAAgBE,UAAY53B,EAAIP,OAAO0F,yBAEzF,IAAI+xB,GAAgDh0B,SAAjCw0B,EAAgBR,aAA6BQ,EAAgBR,aAAel3B,EAAIP,OAAO6F,wBACtGyyB,EAAYL,EAAgBK,WAAa/3B,EAAIP,OAAOu4B,qBACpDC,EAAcP,EAAgBO,aAAej4B,EAAIP,OAAOy4B,uBACxDC,EAAeT,EAAgBS,cAAgBn4B,EAAIP,OAAO24B,wBAC1D/3B,EAAcq3B,EAAgBr3B,YAC9B02B,EAAoBW,EAAgBX,kBACpCvvB,EAAWxH,EAAIP,OAAO+H,SACtB6wB,EAAeX,EAAgBW,cAAgBr4B,EAAIP,OAAO64B,wBAG1DlD,EAASF,EAAYl0B,KAAK,UAAU,GACpCm0B,EAAU50B,EAAE60B,GACZmD,EAAcpD,EAAQna,SAC1B,MAAIoa,EAAOnM,UAAYiM,EAAYh0B,SAAS,aAAei0B,EAAQj0B,SAAS,aAA5E,CAUA,IAAK,GADDy0B,GAAQ6C,EAAgBC,EAAaC,EAAYC,EAAaC,EAAuCC,EAAeC,EAAeC,EAAaC,EAAiBC,EANjKpf,KACAqf,GAAK,GAAK7rB,OAAQC,UAClB+pB,EAAYjC,EAAO+D,SAAW,WAAa,QAC3ChC,EAAYE,EAAY,IAAM6B,EAC9BxC,EAAYvB,EAAQpsB,KAAK,aACzB6sB,EAAaR,EAAO9jB,KAEf5H,EAAI,EAAGA,EAAI0rB,EAAO9zB,OAAQoI,IAC/BisB,EAASp1B,EAAE60B,EAAO1rB,IAClBuvB,EAAatD,EAAO3a,UACpByd,EAAcQ,EAAWR,aAAeF,EAAYE,aAAef,EAAgBe,YACnFC,EAAaO,EAAWP,YAAcH,EAAYG,YAAchB,EAAgBgB,WAChFF,EAAiBC,GAAeC,GAA4B,aAAdrB,EAC1C7vB,IAAUgxB,EAAiBC,GAAeC,GAC9CK,EAAcE,EAAWF,YACzBC,EAAkBC,EAAWG,YACzBzD,EAAO,GAAG1M,WAAU+P,GAAmB,aAC3CL,EAAchD,EAAOzhB,OAAO,YAAY,GACxC0kB,EAAmBD,GAAeA,EAAY7P,MAC9C+P,GAAgB,EACZF,GACIA,IAAgBG,IAChBD,GAAgB,EAChBC,EAAgBH,EAChB9e,EAAOhP,MACHwuB,WAAYT,EACZU,QAAST,KAIrBhf,EAAOhP,MACHmO,MAAO2c,EAAO,GAAG3c,MACjBiB,KAAM0b,EAAO,GAAG9F,YAAY1W,OAC5Boc,SAAUI,EAAO,GAAGJ,SACpB/a,MAAOme,EACPU,WAAYT,EACZxK,MAAOqK,EACPc,KAAMb,EACN3P,MAAOgQ,EACP3pB,UAAW4pB,EACX/P,SAAU0M,EAAO,GAAG1M,SACpBoO,UAAWA,EACX6B,GAAIA,EACJM,SAAUhB,EACViB,SAAwB,aAAdpC,EACVF,UAAWA,EACX3vB,SAAUxH,EAAIP,OAAO+H,UAMxBxH,GAAImI,mBAAmBuxB,kBACxB15B,EAAImI,mBAAmBuxB,gBAAkBzxB,EAAGwa,QAAQziB,EAAIP,OAAOq3B,yBAC3D,4mCA2CR,IAAIA,GAA0B92B,EAAImI,mBAAmBuxB,gBAEjDC,EAAa,EACjB,KAAKt5B,EACD,IAAK,GAAI6d,GAAI,EAAGA,EAAIrE,EAAOvY,OAAQ4c,IAC/Byb,GAAc7C,EAAwBjd,EAAOqE,GAKrD,IAAsB0b,GAC4BC,EAD9CC,EAAc,GACdC,EAAW,GAAIC,EAAY,GAAIC,EAAW,EAE/B,YAAXhD,GACKj3B,EAAImI,mBAAmB+xB,qBACxBl6B,EAAImI,mBAAmB+xB,mBAAqBjyB,EAAGwa,QAAQziB,EAAIP,OAAO06B,4BAC9D,wOASRL,EAAc95B,EAAImI,mBAAmB+xB,oBACjCvC,UAAWA,EACXF,UAAWA,EACXR,OAAQA,EACRkB,aAAcA,EACdiC,SAAqB,WAAXnD,MAKTj3B,EAAImI,mBAAmBkyB,oBACxBr6B,EAAImI,mBAAmBkyB,kBAAoBpyB,EAAGwa,QAAQziB,EAAIP,OAAO66B,2BAC7D,8KAQRV,EAAa55B,EAAImI,mBAAmBkyB,mBAChC1C,UAAWA,EACXC,SAAUA,EACVH,UAAWA,EACXR,OAAQA,EACRgB,YAAaA,EACbsC,QAAoB,UAAXtD,EACTuD,OAAmB,SAAXvD,EACRwD,aAAyB,UAAXxD,GACTj3B,EAAIP,OAAOi7B,gCAAkClzB,EAAW,4GAA8G,8HAA8H3H,QAAQ,iBAAkB43B,IAC9Tz3B,EAAIP,OAAOk7B,0BAA4BnzB,EAAW,qGAAuG,8HAA8H3H,QAAQ,gBAAiB+3B,KAG1S,SAAXX,GACA4C,EAAe,SACX3E,EAAYnnB,QAAQ,mBAAmBzM,OAAS,IAAGu4B,EAAe,WAClE3E,EAAYnnB,QAAQ,iBAAiBzM,OAAS,IAAGu4B,EAAe,SACpEG,EAAY9E,EAAYnnB,QAAQ,SAAS7M,SAAS,cAAgB,aAAe,GACjF64B,EAAY7E,EAAYnnB,QAAQ,SAAS7M,SAAS,aAAgB,YAAe,UAAY24B,EAC7FI,EAAW/E,EAAYnnB,QAAQ,SAAS7M,SAAS,aAAe,YAAc,IAG9E24B,EAAe,QAMvB,IAGIe,IAAsBC,GAHtB56B,GAAW,gBAAkBk3B,EAE7B2D,GAAwD,mBAAlC5F,GAAYtS,KAAK,aAA+B5iB,EAAIP,OAAO4F,qBAA0D,SAAlC6vB,EAAYtS,KAAK,YAG1HkY,MACAF,GAAuB1F,EAAYtS,KAAK,0BAA4B,SACpEiY,GAAkB3F,EAAYtS,KAAK,qBAAuB,SAG9D,IA2BIsI,IAAOkL,GA3BP2E,GAAkB,+EAAiF7B,EAAK,iGAEzC0B,GAAuB,oDAGjEpzB,EAAW,GAAK,wCAA0CqzB,GAAkB,QAC/E,+CAGlBG,IACY,WAAX/D,GAAwC,YAAjB4C,EAA6BD,EAAa,IAClE,wCACuB35B,GAAW,uBAAyB21B,EAAa,mCAAqCmE,EAAW,IAAMC,EAAY,IAAMC,EAAW,MAC1I,WAAXhD,GAAwC,UAAjB4C,EAA2BD,EAAa,KAC/DkB,GAAeC,GAAgB,IACrC,kCACmB,WAAX9D,GAAwC,WAAjB4C,EAA4BD,EAAa,IACxE,iCAAmCv5B,EAAc,eAAiB,IAAM,sBAAwB64B,EAAK,KAAOnB,EAAY,SAAWA,EAAY,IAAM,kBAExI13B,EAAc,GAAKs5B,GAChC,mDAsIW,WAAX1C,GACInB,GACA5K,GAAQ3qB,EAAE,mCACV2qB,GAAMgE,KAAK8L,MAGX9P,GAAQlrB,EAAIkrB,MACR,2DAA6DiM,EAAY,oCAEjE6D,GACJ,gBAGR9P,GAAQ3qB,EAAE2qB,KAEdlrB,EAAI+e,SAASmM,GAAMlqB,KAAK,UACxB41B,EAAa1L,KAEG,WAAX+L,GACDnB,GACAM,GAAS71B,EAAE,2CACX61B,GAAOlH,KAAK8L,MAGZ5E,GAASp2B,EAAImrB,YACT,oEAAsEgM,EAAY,KAAOkB,EAAe,kBAAoBA,EAAe,IAAM,IAAM,IACnJyB,EACA,qDAEQkB,GACJ,sBAIZ5E,GAAS71B,EAAE61B,IAGXL,IAGAx1B,EAAE,QAAQ8I,GAAG,QAASktB,GAGtBH,GAAOnb,KAAK,eAAgB,WAExBia,EAAY,GAAGsC,oBAAsBt0B,OAGrC3C,EAAE,QAAQmc,IAAI,QAAS6Z,GAGvBrB,EAAYnnB,QAAQ,iBAAiBjF,KAAKotB,cAAe,OAI7DhB,EAAY,GAAGsC,oBAAsBpB,GAAO,IAIhDp2B,EAAI+e,SAASqX,GAAOp1B,KAAK,UAGzB41B,EAAaR,MAGb71B,EAAEuB,UAAUmZ,KAAK,YAAa,qBAAsBqc,GACpDrtB,EAAKpH,OAAO2O,MACRI,QAASopB,GACTlpB,SAAQgkB,GAAkB5yB,aAStC,IAAI+3B,GAAc,SAAUC,EAAWz7B,GACnC,GAAIkK,IACAwxB,KAAM,EACNx6B,OAAQX,EAAIP,OAAO+H,SAAW,GAAK,GACnCpF,OAAO,EACPg5B,wBAAyB,EACzBC,uBAAuB,EACvB9Y,SACI,gHAQR9iB,GAASA,KACT,KAAK,GAAIuK,KAAOL,GACe,mBAAhBlK,GAAOuK,KACdvK,EAAOuK,GAAOL,EAASK,GAK/B,IAAIsxB,GAAK96B,IACT86B,GAAGJ,UAAY36B,EAAE26B,GACjBI,EAAG77B,OAASA,EACZ67B,EAAG3hB,MAAQ2hB,EAAG77B,OAAOka,MACjB2hB,EAAG77B,OAAO47B,wBACVC,EAAGC,kBAEHD,EAAG77B,OAAO8iB,WAAa+Y,EAAG77B,OAAO+7B,aACC,gBAAvBF,GAAG77B,OAAO8iB,SAAuB+Y,EAAG/Y,SAAWta,EAAGwa,QAAQ6Y,EAAG77B,OAAO8iB,UACxC,kBAAvB+Y,GAAG77B,OAAO8iB,WAAyB+Y,EAAG/Y,SAAW+Y,EAAG77B,OAAO8iB,WAE/E+Y,EAAGhgB,YAAcggB,EAAGJ,UAAUntB,QAAQ,gBAGtC,IAAIrM,EACqC,oBAA9B45B,GAAG77B,OAAOiC,gBACjBA,EAAkB45B,EAAG77B,OAAOiC,iBAG5BA,GAAkB,EACd1B,EAAI4B,OAAOsH,KAAOlJ,EAAI4B,OAAO65B,UAAUrwB,MAAM,KAAK,GAAK,IACvD1J,GAAkB,GAEtB45B,EAAG77B,OAAOiC,gBAAkBA,GAIhC45B,EAAGI,GAAKJ,EAAG77B,OAAOi8B,GAAKn7B,EAAE+6B,EAAG77B,OAAOi8B,IAAMJ,EAAGJ,UAAUpnB,SAAS,MAC1C,IAAjBwnB,EAAGI,GAAGp6B,SACNg6B,EAAGJ,UAAU7sB,OAAO,aACpBitB,EAAGI,GAAKJ,EAAGJ,UAAUpnB,SAAS,OAIlCwnB,EAAGzxB,YACHyxB,EAAGK,mBAGHL,EAAGM,eAAiB95B,SAAS8e,cAAc,MAG3C0a,EAAGO,aAAe,KAGlBP,EAAGQ,SAAWh6B,SAASi6B,yBAGvBT,EAAG5gB,YAAc,SAAUshB,EAASC,GAChCX,EAAGC,gBAGH,KAAK,GAAI7xB,IAFQsyB,EAAQ,GACTA,EAAQA,EAAQ16B,OAAS,GAC5B,GAAGoI,EAAIsyB,EAAQ16B,OAAQoI,IAChC4xB,EAAGC,cAAc1wB,KAAKywB,EAAG3hB,MAAMqiB,EAAQtyB,IAEb,oBAAnBuyB,KAAgCA,GAAiB,GACxDA,IACAX,EAAGhgB,YAAY,GAAG7a,UAAY,GAElC66B,EAAGY,UAEPZ,EAAG9hB,YAAc,WACT8hB,EAAG77B,OAAO47B,sBACVC,EAAGC,kBAGHD,EAAGC,cAAgB,WACZD,GAAGC,eAEdD,EAAGY,SAGP,IAAI/F,GAAYgG,EAAeC,EAAYC,EAAWC,EAAmCC,EAArBC,EAAkB,EAClFC,EAA4C,kBAArBnB,GAAG77B,OAAOkB,MAoXrC,OAjXA26B,GAAGoB,YAAc,WACb,GAAI/iB,GAAQ2hB,EAAGC,eAAiBD,EAAG3hB,KAEnC,IADAwc,EAAamF,EAAGhgB,YAAY,GAAG1a,aAC3B67B,EAAe,CACfF,EAAa,EACbjB,EAAGqB,UACH,KAAK,GAAIjzB,GAAI,EAAGA,EAAIiQ,EAAMrY,OAAQoI,IAAK,CACnC,GAAIkzB,GAAatB,EAAG77B,OAAOkB,OAAOgZ,EAAMjQ,GACxC6yB,IAAcK,EACdtB,EAAGqB,QAAQ9xB,KAAK+xB,QAIpBL,GAAa/uB,KAAKqvB,KAAKljB,EAAMrY,OAAUg6B,EAAG77B,OAAO07B,MAAQG,EAAG77B,OAAOkB,OACnEw7B,EAAgB3uB,KAAKqvB,KAAK1G,EAAamF,EAAG77B,OAAOkB,QACjDy7B,EAAad,EAAG77B,OAAO28B,YAA8B,EAAhBD,EACrCE,EAAYf,EAAG77B,OAAO48B,WAAaF,EACnCG,EAAgBH,EAAgBC,EAAaC,EAC7CG,EAAkBJ,EAAa,EAAId,EAAG77B,OAAOkB,MAG7Ce,IACA45B,EAAGI,GAAG5yB,KAAKnI,OAAQ47B,EAAa,QAKxCjB,EAAGwB,OAAS,SAAU7X,EAAO8X,GACrB9X,IAAOqW,EAAGO,aAAe,KAE7B,IAAIp7B,KAAc66B,EAAGJ,UAAU,GAAGtM,wBAAwBnF,IAAM6R,EAAGhgB,YAAY,GAAGsT,wBAAwBnF,IAI1G,IAF8B,mBAAnBsT,KAAgCt8B,EAAYs8B,GAE/B,OAApBzB,EAAGO,cAAyBruB,KAAKC,IAAIhN,EAAY66B,EAAGO,cAAgBW,IAAqB96B,GAAoB45B,EAAGhgB,YAAY,GAAG7a,UAAY01B,GAAcmF,EAAGhgB,YAAY,GAAG5a,aAA/K,CACI46B,EAAGO,aAAep7B,CAMtB,IACIu8B,GAAWC,EADXtjB,EAAQ2hB,EAAGC,eAAiBD,EAAG3hB,MACXujB,EAAwB,EAAGC,EAAuB,CAC1E,IAAIV,EAAe,CACf,GAAiBve,GAAG0e,EAAhBQ,EAAU,CAGd,KAFAZ,EAAkBrG,EAEbjY,EAAI,EAAGA,EAAIod,EAAGqB,QAAQr7B,OAAQ4c,IAC/B0e,EAAatB,EAAGqB,QAAQze,GACC,mBAAd8e,KACHI,EAAUR,GAAcn8B,EAAyB,EAAb01B,EAAiBmF,EAAG77B,OAAO27B,wBAAyB4B,EAAY9e,EACnGgf,GAAyBN,GAGX,mBAAZK,MACHG,EAAUR,GAAcn8B,EAAyB,EAAb01B,EAAiBmF,EAAG77B,OAAO27B,yBAA2Bld,IAAMod,EAAGqB,QAAQr7B,OAAS,KAAG27B,EAAU/e,EAAI,GACzIif,GAAwBP,GAE5BQ,GAAWR,CAEfK,GAAUzvB,KAAKqd,IAAIoS,EAAStjB,EAAMrY,YAGlC07B,IAAa57B,SAASX,EAAY66B,EAAG77B,OAAOkB,QAAUy7B,GAAcd,EAAG77B,OAAO07B,KAC1E6B,EAAY,IACZA,EAAY,GAEhBC,EAAUzvB,KAAKqd,IAAImS,EAAYV,EAAehB,EAAG77B,OAAO07B,KAAMxhB,EAAMrY,OAGxE,IAAI+7B,EACJ/B,GAAG75B,UAAW,CACd,KAAK,GAAIiI,GAAIszB,EAAWtzB,EAAIuzB,EAASvzB,IAAK,CACtC,GAAIstB,GAAMxjB,CAEVA,GAAQ8nB,EAAG3hB,MAAMxY,QAAQwY,EAAMjQ,IAE3BA,IAAMszB,IAAW1B,EAAGgC,iBAAmB9pB,GACvC9J,IAAMuzB,EAAU,IAAG3B,EAAGiC,eAAiB/pB,GACvC8nB,EAAGC,cACCD,EAAG3hB,MAAMnG,KAAW8nB,EAAGC,cAAcD,EAAGC,cAAcj6B,OAAS,KAAIg6B,EAAG75B,UAAW,GAGjF+R,IAAU8nB,EAAG3hB,MAAMrY,OAAS,IAAGg6B,EAAG75B,UAAW,GAIjD65B,EAAGzxB,SAAS2J,GACZwjB,EAAOsE,EAAGzxB,SAAS2J,IAGf8nB,EAAG/Y,WAAa+Y,EAAG77B,OAAO+7B,WAC1BF,EAAGM,eAAejY,UAAY2X,EAAG/Y,SAAS5I,EAAMjQ,IAAK8J,MAAOA,IAAQ2F,OAE/DmiB,EAAG77B,OAAO+7B,WACfF,EAAGM,eAAejY,UAAY2X,EAAG77B,OAAO+7B,WAAWhoB,EAAOmG,EAAMjQ,IAAIyP,OAGpEmiB,EAAGM,eAAejY,UAAYhK,EAAMjQ,GAAGoU,WAAW3E,OAEtD6d,EAAOsE,EAAGM,eAAe7Q,WAAW,GAChCuQ,EAAG77B,OAAO2C,QAAOk5B,EAAGzxB,SAAS2J,GAASwjB,IAE9CA,EAAKtD,mBAAqBlgB,EAGtB9J,IAAMszB,IAEFK,EADAZ,EACcS,EAGCxzB,EAAI4xB,EAAG77B,OAAOkB,OAAS26B,EAAG77B,OAAO07B,MAGxDnE,EAAK9nB,MAAMua,IAAM4T,EAAc,KAG3B/B,EAAG77B,OAAO+9B,oBAAoBlC,EAAG77B,OAAO+9B,mBAAmBlC,EAAItE,GAGnEsE,EAAGQ,SAAS2B,YAAYzG,GAMvBt1B,IACG+6B,EACAnB,EAAGI,GAAG,GAAGxsB,MAAMvO,OAASw8B,EAAuB,KAG/C7B,EAAGI,GAAG,GAAGxsB,MAAMvO,OAAS+I,EAAI4xB,EAAG77B,OAAOkB,OAAS26B,EAAG77B,OAAO07B,KAAO,MAKpEG,EAAG77B,OAAOi+B,eAAepC,EAAG77B,OAAOi+B,cAAcpC,EAAIA,EAAGQ,UAC5DR,EAAGI,GAAG,GAAG/X,UAAY,GAEjB2X,EAAG77B,OAAOk+B,qBAAqBrC,EAAG77B,OAAOk+B,oBAAoBrC,EAAIA,EAAGQ,UACpEniB,GAA0B,IAAjBA,EAAMrY,QACfg6B,EAAG75B,UAAW,EACV65B,EAAG77B,OAAOm+B,gBAAetC,EAAGI,GAAG,GAAG/X,UAAY2X,EAAG77B,OAAOm+B,gBAG5DtC,EAAGI,GAAG,GAAG+B,YAAYnC,EAAGQ,UAGxBR,EAAG77B,OAAOo+B,oBAAoBvC,EAAG77B,OAAOo+B,mBAAmBvC,EAAIA,EAAGQ,UAExC,mBAAnBiB,IAAkC9X,GACzCqW,EAAGhgB,YAAY7a,UAAUs8B,EAAgB,KAIjDzB,EAAGwC,aAAe,SAAUtqB,GACxB,GAAIA,EAAQ8nB,EAAG3hB,MAAMrY,OAAQ,OAAO,CAEpC,IAAiBy8B,GAAbX,EAAU,CACd,IAAIX,EACA,IAAK,GAAI/yB,GAAI,EAAGA,EAAI8J,EAAO9J,IACvB0zB,GAAW9B,EAAGqB,QAAQjzB,OAI1B0zB,GAAU5pB,EAAQ8nB,EAAG77B,OAAOkB,MAIhC,OAFAo9B,GAAUzC,EAAGJ,UAAU,GAAG3G,UAC1B+G,EAAGwB,QAAO,EAAMiB,EAAUX,EAAUh8B,SAASk6B,EAAGhgB,YAAYxS,IAAI,eAAgB,MACzE,GAIXwyB,EAAG0C,aAAe,SAAUnxB,GACxByuB,EAAGwB,UAGPxB,EAAG2C,WAAa,SAAU7xB,GACtB,SAAWA,EAAG8J,aAAe9J,EAAGxL,cAAgBwL,EAAG8xB,iBAAiB58B,SAExEg6B,EAAG6C,aAAe,SAAUtxB,GACpByuB,EAAG2C,WAAW3C,EAAGJ,UAAU,MAC3BI,EAAGoB,cACHpB,EAAGwB,QAAO,KAIlBxB,EAAGvqB,aAAe,SAAUC,GACxB,GAAIC,GAASD,EAAS,MAAQ,IAC9BsqB,GAAGhgB,YAAYrK,GAAQ,SAAUqqB,EAAG0C,cACpC1C,EAAGJ,UAAUntB,QAAQ,QAAQxM,GAAG,GAAG0P,GAAQ,WAAYqqB,EAAG6C,cAC1D7C,EAAGJ,UAAUntB,QAAQ,UAAUxM,GAAG,GAAG0P,GAAQ,aAAcqqB,EAAG6C,cAC9D7C,EAAGJ,UAAUntB,QAAQ,UAAUxM,GAAG,GAAG0P,GAAQ,aAAcqqB,EAAG6C,cAC9D59B,EAAEhB,QAAQ0R,GAAQ,SAAUqqB,EAAG6C,eAInC7C,EAAGxzB,KAAO,WACNwzB,EAAGvqB,eACHuqB,EAAGoB,cACHpB,EAAGwB,UAIPxB,EAAG8C,YAAc,SAAUzkB,GACvB,IAAK,GAAIjQ,GAAI,EAAGA,EAAIiQ,EAAMrY,OAAQoI,IAC9B4xB,EAAG3hB,MAAM9O,KAAK8O,EAAMjQ,GAExB4xB,GAAGY,UAEPZ,EAAG+C,WAAa,SAAUrH,GACtBsE,EAAG8C,aAAapH,KAGpBsE,EAAGgD,gBAAkB,SAAU3kB,GAC3B2hB,EAAG3hB,MAAQA,QACJ2hB,GAAGC,cACVD,EAAGzxB,YACHyxB,EAAGY,UAEPZ,EAAGiD,YAAc,SAAU/qB,EAAOwjB,GAC9BsE,EAAG3hB,MAAMnG,GAASwjB,EACdsE,EAAG77B,OAAO2C,aAAck5B,GAAGzxB,SAAS2J,GACxC8nB,EAAGY,UAGPZ,EAAGkD,aAAe,SAAU7kB,GACxB,IAAK,GAAIjQ,GAAIiQ,EAAMrY,OAAS,EAAGoI,GAAK,EAAGA,IACnC4xB,EAAG3hB,MAAM0L,QAAQ1L,EAAMjQ,GAE3B,IAAI4xB,EAAG77B,OAAO2C,MAAO,CACjB,GAAIq8B,KACJ,KAAK,GAAIC,KAAUpD,GAAGzxB,SAClB40B,EAASr9B,SAASs9B,EAAQ,IAAM/kB,EAAMrY,QAAUg6B,EAAGzxB,SAAS60B,EAEhEpD,GAAGzxB,SAAW40B,EAElBnD,EAAGY,UAEPZ,EAAGqD,YAAc,SAAU3H,GACvBsE,EAAGkD,cAAcxH,KAIrBsE,EAAGtG,SAAW,SAAUF,EAAUC,GAC9B,GAAID,IAAaC,EAAjB,CAEA,GAAIiC,GAAOsE,EAAG3hB,MAAMzG,OAAO4hB,EAAU,GAAG,EAWxC,IAVIC,GAAYuG,EAAG3hB,MAAMrY,QAErBg6B,EAAG3hB,MAAM9O,KAAKmsB,GACdjC,EAAWuG,EAAG3hB,MAAMrY,OAAS,GAI7Bg6B,EAAG3hB,MAAMzG,OAAO6hB,EAAU,EAAGiC,GAG7BsE,EAAG77B,OAAO2C,MAAO,CACjB,GAAIq8B,KACJ,KAAK,GAAIC,KAAUpD,GAAGzxB,SAAU,CAC5B,GAAI+0B,GAAcx9B,SAASs9B,EAAQ,IAC/BG,EAAY/J,EAAWC,EAAWD,EAAWC,EAC7C+J,EAAahK,EAAWC,EAAWA,EAAWD,EAC9CiK,EAAajK,EAAWC,GAAW,EAAK,GACxC6J,EAAcC,GAAaD,EAAcE,KAAYL,EAASG,GAAetD,EAAGzxB,SAAS+0B,IACzFA,IAAgBC,IAAWJ,EAASK,GAAcxD,EAAGzxB,SAAS+0B,IAC9DA,EAAcC,GAAaD,GAAeE,IAAYL,EAASG,EAAcG,GAAczD,EAAGzxB,SAAS+0B,IAE/GtD,EAAGzxB,SAAW40B,EAElBnD,EAAGY,WAGPZ,EAAG0D,iBAAmB,SAAUxrB,EAAOwjB,GACnC,GAAc,IAAVxjB,EAEA,WADA8nB,GAAGqD,YAAY3H,EAGnB,IAAIxjB,GAAS8nB,EAAG3hB,MAAMrY,OAElB,WADAg6B,GAAG+C,WAAWrH,EAKlB,IAFAsE,EAAG3hB,MAAMzG,OAAOM,EAAO,EAAGwjB,GAEtBsE,EAAG77B,OAAO2C,MAAO,CACjB,GAAIq8B,KACJ,KAAK,GAAIC,KAAUpD,GAAGzxB,SAAU,CAC5B,GAAI+0B,GAAcx9B,SAASs9B,EAAQ,GAC/BE,IAAeprB,IACfirB,EAASG,EAAc,GAAKtD,EAAGzxB,SAAS+0B,IAGhDtD,EAAGzxB,SAAW40B,EAElBnD,EAAGY,UAGPZ,EAAG2D,YAAc,SAAUjD,GAEvB,IAAK,GADDkD,GAAWH,EAAa,EACnBr1B,EAAI,EAAGA,EAAIsyB,EAAQ16B,OAAQoI,IAAK,CACrC,GAAI8J,GAAQwoB,EAAQtyB,EACK,oBAAdw1B,IACH1rB,EAAQ0rB,IACRH,GAAcr1B,GAGtB8J,GAAgBurB,EAChBG,EAAYlD,EAAQtyB,EAEpB,IAAIy1B,GAAc7D,EAAG3hB,MAAMzG,OAAOM,EAAO,GAAG,EAO5C,IAJI8nB,EAAGC,eAAiBD,EAAGC,cAAcp6B,QAAQg+B,IAAgB,GAC7D7D,EAAGC,cAAcroB,OAAOooB,EAAGC,cAAcp6B,QAAQg+B,GAAc,GAG/D7D,EAAG77B,OAAO2C,MAAO,CACjB,GAAIq8B,KACJ,KAAK,GAAIC,KAAUpD,GAAGzxB,SAAU,CAC5B,GAAI+0B,GAAcx9B,SAASs9B,EAAQ,GAC/BE,KAAgBprB,QACT8nB,GAAGzxB,SAAS2J,GAEdpS,SAASs9B,EAAQ,IAAMlrB,EAC5BirB,EAASG,EAAc,GAAKtD,EAAGzxB,SAAS60B,GAGxCD,EAASG,GAAetD,EAAGzxB,SAAS60B,GAG5CpD,EAAGzxB,SAAW40B,GAGtBnD,EAAGY,UAEPZ,EAAG8D,eAAiB,WAChB9D,EAAG3hB,eACI2hB,GAAGC,cACND,EAAG77B,OAAO2C,QAAOk5B,EAAGzxB,aACxByxB,EAAGY,UAEPZ,EAAG3H,WAAa,SAAUngB,GACtB8nB,EAAG2D,aAAazrB,KAIpB8nB,EAAG+D,WAAa,WACZ/D,EAAGzxB,aAIPyxB,EAAGY,OAAS,WACRZ,EAAGoB,cACHpB,EAAGwB,QAAO,IAIdxB,EAAGtoB,QAAU,WACTsoB,EAAGvqB,cAAa,SACTuqB,GAAG3hB,YACH2hB,GAAGzxB,UAIdyxB,EAAGxzB,OAGHwzB,EAAGJ,UAAU,GAAG15B,cAAgB85B,EACzBA,EAIXt7B,GAAIK,YAAc,SAAU66B,EAAWz7B,GACnC,MAAO,IAAIw7B,GAAYC,EAAWz7B,IAGtCO,EAAIs/B,kBAAoB,SAAUrvB,GAC9B,GAAIuE,GAAOjU,EAAE0P,GACTsvB,EAAS/qB,EAAKxT,KAAK,gBACvB,IAAsB,IAAlBu+B,EAAOj+B,OACX,IAAK,GAAIoI,GAAI,EAAGA,EAAI61B,EAAOj+B,OAAQoI,IAAK,CACpC,GAAI81B,GAAgBD,EAAO71B,GAAGlI,aAC1Bg+B,IACAA,EAActD,WAQ1Bl8B,EAAI6f,kBAAoB,SAAU5P,GAwB9B,QAASrD,GAAiBC,GACtB,GAAIR,EAAW,CACX,GAAsB,YAAlBrM,EAAI4B,OAAO69B,GAGV,MAFD,IAAI,iBAAmB5yB,IAAKA,EAAEI,cAAc3L,OAAS,EAAG,OAMhE4I,EAAY3J,EAAEC,MACV0J,EAAUhJ,SAAS,gBAIvBoL,GAAU,EACVozB,GAAc,EACdrzB,GAAY,EACZV,EAAczI,OACdy8B,EAAcz8B,OACC,eAAX2J,EAAEG,OAAuB4yB,EAAU/yB,EAAEI,cAAc,GAAG4yB,YAC1DtzB,EAAaQ,EAAe,eAAXF,EAAEG,KAAwBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,MACxEX,EAAaY,EAAe,eAAXN,EAAEG,KAAwBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,MACxEtB,GAAiB,GAAKuB,OAAQC,WAIlC,QAASC,GAAgBV,GACrB,GAAKR,EAAL,CACA,GAAIa,GAAOE,EAAO5E,CAClB,IAAe,cAAXqE,EAAEG,KAAsB,CACxB,GAAI4yB,GAAW/yB,EAAEizB,QACb,IAAK,GAAIp2B,GAAI,EAAGA,EAAImD,EAAEizB,QAAQx+B,OAAQoI,IAC9BmD,EAAEizB,QAAQp2B,GAAGm2B,aAAeD,IAC5Bp3B,EAAQqE,EAAEizB,QAAQp2B,GAIzBlB,KAAOA,EAAQqE,EAAEI,cAAc,IACpCC,EAAQ1E,EAAM0E,MACdE,EAAQ5E,EAAM4E,UAGdF,GAAQL,EAAEK,MACVE,EAAQP,EAAEO,KAEd,IAAKF,GAAUE,EAAf,CAMA,GAH2B,mBAAhBzB,KACPA,KAAiBA,GAAe6B,KAAKC,IAAIL,EAAQb,EAAaY,GAAKK,KAAKC,IAAIP,EAAQX,EAAaQ,MAEhGpB,EAED,YADAU,GAAY,EAOhB,IAHA5L,EAAYyJ,EAAU,GAAGzJ,UACE,mBAAhBk/B,IAA6C,IAAdl/B,IAAiBk/B,GAAc,IAEpErzB,EAAS,CAGV,GADApC,EAAUjB,YAAY,iBAClBxI,EAAYyJ,EAAU,GAAGtJ,aAEzB,YADAyL,GAAY,EAGZ0zB,KACAC,EAAkB91B,EAAUnB,KAAK,qBAC7Bi3B,EAAgB7+B,QAAQ,MAAQ,IAAG6+B,EAAkB91B,EAAU,GAAGtJ,aAAeQ,SAAS4+B,EAAiB,IAAM,MAEzHC,EAAiB/1B,EAAUhJ,SAAS,cAAgB8+B,EAAkB,EAElEE,EADAh2B,EAAU,GAAGxJ,eAAiBwJ,EAAU,GAAGtJ,cAAkC,QAAlBZ,EAAI4B,OAAO69B,GAU9E,MAHAnzB,IAAU,EACVT,EAAcuB,EAAQb,EAAaY,EAE/BtB,EAAc,GAAKpL,GAAa,GAAKA,EAAY,GAE3B,QAAlBT,EAAI4B,OAAO69B,IAAgBr+B,SAASpB,EAAI4B,OAAO65B,UAAUrwB,MAAM,KAAK,GAAI,IAAM,GAAmB,IAAd3K,IAAoBk/B,IAAaO,GAAe,GAEnIA,IACArzB,EAAE2B,iBACFsB,EAAatC,KAAKolB,IAAI/mB,EAAa,KAAQo0B,EAC3C/1B,EAAU+E,UAAU,iBAAmBa,EAAY,UAElDowB,GAAgB1yB,KAAKolB,IAAI/mB,EAAa,KAAQm0B,IAAsBE,GAAgBr0B,GAAiC,EAAlBm0B,GACpGG,GAAU,EACVj2B,EAAU9B,SAAS,WAAWa,YAAY,eAG1Ck3B,GAAU,EACVj2B,EAAUjB,YAAY,WAAWb,SAAS,cAEzCs3B,IACDx1B,EAAU7I,QAAQ,2BAClBq+B,GAAc,GAElBx1B,EAAU7I,QAAQ,yBACd++B,MAAOvzB,EACPpM,UAAWA,EACXqP,UAAWA,EACXjE,YAAaA,IAvBjB,SA2BA6zB,GAAc,EACdx1B,EAAUjB,YAAY,0BACtBk3B,GAAU,MAIlB,QAAS1wB,GAAe5C,GACpB,KAAe,aAAXA,EAAEG,MAAuBH,EAAEwzB,gBAAkBxzB,EAAEwzB,eAAe/+B,OAAS,GAAKs+B,GACxE/yB,EAAEwzB,eAAe,GAAGR,aAAeD,GAD3C,CAGA,IAAKvzB,IAAcC,EAGf,MAFAD,IAAY,OACZC,GAAU,EAGVwD,KACA5F,EAAU9B,SAAS,iBACnB0H,EAAY,GAEhB5F,EAAU+E,UAAU,IAChBkxB,GACAj2B,EAAU9B,SAAS,cACnB8B,EAAU7I,QAAQ,uBACdi/B,KAAM,WACFtgC,EAAIugC,kBAAkBr2B,OAK9BA,EAAUjB,YAAY,aAE1BoD,GAAY,EACZC,GAAU,EACNozB,GAAax1B,EAAU7I,QAAQ,wBAWvC,QAASm/B,KACLC,EAAa/jB,IAAI1c,EAAIqI,YAAYC,MAAOsE,GACxC6zB,EAAa/jB,IAAI1c,EAAIqI,YAAYI,KAAM8E,GACvCkzB,EAAa/jB,IAAI1c,EAAIqI,YAAYK,IAAK+G,GAG1C,QAAS4B,KACLmvB,IACAhsB,EAAKkI,IAAI,oBAAqBrL,GAzLlC,GAAIovB,GAAelgC,EAAE0P,EAIrB,IAHKwwB,EAAav/B,SAAS,6BACvBu/B,EAAeA,EAAaz/B,KAAK,6BAEhCy/B,GAAwC,IAAxBA,EAAan/B,OAAlC,CAEA,GAAIs+B,GAASvzB,EAAWC,EAA4BX,EAAaE,EAAaC,EAAgB5B,EAAsE4F,EAAWrP,EAAWk/B,EAAoBK,EAAiBD,EAAwBL,EAAtNnzB,KAAwE4zB,GAAU,EAAOD,GAAe,EAAOD,EAAiB,EAC7JzrB,EAAOisB,EAAav/B,SAAS,QAAUu/B,EAAeA,EAAa1yB,QAAQ,SAC3E2yB,GAAY,GACZlsB,EAAKxT,KAAK,WAAWM,OAAS,GAAKkT,EAAKzG,QAAQ,kCAAkCzM,OAAS,GAAKkT,EAAKtT,SAAS,iBAAmBsT,EAAKtT,SAAS,qBAAmBw/B,GAAY,GAC9KlsB,EAAKtT,SAAS,eAAcw/B,GAAY,GACvCA,GAAWD,EAAar4B,SAAS,6BAEtC8B,EAAYu2B,EAGRv2B,EAAUnB,KAAK,qBACfg3B,GAAyB,EAGzBC,EAAkB,EAsJtB,IAAI9uB,KAA4C,eAA1BlR,EAAIqI,YAAYC,QAA0BtI,EAAIuI,QAAQ2I,mBAAmBC,SAAS,EAAMC,SAAS,EACvHqvB,GAAap3B,GAAGrJ,EAAIqI,YAAYC,MAAOsE,EAAkBsE,GACzDuvB,EAAap3B,GAAGrJ,EAAIqI,YAAYI,KAAM8E,GACtCkzB,EAAap3B,GAAGrJ,EAAIqI,YAAYK,IAAK+G,EAAgByB,GAGjC,IAAhBsD,EAAKlT,SAMTm/B,EAAa,GAAGE,uBAAyBH,EAKzChsB,EAAKnL,GAAG,oBAAqBgI,MAIjCrR,EAAIugC,kBAAoB,SAAUr2B,GAC9BA,EAAY3J,EAAE2J,GACW,IAArBA,EAAU5I,SAAc4I,EAAY3J,EAAE,wCAC1C2J,EAAUjB,YAAY,cAAcb,SAAS,iBAC7C8B,EAAUuG,cAAc,WACpBvG,EAAUjB,YAAY,mCACtBiB,EAAU7I,QAAQ,2BAG1BrB,EAAI4gC,qBAAuB,SAAU12B,GACjCA,EAAY3J,EAAE2J,GACW,IAArBA,EAAU5I,SAAc4I,EAAY3J,EAAE,6BACtC2J,EAAUhJ,SAAS,gBACvBgJ,EAAU9B,SAAS,4BACnB8B,EAAU7I,QAAQ,uBACdi/B,KAAM,WACFtgC,EAAIugC,kBAAkBr2B,QAKlClK,EAAIwgC,qBAAuB,SAAUvwB,GACjCA,EAAgB1P,EAAE0P,EAClB,IAAI4wB,GAAuB5wB,EAAc/O,SAAS,2BAA6B+O,EAAgBA,EAAcjP,KAAK,2BAC9E,KAAhC6/B,EAAqBv/B,QACrBu/B,EAAqB,GAAGF,wBAAwBE,EAAqB,GAAGF,0BAwChF3gC,EAAI8gC,qBAAuB,SAAUC,GACjCxgC,EAAEwgC,GAAiB13B,GAAG,SAAUjJ,IAEpCJ,EAAIghC,qBAAuB,SAAUD,GACjCxgC,EAAEwgC,GAAiBrkB,IAAI,SAAUtc,IAGrCJ,EAAI8f,uBAAyB,SAAU7P,GAKnC,QAASoB,KACLrR,EAAIghC,qBAAqBD,GACzB9wB,EAAcyM,IAAI,oBAAqBrL,GAN3CpB,EAAgB1P,EAAE0P,EAClB,IAAI8wB,GAAkB9wB,EAAcjP,KAAK,mBACV,KAA3B+/B,EAAgBz/B,SACpBtB,EAAI8gC,qBAAqBC,GAKzB9wB,EAAc5G,GAAG,oBAAqBgI,KAM1CrR,EAAI+f,uBAAyB,SAAU9P,GAkCnC,QAAS+tB,GAAanxB,GACdoD,EAAc/O,SAAS,kBAC3BkwB,EAAgB6P,EAAc,GAAGxgC,UACjCC,EAAeugC,EAAc,GAAGvgC,aAChCE,EAAeqgC,EAAc,GAAGrgC,aAChCa,EAAY2vB,EAAgBxwB,GAAgBF,EAAewgC,EAC3DC,EAAe1sB,EAAOvT,SAAS,iBAC/BkgC,EAAgBzqB,EAAQzV,SAAS,kBACjCmgC,EAAeC,GAAUA,EAAOpgC,SAAS,kBAErCO,EACIzB,EAAIP,OAAOkF,0BACXsM,EAAS,QAKTA,EAFCswB,EAAiBnQ,EAClBpxB,EAAIP,OAAOmF,yBAA2BwsB,GAAiB,GAC9C,OAGA,OAITA,EAAgB,GACP,OAGA,OAIF,SAAXngB,GACIyvB,GAAapuB,GAAc6uB,IAC3BnhC,EAAIwS,WAAWiC,GACfxE,EAAchH,YAAY,uBAC1Bk4B,GAAe,GAEfK,GAAc/uB,GAAe2uB,IAC7BphC,EAAI0S,YAAYiE,GAChB1G,EAAchH,YAAY,wBAC1Bm4B,GAAgB,GAEhBK,GAAaC,GAAcL,IAC3BrhC,EAAI0S,YAAY4uB,GAChBrxB,EAAchH,YAAY,uBAC1Bo4B,GAAe,KAIfX,GAAapuB,IAAe6uB,IAC5BnhC,EAAIsS,WAAWmC,GACfxE,EAAc7H,SAAS,uBACvB+4B,GAAe,GAEfK,GAAc/uB,IAAgB2uB,IAC9BphC,EAAIyS,YAAYkE,GAChB1G,EAAc7H,SAAS,wBACvBg5B,GAAgB,GAEhBK,GAAaC,IAAeL,IAC5BrhC,EAAIyS,YAAY6uB,GAChBrxB,EAAc7H,SAAS,uBACvBi5B,GAAe,IAIvBE,EAAiBnQ,GApGrBnhB,EAAgB1P,EAAE0P,EAClB,IAAIgxB,GAAgBhxB,EAAcjP,KAAK,gBACvC,IAA6B,IAAzBigC,EAAc3/B,OAAlB,CACA,GAAIgR,IAActS,EAAIP,OAAO+E,wBAA0By8B,EAAc//B,SAAS,0BAA4B+/B,EAAc//B,SAAS,2BAA6B+/B,EAAc//B,SAAS,0BAA4B+/B,EAAc//B,SAAS,wBACpOuR,GAAezS,EAAIP,OAAOgF,yBAA2Bw8B,EAAc//B,SAAS,2BAA6B+/B,EAAc//B,SAAS,2BAA6B+/B,EAAc//B,SAAS,2BAA6B+/B,EAAc//B,SAAS,wBACxOwgC,GAAc1hC,EAAIP,OAAOiF,wBAA0Bu8B,EAAc//B,SAAS,4BAA+B+/B,EAAc//B,SAAS,wBAEpI,IAAMoR,GAAcG,GAAeivB,EAAnC,CAEA,GAAI3sB,GAAgBksB,EAAclzB,QAAQ,IAAM/N,EAAIP,OAAOoH,UAC3D,IAA6B,IAAzBkO,EAAczT,OAAlB,CAEA,GAEIggC,GAFA7sB,EAASM,EAAc/T,KAAK,WAC5B2V,EAAU5B,EAAc/T,KAAK,WAE7B0gC,KACAJ,EAASvsB,EAAc/T,KAAK,WACN,IAAlBsgC,EAAOhgC,SAAcggC,EAASvsB,EAAchH,QAAQ,IAAM/N,EAAIP,OAAOsH,YAAY/F,KAAK,YAG9F,IAIIugC,GAAgBnQ,EAJhBsP,EAAYjsB,EAAOnT,OAAS,EAC5BkgC,EAAa7qB,EAAQrV,OAAS,EAC9BmgC,EAAYH,GAAUA,EAAOhgC,OAAS,CAGtCigC,GAAiBnQ,EAAgB6P,EAAc,GAAGxgC,SAEtD,IAAIC,GAAcE,EAAca,EAAUwP,EAAQkwB,EAAcC,EAAeC,EAE3EM,EAAiBH,GAAc/uB,EAAekE,EAAQ,GAAG/V,aAAe,EACxEghC,EAAgBH,GAAaC,EAAcJ,EAAO,GAAG1gC,aAAe,EACpEsgC,EAAkBU,GAAgBD,CAuEtCV,GAAc53B,GAAG,SAAU20B,GAC3BiD,EAAc,GAAGY,wBAA0B7D,MAE/Ch+B,EAAI8hC,sBAAwB,SAAU7xB,GAClCA,EAAgB1P,EAAE0P,EAClB,IAAIgxB,GAAgBhxB,EAAcjP,KAAK,gBACvC,IAA6B,IAAzBigC,EAAc3/B,OAAlB,CACA,GAAIygC,GAAUd,EAAc,GAAGY,uBAC1BE,IACLd,EAAcvkB,IAAI,SAAUukB,EAAc,GAAGY,2BAMjD7hC,EAAIgiC,2BAA6B,SAAUV,EAAQW,GAI/C,GAHAX,EAAS/gC,EAAE+gC,GACXW,EAAaA,GAAcX,EAAOtgC,KAAK,oBAEnCihC,GAAcA,EAAW3gC,OAAS,EAAG,CACrC,GAAI4gC,GAAcC,CACdb,GAAOpgC,SAAS,sBAChBghC,EAAeD,EAAW,GAAG/rB,YAAc,KAC3CisB,EAAqBF,EAAW,GAAGzrB,WAAa,OAGhD0rB,EAAe,EAAIZ,EAAOtgC,KAAK,aAAaM,OAAS,IAAM,IAC3D6gC,EAA4E,KAAtDniC,EAAI6I,KAAQo5B,EAAWzuB,QAASyuB,EAAWzuB,SAAiB,KAGtF8tB,EAAOtgC,KAAK,uBACP8H,KAAK+E,MAAOq0B,IACZjzB,UAAU,eAAiBkzB,EAAqB,WAG7DniC,EAAIqgB,uBAAyB,SAAUpQ,GAKnC,QAASmyB,KACLpiC,EAAIgiC,2BAA2BV,GALnCrxB,EAAgB1P,EAAE0P,EAClB,IAAIqxB,GAASrxB,EAAcjP,KAAK,UACV,KAAlBsgC,EAAOhgC,QAAgB2O,EAAc/O,SAAS,YAAWogC,EAASrxB,GAKlEqxB,EAAOhgC,OAAS,IACkC,IAA9CggC,EAAOtgC,KAAK,uBAAuBM,QACnCggC,EAAOtgC,KAAK,kBAAkBqN,OAAO,4CAGzC+zB,IACA7hC,EAAEhB,QAAQ8J,GAAG,SAAU+4B,GACvBnyB,EAAcgL,KAAK,oBAAqB,WACpC1a,EAAEhB,QAAQmd,IAAI,SAAU0lB,OAIpCpiC,EAAIqiC,mBAAqB,SAAUf,GAC/B,MAAOthC,GAAIqgB,uBAAuBihB,IAMtCthC,EAAIsiC,QAAU,SAAUC,EAAKC,EAASjwB,EAAU0S,GAC5C,GAAIwd,GAASliC,EAAEgiC,EAWf,IAVyB,IAArBlb,UAAU/lB,QAAwC,iBAAjB+lB,WAAU,KAC3Ckb,EAAMlb,UAAU,GAChB9U,EAAW8U,UAAU,IAEA,IAArBA,UAAU/lB,QAAwC,iBAAjB+lB,WAAU,IAA4C,iBAAjBA,WAAU,KAChFkb,EAAMlb,UAAU,GAChB9U,EAAW8U,UAAU,GACrBpC,EAAQoC,UAAU,IAEE,mBAAb9U,KAA0BA,GAAW,GAC1B,IAAlBkwB,EAAOnhC,OAAc,OAAO,CAChC,IAAImhC,EAAOvhC,SAAS,UAEhB,MADI+jB,IAAOwd,EAAOphC,QAAQ,kBACnB,CAEX,IAAIqhC,GAAOD,EAAOvuB,OAAO,QACzB,IAAoB,IAAhBwuB,EAAKphC,OAAc,OAAO,CAG9BtB,GAAIsxB,eAAgB,CAGpB,IAAIqR,GAAiBD,EAAKxuB,SAAShT,SAAS,qBAC5C,IAAIyhC,EAAgB,CAChBD,EAAKxuB,SAAS3B,EAAW,cAAgB,YAAY,eACrD,IAAIqwB,GAA8D,KAA9C5iC,EAAI6I,IAAM45B,EAAOjvB,SAAWivB,EAAOjvB,QACvDkvB,GAAKzzB,UAAU,eAAiB2zB,EAAe,UAInD,GAAqEC,GAAjEC,EAAkBJ,EAAKxuB,SAAShT,SAAS,sBACzC4hC,KACAD,EAASH,EAAKxuB,SAAS,GAAG2uB,OACtBA,EAAOE,cAAgBN,EAAOjvB,SAASqvB,EAAOG,QAAQP,EAAOjvB,QAASjB,EAAWrP,OAAY,GAAG,GAIxG,IAAI+/B,GAASP,EAAK5uB,SAAS,eAAe7K,YAAY,UAAU5H,QAAQ,gBAOxE,IALAohC,EAAOr6B,SAAS,UAEhBq6B,EAAOphC,QAAQ,kBAGVshC,IAAmBG,GAAmBL,EAAOzhC,KAAK,WAAWM,OAAS,EAAG,CAE1E,GAAIyT,EACuCA,GAAvC0tB,EAAOvhC,SAASlB,EAAIP,OAAOoH,WAA4B47B,EAAO,GAC7CA,EAAO10B,QAAQ,IAAM/N,EAAIP,OAAOoH,WAAW,GAChE7G,EAAIiV,YAAYF,GAgBpB,GAZIytB,EAASA,EAAUjiC,EAAEiiC,IAGQA,EAAUjiC,EAApB,gBAARgiC,GAA8B,mBAAqBA,EAAM,KACnD,oBAAsBE,EAAO15B,KAAK,MAAQ,QAEtDy5B,GAAWA,GAA8B,IAAnBA,EAAQlhC,SAC/Bf,EAAE,cAAcsP,KAAK,WACb4yB,EAAOz0B,GAAGzN,EAAEC,MAAMuI,KAAK,eAAcy5B,EAAUjiC,EAAEC,UAI1C,IAAnBgiC,EAAQlhC,OAAZ,CAGA,GAAI4hC,EACJ,IAAID,GAAUA,EAAO3hC,OAAS,EAAG,CAE7B,GAAI6hC,GAAWF,EAAOl6B,KAAK,KACvBo6B,KAAUD,EAAa3iC,EAAE,oBAAsB4iC,EAAW,SAEzDD,GAAcA,GAAoC,IAAtBA,EAAW5hC,SACxCf,EAAE,cAAcsP,KAAK,WACbozB,EAAOj1B,GAAGzN,EAAEC,MAAMuI,KAAK,eAAcm6B,EAAa3iC,EAAEC,SAMpE,GAAIgiC,GAAWA,EAAQlhC,OAAS,IAC5BkhC,EAAQp6B,SAAS,UAEbpI,EAAIP,OAAO+H,UAAU,CACrB,GAAI85B,GAASkB,EAAQz0B,QAAQ,UACzBuzB,GAAOhgC,OAAS,IACkC,IAA9CggC,EAAOtgC,KAAK,uBAAuBM,QACnCggC,EAAOtgC,KAAK,kBAAkBqN,OAAO,4CAEzCrO,EAAIgiC,2BAA2BV,EAAQkB,IAMnD,MAFIU,IAAcA,EAAW5hC,OAAS,GAAG4hC,EAAWj6B,YAAY,WAEzD,IAMXjJ,EAAIojC,gBAAkB,SAAUpM,GAC5BA,EAAOz2B,EAAEy2B,GACW,IAAhBA,EAAK11B,SACL01B,EAAK91B,SAAS,2BAA4BlB,EAAIqjC,eAAerM,GAC5Dh3B,EAAIsjC,cAActM,KAE3Bh3B,EAAIsjC,cAAgB,SAAUtM,GAC1BA,EAAOz2B,EAAEy2B,EACT,IAAIuM,GAAOvM,EAAKjpB,QAAQ,mBAAmBxM,GAAG,GAC1CqQ,EAAUolB,EAAKljB,SAAS,0BACL,KAAnBlC,EAAQtQ,SAAcsQ,EAAUolB,EAAKh2B,KAAK,2BAC9C,IAAIwiC,GAAeD,EAAKjiC,OAAS,GAAK01B,EAAK9iB,SAASJ,SAAS,2BACzD0vB,GAAaliC,OAAS,GACtBtB,EAAIqjC,eAAeG,GAEvB5xB,EAAQ9I,IAAI,SAAU8I,EAAQ,GAAGlR,aAAe,MAAM+P,cAAc,WAChE,GAAIumB,EAAK91B,SAAS,2BAA4B,CAC1C0Q,EAAQsG,WAAW,GACnBtG,EAAQ9I,IAAI,SAAU,OACL8I,GAAQ,GAAGwG,UAC5BxG,GAAQsG,WAAW,IACnB8e,EAAK31B,QAAQ,+BAGbuQ,GAAQ9I,IAAI,SAAU,IACtBkuB,EAAK31B,QAAQ,6BAGrB21B,EAAK31B,QAAQ,uBACb21B,EAAK5uB,SAAS,4BAElBpI,EAAIqjC,eAAiB,SAAUrM,GAC3BA,EAAOz2B,EAAEy2B,EACT,IAAIplB,GAAUolB,EAAKljB,SAAS,0BACL,KAAnBlC,EAAQtQ,SAAcsQ,EAAUolB,EAAKh2B,KAAK,4BAC9Cg2B,EAAK/tB,YAAY,2BACjB2I,EAAQsG,WAAW,GACnBtG,EAAQ9I,IAAI,SAAU8I,EAAQ,GAAGlR,aAAe,KAE/BkR,GAAQ,GAAGwG,UAE5BxG,GAAQsG,WAAW,IACnBtG,EAAQ9I,IAAI,SAAU,IAAI2H,cAAc,WACpC,GAAIumB,EAAK91B,SAAS,2BAA4B,CAC1C0Q,EAAQsG,WAAW,GACnBtG,EAAQ9I,IAAI,SAAU,OACL8I,GAAQ,GAAGwG,UAC5BxG,GAAQsG,WAAW,IACnB8e,EAAK31B,QAAQ,+BAGbuQ,GAAQ9I,IAAI,SAAU,IACtBkuB,EAAK31B,QAAQ,6BAGrB21B,EAAK31B,QAAQ,0BAOjBrB,EAAIyjC,eAAiB,WAYjB,QAASC,GAAqBt3B,GAC1B,GAEIu3B,GAFA71B,EAASvN,EAAE6L,GACX2B,EAAUD,EAAOC,QAAQ/N,EAAIP,OAAOqE,oBAQxC,OANIgK,GAAOE,GAAGhO,EAAIP,OAAOqE,uBACrB6/B,EAAY71B,GAEZC,EAAQzM,OAAS,IACjBqiC,EAAYA,EAAYA,EAAU1Y,IAAIld,GAAWA,GAE9C41B,EAAYA,EAAY71B,EAEnC,QAAS81B,GAAuBx3B,GAC5B,GAAIkP,GAAclP,EAAG2B,QAAQ,wBAE7B,OAA2B,KAAvBuN,EAAYha,SAK6B,QAAzCga,EAAYnI,KAAK,sBACjBmI,EAAYjS,GAAG,SAAU,WACvB+S,aAAaynB,GACbznB,aAAa0nB,KAEfxoB,EAAYnI,KAAK,mBAAoB,SAGlC,GAEX,QAAS4wB,KACAC,GACLA,EAAiB57B,SAAS,gBAE9B,QAAS67B,GAAa73B,GACb43B,IACLA,EAAiB/6B,YAAY,gBAC7B+6B,EAAmB,MAEvB,QAASE,GAAc93B,GACnB,GAAI+3B,GAAQ,8BAAgC/4B,MAAM,IAClD,UAAIgB,EAAG+gB,UAAYgX,EAAMhjC,QAAQiL,EAAG+gB,SAASrT,gBAAkB,GAGnE,QAASsqB,GAAiBh4B,GACtB,GAAIi4B,GAAS,+BAAiCj5B,MAAM,IACpD,UAAItJ,SAASwiC,eAAiBl4B,IAAOtK,SAASwiC,eAAiBxiC,SAASwiC,gBAAkBxiC,SAASC,SAC3FsiC,EAAOljC,QAAQiL,EAAG+gB,SAASrT,gBAAkB,GAWzD,QAASyqB,GAAqBn4B,GAC1B,GAAIo4B,GAAMjkC,EAAE6L,EACZ,QAAkC,UAA9BA,EAAG+gB,SAASrT,eAA0C,SAAZ1N,EAAGY,MAA+B,UAAZZ,EAAGY,SACrC,WAA9BZ,EAAG+gB,SAASrT,gBAA8B9Z,EAAI4B,OAAOwM,aACrDo2B,EAAItjC,SAAS,iBAAmBsjC,EAAIz2B,QAAQ,iBAAiBzM,OAAS,MACtEtB,EAAIP,OAAOgE,oBAAqB+gC,EAAIx2B,GAAGhO,EAAIP,OAAOgE,sBAG1D,QAASghC,GAAiBr4B,GACtB,GAAItK,SAASwiC,gBAAkBl4B,EAC3B,OAAO,CAEX,IAAIs4B,GAAMt4B,EAAG+gB,SAASrT,cAClB6qB,EAAa,0CAA4Cv5B,MAAM,IACnE,QAAIgB,EAAG6c,WAAY7c,EAAGw4B,WACV,aAARF,IACQ,WAARA,GACI1kC,EAAI4B,OAAOwM,QAGP,UAARs2B,GAAmBC,EAAWxjC,QAAQiL,EAAGY,MAAQ,GAArD,SAEJ,QAAS63B,GAAmBz4B,GACxBA,EAAK7L,EAAE6L,EACP,IAAI04B,IAAU,CAUd,QATI14B,EAAG4B,GAAG,UAAY5B,EAAG2B,QAAQ,SAASzM,OAAS,KAE3CwjC,GADA9kC,EAAI4B,OAAOwM,YAGNpO,EAAI4B,OAAOsH,MAAOkD,EAAG4B,GAAG,WAK9B82B,EAIX,QAASC,GAAiBl4B,GACtB62B,EAAqB72B,EAAEiB,QAAQ1F,SAAS,gBACpC,SAAWyE,IAAiB,IAAZA,EAAEm4B,OAClB/iC,WAAW,WACP1B,EAAE,iBAAiB0I,YAAY,iBAChC,GAEHjJ,EAAIP,OAAO+H,UAAYxH,EAAIP,OAAOmI,iBAClCq9B,EAAcp4B,EAAEK,MAChBgnB,EAAcrnB,EAAEO,MAChB83B,EAAiBr4B,EAAEiB,OAAQjB,EAAEK,MAAOL,EAAEO,QAG9C,QAAS+3B,GAAiBt4B,GACtBtM,EAAE,iBAAiB0I,YAAY,gBAC3BjJ,EAAIP,OAAO+H,UAAYxH,EAAIP,OAAOmI,gBAClCw9B,IAGR,QAASC,GAAex4B,GACpBtM,EAAE,iBAAiB0I,YAAY,gBAC3BjJ,EAAIP,OAAO+H,UAAYxH,EAAIP,OAAOmI,gBAClC09B,IAKR,QAASC,GAAkBn5B,GACvB,GAAIo5B,GAAcxlC,EAAIP,OAAOoI,uBACzB28B,EAAMjkC,EAAE6L,EACZ,IAAIo4B,EAAIx2B,GAAGw3B,GACP,OAAIhB,EAAItjC,SAAS,cAGVsjC,CAEN,IAAIA,EAAIz2B,QAAQy3B,GAAalkC,OAAS,EAAG,CAC1C,GAAImkC,GAAejB,EAAIz2B,QAAQy3B,GAAajkC,GAAG,EAC/C,QAAIkkC,EAAavkC,SAAS,cAGnBukC,EAEN,OAAO,EAEhB,QAASC,GAAa34B,EAAGI,EAAGf,GACxB,GAAKA,EAAL,CACA,GAAIu5B,GAAMv5B,EAAG,GAAGwiB,wBACZrZ,GACAxI,EAAGA,EAAI44B,EAAIx3B,KACXhB,EAAGA,EAAIw4B,EAAIlc,KAEX9oB,EAASglC,EAAIhlC,OACbkN,EAAQ83B,EAAI93B,MACZ+3B,EAAWp4B,KAAKod,IAAIpd,KAAKolB,IAAKplB,KAAKolB,IAAIjyB,EAAQ,GAAK6M,KAAKolB,IAAI/kB,EAAO,GAAK,IAAM,GAEnFg4B,GAAatlC,EACT,0CAA4CqlC,EAAW,eAAeA,EAAS,mBAAmBA,EAAS,EAAE,oBAAoBA,EAAS,EAAE,YAAYrwB,EAAOxI,EAAE,WAAWwI,EAAOpI,EAAE,eAEzLf,EAAGmZ,QAAQsgB,EACMA,GAAW,GAAGztB,UAC/B0tB,GAAkB,iBAAiBvwB,EAAOxI,EAAIc,EAAM,GAAG,SAAS0H,EAAOpI,EAAIxM,EAAO,GAAG,kBACrFklC,EAAW52B,UAAU62B,IAGzB,QAASC,KACL,GAAKF,EAAL,CACA,GAAIG,GAAWH,EAEXI,EAAgBhkC,WAAW,WAC3B+jC,EAASl1B,UACV,IAEH+0B,GACKz9B,SAAS,oBACT6G,UAAU62B,EAAgBjmC,QAAQ,WAAY,gBAC9C4Q,cAAc,WACX2L,aAAa6pB,EAEb,IAAIJ,GAAatlC,EAAEC,MACd4H,SAAS,mBACT6G,UAAU62B,EAAgBjmC,QAAQ,WAAY,eAEnDomC,GAAgBhkC,WAAW,WACvB4jC,EAAW/0B,UACZ,KAEH7O,WAAW,WACP4jC,EAAWp1B,cAAc,WACrB2L,aAAa6pB,GACb1lC,EAAEC,MAAMsQ,YAEb,KAGX+0B,EAAaK,EAAehjC,QAGhC,QAASgiC,GAAkB94B,EAAIW,EAAGI,GAE9B,MADA+4B,GAAeX,EAAkBn5B,GAC5B85B,GAAwC,IAAxBA,EAAa5kC,YAI7BsiC,EAAuBsC,GAIxBpC,EAAgB7hC,WAAW,WACvByjC,EAAaT,EAAa/Q,EAAagS,IACxC,IALHR,EAAaT,EAAa/Q,EAAagS,SAJvCA,EAAehjC,QAYvB,QAASkiC,KACLhpB,aAAa0nB,GACbiC,IAEJ,QAAST,KACDO,EACAE,IAEKG,IAAiB55B,GACtB8P,aAAa0nB,GACb4B,EAAaT,EAAa/Q,EAAagS,GACvCjkC,WAAW8jC,EAAc,IAGzBA,IAKR,QAASI,GAAUt5B,GACf,GAAIrE,GAAQqE,EAAEwzB,eAAe,GACzB+F,EAAMtkC,SAASukC,YAAY,eAC3BC,EAAY,OACZtmC,GAAI4B,OAAOwM,SAAoD,WAAzCm4B,EAAcpZ,SAASrT,gBAC7CwsB,EAAY,aAEhBF,EAAII,eAAeF,GAAW,GAAM,EAAM/mC,OAAQ,EAAGiJ,EAAMi+B,QAASj+B,EAAMk+B,QAASl+B,EAAMm+B,QAASn+B,EAAMo+B,SAAS,GAAO,GAAO,GAAO,EAAO,EAAG,MAChJR,EAAIS,qBAAsB,EAC1BN,EAAcO,cAAcV,GAIhC,QAASx5B,GAAiBC,GAGtB,GAFAP,GAAU,EACVy6B,GAAe,EACXl6B,EAAEI,cAAc3L,OAAS,EAEzB,MADI0iC,IAAkBC,KACf,CAiBX,IAfIp3B,EAAEizB,QAAQx+B,OAAS,GAAK0iC,GACxBC,IAEAjkC,EAAIP,OAAOiE,UACPsjC,GAAgB5qB,aAAa4qB,GACjCA,EAAiB/kC,WAAW,WACpB4K,GAAKA,EAAEizB,SAAWjzB,EAAEizB,QAAQx+B,OAAS,IACzCylC,GAAe,EACfl6B,EAAE2B,iBACFjO,EAAEsM,EAAEiB,QAAQzM,QAAQ,aACrBrB,EAAIP,OAAOkE,eAEdsjC,GAAuB7qB,aAAa6qB,GACxCC,EAAiB3C,EAAqB13B,EAAEiB,SAEnCo5B,EAED,MADAC,IAAa,GACN,CAEX,IAAInnC,EAAI4B,OAAOsH,KAAQlJ,EAAI4B,OAAOwM,SAAW,gBAAkB7O,QAAS,CACpE,GAAI6nC,GAAY7nC,OAAO8nC,cACvB,IAAID,EAAUE,YAAcF,EAAUG,YAAczlC,SAASC,QAAUqlC,EAAUI,aAAe1lC,SAASwiC,gBAAkB8C,EAAUG,WAEjI,MADAE,IAAkB,GACX,CAGPA,IAAkB,EAGtBznC,EAAI4B,OAAOwM,SACPg2B,EAAiBv3B,EAAEiB,SACnBhM,SAASwiC,cAAc1rB,OAI/BuuB,GAAa,EACbZ,EAAgB15B,EAAEiB,OAClBhC,GAAiB,GAAKuB,OAAQC,UAC9B23B,EAAcp4B,EAAEI,cAAc,GAAGC,MACjCgnB,EAAcrnB,EAAEI,cAAc,GAAGG,MAG7BpN,EAAI4B,OAAOsH,MACXw+B,EAAexkC,OACf3C,EAAEgmC,GAAex4B,UAAU8B,KAAK,WAC5B,GAAIqE,GAAS1T,IACT0T,GAAOxT,aAAewT,EAAOtT,eAAiB8mC,IAC9CA,EAAexzB,EACfwzB,EAAaC,YAAcD,EAAajnC,cAI/CoM,EAAE+6B,UAAYC,EAAiB7nC,EAAIP,OAAO+D,8BAC3CqJ,EAAE2B,iBAGFxO,EAAIP,OAAOoE,cACXmgC,EAAmBN,EAAqB6C,GAInC3C,EAAuBI,GAGxBH,EAAgB5hC,WAAW8hC,EAAW,IAFtCA,KAKJ/jC,EAAIP,OAAO+H,UAAYxH,EAAIP,OAAOmI,gBAClCs9B,EAAiBqB,EAAetB,EAAa/Q,GAGrD,QAAS3mB,GAAgBV,GACrB,GAAKs6B,EAAL,CACA,GAAIW,IAAW,EACXjnC,EAAWb,EAAIP,OAAO8D,2BAC1B,IAAI1C,EAAU,CACV,GAAIqM,GAAQL,EAAEI,cAAc,GAAGC,MAC3BE,EAAQP,EAAEI,cAAc,GAAGG,OAC3BI,KAAKC,IAAIP,EAAQ+3B,GAAepkC,GAAa2M,KAAKC,IAAIL,EAAQ8mB,GAAerzB,KAC7EinC,GAAW,OAIfA,IAAW,CAEXA,KACAX,GAAa,EACbZ,EAAgB,KAChBj6B,GAAU,EACNtM,EAAIP,OAAOiE,SACX0Y,aAAa4qB,GAEtBhnC,EAAIP,OAAOoE,cACduY,aAAaynB,GACbI,KAEYjkC,EAAIP,OAAO+H,UAAYxH,EAAIP,OAAOmI,gBAClCw9B,MAIZ,QAAS31B,GAAe5C,GAIpB,GAHAuP,aAAaynB,GACbznB,aAAa4qB,IAERG,EAMD,OALKM,GAAmBP,IACdlnC,EAAI4B,OAAOwM,UAAYvB,EAAEk7B,YAC3Bl7B,EAAE2B,mBAGH,CAGX,IAAI1M,SAASwiC,gBAAkBz3B,EAAEiB,OAK7B,MAJI9N,GAAIP,OAAOoE,aAAaogC,IACxBjkC,EAAIP,OAAO+H,UAAYxH,EAAIP,OAAOmI,gBAClC09B,KAEG,CAOX,IAJKmC,GACD56B,EAAE2B,iBAGD3B,EAAE+6B,UAAYC,EAAiB7nC,EAAIP,OAAO+D,6BAE3C,MADAvB,YAAWgiC,EAAc,IAClB,CAOX,IAJA4D,EAAgBh7B,EAAE+6B,UAElBT,GAAa,EAETnnC,EAAI4B,OAAOsH,KAAOw+B,GACdA,EAAajnC,YAAcinC,EAAaC,YACxC,OAAO,CAiBf,IAVI3nC,EAAIP,OAAOoE,cACXkgC;AACA9hC,WAAWgiC,EAAc,IAGzBjkC,EAAIP,OAAO+H,UAAYxH,EAAIP,OAAOmI,gBAClC09B,IAIAb,EAAiB8B,GAAgB,CACjC,GAAIvmC,EAAI4B,OAAOsH,KAAOlJ,EAAI4B,OAAOomC,QAC7B,MAAK5H,OAAMwH,UAAY97B,EAAkB,KACrCy6B,EAAgB,MACT,IAEXA,EAActtB,SACP,EAGPstB,GAActtB,QAYtB,MAPInX,UAASwiC,eAAiBiC,IAAkBzkC,SAASwiC,eAAiBxiC,SAASwiC,gBAAkBxiC,SAASC,MAAiD,UAAzCwkC,EAAcpZ,SAASrT,eACzIhY,SAASwiC,cAAc1rB,OAI3B/L,EAAE2B,iBACF23B,EAAUt5B,IACH,EAEX,QAASo7B,GAAkBp7B,GACvBs6B,GAAa,EACbZ,EAAgB,KAGhBnqB,aAAaynB,GACbznB,aAAa4qB,GACThnC,EAAIP,OAAOoE,aACXogC,IAIAjkC,EAAIP,OAAO+H,UAAYxH,EAAIP,OAAOmI,gBAClC09B,IAIR,QAAS4C,GAAYr7B,GACjB,GAAIs7B,IAAa,CAEjB,OAAIhB,IACAZ,EAAgB,KAChBY,GAAa,GACN,GAEW,WAAlBt6B,EAAEiB,OAAOd,MAAkC,IAAbH,EAAE0qB,QAAkC,SAAlB1qB,EAAEiB,OAAOd,OAGxDu5B,GACIrC,EAAcr3B,EAAEiB,UACjBq6B,GAAc,GAGjBjB,IACDiB,GAAa,GAEbrmC,SAASwiC,gBAAkBiC,IAC3B4B,GAAc,GAEdt7B,EAAEg6B,sBACFsB,GAAc,GAEbt7B,EAAEk7B,aACHI,GAAc,GAEdnoC,EAAIP,OAAOiE,SAAW1D,EAAIP,OAAOmE,sBAAwBmjC,IACzDoB,GAAa,GAEZA,IACDt7B,EAAEu7B,2BACFv7B,EAAEw7B,kBACE9B,GACI1B,EAAmB0B,IAAkBj6B,IACrCO,EAAE2B,iBAIN3B,EAAE2B,iBAEN+3B,EAAgB,MAEpBU,EAAwBhlC,WAAW,WAC/BilC,GAAiB,GACjBlnC,EAAI4B,OAAOsH,KAAOlJ,EAAI4B,OAAO0mC,cAAgB,IAAM,KAEnDtoC,EAAIP,OAAOiE,UACXsjC,EAAiB/kC,WAAW,WACxB8kC,GAAe,GACf/mC,EAAI4B,OAAOsH,KAAOlJ,EAAI4B,OAAO0mC,cAAgB,IAAM,MAGpDH,GA5fPnoC,EAAIP,OAAOoE,aACXtD,EAAE,QAAQ6H,SAAS,sBAEnBpI,EAAI4B,OAAOsH,KAAOlJ,EAAI4B,OAAOomC,SAE7BzoC,OAAOgpC,iBAAiB,aAAc,aAG1C,IAAItD,GAAa/Q,EAAapoB,EAAgBy6B,EAAeY,EAAYM,EAAiBC,EAAcG,EAAev7B,EAASy6B,EAAcC,EAC1IhD,EAAkBH,EAAeqD,EAAgBD,EACjDpB,EAAYK,EAAcJ,EAAiBhC,CAof3C9jC,GAAIuI,QAAQC,OACZ1G,SAASymC,iBAAiB,QAASL,GAAa,GAEhDpmC,SAASymC,iBAAiB,aAAc37B,GACxC9K,SAASymC,iBAAiB,YAAah7B,GACvCzL,SAASymC,iBAAiB,WAAY94B,GACtC3N,SAASymC,iBAAiB,cAAeN,IAGrCjoC,EAAIP,OAAOoE,cACX/B,SAASymC,iBAAiB,YAAaxD,GACvCjjC,SAASymC,iBAAiB,YAAapD,GACvCrjC,SAASymC,iBAAiB,UAAWlD,IAGzCrlC,EAAIP,OAAO+H,UAAYxH,EAAIP,OAAOmI,gBAClC9F,SAASymC,iBAAiB,cAAe,SAAU17B,GAC3Cm3B,GAAkBC,IACtBqB,OAUZtlC,EAAIwoC,gBAAkB,WAClB,QAASC,GAAgB57B,GAErB,GAAI67B,GAAUnoC,EAAEC,MACZsN,EAASvN,EAAEsM,EAAEiB,QACb66B,EAA+C,MAAtCD,EAAQ,GAAGvb,SAASrT,eACpB4uB,EAAQ36B,QAAQ,KAAKzM,OAAS,GACO,MAArCwM,EAAO,GAAGqf,SAASrT,eACnBhM,EAAOC,QAAQ,KAAKzM,OAAS,CAE1C,KAAIqnC,EAAJ,CACA,GAAIrtB,EACJ,IAAItb,EAAIP,OAAO8F,wBAA0BmjC,EAAQ16B,GAAG,mBAAoB,CAEpE,GAAIyG,GAASi0B,EAAQ36B,QAAQ,UAG7BuN,GAAc7G,EAAO1G,QAAQ,iBAEF,IAAvBuN,EAAYha,SAERmT,EAAO1G,QAAQ,SAASzM,OAAS,IACjCga,EAAc7G,EAAO1G,QAAQ,SAAS/M,KAAK,kBAGpB,IAAvBsa,EAAYha,QACRmT,EAAO6F,QAAQ,UAAUhZ,OAAS,IAClCga,EAAc7G,EAAO6F,QAAQ,UAAUtZ,KAAK,6DAA6DA,KAAK,mBAK1HhB,EAAIP,OAAO+F,2BAA6BkjC,EAAQ16B,GAAG,wBAG/CsN,EAFA/a,EAAE,mBAAmBe,OAAS,EAEhBf,EAAE,mBAAmBS,KAAK,6DAA6DA,KAAK,iBAErGT,EAAE,iBAAiBe,OAAS,EAEnBf,EAAE,iBAAiBS,KAAK,6DAA6DA,KAAK,iBAEnGT,EAAE,yBAAyBe,OAAS,EAE3Bf,EAAE,yBAAyBS,KAAK,6DAA6DA,KAAK,iBAIlGT,EAAE,UAAUS,KAAK,6DAA6DA,KAAK,kBAIrGsa,GAAeA,EAAYha,OAAS,IAEhCga,EAAYpa,SAAS,SACrBoa,EAAcA,EAAYpH,OAAO,SAASJ,SAAS,yBAEnDwH,EAAYha,OAAS,GAAGga,EAAY7a,UAAU,EAAG,OAG7D,QAASmoC,GAAa/7B,GAElB,GAAI67B,GAAUnoC,EAAEC,MACZiL,EAAMi9B,EAAQ3/B,KAAK,QACnB4/B,EAA+C,MAAtCD,EAAQ,GAAGvb,SAASrT,aAGjC,IAAI6uB,IACID,EAAQ16B,GAAGhO,EAAIP,OAAO6E,gBAAmBmH,GAAOA,EAAItK,QAAQ,gBAAkB,GAK9E,YAJGsK,GAAkC,YAA3Bi9B,EAAQ3/B,KAAK,YACnB8D,EAAE2B,iBACFjP,OAAOspC,KAAKp9B,EAAK,YAO7B,IAAIq9B,GAAcJ,EAAQ1tB,SA+B1B,IA5BI0tB,EAAQxnC,SAAS,iBACblB,EAAI61B,iBAAiB71B,EAAI61B,gBAAgB6S,GAI7CA,EAAQxnC,SAAS,gBACU,IAAvBX,EAAE,UAAUe,OACRf,EAAE,UAAUW,SAAS,cAAelB,EAAIysB,UAAU,QACjDzsB,EAAIysB,UAAU,SAGO,UAAtBqc,EAAYjc,MAAmB7sB,EAAIysB,UAAU,SAC5CzsB,EAAIysB,UAAU,SAKvBic,EAAQxnC,SAAS,gBACjBlB,EAAI+sB,aAIJ2b,EAAQxnC,SAAS,mBACjBX,EAAE,iBAAiBc,QAAQ,uBACvBrB,EAAIP,OAAOsG,sBAAsB/F,EAAI+sB,cAIzC2b,EAAQxnC,SAAS,gBAAiB,CAClC,GAAIwnB,EAEAA,GADAogB,EAAYpgB,QACFogB,EAAYpgB,QAEX,WACf1oB,EAAI0oB,QAAQA,EAASggB,GAErBA,EAAQxnC,SAAS,kBACjBlB,EAAIsO,WAAW,oBAGnB,IAAI4c,EACAwd,GAAQxnC,SAAS,gBAEbgqB,EADA4d,EAAY5d,MACJ4d,EAAY5d,MAEX,SACblrB,EAAIkrB,MAAMA,IAEVwd,EAAQxnC,SAAS,iBAEbgqB,EADA4d,EAAY5d,MACJ4d,EAAY5d,MAEX,kBACblrB,EAAIsO,WAAW4c,GAGnB,IAAIE,EA8BJ,IA7BIsd,EAAQxnC,SAAS,uBAEbkqB,EADA0d,EAAY1d,YACE0d,EAAY1d,YAEX,gBACnBprB,EAAIorB,YAAYA,IAEhBsd,EAAQxnC,SAAS,uBACjBlB,EAAIsO,WAAW,0BAGfo6B,EAAQxnC,SAAS,mBACbX,EAAE,mBAAmBe,OAAS,GAAKtB,EAAIP,OAAO4G,qBAC9CrG,EAAIsO,WAAW,mBACf/N,EAAE,2BAA2Be,OAAS,GAAKtB,EAAIP,OAAO6G,uBACtDtG,EAAIsO,WAAW,2BAEf/N,EAAE,qBAAqBe,OAAS,GAAGtB,EAAIsO,WAAW,sBAEtDo6B,EAAQxnC,SAAS,kBACbX,EAAE,mBAAmBe,OAAS,GAAKtB,EAAIP,OAAO8G,qBAC9CvG,EAAIsO,WAAW,mBAEnBo6B,EAAQxnC,SAAS,yBACbX,EAAE,0BAA0Be,OAAS,GACrCtB,EAAIsO,WAAW,0BAInBo6B,EAAQxnC,SAAS,gBAAiB,CAClC,GAAI6nC,GAAgBxoC,EAAE,yBAClBwoC,GAAcznC,OAAS,EACvBtB,EAAIsO,WAAWy6B,IAGfA,EAAgBxoC,EAAE,mCACdwoC,EAAcznC,OAAS,GACvBtB,EAAIsO,WAAWy6B,EAAch7B,QAAQ,cAIjD,GAAI26B,EAAQxnC,SAAS,eAAgB,CACjC,GAAI8nC,EAEAA,GADAF,EAAY1S,OACG0S,EAAY1S,OAEX,gBACpBp2B,EAAImrB,YAAY6d,EAAcN,GAIlC,GAAIO,EAUJ,IATIP,EAAQxnC,SAAS,cACjB+nC,GAAY,EACZjpC,EAAIsiC,QAAQwG,EAAYvG,KAAOmG,EAAQ3/B,KAAK,QAAS2/B,IAGrDA,EAAQxnC,SAAS,mBACjBlB,EAAIuyB,cAAcmW,EAAQ36B,QAAQ,qBAGlC26B,EAAQxnC,SAAS,mBACjB,GAAI4nC,EAAYxhB,QAAS,CACrB,GAAIrN,GAAO6uB,EAAYxhB,QACnBlN,EAAQ0uB,EAAYI,YACpB9uB,GACApa,EAAIsnB,QAAQrN,EAAMG,EAAO,WACrBpa,EAAIwzB,eAAekV,EAAQ36B,QAAQ,eACpC,WACK+6B,EAAYK,eAAenpC,EAAIuyB,cAAcmW,EAAQ36B,QAAQ,gBAIrE/N,EAAIsnB,QAAQrN,EAAM,WACdja,EAAIwzB,eAAekV,EAAQ36B,QAAQ,eACpC,WACK+6B,EAAYK,eAAenpC,EAAIuyB,cAAcmW,EAAQ36B,QAAQ,oBAKzE/N,GAAIwzB,eAAekV,EAAQ36B,QAAQ,aAe3C,IAVI26B,EAAQxnC,SAAS,oBACjBlB,EAAI4zB,eAAekV,EAAYvkC,UAE/BmkC,EAAQxnC,SAAS,kBACjBlB,EAAI+zB,aAAa+U,EAAYvkC,UAE7BmkC,EAAQxnC,SAAS,mBACjBlB,EAAIg0B,cAAc8U,EAAYvkC,UAG9BmkC,EAAQxnC,SAAS,0BAA6BwnC,EAAQxnC,SAAS,cAAgBwnC,EAAQx0B,SAAShT,SAAS,kBAAoB,CAC7H,GAAIkoC,GAAgBV,EAAQx0B,OAAO,kBACN,KAAzBk1B,EAAc9nC,SAAc8nC,EAAgBV,EAAQ36B,QAAQ,oBACnC,IAAzBq7B,EAAc9nC,SAAc8nC,EAAgBV,EAAQ36B,QAAQ,OAChE/N,EAAIojC,gBAAgBgG,GAYxB,GARIV,EAAQxnC,SAAS,oBAAsBwnC,EAAQx0B,SAAShT,SAAS,eACjEwnC,EAAQx0B,SAAS4f,YAAY,qBAE7B4U,EAAQxnC,SAAS,qBACjBX,EAAE,sBAAsB0I,YAAY,uBAIpCjJ,EAAIP,OAAO4E,WAAcqkC,EAAQ16B,GAAGhO,EAAIP,OAAO4E,aAAeskC,GAAW3oC,EAAIP,OAAOoD,OAAxF,CAGI8lC,GACA97B,EAAE2B,gBAGN,IAAI66B,GAAW59B,GAAOA,EAAInK,OAAS,GAAa,MAARmK,IAAgBw9B,EACpD1mB,EAAWumB,EAAYvmB,QAC3B,IAAI8mB,GAAYX,EAAQxnC,SAAS,SAAWqhB,EAAU,CAClD,GAAItY,EAcJ,IAbI6+B,EAAY7+B,KACZA,EAAO1J,EAAEuoC,EAAY7+B,MAAM,GAAGO,QAG9BP,EAAOy+B,EAAQ36B,QAAQ,IAAM/N,EAAIP,OAAOoH,WAAW,IAAM6hC,EAAQ36B,QAAQ,IAAM/N,EAAIP,OAAOoH,WAAW,GAAG2D,OACpGP,GAAQA,EAAKxK,OAAOqK,YACiB,gBAA1BG,GAAKxK,OAAOqK,UAAwBG,EAAO1J,EAAE0J,EAAKxK,OAAOqK,WAAW,GAAGU,OACzEP,EAAKxK,OAAOqK,oBAAqBN,KAAMS,EAAOA,EAAKxK,OAAOqK,aAGtEG,GACGjK,EAAIuR,WAAUtH,EAAOjK,EAAIuR,WAE5BtH,EAAM,MAEX,IAAIhK,EACJ,IAAKsiB,EAUD9W,EAAMvI,WAVK,CACX,GAAIuI,GAA4B,IAArBA,EAAItK,QAAQ,MAAsB,MAARsK,EAAc,CAC/C,IAAIxB,EAAKxK,OAAOoK,SAGX,MAFD5J,GAAWwL,EAAIL,MAAM,KAAK,GAIlC,GAAY,MAARK,IAAgBi9B,EAAQxnC,SAAS,QAAS,OAMlD,GAAIiG,EACoC,oBAA7B2hC,GAAY3hC,aACnBA,EAAe2hC,EAAY3hC,cAGvBuhC,EAAQxnC,SAAS,oBAAmBiG,GAAe,GACnDuhC,EAAQxnC,SAAS,kBAAiBiG,GAAe,GAGzD,IAAIsK,IACAtK,aAAcA,EACdiL,YAAa02B,EAAY12B,YACzB6S,MAAO6jB,EAAY7jB,MACnBnT,OAAQg3B,EAAYh3B,OACpBG,eAAgB62B,EAAY72B,eAC5BhS,SAAUA,EACV+C,UAAW8lC,EAAY9lC,UACvByI,IAAKA,EAGT,IAAIzL,EAAIP,OAAO6H,eAAgB,CAC3BmK,EAAQ6Q,YAAcwmB,EAAYxmB,WAClC,IAAI9D,GAAUsqB,EAAYtqB,OACtBA,KACA/M,EAAQ+M,QAAU8qB,KAAKC,MAAM/qB,IAGjC+D,GAAYA,IAAYta,GAAGb,YAC3BqK,EAAQ8Q,SAAWta,EAAGb,UAAUmb,IAGhCmmB,EAAQxnC,SAAS,QAAS+I,EAAKpH,OAAO6N,KAAKe,GAC1CxH,EAAKpH,OAAO2O,KAAKC,KAS9B,QAAS+3B,GAAiB38B,GACtBA,EAAE2B,iBAPNjO,EAAEuB,UAAUuH,GAAG,QAAS,oUAAqUu/B,IACzV5oC,EAAIP,OAAO8F,wBAA0BvF,EAAIP,OAAO+F,4BAChDjF,EAAEuB,UAAUuH,GAAG,QAAS,sCAAuCo/B,GAO/DzoC,EAAIuI,QAAQC,QAAUxI,EAAI4B,OAAOwM,SACjC7N,EAAEuB,UAAUuH,GAAIrJ,EAAIP,OAAO6D,WAAa,aAAe,YAAc,mGAAoGkmC,IAiBjLxpC,EAAIypC,WAAa,WACblpC,EAAEhB,QAAQ8J,GAAG,SAAUrJ,EAAI0pC,QAC3BnpC,EAAEhB,QAAQ8J,GAAG,oBAAqBrJ,EAAI2pC,oBAE1C3pC,EAAI0pC,OAAS,WACL1pC,EAAIiV,aAAajV,EAAIiV,cACzBtT,KAGJ3B,EAAI2pC,kBAAoB,WAChB3pC,EAAI4B,QAAU5B,EAAI4B,OAAOgoC,YACE,KAAvBrqC,OAAOsqC,aAAsBtqC,OAAOsqC,eAAgB,KAAK/nC,SAASC,KAAKtB,UAAY,IAE3FkB,KAOJ3B,EAAI8pC,aACJ9pC,EAAI+pC,cAAgB,SAAUC,EAAQC,GAElCjqC,EAAI8pC,UAAUE,GAAUC,EAGxBjqC,EAAI2I,GAAG,UAAYqhC,GAAUV,KAAKY,UAAUD,IAEhDjqC,EAAImqC,eAAiB,SAAUH,GAEvBhqC,EAAI8pC,UAAUE,KACdhqC,EAAI8pC,UAAUE,GAAU,SACjBhqC,GAAI8pC,UAAUE,IAIrBhqC,EAAI2I,GAAG,UAAYqhC,KACnBhqC,EAAI2I,GAAG,UAAYqhC,GAAU,GAC7BhqC,EAAI2I,GAAGyhC,WAAW,UAAYJ,KAGtChqC,EAAIqqC,YAAc,SAAUL,GAExB,MAAIhqC,GAAI2I,GAAG,UAAYqhC,GACZV,KAAKC,MAAMvpC,EAAI2I,GAAG,UAAYqhC,IAGhChqC,EAAI8pC,UAAUE,GAAgBhqC,EAAI8pC,UAAUE,GAAhD,QAEThqC,EAAIsqC,WAAa,SAAUC,GAEvB,GADAA,EAAOhqC,EAAEgqC,GACW,IAAhBA,EAAKjpC,OAAc,OAAO,CAG9B,IAAIkpC,MAGAC,GAAa,SAAU,QAAS,SAAU,QAC1CC,IAsCJ,OArCAH,GAAKvpC,KAAK,2BAA2B6O,KAAK,WACtC,GAAIiH,GAAQvW,EAAEC,MACV8Q,EAAOwF,EAAM/N,KAAK,QAClBiE,EAAO8J,EAAM/N,KAAK,QAClB27B,EAAMlkC,KAAK2sB,SAASrT,aACxB,MAAI2wB,EAAUtpC,QAAQ6L,IAAS,MAC3B09B,EAAUvpC,QAAQmQ,IAAS,IAAMA,EACrC,GAAY,WAARozB,GAAoB5tB,EAAM3D,KAAK,YAC/Bu3B,EAAU7/B,KAAKyG,GACfk5B,EAASl5B,MACTi5B,EAAKvpC,KAAK,gBAAkBsQ,EAAO,aAAazB,KAAK,WAC7CrP,KAAK+0B,UAAUiV,EAASl5B,GAAMzG,KAAKrK,KAAKwY,aAIhD,QAAQhM,GACJ,IAAK,WACD09B,EAAU7/B,KAAKyG,GACfk5B,EAASl5B,MACTi5B,EAAKvpC,KAAK,eAAiBsQ,EAAO,MAAMzB,KAAK,WACrCrP,KAAKm2B,SAAS6T,EAASl5B,GAAMzG,KAAKrK,KAAKwY,QAE/C,MACJ,KAAK,QACD0xB,EAAU7/B,KAAKyG,GACfi5B,EAAKvpC,KAAK,eAAiBsQ,EAAO,MAAMzB,KAAK,WACrCrP,KAAKm2B,UAAS6T,EAASl5B,GAAQ9Q,KAAKwY,QAE5C,MACJ,SACIwxB,EAASl5B,GAAQwF,EAAM+B,SAKvC0xB,EAAKlpC,QAAQ,qCAAsCmpC,SAAUA,IAEtDA,GAEXxqC,EAAI2qC,WAAa3qC,EAAIsqC,WACrBtqC,EAAI4qC,aAAe,SAAUL,EAAMC,GAE/B,GADAD,EAAOhqC,EAAEgqC,GACW,IAAhBA,EAAKjpC,OAAc,OAAO,CAG9B,IAAImpC,IAAa,SAAU,QAAS,SAAU,QAC1CC,IAEJH,GAAKvpC,KAAK,2BAA2B6O,KAAK,WACtC,GAAIiH,GAAQvW,EAAEC,MACV8Q,EAAOwF,EAAM/N,KAAK,QAClBiE,EAAO8J,EAAM/N,KAAK,QAClB27B,EAAMlkC,KAAK2sB,SAASrT,aACxB,IAA8B,mBAAnB0wB,GAASl5B,IAA4C,OAAnBk5B,EAASl5B,MAClDm5B,EAAUtpC,QAAQ6L,IAAS,MAC3B09B,EAAUvpC,QAAQmQ,IAAS,IAAMA,EAArC,CACA,GAAY,WAARozB,GAAoB5tB,EAAM3D,KAAK,YAC/Bu3B,EAAU7/B,KAAKyG,GACfi5B,EAAKvpC,KAAK,gBAAkBsQ,EAAO,aAAazB,KAAK,WAC7C26B,EAASl5B,GAAMnQ,QAAQX,KAAKwY,QAAU,EAAGxY,KAAK+0B,UAAW,EACxD/0B,KAAK+0B,UAAW,QAIzB,QAAQvoB,GACJ,IAAK,WACD09B,EAAU7/B,KAAKyG,GACfi5B,EAAKvpC,KAAK,eAAiBsQ,EAAO,MAAMzB,KAAK,WACrC26B,EAASl5B,GAAMnQ,QAAQX,KAAKwY,QAAU,EAAGxY,KAAKm2B,SAAU,EACvDn2B,KAAKm2B,SAAU,GAExB,MACJ,KAAK,QACD+T,EAAU7/B,KAAKyG,GACfi5B,EAAKvpC,KAAK,eAAiBsQ,EAAO,MAAMzB,KAAK,WACrC26B,EAASl5B,KAAU9Q,KAAKwY,MAAOxY,KAAKm2B,SAAU,EAC7Cn2B,KAAKm2B,SAAU,GAExB,MACJ,SACI7f,EAAM+B,IAAI2xB,EAASl5B,IAInB,WAARozB,GAAoB5tB,EAAM/I,QAAQ,iBAAiBzM,OAAS,GAC5DwV,EAAMzV,QAAQ,aAGtBkpC,EAAKlpC,QAAQ,2CAA4CmpC,SAAUA,KAEvExqC,EAAI6qC,aAAe7qC,EAAI4qC,aAEvB5qC,EAAI0f,iBAAmB,SAAUzP,GAa7B,QAAS66B,KAEL,GAAIP,GAAOhqC,EAAEC,MACTwpC,EAASO,EAAK,GAAGrR,EACrB,IAAK8Q,EAAL,CACA,GAAIC,GAAWjqC,EAAIsqC,WAAWC,EACzBN,KACLjqC,EAAI+pC,cAAcC,EAAQC,GAC1BM,EAAKlpC,QAAQ,wBAAyBuhB,KAAMqnB,MAKhD,QAASztB,KACLuuB,EAAMruB,IAAI,gBAAiBouB,GAC3B76B,EAAcyM,IAAI,oBAAqBF,GA3B3CvM,EAAgB1P,EAAE0P,EAClB,IAAI86B,GAAQ96B,EAAcjP,KAAK,kBACV,KAAjB+pC,EAAMzpC,SAGVypC,EAAMl7B,KAAK,WACP,GAAIqpB,GAAK14B,KAAKM,aAAa,KAC3B,IAAKo4B,EAAL,CACA,GAAIsR,GAAWxqC,EAAIqqC,YAAYnR,EAC3BsR,IAAUxqC,EAAI4qC,aAAapqC,KAAMgqC,MAazCO,EAAM1hC,GAAG,gBAAiByhC,GAO1B76B,EAAc5G,GAAG,oBAAqBmT,KAO1Cjc,EAAEuB,UAAUuH,GAAG,gBAAiB,8CAA+C,SAAUwD,GACrF,GAAI09B,GAAOhqC,EAAEC,KACb,IAAe,WAAXqM,EAAEG,MAAsBu9B,EAAKrpC,SAAS,wBAA1C,CACe,WAAX2L,EAAEG,MAAmBH,EAAE2B,gBAE3B,IAAImM,IAAU4vB,EAAKxhC,KAAK,WAAa,OAAOhJ,cACxCirC,EAAcT,EAAKp3B,KAAK,YAAco3B,EAAKxhC,KAAK,WAEhD0C,EAAM8+B,EAAKxhC,KAAK,SACpB,IAAK0C,EAAL,CAEA,GAAImX,EACmBA,GAAR,SAAXjI,EAA0B,GAAIswB,UAASV,EAAK,IACpChqC,EAAE2qC,gBAAgBlrC,EAAI2qC,WAAWJ,EAAK,IAElD,IAAI3tB,GAAMrc,EAAEyc,MACRrC,OAAQA,EACRlP,IAAKA,EACLu/B,YAAaA,EACbpoB,KAAMA,EACN3F,WAAY,SAAUL,GAClB2tB,EAAKlpC,QAAQ,gCAAiCuhB,KAAKA,EAAMhG,IAAKA,KAElEW,MAAO,SAAUX,GACb2tB,EAAKlpC,QAAQ,0BAA2BuhB,KAAKA,EAAMhG,IAAKA,KAE5DuuB,QAAS,SAAUvoB,GACf2nB,EAAKlpC,QAAQ,0BAA2BuhB,KAAMA,EAAMhG,IAAKA,WAUrE5c,EAAIorC,eAAiB,SAAUjwB,GAE3B,GADAA,EAAW5a,EAAE4a,GACRA,EAASja,SAAS,aAAvB,CAGAia,EAASrS,KAAKnI,OAAU,IACxB,IAAIA,GAASwa,EAAS,GAAGva,aACrByU,EAAO1U,EAASwa,EAAS,GAAGQ,aAC5Bjb,EAAeya,EAAS,GAAGza,YAE/B,IAAIA,EAAe2U,EAAO1U,EAAQ,CAC9B,GAAIib,GAAgBlb,EAAe2U,CACnC8F,GAASrS,IAAI,SAAU8S,EAAgB,SAG/C5b,EAAIqrC,kBAAoB,SAAUlwB,GAI9B,QAASgB,KACLC,aAAaF,GACbA,EAAkBja,WAAW,WACzBjC,EAAIorC,eAAejwB,IACpB,GANP,GADAA,EAAW5a,EAAE4a,GACW,IAApBA,EAAS7Z,OAAb,CACA,GAAI4a,EAUJ,OAHAf,GAAS,GAAGmwB,2BAA6B,WACrCnwB,EAASuB,IAAI,0CAA2CP,IAErDhB,EAAS9R,GAAG,0CAA2C8S,KAElEnc,EAAIurC,yBAA2B,SAAUt7B,GACrCA,EAAgB1P,EAAE0P,GACdA,EAAc3O,OAAS,GAAK2O,EAAcjC,GAAG,aAAeiC,EAAc,GAAGq7B,2BAC7Er7B,EAAc,GAAGq7B,6BAEZr7B,EAAc3O,OAAS,GAC5B2O,EAAcjP,KAAK,qBAAqB6O,KAAK,WACzC,GAAIsL,GAAW3a,IACX2a,GAASmwB,4BACTnwB,EAASmwB,gCAKzBtrC,EAAIkgB,0BAA4B,SAAUjQ,GACtCA,EAAgB1P,EAAE0P,EAClB,IAAIu7B,GAAYv7B,EAAcjP,KAAK,qBACnCwqC,GAAU37B,KAAK,WACX7P,EAAIqrC,kBAAkB7qC,SAO9BR,EAAIogB,uBAAyB,SAAUnQ,GACnCA,EAAgB1P,EAAE0P,EACFA,GAAcjP,KAAK,qBACnCiP,GAAcjP,KAAK,eAAe6O,KAAK,WACnC,GAAI47B,GAAYlrC,EAAEC,MACdkrC,GAAa,WAAY,SAAU,SAAU,QAAS,QAAS,QACnED,GAAUzqC,KAAK,2BAA2B6O,KAAK,WAC3C,GAAIiH,GAAQvW,EAAEC,KACVkrC,GAAUvqC,QAAQ2V,EAAM/N,KAAK,SAAW,IACxC0iC,EAAUrjC,SAAS,oBACQ,KAAvB0O,EAAM+B,MAAMM,QACZrC,EAAM/I,QAAQ,6BAA6Bkd,IAAInU,EAAM/I,QAAQ,gBAAgB3F,SAAS,sBAI9FqjC,EAAU19B,QAAQ,6BAA6BzM,OAAS,GAC5DmqC,EAAU19B,QAAQ,eAAexM,GAAG,GAAG6G,SAAS,kBAMxDpI,EAAI2rC,wBAA0B,WAE1B,QAASC,GAAc/+B,GAEnB,GAAInD,GAAInJ,EAAEC,MACNwM,EAAOtD,EAAEX,KAAK,OAClB,MAAI2iC,EAAUvqC,QAAQ6L,IAAS,GAA/B,CACA,GAAI6+B,GAAMniC,EAAEuhB,IAAIvhB,EAAEqE,QAAQ,8BAA8Bkd,IAAIvhB,EAAEqE,QAAQ,eAAexM,GAAG,GACxFsqC,GAAIzjC,SAAS,gBAEjB,QAAS0jC,GAAiBj/B,GAEtB,GAAInD,GAAInJ,EAAEC,MAAOwY,EAAQtP,EAAEmP,MACvB7L,EAAOtD,EAAEX,KAAK,OAClB,MAAI2iC,EAAUvqC,QAAQ6L,IAAS,GAA/B,CACA,GAAI6+B,GAAMniC,EAAEuhB,IAAIvhB,EAAEqE,QAAQ,8BAA8Bkd,IAAIvhB,EAAEqE,QAAQ,eAAexM,GAAG,GACxFsqC,GAAI5iC,YAAY,eACZ+P,GAA0B,KAAjBA,EAAMG,OACf0yB,EAAIzjC,SAAS,mBAGbyjC,EAAI5iC,YAAY,oBAGxB,QAAS8iC,GAAiBl/B,GAEtB,GAAInD,GAAInJ,EAAEC,MAAOwY,EAAQtP,EAAEmP,MACvB7L,EAAOtD,EAAEX,KAAK,OAClB,MAAI2iC,EAAUvqC,QAAQ6L,IAAS,GAA/B,CACA,GAAI6+B,GAAMniC,EAAEuhB,IAAIvhB,EAAEqE,QAAQ,8BAA8Bkd,IAAIvhB,EAAEqE,QAAQ,eAAexM,GAAG,GACpFyX,IAA0B,KAAjBA,EAAMG,OACf0yB,EAAIzjC,SAAS,mBAGbyjC,EAAI5iC,YAAY,oBAjCxB,GAAIyiC,IAAa,WAAY,SAAU,SAAU,QAAS,QAAS,QAoCnEnrC,GAAEuB,UAAUuH,GAAG,SAAU,uFAAwF0iC,GAAkB,GACnIxrC,EAAEuB,UAAUuH,GAAG,QAAS,uFAAwFuiC,GAAe,GAC/HrrC,EAAEuB,UAAUuH,GAAG,OAAQ,uFAAwFyiC,GAAkB,IAMrI9rC,EAAIgsC,kBACJhsC,EAAIojB,oBAAsB,WACtB,GAAkC,IAA9BpjB,EAAIgsC,eAAe1qC,OAAvB,CACA,GACI6F,GADA8kC,EAAQjsC,EAAIgsC,eAAetmB,KAE3B1lB,GAAIP,OAAO0D,wBAAyB,IAAMgE,GAAe,GACxC,SAAjB8kC,EAAMh7B,QACNjR,EAAI6C,OAAO6N,KAAKu7B,EAAMhiC,MAAO9C,aAAcA,IAE1B,aAAjB8kC,EAAMh7B,QACNjR,EAAI6C,OAAO2O,KAAKy6B,EAAMhiC,MAAOwB,IAAKwgC,EAAMC,SAAU/kC,aAAcA,EAAcnE,WAAW,IAExE,gBAAjBipC,EAAMh7B,QACNjR,EAAI6C,OAAO2O,KAAKy6B,EAAMhiC,MAAO2H,QAASq6B,EAAME,aAAchlC,aAAcA,EAAcnE,WAAW,IAEhF,iBAAjBipC,EAAMh7B,QACNjR,EAAI6C,OAAO2O,KAAKy6B,EAAMhiC,MAAOhK,SAAUgsC,EAAMG,cAAe3gC,IAAKwgC,EAAMC,SAAU/kC,aAAcA,EAAcnE,WAAW,MAIhIhD,EAAIqsC,cAAgB,WAYhB,QAASC,GAAez/B,GACpB,IAAI0/B,EAAJ,CACA,GAAIh7B,GAAWvR,EAAIuR,QACnB,IAAKA,EAAL,CACA,GAAIwB,GAAQlG,EAAEkG,KAOd,IANKA,IACDA,GACIkR,UAAWjkB,EAAIuJ,MAAMpI,QAAQoQ,GAC7B9F,IAAM8F,EAASrG,QAAQ,OAG3B6H,EAAMkR,UAAY,GAAtB,CACA,GAII9c,GAJA8C,EAAOjK,EAAIuJ,MAAMwJ,EAAMkR,WACvBioB,EAAWn5B,GAASA,EAAMtH,KAAOvI,OACjCipC,EAAep5B,GAASA,EAAMnB,SAAW1O,OACzCkpC,EAAgBr5B,GAASA,EAAM9S,UAAYiD,MAG3ClD,GAAIP,OAAO0D,wBAAyB,IAAMgE,GAAe,GAEzD+kC,IAAajiC,EAAKwB,MACdxB,EAAKiB,QAAQ/J,QAAQ+qC,IAAa,EAE9BjiC,EAAKa,gBACL9K,EAAI6C,OAAO6N,KAAKzG,GAAOwB,IAAIvI,OAAWiE,aAAcA,EAAcnE,WAAW,EAAO6b,aAAY,IAGhG7e,EAAIgsC,eAAenhC,MACfoG,OAAQ,OACRhH,KAAMA,IAITkiC,EAEDliC,EAAKa,gBACL9K,EAAI6C,OAAO2O,KAAKvH,GAAO2H,QAAQu6B,EAAchlC,aAAcA,EAAcnE,WAAW,IAGpFhD,EAAIgsC,eAAe3mB,SACfpU,OAAQ,cACRk7B,aAAcA,EACdliC,KAAMA,IAKTmiC,EAEDniC,EAAKa,gBACL9K,EAAI6C,OAAO2O,KAAKvH,GAAOhK,SAASmsC,EAAe3gC,IAAKygC,EAAU/kC,aAAcA,EAAcnE,WAAW,IAGrGhD,EAAIgsC,eAAe3mB,SACfpU,OAAQ,eACRm7B,cAAeA,EACfniC,KAAMA,IAMVA,EAAKa,gBACL9K,EAAI6C,OAAO2O,KAAKvH,GAAOwB,IAAIygC,EAAU/kC,aAAcA,EAAcnE,WAAW,IAG5EhD,EAAIgsC,eAAe3mB,SACfpU,OAAQ,WACRi7B,SAAUA,EACVjiC,KAAMA,QAhF1B,GAAIsiC,IAAgB,CACpBhsC,GAAEhB,QAAQ8J,GAAG,OAAQ,WACjBpH,WAAW,WACPsqC,GAAgB,GACjB,KAGHzqC,SAAS0qC,YAAsC,aAAxB1qC,SAAS0qC,aAChCD,GAAgB,GA8EpBhsC,EAAEhB,QAAQ8J,GAAG,WAAYijC,IAO7BtsC,EAAI6iC,OAAS,SAAU34B,EAAWzK,GAC9B,MAAO,IAAIgtC,QAAOviC,EAAWzK,IAEjCO,EAAI4f,eAAiB,SAAU3P,GAI3B,QAASy8B,GAAsBC,GAC3B,QAASC,KACLD,EAAO35B,UACP/C,EAAcyM,IAAI,oBAAqBkwB,GAE3C38B,EAAc5G,GAAG,oBAAqBujC,GAR1C38B,EAAgB1P,EAAE0P,EAClB,IAAI48B,GAAU58B,EAAcjP,KAAK,qCACV,KAAnB6rC,EAAQvrC,QAQZurC,EAAQh9B,KAAK,WACT,GAAsBi9B,GAClBrtC,EADAojC,EAAStiC,EAAEC,KAEXqiC,GAAO3hC,SAAS,yBAChB2hC,EAAOz6B,SAAS,oBAAoB0L,SAAS,SAAS1L,SAAS,kBAAkB0L,SAAS,QAAQ1L,SAAS,gBAC3G0kC,EAAejK,EAAO/uB,SAAS,SAASA,SAAS,eAAeN,SAGhE/T,EADAojC,EAAOjgB,KAAK,UACH0mB,KAAKC,MAAM1G,EAAOjgB,KAAK,WAGvBigB,EAAO7nB,UAEe,mBAAxBvb,GAAOqtC,cAAwD,mBAAjBA,KACrDrtC,EAAOqtC,aAAeA,GAEtBjK,EAAO3hC,SAAS,yBAChBzB,EAAOstC,mBAAqB,SAAUn1B,GAClC5X,EAAIsiC,QAAQ1qB,EAAEo1B,OAAOzrC,GAAGqW,EAAEmrB,eAGlC,IAAIkK,GAAUjtC,EAAI6iC,OAAOA,EAAO,GAAIpjC,EACpCitC,GAAsBO,MAG9BjtC,EAAIsgB,iBAAmB,SAAUrQ,GAC7BA,EAAgB1P,EAAE0P,EAClB,IAAIi9B,GAAUj9B,EAAcjP,KAAK,qCACjC,IAAuB,IAAnBksC,EAAQ5rC,OACZ,IAAK,GAAIoI,GAAI,EAAGA,EAAIwjC,EAAQ5rC,OAAQoI,IAAK,CACrC,GAAIyjC,GAAiBD,EAAQ,GAAGrK,MAC5BsK,IACAA,EAAejR,QAAO,IASlC,IAAIkR,GAAe,SAAU3tC,GACzB,GAAI4tC,GAAK7sC,KAELmJ,GACA2jC,UACAR,aAAc,EACdS,aAAc,GACdrhB,MAAO,IACPshB,MAAM,EACNC,QAAS,EACTC,QAAS,EACTC,YAAY,EACZC,wBAAwB,EACxB5gC,KAAM,aACNyH,QAAQ,EACRkC,SAAS,EACTk3B,MAAO,QACPC,cAAc,EACdC,aAAc,QACdC,OAAQ,KACRC,MAAM,EACNC,aAAa,EACbC,uBAAuB,EACvBC,8BAA8B,EAC9B5mC,SAAUxH,EAAIP,OAAO+H,SACrBE,qBAAsB1H,EAAIP,OAAOiI,qBACjCC,sBAAuB3H,EAAIP,OAAOkI,sBAkBtClI,GAASA,OACJA,EAAOsuC,cAAgB/tC,EAAIP,OAAO+H,WAAUmC,EAASokC,aAAe,GACzE,KAAK,GAAI/jC,KAAOL,GACe,mBAAhBlK,GAAOuK,KACdvK,EAAOuK,GAAOL,EAASK,GAG3BvK,GAAO4uC,UACP5uC,EAAOguC,QAAUhuC,EAAO4uC,SAExB5uC,EAAO6uC,UACP7uC,EAAOiuC,QAAUjuC,EAAO6uC,SAG5BjB,EAAG5tC,OAASA,EACZ4tC,EAAG5tC,OAAO8uC,gBAAkBlB,EAAG5tC,OAAO+uC,WAAa,SAAWnB,EAAG5tC,OAAO+uC,WAAkC,SAApBnB,EAAG5tC,OAAOouC,MAAmB,cAAgB,GACnIR,EAAG5tC,OAAOgvC,oBAA0C,SAApBpB,EAAG5tC,OAAOouC,MAAmB,kBAAoB,EAGjF,IAAIa,GAAgBrB,EAAG5tC,OAAOivC,eAC1B,uIAKAC,EAAoBtB,EAAG5tC,OAAOmvC,mBAC9B,gTAMAC,EAAiBxB,EAAG5tC,OAAOovC,gBAC3B,4GACAC,EAAkBzB,EAAG5tC,OAAOqvC,iBAC5B,uFAGAC,EAAiB1B,EAAG5tC,OAAOsvC,gBAC3B,oGAG0D,UAAhBtvC,EAAOuN,KAAmB,cAAgB,4BAA6B,qaAajHgiC,EAAkB3B,EAAG5tC,OAAOuvC,iBAC5B,0QAWAC,EAAehnC,EAAGwa,QAAQ,qIAGlBssB,EACA,mLAGIA,EACA,gCAEAC,EACA,8IAGIF,EACA,gTAMQD,EACJ,oCAEIF,EACA,WACAD,EACA,iEAOdrB,EAAG5tC,OAEjB4tC,GAAGtK,YAAcsK,EAAG5tC,OAAOqtC,aAC3BO,EAAG6B,UAAY7B,EAAGtK,YAClBsK,EAAG/f,QAAS,EAEZ+f,EAAGxE,KAAO,SAAUr1B,GAGhB,MAFqB,mBAAVA,KAAuBA,EAAQ65B,EAAGtK,aAC7CvvB,EAAQpS,SAASoS,EAAO,IACpB65B,EAAG/f,QAAU+f,EAAGxK,WAChBwK,GAAGxK,OAAOG,QAAQxvB,IAGtB65B,EAAG/f,QAAS,EACZ+f,EAAG6B,UAAY17B,EACQ,eAAnB65B,EAAG5tC,OAAOuN,MACVhN,EAAImC,KAAKkM,OAAO4gC,GAEG,UAAnB5B,EAAG5tC,OAAOuN,OACVqgC,EAAGniB,MAAQlrB,EAAIkrB,MAAM,0CAA4C+jB,EAAe,UAChF1uC,EAAE8sC,EAAGniB,OAAO7hB,GAAG,eAAgBgkC,EAAG8B,eAEf,SAAnB9B,EAAG5tC,OAAOuN,MACVzM,EAAEuB,UAAUuH,GAAG,kBAAmBgkC,EAAGvuB,kBACrCve,EAAEuB,UAAUuH,GAAG,oBAAqBgkC,EAAGluB,oBAClCkuB,EAAG5tC,OAAOwK,OAAMojC,EAAG5tC,OAAOwK,KAAOjK,EAAIuR,cAC1C87B,GAAG5tC,OAAOwK,KAAK0H,YAAYs9B,KAG/B5B,EAAG5d,OAAO4d,EAAG6B,gBACT7B,EAAG5tC,OAAO2vC,QACV/B,EAAG5tC,OAAO2vC,OAAO/B,OAIzBA,EAAGrmB,MAAQ,WACPqmB,EAAG/f,QAAS,EACP+f,EAAGgC,iBAAiD,IAA9BhC,EAAGgC,gBAAgB/tC,SAG1C+rC,EAAG5tC,OAAO6vC,SACVjC,EAAG5tC,OAAO6vC,QAAQjC,GAGtBA,EAAGt8B,cAAa,GAEO,eAAnBs8B,EAAG5tC,OAAOuN,MACVqgC,EAAGnjC,UAAUjB,YAAY,oBAAoBb,SAAS,qBAAqBqc,aAAa,WACpF4oB,EAAGnjC,UAAU4G,WAIrBu8B,EAAGxK,OAAO7vB,UAEVq6B,EAAGxK,OAASwK,EAAGgC,gBAAkBhC,EAAGkC,cAAgBlC,EAAGL,OAAS9pC,SAGpEmqC,EAAG8B,aAAe,SAAUtiC,GACxBwgC,EAAGrmB,QACHzmB,EAAE8sC,EAAGniB,OAAOxO,IAAI,kBAAmB2wB,EAAG8B,eAE1C9B,EAAGvuB,iBAAmB,SAAUjS,GACD,yBAAvBA,EAAE0qB,OAAO/iB,KAAKlD,MACd+7B,EAAG5d,OAAO4d,EAAG6B,WAEjB3uC,EAAEuB,UAAU4a,IAAI,kBAAmB2wB,EAAGvuB,mBAE1CuuB,EAAGluB,mBAAqB,SAAUtS,GACH,yBAAvBA,EAAE0qB,OAAO/iB,KAAKlD,MACd+7B,EAAGrmB,QAEPzmB,EAAEuB,UAAU4a,IAAI,oBAAqB2wB,EAAGluB,qBAG5CkuB,EAAGmC,wBAA0B,SAAU3M,GACnCwK,EAAGtK,YAAcF,EAAOE,WAExB,IAAI0M,GAAU5M,EAAOE,YAAc,EAC/B2M,EAAQ7M,EAAOmK,OAAO1rC,MAoB1B,IAnBI+rC,EAAG5tC,OAAOwuC,OACVyB,GAAgB,EAChBD,GAAoB5M,EAAO8M,aACvBF,EAAU,IAAGA,EAAUC,EAAQD,GAC/BA,EAAUC,IAAOD,GAAoBC,IAE7CrC,EAAGnjC,UAAUlJ,KAAK,0BAA0BiZ,KAAKw1B,GACjDpC,EAAGnjC,UAAUlJ,KAAK,wBAAwBiZ,KAAKy1B,GAE/CnvC,EAAE,4CAA4C0I,YAAY,+BAEtD45B,EAAO+M,cAAgBvC,EAAG5tC,OAAOwuC,MACjC1tC,EAAE,uBAAuB6H,SAAS,+BAElCy6B,EAAOgN,QAAUxC,EAAG5tC,OAAOwuC,MAC3B1tC,EAAE,uBAAuB6H,SAAS,+BAIlCilC,EAAGyC,SAASxuC,OAAS,EAAG,CACxB+rC,EAAG0C,kBAAkB/uC,KAAK,iCAAiCiI,YAAY,+BACvE,IAAI+mC,GAAe3C,EAAG5tC,OAAOwuC,KAAOpL,EAAOmK,OAAOzrC,GAAGshC,EAAOE,aAAah6B,KAAK,2BAA6BskC,EAAGtK,WAC9GsK,GAAG0C,kBAAkB/uC,KAAK,wBAA0BgvC,EAAe,MAAM5nC,SAAS,gCAKtF,GAAI6nC,GAAqBpN,EAAOmK,OAAOzrC,GAAGshC,EAAOqN,eAAelvC,KAAK,QACjEivC,GAAmB3uC,OAAS,GACxB,SAAW2uC,GAAmB,IAAIA,EAAmB,GAAGE,QAG5D9C,EAAG5tC,OAAO2wC,mBAAmB/C,EAAG5tC,OAAO2wC,kBAAkBvN,IAEjEwK,EAAGgD,sBAAwB,SAAUxN,GAC7BwK,EAAG5tC,OAAO6wC,iBAAiBjD,EAAG5tC,OAAO6wC,gBAAgBzN,IAG7DwK,EAAG5d,OAAS,SAAUjc,GACK,SAAnB65B,EAAG5tC,OAAOuN,KACVqgC,EAAGnjC,UAAY3J,EAAE,mCAAmCwN,QAAQ,SAG5Ds/B,EAAGnjC,UAAY3J,EAAE,kBAEE,eAAnB8sC,EAAG5tC,OAAOuN,OACVqgC,EAAGnjC,UAAU9B,SAAS,oBACtBpI,EAAIiV,YAAYo4B,EAAGnjC,YAEvBmjC,EAAGgC,gBAAkBhC,EAAGnjC,UAAUlJ,KAAK,mCACvCqsC,EAAGkC,cAAgBlC,EAAGnjC,UAAUlJ,KAAK,iCACrCqsC,EAAGL,OAASK,EAAGnjC,UAAUlJ,KAAK,wBAC9BqsC,EAAG0C,kBAAoB1C,EAAGnjC,UAAUlJ,KAAK,2BACzCqsC,EAAGyC,SAAWzC,EAAGnjC,UAAUlJ,KAAK,yBAEhC,IAAIuvC,IACAC,WAAYnD,EAAG5tC,OAAO+wC,YAAc,sBACpCC,WAAYpD,EAAG5tC,OAAOgxC,YAAc,sBACpCC,YAAarD,EAAG5tC,OAAOixC,YACvB5D,aAAct5B,EACd+5B,aAAcF,EAAG5tC,OAAO8tC,aACxBrhB,MAAOmhB,EAAG5tC,OAAOysB,MACjB+hB,KAAMZ,EAAG5tC,OAAOwuC,KAChBC,YAAab,EAAG5tC,OAAOyuC,YACvBC,sBAAuBd,EAAG5tC,OAAO0uC,sBACjCC,6BAA8Bf,EAAG5tC,OAAO2uC,6BACxCuC,eAAetD,EAAG5tC,OAAOyuC,YACzBV,KAAMH,EAAG5tC,OAAO+tC,KAChBC,QAASJ,EAAG5tC,OAAOguC,QACnBC,QAASL,EAAG5tC,OAAOiuC,QACnBkD,MAAO,SAAU/N,EAAQh2B,GACjBwgC,EAAG5tC,OAAOmxC,OAAOvD,EAAG5tC,OAAOmxC,MAAM/N,EAAQh2B,IAEjDoa,QAAS,SAAU4b,EAAQh2B,GACnBwgC,EAAG5tC,OAAOkuC,YAAYN,EAAGwD,mBACzBxD,EAAG5tC,OAAOwnB,SAASomB,EAAG5tC,OAAOwnB,QAAQ4b,EAAQh2B,IAErDikC,YAAa,SAAUjO,EAAQh2B,GAEvBwgC,EAAG5tC,OAAOqxC,aAAazD,EAAG5tC,OAAOqxC,YAAYjO,EAAQh2B,IAE7DujC,kBAAmB,SAAUvN,GACzBwK,EAAGmC,wBAAwB3M,IAE/ByN,gBAAiB,SAAUzN,GACvBwK,EAAGgD,sBAAsBxN,IAE7BkK,mBAAoBM,EAAG5tC,OAAOstC,mBAC9BgE,iBAAkB1D,EAAG5tC,OAAOsxC,iBAC5BC,gBAAiB,SAAUnO,EAAQoO,EAAOC,GAClC7D,EAAG5tC,OAAOuxC,iBAAiB3D,EAAG5tC,OAAOuxC,gBAAgB3D,EAAI4D,EAAOC,IAExEC,iBAAkB,SAAUtO,EAAQoO,EAAOC,GACvC3wC,EAAE0wC,GAAOhoC,YAAY,4BACjBokC,EAAG5tC,OAAO0xC,kBAAkB9D,EAAG5tC,OAAO0xC,iBAAiB9D,EAAI4D,EAAOC,IAI1E7D,GAAG5tC,OAAOquC,cAAmC,SAAnBT,EAAG5tC,OAAOuN,OACpCujC,EAAea,aAAe/D,EAAGgE,qBACjCd,EAAee,oBAAsBjE,EAAGkE,oBACxChB,EAAeiB,WAAanE,EAAGoE,oBAGnCpE,EAAGxK,OAAS7iC,EAAI6iC,OAAOwK,EAAGgC,gBAAiBkB,GAC7B,IAAV/8B,GACA65B,EAAGmC,wBAAwBnC,EAAGxK,QAElCwK,EAAGt8B,gBAEPs8B,EAAGt8B,aAAe,SAAUC,GACxB,GAAIC,GAASD,EAAS,MAAQ,IAC9Bq8B,GAAGnjC,UAAUlJ,KAAK,6BAA6BiQ,GAAQ,QAASo8B,EAAGrmB,QAKvEqmB,EAAGqE,SAAU,EACbrE,EAAGwD,iBAAmB,WACdxD,EAAGnjC,WAAWmjC,EAAGnjC,UAAU4pB,YAAY,yBACvCuZ,EAAG5tC,OAAOmuC,wBAAwBP,EAAG0C,kBAAkBjc,YAAY,kCACvEuZ,EAAGqE,SAAWrE,EAAGqE,SAErBrE,EAAGsE,iBAAmB,WACdtE,EAAGnjC,WAAWmjC,EAAGnjC,UAAU9B,SAAS,yBACpCilC,EAAG5tC,OAAOmuC,wBAAwBP,EAAG0C,kBAAkB3nC,SAAS,kCACpEilC,EAAGqE,SAAU,GAEjBrE,EAAGuE,kBAAoB,WACfvE,EAAGnjC,WAAWmjC,EAAGnjC,UAAUjB,YAAY,yBACvCokC,EAAG5tC,OAAOmuC,wBAAwBP,EAAG0C,kBAAkB9mC,YAAY,kCACvEokC,EAAGqE,SAAU,EAIjB,IAEIG,GAAkBC,EAAmBC,EAAkDC,EAAyBC,EAFhHC,GAAwB,EACxBC,GAAoB,EACsCC,GAAsB,CA0DpF,OAzDA/E,GAAGgE,qBAAuB,SAAUxO,EAAQh2B,GACnCslC,IACLD,GAAwB,IAE5B7E,EAAGkE,oBAAsB,SAAU1O,EAAQh2B,GACvC,GAAKqlC,EAAL,CACKE,IACDA,GAAsB,EACtBN,EAA+B,cAAXjlC,EAAEG,KAAuBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,MAC1E4kC,EAA0B3E,EAAGxK,OAAOmK,OAAOzrC,GAAG8rC,EAAGxK,OAAOE,aACxDkP,GAAwB,GAAK5kC,OAAQC,WAEzCT,EAAE2B,iBACFujC,EAAiC,cAAXllC,EAAEG,KAAuBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,MAC5EykC,EAAmBC,EAAoBC,CACvC,IAAI5iC,GAAU,EAAI3B,KAAKC,IAAIokC,GAAoB,GAC/CG,GAAwB/iC,UAAU,kBAAqB4iC,EAAoB,SAC3ExE,EAAGxK,OAAO34B,UAAUpB,IAAI,UAAWqG,GAAS+I,WAAW,KAE3Dm1B,EAAGoE,mBAAqB,SAAU5O,EAAQh2B,GAEtC,GADAqlC,GAAwB,GACnBE,EAED,YADAA,GAAsB,EAG1BA,IAAsB,EACtBD,GAAoB,CACpB,IAAI98B,GAAO7H,KAAKC,IAAIokC,GAChBliC,GAAW,GAAKtC,OAAQC,UAAY2kC,CACxC,OAAKtiC,GAAW,KAAO0F,EAAO,IAAQ1F,GAAY,KAAO0F,EAAO,QAC5DpT,YAAW,WACgB,eAAnBorC,EAAG5tC,OAAOuN,MACVqgC,EAAGrmB,QAEgB,UAAnBqmB,EAAG5tC,OAAOuN,MACVhN,EAAIsO,WAAW++B,EAAGniB,OAElBmiB,EAAG5tC,OAAO4yC,gBACVhF,EAAG5tC,OAAO4yC,eAAehF,GAE7B8E,GAAoB,GACrB,IAGM,IAAT98B,EACA28B,EAAwB5pC,SAAS,iBAAiBqI,cAAc,WAC5D0hC,GAAoB,EACpBH,EAAwB/oC,YAAY,mBAIxCkpC,GAAoB,EAExB9E,EAAGxK,OAAO34B,UAAUpB,IAAI,UAAW,IAAIoP,WAAW,QAClD85B,GAAwB/iC,UAAU,MAG/Bo+B,EAGXrtC,GAAIsyC,aAAe,SAAU7yC,GACzB,MAAO,IAAI2tC,GAAa3tC,GAO5B,IAAI8yC,GAAe,SAAU9yC,GAiRzB,QAAS+yC,GAAkB3lC,GACvB,GAAI4L,GAAQg6B,EAAE37B,MAAM+B,KAChB45B,GAAEhzC,OAAOizC,QACTD,EAAEhzC,OAAOizC,OAAOD,EAAGh6B,EAAO,SAAUkB,GAChC,GAAIg5B,GAAY,GACZC,EAAQH,EAAEhzC,OAAOmzC,MAAQplC,KAAKqd,IAAI4nB,EAAEhzC,OAAOmzC,MAAOj5B,EAAMrY,QAAUqY,EAAMrY,MAC5EmxC,GAAE94B,MAAQA,CACV,IAAIjQ,GAAMmpC,CAMV,KALIJ,EAAEhzC,OAAOqzC,mBACTr6B,EAAQA,EAAM5Y,QAAQ,sCAAuC,QAC7DgzC,EAAS,GAAIE,QAAO,IAAIt6B,EAAM,IAAK,MAGlC/O,EAAI,EAAGA,EAAIkpC,EAAOlpC,IAAK,CACxB,GAAIspC,GAAgC,gBAAbr5B,GAAMjQ,GAAkBiQ,EAAMjQ,GAAG+oC,EAAEhzC,OAAOwzC,eAAiBt5B,EAAMjQ,GACpFsQ,EAA+B,gBAAbL,GAAMjQ,GAAkBiQ,EAAMjQ,GAAKiQ,EAAMjQ,GAAG+oC,EAAEhzC,OAAOyzC,aAC3EP,IAAaF,EAAEU,sBACXn6B,MAAOg6B,EACP/4B,KAAMw4B,EAAEhzC,OAAOqzC,iBAAmB94B,EAASna,QAAQgzC,EAAQ,aAAe74B,IAGhE,KAAd24B,GAA8B,KAAVl6B,GAAgBg6B,EAAEhzC,OAAO2zC,0BAC7CT,GAAaF,EAAEY,6BACXp5B,KAAMw4B,EAAEhzC,OAAO2zC,2BAGvBX,EAAEa,SAAStyC,KAAK,MAAMkuB,KAAKyjB,KAKvC,QAASY,GAAqB1mC,GAI1B,IAAK,GADD2mC,GADA9K,EAAUnoC,EAAEC,MAEPkJ,EAAI,EAAGA,EAAI+oC,EAAE94B,MAAMrY,OAAQoI,IAAK,CACrC,GAAIspC,GAAkC,gBAAfP,GAAE94B,MAAMjQ,GAAkB+oC,EAAE94B,MAAMjQ,GAAG+oC,EAAEhzC,OAAOwzC,eAAiBR,EAAE94B,MAAMjQ,GAC1FsP,EAAQ0vB,EAAQ3/B,KAAK,aACrBiqC,KAAch6B,GAAqB,EAAZg6B,IAA0B,EAARh6B,IACzCw6B,EAAcf,EAAE94B,MAAMjQ,IAG1B+oC,EAAEhzC,OAAOg0C,2BACThB,EAAE37B,MAAM+B,IAA2B,gBAAhB26B,GAA2BA,EAAYf,EAAEhzC,OAAOyzC,cAAgBM,GACnFf,EAAE37B,MAAMzV,QAAQ,iBAGhBoxC,EAAEhzC,OAAOi0C,UACTjB,EAAEhzC,OAAOi0C,SAASjB,EAAGe,GAGzBf,EAAEzrB,QAIN,QAASuP,GAAkB1pB,GACvB,GAAIiB,GAASvN,EAAEsM,EAAEiB,OACXA,GAAOE,GAAGykC,EAAE37B,MAAM,KAAO27B,EAAEa,UAAYxlC,EAAOC,QAAQ0kC,EAAEa,SAAS,IAAIhyC,OAAS,GAChFmxC,EAAEzrB,QA1UV,GAAIyrB,GAAIjyC,KAGJmJ,GAKAmuB,eAAgB,QAChBF,SAAU,OACV+b,yBAA0B,YAC1BC,oBAAqB,SACrB3c,OAAQ,OACRC,cAAc,EACd2c,aAAc,gBACdC,qBAAqB,EAUrBb,cAAe,KACfC,aAAc,OAGdJ,kBAAkB,EAKlBW,0BAA0B,EAC1BM,aAAa,EAGbC,gBAAgB,EAChBC,WAAW,EAyBfx0C,GAASA,KACT,KAAK,GAAIuK,KAAOL,GACe,mBAAhBlK,GAAOuK,KACdvK,EAAOuK,GAAOL,EAASK,GAG/ByoC,GAAEhzC,OAASA,EAGPgzC,EAAEhzC,OAAOy0C,SACTzB,EAAEyB,OAAS3zC,EAAEkyC,EAAEhzC,OAAOy0C,QAE1B,IAAIjqC,GAAOwoC,EAAEhzC,OAAOwK,IACpB,KAAKwoC,EAAEhzC,OAAOwK,MAAQwoC,EAAEyB,QAAUzB,EAAEyB,OAAO5yC,OAAQ,CAG/C,GADA2I,EAAOwoC,EAAEyB,OAAOnmC,QAAQ,IAAM/N,EAAIP,OAAOoH,WACrB,IAAhBoD,EAAK3I,OAAc,MACvB2I,GAAOA,EAAK,GAAGO,OAInB,IAAIioC,EAAEhzC,OAAOqX,QACT27B,EAAE37B,MAAQvW,EAAEkyC,EAAEhzC,OAAOqX,OACE,IAAnB27B,EAAE37B,MAAMxV,QAAoC,aAApBmxC,EAAEhzC,OAAOw3B,QAFzC,CAMAwb,EAAEz5B,MAAQy5B,EAAEhzC,OAAOuZ,UAGnBy5B,EAAEvZ,IAAK,GAAK7rB,OAAQC,UACpBmlC,EAAEpb,UAAYob,EAAEhzC,OAAO05B,SAAW,WAAa,QAC/CsZ,EAAEtb,UAAYsb,EAAEpb,UAAY,IAAMob,EAAEvZ,EAGpC,IAAI1xB,GAAWxH,EAAIP,OAAO+H,SAGtB0vB,EAAeub,EAAEhzC,OAAOy3B,YAE5B,IAAwB,aAApBub,EAAEhzC,OAAOw3B,OAAuB,CAEhCwb,EAAE0B,aAAelsC,EAAGwa,QAAQgwB,EAAEhzC,OAAO00C,cACjC,mfAwBJ,IAAIxc,GAAY8a,EAAEhzC,OAAOk4B,WAAa,IACjCA,GAAa8a,EAAEyB,QAAUzB,EAAEyB,OAAO5yC,SACnCq2B,EAAY8a,EAAEyB,OAAOlzC,KAAK,eAAeiZ,OAE7C,IAMI2f,GAC+BC,EAP/B55B,EAAW,gBAAkBwyC,EAAEtb,UAE/Bc,EAAcwa,EAAEhzC,OAAOw4B,YACvBF,EAAY0a,EAAEhzC,OAAOs4B,UAIrBgC,EAAW,GAAIC,EAAY,EAE/ByY,GAAE1D,eAAiB9mC,EAAGwa,QAAQgwB,EAAEhzC,OAAOsvC,gBACnC,6qBAyBJnV,EAAa6Y,EAAE1D,gBACXpX,UAAWA,EACXC,SAAU6a,EAAEhzC,OAAOm4B,SACnBE,eAAgB2a,EAAEhzC,OAAOq4B,eACzBb,OAAQwb,EAAEhzC,OAAOw3B,OACjBgB,YAAaA,EACbsC,QAA6B,UAApBkY,EAAEhzC,OAAOw3B,OAClBuD,OAA4B,SAApBiY,EAAEhzC,OAAOw3B,OACjBzvB,SAAUA,EACVysC,UAAWxB,EAAEhzC,OAAOw0C,UACpBD,eAAgBvB,EAAEhzC,OAAOu0C,iBAIL,SAApBvB,EAAEhzC,OAAOw3B,QACT4C,EAAe,SACX4Y,EAAEyB,QACEzB,EAAEyB,OAAOnmC,QAAQ,mBAAmBzM,OAAS,IAAGu4B,EAAe,WAC/D4Y,EAAEyB,OAAOnmC,QAAQ,iBAAiBzM,OAAS,IAAGu4B,EAAe,SACjEG,EAAYyY,EAAEyB,OAAOnmC,QAAQ,SAAS7M,SAAS,cAAgB,aAAe,GAC9E64B,EAAY0Y,EAAEyB,OAAOnmC,QAAQ,SAAS7M,SAAS,aAAgB,YAAe,UAAY24B,GAErF5vB,EAAKC,aACN3J,EAAE0J,EAAKC,WAAWhJ,SAAS,mBAAqBX,EAAE0J,EAAKC,WAAWlJ,KAAK,mBAAmBM,OAAS,KAAGu4B,EAAe,YACrHt5B,EAAE0J,EAAKC,WAAWhJ,SAAS,iBAAmBX,EAAE0J,EAAKC,WAAWlJ,KAAK,iBAAiBM,OAAS,KAAGu4B,EAAe,SACrHG,EAAYz5B,EAAE0J,EAAKsB,WAAWrB,WAAWhJ,SAAS,cAAgB,aAAe,GACjF64B,EAAYx5B,EAAE0J,EAAKsB,WAAWrB,WAAWhJ,SAAS,aAAgB,YAAe,UAAY24B,IAIjGA,EAAe,OAEnB,IAAIkB,GACA,0FAE+C0X,EAAEhzC,OAAOk0C,yBAA2B,oDAG9EnsC,EAAW,GAAK,wCAA0CirC,EAAEhzC,OAAOm0C,oBAAsB,QAC9F,+CAEA5Y,GACkB,YAAjBnB,EAA6BD,EAAa,IAC3C,sCACyB35B,EAAW,mCAAqC85B,EAAW,IAAMC,EAAY,MAC5E,UAAjBH,EAA2BD,EAAa,IACzCmB,EACA,8BACsB,WAAjBlB,EAA4BD,EAAa,IAC1C,+DAAiE6Y,EAAEvZ,GAAK,KAAOnB,EAAY,SAAWA,EAAY,IAAM,gJAIlC0a,EAAEhzC,OAAOo0C,aAAe,gHAU9HpB,GAAEU,qBAAuBlrC,EAAGwa,QAAQgwB,EAAEhzC,OAAO0zC,sBACzC;AAQJV,EAAEY,4BAA8BprC,EAAGwa,QAAQgwB,EAAEhzC,OAAO4zC,6BAChD,6JAQJZ,EAAE2B,iBAAmBnsC,EAAGwa,QAAQgwB,EAAEhzC,OAAO20C,kBACrC,wTA8XR,OAhXA3B,GAAEvnB,MAAQhoB,OAGVuvC,EAAEa,SAAWpwC,OAiEbuvC,EAAE4B,iBAAmB,WACjB,GAAInZ,GAAYuX,EAAE37B,MAAM/I,QAAQ,eAC5BuN,EAAcm3B,EAAE37B,MAAM/I,QAAQ,iBAE9BmoB,GADa90B,SAASka,EAAYxS,IAAI,eAAgB,IACtC1H,SAASka,EAAYxS,IAAI,eAAgB,KAEzDwrC,EAAsBpZ,EAAU55B,OAAS,EAAI45B,EAAUhtB,SAASC,KAAO+sB,EAAUhnB,SAAShG,SAASC,KAAO,EAC1GomC,EAAkB9B,EAAE37B,MAAM5I,SAASC,MAAQ+sB,EAAU55B,OAAS,EAAI45B,EAAUhtB,SAASC,KAAO,GAC5FqmC,EAAiB/B,EAAE37B,MAAM5I,SAASub,KAAOnO,EAAYpN,SAASub,IAAMnO,EAAY,GAAG7a,WACnF2a,EAAYE,EAAY,GAAG5a,aAAew1B,GAAiBse,EAAiBl5B,EAAY,GAAG7a,WAAagyC,EAAE37B,MAAM,GAAGlW,YAEvH6xC,GAAEa,SAASxqC,KACPqF,MAAO+sB,EAAU55B,OAAS,EAAIgzC,EAAsBC,GAAmB,KACvE9qB,IAAK+qB,EAAiBl5B,EAAY,GAAG7a,UAAYgyC,EAAE37B,MAAM,GAAGlW,aAAe,KAC3EiN,OAAQqtB,EAAU55B,OAAS,EAAI45B,EAAU,GAAGhlB,YAAcu8B,EAAE37B,MAAM,GAAGZ,aAAe,OAExFu8B,EAAEa,SAASx/B,SAAS,gCAAgChL,KAChDsS,UAAWA,EAAY,KACvBjF,YAAa+kB,EAAU55B,OAAS,IAAMmxC,EAAEhzC,OAAOs0C,YAAcQ,GAAmB/sC,EAAW,GAAK,IAAM,KAAO,MAKrHirC,EAAEnb,SAAW,SAAUzqB,GAUnB,QAAS4nC,GAASh8B,GACd,GAAKg6B,EAAEhzC,OAAOizC,OAAd,CACA,GAAIhpC,GAAGwU,CAEPu0B,GAAEhzC,OAAOizC,OAAOD,EAAGh6B,EAAO,SAASkB,GAC/B,GAAIg5B,GAAY,GACZC,EAAQH,EAAEhzC,OAAOmzC,MAAQplC,KAAKqd,IAAI4nB,EAAEhzC,OAAOmzC,MAAOj5B,EAAMrY,QAAUqY,EAAMrY,MAE5E,KADAmxC,EAAE94B,MAAQA,EACLjQ,EAAI,EAAGA,EAAIkpC,EAAOlpC,IAAK,CACxB,GAAI6rB,IAAW,EACXyd,EAAgC,gBAAbr5B,GAAMjQ,GAAkBiQ,EAAMjQ,GAAG+oC,EAAEhzC,OAAOwzC,eAAiBt5B,EAAMjQ,EACxF,KAAKwU,EAAI,EAAGA,EAAIu0B,EAAEz5B,MAAM1X,OAAQ4c,IAAK,CACjC,GAAIw2B,GAA+B,gBAAfjC,GAAEz5B,MAAMkF,GAAkBu0B,EAAEz5B,MAAMkF,GAAGu0B,EAAEhzC,OAAOwzC,eAAiBR,EAAEz5B,MAAMkF,EACvFw2B,KAAW1B,GAAsB,EAAT0B,IAA2B,EAAZ1B,IAAezd,GAAW,GAEzEod,GAAaF,EAAE0B,cACXn7B,MAAOg6B,EACP/4B,KAA0B,gBAAbN,GAAMjQ,GAAkBiQ,EAAMjQ,GAAKiQ,EAAMjQ,GAAG+oC,EAAEhzC,OAAOyzC,cAClE7b,UAAWob,EAAEpb,UACb6B,GAAIuZ,EAAEvZ,GACN/B,UAAWsb,EAAEtb,UACb5B,SAAUA,EACVkE,SAA0B,aAAhBgZ,EAAEpb,UACZ7vB,SAAUA,IAGlB0C,EAAUlJ,KAAK,0BAA0BkuB,KAAKyjB,GACzB,IAAjBh5B,EAAMrY,OACe,IAAjBmX,EAAMnX,QACN4I,EAAUlJ,KAAK,2BAA2BmX,OAC1CjO,EAAUlJ,KAAK,6CAA6CyY,SAG5DvP,EAAUlJ,KAAK,wBAAwBmX,OACvCjO,EAAUlJ,KAAK,gDAAgDyY,SAInEvP,EAAUlJ,KAAK,uBAAuBmX,OACtCjO,EAAUlJ,KAAK,iDAAiDyY,WAwB5E,QAASk7B,KACL,GACIjrC,GADAkrC,EAAa,EAEjB,KAAKlrC,EAAI,EAAGA,EAAI+oC,EAAEz5B,MAAM1X,OAAQoI,IAE5BkrC,GAAcnC,EAAE0B,cACZn7B,MAA6B,gBAAfy5B,GAAEz5B,MAAMtP,GAAkB+oC,EAAEz5B,MAAMtP,GAAG+oC,EAAEhzC,OAAOwzC,eAAiBR,EAAEz5B,MAAMtP,GACrFuQ,KAA4B,gBAAfw4B,GAAEz5B,MAAMtP,GAAkB+oC,EAAEz5B,MAAMtP,GAAG+oC,EAAEhzC,OAAOyzC,cAAeT,EAAEz5B,MAAMtP,GAClF2tB,UAAWob,EAAEpb,UACb6B,GAAIuZ,EAAEvZ,GACN/B,UAAWsb,EAAEtb,UAAY,WACzBsC,SAA0B,aAAhBgZ,EAAEpb,UACZ7vB,SAAUA,EACV+tB,UAAU,GAGlBrrB,GAAUlJ,KAAK,2BAA2BkuB,KAAK0lB,GAxFnD,GAAIpgC,GAAO3H,EAAE0qB,OAAO/iB,IAGpB,IAFAi+B,EAAEj+B,KAAOjU,EAAEiU,EAAKtK,WAChBuoC,EAAEn+B,SAAWE,EACTA,EAAKlD,OAASrR,EAAlB,CAGA,GAAIiK,GAAY3J,EAAEiU,EAAKtK,WAgDnB2Q,EAAY7a,EAAI6a,UAAU3Q,EAAUlJ,KAAK,eACzCwW,cAAc,EACdq9B,SAAU,SAAUh6B,EAAW+H,GACD,IAAtBA,EAAKnK,MAAMnX,QAAgBuZ,EAAUhD,OACrCgD,EAAUvD,QAAQlP,SAAS,4BAG3ByS,EAAUvD,QAAQrO,YAAY,4BAGlCwrC,EAAS7xB,EAAKnK,SAKtBg6B,GAAE53B,UAAYA,EAuBd3Q,EAAUb,GAAG,SAAU,8CAA+C,WAClE,GAAIK,GAKAstB,EAAMgc,EAAW0B,EAJjB59B,EAAQtW,KACRwY,EAAQlC,EAAMkC,MAEd87B,GADOv0C,EAAEuW,GAAO/I,QAAQ,MAAM/M,KAAK,eAAeiZ,OACvC1Z,EAAEuW,GAAO/I,QAAQ,wBAAwBzM,OAAS,EAEjE,IAAIwzC,GACA,GAAoB,aAAhBrC,EAAEpb,YAA6BvgB,EAAM6f,QAAS,CAC9C,IAAKjtB,EAAI,EAAGA,EAAI+oC,EAAEz5B,MAAM1X,OAAQoI,IAC5BgrC,EAA+B,gBAAfjC,GAAEz5B,MAAMtP,GAAkB+oC,EAAEz5B,MAAMtP,GAAK+oC,EAAEz5B,MAAMtP,GAAG+oC,EAAEhzC,OAAOwzC,eACvEyB,IAAW17B,GAAkB,EAAT07B,IAAuB,EAAR17B,GACnCy5B,EAAEz5B,MAAM9F,OAAOxJ,EAAG,EAG1BirC,KACIlC,EAAEhzC,OAAOi0C,UAAUjB,EAAEhzC,OAAOi0C,SAASjB,EAAGA,EAAEz5B,YATtD,CAeA,IAAKtP,EAAI,EAAGA,EAAI+oC,EAAE94B,MAAMrY,OAAQoI,IAC5BspC,EAAkC,gBAAfP,GAAE94B,MAAMjQ,GAAkB+oC,EAAE94B,MAAMjQ,GAAK+oC,EAAE94B,MAAMjQ,GAAG+oC,EAAEhzC,OAAOwzC,eAC1ED,IAAch6B,GAAqB,EAAZg6B,IAA0B,EAARh6B,IAAWge,EAAOyb,EAAE94B,MAAMjQ,GAG3E,IAAoB,UAAhB+oC,EAAEpb,UACFob,EAAEz5B,OAASge,OAGX,IAAIlgB,EAAM6f,QACN8b,EAAEz5B,MAAMnO,KAAKmsB,OAGb,KAAKttB,EAAI,EAAGA,EAAI+oC,EAAEz5B,MAAM1X,OAAQoI,IAC5BgrC,EAA+B,gBAAfjC,GAAEz5B,MAAMtP,GAAkB+oC,EAAEz5B,MAAMtP,GAAK+oC,EAAEz5B,MAAMtP,GAAG+oC,EAAEhzC,OAAOwzC,eACvEyB,IAAW17B,GAAkB,EAAT07B,IAAuB,EAAR17B,GACnCy5B,EAAEz5B,MAAM9F,OAAOxJ,EAAG,EAOlCirC,MAGqB,UAAhBlC,EAAEpb,WAAyBvgB,EAAM6f,SAA2B,aAAhB8b,EAAEpb,YAA6Bob,EAAEhzC,OAAOi0C,UACrFjB,EAAEhzC,OAAOi0C,SAASjB,EAAGA,EAAEz5B,OAEvBke,GAAgC,UAAhBub,EAAEpb,YACM,UAApBob,EAAEhzC,OAAOw3B,OAAoBj3B,EAAIsO,WAAWmkC,EAAEvnB,OAC7CjhB,EAAKpH,OAAO6N,WAKzBikC,IAGIlC,EAAEhzC,OAAOq0C,qBAAqBW,EAAS,IAGvChC,EAAEhzC,OAAO2vC,QAAQqD,EAAEhzC,OAAO2vC,OAAOqD,KAIzCA,EAAE5qB,cAAgB,WACU,aAApB4qB,EAAEhzC,OAAOw3B,OACLwb,EAAEa,UAAUb,EAAEa,SAAStyC,KAAK,2BAA2BoH,SAAS,kCAEnE7H,EAAE,2BAA2B6H,SAAS,mCAG/CqqC,EAAE3qB,cAAgB,WACU,aAApB2qB,EAAEhzC,OAAOw3B,OACLwb,EAAEa,UAAUb,EAAEa,SAAStyC,KAAK,2BAA2BiI,YAAY,kCAEtE1I,EAAE,2BAA2B0I,YAAY,mCAIlDwpC,EAAE5J,KAAO,WACL,IAAI4J,EAAEnlB,OAEN,GADAmlB,EAAEnlB,QAAS,EACa,aAApBmlB,EAAEhzC,OAAOw3B,OAAuB,CAC3Bwb,EAAEa,WACHb,EAAEa,SAAW/yC,EAAEkyC,EAAE2B,kBACbH,UAAWxB,EAAEhzC,OAAOw0C,UACpBD,eAAgBvB,EAAEhzC,OAAOu0C,eACzBxsC,SAAUA,EACVG,sBAAuB3H,EAAIP,OAAOkI,yBAEtC8qC,EAAEa,SAASjqC,GAAG,QAAS,QAASkqC,GAGpC,IAAIrY,GAAYuX,EAAE37B,MAAM/I,QAAQ,cAC5BmtB,GAAU55B,QAAUmxC,EAAE37B,MAAM/I,QAAQ,iBAAiBzM,OAAS,GAAKmxC,EAAEhzC,OAAOs0C,aAC5EtB,EAAE37B,MAAM/I,QAAQ,iBAAiB3F,SAAS,gCAE9CqqC,EAAE4B,mBACF5B,EAAE37B,MAAM/I,QAAQ,iBAAiBM,OAAOokC,EAAEa,UAC1Cb,EAAEa,SAASlrC,SAAS,4BACpBqqC,EAAE37B,MAAMzV,QAAQ,SAChBd,EAAEhB,QAAQ8J,GAAG,SAAUopC,EAAE4B,kBACrB5B,EAAEhzC,OAAO2vC,QAAQqD,EAAEhzC,OAAO2vC,OAAOqD,OAGrClyC,GAAEuB,UAAUmZ,KAAK,WAAY,qBAAsBw3B,EAAEnb,UAC7B,UAApBmb,EAAEhzC,OAAOw3B,QACTwb,EAAEvnB,MAAQlrB,EAAIkrB,MACV,2DAA6DunB,EAAEtb,UAAY,oCAEnE6D,EACJ,gBAGRyX,EAAEvnB,MAAQ3qB,EAAEkyC,EAAEvnB,OACdunB,EAAEvnB,MAAMjQ,KAAK,SAAU,WACnBw3B,EAAEvnB,MAAQhoB,OACVuvC,EAAEnlB,QAAS,EACPmlB,EAAEhzC,OAAO6vC,SAASmD,EAAEhzC,OAAO6vC,QAAQmD,OAI3CxoC,EAAKpH,OAAO2O,MACRI,QAASopB,IAEbz6B,EAAEuB,UAAUmZ,KAAK,WAAY,qBAAsB,WAC/Cw3B,EAAEnlB,QAAS,EACPmlB,EAAEhzC,OAAO6vC,SAASmD,EAAEhzC,OAAO6vC,QAAQmD,OAKvDA,EAAEzrB,MAAQ,SAAUna,GAChB,GAAK4lC,EAAEnlB,OAAP,CACA,GAAwB,aAApBmlB,EAAEhzC,OAAOw3B,OAAuB,CAChC,GAAIpqB,GAAgB,SAAXA,EAAEG,MAAmBylC,EAAEa,SAAStyC,KAAK,sBAAsBM,OAAS,EAAG,MAChFmxC,GAAEa,SAASrqC,YAAY,4BAA4B6H,SACnD2hC,EAAE37B,MAAM/I,QAAQ,iCAAiC9E,YAAY,gCAC7DwpC,EAAEnlB,QAAS,EACX/sB,EAAEhB,QAAQmd,IAAI,SAAU+1B,EAAE4B,kBACtB5B,EAAEhzC,OAAO6vC,SAASmD,EAAEhzC,OAAO6vC,QAAQmD,GAEnB,UAApBA,EAAEhzC,OAAOw3B,QACLwb,EAAEvnB,OAAOlrB,EAAIsO,WAAWmkC,EAAEvnB,SAKtCunB,EAAEsC,WAAa,SAAU/jC,GACrB,GAAI2J,GAAS3J,EAAS,MAAQ,IACN,cAApByhC,EAAEhzC,OAAOw3B,QAAyBwb,EAAEyB,QACpCzB,EAAEyB,OAAOv5B,GAAQ,QAAS83B,EAAE5J,MAER,aAApB4J,EAAEhzC,OAAOw3B,QAAyBwb,EAAE37B,QACpC27B,EAAE37B,MAAM6D,GAAQ,QAAS83B,EAAE5J,MAC3B4J,EAAE37B,MAAM6D,GAAQ,QAAS63B,GACrBxyC,EAAI4B,OAAOwM,QACX7N,EAAE,QAAQoa,GAAQ,QAAS4b,GAG3Bkc,EAAE37B,MAAM6D,GAAQ,OAAQ83B,EAAEzrB,QAG9BhW,GAAUyhC,EAAEa,WACZb,EAAEa,SAAW,OAKrBb,EAAE3qC,KAAO,WACL2qC,EAAEsC,cAENtC,EAAEz/B,QAAU,WACRy/B,EAAEsC,YAAW,GACbtC,EAAI,MAIRA,EAAE3qC,OAEK2qC,GAEXzyC,GAAIg1C,aAAe,SAAUv1C,GACzB,MAAO,IAAI8yC,GAAa9yC,GAM5B,IAAIw1C,GAAS,SAAUx1C,GA2CnB,QAAS6rB,KACL,GAAIlD,IAAY,CAChB,OAAKmE,GAAE9sB,OAAOy1C,kBAAqB3oB,EAAE9sB,OAAO01C,gBACvC5oB,EAAE6oB,QAAU7oB,EAAE9sB,OAAOqX,QAClByV,EAAE9sB,OAAO01C,cAAe/sB,GAAY,EAEhCpoB,EAAI4B,OAAOsH,IACXkf,IAAYpoB,EAAI4B,OAAOC,KAGnBtB,EAAEhB,QAAQsO,SAAW,MAAKua,GAAY,IAI/CA,GAZ2DA,EActE,QAASitB,KACL,SAAI9oB,EAAEe,QAAUf,EAAEriB,WAAaqiB,EAAEriB,UAAU5I,OAAS,GAAKirB,EAAEriB,UAAU6D,QAAQ,YAAYzM,OAAS,GAgVtG,QAASg0C,KACL,GAAK/oB,EAAEe,OACP,IAAK,GAAI5jB,GAAI,EAAGA,EAAI6iB,EAAE4O,KAAK75B,OAAQoI,IAC1B6iB,EAAE4O,KAAKzxB,GAAG6rC,UACXhpB,EAAE4O,KAAKzxB,GAAG8rC,WACVjpB,EAAE4O,KAAKzxB,GAAG+rC,SAASlpB,EAAE4O,KAAKzxB,GAAGsP,MAAO,GAAG,IA8CnD,QAAS08B,GAAY7oC,GAEjB,GADAA,EAAE2B,kBACE+d,EAAEe,SACNf,EAAEsc,OACEtc,EAAE9sB,OAAOs2B,gBAAkBzK,KAAa,CACxC,GAAIhQ,GAAciR,EAAEzV,MAAM/I,QAAQ,gBAClC,IAA2B,IAAvBuN,EAAYha,OAAc,MAE9B,IAII00B,GAJAC,EAAa70B,SAASka,EAAYxS,IAAI,eAAgB,IACtDotB,EAAgB90B,SAASka,EAAYxS,IAAI,kBAAmB,IAC5DqtB,EAAa7a,EAAY,GAAG1a,aAAeq1B,EAAa1J,EAAEriB,UAAUvJ,SACpE01B,EAAmB/a,EAAY,GAAG5a,aAAeu1B,EAAa1J,EAAEriB,UAAUvJ,SAE1E21B,EAAW/J,EAAEzV,MAAM5I,SAASub,IAAMwM,EAAa1J,EAAEzV,MAAM,GAAGlW,YAC9D,IAAI01B,EAAWH,EAAY,CACvB,GAAI11B,GAAY6a,EAAY7a,YAAc61B,EAAWH,CACjD11B,GAAY01B,EAAaE,IACzBL,EAAmBv1B,EAAY01B,EAAaE,EAAmBH,EAC3DC,IAAeE,IACfL,EAAmBzJ,EAAEriB,UAAUvJ,UAEnC2a,EAAYxS,KAAKmT,iBAAkB,EAAqB,QAE5DX,EAAY7a,UAAUA,EAAW,OAI7C,QAAS81B,GAAiB1pB,GAClBwoC,MACA9oB,EAAEzV,OAASyV,EAAEzV,MAAMxV,OAAS,EACxBuL,EAAEiB,SAAWye,EAAEzV,MAAM,IAAsD,IAAhDvW,EAAEsM,EAAEiB,QAAQC,QAAQ,iBAAiBzM,QAAcirB,EAAEvF,QAGhC,IAAhDzmB,EAAEsM,EAAEiB,QAAQC,QAAQ,iBAAiBzM,QAAcirB,EAAEvF,SAuBjE,QAAS2uB,KACLppB,EAAEe,QAAS,EACPf,EAAEzV,OAASyV,EAAEzV,MAAMxV,OAAS,IAC5BirB,EAAEzV,MAAM/I,QAAQ,iBAAiBjF,KAAKmT,iBAAkB,KACpDjc,EAAIP,OAAO+H,UAAU+kB,EAAEzV,MAAMzV,QAAQ,SAEzCkrB,EAAE9sB,OAAO6vC,SAAS/iB,EAAE9sB,OAAO6vC,QAAQ/iB,GAGvCA,EAAEriB,UAAUlJ,KAAK,qBAAqB6O,KAAK,WACvC0c,EAAEqpB,iBAAiBp1C,QAhgB3B,GAAI+rB,GAAI/rB,KACJmJ,GACAksC,wBAAwB,EACxBC,yBAAyB,EACzBC,cAAc,EACdC,cAAe,EACfC,UAAU,EAEVC,qBAAqB,EACrBngB,eAAe,EACfogB,eAAe,EACfjB,kBAAkB,EAClBC,eAAe,EACfx+B,SAAS,EACTy/B,iBAAkB,OAClBpH,gBACI,uKASRvvC,GAASA,KACT,KAAK,GAAIuK,KAAOL,GACe,mBAAhBlK,GAAOuK,KACdvK,EAAOuK,GAAOL,EAASK,GAG/BuiB,GAAE9sB,OAASA,EACX8sB,EAAE4O,QACF5O,EAAE8pB,aAAc,EAGhB9pB,EAAE6oB,SAAS7oB,EAAE9sB,OAAOyK,SAGpB,IAAIosC,GAAYt2C,EAAI4B,OAAOsH,KAAQqtC,UAAUC,UAAU18B,cAAc3Y,QAAQ,WAAa,GAAKo1C,UAAUC,UAAU18B,cAAc3Y,QAAQ,UAAY,IAAOnB,EAAI4B,OAAOwM,OA4jBvK,OAniBAme,GAAEkpB,SAAW,SAAUgB,EAAWv+B,GAC9B,GAAIw+B,GAAa,CACjB,IAAsB,IAAlBnqB,EAAE4O,KAAK75B,OAGP,MAFAirB,GAAEvT,MAAQy9B,MACVlqB,GAAEoqB,YAAYF,EAGlB,KAAK,GAAI/sC,GAAI,EAAGA,EAAI6iB,EAAE4O,KAAK75B,OAAQoI,IAC3B6iB,EAAE4O,KAAKzxB,KAAO6iB,EAAE4O,KAAKzxB,GAAG6rC,UACxBhpB,EAAE4O,KAAKzxB,GAAG+rC,SAASgB,EAAUC,GAAax+B,GAC1Cw+B,MAIZnqB,EAAEoqB,YAAc,SAAUC,GACtB,GAC0BltC,GADtBmtC,EAAWD,MACXE,IACJ,IAAsB,IAAlBvqB,EAAE4O,KAAK75B,OACP,IAAKoI,EAAI,EAAGA,EAAI6iB,EAAE9sB,OAAO07B,KAAK75B,OAAQoI,IACKxG,SAAnCqpB,EAAE9sB,OAAO07B,KAAKzxB,GAAGqtC,cACjBD,EAAgBjsC,KAAK0hB,EAAE9sB,OAAO07B,KAAKzxB,GAAGqtC,cAAcF,EAASntC,KAG7DotC,EAAgBjsC,KAAKgsC,EAASntC,QAKtC,KAAKA,EAAI,EAAGA,EAAI6iB,EAAE4O,KAAK75B,OAAQoI,IACtB6iB,EAAE4O,KAAKzxB,GAAG6rC,UACXsB,EAAShsC,KAAK0hB,EAAE4O,KAAKzxB,GAAGsP,OACxB89B,EAAgBjsC,KAAK0hB,EAAE4O,KAAKzxB,GAAGstC,cAKvCH,GAAS11C,QAAQ+B,SAAc,IAGnCqpB,EAAEvT,MAAQ69B,EACVtqB,EAAEyqB,aAAeF,EACbvqB,EAAE9sB,OAAOi0C,UACTnnB,EAAE9sB,OAAOi0C,SAASnnB,EAAGA,EAAEvT,MAAOuT,EAAEyqB,cAEhCzqB,EAAEzV,OAASyV,EAAEzV,MAAMxV,OAAS,IAC5Bf,EAAEgsB,EAAEzV,OAAO+B,IAAI0T,EAAE9sB,OAAOw3C,YAAc1qB,EAAE9sB,OAAOw3C,YAAY1qB,EAAGA,EAAEvT,MAAOuT,EAAEyqB,cAAgBzqB,EAAEvT,MAAMkB,KAAK,MACtG3Z,EAAEgsB,EAAEzV,OAAOzV,QAAQ,aAK3BkrB,EAAE2qB,cAAgB,SAAUC,EAAYC,GA2IpC,QAASC,KACLC,EAAmB/2C,EAAEg3C,sBAAsB,WACvCC,EAAIJ,YAAYl0C,OAAWA,OAAW,GACtCm0C,MASR,QAASzqC,GAAkBC,GACnBP,GAAWD,IACfQ,EAAE2B,iBACFnC,GAAY,EACZ6nB,EAAcujB,EAA2B,eAAX5qC,EAAEG,KAAwBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,MACrFtB,GAAiB,GAAKuB,OAAQC,UAE9BoqC,GAAiB,EACjBzX,EAAiB0X,EAAmBp3C,EAAEq3C,aAAaJ,EAAIK,QAAQ,GAAI,MAEvE,QAAStqC,GAAiBV,GACtB,GAAKR,EAAL,CACAQ,EAAE2B,iBACFkpC,GAAiB,EACjBD,EAA2B,cAAX5qC,EAAEG,KAAuBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,MACjEd,IAED/L,EAAEu3C,qBAAqBR,GACvBhrC,GAAU,EACV2zB,EAAiB0X,EAAmBp3C,EAAEq3C,aAAaJ,EAAIK,QAAQ,GAAI,KACnEL,EAAIK,QAAQ3/B,WAAW,GAG3B,IAAI7C,GAAOoiC,EAAgBvjB,CAC3ByjB,GAAmB1X,EAAiB5qB,EACpC0iC,EAAW70C,OAGPy0C,EAAmBK,IACnBL,EAAmBK,EAAexqC,KAAKolB,IAAIolB,EAAeL,EAAkB,IAC5EI,EAAW,OAEXJ,EAAmBM,IACnBN,EAAmBM,EAAezqC,KAAKolB,IAAI+kB,EAAmBM,EAAc,IAC5EF,EAAW,OAGfP,EAAIK,QAAQ5oC,UAAU,iBAAmB0oC,EAAmB,SAG5DH,EAAIJ,YAAYl0C,OAAWy0C,EAAkB,EAAGprB,EAAE9sB,OAAOq2C,yBAGzDoC,EAAoBP,EAAmBQ,GAAiBR,EACxDS,GAAe,GAAK/qC,OAAQC,UAC5B6qC,EAAgBR,GAEpB,QAASloC,GAAgB5C,GACrB,IAAKR,IAAcC,EAEf,YADAD,EAAYC,GAAU,EAG1BD,GAAYC,GAAU,EACtBkrC,EAAIK,QAAQ3/B,WAAW,IACnB6/B,IACiB,QAAbA,EACAP,EAAIK,QAAQ5oC,UAAU,iBAAmB+oC,EAAe,SAEvDR,EAAIK,QAAQ5oC,UAAU,iBAAmBgpC,EAAe,UAEjEI,GAAe,GAAIhrC,OAAOC,SAC1B,IAAIgrC,GAAUvlB,CACVslB,GAAevsC,EAAiB,IAChCinB,EAAe4kB,GAGfW,EAAW9qC,KAAKC,IAAIyqC,GAAqBG,EAAeD,IACxDrlB,EAAe4kB,EAAmBO,EAAoB3rB,EAAE9sB,OAAOu2C,eAGnEjjB,EAAevlB,KAAKod,IAAIpd,KAAKqd,IAAIkI,EAAcklB,GAAeD,EAG9D,IAAIjV,IAAev1B,KAAK+qC,OAAOxlB,EAAeklB,GAAcrb,EAGvDrQ,GAAE9sB,OAAOw2C,WAAUljB,GAAgBgQ,EAAcnG,EAAaqb,GAGnET,EAAIK,QAAQ5oC,UAAU,iBAAoB7N,SAAS2xB,EAAa,IAAO,SAGvEykB,EAAIJ,YAAYrU,EAAahQ,EAAc,IAAI,GAG3CxG,EAAE9sB,OAAOo2C,yBACTwB,IACAG,EAAIK,QAAQpnC,cAAc,WACtBlQ,EAAEu3C,qBAAqBR,MAK/Br1C,WAAW,WACPy1C,GAAiB,GAClB,KAGP,QAASxP,GAAYr7B,GACjB,GAAK6qC,EAAL,CACAn3C,EAAEu3C,qBAAqBR,EAEvB,IAAIt+B,GAAQzY,EAAEC,MAAMuI,KAAK,oBACzByuC,GAAI/B,SAASz8B,IA7PjB,GAAIw/B,GAAej4C,EAAE42C,GACjBsB,EAAWD,EAAahlC,QACxBgkC,EAAMjrB,EAAE4O,KAAKsd,EACjB,KAAIjB,EAAIjC,QAAR,CACAiC,EAAIttC,UAAYsuC,EAChBhB,EAAIK,QAAUL,EAAIttC,UAAUlJ,KAAK,6BACjCw2C,EAAI79B,MAAQ69B,EAAIK,QAAQ72C,KAAK,eAE7B,IACI03C,GAAe9b,EAAY+b,EAAaX,EAAcC,CAC1DT,GAAIoB,cAAgB,SAAU/+B,EAAQk9B,GAClCS,EAAIqB,gBACJrB,EAAI39B,OAASA,EACb29B,EAAIT,cAAgBA,CACpB,IAAI+B,GAAevsB,EAAEwsB,WAAWvB,GAAK,EACrCA,GAAIK,QAAQ3oB,KAAK4pB,GACjBtB,EAAI79B,MAAQ69B,EAAIK,QAAQ72C,KAAK,gBAC7Bw2C,EAAIhC,WACJgC,EAAI/B,SAAS+B,EAAI39B,OAAO,GAAI,GAAG,GAC/B29B,EAAIzC,cAERyC,EAAIhC,SAAW,WACPjpB,EAAE9sB,OAAOs2C,eACTyB,EAAIttC,UAAUjB,YAAY,6BACrBuuC,EAAI3pC,OAAO2pC,EAAIttC,UAAUpB,KAAK+E,MAAM,KAE7C,IAAImrC,GAAUC,CACdD,GAAW,EACXC,EAAYzB,EAAIttC,UAAU,GAAGtJ,aAC7B83C,EAAgBlB,EAAIK,QAAQ,GAAGj3C,aAC/Bg8B,EAAa4a,EAAI79B,MAAM,GAAG/Y,aAC1B+3C,EAAc/b,EAAa4a,EAAI79B,MAAMrY,OACrC02C,EAAeiB,EAAY,EAAIN,EAAc/b,EAAa,EAC1Dqb,EAAegB,EAAY,EAAIrc,EAAa,EACxC4a,EAAI3pC,QACJmrC,EAAWxB,EAAI3pC,MACXzM,SAAS43C,EAAU,MAAQA,IAAUA,GAAsB,MAC/DxB,EAAIttC,UAAUpB,KAAK+E,MAAOmrC,KAE1BzsB,EAAE9sB,OAAOs2C,eACJyB,EAAI3pC,QACL2pC,EAAI79B,MAAM9J,KAAK,WACX,GAAImnB,GAAOz2B,EAAEC,KACbw2B,GAAKluB,KAAK+E,MAAM,SAChBmrC,EAAWxrC,KAAKod,IAAIouB,EAAUhiB,EAAK,GAAG9gB,aACtC8gB,EAAKluB,KAAK+E,MAAM,OAEpB2pC,EAAIttC,UAAUpB,KAAK+E,MAAQmrC,EAAW,EAAK,QAE/CxB,EAAIttC,UAAU9B,SAAS,+BAG/BovC,EAAIhC,WAEJgC,EAAIK,QAAQ5oC,UAAU,iBAAmBgpC,EAAe,SAAS//B,WAAW,EAG5E,IACIo/B,EAGJE,GAAI/B,SAAW,SAAUoB,EAAU3+B,EAAYghC,GACjB,mBAAfhhC,KAA4BA,EAAa,GACpD,IAAIihC,GAAiB3B,EAAIK,QAAQ72C,KAAK,mCAAqC61C,EAAW,MAAMrjC,OAC5F,IAA6B,mBAAnB2lC,IAAkCA,KAAmB,EAA/D,CAGA,GAAIpmB,IAAgBomB,EAAiBvc,EAAaqb,CAElDT,GAAIK,QAAQ3/B,WAAWA,GACvBs/B,EAAIK,QAAQ5oC,UAAU,iBAAmB,EAAiB,SAGtDsd,EAAE9sB,OAAOo2C,wBAA0B2B,EAAIzU,aAAeyU,EAAIzU,cAAgBoW,IAC1E54C,EAAEu3C,qBAAqBR,GACvBE,EAAIK,QAAQpnC,cAAc,WACtBlQ,EAAEu3C,qBAAqBR,KAE3BD,KAIJG,EAAIJ,YAAY+B,EAAgBpmB,EAAc7a,EAAYghC,KAG9D1B,EAAIJ,YAAc,SAAUrU,EAAajzB,EAAWoI,EAAYghC,GACnC,mBAAdppC,KACPA,EAAYvP,EAAEq3C,aAAaJ,EAAIK,QAAQ,GAAI,MAErB,mBAAhB9U,KAA6BA,GAAev1B,KAAKwB,OAAOc,EAAYmoC,GAAcrb,IACxFmG,EAAc,IAAGA,EAAc,GAC/BA,GAAeyU,EAAI79B,MAAMrY,SAAQyhC,EAAcyU,EAAI79B,MAAMrY,OAAS,EACtE,IAAI83C,GAAsB5B,EAAIzU,WAC9ByU,GAAIzU,YAAcA,EAClByU,EAAIK,QAAQ72C,KAAK,oBAAoBiI,YAAY,mBAEjDuuC,EAAI79B,MAAMzB,WAAWA,EAErB,IAAImhC,GAAe7B,EAAI79B,MAAMpY,GAAGwhC,GAAa36B,SAAS,mBAAmB6G,UAAU,GAGnF,IAAIsd,EAAE9sB,OAAOs2C,aAAc,EACLjmC,GAAatC,KAAK+qC,OAAOzoC,EAAYmoC,GAAcrb,GAAcA,EAAaqb,IAAiBrb,CAEjH4a,GAAI79B,MAAM9J,KAAK,WACX,GAAImnB,GAAOz2B,EAAEC,MACT84C,EAAgBtiB,EAAKxjB,QAAUopB,EAC/B2c,EAAkBtB,EAAenoC,EACjC0pC,EAAaF,EAAgBC,EAC7B7qC,EAAa8qC,EAAa5c,EAE1B6c,EAAWjsC,KAAKqvB,KAAK2a,EAAI72C,OAASi8B,EAAa,GAAK,EAEpD8c,GAAS,GAAIhrC,CACbgrC,GAAQ,MAAKA,EAAQ,KACrBA,GAAQ,MAAMA,GAAQ,KAEtBlsC,KAAKC,IAAIiB,GAAc+qC,EAAUziB,EAAK5uB,SAAS,mBAC9C4uB,EAAK/tB,YAAY,mBAEtB+tB,EAAK/nB,UAAU,oBAAsBa,EAAYmoC,GAAgB,QAAU3B,GAAY,IAAO,GAAK,eAAiBoD,EAAQ,WAIhIR,GAA4C,mBAAnBA,MAEzB1B,EAAIx+B,MAAQqgC,EAAatwC,KAAK,qBAC9ByuC,EAAIR,aAAeQ,EAAIT,cAAgBS,EAAIT,cAAchU,GAAeyU,EAAIx+B,MAExEogC,IAAwBrW,IACpByU,EAAI9D,UACJ8D,EAAI9D,SAASnnB,EAAGirB,EAAIx+B,MAAOw+B,EAAIR,cAEnCzqB,EAAEoqB,iBAaVS,GAAaI,EAAIJ,YAAY,EAAGa,EAAc,EAElD,IACI5rC,GAAWC,EAAS4nB,EAAaujB,EAAe3rC,EAAgBusC,EAAcpY,EAAgB8X,EAAUJ,EAAkBQ,EAAeD,EAAmBE,EAD5JV,GAAiB,CA4GrBF,GAAIzC,WAAa,SAAU/jC,GACvB,GAAI2J,GAAS3J,EAAS,MAAQ,IAC9BwmC,GAAIttC,UAAUyQ,GAAQ3a,EAAIqI,YAAYC,MAAOsE,GAC7C4qC,EAAIttC,UAAUyQ,GAAQ3a,EAAIqI,YAAYI,KAAM8E,GAC5CiqC,EAAIttC,UAAUyQ,GAAQ3a,EAAIqI,YAAYK,IAAK+G,GAC3C+nC,EAAI79B,MAAMgB,GAAQ,QAASutB,IAE/BsP,EAAIqB,cAAgB,WAChBrB,EAAIzC,YAAW,IAGnByC,EAAIttC,UAAU,GAAGyvC,mBAAqB,WAClCnC,EAAIqB,iBAGRrB,EAAIzC,eAGRxoB,EAAEqpB,iBAAmB,SAAU4C,GAC3BA,EAAej4C,EAAEi4C,GACb,sBAAwBA,GAAa,IAAIA,EAAa,GAAGmB,sBAYjEp5C,EAAEhB,QAAQ8J,GAAG,SAAUisC,GAGvB/oB,EAAEwsB,WAAa,SAAUvB,EAAKoC,GAC1B,GAAIC,GAAkB,GAClBd,EAAa,EACjB,IAAIvB,EAAIjC,QACJwD,GAAc,0DAA4DvB,EAAIsC,UAAY,oBAAsBtC,EAAIsC,UAAY,IAAM,KAAOtC,EAAIzwB,UAAY,IAAM,KAAOywB,EAAI5lC,QAAU,aAEvL,CACD,IAAK,GAAIsM,GAAI,EAAGA,EAAIs5B,EAAI39B,OAAOvY,OAAQ4c,IACnC27B,GAAmB,+CAAiDrC,EAAI39B,OAAOqE,GAAK,MAAQs5B,EAAIT,cAAgBS,EAAIT,cAAc74B,GAAKs5B,EAAI39B,OAAOqE,IAAM,QAE5J66B,IAAc,iCAAmCvB,EAAIsC,UAAY,oBAAsBtC,EAAIsC,UAAY,IAAM,KAAOtC,EAAIzwB,UAAY,IAAM,2CAA6C8yB,EAAkB,eAE7M,MAAOD,GAAYC,EAAkBd,GAEzCxsB,EAAEkD,OAAS,WACP,GAEI/lB,GAFAqwC,EAAa,GACbC,EAAc,EAElBztB,GAAE4O,OACF,IAAI8e,GAAW,EACf,KAAKvwC,EAAI,EAAGA,EAAI6iB,EAAE9sB,OAAO07B,KAAK75B,OAAQoI,IAAK,CACvC,GAAI8tC,GAAMjrB,EAAE9sB,OAAO07B,KAAKzxB,EACxBuwC,IAAY1tB,EAAEwsB,WAAWxsB,EAAE9sB,OAAO07B,KAAKzxB,IACvC6iB,EAAE4O,KAAKtwB,KAAK2sC,GAEhBwC,EAAc,gCAAkCztB,EAAE9sB,OAAOsnB,UAAY,KAAOwF,EAAE9sB,OAAOs2C,aAAe,aAAe,IACnHgE,EACI,eAAiB,EAAgB,MAC5BxtB,EAAE9sB,OAAOkX,QAAU4V,EAAE9sB,OAAOuvC,gBAAgBnvC,QAAQ,iBAAkB0sB,EAAE9sB,OAAO22C,kBAAoB,IACpG,gDACI6D,EACA,0DAIZ1tB,EAAEwtB,WAAaA,GAyCfxtB,EAAE9sB,OAAOqX,QACTyV,EAAEzV,MAAQvW,EAAEgsB,EAAE9sB,OAAOqX,OACjByV,EAAEzV,MAAMxV,OAAS,IACbirB,EAAE9sB,OAAO02C,eAAe5pB,EAAEzV,MAAM3D,KAAK,YAAY,GAChDoZ,EAAE6oB,QACH7oB,EAAEzV,MAAMzN,GAAG,QAASqsC,GAEpBnpB,EAAE9sB,OAAO02C,eACT5pB,EAAEzV,MAAMzN,GAAG,kBAAmB,SAAUwD,GACpCA,EAAE2B,sBAOb+d,EAAE6oB,QAAU7oB,EAAE9sB,OAAOy2C,qBAAqB31C,EAAE,QAAQ8I,GAAG,QAASktB,GAiBrEhK,EAAEe,QAAS,EACXf,EAAEsc,KAAO,WACL,GAAIzgB,GAAYkD,GAEXiB,GAAEe,SAGHf,EAAEkD,SAGErH,GACAmE,EAAEwtB,WAAa,0EAA4ExtB,EAAEwtB,WAAa,eAC1GxtB,EAAE7D,QAAU1oB,EAAI0oB,QAAQ6D,EAAEwtB,WAAYxtB,EAAE9sB,OAAOqX,OAAO,GACtDyV,EAAEriB,UAAY3J,EAAEgsB,EAAE7D,SAAS1nB,KAAK,iBAChCT,EAAEgsB,EAAE7D,SAASrf,GAAG,gBAAiB,WAC7BssC,OAGCppB,EAAE6oB,QACP7oB,EAAEriB,UAAY3J,EAAEgsB,EAAEwtB,YAClBxtB,EAAEriB,UAAU9B,SAAS,uBACrB7H,EAAEgsB,EAAE9sB,OAAOyK,WAAWmE,OAAOke,EAAEriB,aAG/BqiB,EAAEriB,UAAY3J,EAAEP,EAAImrB,YAAYoB,EAAEwtB,aAClCx5C,EAAEgsB,EAAEriB,WACHb,GAAG,eAAgB,WAChBssC,OAKRppB,EAAEriB,UAAU,GAAGgwC,SAAW3tB,EAG1BA,EAAEriB,UAAUlJ,KAAK,qBAAqB6O,KAAK,WACvC,GAAIunC,IAAc,IACZ7qB,EAAE8pB,aAAe9pB,EAAE9sB,OAAOuZ,OAAWuT,EAAE8pB,aAAe9pB,EAAEvT,SAAQo+B,GAAc,GACpF7qB,EAAE2qB,cAAc12C,KAAM42C,KAIrB7qB,EAAE8pB,YAOC9pB,EAAEvT,OAAOuT,EAAEkpB,SAASlpB,EAAEvT,MAAO,GAN7BuT,EAAEvT,MAAOuT,EAAEkpB,SAASlpB,EAAEvT,MAAO,GACxBuT,EAAE9sB,OAAOuZ,OACduT,EAAEkpB,SAASlpB,EAAE9sB,OAAOuZ,MAAO,GAQ/BuT,EAAEzV,OAASyV,EAAEzV,MAAMxV,OAAS,GAAKtB,EAAIP,OAAO+H,UAC5C+kB,EAAEzV,MAAMzV,QAAQ,UAKxBkrB,EAAEe,QAAS,EACXf,EAAE8pB,aAAc,EAEZ9pB,EAAE9sB,OAAO2vC,QAAQ7iB,EAAE9sB,OAAO2vC,OAAO7iB,IAIzCA,EAAEvF,MAAQ,WACN,GAAKuF,EAAEe,SAAUf,EAAE6oB,OACnB,MAAIC,SACAr1C,GAAIsO,WAAWie,EAAE7D,aAIjB1oB,GAAIsO,WAAWie,EAAEriB,YAMzBqiB,EAAEvZ,QAAU,WACRuZ,EAAEvF,QACEuF,EAAE9sB,OAAOqX,OAASyV,EAAEzV,MAAMxV,OAAS,GACnCirB,EAAEzV,MAAM4F,IAAI,cAAeg5B,GAE/Bn1C,EAAE,QAAQmc,IAAI,QAAS6Z,GACvBh2B,EAAEhB,QAAQmd,IAAI,SAAU44B,IAGxB/oB,EAAE6oB,OACF7oB,EAAEsc,QAGGtc,EAAE8pB,aAAe9pB,EAAE9sB,OAAOuZ,OAAOuT,EAAEkpB,SAASlpB,EAAE9sB,OAAOuZ,OAGvDuT,EAEXvsB,GAAIo2B,OAAS,SAAU32B,GACnB,MAAO,IAAIw1C,GAAOx1C,GAMtB,IAAI06C,GAAW,SAAU16C,GA+FrB,QAAS6rB,KACL,GAAIlD,IAAY,CAChB,OAAKmE,GAAE9sB,OAAOy1C,kBAAqB3oB,EAAE9sB,OAAO01C,gBACvC5oB,EAAE6oB,QAAU7oB,EAAE9sB,OAAOqX,QAClByV,EAAE9sB,OAAO01C,cAAe/sB,GAAY,EAEhCpoB,EAAI4B,OAAOsH,IACXkf,IAAYpoB,EAAI4B,OAAOC,KAGnBtB,EAAEhB,QAAQsO,SAAW,MAAKua,GAAY,IAI/CA,GAZ2DA,EActE,QAASitB,KACL,SAAI9oB,EAAEe,QAAUf,EAAEriB,WAAaqiB,EAAEriB,UAAU5I,OAAS,GAAKirB,EAAEriB,UAAU6D,QAAQ,YAAYzM,OAAS,GAKtG,QAAS84C,GAAWC,GAChBA,EAAO,GAAIhtC,MAAKgtC,EAChB,IAAIC,GAAOD,EAAKE,cACZC,EAAQH,EAAKI,WACbC,EAASF,EAAQ,EACjBG,EAAMN,EAAKO,UACXC,EAAUR,EAAKS,QAEnB,OAAOvuB,GAAE9sB,OAAOs7C,WACXl7C,QAAQ,QAASy6C,GACjBz6C,QAAQ,OAAQy6C,EAAO,IAAIU,UAAU,IACrCn7C,QAAQ,MAAO66C,EAAS,GAAK,IAAMA,EAASA,GAC5C76C,QAAQ,UAAW66C,EAAS,MAC5B76C,QAAQ,MAAO0sB,EAAE9sB,OAAOw7C,WAAWT,IACnC36C,QAAQ,UAAW0sB,EAAE9sB,OAAOy7C,gBAAgBV,GAAS,MACrD36C,QAAQ,MAAO86C,EAAM,GAAK,IAAMA,EAAMA,GACtC96C,QAAQ,UAAW86C,EAAM,MACzB96C,QAAQ,MAAO0sB,EAAE9sB,OAAO07C,SAASN,IACjCh7C,QAAQ,UAAW0sB,EAAE9sB,OAAO27C,cAAcP,GAAW,MAuqB9D,QAASnF,GAAY7oC,GAEjB,GADAA,EAAE2B,kBACE+d,EAAEe,SACNf,EAAEsc,OACEtc,EAAE9sB,OAAOs2B,gBAAkBzK,MAAgBtrB,EAAIP,OAAO+H,UAAU,CAChE,GAAI8T,GAAciR,EAAEzV,MAAM/I,QAAQ,gBAClC,IAA2B,IAAvBuN,EAAYha,OAAc,MAE9B,IAII00B,GAJAC,EAAa70B,SAASka,EAAYxS,IAAI,eAAgB,IACtDotB,EAAgB90B,SAASka,EAAYxS,IAAI,kBAAmB,IAC5DqtB,EAAa7a,EAAY,GAAG1a,aAAeq1B,EAAa1J,EAAEriB,UAAUvJ,SACpE01B,EAAmB/a,EAAY,GAAG5a,aAAeu1B,EAAa1J,EAAEriB,UAAUvJ,SAG1E21B,EAAW/J,EAAEzV,MAAM5I,SAASub,IAAMwM,EAAa1J,EAAEzV,MAAM,GAAGlW,YAC9D,IAAI01B,EAAWH,EAAY,CACvB,GAAI11B,GAAY6a,EAAY7a,YAAc61B,EAAWH,CACjD11B,GAAY01B,EAAaE,IACzBL,EAAmBv1B,EAAY01B,EAAaE,EAAmBH,EAC3DC,IAAeE,IACfL,EAAmBzJ,EAAEriB,UAAUvJ,UAEnC2a,EAAYxS,KAAKmT,iBAAkB,EAAqB,QAE5DX,EAAY7a,UAAUA,EAAW,OAI7C,QAAS81B,GAAiB1pB,GAClBwoC,MACA9oB,EAAEzV,OAASyV,EAAEzV,MAAMxV,OAAS,EACxBuL,EAAEiB,SAAWye,EAAEzV,MAAM,IAAsD,IAAhDvW,EAAEsM,EAAEiB,QAAQC,QAAQ,iBAAiBzM,QAAcirB,EAAEvF,QAGhC,IAAhDzmB,EAAEsM,EAAEiB,QAAQC,QAAQ,iBAAiBzM,QAAcirB,EAAEvF,SAuBjE,QAAS2uB,KACLppB,EAAEe,QAAS,EACPf,EAAEzV,OAASyV,EAAEzV,MAAMxV,OAAS,IAC5BirB,EAAEzV,MAAM/I,QAAQ,iBAAiBjF,KAAKmT,iBAAkB,KACpDjc,EAAIP,OAAO+H,UAAU+kB,EAAEzV,MAAMzV,QAAQ,SAEzCkrB,EAAE9sB,OAAO6vC,SAAS/iB,EAAE9sB,OAAO6vC,QAAQ/iB,GAGvCA,EAAE8uB,wBA/2BN,GAAI9uB,GAAI/rB,KACJmJ,GACAsxC,YAAa,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,OAAQ,SAAW,YAAc,UAAW,WAAY,YAC7HC,iBAAkB,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC/FC,UAAW,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,YAC7EC,eAAgB,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC1DE,SAAU,EACVC,aAAc,EAAG,GACjBpiB,UAAU,EACVqiB,aAAa,EACbT,WAAY,aACZ75B,UAAW,aACXu6B,QAAS,KACTC,QAAS,KACTzyB,SAAU,KACV0yB,OAAQ,KACRC,cAAe,KACfC,WAAW,EACX5rB,SAAS,EACT6rB,eAAe,EACfC,aAAa,EACbC,oBACI,4RAKJC,YAAY,EACZC,mBACI,wRAKJC,YAAY,EAEZjG,qBAAqB,EACrBngB,eAAe,EACfogB,eAAe,EACfjB,kBAAkB,EAClBC,eAAe,EACfx+B,SAAS,EACTy/B,iBAAkB,OAClBgG,kBAAmB,cACnBC,OAAQr8C,EAAIP,OAAO+H,SACnB80C,OAAQt8C,EAAIP,OAAO+H,SACnBwnC,gBACI,4FAMJuN,eACI,oGAGJC,eACI,6FAcR/8C,GAASA,KACT,KAAK,GAAIuK,KAAOL,GACe,mBAAhBlK,GAAOuK,KACdvK,EAAOuK,GAAOL,EAASK,GAG/BuiB,GAAE9sB,OAASA,EACX8sB,EAAE8pB,aAAc,EAGhB9pB,EAAE6oB,SAAS7oB,EAAE9sB,OAAOyK,UAGpBqiB,EAAEkwB,IAA6B,eAAvBlwB,EAAE9sB,OAAOyhB,SAGjB,IAAIzS,GAAW8d,EAAEkwB,KAAOz8C,EAAI6I,KAAM,EAAU,CAo4B5C,OAj4BA0jB,GAAEmwB,WAAY,EAgDdnwB,EAAEowB,SAAW,SAAU3jC,GACnB,GAAIuT,EAAE9sB,OAAO05B,SAAU,CACd5M,EAAEvT,QAAOuT,EAAEvT,SAEhB,KAAK,GADD4jC,GACKlzC,EAAI,EAAGA,EAAI6iB,EAAEvT,MAAM1X,OAAQoI,IAC5B,GAAI2D,MAAK2L,GAAO1L,YAAc,GAAID,MAAKkf,EAAEvT,MAAMtP,IAAI4D,YACnDsvC,EAAgBlzC,EAGK,oBAAlBkzC,GACPrwB,EAAEvT,MAAMnO,KAAKmO,GAGbuT,EAAEvT,MAAM9F,OAAO0pC,EAAe,GAElCrwB,EAAEoqB,kBAEGpqB,GAAE9sB,OAAO+7C,aACTjvB,EAAEvT,QAAOuT,EAAEvT,UACO,IAAnBuT,EAAEvT,MAAM1X,QAAmC,IAAnBirB,EAAEvT,MAAM1X,SAChCirB,EAAEvT,UAEFuT,EAAEvT,MAAM,KAAOA,EAAOuT,EAAEvT,MAAMnO,KAAKmO,GAClCuT,EAAEvT,SACPuT,EAAEvT,MAAM6jC,KAAK,SAAUpK,EAAEqK,GACrB,MAAOrK,GAAIqK,IAEfvwB,EAAEoqB,gBAGFpqB,EAAEvT,OAASA,GACXuT,EAAEoqB,gBAGVpqB,EAAEkpB,SAAW,SAAUgB,GACnBlqB,EAAEvT,MAAQy9B,EACVlqB,EAAEoqB,eAENpqB,EAAEoqB,YAAc,SAAUoG,GACtB,GAAIrzC,GAAGszC,CACP,IAAIzwB,EAAEriB,WAAaqiB,EAAEriB,UAAU5I,OAAS,EAAG,CACvCirB,EAAEsrB,QAAQ72C,KAAK,iCAAiCiI,YAAY,+BAC5D,IAAIg0C,EACJ,IAAI1wB,EAAE9sB,OAAO+7C,aAAkC,IAAnBjvB,EAAEvT,MAAM1X,OAChC,IAAKoI,EAAI6iB,EAAEvT,MAAM,GAAItP,GAAK6iB,EAAEvT,MAAM,GAAItP,GAAK,MACvCuzC,EAAY,GAAI5vC,MAAK3D,GACrB6iB,EAAEsrB,QAAQ72C,KAAK,mCAAqCi8C,EAAU1C,cAAgB,IAAM0C,EAAUxC,WAAa,IAAMwC,EAAUrC,UAAY,MAAMxyC,SAAS,oCAI1J,KAAKsB,EAAI,EAAGA,EAAI6iB,EAAEvT,MAAM1X,OAAQoI,IAC5BuzC,EAAY,GAAI5vC,MAAKkf,EAAEvT,MAAMtP,IAC7B6iB,EAAEsrB,QAAQ72C,KAAK,mCAAqCi8C,EAAU1C,cAAgB,IAAM0C,EAAUxC,WAAa,IAAMwC,EAAUrC,UAAY,MAAMxyC,SAAS,gCAQlK,GAHImkB,EAAE9sB,OAAOi0C,UACTnnB,EAAE9sB,OAAOi0C,SAASnnB,EAAGA,EAAEvT,OAEtBuT,EAAEzV,OAASyV,EAAEzV,MAAMxV,OAAS,GAAOtB,EAAIP,OAAO+H,UAAY+kB,EAAE9sB,OAAO48C,OAAS,CAC7E,GAAI9vB,EAAE9sB,OAAOw3C,YAAa+F,EAAazwB,EAAE9sB,OAAOw3C,YAAY1qB,EAAGA,EAAEvT,WAC5D,CAED,IADAgkC,KACKtzC,EAAI,EAAGA,EAAI6iB,EAAEvT,MAAM1X,OAAQoI,IAC5BszC,EAAWnyC,KAAKuvC,EAAW7tB,EAAEvT,MAAMtP,IAEvCszC,GAAaA,EAAW9iC,KAAKqS,EAAE9sB,OAAO+7C,YAAc,MAAQ,MAE5Dx7C,EAAIP,OAAO+H,UAAY+kB,EAAE9sB,OAAO48C,QAAU9vB,EAAEriB,WAAaqiB,EAAEriB,UAAU5I,OAAS,GAC9EirB,EAAEriB,UAAUlJ,KAAK,kCAAkCiZ,KAAK+iC,GAExDzwB,EAAEzV,OAASyV,EAAEzV,MAAMxV,OAAS,IAAMy7C,IAClCx8C,EAAEgsB,EAAEzV,OAAO+B,IAAImkC,GACfz8C,EAAEgsB,EAAEzV,OAAOzV,QAAQ,aAO/BkrB,EAAE2wB,mBAAqB,WAInB,QAAStwC,GAAkBC,GACnBP,GAAWD,IAEfA,GAAY,EACZ44B,EAAcwS,EAA2B,eAAX5qC,EAAEG,KAAwBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,MACrFgnB,EAAcujB,EAA2B,eAAX5qC,EAAEG,KAAwBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,MACrFtB,GAAiB,GAAKuB,OAAQC,UAC9BoB,EAAa,EACbgpC,GAAiB,EACjB/rC,EAAczI,OACd+8B,EAAiB0X,EAAmBprB,EAAE4wB,iBAE1C,QAAS5vC,GAAiBV,GACtB,GAAKR,EAAL,CAOA,GALA+wC,EAA2B,cAAXvwC,EAAEG,KAAuBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,MACtEuqC,EAA2B,cAAX5qC,EAAEG,KAAuBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,MAC3C,mBAAhBzB,KACPA,KAAiBA,GAAe6B,KAAKC,IAAIgqC,EAAgBvjB,GAAe1mB,KAAKC,IAAI2vC,EAAgBnY,KAEjG1Y,EAAEkwB,KAAO9wC,EAET,YADAU,GAAY,EAIhB,IADAQ,EAAE2B,iBACE+d,EAAEmwB,UAEF,YADArwC,GAAY,EAGhBqrC,IAAiB,EACZprC,IAEDA,GAAU,EACV+wC,EAAe9wB,EAAEsrB,QAAQ,GAAG3hC,YAC5BwiC,EAAgBnsB,EAAEsrB,QAAQ,GAAGj3C,aAC7B2rB,EAAEsrB,QAAQ3/B,WAAW,IAGzBrM,EAAc0gB,EAAEkwB,IAAMW,EAAgBnY,EAAcwS,EAAgBvjB,EACpExlB,EAAa7C,GAAa0gB,EAAEkwB,IAAMY,EAAe3E,GACjDf,EAAiE,KAA7CprB,EAAE4wB,gBAAkB1uC,EAAWC,GAGnD6d,EAAEsrB,QAAQ5oC,UAAU,gBAAkBsd,EAAEkwB,IAAM9E,EAAmB,GAAK,OAASprB,EAAEkwB,IAAM,EAAI9E,GAAoB,UAGnH,QAASloC,GAAgB5C,GACrB,MAAKR,IAAcC,GAInBD,EAAYC,GAAU,EAEtB+rC,GAAe,GAAIhrC,OAAOC,UACtB+qC,EAAevsC,EAAiB,IAC5B0B,KAAKC,IAAI5B,GAAe,GACxB0gB,EAAE+wB,aAEGzxC,GAAe,GAChB7L,EAAI6I,IAAK0jB,EAAEgxB,YACVhxB,EAAEixB,YAGHx9C,EAAI6I,IAAK0jB,EAAEixB,YACVjxB,EAAEgxB,YAIP7uC,IAAc,GACV1O,EAAI6I,IAAK0jB,EAAEixB,YACVjxB,EAAEgxB,YAEF7uC,GAAc,GACf1O,EAAI6I,IAAK0jB,EAAEgxB,YACVhxB,EAAEixB,YAGPjxB,EAAE+wB,iBAKVr7C,YAAW,WACPy1C,GAAiB,GAClB,WApCCrrC,EAAYC,GAAU,GAuC9B,QAASmxC,GAAe5wC,GACpB,GAAK6qC,EAAL,CACA,GAAIiD,GAAMp6C,EAAEsM,EAAEiB,QAAQC,QAAQ,uBAI9B,IAHmB,IAAf4sC,EAAIr5C,QAAgBf,EAAEsM,EAAEiB,QAAQ5M,SAAS,yBACzCy5C,EAAMp6C,EAAEsM,EAAEiB,SAEK,IAAf6sC,EAAIr5C,SACJq5C,EAAIz5C,SAAS,gCAAjB,CACKqrB,EAAE9sB,OAAO+7C,cACNb,EAAIz5C,SAAS,6BAA6BqrB,EAAEgxB,YAC5C5C,EAAIz5C,SAAS,6BAA6BqrB,EAAEixB,YAEpD,IAAIE,GAAW/C,EAAI5xC,KAAK,aACpB40C,EAAYhD,EAAI5xC,KAAK,cACrB60C,EAAUjD,EAAI5xC,KAAK,WACnBwjB,GAAE9sB,OAAOo+C,YACTtxB,EAAE9sB,OAAOo+C,WAAWtxB,EAAGouB,EAAI,GAAI+C,EAAUC,EAAWC,KAEnDjD,EAAIz5C,SAAS,iCAAmCqrB,EAAE9sB,OAAO05B,UAAY5M,EAAE9sB,OAAO+7C,cAC/EjvB,EAAEowB,SAAS,GAAItvC,MAAKqwC,EAAUC,EAAWC,GAAStwC,WAElDif,EAAE9sB,OAAOq8C,gBACLvvB,EAAE9sB,OAAO+7C,aAAkC,IAAnBjvB,EAAEvT,MAAM1X,SAAiBirB,EAAE9sB,OAAO+7C,cAAajvB,EAAEvF,UAhHrF,GAEI3a,GAAWC,EAAS24B,EAAa/Q,EAAakpB,EAAe3F,EAAe3rC,EAAgBusC,EAAcpY,EAAgB0X,EAAkB0F,EAAc3E,EAAehqC,EAAY7C,EAAaF,EADlM+rC,GAAiB,CAmHrBnrB,GAAEriB,UAAUlJ,KAAK,+BAA+BqI,GAAG,QAASkjB,EAAEixB,WAC9DjxB,EAAEriB,UAAUlJ,KAAK,+BAA+BqI,GAAG,QAASkjB,EAAEgxB,WAC9DhxB,EAAEriB,UAAUlJ,KAAK,8BAA8BqI,GAAG,QAASkjB,EAAEuxB,UAC7DvxB,EAAEriB,UAAUlJ,KAAK,8BAA8BqI,GAAG,QAASkjB,EAAEwxB,UAC7DxxB,EAAEsrB,QAAQxuC,GAAG,QAASo0C,EACtB,IAAIvsC,KAA4C,eAA1BlR,EAAIqI,YAAYC,QAA0BtI,EAAIuI,QAAQ2I,mBAAmBC,SAAS,EAAMC,SAAS,EACnHmb,GAAE9sB,OAAOo8C,YACTtvB,EAAEsrB,QAAQxuC,GAAGrJ,EAAIqI,YAAYC,MAAOsE,EAAkBsE,GACtDqb,EAAEsrB,QAAQxuC,GAAGrJ,EAAIqI,YAAYI,KAAM8E,GACnCgf,EAAEsrB,QAAQxuC,GAAGrJ,EAAIqI,YAAYK,IAAK+G,EAAgByB,IAGtDqb,EAAEriB,UAAU,GAAG8zC,wBAA0B,WACrCzxB,EAAEriB,UAAUlJ,KAAK,+BAA+B0b,IAAI,QAAS6P,EAAEixB,WAC/DjxB,EAAEriB,UAAUlJ,KAAK,+BAA+B0b,IAAI,QAAS6P,EAAEgxB,WAC/DhxB,EAAEriB,UAAUlJ,KAAK,8BAA8B0b,IAAI,QAAS6P,EAAEuxB,UAC9DvxB,EAAEriB,UAAUlJ,KAAK,8BAA8B0b,IAAI,QAAS6P,EAAEwxB,UAC9DxxB,EAAEsrB,QAAQn7B,IAAI,QAAS+gC,GACnBlxB,EAAE9sB,OAAOo8C,YACTtvB,EAAEsrB,QAAQn7B,IAAI1c,EAAIqI,YAAYC,MAAOsE,EAAkBsE,GACvDqb,EAAEsrB,QAAQn7B,IAAI1c,EAAIqI,YAAYI,KAAM8E,GACpCgf,EAAEsrB,QAAQn7B,IAAI1c,EAAIqI,YAAYK,IAAK+G,EAAgByB,MAM/Dqb,EAAE8uB,sBAAwB,SAAU7C,GAC5B,2BAA6BjsB,GAAEriB,UAAU,IAAIqiB,EAAEriB,UAAU,GAAG8zC,2BAIpEzxB,EAAE0xB,YAAc,SAAUC,EAASC,GAC/B,GACIz0C,GADA5J,GAAQ,CAEZ,KAAKq+C,EAAO,OAAO,CACnB,IAAI59C,EAAE8nB,QAAQ81B,GACV,IAAKz0C,EAAI,EAAGA,EAAIy0C,EAAM78C,OAAQoI,IACtBy0C,EAAMz0C,GAAG6U,MAAQ4/B,EAAMz0C,GAAG00C,GACtBD,EAAMz0C,GAAG6U,MAAQ4/B,EAAMz0C,GAAG00C,GACrBF,GAAW,GAAI7wC,MAAK8wC,EAAMz0C,GAAG00C,IAAI9wC,WAAe4wC,GAAW,GAAI7wC,MAAK8wC,EAAMz0C,GAAG6U,MAAMjR,YACpFxN,GAAQ,GAGPq+C,EAAMz0C,GAAG6U,KACV2/B,GAAW,GAAI7wC,MAAK8wC,EAAMz0C,GAAG6U,MAAMjR,YACnCxN,GAAQ,GAGPq+C,EAAMz0C,GAAG00C,IACVF,GAAW,GAAI7wC,MAAK8wC,EAAMz0C,GAAG00C,IAAI9wC,YACjCxN,GAAQ,GAGTo+C,IAAY,GAAI7wC,MAAK8wC,EAAMz0C,IAAI4D,YACtCxN,GAAQ,OAIXq+C,GAAM5/B,MAAQ4/B,EAAMC,GACrBD,EAAM5/B,MAAQ4/B,EAAMC,GACfF,GAAW,GAAI7wC,MAAK8wC,EAAMC,IAAI9wC,WAAe4wC,GAAW,GAAI7wC,MAAK8wC,EAAM5/B,MAAMjR,YAC9ExN,GAAQ,GAGPq+C,EAAM5/B,KACP2/B,GAAW,GAAI7wC,MAAK8wC,EAAM5/B,MAAMjR,YAChCxN,GAAQ,GAGPq+C,EAAMC,IACPF,GAAW,GAAI7wC,MAAK8wC,EAAMC,IAAI9wC,YAC9BxN,GAAQ,GAIM,kBAAVq+C,KACZr+C,EAAQq+C,EAAM,GAAI9wC,MAAK6wC,IAE3B,OAAOp+C,IAGXysB,EAAE8xB,YAAc,SAAUhE,GACtB,GAAIiE,GAAI,GAAIjxC,MAAKgtC,EACjB,OAAO,IAAIhtC,MAAKixC,EAAE/D,cAAe+D,EAAE7D,WAAa,EAAG,GAAGG,WAE1DruB,EAAEgyB,UAAY,SAAUlE,EAAMnsC,GAC1BmsC,EAAO,GAAIhtC,MAAKgtC,EAChB,IAAIC,GAAOD,EAAKE,cACZC,EAAQH,EAAKI,UACPJ,GAAKO,SACA,UAAX1sC,IACkBmsC,EAAJ,KAAVG,EAAqB,GAAIntC,MAAKitC,EAAO,EAAG,GAChC,GAAIjtC,MAAKitC,EAAME,EAAQ,EAAG,IAE3B,SAAXtsC,IACiBmsC,EAAH,IAAVG,EAAoB,GAAIntC,MAAKitC,EAAO,EAAG,IAC/B,GAAIjtC,MAAKitC,EAAME,EAAQ,EAAG,IAE3B,SAAXtsC,GAAgC,SAAXA,IACrBssC,EAAQH,EAAKI,WACbH,EAAOD,EAAKE,cAEhB,IAAIiE,GAAkBjyB,EAAE8xB,YAAY,GAAIhxC,MAAKgtC,EAAKE,cAAeF,EAAKI,YAAYntC,UAAY,OAC1F+wC,EAAc9xB,EAAE8xB,YAAYhE,GAC5BoE,EAAuB,GAAIpxC,MAAKgtC,EAAKE,cAAeF,EAAKI,YAAYK,QAC5C,KAAzB2D,IAA4BA,EAAuB,EAEvD,IAAIP,GAA6Bx0C,EAAGwU,EAAGwgC,EAOnCz1B,EACA01B,EARSC,KACTC,EAAO,EAAG1jB,EAAO,EACjBojB,EAAY,GACZO,EAAW,GAAKvyB,EAAE9sB,OAAO67C,SAAW,GACpCyD,GAAQ,GAAI1xC,OAAO2xC,SAAS,EAAE,EAAE,EAAE,GAClCvD,EAAUlvB,EAAE9sB,OAAOg8C,QAAU,GAAIpuC,MAAKkf,EAAE9sB,OAAOg8C,SAASnuC,UAAY,KACpEouC,EAAUnvB,EAAE9sB,OAAOi8C,QAAU,GAAIruC,MAAKkf,EAAE9sB,OAAOi8C,SAASpuC,UAAY,IAIxE,IAAIif,EAAEvT,OAASuT,EAAEvT,MAAM1X,OACnB,IAAKoI,EAAI,EAAGA,EAAI6iB,EAAEvT,MAAM1X,OAAQoI,IAC5Bk1C,EAAc/zC,KAAK,GAAIwC,MAAKkf,EAAEvT,MAAMtP,IAAIs1C,SAAS,EAAE,EAAE,EAAE,GAI/D,KAAKt1C,EAAI,EAAGA,GAAKm1C,EAAMn1C,IAAK,CACxB,GAAIu1C,GAAU,EAEd,KAAK/gC,EAAI,EAAGA,GAAKid,EAAMjd,IAAK,CACxB,GAAIs5B,GAAMt5B,CACV4gC,IACA,IAAII,GAAYJ,EAAWL,EACvBU,EAAgB3H,EAAM,EAAIjrB,EAAE9sB,OAAO67C,SAAW,EAAM9D,EAAM,EAAI,EAAIjrB,EAAE9sB,OAAO67C,SAAa9D,EAAM,EAAIjrB,EAAE9sB,OAAO67C,SAC3GlzC,EAAW,EAyCf,IAxCI82C,EAAY,GACZA,EAAYV,EAAkBU,EAAY,EAC1C92C,GAAY,4BACZ81C,EAAU,GAAI7wC,MAAKmtC,EAAQ,EAAI,EAAIF,EAAO,EAAIA,EAAME,EAAQ,EAAI,EAAI,GAAKA,EAAQ,EAAG0E,GAAW5xC,YAG/F4xC,GAAwB,EACpBA,EAAYb,GACZa,GAAwBb,EACxBj2C,GAAY,4BACZ81C,EAAU,GAAI7wC,MAAKmtC,EAAQ,EAAI,GAAKF,EAAO,EAAIA,EAAME,EAAQ,EAAI,GAAK,EAAIA,EAAQ,EAAG0E,GAAW5xC,WAGhG4wC,EAAU,GAAI7wC,MAAKitC,EAAME,EAAO0E,GAAW5xC,WAI/C4wC,IAAYa,IAAO32C,GAAY,8BAE/BmkB,EAAE9sB,OAAO+7C,aAAwC,IAAzBoD,EAAct9C,OAClC48C,GAAWU,EAAc,IAAMV,GAAWU,EAAc,KAAIx2C,GAAY,iCAGxEw2C,EAAcz9C,QAAQ+8C,IAAY,IAAG91C,GAAY,iCAGrDmkB,EAAE9sB,OAAO87C,YAAYp6C,QAAQg+C,IAAiB,IAC9C/2C,GAAY,gCAGhBu2C,GAAW,EACPpyB,EAAE9sB,OAAOk8C,QACLpvB,EAAE0xB,YAAYC,EAAS3xB,EAAE9sB,OAAOk8C,UAChCgD,GAAW,GAGfA,IACAv2C,GAAY,mCAGZmkB,EAAE9sB,OAAOm8C,cACT,IAAK8C,EAAI,EAAGA,EAAInyB,EAAE9sB,OAAOm8C,cAAct6C,OAAQo9C,IACvCnyB,EAAE0xB,YAAYC,EAAS3xB,EAAE9sB,OAAOm8C,cAAc8C,GAAGP,SACjD/1C,GAAY,IAAMmkB,EAAE9sB,OAAOm8C,cAAc8C,GAAG33B,SAKxDkC,IAAW,GACNwyB,GAAWyC,EAAUzC,GAAaC,GAAWwC,EAAUxC,KACxDzyB,GAAW,GAEXsD,EAAE9sB,OAAOwpB,UACLsD,EAAE0xB,YAAYC,EAAS3xB,EAAE9sB,OAAOwpB,YAChCA,GAAW,GAGfA,IACA7gB,GAAY,iCAIhB81C,EAAU,GAAI7wC,MAAK6wC,EACnB,IAAIkB,GAAUlB,EAAQ3D,cAClB8E,EAAWnB,EAAQzD,UACvBwE,IAAW,mBAAqBG,EAAU,iBAAmBC,EAAW,eAAiBH,EAAY,+BAAiC,EAAa,iBAAmBE,EAAU,IAAMC,EAAW,IAAMH,GAAa,WAAWA,EAAU,gBAE7OX,GAAa,oCAAsCU,EAAU,SAGjE,MADAV,GAAY,iDAAmDjE,EAAO,iBAAmBE,EAAQ,KAAO+D,EAAY,UAGxHhyB,EAAEmwB,WAAY,EACdnwB,EAAE+yB,uBAAyB,SAAUpsB,GACd,mBAARA,IACP3G,EAAEgzB,aAAen+C,SAASmrB,EAAEizB,OAAOj+C,GAAG,GAAGwH,KAAK,cAAe,IAC7DwjB,EAAEkzB,YAAcr+C,SAASmrB,EAAEizB,OAAOj+C,GAAG,GAAGwH,KAAK,aAAc,MAG3DwjB,EAAEgzB,aAAen+C,SAASmrB,EAAEizB,OAAOj+C,GAAW,SAAR2xB,EAAkB3G,EAAEizB,OAAOl+C,OAAS,EAAK,GAAGyH,KAAK,cAAe,IACtGwjB,EAAEkzB,YAAcr+C,SAASmrB,EAAEizB,OAAOj+C,GAAW,SAAR2xB,EAAkB3G,EAAEizB,OAAOl+C,OAAS,EAAK,GAAGyH,KAAK,aAAc,KAExGwjB,EAAEriB,UAAUlJ,KAAK,wBAAwBiZ,KAAKsS,EAAE9sB,OAAOw7C,WAAW1uB,EAAEgzB,eACpEhzB,EAAEriB,UAAUlJ,KAAK,uBAAuBiZ,KAAKsS,EAAEkzB,cAGnDlzB,EAAEmzB,mBAAqB,SAAUxsB,GAC7B3G,EAAE+yB,uBAAuBpsB,GACzB3G,EAAEizB,OAAOv2C,YAAY,sFACrB,IAAI02C,GAAuB,SAARzsB,EAAiB3G,EAAEizB,OAAOl+C,OAAS,EAAI,CAE1DirB,GAAEizB,OAAOj+C,GAAGo+C,GAAcv3C,SAAS,iCACnCmkB,EAAEizB,OAAOj+C,GAAW,SAAR2xB,EAAiBysB,EAAe,EAAIA,EAAe,GAAGv3C,SAAiB,SAAR8qB,EAAiB,6BAA+B,8BAEvH3G,EAAE9sB,OAAOmgD,wBACTrzB,EAAE9sB,OAAOmgD,uBAAuBrzB,EAAGA,EAAEkzB,YAAalzB,EAAEgzB,eAG5DhzB,EAAEszB,iBAAmB,SAAU3sB,EAAK4sB,GAChCvzB,EAAEmwB,WAAY,CACd,IAAIqD,GAAeC,EAAeC,CAClC1zB,GAAEsrB,QAAQ72C,KAAK,gIAAgI8P,SAE5H,mBAARoiB,KACPA,EAAM,OACN4sB,GAAc,GAEbA,GAIDvzB,EAAEsrB,QAAQ72C,KAAK,4DAA4D8P,SAC3EkvC,EAAgBzzB,EAAEgyB,UAAU,GAAIlxC,MAAKkf,EAAEkzB,YAAalzB,EAAEgzB,cAAe,QACrEQ,EAAgBxzB,EAAEgyB,UAAU,GAAIlxC,MAAKkf,EAAEkzB,YAAalzB,EAAEgzB,cAAe,SALrEU,EAAe1zB,EAAEgyB,UAAU,GAAIlxC,MAAKkf,EAAEkzB,YAAalzB,EAAEgzB,cAAersB,IAO5D,SAARA,GAAkB4sB,IAClBvzB,EAAEsrB,QAAQxpC,OAAO4xC,GAAgBF,IAEzB,SAAR7sB,GAAkB4sB,IAClBvzB,EAAEsrB,QAAQtyB,QAAQ06B,GAAgBD,GAEtCzzB,EAAEizB,OAASjzB,EAAEsrB,QAAQ72C,KAAK,0BAC1BurB,EAAE2zB,mBAAmB3zB,EAAE4wB,iBACnB5wB,EAAE9sB,OAAO0gD,YACT5zB,EAAE9sB,OAAO0gD,WAAW5zB,EAAW,SAAR2G,EAAiB3G,EAAEizB,OAAOj+C,GAAGgrB,EAAEizB,OAAOl+C,OAAS,GAAG,GAAKirB,EAAEizB,OAAOj+C,GAAG,GAAG,IAE7FgrB,EAAE9sB,OAAO2gD,sBACT7zB,EAAE9sB,OAAO2gD,qBAAqB7zB,EAAGA,EAAEkzB,YAAalzB,EAAEgzB,eAG1DhzB,EAAE2zB,mBAAqB,SAAUpwC,GAC7BA,EAAYA,GAAayc,EAAE4wB,iBAAmB,EACb,mBAAtB5wB,GAAE4wB,kBAAiC5wB,EAAE4wB,gBAAkBrtC,GAClEyc,EAAEizB,OAAOv2C,YAAY,sFACrB,IAAIo3C,GAAwC,MAAjBvwC,EAAY,GAAWrB,EAC9C6xC,EAAqC,KAAZxwC,EAAkBrB,EAC3C8xC,EAAwC,MAAjBzwC,EAAY,GAAWrB,CAClD8d,GAAEizB,OAAOj+C,GAAG,GAAG0N,UAAU,gBAAkBsd,EAAEkwB,IAAM4D,EAAqB,GAAK,OAAS9zB,EAAEkwB,IAAM,EAAI4D,GAAsB,SAASj4C,SAAS,8BAC1ImkB,EAAEizB,OAAOj+C,GAAG,GAAG0N,UAAU,gBAAkBsd,EAAEkwB,IAAM6D,EAAwB,GAAK,OAAS/zB,EAAEkwB,IAAM,EAAI6D,GAAyB,SAASl4C,SAAS,iCAChJmkB,EAAEizB,OAAOj+C,GAAG,GAAG0N,UAAU,gBAAkBsd,EAAEkwB,IAAM8D,EAAqB,GAAK,OAASh0B,EAAEkwB,IAAM,EAAI8D,GAAsB,SAASn4C,SAAS,+BAE9ImkB,EAAEgxB,UAAY,SAAUrlC,GACM,mBAAfA,IAAoD,gBAAfA,KAC5CA,EAAa,GACRqU,EAAE9sB,OAAOwwB,UAAS/X,EAAa,GAExC,IAAIqlC,GAAYn8C,SAASmrB,EAAEizB,OAAOj+C,GAAGgrB,EAAEizB,OAAOl+C,OAAS,GAAGyH,KAAK,cAAe,IAC1Eg1C,EAAW38C,SAASmrB,EAAEizB,OAAOj+C,GAAGgrB,EAAEizB,OAAOl+C,OAAS,GAAGyH,KAAK,aAAc,IACxEy3C,EAAW,GAAInzC,MAAK0wC,EAAUR,GAC9BkD,EAAeD,EAASlzC,UACxBozC,GAAwBn0B,EAAEmwB,SAC9B,IAAInwB,EAAE9sB,OAAOi8C,SACL+E,EAAe,GAAIpzC,MAAKkf,EAAE9sB,OAAOi8C,SAASpuC,UAC1C,MAAOif,GAAE+wB,YAIjB,IADA/wB,EAAE4wB,kBACEI,IAAchxB,EAAEgzB,aAAc,CAC9B,GAAIgB,GAA4C,KAArBh0B,EAAiB,gBAAU9d,EAClDsxC,EAAgBx/C,EAAEgsB,EAAEgyB,UAAUkC,EAAc,SAASxxC,UAAU,gBAAkBsd,EAAEkwB,IAAM8D,EAAqB,GAAK,OAASh0B,EAAEkwB,IAAM,EAAI8D,GAAsB,SAASn4C,SAAS,6BACpLmkB,GAAEsrB,QAAQxpC,OAAO0xC,EAAc,IAC/BxzB,EAAEizB,OAASjzB,EAAEsrB,QAAQ72C,KAAK,0BACtBurB,EAAE9sB,OAAO0gD,YACT5zB,EAAE9sB,OAAO0gD,WAAW5zB,EAAGA,EAAEizB,OAAOj+C,GAAGgrB,EAAEizB,OAAOl+C,OAAS,GAAG,IAGhEirB,EAAEmwB,WAAY,EACdnwB,EAAEmzB,mBAAmB,OACrB,IAAI5vC,GAAiC,IAApByc,EAAE4wB,gBAAyB1uC,CAE5C8d,GAAEsrB,QAAQ3/B,WAAWA,GAAYjJ,UAAU,gBAAkBsd,EAAEkwB,IAAM3sC,EAAY,GAAK,OAASyc,EAAEkwB,IAAM,EAAI3sC,GAAa,SACpH4wC,GACAn0B,EAAEsrB,QAAQpnC,cAAc,WACpB8b,EAAEszB,iBAAiB,UAGtBtzB,EAAE9sB,OAAOwwB,SACV1D,EAAEszB,iBAAiB,SAG3BtzB,EAAEixB,UAAY,SAAUtlC,GACM,mBAAfA,IAAoD,gBAAfA,KAC5CA,EAAa,GACRqU,EAAE9sB,OAAOwwB,UAAS/X,EAAa,GAExC,IAAIslC,GAAYp8C,SAASmrB,EAAEizB,OAAOj+C,GAAG,GAAGwH,KAAK,cAAe,IACxD+0C,EAAW18C,SAASmrB,EAAEizB,OAAOj+C,GAAG,GAAGwH,KAAK,aAAc,IACtD43C,EAAW,GAAItzC,MAAKywC,EAAUN,EAAY,IAAG,IAC7CoD,EAAeD,EAASrzC,UACxBozC,GAAwBn0B,EAAEmwB,SAC9B,IAAInwB,EAAE9sB,OAAOg8C,SACLmF,EAAe,GAAIvzC,MAAKkf,EAAE9sB,OAAOg8C,SAASnuC,UAC1C,MAAOif,GAAE+wB,YAIjB,IADA/wB,EAAE4wB,kBACEK,IAAcjxB,EAAEgzB,aAAc,CAC9B,GAAIc,GAA4C,KAArB9zB,EAAiB,gBAAU9d,EAClDuxC,EAAgBz/C,EAAEgsB,EAAEgyB,UAAUqC,EAAc,SAAS3xC,UAAU,gBAAkBsd,EAAEkwB,IAAM4D,EAAqB,GAAK,OAAS9zB,EAAEkwB,IAAM,EAAI4D,GAAsB,SAASj4C,SAAS,6BACpLmkB,GAAEsrB,QAAQtyB,QAAQy6B,EAAc,IAChCzzB,EAAEizB,OAASjzB,EAAEsrB,QAAQ72C,KAAK,0BACtBurB,EAAE9sB,OAAO0gD,YACT5zB,EAAE9sB,OAAO0gD,WAAW5zB,EAAGA,EAAEizB,OAAOj+C,GAAG,GAAG,IAG9CgrB,EAAEmwB,WAAY,EACdnwB,EAAEmzB,mBAAmB,OACrB,IAAI5vC,GAAiC,IAApByc,EAAE4wB,gBAAyB1uC,CAC5C8d,GAAEsrB,QAAQ3/B,WAAWA,GAAYjJ,UAAU,gBAAkBsd,EAAEkwB,IAAM3sC,EAAY,GAAK,OAASyc,EAAEkwB,IAAM,EAAI3sC,GAAa;AACpH4wC,GACAn0B,EAAEsrB,QAAQpnC,cAAc,WACpB8b,EAAEszB,iBAAiB,UAGtBtzB,EAAE9sB,OAAOwwB,SACV1D,EAAEszB,iBAAiB,SAG3BtzB,EAAE+wB,WAAa,SAAUplC,GACK,mBAAfA,KAA4BA,EAAa,GACpD,IAAIpI,GAAiC,IAApByc,EAAE4wB,gBAAyB1uC,CAC5C8d,GAAEsrB,QAAQ3/B,WAAWA,GAAYjJ,UAAU,gBAAkBsd,EAAEkwB,IAAM3sC,EAAY,GAAK,OAASyc,EAAEkwB,IAAM,EAAI3sC,GAAa,UAE5Hyc,EAAEs0B,aAAe,SAAUvG,EAAME,EAAOtiC,GAChB,mBAAToiC,KAAsBA,EAAO/tB,EAAEkzB,aACrB,mBAAVjF,KAAuBA,EAAQjuB,EAAEgzB,cAClB,mBAAfrnC,IAAoD,gBAAfA,KAC5CA,EAAa,GACRqU,EAAE9sB,OAAOwwB,UAAS/X,EAAa,GAExC,IAAI4oC,EAOJ,IALIA,EADAxG,EAAO/tB,EAAEkzB,YACI,GAAIpyC,MAAKitC,EAAME,EAAQ,IAAG,IAAIltC,UAG9B,GAAID,MAAKitC,EAAME,GAAOltC,UAEnCif,EAAE9sB,OAAOi8C,SAAWoF,EAAa,GAAIzzC,MAAKkf,EAAE9sB,OAAOi8C,SAASpuC,UAC5D,OAAO,CAEX,IAAIif,EAAE9sB,OAAOg8C,SAAWqF,EAAa,GAAIzzC,MAAKkf,EAAE9sB,OAAOg8C,SAASnuC,UAC5D,OAAO,CAEX,IAAIyzC,GAAc,GAAI1zC,MAAKkf,EAAEkzB,YAAalzB,EAAEgzB,cAAcjyC,UACtD4lB,EAAM4tB,EAAaC,EAAc,OAAS,OAC1Cd,EAAe1zB,EAAEgyB,UAAU,GAAIlxC,MAAKitC,EAAME,GAC9CjuB,GAAE4wB,gBAAkB5wB,EAAE4wB,iBAAmB,CACzC,IACI6D,GAAgBC,EADhB9I,EAAgB5rB,EAAE4wB,gBAElBuD,GAAwBn0B,EAAEmwB,SAC1BoE,GAAaC,GAEbx0B,EAAE4wB,kBACG5wB,EAAEmwB,WAAWnwB,EAAEizB,OAAOj+C,GAAGgrB,EAAEizB,OAAOl+C,OAAS,GAAGwP,SACnDyb,EAAEsrB,QAAQxpC,OAAO4xC,GACjB1zB,EAAEizB,OAASjzB,EAAEsrB,QAAQ72C,KAAK,0BAC1BggD,EAAwC,MAArB7I,EAAgB,GAAW1pC,EAC9C8d,EAAEizB,OAAOj+C,GAAGgrB,EAAEizB,OAAOl+C,OAAS,GAAG2N,UAAU,gBAAkBsd,EAAEkwB,IAAMuE,EAAiB,GAAK,OAASz0B,EAAEkwB,IAAM,EAAIuE,GAAkB,SAAS54C,SAAS,gCAIpJmkB,EAAE4wB,kBACG5wB,EAAEmwB,WAAWnwB,EAAEizB,OAAOj+C,GAAG,GAAGuP,SACjCyb,EAAEsrB,QAAQtyB,QAAQ06B,GAClB1zB,EAAEizB,OAASjzB,EAAEsrB,QAAQ72C,KAAK,0BAC1BggD,EAAwC,MAArB7I,EAAgB,GAAW1pC,EAC9C8d,EAAEizB,OAAOj+C,GAAG,GAAG0N,UAAU,gBAAkBsd,EAAEkwB,IAAMuE,EAAiB,GAAK,OAASz0B,EAAEkwB,IAAM,EAAIuE,GAAkB,SAAS54C,SAAS,+BAElImkB,EAAE9sB,OAAO0gD,YACT5zB,EAAE9sB,OAAO0gD,WAAW5zB,EAAW,SAAR2G,EAAiB3G,EAAEizB,OAAOj+C,GAAGgrB,EAAEizB,OAAOl+C,OAAS,GAAG,GAAKirB,EAAEizB,OAAOj+C,GAAG,GAAG,IAEjGgrB,EAAEmwB,WAAY,EACdnwB,EAAEmzB,mBAAmBxsB,GACrB+tB,EAAwC,IAApB10B,EAAE4wB,gBAAyB1uC,EAC/C8d,EAAEsrB,QAAQ3/B,WAAWA,GAAYjJ,UAAU,gBAAkBsd,EAAEkwB,IAAMwE,EAAmB,GAAK,OAAS10B,EAAEkwB,IAAM,EAAIwE,GAAoB,SAClIP,GACDn0B,EAAEsrB,QAAQpnC,cAAc,WACnB8b,EAAEszB,iBAAiB3sB,GAAK,KAG3B3G,EAAE9sB,OAAOwwB,SACV1D,EAAEszB,iBAAiB3sB,IAG3B3G,EAAEwxB,SAAW,WACTxxB,EAAEs0B,aAAat0B,EAAEkzB,YAAc,IAEnClzB,EAAEuxB,SAAW,WACTvxB,EAAEs0B,aAAat0B,EAAEkzB,YAAc,IAKnClzB,EAAEkD,OAAS,WACP,GAEI/lB,GAFAqwC,EAAa,GACbC,EAAc,GAGdkH,EAAa30B,EAAEvT,OAASuT,EAAEvT,MAAM1X,OAASirB,EAAEvT,MAAM,IAAK,GAAI3L,OAAO2xC,SAAS,EAAE,EAAE,EAAE,GAChFgB,EAAgBzzB,EAAEgyB,UAAU2C,EAAY,QACxCC,EAAmB50B,EAAEgyB,UAAU2C,GAC/BnB,EAAgBxzB,EAAEgyB,UAAU2C,EAAY,QACxCE,EAAa,oFAAsFpB,EAAgBmB,EAAmBpB,GAAiB,eAEvJsB,EAAiB,EACrB,IAAI90B,EAAE9sB,OAAO08C,WAAY,CACrB,IAAKzyC,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACpB,GAAIy1C,GAAgBz1C,EAAI6iB,EAAE9sB,OAAO67C,SAAW,EAAM5xC,EAAI,EAAI6iB,EAAE9sB,OAAO67C,SAAa5xC,EAAI6iB,EAAE9sB,OAAO67C,SACzFgG,EAAU/0B,EAAE9sB,OAAO27C,cAAc+D,EACrCkC,IAAkB,yCAA4C90B,EAAE9sB,OAAO87C,YAAYp6C,QAAQg+C,IAAiB,EAAK,mCAAqC,IAAM,MAAQmC,EAAU,SAGlLD,EAAiB,0CAA4CA,EAAiB,SAElFrH,EAAc,gCACDztB,EAAE9sB,OAAO+7C,YAAc,yBAA2B,KAClDjvB,EAAE9sB,OAAOsnB,SAAW,IAAMwF,EAAE9sB,OAAOsnB,SAAW,GAC3D,IAAI+S,GAAcvN,EAAE9sB,OAAOkX,QAAU4V,EAAE9sB,OAAOuvC,gBAAgBnvC,QAAQ,iBAAkB0sB,EAAE9sB,OAAO22C,kBAAoB,EACjH7pB,GAAE9sB,OAAOkX,UACTmjB,EAAcvN,EAAE9sB,OAAOuvC,gBAClBnvC,QAAQ,iBAAkB0sB,EAAE9sB,OAAO22C,kBACnCv2C,QAAQ,mBAAqB0sB,EAAE9sB,OAAOs8C,YAAcxvB,EAAE9sB,OAAOu8C,oBAAsB,IACnFn8C,QAAQ,kBAAoB0sB,EAAE9sB,OAAOw8C,WAAa1vB,EAAE9sB,OAAOy8C,mBAAqB,IAEzF,IAAIqF,GAAah1B,EAAE9sB,OAAO48C,OAAS9vB,EAAE9sB,OAAO88C,eAAe18C,QAAQ,iBAAkB0sB,EAAE9sB,OAAO22C,kBAAkBv2C,QAAQ,mBAAoB0sB,EAAE9sB,OAAO28C,mBAAqB,GACtKoF,EAAaj1B,EAAE9sB,OAAO68C,OAAS/vB,EAAE9sB,OAAO+8C,eAAe38C,QAAQ,iBAAkB0sB,EAAE9sB,OAAO22C,kBAAoB,EAElH2D,GACI,eAAiB,EAAgB,KAC7BwH,EACAC,EACA1nB,EACA,mCACIunB,EACAD,EACJ,eAIR70B,EAAEwtB,WAAaA,GA0CfxtB,EAAE9sB,OAAOqX,QACTyV,EAAEzV,MAAQvW,EAAEgsB,EAAE9sB,OAAOqX,OACjByV,EAAEzV,MAAMxV,OAAS,IACbirB,EAAE9sB,OAAO02C,eAAe5pB,EAAEzV,MAAM3D,KAAK,YAAY,GAChDoZ,EAAE6oB,QACH7oB,EAAEzV,MAAMzN,GAAG,QAASqsC,GAEpBnpB,EAAE9sB,OAAO02C,eACT5pB,EAAEzV,MAAMzN,GAAG,kBAAmB,SAAUwD,GACpCA,EAAE2B,sBAOb+d,EAAE6oB,QAAU7oB,EAAE9sB,OAAOy2C,qBAAqB31C,EAAE,QAAQ8I,GAAG,QAASktB,GAerEhK,EAAEe,QAAS,EACXf,EAAEsc,KAAO,WACL,GAAIzgB,GAAYkD,IACZqrB,GAAc,CACbpqB,GAAEe,SAEEf,EAAEvT,OACCuT,EAAE9sB,OAAOuZ,QACTuT,EAAEvT,MAAQuT,EAAE9sB,OAAOuZ,MACnB29B,GAAc,GAKtBpqB,EAAEkD,SAGErH,GACAmE,EAAEwtB,WAAa,2EAA6ExtB,EAAEwtB,WAAa,eAC3GxtB,EAAE7D,QAAU1oB,EAAI0oB,QAAQ6D,EAAEwtB,WAAYxtB,EAAE9sB,OAAOqX,OAAO,GACtDyV,EAAEriB,UAAY3J,EAAEgsB,EAAE7D,SAAS1nB,KAAK,iBAChCT,EAAEgsB,EAAE7D,SAASrf,GAAG,gBAAiB,WAC7BssC,OAGCppB,EAAE6oB,QACP7oB,EAAEriB,UAAY3J,EAAEgsB,EAAEwtB,YAClBxtB,EAAEriB,UAAU9B,SAAS,uBACrB7H,EAAEgsB,EAAE9sB,OAAOyK,WAAWmE,OAAOke,EAAEriB,aAG/BqiB,EAAEriB,UAAY3J,EAAEP,EAAImrB,YAAYoB,EAAEwtB,aAClCx5C,EAAEgsB,EAAEriB,WACHb,GAAG,eAAgB,WAChBssC,OAKRppB,EAAEriB,UAAU,GAAGu3C,WAAal1B,EAC5BA,EAAEsrB,QAAUtrB,EAAEriB,UAAUlJ,KAAK,mCAG7BurB,EAAEizB,OAASjzB,EAAEsrB,QAAQ72C,KAAK,0BAG1BurB,EAAE+yB,yBAGF/yB,EAAE4wB,gBAAkB,EACpB5wB,EAAE2zB,qBAGF3zB,EAAE2wB,qBAGEvG,EAAapqB,EAAEoqB,cACV32C,EAAIP,OAAO+H,UAAY+kB,EAAEvT,OAAOuT,EAAEoqB,aAAY,GAGnDpqB,EAAEzV,OAASyV,EAAEzV,MAAMxV,OAAS,GAAKtB,EAAIP,OAAO+H,UAC5C+kB,EAAEzV,MAAMzV,QAAQ,UAMxBkrB,EAAEe,QAAS,EACXf,EAAE8pB,aAAc,EACZ9pB,EAAE9sB,OAAO0gD,YACT5zB,EAAEizB,OAAO3vC,KAAK,WACV0c,EAAE9sB,OAAO0gD,WAAW5zB,EAAG/rB,QAG3B+rB,EAAE9sB,OAAO2vC,QAAQ7iB,EAAE9sB,OAAO2vC,OAAO7iB,IAIzCA,EAAEvF,MAAQ,WACN,GAAKuF,EAAEe,SAAUf,EAAE6oB,OACnB,MAAIC,SACAr1C,GAAIsO,WAAWie,EAAE7D,aAIjB1oB,GAAIsO,WAAWie,EAAEriB,YAMzBqiB,EAAEvZ,QAAU,WACRuZ,EAAEvF,QACEuF,EAAE9sB,OAAOqX,OAASyV,EAAEzV,MAAMxV,OAAS,GACnCirB,EAAEzV,MAAM4F,IAAI,cAAeg5B,GAE/Bn1C,EAAE,QAAQmc,IAAI,QAAS6Z,IAGvBhK,EAAE6oB,OACF7oB,EAAEsc,QAGGtc,EAAE8pB,aAAe9pB,EAAE9sB,OAAOuZ,OAAOuT,EAAEkpB,SAASlpB,EAAE9sB,OAAOuZ,OAGvDuT,EAEXvsB,GAAI0hD,SAAW,SAAUjiD,GACrB,MAAO,IAAI06C,GAAS16C,GAOxB,IAAIkiD,EACJ3hD,GAAI4hD,gBAAkB,SAAUniD,GAC5B,GAAKA,EAAL,CAE4B,mBAAjBA,GAAOoiD,QAAuBpiD,EAAOoiD,MAAQ7hD,EAAIP,OAAOqiD,mBACvC,mBAAjBriD,GAAO2a,QAAuB3a,EAAO2a,MAAQpa,EAAIP,OAAOsiD,mBACpC,mBAApBtiD,GAAOuiD,WAA0BviD,EAAOuiD,SAAWhiD,EAAIP,OAAOwiD,sBACzC,mBAArBxiD,GAAOyiD,YAA2BziD,EAAOyiD,UAAYliD,EAAIP,OAAOwH,uBAChD,mBAAhBxH,GAAO0iD,OAAsB1iD,EAAO0iD,KAAOniD,EAAIP,OAAO2iD,kBAC9B,mBAAxB3iD,GAAO4iD,eAA8B5iD,EAAO4iD,aAAeriD,EAAIP,OAAOuH,0BACpD,mBAAlBvH,GAAOmpB,SAAwBnpB,EAAOmpB,OAAS5oB,EAAIP,OAAOyH,8BACjE+S,KAAMja,EAAIP,OAAOyH,4BACjB8f,OAAO,IAGN26B,IAA0BA,EAA2B7/C,SAAS8e,cAAc,QAEjFnhB,EAAO+H,SAAWxH,EAAIP,OAAO+H,QAE7B,IAAI0C,GAAY3J,EAAE,iBACO,KAArB2J,EAAU5I,SACVtB,EAAImC,KAAKkM,OAAO,wCAA0C5O,EAAO+H,SAAW,GAAK,eAAiB,qBAClG0C,EAAY3J,EAAE,kBAElB,IAAIgjC,GAAOr5B,EAAU4J,SAAS,MAE1BwuC,EAAuBtiD,EAAIP,OAAO6iD,sBAClC,65BAsCCtiD,GAAImI,mBAAmBo6C,eACxBviD,EAAImI,mBAAmBo6C,aAAet6C,EAAGwa,QAAQ6/B,IAErDX,EAAyBh+B,UAAY3jB,EAAImI,mBAAmBo6C,aAAa9iD,EAEzE,IAAIu3B,GAAOz2B,EAAEohD,GAA0B7tC,UAEvCkjB,GAAK3tB,GAAG,QAAS,SAAUwD,GACvB,GAAIma,IAAQ,EACRlZ,EAASvN,EAAEsM,EAAEiB,OACbrO,GAAO+H,UAAYsG,EAAO5M,SAAS,WAC/BzB,EAAOmpB,QAAUnpB,EAAOmpB,OAAO3B,SAASxnB,EAAOmpB,OAAO3B,QAAQoM,KAAKvlB,EAAO,GAAIjB,EAAGmqB,EAAK,IAE1FlpB,EAAOE,GAAG,wBAA0BzN,EAAEsM,EAAEiB,QAAQC,QAAQ,uBAAuBzM,OAAS,EACxF0lB,GAAQ,GAGJvnB,EAAOwnB,SAASxnB,EAAOwnB,QAAQpa,EAAGmqB,EAAK,IACvCv3B,EAAO4iD,eAAcr7B,GAAQ,IAEjCA,GAAOhnB,EAAIwiD,kBAAkBxrB,EAAK,MAEtCv3B,EAAO6vC,SACPtY,EAAKpU,KAAK,wBAAyB,WAC/BnjB,EAAO6vC,QAAQtY,EAAK,MAGxBv3B,EAAOgjD,iBACPzrB,EAAK5uB,SAAS3I,EAAOgjD,iBAErBhjD,EAAO0iD,MACPlgD,WAAW,WACH+0B,EAAK11B,OAAS,GAAGtB,EAAIwiD,kBAAkBxrB,EAAK,KACjDv3B,EAAO0iD,MAGTniD,EAAIP,OAAO+H,UACZxH,EAAIwiD,kBAAkBjf,EAAKzvB,SAAS,oCAExCyvB,EAAKl1B,OAAO2oB,EAAK,IACjB9sB,EAAUiO,MAEV,IAAqCC,GAAjCwkB,EAAa5F,EAAK9M,aAuBtB,OAtBIzqB,GAAO+H,UACP0C,EAAU+E,UAAU,kBAAkB2tB,EAAW,UACjD1yB,EAAUgO,WAAW,GAErBE,EAAa4e,EAAK,GAAG5e,WAErBlO,EAAU+E,UAAU,wBACpB/E,EAAUgO,WAAW,MAGrB8e,EAAK/nB,UAAU,kBAAqB2tB,EAAc,SAClD5F,EAAK9e,WAAW,GAEhBE,EAAa4e,EAAK,GAAG5e,WAErB4e,EAAK9e,WAAW,IAChB8e,EAAK/nB,UAAU,yBAGnB/E,EAAU+E,UAAU,uBACpB+nB,EAAK/tB,YAAY,uBAEV+tB,EAAK,KAEhBh3B,EAAIwiD,kBAAoB,SAAUxrB,GAE9B,GADAA,EAAOz2B,EAAEy2B,GACW,IAAhBA,EAAK11B,SACL01B,EAAK91B,SAAS,8BAAlB,CACA,GAAIgJ,GAAY3J,EAAE,kBAEdq8B,EAAa5F,EAAK9M,aACtB8M,GAAKluB,IAAI,SAAU8zB,EAAa,MAAM1kB,WAAW,GAAG9P,SAAS,6BAC5C4uB,GAAK,GAAG5e,UAEzB4e,GAAKluB,KACDnI,OAAQ,MACR+hD,aAAc,QACfxqC,WAAW,IAEV8e,EAAKpU,KAAK,0BAA0BoU,EAAKpU,KAAK,2BAEmC,IAAjF1Y,EAAUlJ,KAAK,uDAAuDM,QACtE4I,EAAU+E,UAAU,IAGxB+nB,EAAK5uB,SAAS,uBAAuBqI,cAAc,WAC/CumB,EAAKlmB,SAC+C,IAAhD5G,EAAUlJ,KAAK,sBAAsBM,QACrC4I,EAAUuP,WAQtBzZ,EAAI2iD,uBAAyB,WACpBpjD,OAAO2I,YACZA,UAAUd,UAAYc,UAAUd,WAAapH,EAAIP,OAAO2H,cACxDc,UAAU0a,KAAO1a,UAAU0a,MAAQ5iB,EAAIP,OAAO4H,kBAC9Ca,UAAU9F,MAAQ8F,UAAU9F,UAE5BpC,EAAIoH,UAAYc,UAAUd,UAC1BpH,EAAIqH,cAAgBa,UAAU0a,KAC9B5iB,EAAIwiB,eAAiBta,UAAU9F,MAG1BpC,EAAIP,OAAO8H,qBAChBhH,EAAE,iCAAiCsP,KAAK,WACpC,GAAIqpB,GAAK34B,EAAEC,MAAMuI,KAAK,KACjBmwB,KACLhxB,UAAUd,UAAU8xB,GAAMhxB,UAAUua,QAAQliB,EAAEC,MAAM0uB,YAQ5D,IAAI0zB,KAuGJ,OAtGA5iD,GAAI6iD,YAAc,WAEd,IAAK,GAAIC,KAAU9iD,GAAI+iD,QAAS,CAC5B,GAAIx2B,GAAIvsB,EAAI+iD,QAAQD,GAAQ9iD,EAAKA,EAAIP,OAAOqjD,GACxCv2B,IAAGq2B,EAAS/3C,KAAK0hB,KAI7BvsB,EAAIqT,WAAa,SAAU2vC,GACvB,IAAK,GAAIt5C,GAAI,EAAGA,EAAIk5C,EAASthD,OAAQoI,IAC7Bk5C,EAASl5C,GAAGu5C,OAASD,IAAQJ,GAASl5C,GAAGu5C,OACzCL,EAASl5C,GAAGu5C,MAAMD,GAAM37B,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,KAKtGrnB,EAAIkjD,cAAgB,SAAUjyC,GAE1B,IAAK,GADD6zB,IAAU,EACLp7B,EAAI,EAAGA,EAAIk5C,EAASthD,OAAQoI,IAC7Bk5C,EAASl5C,GAAGy5C,UAAYlyC,IAAU2xC,GAASl5C,GAAGy5C,UAC1CP,EAASl5C,GAAGy5C,SAASlyC,GAAQoW,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,MAAKyd,GAAU,EAG1H,OAAOA,IAGX9kC,EAAI+hB,cAAgB,SAAUqhC,EAASxgC,GAEnC,IAAK,GADDygC,GAAYzgC,EACPlZ,EAAI,EAAGA,EAAIk5C,EAASthD,OAAQoI,IAC7Bk5C,EAASl5C,GAAGmY,YAAcuhC,IAAWR,GAASl5C,GAAGmY,aACjDwhC,EAAYT,EAASl5C,GAAGmY,WAAWuhC,GAASxgC,EAAMyE,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,IAG5H,OAAOg8B,IAQXrjD,EAAI8H,KAAO,WAEH9H,EAAI2iD,wBAAwB3iD,EAAI2iD,yBAGhC3iD,EAAI6iD,aAAa7iD,EAAI6iD,cAGrB7iD,EAAIsjD,eAAetjD,EAAIsjD,gBAGvBtjD,EAAIyjC,gBAAkBzjC,EAAIP,OAAO6D,YAAYtD,EAAIyjC,iBACjDzjC,EAAIwoC,iBAAiBxoC,EAAIwoC,kBAG7BjoC,EAAE,sBAAsBsP,KAAK,WACzB7P,EAAIwgB,qBAAqBhgB,QAI7BD,EAAE,wBAAwBsP,KAAK,WAC3B7P,EAAI8U,uBAAuBtU,QAI3BR,EAAIypC,YAAYzpC,EAAIypC,aAGpBzpC,EAAIqsC,eAAiBrsC,EAAIP,OAAOuD,WAAWhD,EAAIqsC,gBAG/CrsC,EAAIuxB,cAAgBvxB,EAAIP,OAAOoF,UAAU7E,EAAIuxB,eAG7CvxB,EAAIi0B,cAAgBj0B,EAAIP,OAAO8E,UAAUvE,EAAIi0B,eAG7Cj0B,EAAIktB,kBAAoBltB,EAAIP,OAAOgG,YAAczF,EAAIP,OAAOmG,sBAAsB5F,EAAIktB,kBAGtFltB,EAAIP,OAAO+H,UAAYxH,EAAI2rC,yBAAyB3rC,EAAI2rC,0BAGxD3rC,EAAIP,OAAO+H,UACXjH,EAAE,WAAWsP,KAAK,SAAU2D,EAAOpH,GACO,IAAlC7L,EAAE6L,GAAI2B,QAAQ,SAASzM,QACvBtB,EAAIqiC,mBAAmBj2B,KAM/BpM,EAAIP,OAAO8jD,WAAWvjD,EAAIP,OAAO8jD,YAGrCvjD,EAAIqT,WAAW,YAEfrT,EAAIP,OAAOqI,MAAM9H,EAAI8H,OAIlB9H,EAOX,IAAIgI,GAAO,WACP,GAAIA,GAAO,SAAUw7C,GACjB,GAAIC,GAAQjjD,KAAMkJ,EAAI,CAEtB,KAAKA,EAAI,EAAGA,EAAI85C,EAAIliD,OAAQoI,IACxB+5C,EAAM/5C,GAAK85C,EAAI95C,EAInB,OAFA+5C,GAAMniD,OAASkiD,EAAIliD,OAEZd,MAEPD,EAAI,SAAUkJ,EAAU+U,GACxB,GAAIglC,MAAU95C,EAAI,CAClB,IAAID,IAAa+U,GACT/U,YAAoBzB,GACpB,MAAOyB,EAGf,IAAIA,EAEA,GAAwB,gBAAbA,GAAuB,CAC9B,GAAIoiC,GAAK6X,EAAYx0B,CAErB,IADAzlB,EAAWylB,EAAOzlB,EAAS0P,OACvB+V,EAAK/tB,QAAQ,MAAQ,GAAK+tB,EAAK/tB,QAAQ,MAAQ,EAAG,CAClD,GAAIwiD,GAAW,KAQf,KAP4B,IAAxBz0B,EAAK/tB,QAAQ,SAAcwiD,EAAW,MACd,IAAxBz0B,EAAK/tB,QAAQ,SAAcwiD,EAAW,SACd,IAAxBz0B,EAAK/tB,QAAQ,QAAwC,IAAxB+tB,EAAK/tB,QAAQ,SAAcwiD,EAAW,MACxC,IAA3Bz0B,EAAK/tB,QAAQ,YAAiBwiD,EAAW,SACb,IAA5Bz0B,EAAK/tB,QAAQ,aAAkBwiD,EAAW,UAC9CD,EAAa5hD,SAAS8e,cAAc+iC,GACpCD,EAAW//B,UAAYuL,EAClBxlB,EAAI,EAAGA,EAAIg6C,EAAW34B,WAAWzpB,OAAQoI,IAC1C85C,EAAI34C,KAAK64C,EAAW34B,WAAWrhB,QAYnC,KAFImiC,EANCrtB,GAA2B,MAAhB/U,EAAS,IAAeA,EAAS3J,MAAM,aAM5C0e,GAAW1c,UAAU8hD,iBAAiBn6C,IAJtC3H,SAAS+hD,eAAep6C,EAAS2B,MAAM,KAAK,KAMlD1B,EAAI,EAAGA,EAAImiC,EAAIvqC,OAAQoI,IACpBmiC,EAAIniC,IAAI85C,EAAI34C,KAAKghC,EAAIniC,QAKhC,IAAID,EAASmmB,UAAYnmB,IAAalK,QAAUkK,IAAa3H,SAC9D0hD,EAAI34C,KAAKpB,OAGR,IAAIA,EAASnI,OAAS,GAAKmI,EAAS,GAAGmmB,SACxC,IAAKlmB,EAAI,EAAGA,EAAID,EAASnI,OAAQoI,IAC7B85C,EAAI34C,KAAKpB,EAASC,GAI9B,OAAO,IAAI1B,GAAKw7C,GAGpBx7C,GAAK87C,WAED17C,SAAU,SAAUgH,GAChB,GAAyB,mBAAdA,GACP,MAAO5O,KAGX,KAAK,GADDujD,GAAU30C,EAAUhE,MAAM,KACrB1B,EAAI,EAAGA,EAAIq6C,EAAQziD,OAAQoI,IAChC,IAAK,GAAIwU,GAAI,EAAGA,EAAI1d,KAAKc,OAAQ4c,IACI,mBAAtB1d,MAAK0d,GAAG8M,WAA2BxqB,KAAK0d,GAAG8M,UAAUC,IAAI84B,EAAQr6C,GAGpF,OAAOlJ,OAEXyI,YAAa,SAAUmG,GAEnB,IAAK,GADD20C,GAAU30C,EAAUhE,MAAM,KACrB1B,EAAI,EAAGA,EAAIq6C,EAAQziD,OAAQoI,IAChC,IAAK,GAAIwU,GAAI,EAAGA,EAAI1d,KAAKc,OAAQ4c,IACI,mBAAtB1d,MAAK0d,GAAG8M,WAA2BxqB,KAAK0d,GAAG8M,UAAUla,OAAOizC,EAAQr6C,GAGvF,OAAOlJ,OAEXU,SAAU,SAAUkO,GAChB,QAAK5O,KAAK,IACEA,KAAK,GAAGwqB,UAAUg5B,SAAS50C,IAE3C0kB,YAAa,SAAU1kB,GAEnB,IAAK,GADD20C,GAAU30C,EAAUhE,MAAM,KACrB1B,EAAI,EAAGA,EAAIq6C,EAAQziD,OAAQoI,IAChC,IAAK,GAAIwU,GAAI,EAAGA,EAAI1d,KAAKc,OAAQ4c,IACI,mBAAtB1d,MAAK0d,GAAG8M,WAA2BxqB,KAAK0d,GAAG8M,UAAUi5B,OAAOF,EAAQr6C,GAGvF,OAAOlJ,OAEXuI,KAAM,SAAUm7C,EAAOlrC,GACnB,GAAyB,IAArBqO,UAAU/lB,QAAiC,gBAAV4iD,GAEjC,MAAI1jD,MAAK,GAAWA,KAAK,GAAGM,aAAaojD,GACpC,MAIL,KAAK,GAAIx6C,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAC7B,GAAyB,IAArB2d,UAAU/lB,OAEVd,KAAKkJ,GAAGy6C,aAAaD,EAAOlrC,OAI5B,KAAK,GAAIorC,KAAYF,GACjB1jD,KAAKkJ,GAAG06C,GAAYF,EAAME,GAC1B5jD,KAAKkJ,GAAGy6C,aAAaC,EAAUF,EAAME,GAIjD,OAAO5jD,OAGfyS,WAAY,SAAUlK,GAClB,IAAK,GAAIW,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAC7BlJ,KAAKkJ,GAAG26C,gBAAgBt7C,EAE5B,OAAOvI,OAEX2S,KAAM,SAAU6c,EAAOhX,GACnB,GAAyB,IAArBqO,UAAU/lB,QAAiC,gBAAV0uB,GAIhC,CAED,IAAK,GAAItmB,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAC7B,GAAyB,IAArB2d,UAAU/lB,OAEVd,KAAKkJ,GAAGsmB,GAAShX,MAIjB,KAAK,GAAIsrC,KAAYt0B,GACjBxvB,KAAKkJ,GAAG46C,GAAYt0B,EAAMs0B,EAItC,OAAO9jD,MAhBP,GAAIA,KAAK,GAAI,MAAOA,MAAK,GAAGwvB,IAmBpCpN,KAAM,SAAUI,EAAKhK,GACjB,GAAI5M,EACJ,EAAA,GAAqB,mBAAV4M,GAAX,CAmBI,IAAK,GAAItP,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAC7B0C,EAAK5L,KAAKkJ,GACL0C,EAAGm4C,yBAAwBn4C,EAAGm4C,2BACnCn4C,EAAGm4C,uBAAuBvhC,GAAOhK,CAErC,OAAOxY,MArBP,GAFA4L,EAAK5L,KAAK,GAEF,CACJ,GAAI4L,EAAGm4C,wBAA2BvhC,IAAO5W,GAAGm4C,uBACxC,MAAOn4C,GAAGm4C,uBAAuBvhC,EAGjC,IAAIwhC,GAAUp4C,EAAGtL,aAAa,QAAUkiB,EACxC,OAAIwhC,GACOA,EAEN,UAerB34B,WAAY,SAAS7I,GACjB,IAAK,GAAItZ,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAAK,CAClC,GAAI0C,GAAK5L,KAAKkJ,EACV0C,GAAGm4C,wBAA0Bn4C,EAAGm4C,uBAAuBvhC,KACvD5W,EAAGm4C,uBAAuBvhC,GAAO,WAC1B5W,GAAGm4C,uBAAuBvhC,MAI7ChI,QAAS,WACL,GAAI5O,GAAK5L,KAAK,EACd,IAAI4L,EAAI,CACJ,GAAI4O,KACJ,IAAI5O,EAAG4O,QACH,IAAK,GAAIwpC,KAAWp4C,GAAG4O,QACnBA,EAAQwpC,GAAWp4C,EAAG4O,QAAQwpC,OAIlC,KAAK,GAAI96C,GAAI,EAAGA,EAAI0C,EAAGq4C,WAAWnjD,OAAQoI,IAAK,CAC3C,GAAIX,GAAOqD,EAAGq4C,WAAW/6C,EACrBX,GAAKuI,KAAKnQ,QAAQ,UAAY,IAC9B6Z,EAAQza,EAAEmkD,YAAY37C,EAAKuI,KAAKlG,MAAM,SAAS,KAAOrC,EAAKiQ,OAIvE,IAAK,GAAIgK,KAAOhI,GACS,UAAjBA,EAAQgI,GAAkBhI,EAAQgI,IAAO,EACnB,SAAjBhI,EAAQgI,GAAiBhI,EAAQgI,IAAO,EACxCqJ,WAAWrR,EAAQgI,MAAyB,EAAfhI,EAAQgI,KAAUhI,EAAQgI,GAAsB,EAAfhI,EAAQgI,GAEnF,OAAOhI,KAGfnC,IAAK,SAAUG,GACX,GAAqB,mBAAVA,GAAX,CAcI,IAAK,GAAItP,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAC7BlJ,KAAKkJ,GAAGsP,MAAQA,CAEpB,OAAOxY,MAhBP,GAAIA,KAAK,GAAI,CACT,GAAIA,KAAK,GAAG24B,UAA+C,WAAnC34B,KAAK,GAAG2sB,SAASrT,cAA4B,CAEjE,IAAK,GADDD,MACKnQ,EAAI,EAAGA,EAAIlJ,KAAK,GAAGi2B,gBAAgBn1B,OAAQoI,IAChDmQ,EAAOhP,KAAKrK,KAAK,GAAGi2B,gBAAgB/sB,GAAGsP,MAE3C,OAAOa,GAEX,MAAOrZ,MAAK,GAAGwY,QAY3B/J,UAAY,SAAUA,GAClB,IAAK,GAAIvF,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAAK,CAClC,GAAIi7C,GAAUnkD,KAAKkJ,GAAGwF,KACtBy1C,GAAQC,gBAAkBD,EAAQ11C,UAAYA,EAElD,MAAOzO,OAEX0X,WAAY,SAAUgZ,GACM,gBAAbA,KACPA,GAAsB,KAE1B,KAAK,GAAIxnB,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAAK,CAClC,GAAIi7C,GAAUnkD,KAAKkJ,GAAGwF,KACtBy1C,GAAQE,yBAA2BF,EAAQG,mBAAqB5zB,EAEpE,MAAO1wB,OAGX6I,GAAI,SAAUiP,EAAWysC,EAAgBC,EAAU5zC,GAC/C,QAAS6zC,GAAgBp4C,GACrB,GAAIiB,GAASjB,EAAEiB,MACf,IAAIvN,EAAEuN,GAAQE,GAAG+2C,GAAiBC,EAAS3xB,KAAKvlB,EAAQjB,OAGpD,KAAK,GADDkB,GAAUxN,EAAEuN,GAAQC,UACf2wC,EAAI,EAAGA,EAAI3wC,EAAQzM,OAAQo9C,IAC5Bn+C,EAAEwN,EAAQ2wC,IAAI1wC,GAAG+2C,IAAiBC,EAAS3xB,KAAKtlB,EAAQ2wC,GAAI7xC,GAI5E,GACInD,GAAGwU,EADHy9B,EAASrjC,EAAUlN,MAAM,IAE7B,KAAK1B,EAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IACzB,GAA8B,kBAAnBq7C,IAAiCA,KAAmB,EAM3D,IAJ8B,kBAAnBA,KACPC,EAAW39B,UAAU,GACrBjW,EAAUiW,UAAU,KAAM,GAEzBnJ,EAAI,EAAGA,EAAIy9B,EAAOr6C,OAAQ4c,IAC3B1d,KAAKkJ,GAAG6+B,iBAAiBoT,EAAOz9B,GAAI8mC,EAAU5zC,OAKlD,KAAK8M,EAAI,EAAGA,EAAIy9B,EAAOr6C,OAAQ4c,IACtB1d,KAAKkJ,GAAGw7C,oBAAmB1kD,KAAKkJ,GAAGw7C,sBACxC1kD,KAAKkJ,GAAGw7C,kBAAkBr6C,MAAMm6C,SAAUA,EAAUG,aAAcF,IAClEzkD,KAAKkJ,GAAG6+B,iBAAiBoT,EAAOz9B,GAAI+mC,EAAiB7zC,EAKjE,OAAO5Q,OAEXkc,IAAK,SAAUpE,EAAWysC,EAAgBC,EAAU5zC,GAEhD,IAAK,GADDuqC,GAASrjC,EAAUlN,MAAM,KACpB1B,EAAI,EAAGA,EAAIiyC,EAAOr6C,OAAQoI,IAC/B,IAAK,GAAIwU,GAAI,EAAGA,EAAI1d,KAAKc,OAAQ4c,IAC7B,GAA8B,kBAAnB6mC,IAAiCA,KAAmB,EAE7B,kBAAnBA,KACPC,EAAW39B,UAAU,GACrBjW,EAAUiW,UAAU,KAAM,GAE9B7mB,KAAK0d,GAAGknC,oBAAoBzJ,EAAOjyC,GAAIs7C,EAAU5zC,OAIjD,IAAI5Q,KAAK0d,GAAGgnC,kBACR,IAAK,GAAIxG,GAAI,EAAGA,EAAIl+C,KAAK0d,GAAGgnC,kBAAkB5jD,OAAQo9C,IAC9Cl+C,KAAK0d,GAAGgnC,kBAAkBxG,GAAGsG,WAAaA,GAC1CxkD,KAAK0d,GAAGknC,oBAAoBzJ,EAAOjyC,GAAIlJ,KAAK0d,GAAGgnC,kBAAkBxG,GAAGyG,aAAc/zC,EAO1G,OAAO5Q,OAEXya,KAAM,SAAU3C,EAAWysC,EAAgBC,EAAU5zC,GAOjD,QAASi0C,GAAMx4C,GACXm4C,EAAS3xB,KAAKxmB,EAAEiB,OAAQjB,GACxBy4C,EAAI5oC,IAAIpE,EAAWysC,EAAgBM,EAAOj0C,GAR9C,GAAIk0C,GAAM9kD,IAUV,OAT8B,kBAAnBukD,KACPC,EAAW39B,UAAU,GACrBjW,EAAUiW,UAAU,GACpB09B,GAAiB,GAMdO,EAAIj8C,GAAGiP,EAAWysC,EAAgBM,EAAOj0C,IAEpD/P,QAAS,SAAUiX,EAAW/D,GAE1B,IAAK,GADDonC,GAASrjC,EAAUlN,MAAM,KACpB1B,EAAI,EAAGA,EAAIiyC,EAAOr6C,OAAQoI,IAC/B,IAAK,GAAIwU,GAAI,EAAGA,EAAI1d,KAAKc,OAAQ4c,IAAK,CAClC,GAAIkoB,EACJ,KACIA,EAAM,GAAImf,aAAY5J,EAAOjyC,IAAK6tB,OAAQhjB,EAAWixC,SAAS,EAAMzd,YAAY,IAEpF,MAAOl7B,GACHu5B,EAAMtkC,SAASukC,YAAY,SAC3BD,EAAIqf,UAAU9J,EAAOjyC,IAAI,GAAM,GAC/B08B,EAAI7O,OAAShjB,EAEjB/T,KAAK0d,GAAG4oB,cAAcV,GAG9B,MAAO5lC,OAEXiQ,cAAe,SAAUvQ,GAGrB,QAASwlD,GAAa74C,GAElB,GAAIA,EAAEiB,SAAWtN,KAEjB,IADAN,EAASmzB,KAAK7yB,KAAMqM,GACfnD,EAAI,EAAGA,EAAIiyC,EAAOr6C,OAAQoI,IAC3B47C,EAAI5oC,IAAIi/B,EAAOjyC,GAAIg8C,GAP3B,GACIh8C,GADAiyC,GAAU,sBAAuB,iBAC9B2J,EAAM9kD,IASb,IAAIN,EACA,IAAKwJ,EAAI,EAAGA,EAAIiyC,EAAOr6C,OAAQoI,IAC3B47C,EAAIj8C,GAAGsyC,EAAOjyC,GAAIg8C,EAG1B,OAAOllD,OAEXikB,aAAc,SAAUvkB,GAGpB,QAASwlD,GAAa74C,GAElB,IADA3M,EAAS2M,GACJnD,EAAI,EAAGA,EAAIiyC,EAAOr6C,OAAQoI,IAC3B47C,EAAI5oC,IAAIi/B,EAAOjyC,GAAIg8C,GAL3B,GACIh8C,GADAiyC,GAAU,qBAAsB,gBAC7B2J,EAAM9kD,IAOb,IAAIN,EACA,IAAKwJ,EAAI,EAAGA,EAAIiyC,EAAOr6C,OAAQoI,IAC3B47C,EAAIj8C,GAAGsyC,EAAOjyC,GAAIg8C,EAG1B,OAAOllD,OAGXqN,MAAO,WACH,MAAIrN,MAAK,KAAOjB,OACLA,OAAOguB,WAGV/sB,KAAKc,OAAS,EACP+qB,WAAW7rB,KAAKsI,IAAI,UAGpB,MAInB8M,WAAY,SAAU+vC,GAClB,GAAInlD,KAAKc,OAAS,EAAG,CACjB,GAAIqkD,EAAgB,CAChB,GAAI3vC,GAASxV,KAAKwV,QAClB,OAAOxV,MAAK,GAAG0V,YAAcmW,WAAWrW,EAAO4vC,iBAAiB,iBAAmBv5B,WAAWrW,EAAO4vC,iBAAiB,gBAGtH,MAAOplD,MAAK,GAAG0V,YAElB,MAAO,OAEhBvV,OAAQ,WACJ,MAAIH,MAAK,KAAOjB,OACLA,OAAOsvB,YAGVruB,KAAKc,OAAS,EACP+qB,WAAW7rB,KAAKsI,IAAI,WAGpB,MAInBohB,YAAa,SAAUy7B,GACnB,GAAInlD,KAAKc,OAAS,EAAG,CACjB,GAAIqkD,EAAgB,CAChB,GAAI3vC,GAASxV,KAAKwV,QAClB,OAAOxV,MAAK,GAAGI,aAAeyrB,WAAWrW,EAAO4vC,iBAAiB,eAAiBv5B,WAAWrW,EAAO4vC,iBAAiB,kBAGrH,MAAOplD,MAAK,GAAGI,aAElB,MAAO,OAEhBsN,OAAQ,WACJ,GAAI1N,KAAKc,OAAS,EAAG,CACjB,GAAI8K,GAAK5L,KAAK,GACVmlC,EAAMv5B,EAAGwiB,wBACT7sB,EAAOD,SAASC,KAChB8jD,EAAaz5C,EAAGy5C,WAAc9jD,EAAK8jD,WAAc,EACjDztC,EAAahM,EAAGgM,YAAcrW,EAAKqW,YAAc,EACjD3X,EAAalB,OAAOumD,aAAe15C,EAAG3L,UACtCuB,EAAazC,OAAOwmD,aAAe35C,EAAGpK,UAC1C,QACIynB,IAAKkc,EAAIlc,IAAOhpB,EAAaolD,EAC7B13C,KAAMw3B,EAAIx3B,KAAOnM,EAAaoW,GAIlC,MAAO,OAGfqB,KAAM,WACF,IAAK,GAAI/P,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAC7BlJ,KAAKkJ,GAAGwF,MAAM4d,QAAU,MAE5B,OAAOtsB,OAEX2X,KAAM,WACF,IAAK,GAAIzO,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAC7BlJ,KAAKkJ,GAAGwF,MAAM4d,QAAU,OAE5B,OAAOtsB,OAEXwV,OAAQ,WACJ,GAAIxV,KAAK,GAAI,MAAOjB,QAAOymD,iBAAiBxlD,KAAK,GAAI,OAEzDsI,IAAK,SAAUknB,EAAOhX,GAClB,GAAItP,EACJ,IAAyB,IAArB2d,UAAU/lB,OAAc,CACxB,GAAqB,gBAAV0uB,GAGN,CACD,IAAKtmB,EAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IACzB,IAAK,GAAIyJ,KAAQ6c,GACbxvB,KAAKkJ,GAAGwF,MAAMiE,GAAQ6c,EAAM7c,EAGpC,OAAO3S,MARP,GAAIA,KAAK,GAAI,MAAOjB,QAAOymD,iBAAiBxlD,KAAK,GAAI,MAAMolD,iBAAiB51B,GAWpF,GAAyB,IAArB3I,UAAU/lB,QAAiC,gBAAV0uB,GAAoB,CACrD,IAAKtmB,EAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IACzBlJ,KAAKkJ,GAAGwF,MAAM8gB,GAAShX,CAE3B,OAAOxY,MAEX,MAAOA,OAKXqP,KAAM,SAAU3P,GAEZ,IAAKA,EAAU,MAAOM,KAEtB,KAAK,GAAIkJ,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAE7B,GAAIxJ,EAASmzB,KAAK7yB,KAAKkJ,GAAIA,EAAGlJ,KAAKkJ,OAAQ,EAEvC,MAAOlJ,KAIf,OAAOA,OAEXugB,OAAQ,SAAU7gB,GAGd,IAAK,GAFD+lD,MACAX,EAAM9kD,KACDkJ,EAAI,EAAGA,EAAI47C,EAAIhkD,OAAQoI,IACxBxJ,EAASmzB,KAAKiyB,EAAI57C,GAAIA,EAAG47C,EAAI57C,KAAKu8C,EAAap7C,KAAKy6C,EAAI57C,GAEhE,OAAO,IAAI1B,GAAKi+C,IAEpB/2B,KAAM,SAAUA,GACZ,GAAoB,mBAATA,GACP,MAAO1uB,MAAK,GAAKA,KAAK,GAAGmjB,UAAYzgB,MAGrC,KAAK,GAAIwG,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAC7BlJ,KAAKkJ,GAAGia,UAAYuL,CAExB,OAAO1uB,OAGfyZ,KAAM,SAAUA,GACZ,GAAoB,mBAATA,GACP,MAAIzZ,MAAK,GACEA,KAAK,GAAGqvB,YAAY1W,OAEnB,IAGZ,KAAK,GAAIzP,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAC7BlJ,KAAKkJ,GAAGmmB,YAAc5V,CAE1B,OAAOzZ,OAGfwN,GAAI,SAAUvE,GACV,GAAIy8C,GAAax8C,EAAG0C,EAAK5L,KAAK,EAC9B,KAAK4L,GAA0B,mBAAb3C,GAA0B,OAAO,CACnD,IAAwB,gBAAbA,GAAuB,CAC9B,GAAI2C,EAAG+5C,QAAS,MAAO/5C,GAAG+5C,QAAQ18C,EAC7B,IAAI2C,EAAGg6C,sBAAuB,MAAOh6C,GAAGg6C,sBAAsB38C,EAC9D,IAAI2C,EAAGi6C,kBAAmB,MAAOj6C,GAAGi6C,kBAAkB58C,EAGvD,KADAy8C,EAAc3lD,EAAEkJ,GACXC,EAAI,EAAGA,EAAIw8C,EAAY5kD,OAAQoI,IAChC,GAAIw8C,EAAYx8C,KAAO0C,EAAI,OAAO,CAEtC,QAAO,EAGV,GAAI3C,IAAa3H,SAAU,MAAOsK,KAAOtK,QACzC,IAAI2H,IAAalK,OAAQ,MAAO6M,KAAO7M,MAExC,IAAIkK,EAASmmB,UAAYnmB,YAAoBzB,GAAM,CAE/C,IADAk+C,EAAcz8C,EAASmmB,UAAYnmB,GAAYA,EAC1CC,EAAI,EAAGA,EAAIw8C,EAAY5kD,OAAQoI,IAChC,GAAIw8C,EAAYx8C,KAAO0C,EAAI,OAAO,CAEtC,QAAO,EAEX,OAAO,GAIfjL,QAAS,SAAUiL,GACf,IAAK,GAAI1C,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAC7B,GAAIlJ,KAAKkJ,KAAO0C,EAAI,MAAO1C,IAGnC8J,MAAO,WACH,GAAI9J,GAAG48C,EAAQ9lD,KAAK,EACpB,IAAI8lD,EAAO,CAEP,IADA58C,EAAI,EACuC,QAAnC48C,EAAQA,EAAMC,kBACK,IAAnBD,EAAM12B,UAAgBlmB,GAE9B,OAAOA,KAGfnI,GAAI,SAAUiS,GACV,GAAqB,mBAAVA,GAAuB,MAAOhT,KACzC,IACIgmD,GADAllD,EAASd,KAAKc,MAElB,OAAIkS,GAAQlS,EAAS,EACV,GAAI0G,OAEXwL,EAAQ,GACRgzC,EAAcllD,EAASkS,EACK,GAAIxL,GAA5Bw+C,EAAc,MACIhmD,KAAKgmD,MAExB,GAAIx+C,IAAMxH,KAAKgT,MAE1BnF,OAAQ,WACJ,GAAI3E,GAAGwU,EAAGwgC,EAAG+H,CAEb,KAAK/H,EAAI,EAAGA,EAAIr3B,UAAU/lB,OAAQo9C,IAGhC,IAFA+H,EAAWp/B,UAAUq3B,GAEhBh1C,EAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IACzB,GAAwB,gBAAb+8C,GAAuB,CAC9B,GAAIC,GAAU5kD,SAAS8e,cAAc,MAErC,KADA8lC,EAAQ/iC,UAAY8iC,EACbC,EAAQC,YACXnmD,KAAKkJ,GAAG+zB,YAAYipB,EAAQC,gBAG/B,IAAIF,YAAoBz+C,GACzB,IAAKkW,EAAI,EAAGA,EAAIuoC,EAASnlD,OAAQ4c,IAC7B1d,KAAKkJ,GAAG+zB,YAAYgpB,EAASvoC,QAIjC1d,MAAKkJ,GAAG+zB,YAAYgpB,EAK9B,OAAOjmD,OAEXomD,SAAU,SAAU1yC,GAEhB,MADA3T,GAAE2T,GAAQ7F,OAAO7N,MACVA,MAEX+kB,QAAS,SAAUkhC,GACf,GAAI/8C,GAAGwU,CACP,KAAKxU,EAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IACzB,GAAwB,gBAAb+8C,GAAuB,CAC9B,GAAIC,GAAU5kD,SAAS8e,cAAc,MAErC,KADA8lC,EAAQ/iC,UAAY8iC,EACfvoC,EAAIwoC,EAAQ37B,WAAWzpB,OAAS,EAAG4c,GAAK,EAAGA,IAC5C1d,KAAKkJ,GAAG6a,aAAamiC,EAAQ37B,WAAW7M,GAAI1d,KAAKkJ,GAAGqhB,WAAW,QAIlE,IAAI07B,YAAoBz+C,GACzB,IAAKkW,EAAI,EAAGA,EAAIuoC,EAASnlD,OAAQ4c,IAC7B1d,KAAKkJ,GAAG6a,aAAakiC,EAASvoC,GAAI1d,KAAKkJ,GAAGqhB,WAAW,QAIzDvqB,MAAKkJ,GAAG6a,aAAakiC,EAAUjmD,KAAKkJ,GAAGqhB,WAAW,GAG1D,OAAOvqB,OAEXqjB,UAAW,SAAU3P,GAEjB,MADA3T,GAAE2T,GAAQqR,QAAQ/kB,MACXA,MAEX+jB,aAAc,SAAU9a,GAEpB,IAAK,GADDo9C,GAAStmD,EAAEkJ,GACNC,EAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAC7B,GAAsB,IAAlBm9C,EAAOvlD,OACPulD,EAAO,GAAGC,WAAWviC,aAAa/jB,KAAKkJ,GAAIm9C,EAAO,QAEjD,IAAIA,EAAOvlD,OAAS,EACrB,IAAK,GAAI4c,GAAI,EAAGA,EAAI2oC,EAAOvlD,OAAQ4c,IAC/B2oC,EAAO3oC,GAAG4oC,WAAWviC,aAAa/jB,KAAKkJ,GAAGq9C,WAAU,GAAOF,EAAO3oC,KAKlFsG,YAAa,SAAU/a,GAEnB,IAAK,GADDu9C,GAAQzmD,EAAEkJ,GACLC,EAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAC7B,GAAqB,IAAjBs9C,EAAM1lD,OACN0lD,EAAM,GAAGF,WAAWviC,aAAa/jB,KAAKkJ,GAAIs9C,EAAM,GAAGC,iBAElD,IAAID,EAAM1lD,OAAS,EACpB,IAAK,GAAI4c,GAAI,EAAGA,EAAI8oC,EAAM1lD,OAAQ4c,IAC9B8oC,EAAM9oC,GAAG4oC,WAAWviC,aAAa/jB,KAAKkJ,GAAGq9C,WAAU,GAAOC,EAAM9oC,GAAG+oC,cAKnFnlC,KAAM,SAAUrY,GACZ,MAE6F,IAAIzB,GAF7FxH,KAAKc,OAAS,EACVmI,EACIjJ,KAAK,GAAG0mD,oBAAsB3mD,EAAEC,KAAK,GAAG0mD,oBAAoBl5C,GAAGvE,IAA4BjJ,KAAK,GAAG0mD,uBAInG1mD,KAAK,GAAG0mD,oBAAqC1mD,KAAK,GAAG0mD,4BAMrE5sC,QAAS,SAAU7Q,GACf,GAAI09C,MACA/6C,EAAK5L,KAAK,EACd,KAAK4L,EAAI,MAAO,IAAIpE,MACpB,MAAOoE,EAAG86C,oBAAoB,CAC1B,GAAIplC,GAAO1V,EAAG86C,kBACVz9C,GACGlJ,EAAEuhB,GAAM9T,GAAGvE,IAAW09C,EAAQt8C,KAAKiX,GAErCqlC,EAAQt8C,KAAKiX,GAClB1V,EAAK0V,EAET,MAAO,IAAI9Z,GAAKm/C,IAEpB7iC,KAAM,SAAU7a,GACZ,GAAIjJ,KAAKc,OAAS,EAAG,CACjB,GAAI8K,GAAK5L,KAAK,EACd,OACuF,IAAIwH,GADvFyB,EACI2C,EAAGg7C,wBAA0B7mD,EAAE6L,EAAGg7C,wBAAwBp5C,GAAGvE,IAA4B2C,EAAGg7C,2BAI5Fh7C,EAAGg7C,wBAAyCh7C,EAAGg7C,4BAItD,MAAO,IAAIp/C,QAEpBq/C,QAAS,SAAU59C,GACf,GAAI69C,MACAl7C,EAAK5L,KAAK,EACd,KAAK4L,EAAI,MAAO,IAAIpE,MACpB,MAAOoE,EAAGg7C,wBAAwB,CAC9B,GAAI9iC,GAAOlY,EAAGg7C,sBACV39C,GACGlJ,EAAE+jB,GAAMtW,GAAGvE,IAAW69C,EAAQz8C,KAAKyZ,GAErCgjC,EAAQz8C,KAAKyZ,GAClBlY,EAAKkY,EAET,MAAO,IAAItc,GAAKs/C,IAEpBC,SAAU,SAAU99C,GAChB,MAAOjJ,MAAK8Z,QAAQ7Q,GAAUwhB,IAAIzqB,KAAK6mD,QAAQ59C,KAEnDyK,OAAQ,SAAUzK,GAEd,IAAK,GADDsE,MACKrE,EAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IACF,OAAvBlJ,KAAKkJ,GAAGo9C,aACJr9C,EACIlJ,EAAEC,KAAKkJ,GAAGo9C,YAAY94C,GAAGvE,IAAWsE,EAAQlD,KAAKrK,KAAKkJ,GAAGo9C,YAG9D/4C,EAAQlD,KAAKrK,KAAKkJ,GAAGo9C,YAIhC,OAAOvmD,GAAEA,EAAEinD,OAAOz5C,KAEtBA,QAAS,SAAUtE,GAEf,IAAK,GADDsE,MACKrE,EAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAE7B,IADA,GAAIwK,GAAS1T,KAAKkJ,GAAGo9C,WACd5yC,GACCzK,EACIlJ,EAAE2T,GAAQlG,GAAGvE,IAAWsE,EAAQlD,KAAKqJ,GAGzCnG,EAAQlD,KAAKqJ,GAEjBA,EAASA,EAAO4yC,UAGxB,OAAOvmD,GAAEA,EAAEinD,OAAOz5C,KAEtBqf,QAAS,SAAU3jB,GACf,GAAI2jB,GAAU5sB,IACd,OAAwB,mBAAbiJ,GACA,GAAIzB,QAEVolB,EAAQpf,GAAGvE,KACZ2jB,EAAUA,EAAQrf,QAAQtE,GAAUlI,GAAG,IAEpC6rB,IAEXpsB,KAAO,SAAUyI,GAEb,IAAK,GADDg+C,MACK/9C,EAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAE7B,IAAK,GADD0N,GAAQ5W,KAAKkJ,GAAGk6C,iBAAiBn6C,GAC5ByU,EAAI,EAAGA,EAAI9G,EAAM9V,OAAQ4c,IAC9BupC,EAAc58C,KAAKuM,EAAM8G,GAGjC,OAAO,IAAIlW,GAAKy/C,IAEpB3zC,SAAU,SAAUrK,GAEhB,IAAK,GADDqK,MACKpK,EAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAG7B,IAAK,GAFDqhB,GAAavqB,KAAKkJ,GAAGqhB,WAEhB7M,EAAI,EAAGA,EAAI6M,EAAWzpB,OAAQ4c,IAC9BzU,EAI8B,IAA3BshB,EAAW7M,GAAG0R,UAAkBrvB,EAAEwqB,EAAW7M,IAAIlQ,GAAGvE,IAAWqK,EAASjJ,KAAKkgB,EAAW7M,IAH7D,IAA3B6M,EAAW7M,GAAG0R,UAAgB9b,EAASjJ,KAAKkgB,EAAW7M,GAOvE,OAAO,IAAIlW,GAAKzH,EAAEinD,OAAO1zC,KAE7BhD,OAAQ,WACJ,IAAK,GAAIpH,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IACzBlJ,KAAKkJ,GAAGo9C,YAAYtmD,KAAKkJ,GAAGo9C,WAAWY,YAAYlnD,KAAKkJ,GAEhE,OAAOlJ,OAEXwQ,OAAQ,WACJ,MAAOxQ,MAAKsQ,UAEhBma,IAAK,WACD,GACIvhB,GAAGwU,EADHonC,EAAM9kD,IAEV,KAAKkJ,EAAI,EAAGA,EAAI2d,UAAU/lB,OAAQoI,IAAK,CACnC,GAAIi+C,GAAQpnD,EAAE8mB,UAAU3d,GACxB,KAAKwU,EAAI,EAAGA,EAAIypC,EAAMrmD,OAAQ4c,IAC1BonC,EAAIA,EAAIhkD,QAAUqmD,EAAMzpC,GACxBonC,EAAIhkD,SAGZ,MAAOgkD,IAEXsC,MAAO,WACH,IAAK,GAAIl+C,GAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IAAK,CAClC,GAAI0C,GAAK5L,KAAKkJ,EACd,IAAoB,IAAhB0C,EAAGwjB,SAAgB,CACnB,IAAK,GAAI1R,GAAI,EAAGA,EAAI9R,EAAG2e,WAAWzpB,OAAQ4c,IAClC9R,EAAG2e,WAAW7M,GAAG4oC,YAAY16C,EAAG2e,WAAW7M,GAAG4oC,WAAWY,YAAYt7C,EAAG2e,WAAW7M,GAE3F9R,GAAGyjB,YAAc,IAGzB,MAAOrvB,QAKf,WAGI,QAASqnD,GAAav2C,GAClBtJ,EAAK87C,UAAUxyC,GAAQ,SAAUyzC,EAAgBC,EAAU5zC,GACvD,GAAI1H,EACJ,IAA8B,mBAAnBq7C,GAAgC,CACvC,IAAKr7C,EAAI,EAAGA,EAAIlJ,KAAKc,OAAQoI,IACrBo+C,EAAW3mD,QAAQmQ,GAAQ,IACvBA,IAAQ9Q,MAAKkJ,GAAIlJ,KAAKkJ,GAAG4H,KAEzB/Q,EAAEC,KAAKkJ,IAAIrI,QAAQiQ,GAI/B,OAAO9Q,MAGP,MAAOA,MAAK6I,GAAGiI,EAAMyzC,EAAgBC,EAAU5zC,IAI3D,IAAK,GArBD22C,GAAY,0LAA4L38C,MAAM,KAC9M08C,EAAa,gBAAkB18C,MAAM,KAoBhC1B,EAAI,EAAGA,EAAIq+C,EAAUzmD,OAAQoI,IAClCm+C,EAAaE,EAAUr+C,MAM/B,IAAIs+C,KACJznD,GAAE0nD,UAAY,SAAUx2C,GAChBA,EAAQzE,OAAMyE,EAAQkJ,OAASlJ,EAAQzE,MAC3CzM,EAAEsP,KAAK4B,EAAS,SAAUy2C,EAAYC,GAClCH,EAAkBE,GAAeC,IAKzC,IAAIC,GAAiB,CACrB7nD,GAAEyc,KAAO,SAAUvL,GA4Bf,QAAS42C,GAAkB/vC,EAAW/D,EAAW5U,GAC7C,GAAI8yC,GAAIprB,SACJ/O,IAAW/X,EAAEuB,UAAUT,QAAQiX,EAAW/D,GAC1C5U,IAEIA,IAAgBqoD,IAAmBA,EAAkBroD,GAAc8yC,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAEvFhhC,EAAQ9R,IAAe8R,EAAQ9R,GAAc8yC,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,KAlC7E,GAAI9oC,IACAgR,OAAQ,MACRiI,MAAM,EACN0lC,OAAO,EACPlmD,OAAO,EACPmmD,KAAM,GACN5gC,SAAU,GACV6gC,WACAC,aACAC,cACAC,aAAa,EACbC,SAAU,OACV5d,YAAa,oCACb6d,QAAS,GAETjrC,GAAa,aAAc,QAAS,WAAY,UAAW,aAI3DnM,GAAQzE,OAAMyE,EAAQkJ,OAASlJ,EAAQzE,MAG3CzM,EAAEsP,KAAKm4C,EAAmB,SAAUc,EAAkBC,GAC9CnrC,EAAUzc,QAAQ2nD,GAAoB,IAAGn/C,EAASm/C,GAAoBC,KAgB9ExoD,EAAEsP,KAAKlG,EAAU,SAAUwJ,EAAM61C,GACvB71C,IAAQ1B,KAAUA,EAAQ0B,GAAQ61C,KAIvCv3C,EAAQhG,MACTgG,EAAQhG,IAAMlM,OAAOyL,SAAS8S,WAGlC,IAAImrC,GAAex3C,EAAQhG,IAAItK,QAAQ,MAAQ,EAAI,IAAM,IAGrD+nD,EAAUz3C,EAAQkJ,OAAO5a,aAE7B,KAAiB,QAAZmpD,GAAiC,SAAZA,GAAkC,YAAZA,GAAqC,WAAZA,IAAyBz3C,EAAQmR,KAAM,CAC5G,GAAIumC,EAGoCA,GAFZ,gBAAjB13C,GAAQmR,KAEXnR,EAAQmR,KAAKzhB,QAAQ,MAAQ,EAAgBsQ,EAAQmR,KAAKxX,MAAM,KAAK,GACvDqG,EAAQmR,KAIbriB,EAAE2qC,gBAAgBz5B,EAAQmR,MAEvCumC,EAAW7nD,SACXmQ,EAAQhG,KAAOw9C,EAAeE,EACT,MAAjBF,IAAsBA,EAAe,MAIjD,GAAyB,SAArBx3C,EAAQm3C,UAAuBn3C,EAAQhG,IAAItK,QAAQ,cAAgB,EAAG,CAEtE,GACIioD,GADAzpD,EAAe,WAAa0N,KAAKg8C,MAASjB,IAE1CkB,EAAgB73C,EAAQhG,IAAIL,MAAM,aAClCm+C,EAAaD,EAAc,GAAK,YAAc3pD,CAClD,IAAI2pD,EAAc,GAAGnoD,QAAQ,MAAQ,EAAG,CACpC,GAAIqoD,GAAUF,EAAc,GAAGl+C,MAAM,KAAK2V,OAAO,SAAU3U,GAAM,MAAOA,GAAGjL,QAAQ,KAAO,IAAM+Y,KAAK,IACjGsvC,GAAQloD,OAAS,IAAGioD,GAAc,IAAMC,GAIhD,GAAIC,GAAS3nD,SAAS8e,cAAc,SA2BpC,OA1BA6oC,GAAOz8C,KAAO,kBACdy8C,EAAOl7B,QAAU,WACbnS,aAAagtC,GACbf,EAAiBnlD,OAAWA,OAAW,QAAS,KAAM,eACtDmlD,EAAiB,8BAA+BqB,aAAa,GAAO,WAAY,KAAM,gBAE1FD,EAAO17B,IAAMw7B,EAGbhqD,OAAOI,GAAgB,SAAUijB,GAC7BxG,aAAagtC,GACbf,EAAiBnlD,OAAWA,OAAW,UAAW0f,GAClD6mC,EAAO3C,WAAWY,YAAY+B,GAC9BA,EAAS,WACFlqD,QAAOI,IAElBmC,SAAS6nD,cAAc,QAAQlsB,YAAYgsB,QAEvCh4C,EAAQo3C,QAAU,IAClBO,EAAennD,WAAW,WACtBwnD,EAAO3C,WAAWY,YAAY+B,GAC9BA,EAAS,KACTpB,EAAiBnlD,OAAWA,OAAW,QAAS,KAAM,YACvDuO,EAAQo3C,WAOH,QAAZK,GAAiC,SAAZA,GAAkC,YAAZA,GAAqC,WAAZA,GAChEz3C,EAAQrP,SAAU,IAClBqP,EAAQhG,KAAQw9C,EAAe,YAAc57C,KAAKg8C,MAK1D,IAAIzsC,GAAM,GAAIgtC,eAGdhtC,GAAI2sC,WAAa93C,EAAQhG,IACzBmR,EAAIitC,kBAAoBp4C,EAGxBmL,EAAIisB,KAAKqgB,EAASz3C,EAAQhG,IAAKgG,EAAQ62C,MAAO72C,EAAQ82C,KAAM92C,EAAQkW,SAGpE,IAAImiC,GAAW,IAEf,KAAiB,SAAZZ,GAAkC,QAAZA,GAAiC,UAAZA,IAAwBz3C,EAAQmR,KAC5E,GAAInR,EAAQk3C,YAAa,CACrB,GAAIoB,IAAqBC,YAAaC,KAAMC,SAAUjf,SAEtD,IAAI8e,EAAkB5oD,QAAQsQ,EAAQmR,KAAKunC,cAAgB,EACvDL,EAAWr4C,EAAQmR,SAElB,CAED,GAAIwnC,GAAW,8BAAgC/8C,KAAKg8C,MAAMvrC,SAAS,GAEvC,yBAAxBrM,EAAQu5B,YACRpuB,EAAIytC,iBAAiB,eAAgB,iCAAoCD,GAGzExtC,EAAIytC,iBAAiB,eAAgB54C,EAAQu5B,aAEjD8e,EAAW,EACX,IAAIQ,GAAQ/pD,EAAE2qC,gBAAgBz5B,EAAQmR,KACtC,IAA4B,wBAAxBnR,EAAQu5B,YAAwC,CAChDof,EAAW,8BAAgC/8C,KAAKg8C,MAAMvrC,SAAS,IAC/DwsC,EAAQA,EAAMl/C,MAAM,IAEpB,KAAK,GADDm/C,MACK7gD,EAAI,EAAGA,EAAI4gD,EAAMhpD,OAAQoI,IAC9B6gD,EAAS1/C,KAAK,yCAA2Cy/C,EAAM5gD,GAAG0B,MAAM,KAAK,GAAK,YAAck/C,EAAM5gD,GAAG0B,MAAM,KAAK,GAAK,OAE7H0+C,GAAW,KAAOM,EAAW,OAASG,EAASrwC,KAAK,KAAOkwC,EAAW,QAAU,KAAOA,EAAW,aAGlGN,GAAWQ,OAKnBR,GAAWr4C,EAAQmR,IAMvBnR,GAAQ+2C,SACRjoD,EAAEsP,KAAK4B,EAAQ+2C,QAAS,SAAUgC,EAAYC,GAC1C7tC,EAAIytC,iBAAiBG,EAAYC,KAKN,mBAAxBh5C,GAAQi5C,cACfj5C,EAAQi5C,YAAc,0BAA0BC,KAAKl5C,EAAQhG,MAAQsnC,OAAO6X,KAAOrrD,OAAOyL,SAAS6/C,MAGlGp5C,EAAQi5C,aACT9tC,EAAIytC,iBAAiB,mBAAoB,kBAGzC54C,EAAQg3C,WACRloD,EAAEsP,KAAK4B,EAAQg3C,UAAW,SAAUqC,EAAWC,GAC3CnuC,EAAIkuC,GAAaC,GAIzB,IAAIC,EAwDJ,OAtDApuC,GAAI0R,OAAS,SAAUzhB,GAEnB,GADIm+C,GAAY5uC,aAAa4uC,GACxBpuC,EAAIQ,QAAU,KAAOR,EAAIQ,OAAS,KAAuB,IAAfR,EAAIQ,OAAc,CAC7D,GAAI6tC,EACJ,IAAyB,SAArBx5C,EAAQm3C,SACR,IACIqC,EAAe3hB,KAAKC,MAAM3sB,EAAIS,cAC9BgrC,EAAiB,4BAA6BzrC,IAAKA,GAAM,UAAWquC,EAAcruC,EAAIQ,OAAQR,GAElG,MAAOsuC,GACH7C,EAAiB,wBAAyBzrC,IAAKA,EAAKuuC,YAAY,GAAO,QAASvuC,EAAK,kBAIzFquC,GAAoC,SAArBruC,EAAIwuC,cAAgD,KAArBxuC,EAAIwuC,aAAsBxuC,EAAIS,aAAeT,EAAIyuC,SAC/FhD,EAAiB,4BAA6BzrC,IAAKA,GAAM,UAAWquC,EAAcruC,EAAIQ,OAAQR,OAIlGyrC,GAAiB,wBAAyBzrC,IAAKA,GAAM,QAASA,EAAKA,EAAIQ,OAEvE3L,GAAQi3C,aACJV,EAAkBU,YAAcV,EAAkBU,WAAW9rC,EAAIQ,SAAS4qC,EAAkBU,WAAW9rC,EAAIQ,QAAQR,GACnHnL,EAAQi3C,WAAW9rC,EAAIQ,SAAS3L,EAAQi3C,WAAW9rC,EAAIQ,QAAQR,IAEvEyrC,EAAiB,8BAA+BzrC,IAAKA,GAAM,WAAYA,EAAKA,EAAIQ,SAGpFR,EAAI2R,QAAU,SAAU1hB,GAChBm+C,GAAY5uC,aAAa4uC,GAC7B3C,EAAiB,wBAAyBzrC,IAAKA,GAAM,QAASA,EAAKA,EAAIQ,QACvEirC,EAAiB,8BAA+BzrC,IAAKA,GAAM,WAAYA,EAAKA,EAAIQ,SAIpFirC,EAAiB,wBAAyBzrC,IAAKA,GAAM,QAASA,GAC9DyrC,EAAiBnlD,OAAWA,OAAW,aAAc0Z,GAGjDnL,EAAQo3C,QAAU,IAClBjsC,EAAI0uC,QAAU,WACNN,GAAY5uC,aAAa4uC,IAEjCA,EAAa/oD,WAAW,WACpB2a,EAAI+H,QACJ0jC,EAAiB,wBAAyBzrC,IAAKA,EAAKisC,SAAS,GAAO,QAASjsC,EAAK,WAClFyrC,EAAiB,8BAA+BzrC,IAAKA,EAAKisC,SAAS,GAAO,WAAYjsC,EAAK,YAC5FnL,EAAQo3C,UAIfjsC,EAAI2uC,KAAKzB,GAGFltC,GAGX,WAEI,QAASirC,GAAaltC,GAClBpa,EAAEoa,GAAU,SAAUlP,EAAKmX,EAAMuoB,EAAS5tB,GACtC,MAAOhd,GAAEyc,MACLvR,IAAKA,EACLkP,OAAmB,SAAXA,EAAoB,OAAS,MACrCiI,KAAsB,kBAATA,GAAsB1f,OAAY0f,EAC/CuoB,QAAyB,kBAATvoB,GAAsBA,EAAOuoB,EAC7C5tB,MAAuB,kBAATqF,GAAsBuoB,EAAU5tB,EAC9CqrC,SAAqB,YAAXjuC,EAAuB,OAASzX,UAItD,IAAK,GAbDsoD,GAAU,mBAAqBpgD,MAAM,KAahC1B,EAAI,EAAGA,EAAI8hD,EAAQlqD,OAAQoI,IAChCm+C,EAAa2D,EAAQ9hD,OAM7BnJ,EAAE+d,cAAe,SAAU7S,GACvBA,EAAMA,GAAOT,SAASC,IACtB,IAAevB,GAAGjK,EAAQsI,EAAOzG,EAA7BmX,IACJ,IAAmB,gBAARhN,IAAoBA,EAAInK,OAI/B,IAHAmK,EAAMA,EAAItK,QAAQ,MAAK,EAAKsK,EAAI5L,QAAQ,QAAQ,IAAM,GACtDJ,EAASgM,EAAIL,MAAM,KAAM9J,EAAS7B,EAAO6B,OAEpCoI,EAAI,EAAGA,EAAIpI,EAAQoI,IACpB3B,EAAQtI,EAAOiK,GAAG7J,QAAQ,QAAQ,IAAIuL,MAAM,KAC5CqN,EAAMgzC,mBAAmB1jD,EAAM,KAAO0jD,mBAAmB1jD,EAAM,KAAO,EAI9E,OAAO0Q,IAEXlY,EAAE8nB,QAAU,SAAUm7B,GAClB,MAA6C,mBAAzCkI,OAAO5H,UAAUhmC,SAAS6tC,MAAMnI,IAGxCjjD,EAAEsP,KAAO,SAAU+7C,EAAK1rD,GAGpB,GAAmB,gBAAR0rD,IAEN1rD,EACL,GAAIK,EAAE8nB,QAAQujC,IAAQA,YAAe5jD,GAAM,CACvC,GAAI0B,EAEJ,KAAKA,EAAI,EAAGA,EAAIkiD,EAAItqD,OAAQoI,IAExB,GAAIxJ,EAASwJ,EAAGkiD,EAAIliD,OAAQ,EAExB,WAIP,CACD,GAAIyJ,EAEJ,KAAKA,IAAQy4C,GAGT,GAAIA,EAAIx4C,eAAeD,IAEfjT,EAASiT,EAAMy4C,EAAIz4C,OAAW,EAE9B,SAMpB5S,EAAEinD,OAAS,SAAUhE,GAEjB,IAAK,GADDgE,MACK99C,EAAI,EAAGA,EAAI85C,EAAIliD,OAAQoI,IACxB89C,EAAOrmD,QAAQqiD,EAAI95C,OAAQ,GAAI89C,EAAO38C,KAAK24C,EAAI95C,GAEvD,OAAO89C,IAEXjnD,EAAE2qC,gBAAkB3qC,EAAEwH,MAAQ,SAAU6jD,EAAK79C,GAMzC,QAAS89C,GAASv6C,GACd,GAAIvD,EAAQzM,OAAS,EAAG,CAEpB,IAAK,GADDwqD,GAAW,GACN5tC,EAAI,EAAGA,EAAInQ,EAAQzM,OAAQ4c,IACnB4tC,GAAH,IAAN5tC,EAAqBnQ,EAAQmQ,GAChB,IAAM6tC,mBAAmBh+C,EAAQmQ,IAAM,GAE5D,OAAO4tC,GAAW,IAAMC,mBAAmBz6C,GAAQ,IAGnD,MAAOy6C,oBAAmBz6C,GAGlC,QAAS06C,GAAUhzC,GACf,MAAO+yC,oBAAmB/yC,GAnB9B,GAAmB,gBAAR4yC,GAAkB,MAAOA,EACpC,IAAIK,MACAC,EAAY,GAChBn+C,GAAUA,KACV,IAAIo+C,EAiBJ,KAAK,GAAIh5C,KAAQy4C,GACb,GAAIA,EAAIx4C,eAAeD,GAAO,CAC1B,GAAIi5C,EACJ,IAAI7rD,EAAE8nB,QAAQujC,EAAIz4C,IAAQ,CACtBi5C,IACA,KAAK,GAAI1iD,GAAI,EAAGA,EAAIkiD,EAAIz4C,GAAM7R,OAAQoI,IAC7BnJ,EAAE8nB,QAAQujC,EAAIz4C,GAAMzJ,KAA+B,gBAAjBkiD,GAAIz4C,GAAMzJ,GAO7C0iD,EAAOvhD,KAAKghD,EAAS14C,GAAQ,MAAQ64C,EAAUJ,EAAIz4C,GAAMzJ,MANzDyiD,EAAap+C,EAAQsW,QACrB8nC,EAAWthD,KAAKsI,GAChBg5C,EAAWthD,KAAKnB,EAAI,IACpB0iD,EAAOvhD,KAAKtK,EAAE2qC,gBAAgB0gB,EAAIz4C,GAAMzJ,GAAIyiD,IAOhDC,GAAO9qD,OAAS,GAAG2qD,EAAYphD,KAAKuhD,EAAOlyC,KAAKgyC,QAEjC,QAAdN,EAAIz4C,GACT84C,EAAYphD,KAAKghD,EAAS14C,GAAQ,KAER,gBAAdy4C,GAAIz4C,IAEhBg5C,EAAap+C,EAAQsW,QACrB8nC,EAAWthD,KAAKsI,GAChBi5C,EAAS7rD,EAAE2qC,gBAAgB0gB,EAAIz4C,GAAOg5C,GACvB,KAAXC,GAAeH,EAAYphD,KAAKuhD,IAEV,mBAAdR,GAAIz4C,IAAuC,KAAdy4C,EAAIz4C,GAE7C84C,EAAYphD,KAAKghD,EAAS14C,GAAQ,IAAM64C,EAAUJ,EAAIz4C,KAEnC,KAAdy4C,EAAIz4C,IAAc84C,EAAYphD,KAAKghD,EAAS14C,IAG7D,MAAO84C,GAAY/xC,KAAKgyC,IAE5B3rD,EAAEmkD,YAAc,SAAU2H,GACtB,MAAOA,GAAOvyC,cAAcja,QAAQ,QAAS,SAASC,EAAOwsD,GACzD,MAAOA,GAAOvsD,iBAGtBQ,EAAEya,QAAU,SAAU5O,GAClB,MAAO7L,GAAE6L,GAAI4O,WAEjBza,EAAEq3C,aAAe,SAAUxrC,EAAImgD,GAC3B,GAAIC,GAAQC,EAAcC,EAAUC,CA+CpC,OA5CoB,mBAATJ,KACPA,EAAO,KAGXG,EAAWntD,OAAOymD,iBAAiB55C,EAAI,MACnC7M,OAAOqtD,iBACPH,EAAeC,EAASz9C,WAAay9C,EAAS9H,gBAC1C6H,EAAarhD,MAAM,KAAK9J,OAAS,IACjCmrD,EAAeA,EAAarhD,MAAM,MAAMyhD,IAAI,SAASpa,GACjD,MAAOA,GAAE5yC,QAAQ,IAAI,OACtBqa,KAAK,OAIZyyC,EAAkB,GAAIC,iBAAiC,SAAjBH,EAA0B,GAAKA,KAGrEE,EAAkBD,EAASz9C,WAAay9C,EAAS9G,iBAAiB,aAAa/lD,QAAQ,aAAc,sBACrG2sD,EAASG,EAAgB7uC,WAAW1S,MAAM,MAGjC,MAATmhD,IAGIE,EADAltD,OAAOqtD,gBACQD,EAAgBG,IAER,KAAlBN,EAAOlrD,OACG+qB,WAAWmgC,EAAO,KAGlBngC,WAAWmgC,EAAO,KAE5B,MAATD,IAGIE,EADAltD,OAAOqtD,gBACQD,EAAgBI,IAER,KAAlBP,EAAOlrD,OACG+qB,WAAWmgC,EAAO,KAGlBngC,WAAWmgC,EAAO,KAGlCC,GAAgB,GAG3BlsD,EAAEg3C,sBAAwB,SAAUr3C,GAChC,MAAIX,QAAOg4C,sBAA8Bh4C,OAAOg4C,sBAAsBr3C,GAC7DX,OAAOytD,4BAAoCztD,OAAOytD,4BAA4B9sD,GAE5EX,OAAO0C,WAAW/B,EAAU,IAAO,KAGlDK,EAAEu3C,qBAAuB,SAAU5e,GAC/B,MAAI35B,QAAOu4C,qBAA6Bv4C,OAAOu4C,qBAAqB5e,GAC3D35B,OAAO0tD,2BAAmC1tD,OAAO0tD,2BAA2B/zB,GAE1E35B,OAAO6c,aAAa8c,IAGnC34B,EAAE2sD,gBAAmB,gBAAkB3tD,SAAWA,OAAO4tD,eAAiBrrD,mBAAoBqrD,eA6F9F,KAAK,GA1FDC,KACCC,KAAK,IAAKC,QAAQ,uCAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,KAAKC,QAAQ,QAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,KAAKC,QAAQ,OAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,IAAKC,QAAQ,cAClBD,KAAK,IAAKC,QAAQ,iBAClBD,KAAK,IAAKC,QAAQ,mBAClBD,KAAK,KAAKC,QAAQ,OAClBD,KAAK,KAAKC,QAAQ,OAClBD,KAAK,IAAKC,QAAQ,mCAClBD,KAAK,IAAKC,QAAQ,WAClBD,KAAK,IAAKC,QAAQ,oBAClBD,KAAK,IAAKC,QAAQ,mBAClBD,KAAK,IAAKC,QAAQ,yBAClBD,KAAK,IAAKC,QAAQ,UAClBD,KAAK,IAAKC,QAAQ,mBAClBD,KAAK,IAAKC,QAAQ,uBAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,IAAKC,QAAQ,aAClBD,KAAK,IAAKC,QAAQ,qBAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,IAAKC,QAAQ,gDAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,KAAKC,QAAQ,OAClBD,KAAK,KAAKC,QAAQ,OAClBD,KAAK,IAAKC,QAAQ,eAClBD,KAAK,IAAKC,QAAQ,WAClBD,KAAK,IAAKC,QAAQ,sBAClBD,KAAK,IAAKC,QAAQ,sBAClBD,KAAK,IAAKC,QAAQ,oBAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,IAAKC,QAAQ,uCAClBD,KAAK,IAAKC,QAAQ,aAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,IAAKC,QAAQ,eAClBD,KAAK,IAAKC,QAAQ,UAClBD,KAAK,IAAKC,QAAQ,oBAClBD,KAAK,IAAKC,QAAQ,mBAClBD,KAAK,IAAKC,QAAQ,wCAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,KAAKC,QAAQ,QAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,KAAKC,QAAQ,OAClBD,KAAK;AAAKC,QAAQ,MAClBD,KAAK,IAAKC,QAAQ,cAClBD,KAAK,IAAKC,QAAQ,kBAClBD,KAAK,IAAKC,QAAQ,mBAClBD,KAAK,KAAKC,QAAQ,OAClBD,KAAK,IAAKC,QAAQ,oCAClBD,KAAK,IAAKC,QAAQ,WAClBD,KAAK,IAAKC,QAAQ,oBAClBD,KAAK,IAAKC,QAAQ,oBAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,IAAKC,QAAQ,yBAClBD,KAAK,IAAKC,QAAQ,WAClBD,KAAK,IAAKC,QAAQ,mBAClBD,KAAK,IAAKC,QAAQ,wBAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,IAAKC,QAAQ,aAClBD,KAAK,IAAKC,QAAQ,sBAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,IAAKC,QAAQ,gDAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,IAAIC,QAAQ,eACjBD,KAAK,IAAIC,QAAQ,WACjBD,KAAK,IAAIC,QAAQ,sBACjBD,KAAK,IAAIC,QAAQ,uBACjBD,KAAK,IAAIC,QAAQ,qBACjBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,IAAIC,QAAS,uCAClBD,KAAK,IAAIC,QAAQ,aACjBD,KAAK,KAAKC,QAAQ,MAClBD,KAAK,IAAIC,QAAQ,gBACjBD,KAAK,IAAIC,QAAQ,UACjBD,KAAK,IAAIC,QAAQ,qBACjBD,KAAK,IAAIC,QAAQ,mBAGlBC,KACK7jD,EAAE,EAAGA,EAAI0jD,EAA2B9rD,OAAQoI,IAEjD,IAAK,GADD4jD,GAAUF,EAA2B1jD,GAAG4jD,QACnCpvC,EAAE,EAAGA,EAAIovC,EAAQhsD,OAAS4c,IAC/BqvC,EAAcD,EAAQpvC,IAAMkvC,EAA2B1jD,GAAG2jD,IAoHlE,OAhHA9sD,GAAEkX,iBAAmB,SAAU+1C,GAC3B,MAAOA,GAAI3tD,QAAQ,oBAAqB,SAAS4yC,GAC9C,MAAO8a,GAAc9a,IAAMA,KAIlClyC,EAAEktD,GAAKzlD,EAAK87C,UAGZvjD,EAAEktD,GAAGC,SAAW,SAAUv/C,EAAMsb,EAAKyH,EAAUy8B,EAAQztD,GAKnD,MAJyB,KAArBmnB,UAAU/lB,QAAkC,kBAAXqsD,KACjCztD,EAAWytD,EACXA,EAASzqD,QAEN1C,KAAKqP,KAAK,WAgCb,QAASitB,GAAO/f,GACC7Z,SAAT6Z,IACAA,GAAO,GAAI1P,OAAOC,WAEJ,OAAdsgD,IACAA,EAAY7wC,EAEhB,IAAIujB,GACArU,EAAWze,KAAKod,IAAIpd,KAAKqd,KAAK9N,EAAO6wC,GAAa18B,EAAU,GAAI,GAChE28B,EAA0B,WAAXF,EAAsB1hC,EAAY,GAAMze,KAAKsgD,IAAK7hC,EAAWze,KAAKugD,IAAO,CAqB5F,OApBIC,KAAYvtD,EAAYwtD,EAAcJ,GAAgBK,EAASD,IAC/DE,IAAansD,EAAaosD,EAAeP,GAAgBQ,EAAUD,IACnEJ,GAAcE,EAASD,GAAcxtD,GAAaytD,IAClD9hD,EAAG3L,UAAYytD,EACf5tB,GAAO,GAEP0tB,GAAcE,EAASD,GAAcxtD,GAAaytD,IAClD9hD,EAAG3L,UAAYytD,EACf5tB,GAAO,GAGP6tB,GAAeE,EAAUD,GAAepsD,GAAcqsD,IACtDjiD,EAAGpK,WAAaqsD,EAChB/tB,GAAO,GAEP6tB,GAAeE,EAAUD,GAAepsD,GAAcqsD,IACtDjiD,EAAGpK,WAAaqsD,EAChB/tB,GAAO,GAGPA,OACIpgC,GAAUA,MAGd8tD,IAAY5hD,EAAG3L,UAAYA,GAC3B0tD,IAAa/hD,EAAGpK,WAAaA,OACjCzB,GAAEg3C,sBAAsBza,IAnE5B,GACImxB,GAAYG,EAAa55B,EAAQ85B,EAASJ,EAAQG,EAAS5tD,EAAWuB,EADtEoK,EAAK5L,KAELwtD,EAAavkC,EAAM,GAAa,IAARA,EACxB0kC,EAAchgD,EAAO,GAAc,IAATA,CAgB9B,IAfsB,mBAAXw/C,KACPA,EAAS,SAETK,IACAC,EAAa7hD,EAAG3L,UACXywB,IACD9kB,EAAG3L,UAAYgpB,IAGnB0kC,IACAC,EAAchiD,EAAGpK,WACZkvB,IACD9kB,EAAGpK,WAAamM,IAGnB+iB,EAAL,CACI88B,IACAx5B,EAASpoB,EAAG1L,aAAe0L,EAAGxL,aAC9BstD,EAAS1gD,KAAKod,IAAIpd,KAAKqd,IAAIpB,EAAK+K,GAAS,IAEzC25B,IACAG,EAAUliD,EAAGmiD,YAAcniD,EAAG8J,YAC9Bm4C,EAAU7gD,KAAKod,IAAIpd,KAAKqd,IAAI1c,EAAMmgD,GAAU,GAEhD,IAAIV,GAAY,IACZI,IAAcE,IAAWD,IAAYD,GAAa,GAClDG,GAAeE,IAAYD,IAAaD,GAAc,GAuC1D5tD,EAAEg3C,sBAAsBza,OAGhCv8B,EAAEktD,GAAGhtD,UAAY,SAAUgpB,EAAKyH,EAAUy8B,EAAQztD,GACrB,IAArBmnB,UAAU/lB,QAAkC,kBAAXqsD,KACjCztD,EAAWytD,EACXA,EAASzqD,OAEb,IAAIoiD,GAAM9kD,IACV,OAAmB,mBAARipB,GACH67B,EAAIhkD,OAAS,EAAUgkD,EAAI,GAAG7kD,UACtB,KAET6kD,EAAIoI,SAASxqD,OAAWumB,EAAKyH,EAAUy8B,EAAQztD,IAE1DK,EAAEktD,GAAGzrD,WAAa,SAAUmM,EAAM+iB,EAAUy8B,EAAQztD,GACvB,IAArBmnB,UAAU/lB,QAAkC,kBAAXqsD,KACjCztD,EAAWytD,EACXA,EAASzqD,OAEb,IAAIoiD,GAAM9kD,IACV,OAAoB,mBAAT2N,GACHm3C,EAAIhkD,OAAS,EAAUgkD,EAAI,GAAGtjD,WACtB,KAETsjD,EAAIoI,SAASv/C,EAAMjL,OAAWguB,EAAUy8B,EAAQztD,IAGpDK,IAIXf,YAAWe,EAAIyH,CAGf,IAAIzH,GAAIyH,CAGRzI,QAAOyI,KAAOA,CAMd,IAAIwmD,GAAW,SAAUC,EAAUz+B,EAAOvwB,GACtCuwB,EAAQA,MACRvwB,EAASA,KACT,IAAIkK,IACAunB,SAAU,IACVy8B,OAAQ,QAQZ,KAAK,GAAI3jD,KAAOL,GACe,mBAAhBlK,GAAOuK,KACdvK,EAAOuK,GAAOL,EAASK,GAI/B,IAAIyoC,GAAIjyC,IAIR,IAHAiyC,EAAEhzC,OAASA,EACXgzC,EAAEziB,MAAQA,EACVyiB,EAAEgc,SAAWluD,EAAEkuD,GACW,IAAtBhc,EAAEgc,SAASntD,OACX,MAAOmxC,EAGXA,GAAEic,eAAiB,SAAUf,EAAQ1hC,GACjC,MAAe,UAAX0hC,EACO,GAAMngD,KAAKsgD,IAAK7hC,EAAWze,KAAKugD,IAAO,EAE5B,kBAAXJ,GACAA,EAAO1hC,GAEXA,GAGXwmB,EAAEkc,KAAO,WACDlc,EAAEmc,SACFruD,EAAEu3C,qBAAqBrF,EAAEmc,SAE7Bnc,EAAEiK,WAAY,EACdjK,EAAEgc,SAAS5+C,KAAK,SAAU2D,EAAOpH,SACtBA,GAAGyiD,mBAEdpc,EAAEqc,QAENrc,EAAEnS,KAAO,SAAUnjB,GAMf,GALAs1B,EAAEiK,WAAY,EACdjK,EAAEgc,SAAS5+C,KAAK,SAAU2D,EAAOpH,SACtBA,GAAGyiD,mBAEV1xC,GAAUA,EAASsxC,GACnBhc,EAAEqc,IAAIxtD,OAAS,EAAG,CAClB,GAAIwtD,GAAMrc,EAAEqc,IAAI7oC,OAChBwsB,GAAExiB,QAAQ6+B,EAAI,GAAIA,EAAI,MAG9Brc,EAAEiK,WAAY,EACdjK,EAAEqc,OACFrc,EAAExiB,QAAU,SAAUD,EAAOvwB,GA4CzB,QAASq9B,KACL/f,GAAO,GAAI1P,OAAOC,SAClB,IAAI2e,GAAU4hC,EAAczhD,CACvB2iD,KACDA,GAAQ,EACJtvD,EAAOuvD,OAAOvvD,EAAOuvD,MAAMP,IAEjB,OAAdb,IACAA,EAAY7wC,GAEZtd,EAAOwsB,UACPxsB,EAAOwsB,SACHwmB,EAAEgc,SACFjhD,KAAKod,IAAIpd,KAAKqd,KAAK9N,EAAO6wC,GAAanuD,EAAOyxB,SAAU,GAAI,GAC1D08B,EAAYnuD,EAAOyxB,SAAYnU,EAAO,EAAI,EAAK6wC,EAAYnuD,EAAOyxB,SAAYnU,EAChF6wC,EAIR,KAAK,GAAIlkD,GAAI,EAAGA,EAAIulD,EAAU3tD,OAAQoI,IAClC,IAAI42B,IACJl0B,EAAK6iD,EAAUvlD,IACX0C,EAAGk0B,MAEP,IAAK,GAAIntB,KAAQ6c,GAAO,CAiBpB,GAhBA/D,EAAWze,KAAKod,IAAIpd,KAAKqd,KAAK9N,EAAO6wC,GAAanuD,EAAOyxB,SAAU,GAAI,GACvE28B,EAAepb,EAAEic,eAAejvD,EAAOkuD,OAAQ1hC,GAE/C7f,EAAG+G,GAAM+7C,aAAe9iD,EAAG+G,GAAMg8C,aAAetB,GAAgBzhD,EAAG+G,GAAMi8C,WAAahjD,EAAG+G,GAAMg8C,eAE3F/iD,EAAG+G,GAAMi8C,WAAahjD,EAAG+G,GAAMg8C,cAAgB/iD,EAAG+G,GAAM+7C,cAAgB9iD,EAAG+G,GAAMi8C,YAAchjD,EAAG+G,GAAMi8C,WAAahjD,EAAG+G,GAAMg8C,cAAgB/iD,EAAG+G,GAAM+7C,cAAgB9iD,EAAG+G,GAAMi8C,cAChLhjD,EAAGijD,WAAWngD,MAAMiE,GAAQ/G,EAAG+G,GAAMi8C,WAAahjD,EAAG+G,GAAMm8C,KAC3DC,IACIA,IAAc7D,OAAO8D,KAAKx/B,GAAO1uB,SACjC8K,EAAGk0B,MAAO,EACVmvB,KAEAA,IAAiBR,EAAU3tD,SAC3Bg/B,GAAO,IAGXA,EAEA,MADAmS,GAAEnS,KAAK7gC,EAAO0d,UACPs1B,CAEXrmC,GAAGijD,WAAWngD,MAAMiE,GAAQ/G,EAAG+G,GAAM+7C,aAAe9iD,EAAG+G,GAAMm8C,KAKrE7c,EAAEmc,QAAUruD,EAAEg3C,sBAAsBza,GA7FxC,GAAI2V,EAAEiK,UAEF,MADAjK,GAAEqc,IAAIjkD,MAAMmlB,EAAOvwB,IACZgzC,CAEXA,GAAEhzC,OAASA,CAEX,IAAIwvD,KAGJxc,GAAEgc,SAAS5+C,KAAK,SAAU2D,EAAOpH,GAC7B,GAAIsjD,GAAkBP,EAAcG,EAAMF,EAAYO,CAEtDV,GAAUz7C,IACN67C,WAAYjjD,EAGhB,KAAK,GAAI+G,KAAQ6c,GACb0/B,EAAmBnwD,OAAOymD,iBAAiB55C,EAAI,MAAMw5C,iBAAiBzyC,GAAMtT,QAAQ,IAAK,KACzFsvD,EAAe9iC,WAAWqjC,GAC1BJ,EAAOI,EAAiB7vD,QAAQsvD,EAAc,IAC9CC,EAAap/B,EAAM7c,GACnBw8C,EAAiB3/B,EAAM7c,GAAQm8C,EAC/BL,EAAUz7C,GAAOL,IACbu8C,iBAAkBA,EAClBP,aAAcA,EACdG,KAAMA,EACNF,WAAYA,EACZO,eAAgBA,EAChBT,aAAcC,IAM1B,IACIpyC,GAGAujB,EAJAstB,EAAY,KAEZ6B,EAAe,EACfF,EAAY,EAEZR,GAAQ,CAyDZ,OAvDAtc,GAAEiK,WAAY,EAsDdjK,EAAEmc,QAAUruD,EAAEg3C,sBAAsBza,GAC7B2V,EAGX,KAAK,GADDmd,GACKlmD,EAAI,EAAGA,EAAI+oC,EAAEgc,SAASntD,OAAQoI,IAC/B+oC,EAAEgc,SAAS/kD,GAAGmlD,iBACde,EAAgBnd,EAAEgc,SAAS/kD,GAAGmlD,iBAE7Bpc,EAAEgc,SAAS/kD,GAAGmlD,iBAAmBpc,CAE1C,OAAImd,GACOA,EAAc3/B,QAAQD,EAAOvwB,IAEnCgzC,EAAExiB,QAAQD,EAAOvwB,GACfgzC,GAEXlzC,QAAOivD,SAAW,SAAUC,EAAUz+B,EAAOvwB,GACzC,MAAO,IAAI+uD,GAASC,EAAUz+B,EAAOvwB,IAEzCuI,EAAKylD,GAAGx9B,QAAU,SAAUD,EAAOvwB,GAE/B,MADA,IAAI+uD,GAAShuD,KAAMwvB,EAAOvwB,GACnBe,MAMXhB,WAAWskD,UAAUv7C,QAAU,WAC3B,GAAIA,IACAC,SAAW,gBAAkBjJ,SAAWA,OAAO4tD,eAAiBrrD,mBAAoBqrD,gBACpFj8C,gBAAiB,WACb,GAAI2+C,IAAkB,CACtB,KACI,GAAIC,GAAOpE,OAAOqE,kBAAmB,WACjClzC,IAAK,WACDgzC,GAAkB,IAG1BtwD,QAAOgpC,iBAAiB,sBAAuB,KAAMunB,GACvD,MAAOjjD,IACT,MAAOgjD,MAKf,OAAOtnD,MAOX/I,WAAWskD,UAAUliD,OAAS,WAC1B,GAAIA,MACAouD,EAAKzZ,UAAUC,UACfj2C,EAAIyH,EAEJoG,EAAU4hD,EAAGlwD,MAAM,+BACnB+B,EAAOmuD,EAAGlwD,MAAM,wBAChBmwD,EAAOD,EAAGlwD,MAAM,2BAChBowD,GAAUruD,GAAQmuD,EAAGlwD,MAAM,6BAuC/B,IArCA8B,EAAOsH,IAAMtH,EAAOwM,QAAUxM,EAAOsuD,OAAStuD,EAAOquD,KAAOruD,EAAOC,KAAOD,EAAO0mC,eAAgB,EAG7Fl6B,IACAxM,EAAO69B,GAAK,UACZ79B,EAAO65B,UAAYrtB,EAAQ,GAC3BxM,EAAOwM,SAAU,EACjBxM,EAAO0mC,cAAgB0nB,EAAGl2C,cAAc3Y,QAAQ,WAAa,IAE7DU,GAAQquD,GAAUD,KAClBruD,EAAO69B,GAAK,MACZ79B,EAAOsH,KAAM,GAGbgnD,IAAWD,IACXruD,EAAO65B,UAAYy0B,EAAO,GAAGrwD,QAAQ,KAAM,KAC3C+B,EAAOsuD,QAAS,GAEhBruD,IACAD,EAAO65B,UAAY55B,EAAK,GAAGhC,QAAQ,KAAM,KACzC+B,EAAOC,MAAO,GAEdouD,IACAruD,EAAO65B,UAAYw0B,EAAK,GAAKA,EAAK,GAAGpwD,QAAQ,KAAM,KAAO,KAC1D+B,EAAOsuD,QAAS,GAGhBtuD,EAAOsH,KAAOtH,EAAO65B,WAAau0B,EAAG7uD,QAAQ,aAAe,GACrB,OAAnCS,EAAO65B,UAAUrwB,MAAM,KAAK,KAC5BxJ,EAAO65B,UAAYu0B,EAAGl2C,cAAc1O,MAAM,YAAY,GAAGA,MAAM,KAAK,IAK5ExJ,EAAOomC,SAAWkoB,GAAUruD,GAAQouD,IAASD,EAAGlwD,MAAM,8BAGlD8B,EAAO69B,IAAoB,QAAd79B,EAAO69B,GAAc,CAClC,GAAI0wB,GAAevuD,EAAO65B,UAAUrwB,MAAM,IAC1CxJ,GAAOgoC,WAAahoC,EAAOomC,UACNioB,GAAQC,KACU,EAAlBC,EAAa,KAAW,EAAsB,EAAlBA,EAAa,IAAU,EAAsB,EAAlBA,EAAa,GAAS,IAC9E5vD,EAAE,yBAAyBe,OAAS,GAAKf,EAAE,yBAAyBwI,KAAK,WAAW5H,QAAQ,eAAiB,EAIrI,GAAImpB,GAAc/pB,EAAEhB,QAAQsO,QACxBwc,EAAe9pB,EAAEhB,QAAQoB,QAE7BiB,GAAO0H,eAAiB,WACpB,SAAI1H,EAAOomC,SAAY1d,EAAcD,IAAiB+lC,OAAOviD,MAAQuiD,OAAOzvD,SAKhFiB,EAAOyuD,UAAYzuD,EAAO0H,gBAG1B,IAAIgnD,KAUJ,IAPA1uD,EAAOmN,WAAaxP,OAAOgxD,kBAAoB,EAC/CD,EAAWzlD,KAAK,eAAiB2C,KAAK+qC,MAAM32C,EAAOmN,aAC/CnN,EAAOmN,YAAc,GACrBuhD,EAAWzlD,KAAK,UAIhBjJ,EAAO69B,KACP6wB,EAAWzlD,KAAKjJ,EAAO69B,GAAI79B,EAAO69B,GAAK,IAAM79B,EAAO65B,UAAUrwB,MAAM,KAAK,GAAIxJ,EAAO69B,GAAK,IAAM79B,EAAO65B,UAAU57B,QAAQ,MAAO,MAC7G,QAAd+B,EAAO69B,IAEP,IAAK,GADD+wB,GAAQpvD,SAASQ,EAAO65B,UAAUrwB,MAAM,KAAK,GAAI,IAC5C1B,EAAI8mD,EAAQ,EAAG9mD,GAAK,EAAGA,IAC5B4mD,EAAWzlD,KAAK,UAAYnB,EAiBxC,OAXI9H,GAAOyuD,UACPC,EAAWzlD,KAAK,0BAGhBtK,EAAE,QAAQ0I,YAAY,0BAItBqnD,EAAWhvD,OAAS,GAAGf,EAAE,QAAQ6H,SAASkoD,EAAWp2C,KAAK,MAGvDtY,KAOXpC,WAAWskD,UAAUf,WAMrBxjD,OAAO2I,UAAY,WAEf,QAASmgB,GAAQm7B,GACb,MAAgD,mBAAzCkI,OAAO5H,UAAUhmC,SAAS6tC,MAAMnI,GAK3C,QAASiN,GAAWC,GAChB,MAAuB,kBAATA,GAElB,QAASC,GAAQtE,GACb,MAAyB,mBAAX9sD,SAA0BA,OAAOqxD,OAASrxD,OAAOqxD,OAAOvE,GAAUA,EAC3ExsD,QAAQ,KAAM,SACdA,QAAQ,KAAM,QACdA,QAAQ,KAAM,QACdA,QAAQ,KAAM,UAKvB,QAASgxD,GAAexE,GACpB,GAEIyE,GAAYpnD,EAAGwU,EAFf6yC,EAAc1E,EAAOxsD,QAAQ,UAAW,IAAIuL,MAAM,KAClD4lD,IAEJ,KAAKtnD,EAAI,EAAGA,EAAIqnD,EAAYzvD,OAAQoI,IAAK,CACrC,GACIunD,GAAkBC,EADlBC,EAAOJ,EAAYrnD,EAEvB,IAAU,IAANA,EAASsnD,EAAOnmD,KAAKsmD,OAErB,IAA0B,IAAtBA,EAAKhwD,QAAQ,MAAqC,IAAvBgwD,EAAKhwD,QAAQ,KAIxC,GAHA8vD,EAAyC,IAAtBE,EAAKhwD,QAAQ,KAAaiwD,EAAoBC,EACjEH,EAAqC,IAAtBC,EAAKhwD,QAAQ,KAAa,IAAM,IAEH,IAAxCgwD,EAAKrxD,MAAMmxD,GAAkB3vD,OAE7B0vD,EAAOnmD,KAAKsmD,OAEX,CAGD,IADAL,EAAa,EACR5yC,EAAIxU,EAAI,EAAGwU,EAAI6yC,EAAYzvD,OAAQ4c,IAEpC,GADAizC,GAAQ,IAAMJ,EAAY7yC,GACtB6yC,EAAY7yC,GAAG/c,QAAQ+vD,IAAiB,EAAG,CAC3CJ,EAAa5yC,EACb8yC,EAAOnmD,KAAKsmD,EACZ,OAGJL,IAAYpnD,EAAIonD,OAIxB,IAAIK,EAAKhwD,QAAQ,KAAO,EAAG,CAEvB,GAAImwD,GAAYH,EAAK/lD,MAAM,KACvBmmD,EAAWD,EAAU,GACrBE,EAAcF,EAAU,EAK5B,IAJKL,IACDA,EAAgD,IAA7BO,EAAYrwD,QAAQ,KAAaiwD,EAAoBC,EACxEH,EAA4C,IAA7BM,EAAYrwD,QAAQ,KAAa,IAAM,KAEP,IAA/CqwD,EAAY1xD,MAAMmxD,GAAkB3vD,OAAc,CAElD,IADAwvD,EAAa,EACR5yC,EAAIxU,EAAI,EAAGwU,EAAI6yC,EAAYzvD,OAAQ4c,IAEpC,GADAszC,GAAe,IAAMT,EAAY7yC,GAC7B6yC,EAAY7yC,GAAG/c,QAAQ+vD,IAAiB,EAAG,CAC3CJ,EAAa5yC,CACb,OAGJ4yC,IAAYpnD,EAAIonD,GAExB,GAAIW,IAAQF,EAAUC,EAAY3xD,QAAQoxD,EAAiB,IAC3DD,GAAOnmD,KAAK4mD,OAIZT,GAAOnmD,KAAKsmD,GAK5B,MAAOH,GAEX,QAASU,GAAerF,GACpB,GAAiB3iD,GAAGwU,EAAhByzC,IACJ,KAAKtF,EAAQ,QACb,IAAIuF,GAAUvF,EAAOjhD,MAAM,gBAC3B,KAAK1B,EAAI,EAAGA,EAAIkoD,EAAQtwD,OAAQoI,IAAK,CACjC,GAAImoD,GAAQD,EAAQloD,EACpB,IAAc,KAAVmoD,EACJ,GAAIA,EAAM1wD,QAAQ,MAAQ,EACtBwwD,EAAO9mD,MACHmC,KAAM,QACN4E,QAASigD,QAGZ,CACD,GAAIA,EAAM1wD,QAAQ,OAAS,EACvB,QAEJ,IAAI0wD,EAAM1wD,QAAQ,MAAQ,GAAK0wD,EAAM1wD,QAAQ,KAAO,GAAK0wD,EAAM1wD,QAAQ,QAAU,EAAG,CAEhFwwD,EAAO9mD,MACHmC,KAAM,WACNsV,YAAauvC,EAAMhyD,QAAQ,QAAS,KAExC,UAGJ,GAAIiyD,GAAejB,EAAegB,GAC9BE,EAAaD,EAAa,GAC1BE,EAA2B,MAAfD,EACZE,KACAC,IACJ,KAAKh0C,EAAI,EAAGA,EAAI4zC,EAAaxwD,OAAQ4c,IAAK,CACtC,GAAImG,GAAQytC,EAAa5zC,EACrBmK,GAAQhE,GAER6tC,EAAW7tC,EAAM,IAAmB,UAAbA,EAAM,IAAyBA,EAAM,GAG5D4tC,EAAcpnD,KAAKwZ,GAI3B,GAAIwtC,EAAM1wD,QAAQ,OAAS,EAAG,CAE1B,GAII2vD,GAHAqB,EAAgB,GAChBC,EAAc,GACdC,EAAS,EAETC,GAAc,EAAOC,GAAY,EAAgCC,EAAQ,CAC7E,KAAKt0C,EAAIxU,EAAI,EAAGwU,EAAI0zC,EAAQtwD,OAAQ4c,IAOhC,GANI0zC,EAAQ1zC,GAAG/c,QAAQ,QAAU,GAC7BqxD,IAEAZ,EAAQ1zC,GAAG/c,QAAQ,QAAU,GAC7BqxD,IAEAZ,EAAQ1zC,GAAG/c,QAAQ,MAAQ4wD,IAAe,EAC1CI,GAAiBP,EAAQ1zC,GACrBq0C,IAAWH,GAAeR,EAAQ1zC,IACtCm0C,QAEC,IAAIT,EAAQ1zC,GAAG/c,QAAQ,MAAQ4wD,IAAe,EAAG,CAClD,KAAIM,EAAS,GAKR,CACDvB,EAAa5yC,EACbo0C,GAAc,CACd,OAPAD,IACAF,GAAiBP,EAAQ1zC,GACrBq0C,IAAWH,GAAeR,EAAQ1zC,QAQrC0zC,GAAQ1zC,GAAG/c,QAAQ,SAAW,GAAe,IAAVqxD,EACxCD,GAAY,GAGPA,IAAWJ,GAAiBP,EAAQ1zC,IACrCq0C,IAAWH,GAAeR,EAAQ1zC,IAI1Co0C,KACIxB,IAAYpnD,EAAIonD,GACpBa,EAAO9mD,MACHmC,KAAM,SACN+kD,WAAYA,EACZzvC,YAAa2vC,EACbrgD,QAASugD,EACTM,eAAgBL,EAChBX,KAAMS,SAITL,GAAM1wD,QAAQ,KAAO,IACtB6wD,IACAD,EAAa,WACTE,EAAc,KAAIA,EAAc,GAAK,IAAMA,EAAc,GAAGpyD,QAAQ,OAAQ,IAAM,MAE1F8xD,EAAO9mD,MACHmC,KAAM,SACN+kD,WAAYA,EACZzvC,YAAa2vC,EACbR,KAAMS,MAKtB,MAAOP,GAhLX,GACIN,GAAoB,GAAIte,QAAO,IAAM,KACrCqe,EAAoB,GAAIre,QAAO,IAAK,KAgLpC7qC,EAAY,SAAUqa,EAAU9Q,GAIhC,QAASihD,GAAab,EAAOW,GACzB,MAAIX,GAAMjgD,QAAgB6Q,EAAQovC,EAAMjgD,QAAS4gD,GACrC,WAAa,MAAO,IAEpC,QAASG,GAAkBd,EAAOW,GAC9B,MAAIX,GAAMY,eAAuBhwC,EAAQovC,EAAMY,eAAgBD,GACnD,WAAa,MAAO,IAEpC,QAASI,GAActhD,EAAMuhD,GACzB,GAAIC,GAAUC,EAAOC,EAAW,CAChC,IAA4B,IAAxB1hD,EAAKnQ,QAAQ,OAAc,CAC3B6xD,EAAW1hD,EAAKlG,MAAM,OAAO9J,OAAS,CACtC,IAAI2xD,GAAWJ,EAAIznD,MAAM,KAAK,GAAK4nD,CACnCH,GAAM,QAAUI,GAAY,EAAIA,EAAW,GAC3CF,EAAQzhD,EAAKlG,MAAM,OAAO4nD,GAAU5nD,MAAM,SAET,KAA5BkG,EAAKnQ,QAAQ,YAClB0xD,EAAM,mBACNE,EAAQzhD,EAAKlG,MAAM,YAAY,GAAGA,MAAM,MAET,IAA1BkG,EAAKnQ,QAAQ,UAClB0xD,EAAM,OACNE,EAAQzhD,EAAKlG,MAAM,UAAU,GAAGA,MAAM,MAGtC2nD,EAAQzhD,EAAKlG,MAAM,IAEvB0nD,GAAWD,CACX,KAAK,GAAInpD,GAAI,EAAGA,EAAIqpD,EAAMzxD,OAAQoI,IAAK,CACnC,GAAIynD,GAAO4B,EAAMrpD,EACS,KAAtBynD,EAAKhwD,QAAQ,KACTuI,EAAI,EACJopD,GAAY,kBAAoB3B,EAAKtxD,QAAQ,IAAK,IAAM,KAGxDizD,EAAW,iBAAmBxhD,EAAKzR,QAAQ,IAAK,IAAM,IAItDqzD,SAAS/B,GACT2B,GAAY,IAAM3B,EAAO,IAGZ,SAATA,GAAmBA,EAAKhwD,QAAQ,UAAY,GAAKgwD,EAAKhwD,QAAQ,UAAY,GAAKgwD,EAAKhwD,QAAQ,UAAY,EACxG2xD,EAAW3B,EAAKtxD,QAAQ,OAAQgzD,GAGhCC,GAAY,IAAM3B,EAMlC,MAAO2B,GAEX,QAASK,GAAqBC,EAAcP,GAExC,IAAK,GADDrP,MACK95C,EAAI,EAAGA,EAAI0pD,EAAa9xD,OAAQoI,IACjC,QAAQihD,KAAKyI,EAAa1pD,IAAK85C,EAAI34C,KAAKuoD,EAAa1pD,IAChD,qBAAqBihD,KAAKyI,EAAa1pD,IAAK85C,EAAI34C,KAAKuoD,EAAa1pD,IAEvE85C,EAAI34C,KAAK+nD,EAAcQ,EAAa1pD,GAAImpD,GAIhD,OAAOrP,GAAItpC,KAAK,MAEpB,QAASuI,GAAQF,EAAUiwC,GAGvB,GAFAA,EAAQA,GAAS,EACjBjwC,EAAWA,GAAY8wC,EAAE9wC,SACD,gBAAbA,GACP,KAAM,IAAI+wC,OAAM,uCAEpB,IAAI3B,GAASD,EAAenvC,EAC5B,IAAsB,IAAlBovC,EAAOrwD,OACP,MAAO,YAAc,MAAO,GAEhC,IAAIuxD,GAAM,OAASL,EACfe,EAAe,EAEfA,IADU,IAAVf,EACgB,cAAgBK,EAAM,oBAGtB,cAAgBA,EAAM,cAE5B,IAAVL,IACAe,GAAgB,6FAChBA,GAAgB,oEAChBA,GAAgB,2JAChBA,GAAgB,iCAEpBA,GAAgB,eAChB,IAAI7pD,EACJ,KAAKA,EAAI,EAAGA,EAAIioD,EAAOrwD,OAAQoI,IAAK,CAChC,GAAImoD,GAAQF,EAAOjoD,EAEnB,IAAmB,UAAfmoD,EAAM7kD,KAAV,CAIA,GAAI8lD,GAAUU,CAOd,IALmB,aAAf3B,EAAM7kD,OACN8lD,EAAWF,EAAcf,EAAMvvC,YAAauwC,GAC5CU,GAAgB,UAAYT,EAAW,KAAOD,EAAM,MAGrC,WAAfhB,EAAM7kD,KACN,GAAI6kD,EAAME,aAAcsB,GAAEI,QACtBD,EAAoBL,EAAqBtB,EAAMvvC,YAAauwC,GAE5DU,GAAgB,2BAA6B1B,EAAME,WAAa,UAAYc,EAAM,MAAQW,GAAsBA,EAAoB,MAAQ,SAAWlqB,KAAKY,UAAU2nB,EAAMJ,MAAQ,2BAA6BiB,EAAab,EAAOW,EAAQ,GAAK,cAAgBG,EAAkBd,EAAOW,EAAQ,GAAK,sBAGvS,CACD,GAAIX,EAAMvvC,YAAYhhB,OAAS,EAC3B,KAAM,IAAIgyD,OAAM,+BAAiCzB,EAAME,WAAa,IAGpEe,GAAWF,EAAcf,EAAME,WAAYc,GAC3CU,GAAgB,OAAST,EAAW,MACpCS,GAAgB,eAAiBT,EAAW,OAC5CS,GAAgB,sCAAwCV,EAAM,KAAOC,EAAW,WAAaxpB,KAAKY,UAAU2nB,EAAMJ,MAAQ,2BAA6BiB,EAAab,EAAOW,EAAM,GAAK,cAAgBG,EAAkBd,EAAOW,EAAM,GAAK,kBAC1Oe,GAAgB,UAChBA,GAAgB,sCAAwCV,EAAM,KAAOC,EAAW,WAAaxpB,KAAKY,UAAU2nB,EAAMJ,MAAQ,2BAA6BiB,EAAab,EAAOW,EAAM,GAAK,cAAgBG,EAAkBd,EAAOW,EAAM,GAAK,kBAC1Oe,GAAgB,UA5BxBA,IAAgB,QAAY1B,EAAa,QAAEhyD,QAAQ,MAAO,OAAOA,QAAQ,MAAO,OAAOA,QAAQ,KAAM,OAAe,KAkC5H,MADA0zD,IAAgB,gBACTG,KAAKrgC,KAAK9zB,OAAQg0D,GAtI7B,GAAIF,GAAI7yD,IACR6yD,GAAE9wC,SAAWA,EAuIb8wC,EAAE5wC,QAAU,SAAUF,GAIlB,MAHK8wC,GAAEM,WACHN,EAAEM,SAAWlxC,EAAQF,IAElB8wC,EAAEM,UAGjBzrD,GAAU47C,WACNryC,WACAmiD,YACAH,SACII,SAAa,SAAUC,EAAariD,GAChC,GAAI8a,GAAIrkB,EAAU47C,UAAU8P,SAASE,EACrC,KAAKvnC,GAAMA,IAAMA,EAAEhK,SAAW,MAAO,EAChCgK,GAAEonC,WACHpnC,EAAEonC,SAAW,GAAIzrD,GAAUqkB,EAAEhK,UAAUE,UAE3C,IAAIowC,GAAMryD,IACV,KAAK,GAAI+wD,KAAY9/C,GAAQggD,KACzBoB,EAAItB,GAAY9/C,EAAQggD,KAAKF,EAEjC,OAAOhlC,GAAEonC,SAASd,EAAKphD,EAAQmR,KAAMnR,EAAQtP,OAEjDyuD,OAAU,SAAUpyC,EAAS/M,GACzB,GAAuB,gBAAZ+M,GACP,KAAM,IAAI80C,OAAM,kEAEpB,OAAO3C,GAAQnyC,IAEnBu1C,GAAM,SAAUv1C,EAAS/M,GAErB,MADIg/C,GAAWjyC,KAAYA,EAAUA,EAAQ6U,KAAK7yB,OAC9Cge,EACO/M,EAAQg8C,GAAGjtD,KAAMiR,EAAQmR,MAGzBnR,EAAQuiD,QAAQxzD,KAAMiR,EAAQmR,OAG7CqxC,OAAU,SAAUz1C,EAAS/M,GAEzB,MADIg/C,GAAWjyC,KAAYA,EAAUA,EAAQ6U,KAAK7yB,OAC7Cge,EAIM/M,EAAQuiD,QAAQxzD,KAAMiR,EAAQmR,MAH9BnR,EAAQg8C,GAAGjtD,KAAMiR,EAAQmR,OAMxC/S,KAAQ,SAAU2O,EAAS/M,GACvB,GAAIyiD,GAAM,GAAIxqD,EAAI,CAElB,IADI+mD,EAAWjyC,KAAYA,EAAUA,EAAQ6U,KAAK7yB,OAC9C6nB,EAAQ7J,GAAU,CAIlB,IAHI/M,EAAQggD,KAAK0C,UACb31C,EAAUA,EAAQ21C,WAEjBzqD,EAAI,EAAGA,EAAI8U,EAAQld,OAAQoI,IAC5BwqD,GAAOziD,EAAQg8C,GAAGjvC,EAAQ9U,IAAK0qD,MAAa,IAAN1qD,EAAS2qD,KAAM3qD,IAAM8U,EAAQld,OAAS,EAAGkS,MAAO9J,GAEtF+H,GAAQggD,KAAK0C,UACb31C,EAAUA,EAAQ21C,eAItB,KAAK,GAAInxC,KAAOxE,GACZ9U,IACAwqD,GAAOziD,EAAQg8C,GAAGjvC,EAAQwE,IAAOA,IAAKA,GAG9C,OAAItZ,GAAI,EAAUwqD,EACNziD,EAAQuiD,QAAQxzD,OAEhC8zD,KAAQ,SAAU91C,EAAS/M,GAEvB,MADIg/C,GAAWjyC,KAAYA,EAAUA,EAAQ6U,KAAK7yB,OAC3CiR,EAAQg8C,GAAGjvC,IAEtBtE,KAAQ,SAAUsE,EAAS/M,GAEvB,MADIg/C,GAAWjyC,KAAYA,EAAUA,EAAQ6U,KAAK7yB,OAC3Cge,EAAQtE,KAAKzI,EAAQggD,KAAK8C,WAAa9iD,EAAQggD,KAAK+C,YAE/DC,GAAM,SAAUC,EAAYjjD,GACxB,GAAIi/C,EAOJ,OALIA,GADAgE,EAAWvzD,QAAQ,WAAW,EACvB,eAAeuzD,EAAW,KAG1B,uBAAuBA,EAAW,MAEtChB,KAAKrgC,KAAK7yB,KAAMkwD,GAAMr9B,KAAK7yB,OAEtCm0D,WAAc,SAAUD,EAAYjjD,GAChC,GAAIi/C,EAEAA,GADAgE,EAAWvzD,QAAQ,WAAW,EACvB,eAAeuzD,EAAW,KAG1B,uBAAuBA,EAAW,KAE7C,IAAIE,GAAYlB,KAAKrgC,KAAK7yB,KAAMkwD,GAAMr9B,KAAK7yB,KAC3C,OAAIo0D,GACOnjD,EAAQg8C,GAAGjtD,KAAMiR,EAAQmR,MAGzBnR,EAAQuiD,QAAQxzD,KAAMiR,EAAQmR,QAKrD,IAAI3a,GAAK,SAAUsa,EAAUK,GACzB,GAAyB,IAArByE,UAAU/lB,OAAc,CACxB,GAAIuzD,GAAW,GAAI3sD,GAAUqa,GACzBuyC,EAAWD,EAASpyC,UAAUG,EAElC,OADAiyC,GAAW,KACJ,EAEN,MAAO,IAAI3sD,GAAUqa,GA0B9B,OAxBAta,GAAG8sD,eAAiB,SAAUzjD,EAAMm8C,GAChCvlD,EAAU47C,UAAU2P,QAAQniD,GAAQm8C,GAExCxlD,EAAG+sD,iBAAmB,SAAU1jD,GAC5BpJ,EAAU47C,UAAU2P,QAAQniD,GAAQpO,aAC7BgF,GAAU47C,UAAU2P,QAAQniD,IAEvCrJ,EAAGgtD,gBAAkB,SAAU3jD,EAAMiR,GACjCra,EAAU47C,UAAU8P,SAAStiD,IAASiR,SAAUA,IAEpDta,EAAGitD,kBAAoB,SAAU5jD,EAAMiR,GAC/Bra,EAAU47C,UAAU8P,SAAStiD,KAC7BpJ,EAAU47C,UAAU8P,SAAStiD,GAAQpO,aAC9BgF,GAAU47C,UAAU8P,SAAStiD,KAG5CrJ,EAAGwa,QAAU,SAAUF,EAAU9Q,GAC7B,GAAIojD,GAAW,GAAI3sD,GAAUqa,EAAU9Q,EACvC,OAAOojD,GAASpyC,WAGpBxa,EAAGwJ,QAAUvJ,EAAU47C,UAAUryC,QACjCxJ,EAAGwrD,QAAUvrD,EAAU47C,UAAU2P,QACjCxrD,EAAG2rD,SAAW1rD,EAAU47C,UAAU8P,SAC3B3rD,KAMX1I,OAAOktC,OAAS,SAAUviC,EAAWzK,GAogBjC,QAASuP,GAAMyjC,GACX,MAAOjlC,MAAK+qC,MAAM9F,GAuEtB,QAAS0iB,KACL,GAAIC,GAAgBx9C,EAAEnY,OAAO01D,SACzBE,EAAcz9C,EAAEo1B,OAAOzrC,GAAGqW,EAAEmrB,YAC5BsyB,GAAYtsD,KAAK,0BACjBqsD,EAAgBC,EAAYtsD,KAAK,yBAA2B6O,EAAEnY,OAAO01D,UAEzEv9C,EAAE09C,kBAAoBrzD,WAAW,WACzB2V,EAAEnY,OAAOwuC,MACTr2B,EAAE29C,UACF39C,EAAE49C,aACF59C,EAAE69C,KAAK,aAAc79C,IAGhBA,EAAEi4B,MAKEpwC,EAAOi2D,mBAKR99C,EAAE+9C,gBAJF/9C,EAAEg+C,SAAS,GACXh+C,EAAE69C,KAAK,aAAc79C,KANzBA,EAAE49C,aACF59C,EAAE69C,KAAK,aAAc79C,KAY9Bw9C,GAqxBP,QAASS,GAAmBhpD,EAAGpD,GAC3B,GAAI2C,GAAK7L,EAAEsM,EAAEiB,OACb,KAAK1B,EAAG4B,GAAGvE,GACP,GAAwB,gBAAbA,GACP2C,EAAKA,EAAG2B,QAAQtE,OAEf,IAAIA,EAASmmB,SAAU,CACxB,GAAIxY,EAIJ,OAHAhL,GAAG2B,UAAU8B,KAAK,SAAU2D,EAAOsiD,GAC3BA,IAAQrsD,IAAU2N,EAAQ3N,KAE7B2N,EACO3N,EADA,OAIpB,GAAkB,IAAd2C,EAAG9K,OAGP,MAAO8K,GAAG,GAm2Bd,QAAS2pD,GAAajoD,EAAQ2D,GAC1BA,EAAUA,KAEV,IAAIukD,GAAez2D,OAAO02D,kBAAoB12D,OAAO22D,uBACjDC,EAAW,GAAIH,GAAa,SAAUI,GACtCA,EAAUC,QAAQ,SAAUC,GACxB1+C,EAAE2+C,UAAS,GACX3+C,EAAE69C,KAAK,mBAAoB79C,EAAG0+C,MAItCH,GAASK,QAAQ1oD,GACb22C,WAA0C,mBAAvBhzC,GAAQgzC,YAAoChzC,EAAQgzC,WACvEgS,UAAwC,mBAAtBhlD,GAAQglD,WAAmChlD,EAAQglD,UACrEC,cAAgD,mBAA1BjlD,GAAQilD,eAAuCjlD,EAAQilD,gBAGjF9+C,EAAE++C,UAAU9rD,KAAKsrD,GAk3BrB,QAASS,GAAqBxqD,EAAI6f,GAC9B7f,EAAK7L,EAAE6L,EACP,IAAImgB,GAAGsqC,EAAIC,EACPC,EAAYn/C,EAAE/O,KAAM,EAAK,CAE7B0jB,GAAIngB,EAAGrD,KAAK,yBAA2B,IACvC8tD,EAAKzqD,EAAGrD,KAAK,0BACb+tD,EAAK1qD,EAAGrD,KAAK,0BACT8tD,GAAMC,GACND,EAAKA,GAAM,IACXC,EAAKA,GAAM,KAGPl/C,EAAEo/C,gBACFH,EAAKtqC,EACLuqC,EAAK,MAGLA,EAAKvqC,EACLsqC,EAAK,KAKTA,EADA,EAAK11D,QAAQ,MAAQ,EAChBC,SAASy1D,EAAI,IAAM5qC,EAAW8qC,EAAY,IAG1CF,EAAK5qC,EAAW8qC,EAAY,KAGjCD,EADA,EAAK31D,QAAQ,MAAQ,EAChBC,SAAS01D,EAAI,IAAM7qC,EAAW,IAG9B6qC,EAAK7qC,EAAW,KAGzB7f,EAAG6C,UAAU,eAAiB4nD,EAAK,KAAOC,EAAK,SA2ZnD,QAASG,GAAoB3+C,GASzB,MARgC,KAA5BA,EAAUnX,QAAQ,QAEdmX,EADAA,EAAU,KAAOA,EAAU,GAAGvY,cAClB,KAAOuY,EAAU,GAAGvY,cAAgBuY,EAAU0iC,UAAU,GAGxD,KAAO1iC,GAGpBA,EA3jHX,KAAM9X,eAAgBisC,SAAS,MAAO,IAAIA,QAAOviC,EAAWzK,EAC5D,IAAIkK,IACAuX,UAAW,aACXg2C,kBAAmB,YACnBpqB,aAAc,EACd5gB,MAAO,IAEPipC,UAAU,EACVgC,8BAA8B,EAC9BzB,oBAAoB,EAEpB0B,uBAAuB,EACvBC,sBAAuB,GAEvBphB,UAAU,EACVqhB,kBAAkB,EAClBC,sBAAuB,EACvBC,wBAAwB,EACxBC,4BAA6B,EAC7BC,8BAA+B,EAC/BC,gBAAgB,EAChBC,wBAAyB,IAEzBC,YAAY,EAEZC,gBAAgB,EAEhBC,kBAAkB,EAElB/qC,OAAQ,QACRgrC,WACIC,OAAQ,GACRC,QAAS,EACT1F,MAAO,IACP2F,SAAU,EACVC,cAAe,GAEnBC,MACID,cAAe,EACfE,eAAe,GAEnBC,MACIH,cAAc,EACdI,QAAQ,EACRC,aAAc,GACdC,YAAa,KAEjBC,MACIC,WAAW,GAGfC,UAAU,EAEVrrB,MAAM,EACNC,QAAS,EACTC,QAAS,EACTorB,YAAY,EAEZC,UAAW,KACXC,eAAe,EACfC,oBAAoB,EACpBC,wBAAwB,EAExBC,iBAAiB,EACjBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,kBAAkB,EAClBC,uBAAuB,EACvBC,sBAAuB,EACvBC,uBAAwB,YAExBC,SAAS,EACTC,mBAAmB,EAEnBzuD,SAAS,EAET0uD,cAAc,EAEdC,YAAa32D,OAEbqqC,aAAc,EACdusB,cAAe,EACfC,gBAAiB,EACjBC,oBAAqB,SACrBC,eAAgB,EAChBC,gBAAgB,EAChBC,mBAAoB,EACpBC,kBAAmB,EAEnBC,cAAc,EAEdC,WAAY,EACZC,WAAY,GACZC,eAAe,EACfC,aAAa,EACbC,YAAY,EACZC,gBAAiB,GACjBC,aAAc,IACdC,cAAc,EACdC,cAAc,EACdptC,UAAW,EACXqtC,0BAA0B,EAC1BC,qBAAqB,EAErBC,mBAAmB,EAEnBC,WAAY,KACZC,kBAAmB,OACnBC,qBAAqB,EACrBC,gBAAgB,EAChBC,uBAAwB,KACxBC,yBAA0B,KAC1BC,yBAA0B,KAC1BC,uBAAwB,KACxBC,eAAgB,UAEhBC,YAAY,EACZC,gBAAiB,IAEjBprB,WAAY,KACZC,WAAY,KAEZorB,qBAAqB,EACrBC,uBAAuB,EAEvBC,YAAY,EAEZC,eAAe,EACfC,0BAA0B,EAC1BC,qBAAqB,EAErBhuB,aAAa,EACbC,uBAAuB,EACvBguB,4BAA6B,EAC7B/tB,8BAA8B,EAE9BuC,eAAe,EACfyrB,qBAAqB,EAErBnuB,MAAM,EACNouB,qBAAsB,EACtB1sB,aAAc,KAEd2sB,QAASp5D,OACTq5D,gBAAgB,EAChBC,UAAW,QACXC,qBAAqB,EAErBC,kBAAkB,EAClBC,kBAAkB,EAClBC,aAAc,KACdC,WAAW,EACXC,eAAgB,oBAEhBC,kBAAkB,EAElBC,uBAAwB,oBACxBC,WAAY,eACZC,iBAAkB,sBAClBC,0BAA2B,gCAC3BC,kBAAmB,uBACnBC,oBAAqB,yBACrBC,eAAgB,oBAChBC,wBAAyB,8BACzBC,eAAgB,oBAChBC,wBAAyB,8BACzBC,aAAc,iBACdC,YAAa,2BACbC,kBAAmB,kCACnBC,oBAAqB,yBACrBC,uBAAwB,4BACxBC,qBAAsB,0BACtBC,sBAAuB,2BACvBC,2BAA4B,gCAC5BC,yBAA0B,8BAC1BC,wBAAyB,qBACzBC,iBAAkB,cAClBC,uBAAwB,sBACxBC,sBAAuB,qBACvBC,mBAAoB,wBACpBC,kBAAmB,sBACnBC,eAAgB,YAChBC,mBAAoB,wBAGpBvI,UAAU,EACVwI,gBAAgB,EAEhBC,MAAM,EACNC,iBAAkB,iBAClBC,iBAAkB,aAClBC,kBAAmB,0BACnBC,iBAAkB,yBAClBC,wBAAyB,wBAEzBC,oBAAoB,GA8BpBC,EAA0B1/D,GAAUA,EAAOs4D,gBAE/Ct4D,GAASA,KACT,IAAI2/D,KACJ,KAAK,GAAIr3D,KAAStI,GACd,GAA6B,gBAAlBA,GAAOsI,IAAyC,OAAlBtI,EAAOsI,KAAqBtI,EAAOsI,GAAO6nB,UAAYnwB,EAAOsI,KAAWxI,QAAUE,EAAOsI,KAAWjG,UAA6B,mBAATkG,IAAwBvI,EAAOsI,YAAkBC,IAA4B,mBAAXq3D,SAA0B5/D,EAAOsI,YAAkBs3D,SAOlRD,EAAer3D,GAAStI,EAAOsI,OAP6P,CAC5Rq3D,EAAer3D,KACf,KAAK,GAAIu3D,KAAa7/D,GAAOsI,GACzBq3D,EAAer3D,GAAOu3D,GAAa7/D,EAAOsI,GAAOu3D,GAO7D,IAAK,GAAIt1D,KAAOL,GACZ,GAA2B,mBAAhBlK,GAAOuK,GACdvK,EAAOuK,GAAOL,EAASK,OAEtB,IAA2B,gBAAhBvK,GAAOuK,GACnB,IAAK,GAAIu1D,KAAW51D,GAASK,GACW,mBAAzBvK,GAAOuK,GAAKu1D,KACnB9/D,EAAOuK,GAAKu1D,GAAW51D,EAASK,GAAKu1D,GAOrD,IAAI3nD,GAAIpX,IAcR,IAXAoX,EAAEnY,OAASA,EACXmY,EAAEwnD,eAAiBA,EAGnBxnD,EAAE04C,cAIe,mBAAN/vD,IAAqC,mBAATyH,KACnCzH,EAAIyH,IAES,mBAANzH,KAEHA,EADgB,mBAATyH,GACHzI,OAAOyI,MAAQzI,OAAOigE,OAASjgE,OAAO8/D,OAGtCr3D,MAKZ4P,EAAErX,EAAIA,EAKNqX,EAAE6nD,kBAAoBv8D,OACtB0U,EAAE8nD,oBAAsB,WAEpB,IAAK9nD,EAAEnY,OAAOo6D,YAAa,OAAO,CAClC,IACiB8F,GADbC,GAAa,EACbC,IACJ,KAAMF,IAAS/nD,GAAEnY,OAAOo6D,YAChBjiD,EAAEnY,OAAOo6D,YAAYzmD,eAAeusD,IACpCE,EAAOh1D,KAAK80D,EAGpBE,GAAOhjB,KAAK,SAAUpK,EAAGqK,GACrB,MAAO17C,UAASqxC,EAAG,IAAMrxC,SAAS07C,EAAG,KAEzC,KAAK,GAAIpzC,GAAI,EAAGA,EAAIm2D,EAAOv+D,OAAQoI,IAC/Bi2D,EAAQE,EAAOn2D,GACXi2D,GAASpgE,OAAOguB,aAAeqyC,IAC/BA,EAAaD,EAGrB,OAAOC,IAAc,OAEzBhoD,EAAEkoD,cAAgB,WAEd,GAAIF,GAAahoD,EAAE8nD,qBACnB,IAAIE,GAAchoD,EAAE6nD,oBAAsBG,EAAY,CAClD,GAAIG,GAAoBH,IAAchoD,GAAEnY,OAAOo6D,YAAcjiD,EAAEnY,OAAOo6D,YAAY+F,GAAchoD,EAAEwnD,eAC9FY,EAAcpoD,EAAEnY,OAAOwuC,MAAS8xB,EAAkBjG,gBAAkBliD,EAAEnY,OAAOq6D,aACjF,KAAM,GAAI/xD,KAASg4D,GACfnoD,EAAEnY,OAAOsI,GAASg4D,EAAkBh4D,EAExC6P,GAAE6nD,kBAAoBG,EACnBI,GAAepoD,EAAEqoD,aAChBroD,EAAEsoD,QAAO,KAKjBtoD,EAAEnY,OAAOo6D,aACTjiD,EAAEkoD,gBAMNloD,EAAE1N,UAAY3J,EAAE2J,GACW,IAAvB0N,EAAE1N,UAAU5I,QAAhB,CACA,GAAIsW,EAAE1N,UAAU5I,OAAS,EAAG,CACxB,GAAIurC,KAKJ,OAJAj1B,GAAE1N,UAAU2F,KAAK,WAEbg9B,EAAQhiC,KAAK,GAAI4hC,QAAOjsC,KAAMf,MAE3BotC,EAIXj1B,EAAE1N,UAAU,GAAG24B,OAASjrB,EACxBA,EAAE1N,UAAU0Y,KAAK,SAAUhL,GAE3BA,EAAE04C,WAAWzlD,KAAK+M,EAAEnY,OAAOu9D,uBAAyBplD,EAAEnY,OAAOyhB,WAEzDtJ,EAAEnY,OAAOw2C,UACTr+B,EAAE04C,WAAWzlD,KAAK+M,EAAEnY,OAAOu9D,uBAAyB,aAEnDplD,EAAErP,QAAQ43D,UACXvoD,EAAE04C,WAAWzlD,KAAK+M,EAAEnY,OAAOu9D,uBAAyB,cACpDplD,EAAEnY,OAAOs6D,gBAAkB,GAE3BniD,EAAEnY,OAAOo4D,YACTjgD,EAAE04C,WAAWzlD,KAAK+M,EAAEnY,OAAOu9D,uBAAyB,eAGpDplD,EAAEnY,OAAOo5D,UAAYjhD,EAAEnY,OAAOq8D,yBAC9BlkD,EAAEnY,OAAOo8D,qBAAsB,GAG/BjkD,EAAEnY,OAAOu7D,sBACTpjD,EAAEnY,OAAOm8D,gBAAkB,IAG1B,OAAQ,YAAa,QAAQz6D,QAAQyW,EAAEnY,OAAOutB,SAAW,IACtDpV,EAAErP,QAAQ63D,cACVxoD,EAAEnY,OAAOo8D,qBAAsB,EAC/BjkD,EAAE04C,WAAWzlD,KAAK+M,EAAEnY,OAAOu9D,uBAAyB,OAGpDplD,EAAEnY,OAAOutB,OAAS,SAGF,UAApBpV,EAAEnY,OAAOutB,QACTpV,EAAE04C,WAAWzlD,KAAK+M,EAAEnY,OAAOu9D,uBAAyBplD,EAAEnY,OAAOutB,QAEzC,SAApBpV,EAAEnY,OAAOutB,SACTpV,EAAEnY,OAAOm8D,gBAAkB,EAC3BhkD,EAAEnY,OAAOq6D,cAAgB,EACzBliD,EAAEnY,OAAOs6D,gBAAkB,EAC3BniD,EAAEnY,OAAOw6D,eAAiB,EAC1BriD,EAAEnY,OAAOy6D,gBAAiB,EAC1BtiD,EAAEnY,OAAO8tC,aAAe,EACxB31B,EAAEnY,OAAOs4D,kBAAmB,EAC5BngD,EAAEnY,OAAOq4D,gBAAiB,GAEN,SAApBlgD,EAAEnY,OAAOutB,QAAyC,SAApBpV,EAAEnY,OAAOutB,SACvCpV,EAAEnY,OAAOq6D,cAAgB,EACzBliD,EAAEnY,OAAOs6D,gBAAkB,EAC3BniD,EAAEnY,OAAOw6D,eAAiB,EAC1BriD,EAAEnY,OAAOo8D,qBAAsB,EAC/BjkD,EAAEnY,OAAO8tC,aAAe,EACxB31B,EAAEnY,OAAOq4D,gBAAiB,EACa,mBAA5BqH,KACPvnD,EAAEnY,OAAOs4D,kBAAmB,IAKhCngD,EAAEnY,OAAOs8D,YAAcnkD,EAAErP,QAAQC,QACjCoP,EAAEnY,OAAOs8D,YAAa,GAI1BnkD,EAAEigC,QAAUjgC,EAAE1N,UAAU4J,SAAS,IAAM8D,EAAEnY,OAAOi+D,cAG5C9lD,EAAEnY,OAAOy7D,aACTtjD,EAAEyoD,oBAAsB9/D,EAAEqX,EAAEnY,OAAOy7D,YAC/BtjD,EAAEnY,OAAOw7D,mBAAoD,gBAAxBrjD,GAAEnY,OAAOy7D,YAA2BtjD,EAAEyoD,oBAAoB/+D,OAAS,GAAsD,IAAjDsW,EAAE1N,UAAUlJ,KAAK4W,EAAEnY,OAAOy7D,YAAY55D,SACnJsW,EAAEyoD,oBAAsBzoD,EAAE1N,UAAUlJ,KAAK4W,EAAEnY,OAAOy7D,aAGtB,YAA5BtjD,EAAEnY,OAAOi8D,gBAAgC9jD,EAAEnY,OAAO27D,oBAClDxjD,EAAEyoD,oBAAoBj4D,SAASwP,EAAEnY,OAAO0+D,wBAA0B,aAGlEvmD,EAAEnY,OAAO27D,qBAAsB,EAEnCxjD,EAAEyoD,oBAAoBj4D,SAASwP,EAAEnY,OAAO0+D,wBAA0BvmD,EAAEnY,OAAOi8D,kBAG3E9jD,EAAEnY,OAAO+wC,YAAc54B,EAAEnY,OAAOgxC,cAC5B74B,EAAEnY,OAAO+wC,aACT54B,EAAE44B,WAAajwC,EAAEqX,EAAEnY,OAAO+wC,YACtB54B,EAAEnY,OAAOw7D,mBAAoD,gBAAxBrjD,GAAEnY,OAAO+wC,YAA2B54B,EAAE44B,WAAWlvC,OAAS,GAAsD,IAAjDsW,EAAE1N,UAAUlJ,KAAK4W,EAAEnY,OAAO+wC,YAAYlvC,SAC1IsW,EAAE44B,WAAa54B,EAAE1N,UAAUlJ,KAAK4W,EAAEnY,OAAO+wC,cAG7C54B,EAAEnY,OAAOgxC,aACT74B,EAAE64B,WAAalwC,EAAEqX,EAAEnY,OAAOgxC,YACtB74B,EAAEnY,OAAOw7D,mBAAoD,gBAAxBrjD,GAAEnY,OAAOgxC,YAA2B74B,EAAE64B,WAAWnvC,OAAS,GAAsD,IAAjDsW,EAAE1N,UAAUlJ,KAAK4W,EAAEnY,OAAOgxC,YAAYnvC,SAC1IsW,EAAE64B,WAAa74B,EAAE1N,UAAUlJ,KAAK4W,EAAEnY,OAAOgxC,eAMrD74B,EAAEo/C,aAAe,WACb,MAA8B,eAAvBp/C,EAAEnY,OAAOyhB,WAKpBtJ,EAAE/O,IAAM+O,EAAEo/C,iBAAwD,QAArCp/C,EAAE1N,UAAU,GAAGgpB,IAAIpZ,eAA4D,QAAjClC,EAAE1N,UAAUpB,IAAI,cACvF8O,EAAE/O,KACF+O,EAAE04C,WAAWzlD,KAAK+M,EAAEnY,OAAOu9D,uBAAyB,OAIpDplD,EAAE/O,MACF+O,EAAE0oD,SAAwC,gBAA7B1oD,EAAEigC,QAAQ/uC,IAAI,YAI3B8O,EAAEnY,OAAOs6D,gBAAkB,GAC3BniD,EAAE04C,WAAWzlD,KAAK+M,EAAEnY,OAAOu9D,uBAAyB,YAIpDplD,EAAEhW,OAAOwM,SACTwJ,EAAE04C,WAAWzlD,KAAK+M,EAAEnY,OAAOu9D,uBAAyB,WAIxDplD,EAAE1N,UAAU9B,SAASwP,EAAE04C,WAAWp2C,KAAK,MAGvCtC,EAAE9H,UAAY,EAGd8H,EAAEqU,SAAW,EAGbrU,EAAE0gC,SAAW,EAKb1gC,EAAE2oD,gBAAkB,WAChB3oD,EAAEnY,OAAOk9D,kBAAmB,EACxB/kD,EAAEnY,OAAOi9D,oBAAqB,GAAS9kD,EAAEnY,OAAOs8D,YAChDnkD,EAAE4oD,mBAGV5oD,EAAE6oD,gBAAkB,WAChB7oD,EAAEnY,OAAOi9D,kBAAmB,EACxB9kD,EAAEnY,OAAOk9D,oBAAqB,GAAS/kD,EAAEnY,OAAOs8D,YAChDnkD,EAAE4oD,mBAGV5oD,EAAE8oD,WAAa,WACX9oD,EAAEnY,OAAOk9D,iBAAmB/kD,EAAEnY,OAAOi9D,kBAAmB,EACpD9kD,EAAEnY,OAAOs8D,YAAYnkD,EAAE4oD,mBAE/B5oD,EAAE+oD,kBAAoB,WAClB/oD,EAAEnY,OAAOk9D,kBAAmB,EACxB/kD,EAAEnY,OAAOi9D,oBAAqB,GAAQ9kD,EAAEnY,OAAOs8D,YAC/CnkD,EAAEgpD,iBAGVhpD,EAAEipD,kBAAoB,WAClBjpD,EAAEnY,OAAOi9D,kBAAmB,EACxB9kD,EAAEnY,OAAOk9D,oBAAqB,GAAQ/kD,EAAEnY,OAAOs8D,YAC/CnkD,EAAEgpD,iBAGVhpD,EAAEkpD,aAAe,WACblpD,EAAEnY,OAAOk9D,iBAAmB/kD,EAAEnY,OAAOi9D,kBAAmB,EACpD9kD,EAAEnY,OAAOs8D,YAAYnkD,EAAEgpD,iBAY/BhpD,EAAEgpD,cAAgB,SAASG,GACvBnpD,EAAE1N,UAAU,GAAGgF,MAAM8xD,OAAS,OAC9BppD,EAAE1N,UAAU,GAAGgF,MAAM8xD,OAASD,EAAS,mBAAqB,eAC5DnpD,EAAE1N,UAAU,GAAGgF,MAAM8xD,OAASD,EAAS,eAAiB,YACxDnpD,EAAE1N,UAAU,GAAGgF,MAAM8xD,OAASD,EAAS,WAAY,QAEvDnpD,EAAE4oD,gBAAkB,WAChB5oD,EAAE1N,UAAU,GAAGgF,MAAM8xD,OAAS,IAE9BppD,EAAEnY,OAAOs8D,YACTnkD,EAAEgpD,gBAKNhpD,EAAEqpD,gBACFrpD,EAAEspD,aAAe,EAEjBtpD,EAAEiW,UAAY,SAAUszC,EAAYpzC,EAAKqzC,EAAQC,EAAOC,EAAkBphE,GAEtE,QAASqhE,KACDrhE,GAAUA,IAFlB,GAAIkuB,EAIC+yC,GAAWhkD,UAAamkD,EAmBzBC,IAlBIxzC,GACAK,EAAQ,GAAI7uB,QAAO8uB,MACnBD,EAAME,OAASizC,EACfnzC,EAAMG,QAAUgzC,EACZF,IACAjzC,EAAMizC,MAAQA,GAEdD,IACAhzC,EAAMgzC,OAASA,GAEfrzC,IACAK,EAAML,IAAMA,IAGhBwzC,KAOZ3pD,EAAE+4B,cAAgB,WAEd,QAAS6wB,KACY,mBAAN5pD,IAA2B,OAANA,GAAeA,IACxB1U,SAAnB0U,EAAEspD,cAA4BtpD,EAAEspD,eAChCtpD,EAAEspD,eAAiBtpD,EAAEqpD,aAAa3/D,SAC9BsW,EAAEnY,OAAO28D,qBAAqBxkD,EAAEskB,SACpCtkB,EAAE69C,KAAK,gBAAiB79C,KANhCA,EAAEqpD,aAAerpD,EAAE1N,UAAUlJ,KAAK,MASlC,KAAK,GAAI0I,GAAI,EAAGA,EAAIkO,EAAEqpD,aAAa3/D,OAAQoI,IACvCkO,EAAEiW,UAAUjW,EAAEqpD,aAAav3D,GAAKkO,EAAEqpD,aAAav3D,GAAG+3D,YAAc7pD,EAAEqpD,aAAav3D,GAAG5I,aAAa,OAAU8W,EAAEqpD,aAAav3D,GAAG03D,QAAUxpD,EAAEqpD,aAAav3D,GAAG5I,aAAa,UAAY8W,EAAEqpD,aAAav3D,GAAG23D,OAASzpD,EAAEqpD,aAAav3D,GAAG5I,aAAa,UAAU,EAAM0gE,IAOlQ5pD,EAAE09C,kBAAoBpyD,OACtB0U,EAAE8pD,aAAc,EAChB9pD,EAAE+pD,gBAAiB,EA8BnB/pD,EAAEgqD,cAAgB,WACd,MAAmC,mBAAxBhqD,GAAE09C,sBACR19C,EAAEnY,OAAO01D,YACVv9C,EAAE8pD,cACN9pD,EAAE8pD,aAAc,EAChB9pD,EAAE69C,KAAK,kBAAmB79C,OAC1Bu9C,SAEJv9C,EAAE+9C,aAAe,SAAUt8C,GAClBzB,EAAE09C,oBACH19C,EAAE09C,mBAAmBl5C,aAAaxE,EAAE09C,mBACxC19C,EAAE8pD,aAAc,EAChB9pD,EAAE09C,kBAAoBpyD,OACtB0U,EAAE69C,KAAK,iBAAkB79C,KAE7BA,EAAEiqD,cAAgB,SAAU31C,GACpBtU,EAAE+pD,iBACF/pD,EAAE09C,mBAAmBl5C,aAAaxE,EAAE09C,mBACxC19C,EAAE+pD,gBAAiB,EACL,IAAVz1C,GACAtU,EAAE+pD,gBAAiB,EACnBxM,KAGAv9C,EAAEigC,QAAQpnC,cAAc,WACfmH,IACLA,EAAE+pD,gBAAiB,EACd/pD,EAAE8pD,YAIHvM,IAHAv9C,EAAE+9C,oBAWlB/9C,EAAEogC,aAAe,WACb,OAASpgC,EAAEkqD,SAAS,IAExBlqD,EAAEqgC,aAAe,WACb,OAASrgC,EAAEkqD,SAASlqD,EAAEkqD,SAASxgE,OAAS,IAK5CsW,EAAEmqD,iBAAmB,WACjB,GAEIr4D,GAFAs4D,KACAC,EAAY,CAIhB,IAA8B,SAA3BrqD,EAAEnY,OAAOq6D,eAA4BliD,EAAEnY,OAAOq6D,cAAgB,EAC7D,IAAKpwD,EAAI,EAAGA,EAAI8D,KAAKqvB,KAAKjlB,EAAEnY,OAAOq6D,eAAgBpwD,IAAK,CACpD,GAAI8J,GAAQoE,EAAEmrB,YAAcr5B,CAC5B,IAAG8J,EAAQoE,EAAEo1B,OAAO1rC,OAAQ,KAC5B0gE,GAAan3D,KAAK+M,EAAEo1B,OAAOzrC,GAAGiS,GAAO,QAGzCwuD,GAAan3D,KAAK+M,EAAEo1B,OAAOzrC,GAAGqW,EAAEmrB,aAAa,GAIjD,KAAKr5B,EAAI,EAAGA,EAAIs4D,EAAa1gE,OAAQoI,IACjC,GAA+B,mBAApBs4D,GAAat4D,GAAoB,CACxC,GAAI/I,GAASqhE,EAAat4D,GAAG9I,YAC7BqhE,GAAYthE,EAASshE,EAAYthE,EAASshE,EAK9CA,GAAWrqD,EAAEigC,QAAQ/uC,IAAI,SAAUm5D,EAAY,OAEvDrqD,EAAEsqD,oBAAsB,WACpB,GAAIr0D,GAAOlN,CAEPkN,GAD0B,mBAAnB+J,GAAEnY,OAAOoO,MACR+J,EAAEnY,OAAOoO,MAGT+J,EAAE1N,UAAU,GAAGi4D,YAGvBxhE,EAD2B,mBAApBiX,GAAEnY,OAAOkB,OACPiX,EAAEnY,OAAOkB,OAGTiX,EAAE1N,UAAU,GAAGyR,aAEd,IAAV9N,GAAe+J,EAAEo/C,gBAA6B,IAAXr2D,IAAiBiX,EAAEo/C,iBAK1DnpD,EAAQA,EAAQzM,SAASwW,EAAE1N,UAAUpB,IAAI,gBAAiB,IAAM1H,SAASwW,EAAE1N,UAAUpB,IAAI,iBAAkB,IAC3GnI,EAASA,EAASS,SAASwW,EAAE1N,UAAUpB,IAAI,eAAgB,IAAM1H,SAASwW,EAAE1N,UAAUpB,IAAI,kBAAmB,IAG7G8O,EAAE/J,MAAQA,EACV+J,EAAEjX,OAASA,EACXiX,EAAEwqD,KAAOxqD,EAAEo/C,eAAiBp/C,EAAE/J,MAAQ+J,EAAEjX,SAG5CiX,EAAEyqD,iBAAmB,WACjBzqD,EAAEo1B,OAASp1B,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAOw9D,YAC7CrlD,EAAEkqD,YACFlqD,EAAE0qD,cACF1qD,EAAE2qD,kBAEF,IAEI74D,GAFA6jC,EAAe31B,EAAEnY,OAAO8tC,aACxBi1B,GAAiB5qD,EAAEnY,OAAO06D,mBAE1BsI,EAAgB,EAChBjvD,EAAQ,CACZ,IAAsB,mBAAXoE,GAAEwqD,KAAb,CAC4B,gBAAjB70B,IAA6BA,EAAapsC,QAAQ,MAAQ,IACjEosC,EAAelhB,WAAWkhB,EAAa1tC,QAAQ,IAAK,KAAO,IAAM+X,EAAEwqD,MAGvExqD,EAAE8qD,aAAen1B,EAEb31B,EAAE/O,IAAK+O,EAAEo1B,OAAOlkC,KAAK65D,WAAY,GAAI72C,UAAW,KAC/ClU,EAAEo1B,OAAOlkC,KAAK85D,YAAa,GAAIlgB,aAAc,IAElD,IAAImgB,EACAjrD,GAAEnY,OAAOs6D,gBAAkB,IAEvB8I,EADAr1D,KAAK+qC,MAAM3gC,EAAEo1B,OAAO1rC,OAASsW,EAAEnY,OAAOs6D,mBAAqBniD,EAAEo1B,OAAO1rC,OAASsW,EAAEnY,OAAOs6D,gBAC7DniD,EAAEo1B,OAAO1rC,OAGTkM,KAAKqvB,KAAKjlB,EAAEo1B,OAAO1rC,OAASsW,EAAEnY,OAAOs6D,iBAAmBniD,EAAEnY,OAAOs6D,gBAE/D,SAA3BniD,EAAEnY,OAAOq6D,eAA6D,QAAjCliD,EAAEnY,OAAOu6D,sBAC9C6I,EAAyBr1D,KAAKod,IAAIi4C,EAAwBjrD,EAAEnY,OAAOq6D,cAAgBliD,EAAEnY,OAAOs6D,kBAKpG,IAAI+I,GACA/I,EAAkBniD,EAAEnY,OAAOs6D,gBAC3BgJ,EAAeF,EAAyB9I,EACxCiJ,EAAiBD,GAAgBnrD,EAAEnY,OAAOs6D,gBAAkBgJ,EAAenrD,EAAEo1B,OAAO1rC,OACxF,KAAKoI,EAAI,EAAGA,EAAIkO,EAAEo1B,OAAO1rC,OAAQoI,IAAK,CAClCo5D,EAAY,CACZ,IAAI7xB,GAAQr5B,EAAEo1B,OAAOzrC,GAAGmI,EACxB,IAAIkO,EAAEnY,OAAOs6D,gBAAkB,EAAG,CAE9B,GAAIkJ,GACAC,EAAQC,CACyB,YAAjCvrD,EAAEnY,OAAOu6D,qBACTkJ,EAAS11D,KAAK+qC,MAAM7uC,EAAIqwD,GACxBoJ,EAAMz5D,EAAIw5D,EAASnJ,GACfmJ,EAASF,GAAmBE,IAAWF,GAAkBG,IAAQpJ,EAAgB,MAC3EoJ,GAAOpJ,IACToJ,EAAM,EACND,KAGRD,EAAqBC,EAASC,EAAMN,EAAyB9I,EAC7D9oB,EACKnoC,KACGs6D,4BAA6BH,EAC7BI,yBAA0BJ,EAC1BK,iBAAkBL,EAClBM,gBAAiBN,EACjBO,MAASP,MAIjBE,EAAM31D,KAAK+qC,MAAM7uC,EAAIq5D,GACrBG,EAASx5D,EAAIy5D,EAAMJ,GAEvB9xB,EACKnoC,IACG,WAAa8O,EAAEo/C,eAAiB,MAAQ,QAC/B,IAARmM,GAAavrD,EAAEnY,OAAO8tC,cAAkB31B,EAAEnY,OAAO8tC,aAAe,MAEpExkC,KAAK,qBAAsBm6D,GAC3Bn6D,KAAK,kBAAmBo6D,GAGJ,SAAzBlyB,EAAMnoC,IAAI,aACiB,SAA3B8O,EAAEnY,OAAOq6D,eACTgJ,EAAYlrD,EAAEo/C,eAAiB/lB,EAAMr7B,YAAW,GAAQq7B,EAAM/mB,aAAY,GACtEtS,EAAEnY,OAAO46D,eAAcyI,EAAY9zD,EAAM8zD,MAG7CA,GAAalrD,EAAEwqD,MAAQxqD,EAAEnY,OAAOq6D,cAAgB,GAAKvsB,GAAgB31B,EAAEnY,OAAOq6D,cAC1EliD,EAAEnY,OAAO46D,eAAcyI,EAAY9zD,EAAM8zD,IAEzClrD,EAAEo/C,eACFp/C,EAAEo1B,OAAOtjC,GAAGwF,MAAMrB,MAAQi1D,EAAY,KAGtClrD,EAAEo1B,OAAOtjC,GAAGwF,MAAMvO,OAASmiE,EAAY,MAG/ClrD,EAAEo1B,OAAOtjC,GAAG+5D,gBAAkBX,EAC9BlrD,EAAE2qD,gBAAgB13D,KAAKi4D,GAGnBlrD,EAAEnY,OAAOy6D,gBACTsI,EAAgBA,EAAgBM,EAAY,EAAIL,EAAgB,EAAIl1B,EAC1D,IAAN7jC,IAAS84D,EAAgBA,EAAgB5qD,EAAEwqD,KAAO,EAAI70B,GACtD//B,KAAKC,IAAI+0D,GAAiB,OAAUA,EAAgB,GACpD,EAAU5qD,EAAEnY,OAAOw6D,iBAAmB,GAAGriD,EAAEkqD,SAASj3D,KAAK23D,GAC7D5qD,EAAE0qD,WAAWz3D,KAAK23D,KAGd,EAAU5qD,EAAEnY,OAAOw6D,iBAAmB,GAAGriD,EAAEkqD,SAASj3D,KAAK23D,GAC7D5qD,EAAE0qD,WAAWz3D,KAAK23D,GAClBA,EAAgBA,EAAgBM,EAAYv1B,GAGhD31B,EAAE8qD,aAAeI,EAAYv1B,EAE7Bk1B,EAAgBK,EAEhBtvD,KAEJoE,EAAE8qD,YAAcl1D,KAAKod,IAAIhT,EAAE8qD,YAAa9qD,EAAEwqD,MAAQxqD,EAAEnY,OAAO26D,iBAC3D,IAAIsJ,EAWJ,IARI9rD,EAAE/O,KAAO+O,EAAE0oD,WAAiC,UAApB1oD,EAAEnY,OAAOutB,QAA0C,cAApBpV,EAAEnY,OAAOutB,SAChEpV,EAAEigC,QAAQ/uC,KAAK+E,MAAO+J,EAAE8qD,YAAc9qD,EAAEnY,OAAO8tC,aAAe,OAE7D31B,EAAErP,QAAQ43D,UAAWvoD,EAAEnY,OAAOq4D,iBAC3BlgD,EAAEo/C,eAAgBp/C,EAAEigC,QAAQ/uC,KAAK+E,MAAO+J,EAAE8qD,YAAc9qD,EAAEnY,OAAO8tC,aAAe,OAC/E31B,EAAEigC,QAAQ/uC,KAAKnI,OAAQiX,EAAE8qD,YAAc9qD,EAAEnY,OAAO8tC,aAAe,QAGpE31B,EAAEnY,OAAOs6D,gBAAkB,IAC3BniD,EAAE8qD,aAAeI,EAAYlrD,EAAEnY,OAAO8tC,cAAgBs1B,EACtDjrD,EAAE8qD,YAAcl1D,KAAKqvB,KAAKjlB,EAAE8qD,YAAc9qD,EAAEnY,OAAOs6D,iBAAmBniD,EAAEnY,OAAO8tC,aAC3E31B,EAAEo/C,eAAgBp/C,EAAEigC,QAAQ/uC,KAAK+E,MAAO+J,EAAE8qD,YAAc9qD,EAAEnY,OAAO8tC,aAAe,OAC/E31B,EAAEigC,QAAQ/uC,KAAKnI,OAAQiX,EAAE8qD,YAAc9qD,EAAEnY,OAAO8tC,aAAe,OAChE31B,EAAEnY,OAAOy6D,gBAAgB,CAEzB,IADAwJ,KACKh6D,EAAI,EAAGA,EAAIkO,EAAEkqD,SAASxgE,OAAQoI,IAC3BkO,EAAEkqD,SAASp4D,GAAKkO,EAAE8qD,YAAc9qD,EAAEkqD,SAAS,IAAI4B,EAAc74D,KAAK+M,EAAEkqD,SAASp4D,GAErFkO,GAAEkqD,SAAW4B,EAKrB,IAAK9rD,EAAEnY,OAAOy6D,eAAgB,CAE1B,IADAwJ,KACKh6D,EAAI,EAAGA,EAAIkO,EAAEkqD,SAASxgE,OAAQoI,IAC3BkO,EAAEkqD,SAASp4D,IAAMkO,EAAE8qD,YAAc9qD,EAAEwqD,MACnCsB,EAAc74D,KAAK+M,EAAEkqD,SAASp4D,GAGtCkO,GAAEkqD,SAAW4B,EACTl2D,KAAK+qC,MAAM3gC,EAAE8qD,YAAc9qD,EAAEwqD,MAAQ50D,KAAK+qC,MAAM3gC,EAAEkqD,SAASlqD,EAAEkqD,SAASxgE,OAAS,IAAM,GACrFsW,EAAEkqD,SAASj3D,KAAK+M,EAAE8qD,YAAc9qD,EAAEwqD,MAGhB,IAAtBxqD,EAAEkqD,SAASxgE,SAAcsW,EAAEkqD,UAAY,IAEb,IAA1BlqD,EAAEnY,OAAO8tC,eACL31B,EAAEo/C,eACEp/C,EAAE/O,IAAK+O,EAAEo1B,OAAOlkC,KAAK65D,WAAYp1B,EAAe,OAC/C31B,EAAEo1B,OAAOlkC,KAAK85D,YAAar1B,EAAe,OAE9C31B,EAAEo1B,OAAOlkC,KAAK45C,aAAcnV,EAAe,QAEhD31B,EAAEnY,OAAOo8D,qBACTjkD,EAAE+rD,uBAGV/rD,EAAE+rD,mBAAqB,WACnB,IAAK,GAAIj6D,GAAI,EAAGA,EAAIkO,EAAEo1B,OAAO1rC,OAAQoI,IACjCkO,EAAEo1B,OAAOtjC,GAAGk6D,kBAAoBhsD,EAAEo/C,eAAiBp/C,EAAEo1B,OAAOtjC,GAAG8M,WAAaoB,EAAEo1B,OAAOtjC,GAAG6qB,WAOhG3c,EAAEisD,qBAAuB,WACrB,GAAan6D,GAAGwU,EAAZ4lD,EAAM,CACV,IAAIlsD,EAAEnY,OAAOy6D,eAAgB,CACzB,GACI6J,GADA3B,EAAOxqD,EAAEo1B,OAAOp1B,EAAEmrB,aAAa0gC,eAEnC,KAAK/5D,EAAIkO,EAAEmrB,YAAc,EAAGr5B,EAAIkO,EAAEo1B,OAAO1rC,OAAQoI,IACzCkO,EAAEo1B,OAAOtjC,KAAOq6D,IAChB3B,GAAQxqD,EAAEo1B,OAAOtjC,GAAG+5D,gBACpBK,IACI1B,EAAOxqD,EAAEwqD,OAAM2B,GAAY,GAGvC,KAAK7lD,EAAItG,EAAEmrB,YAAc,EAAG7kB,GAAK,EAAGA,IAC5BtG,EAAEo1B,OAAO9uB,KAAO6lD,IAChB3B,GAAQxqD,EAAEo1B,OAAO9uB,GAAGulD,gBACpBK,IACI1B,EAAOxqD,EAAEwqD,OAAM2B,GAAY,QAKvC,KAAKr6D,EAAIkO,EAAEmrB,YAAc,EAAGr5B,EAAIkO,EAAEo1B,OAAO1rC,OAAQoI,IACzCkO,EAAE0qD,WAAW54D,GAAKkO,EAAE0qD,WAAW1qD,EAAEmrB,aAAenrB,EAAEwqD,MAClD0B,GAIZ,OAAOA,IAKXlsD,EAAEosD,qBAAuB,SAAUl0D,GAI/B,GAHyB,mBAAdA,KACPA,EAAY8H,EAAE9H,WAAa,GAEP,IAApB8H,EAAEo1B,OAAO1rC,OAAb,CAC6C,mBAAlCsW,GAAEo1B,OAAO,GAAG42B,mBAAmChsD,EAAE+rD,oBAE5D,IAAIM,IAAgBn0D,CAChB8H,GAAE/O,MAAKo7D,EAAen0D,GAG1B8H,EAAEo1B,OAAO/jC,YAAY2O,EAAEnY,OAAO29D,kBAC9B,KAAK,GAAI1zD,GAAI,EAAGA,EAAIkO,EAAEo1B,OAAO1rC,OAAQoI,IAAK,CACtC,GAAIunC,GAAQr5B,EAAEo1B,OAAOtjC,GACjBw6D,GAAiBD,GAAgBrsD,EAAEnY,OAAOy6D,eAAiBtiD,EAAEogC,eAAiB,GAAK/G,EAAM2yB,oBAAsB3yB,EAAMwyB,gBAAkB7rD,EAAEnY,OAAO8tC,aACpJ,IAAI31B,EAAEnY,OAAOq8D,sBAAuB,CAChC,GAAIqI,KAAgBF,EAAehzB,EAAM2yB,mBACrCQ,EAAaD,EAAcvsD,EAAE2qD,gBAAgB74D,GAC7C26D,EACCF,GAAe,GAAKA,EAAcvsD,EAAEwqD,MACpCgC,EAAa,GAAKA,GAAcxsD,EAAEwqD,MAClC+B,GAAe,GAAKC,GAAcxsD,EAAEwqD,IACrCiC,IACAzsD,EAAEo1B,OAAOzrC,GAAGmI,GAAGtB,SAASwP,EAAEnY,OAAO29D,mBAGzCnsB,EAAMhlB,SAAWrU,EAAE/O,KAAOq7D,EAAgBA,KAGlDtsD,EAAE0sD,eAAiB,SAAUx0D,GACA,mBAAdA,KACPA,EAAY8H,EAAE9H,WAAa,EAE/B,IAAIy0D,GAAiB3sD,EAAEqgC,eAAiBrgC,EAAEogC,eACtCwsB,EAAe5sD,EAAEg4B,YACjB60B,EAAS7sD,EAAEi4B,KACQ,KAAnB00B,GACA3sD,EAAEqU,SAAW,EACbrU,EAAEg4B,YAAch4B,EAAEi4B,OAAQ,IAG1Bj4B,EAAEqU,UAAYnc,EAAY8H,EAAEogC,gBAAkB,EAC9CpgC,EAAEg4B,YAAch4B,EAAEqU,UAAY;AAC9BrU,EAAEi4B,MAAQj4B,EAAEqU,UAAY,GAExBrU,EAAEg4B,cAAgB40B,GAAc5sD,EAAE69C,KAAK,mBAAoB79C,GAC3DA,EAAEi4B,QAAU40B,GAAQ7sD,EAAE69C,KAAK,aAAc79C,GAEzCA,EAAEnY,OAAOo8D,qBAAqBjkD,EAAEosD,qBAAqBl0D,GACzD8H,EAAE69C,KAAK,aAAc79C,EAAGA,EAAEqU,WAE9BrU,EAAE8sD,kBAAoB,WAClB,GACIvrB,GAAgBzvC,EAAGi7D,EADnB70D,EAAY8H,EAAE/O,IAAM+O,EAAE9H,WAAa8H,EAAE9H,SAEzC,KAAKpG,EAAI,EAAGA,EAAIkO,EAAE0qD,WAAWhhE,OAAQoI,IACE,mBAAxBkO,GAAE0qD,WAAW54D,EAAI,GACpBoG,GAAa8H,EAAE0qD,WAAW54D,IAAMoG,EAAY8H,EAAE0qD,WAAW54D,EAAI,IAAMkO,EAAE0qD,WAAW54D,EAAI,GAAKkO,EAAE0qD,WAAW54D,IAAM,EAC5GyvC,EAAiBzvC,EAEZoG,GAAa8H,EAAE0qD,WAAW54D,IAAMoG,EAAY8H,EAAE0qD,WAAW54D,EAAI,KAClEyvC,EAAiBzvC,EAAI,GAIrBoG,GAAa8H,EAAE0qD,WAAW54D,KAC1ByvC,EAAiBzvC,EAK1BkO,GAAEnY,OAAOg9D,sBACJtjB,EAAiB,GAA+B,mBAAnBA,MAAgCA,EAAiB,GAOtFwrB,EAAYn3D,KAAK+qC,MAAMY,EAAiBvhC,EAAEnY,OAAOw6D,gBAC7C0K,GAAa/sD,EAAEkqD,SAASxgE,SAAQqjE,EAAY/sD,EAAEkqD,SAASxgE,OAAS,GAEhE63C,IAAmBvhC,EAAEmrB,cAGzBnrB,EAAE+sD,UAAYA,EACd/sD,EAAEs4B,cAAgBt4B,EAAEmrB,YACpBnrB,EAAEmrB,YAAcoW,EAChBvhC,EAAEgtD,gBACFhtD,EAAEitD,oBAENjtD,EAAEitD,gBAAkB,WAChBjtD,EAAEktD,UAAY1jE,SAASwW,EAAEo1B,OAAOzrC,GAAGqW,EAAEmrB,aAAah6B,KAAK,4BAA8B6O,EAAEmrB,YAAa,KAMxGnrB,EAAEgtD,cAAgB,WACdhtD,EAAEo1B,OAAO/jC,YAAY2O,EAAEnY,OAAOy9D,iBAAmB,IAAMtlD,EAAEnY,OAAO69D,eAAiB,IAAM1lD,EAAEnY,OAAO+9D,eAAiB,IAAM5lD,EAAEnY,OAAO09D,0BAA4B,IAAMvlD,EAAEnY,OAAO89D,wBAA0B,IAAM3lD,EAAEnY,OAAOg+D,wBACpN,IAAIpI,GAAcz9C,EAAEo1B,OAAOzrC,GAAGqW,EAAEmrB,YAEhCsyB,GAAYjtD,SAASwP,EAAEnY,OAAOy9D,kBAC1Bz9D,EAAOwuC,OAEHonB,EAAYn0D,SAAS0W,EAAEnY,OAAO49D,qBAC9BzlD,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAOw9D,WAAa,SAAWrlD,EAAEnY,OAAO49D,oBAAsB,8BAAgCzlD,EAAEktD,UAAY,MAAM18D,SAASwP,EAAEnY,OAAO09D,2BAG/JvlD,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAOw9D,WAAa,IAAMrlD,EAAEnY,OAAO49D,oBAAsB,6BAA+BzlD,EAAEktD,UAAY,MAAM18D,SAASwP,EAAEnY,OAAO09D,2BAIjK,IAAI4H,GAAY1P,EAAYvzC,KAAK,IAAMlK,EAAEnY,OAAOw9D,YAAY70D,SAASwP,EAAEnY,OAAO69D,eAC1E1lD,GAAEnY,OAAOwuC,MAA6B,IAArB82B,EAAUzjE,SAC3ByjE,EAAYntD,EAAEo1B,OAAOzrC,GAAG,GACxBwjE,EAAU38D,SAASwP,EAAEnY,OAAO69D,gBAGhC,IAAI0H,GAAY3P,EAAY/wC,KAAK,IAAM1M,EAAEnY,OAAOw9D,YAAY70D,SAASwP,EAAEnY,OAAO+9D,eAsB9E,IArBI5lD,EAAEnY,OAAOwuC,MAA6B,IAArB+2B,EAAU1jE,SAC3B0jE,EAAYptD,EAAEo1B,OAAOzrC,IAAG,GACxByjE,EAAU58D,SAASwP,EAAEnY,OAAO+9D,iBAE5B/9D,EAAOwuC,OAEH82B,EAAU7jE,SAAS0W,EAAEnY,OAAO49D,qBAC5BzlD,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAOw9D,WAAa,SAAWrlD,EAAEnY,OAAO49D,oBAAsB,8BAAgC0H,EAAUh8D,KAAK,2BAA6B,MAAMX,SAASwP,EAAEnY,OAAO89D,yBAG7L3lD,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAOw9D,WAAa,IAAMrlD,EAAEnY,OAAO49D,oBAAsB,6BAA+B0H,EAAUh8D,KAAK,2BAA6B,MAAMX,SAASwP,EAAEnY,OAAO89D,yBAEvLyH,EAAU9jE,SAAS0W,EAAEnY,OAAO49D,qBAC5BzlD,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAOw9D,WAAa,SAAWrlD,EAAEnY,OAAO49D,oBAAsB,8BAAgC2H,EAAUj8D,KAAK,2BAA6B,MAAMX,SAASwP,EAAEnY,OAAOg+D,yBAG7L7lD,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAOw9D,WAAa,IAAMrlD,EAAEnY,OAAO49D,oBAAsB,6BAA+B2H,EAAUj8D,KAAK,2BAA6B,MAAMX,SAASwP,EAAEnY,OAAOg+D,0BAK3L7lD,EAAEyoD,qBAAuBzoD,EAAEyoD,oBAAoB/+D,OAAS,EAAG,CAE3D,GAAImuC,GACAC,EAAQ93B,EAAEnY,OAAOwuC,KAAOzgC,KAAKqvB,MAAMjlB,EAAEo1B,OAAO1rC,OAA0B,EAAjBsW,EAAE+3B,cAAoB/3B,EAAEnY,OAAOw6D,gBAAkBriD,EAAEkqD,SAASxgE,MAiCrH,IAhCIsW,EAAEnY,OAAOwuC,MACTwB,EAAUjiC,KAAKqvB,MAAMjlB,EAAEmrB,YAAcnrB,EAAE+3B,cAAc/3B,EAAEnY,OAAOw6D,gBAC1DxqB,EAAU73B,EAAEo1B,OAAO1rC,OAAS,EAAqB,EAAjBsW,EAAE+3B,eAClCF,GAAqB73B,EAAEo1B,OAAO1rC,OAA0B,EAAjBsW,EAAE+3B,cAEzCF,EAAUC,EAAQ,IAAGD,GAAoBC,GACzCD,EAAU,GAAiC,YAA5B73B,EAAEnY,OAAOi8D,iBAA8BjsB,EAAUC,EAAQD,IAIxEA,EADuB,mBAAhB73B,GAAE+sD,UACC/sD,EAAE+sD,UAGF/sD,EAAEmrB,aAAe,EAIH,YAA5BnrB,EAAEnY,OAAOi8D,gBAAgC9jD,EAAEqtD,SAAWrtD,EAAEqtD,QAAQ3jE,OAAS,IACzEsW,EAAEqtD,QAAQh8D,YAAY2O,EAAEnY,OAAOm+D,mBAC3BhmD,EAAEyoD,oBAAoB/+D,OAAS,EAC/BsW,EAAEqtD,QAAQp1D,KAAK,WACPtP,EAAEC,MAAMgT,UAAYi8B,GAASlvC,EAAEC,MAAM4H,SAASwP,EAAEnY,OAAOm+D,qBAI/DhmD,EAAEqtD,QAAQ1jE,GAAGkuC,GAASrnC,SAASwP,EAAEnY,OAAOm+D,oBAGhB,aAA5BhmD,EAAEnY,OAAOi8D,iBACT9jD,EAAEyoD,oBAAoBr/D,KAAK,IAAM4W,EAAEnY,OAAOq+D,wBAAwB7jD,KAAKw1B,EAAU,GACjF73B,EAAEyoD,oBAAoBr/D,KAAK,IAAM4W,EAAEnY,OAAOs+D,sBAAsB9jD,KAAKy1B,IAEzC,aAA5B93B,EAAEnY,OAAOi8D,eAA+B,CACxC,GAAIwJ,IAASz1B,EAAU,GAAKC,EACxBy1B,EAASD,EACTE,EAAS,CACRxtD,GAAEo/C,iBACHoO,EAASF,EACTC,EAAS,GAEbvtD,EAAEyoD,oBAAoBr/D,KAAK,IAAM4W,EAAEnY,OAAOw+D,4BAA4BhvD,UAAU,6BAA+Bk2D,EAAS,YAAcC,EAAS,KAAKltD,WAAWN,EAAEnY,OAAOysB,OAE5I,WAA5BtU,EAAEnY,OAAOi8D,gBAA+B9jD,EAAEnY,OAAOg8D,yBACjD7jD,EAAEyoD,oBAAoBnxC,KAAKtX,EAAEnY,OAAOg8D,uBAAuB7jD,EAAG63B,EAAU,EAAGC,IAC3E93B,EAAE69C,KAAK,uBAAwB79C,EAAGA,EAAEyoD,oBAAoB,KAK3DzoD,EAAEnY,OAAOwuC,OACNr2B,EAAEnY,OAAOgxC,YAAc74B,EAAE64B,YAAc74B,EAAE64B,WAAWnvC,OAAS,IACzDsW,EAAEg4B,aACFh4B,EAAE64B,WAAWroC,SAASwP,EAAEnY,OAAOo+D,qBAC3BjmD,EAAEnY,OAAOm/D,MAAQhnD,EAAEgnD,MAAMhnD,EAAEgnD,KAAKlmD,QAAQd,EAAE64B,cAG9C74B,EAAE64B,WAAWxnC,YAAY2O,EAAEnY,OAAOo+D,qBAC9BjmD,EAAEnY,OAAOm/D,MAAQhnD,EAAEgnD,MAAMhnD,EAAEgnD,KAAKrmD,OAAOX,EAAE64B,cAGjD74B,EAAEnY,OAAO+wC,YAAc54B,EAAE44B,YAAc54B,EAAE44B,WAAWlvC,OAAS,IACzDsW,EAAEi4B,OACFj4B,EAAE44B,WAAWpoC,SAASwP,EAAEnY,OAAOo+D,qBAC3BjmD,EAAEnY,OAAOm/D,MAAQhnD,EAAEgnD,MAAMhnD,EAAEgnD,KAAKlmD,QAAQd,EAAE44B,cAG9C54B,EAAE44B,WAAWvnC,YAAY2O,EAAEnY,OAAOo+D,qBAC9BjmD,EAAEnY,OAAOm/D,MAAQhnD,EAAEgnD,MAAMhnD,EAAEgnD,KAAKrmD,OAAOX,EAAE44B,gBAS7D54B,EAAEytD,iBAAmB,WACjB,GAAKztD,EAAEnY,OAAOy7D,YACVtjD,EAAEyoD,qBAAuBzoD,EAAEyoD,oBAAoB/+D,OAAS,EAAG,CAC3D,GAAIgkE,GAAiB,EACrB,IAAgC,YAA5B1tD,EAAEnY,OAAOi8D,eAA8B,CAEvC,IAAK,GADD6J,GAAkB3tD,EAAEnY,OAAOwuC,KAAOzgC,KAAKqvB,MAAMjlB,EAAEo1B,OAAO1rC,OAA0B,EAAjBsW,EAAE+3B,cAAoB/3B,EAAEnY,OAAOw6D,gBAAkBriD,EAAEkqD,SAASxgE,OACtHoI,EAAI,EAAGA,EAAI67D,EAAiB77D,IAE7B47D,GADA1tD,EAAEnY,OAAO67D,uBACS1jD,EAAEnY,OAAO67D,uBAAuB1jD,EAAGlO,EAAGkO,EAAEnY,OAAOk+D,aAG/C,IAAM/lD,EAAEnY,OAAO07D,kBAAkB,WAAavjD,EAAEnY,OAAOk+D,YAAc,OAAS/lD,EAAEnY,OAAO07D,kBAAoB,GAGrIvjD,GAAEyoD,oBAAoBnxC,KAAKo2C,GAC3B1tD,EAAEqtD,QAAUrtD,EAAEyoD,oBAAoBr/D,KAAK,IAAM4W,EAAEnY,OAAOk+D,aAClD/lD,EAAEnY,OAAO27D,qBAAuBxjD,EAAEnY,OAAOm/D,MAAQhnD,EAAEgnD,MACnDhnD,EAAEgnD,KAAK4G,iBAGiB,aAA5B5tD,EAAEnY,OAAOi8D,iBAEL4J,EADA1tD,EAAEnY,OAAO+7D,yBACQ5jD,EAAEnY,OAAO+7D,yBAAyB5jD,EAAGA,EAAEnY,OAAOq+D,uBAAwBlmD,EAAEnY,OAAOs+D,sBAI5F,gBAAkBnmD,EAAEnY,OAAOq+D,uBAAyB,4BAElClmD,EAAEnY,OAAOs+D,qBAAqB,YAExDnmD,EAAEyoD,oBAAoBnxC,KAAKo2C,IAEC,aAA5B1tD,EAAEnY,OAAOi8D,iBAEL4J,EADA1tD,EAAEnY,OAAO87D,yBACQ3jD,EAAEnY,OAAO87D,yBAAyB3jD,EAAGA,EAAEnY,OAAOw+D,4BAG9C,gBAAkBrmD,EAAEnY,OAAOw+D,2BAA6B,YAE7ErmD,EAAEyoD,oBAAoBnxC,KAAKo2C,IAEC,WAA5B1tD,EAAEnY,OAAOi8D,gBACT9jD,EAAE69C,KAAK,uBAAwB79C,EAAGA,EAAEyoD,oBAAoB,MAOpEzoD,EAAEskB,OAAS,SAAUupC,GAUjB,QAASC,KACW9tD,EAAE/O,KAAO+O,EAAE9H,UAAY8H,EAAE9H,SACzCijB,GAAevlB,KAAKqd,IAAIrd,KAAKod,IAAIhT,EAAE9H,UAAW8H,EAAEqgC,gBAAiBrgC,EAAEogC,gBACnEpgC,EAAE+tD,oBAAoB5yC,GACtBnb,EAAE8sD,oBACF9sD,EAAEgtD,gBAdN,GAAKhtD,EAgBL,GAfAA,EAAEsqD,sBACFtqD,EAAEyqD,mBACFzqD,EAAE0sD,iBACF1sD,EAAEytD,mBACFztD,EAAEgtD,gBACEhtD,EAAEnY,OAAOs5D,WAAanhD,EAAEmhD,WACxBnhD,EAAEmhD,UAAU6M,MASZH,EAAiB,CACjB,GAAII,GAAY9yC,CACZnb,GAAEkuD,YAAcluD,EAAEkuD,WAAWC,SAC7BnuD,EAAEkuD,WAAWC,OAAS7iE,QAEtB0U,EAAEnY,OAAOw2C,UACTyvB,IACI9tD,EAAEnY,OAAOo4D,YACTjgD,EAAEmqD,qBAKF8D,GAD4B,SAA3BjuD,EAAEnY,OAAOq6D,eAA4BliD,EAAEnY,OAAOq6D,cAAgB,IAAMliD,EAAEi4B,QAAUj4B,EAAEnY,OAAOy6D,eAC7EtiD,EAAEorB,QAAQprB,EAAEo1B,OAAO1rC,OAAS,EAAG,GAAG,GAAO,GAGzCsW,EAAEorB,QAAQprB,EAAEmrB,YAAa,GAAG,GAAO,GAE/C8iC,GACDH,SAIH9tD,GAAEnY,OAAOo4D,YACdjgD,EAAEmqD,oBAOVnqD,EAAE2+C,SAAW,SAAUyP,GAEfpuD,EAAEnY,OAAOo6D,aACTjiD,EAAEkoD,eAIN,IAAIpD,GAAmB9kD,EAAEnY,OAAOi9D,iBAC5BC,EAAmB/kD,EAAEnY,OAAOk9D,gBAChC/kD,GAAEnY,OAAOi9D,iBAAmB9kD,EAAEnY,OAAOk9D,kBAAmB,EAExD/kD,EAAEsqD,sBACFtqD,EAAEyqD,oBAC6B,SAA3BzqD,EAAEnY,OAAOq6D,eAA4BliD,EAAEnY,OAAOw2C,UAAY+vB,IAAuBpuD,EAAEytD,mBACnFztD,EAAEnY,OAAOs5D,WAAanhD,EAAEmhD,WACxBnhD,EAAEmhD,UAAU6M,MAEZhuD,EAAEkuD,YAAcluD,EAAEkuD,WAAWC,SAC7BnuD,EAAEkuD,WAAWC,OAAS7iE,OAE1B,IAAI+iE,IAAwB,CAC5B,IAAIruD,EAAEnY,OAAOw2C,SAAU,CACnB,GAAIljB,GAAevlB,KAAKqd,IAAIrd,KAAKod,IAAIhT,EAAE9H,UAAW8H,EAAEqgC,gBAAiBrgC,EAAEogC,eACvEpgC,GAAE+tD,oBAAoB5yC,GACtBnb,EAAE8sD,oBACF9sD,EAAEgtD,gBAEEhtD,EAAEnY,OAAOo4D,YACTjgD,EAAEmqD,uBAINnqD,GAAEgtD,gBAEEqB,GAD4B,SAA3BruD,EAAEnY,OAAOq6D,eAA4BliD,EAAEnY,OAAOq6D,cAAgB,IAAMliD,EAAEi4B,QAAUj4B,EAAEnY,OAAOy6D,eAClEtiD,EAAEorB,QAAQprB,EAAEo1B,OAAO1rC,OAAS,EAAG,GAAG,GAAO,GAGzCsW,EAAEorB,QAAQprB,EAAEmrB,YAAa,GAAG,GAAO,EAG/DnrB,GAAEnY,OAAOyuC,cAAgB+3B,GAAyBruD,EAAEsuD,MACpDtuD,EAAEsuD,KAAK10D,OAGXoG,EAAEnY,OAAOi9D,iBAAmBA,EAC5B9kD,EAAEnY,OAAOk9D,iBAAmBA,GAQhC/kD,EAAEuuD,oBAAsB79D,MAAO,YAAaG,KAAM,YAAaC,IAAK,WAChEnJ,OAAOg3C,UAAU6vB,eAAgBxuD,EAAEuuD,oBAAsB79D,MAAO,cAAeG,KAAM,cAAeC,IAAK,aACpGnJ,OAAOg3C,UAAU8vB,mBAAkBzuD,EAAEuuD,oBAAsB79D,MAAO,gBAAiBG,KAAM,gBAAiBC,IAAK,gBACxHkP,EAAEvP,aACEC,MAAQsP,EAAErP,QAAQC,QAAUoP,EAAEnY,OAAO+6D,cAAiB,aAAe5iD,EAAEuuD,mBAAmB79D,MAC1FG,KAAOmP,EAAErP,QAAQC,QAAUoP,EAAEnY,OAAO+6D,cAAgB,YAAc5iD,EAAEuuD,mBAAmB19D,KACvFC,IAAMkP,EAAErP,QAAQC,QAAUoP,EAAEnY,OAAO+6D,cAAgB,WAAa5iD,EAAEuuD,mBAAmBz9D,MAKrFnJ,OAAOg3C,UAAU6vB,gBAAkB7mE,OAAOg3C,UAAU8vB,oBACpB,cAA/BzuD,EAAEnY,OAAOy3D,kBAAoCt/C,EAAE1N,UAAY0N,EAAEigC,SAASzvC,SAAS,cAAgBwP,EAAEnY,OAAOyhB,WAI7GtJ,EAAEm9B,WAAa,SAAU/jC,GACrB,GAAIs1D,GAAYt1D,EAAS,MAAQ,KAC7BC,EAASD,EAAS,sBAAwB,mBAC1CkmD,EAAmD,cAA/Bt/C,EAAEnY,OAAOy3D,kBAAoCt/C,EAAE1N,UAAU,GAAK0N,EAAEigC,QAAQ,GAC5F/pC,EAAS8J,EAAErP,QAAQC,MAAQ0uD,EAAoBp1D,SAE/CykE,IAAc3uD,EAAEnY,OAAO+mE,MAG3B,IAAI5uD,EAAE6uD,QAAQC,GACVxP,EAAkBjmD,GAAQ2G,EAAEvP,YAAYC,MAAOsP,EAAEw5B,cAAc,GAC/DtjC,EAAOmD,GAAQ2G,EAAEvP,YAAYI,KAAMmP,EAAE+uD,YAAaJ,GAClDz4D,EAAOmD,GAAQ2G,EAAEvP,YAAYK,IAAKkP,EAAE45B,YAAY,OAE/C,CACD,GAAI55B,EAAErP,QAAQC,MAAO,CACjB,GAAI0I,KAA0C,eAAxB0G,EAAEvP,YAAYC,QAA0BsP,EAAErP,QAAQ2I,kBAAmB0G,EAAEnY,OAAOs9D,oBAAoB5rD,SAAS,EAAMC,SAAS,EAChJ8lD,GAAkBjmD,GAAQ2G,EAAEvP,YAAYC,MAAOsP,EAAEw5B,aAAclgC,GAC/DgmD,EAAkBjmD,GAAQ2G,EAAEvP,YAAYI,KAAMmP,EAAE+uD,YAAaJ,GAC7DrP,EAAkBjmD,GAAQ2G,EAAEvP,YAAYK,IAAKkP,EAAE45B,WAAYtgC,IAE1DzR,EAAO+6D,gBAAkB5iD,EAAEhW,OAAOsH,MAAQ0O,EAAEhW,OAAOwM,SAAa3O,EAAO+6D,gBAAkB5iD,EAAErP,QAAQC,OAASoP,EAAEhW,OAAOsH,OACtHguD,EAAkBjmD,GAAQ,YAAa2G,EAAEw5B,cAAc,GACvDtvC,SAASmP,GAAQ,YAAa2G,EAAE+uD,YAAaJ,GAC7CzkE,SAASmP,GAAQ,UAAW2G,EAAE45B,YAAY,IAGlDjyC,OAAO0R,GAAQ,SAAU2G,EAAE2+C,UAGvB3+C,EAAEnY,OAAO+wC,YAAc54B,EAAE44B,YAAc54B,EAAE44B,WAAWlvC,OAAS,IAC7DsW,EAAE44B,WAAW81B,GAAW,QAAS1uD,EAAEgvD,aAC/BhvD,EAAEnY,OAAOm/D,MAAQhnD,EAAEgnD,MAAMhnD,EAAE44B,WAAW81B,GAAW,UAAW1uD,EAAEgnD,KAAKiI,aAEvEjvD,EAAEnY,OAAOgxC,YAAc74B,EAAE64B,YAAc74B,EAAE64B,WAAWnvC,OAAS,IAC7DsW,EAAE64B,WAAW61B,GAAW,QAAS1uD,EAAEkvD,aAC/BlvD,EAAEnY,OAAOm/D,MAAQhnD,EAAEgnD,MAAMhnD,EAAE64B,WAAW61B,GAAW,UAAW1uD,EAAEgnD,KAAKiI,aAEvEjvD,EAAEnY,OAAOy7D,YAActjD,EAAEnY,OAAO27D,sBAChCxjD,EAAEyoD,oBAAoBiG,GAAW,QAAS,IAAM1uD,EAAEnY,OAAOk+D,YAAa/lD,EAAEmvD,cACpEnvD,EAAEnY,OAAOm/D,MAAQhnD,EAAEgnD,MAAMhnD,EAAEyoD,oBAAoBiG,GAAW,UAAW,IAAM1uD,EAAEnY,OAAOk+D,YAAa/lD,EAAEgnD,KAAKiI,cAI5GjvD,EAAEnY,OAAOu8D,eAAiBpkD,EAAEnY,OAAOw8D,2BAA0B/E,EAAkBjmD,GAAQ,QAAS2G,EAAEokD,eAAe,IAEzHpkD,EAAE7G,aAAe,WACb6G,EAAEm9B,cAENn9B,EAAEvG,aAAe,WACbuG,EAAEm9B,YAAW,IAOjBn9B,EAAEuwB,YAAa,EACfvwB,EAAEokD,cAAgB,SAAUnvD,GACnB+K,EAAEuwB,aACCvwB,EAAEnY,OAAOu8D,eAAenvD,EAAE2B,iBAC1BoJ,EAAEnY,OAAOw8D,0BAA4BrkD,EAAE8kC,YACvC7vC,EAAEw7B,kBACFx7B,EAAEu7B,8BAKdxwB,EAAEgvD,YAAc,SAAU/5D,GACtBA,EAAE2B,iBACEoJ,EAAEi4B,QAAUj4B,EAAEnY,OAAOwuC,MACzBr2B,EAAEovD,aAENpvD,EAAEkvD,YAAc,SAAUj6D,GACtBA,EAAE2B,iBACEoJ,EAAEg4B,cAAgBh4B,EAAEnY,OAAOwuC,MAC/Br2B,EAAEqvD,aAENrvD,EAAEmvD,aAAe,SAAUl6D,GACvBA,EAAE2B,gBACF,IAAIgF,GAAQjT,EAAEC,MAAMgT,QAAUoE,EAAEnY,OAAOw6D,cACnCriD,GAAEnY,OAAOwuC,OAAMz6B,GAAgBoE,EAAE+3B,cACrC/3B,EAAEorB,QAAQxvB,IA0BdoE,EAAEsvD,mBAAqB,SAAUr6D,GAC7B,GAAIokC,GAAQ4kB,EAAmBhpD,EAAG,IAAM+K,EAAEnY,OAAOw9D,YAC7CkK,GAAa,CACjB,IAAIl2B,EACA,IAAK,GAAIvnC,GAAI,EAAGA,EAAIkO,EAAEo1B,OAAO1rC,OAAQoI,IAC7BkO,EAAEo1B,OAAOtjC,KAAOunC,IAAOk2B,GAAa,EAIhD,KAAIl2B,IAASk2B,EAOT,MAFAvvD,GAAEwvD,aAAelkE,YACjB0U,EAAEyvD,aAAenkE,OAGrB,IARI0U,EAAEwvD,aAAen2B,EACjBr5B,EAAEyvD,aAAe9mE,EAAE0wC,GAAOz9B,QAO1BoE,EAAEnY,OAAOy8D,qBAA0Ch5D,SAAnB0U,EAAEyvD,cAA8BzvD,EAAEyvD,eAAiBzvD,EAAEmrB,YAAa,CAClG,GACI+hC,GADAwC,EAAe1vD,EAAEyvD,aAGjBvN,EAA2C,SAA3BliD,EAAEnY,OAAOq6D,cAA2BliD,EAAEisD,uBAAyBjsD,EAAEnY,OAAOq6D,aAC5F,IAAIliD,EAAEnY,OAAOwuC,KAAM,CACf,GAAIr2B,EAAE8kC,UAAW,MACjBooB,GAAY1jE,SAASb,EAAEqX,EAAEwvD,cAAcr+D,KAAK,2BAA4B,IACpE6O,EAAEnY,OAAOy6D,eACJoN,EAAe1vD,EAAE+3B,aAAemqB,EAAc,GAAOwN,EAAe1vD,EAAEo1B,OAAO1rC,OAASsW,EAAE+3B,aAAemqB,EAAc,GACtHliD,EAAE29C,UACF+R,EAAe1vD,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAOw9D,WAAa,6BAA+B6H,EAAY,WAAaltD,EAAEnY,OAAO49D,oBAAsB,KAAK97D,GAAG,GAAGiS,QAChKvR,WAAW,WACP2V,EAAEorB,QAAQskC,IACX,IAGH1vD,EAAEorB,QAAQskC,GAIVA,EAAe1vD,EAAEo1B,OAAO1rC,OAASw4D,GACjCliD,EAAE29C,UACF+R,EAAe1vD,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAOw9D,WAAa,6BAA+B6H,EAAY,WAAaltD,EAAEnY,OAAO49D,oBAAsB,KAAK97D,GAAG,GAAGiS,QAChKvR,WAAW,WACP2V,EAAEorB,QAAQskC,IACX,IAGH1vD,EAAEorB,QAAQskC,OAKlB1vD,GAAEorB,QAAQskC,IAKtB,IAAIj7D,GACAC,EACAi7D,EACAz7D,EACAH,EACAgsC,EACA1X,EACAunC,EAI4BC,EAG5BC,EALAC,EAAe,yCAEf9/B,EAAgBx6B,KAAKg8C,MAErBue,IAIJhwD,GAAE8kC,WAAY,EAGd9kC,EAAEkoB,SACE+nC,OAAQ,EACRC,OAAQ,EACRC,SAAU,EACVC,SAAU,EACV3yD,KAAM,EAIV,IAAI4yD,GAAcC,CAClBtwD,GAAEw5B,aAAe,SAAUvkC,GAGvB,GAFIA,EAAEs7D,gBAAet7D,EAAIA,EAAEs7D,eAC3BF,EAA0B,eAAXp7D,EAAEG,KACZi7D,KAAgB,SAAWp7D,KAAiB,IAAZA,EAAEm4B,MAAvC,CACA,GAAIptB,EAAEnY,OAAOo9D,WAAahH,EAAmBhpD,EAAG,IAAM+K,EAAEnY,OAAOq9D,gBAE3D,YADAllD,EAAEuwB,YAAa,EAGnB,KAAIvwB,EAAEnY,OAAOm9D,cACJ/G,EAAmBhpD,EAAG+K,EAAEnY,OAAOm9D,cADxC,CAIA,GAAIiL,GAASjwD,EAAEkoB,QAAQioC,SAAsB,eAAXl7D,EAAEG,KAAwBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,MACrF46D,EAASlwD,EAAEkoB,QAAQkoC,SAAsB,eAAXn7D,EAAEG,KAAwBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,KAGzF,MAAGwK,EAAEhW,OAAOsH,KAAO0O,EAAEnY,OAAO23D,uBAAyByQ,GAAUjwD,EAAEnY,OAAO43D,uBAAxE,CAgBA,GAZAhrD,GAAY,EACZC,GAAU,EACVi7D,GAAsB,EACtB57D,EAAczI,OACdglE,EAAchlE,OACd0U,EAAEkoB,QAAQ+nC,OAASA,EACnBjwD,EAAEkoB,QAAQgoC,OAASA,EACnBh8D,EAAiBuB,KAAKg8C,MACtBzxC,EAAEuwB,YAAa,EACfvwB,EAAEsqD,sBACFtqD,EAAEwwD,eAAiBllE,OACf0U,EAAEnY,OAAOiuB,UAAY,IAAG85C,GAAqB,GAClC,eAAX36D,EAAEG,KAAuB,CACzB,GAAIwB,IAAiB,CACjBjO,GAAEsM,EAAEiB,QAAQE,GAAG25D,KAAen5D,GAAiB,GAC/C1M,SAASwiC,eAAiB/jC,EAAEuB,SAASwiC,eAAet2B,GAAG25D,IACvD7lE,SAASwiC,cAAc1rB,OAEvBpK,GACA3B,EAAE2B,iBAGVoJ,EAAE69C,KAAK,eAAgB79C,EAAG/K,OAG9B+K,EAAE+uD,YAAc,SAAU95D,GAEtB,GADIA,EAAEs7D,gBAAet7D,EAAIA,EAAEs7D,gBACvBF,GAA2B,cAAXp7D,EAAEG,KAAtB,CACA,GAAIH,EAAEw7D,wBAGF,MAFAzwD,GAAEkoB,QAAQ+nC,OAAoB,cAAXh7D,EAAEG,KAAuBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,WACzE0K,EAAEkoB,QAAQgoC,OAAoB,cAAXj7D,EAAEG,KAAuBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,MAG7E,IAAIwK,EAAEnY,OAAOq7D,aAQT,MANAljD,GAAEuwB,YAAa,OACX97B,IACAuL,EAAEkoB,QAAQ+nC,OAASjwD,EAAEkoB,QAAQioC,SAAsB,cAAXl7D,EAAEG,KAAuBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,MAC9F0K,EAAEkoB,QAAQgoC,OAASlwD,EAAEkoB,QAAQkoC,SAAsB,cAAXn7D,EAAEG,KAAuBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,MAC9FtB,EAAiBuB,KAAKg8C,OAI9B,IAAI4e,GAAgBrwD,EAAEnY,OAAOu7D,sBAAwBpjD,EAAEnY,OAAOwuC,KAC1D,GAAKr2B,EAAEo/C,gBAUH,GACKp/C,EAAEkoB,QAAQioC,SAAWnwD,EAAEkoB,QAAQ+nC,QAAUjwD,EAAE9H,WAAa8H,EAAEqgC,gBAC1DrgC,EAAEkoB,QAAQioC,SAAWnwD,EAAEkoB,QAAQ+nC,QAAUjwD,EAAE9H,WAAa8H,EAAEogC,eAE3D,WAZJ,IACKpgC,EAAEkoB,QAAQkoC,SAAWpwD,EAAEkoB,QAAQgoC,QAAUlwD,EAAE9H,WAAa8H,EAAEqgC,gBAC1DrgC,EAAEkoB,QAAQkoC,SAAWpwD,EAAEkoB,QAAQgoC,QAAUlwD,EAAE9H,WAAa8H,EAAEogC,eAE3D,MAYZ,IAAIiwB,GAAgBnmE,SAASwiC,eACrBz3B,EAAEiB,SAAWhM,SAASwiC,eAAiB/jC,EAAEsM,EAAEiB,QAAQE,GAAG25D,GAGtD,MAFAr7D,IAAU,OACVsL,EAAEuwB,YAAa,EAOvB,IAHIo/B,GACA3vD,EAAE69C,KAAK,cAAe79C,EAAG/K,KAEzBA,EAAEI,eAAiBJ,EAAEI,cAAc3L,OAAS,GAAhD,CAKA,GAHAsW,EAAEkoB,QAAQioC,SAAsB,cAAXl7D,EAAEG,KAAuBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,MAC3E0K,EAAEkoB,QAAQkoC,SAAsB,cAAXn7D,EAAEG,KAAuBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,MAEhD,mBAAhBzB,GAA6B,CACpC,GAAI4uD,EACA3iD,GAAEo/C,gBAAkBp/C,EAAEkoB,QAAQkoC,WAAapwD,EAAEkoB,QAAQgoC,SAAWlwD,EAAEo/C,gBAAkBp/C,EAAEkoB,QAAQioC,WAAanwD,EAAEkoB,QAAQ+nC,OACrHl8D,GAAc,GAGd4uD,EAA4H,IAA/G/sD,KAAK86D,MAAM96D,KAAKC,IAAImK,EAAEkoB,QAAQkoC,SAAWpwD,EAAEkoB,QAAQgoC,QAASt6D,KAAKC,IAAImK,EAAEkoB,QAAQioC,SAAWnwD,EAAEkoB,QAAQ+nC,SAAiBr6D,KAAKugD,GACvIpiD,EAAciM,EAAEo/C,eAAiBuD,EAAa3iD,EAAEnY,OAAO86D,WAAc,GAAKA,EAAa3iD,EAAEnY,OAAO86D,YAWxG,GARI5uD,GACAiM,EAAE69C,KAAK,sBAAuB79C,EAAG/K,GAEV,mBAAhBq7D,IAA+BtwD,EAAE6uD,QAAQ8B,UAC5C3wD,EAAEkoB,QAAQioC,WAAanwD,EAAEkoB,QAAQ+nC,QAAUjwD,EAAEkoB,QAAQkoC,WAAapwD,EAAEkoB,QAAQgoC,SAC5EI,GAAc,IAGjB77D,EAAL,CACA,GAAIV,EAEA,YADAU,GAAY,EAGhB,IAAK67D,IAAetwD,EAAE6uD,QAAQ8B,QAA9B,CAGA3wD,EAAEuwB,YAAa,EACfvwB,EAAE69C,KAAK,eAAgB79C,EAAG/K,GAC1BA,EAAE2B,iBACEoJ,EAAEnY,OAAOs7D,2BAA6BnjD,EAAEnY,OAAO+mE,QAC/C35D,EAAEw7B,kBAGD/7B,IACG7M,EAAOwuC,MACPr2B,EAAE29C,UAENt1B,EAAiBroB,EAAE4wD,sBACnB5wD,EAAE6wD,qBAAqB,GACnB7wD,EAAE8kC,WACF9kC,EAAEigC,QAAQx2C,QAAQ,oFAElBuW,EAAEnY,OAAO01D,UAAYv9C,EAAE8pD,cACnB9pD,EAAEnY,OAAO03D,6BACTv/C,EAAE+9C,eAGF/9C,EAAEiqD,iBAGV6F,GAAsB,GAElB9vD,EAAEnY,OAAOs8D,YAAenkD,EAAEnY,OAAOk9D,oBAAqB,GAAQ/kD,EAAEnY,OAAOi9D,oBAAqB,GAC5F9kD,EAAEgpD,eAAc,IAGxBt0D,GAAU,CAEV,IAAI+I,GAAOuC,EAAEkoB,QAAQzqB,KAAOuC,EAAEo/C,eAAiBp/C,EAAEkoB,QAAQioC,SAAWnwD,EAAEkoB,QAAQ+nC,OAASjwD,EAAEkoB,QAAQkoC,SAAWpwD,EAAEkoB,QAAQgoC,MAEtHzyD,IAAcuC,EAAEnY,OAAO66D,WACnB1iD,EAAE/O,MAAKwM,GAAQA,GAEnBuC,EAAEwwD,eAAiB/yD,EAAO,EAAI,OAAS,OACvCsiC,EAAmBtiC,EAAO4qB,CAE1B,IAAIyoC,IAAsB,CAwB1B,IAvBKrzD,EAAO,GAAKsiC,EAAmB//B,EAAEogC,gBAClC0wB,GAAsB,EAClB9wD,EAAEnY,OAAOk8D,aAAYhkB,EAAmB//B,EAAEogC,eAAiB,EAAIxqC,KAAKolB,KAAKhb,EAAEogC,eAAiB/X,EAAiB5qB,EAAMuC,EAAEnY,OAAOm8D,mBAE3HvmD,EAAO,GAAKsiC,EAAmB//B,EAAEqgC,iBACtCywB,GAAsB,EAClB9wD,EAAEnY,OAAOk8D,aAAYhkB,EAAmB//B,EAAEqgC,eAAiB,EAAIzqC,KAAKolB,IAAIhb,EAAEqgC,eAAiBhY,EAAiB5qB,EAAMuC,EAAEnY,OAAOm8D,mBAG/H8M,IACA77D,EAAEw7D,yBAA0B,IAI3BzwD,EAAEnY,OAAOk9D,kBAAyC,SAArB/kD,EAAEwwD,gBAA6BzwB,EAAmB1X,IAChF0X,EAAmB1X,IAElBroB,EAAEnY,OAAOi9D,kBAAyC,SAArB9kD,EAAEwwD,gBAA6BzwB,EAAmB1X,IAChF0X,EAAmB1X,GAKnBroB,EAAEnY,OAAOiuB,UAAY,EAAG,CACxB,KAAIlgB,KAAKC,IAAI4H,GAAQuC,EAAEnY,OAAOiuB,WAAa85C,GAYvC,YADA7vB,EAAmB1X,EAVnB,KAAKunC,EAMD,MALAA,IAAqB,EACrB5vD,EAAEkoB,QAAQ+nC,OAASjwD,EAAEkoB,QAAQioC,SAC7BnwD,EAAEkoB,QAAQgoC,OAASlwD,EAAEkoB,QAAQkoC,SAC7BrwB,EAAmB1X,OACnBroB,EAAEkoB,QAAQzqB,KAAOuC,EAAEo/C,eAAiBp/C,EAAEkoB,QAAQioC,SAAWnwD,EAAEkoB,QAAQ+nC,OAASjwD,EAAEkoB,QAAQkoC,SAAWpwD,EAAEkoB,QAAQgoC,QAUlHlwD,EAAEnY,OAAOo7D,gBAGVjjD,EAAEnY,OAAOw2C,UAAYr+B,EAAEnY,OAAOo8D,sBAC9BjkD,EAAE8sD,oBAEF9sD,EAAEnY,OAAOw2C,WAEiB,IAAtB2xB,EAAWtmE,QACXsmE,EAAW/8D,MACPqF,SAAU0H,EAAEkoB,QAAQloB,EAAEo/C,eAAiB,SAAW,UAClDj6C,KAAMjR,IAGd87D,EAAW/8D,MACPqF,SAAU0H,EAAEkoB,QAAQloB,EAAEo/C,eAAiB,WAAa,YACpDj6C,MAAM,GAAKxd,QAAO8N,MAAQC,aAIlCsK,EAAE0sD,eAAe3sB,GAEjB//B,EAAE+tD,oBAAoBhuB,SAE1B//B,EAAE45B,WAAa,SAAU3kC,GAMrB,GALIA,EAAEs7D,gBAAet7D,EAAIA,EAAEs7D,eACvBZ,GACA3vD,EAAE69C,KAAK,aAAc79C,EAAG/K,GAE5B06D,GAAsB,EACjBl7D,EAAL,CAEIuL,EAAEnY,OAAOs8D,YAAczvD,GAAWD,IAAeuL,EAAEnY,OAAOk9D,oBAAqB,GAAQ/kD,EAAEnY,OAAOi9D,oBAAqB,IACrH9kD,EAAEgpD,eAAc,EAIpB,IAAIvoB,GAAehrC,KAAKg8C,MACpB15C,EAAW0oC,EAAevsC,CA4B9B,IAzBI8L,EAAEuwB,aACFvwB,EAAEsvD,mBAAmBr6D,GACrB+K,EAAE69C,KAAK,QAAS79C,EAAG/K,GACf8C,EAAW,KAAQ0oC,EAAexQ,EAAiB,MAC/C4/B,GAAcrrD,aAAaqrD,GAC/BA,EAAexlE,WAAW,WACjB2V,IACDA,EAAEnY,OAAO47D,gBAAkBzjD,EAAEyoD,oBAAoB/+D,OAAS,IAAMf,EAAEsM,EAAEiB,QAAQ5M,SAAS0W,EAAEnY,OAAOk+D,cAC9F/lD,EAAEyoD,oBAAoBvsC,YAAYlc,EAAEnY,OAAOu+D,uBAE/CpmD,EAAE69C,KAAK,UAAW79C,EAAG/K,KACtB,MAGH8C,EAAW,KAAQ0oC,EAAexQ,EAAiB,MAC/C4/B,GAAcrrD,aAAaqrD,GAC/B7vD,EAAE69C,KAAK,cAAe79C,EAAG/K,KAIjCg7B,EAAgBx6B,KAAKg8C,MACrBpnD,WAAW,WACH2V,IAAGA,EAAEuwB,YAAa,IACvB,IAEE97B,IAAcC,IAAYsL,EAAEwwD,gBAAqC,IAAnBxwD,EAAEkoB,QAAQzqB,MAAcsiC,IAAqB1X,EAE5F,YADA5zB,EAAYC,GAAU,EAG1BD,GAAYC,GAAU,CAEtB,IAAIq8D,EAOJ,IALIA,EADA/wD,EAAEnY,OAAOo7D,aACIjjD,EAAE/O,IAAM+O,EAAE9H,WAAa8H,EAAE9H,WAGxB6nC,EAEd//B,EAAEnY,OAAOw2C,SAAU,CACnB,GAAI0yB,GAAc/wD,EAAEogC,eAEhB,WADApgC,GAAEorB,QAAQprB,EAAEmrB,YAGX,IAAI4lC,GAAc/wD,EAAEqgC,eAOrB,YANIrgC,EAAEo1B,OAAO1rC,OAASsW,EAAEkqD,SAASxgE,OAC7BsW,EAAEorB,QAAQprB,EAAEkqD,SAASxgE,OAAS,GAG9BsW,EAAEorB,QAAQprB,EAAEo1B,OAAO1rC,OAAS,GAKpC,IAAIsW,EAAEnY,OAAO63D,iBAAkB,CAC3B,GAAIsQ,EAAWtmE,OAAS,EAAG,CACvB,GAAIsnE,GAAgBhB,EAAWliD,MAAOmjD,EAAgBjB,EAAWliD,MAE7D7kB,EAAW+nE,EAAc14D,SAAW24D,EAAc34D,SAClD6M,EAAO6rD,EAAc7rD,KAAO8rD,EAAc9rD,IAC9CnF,GAAE0gC,SAAWz3C,EAAWkc,EACxBnF,EAAE0gC,SAAW1gC,EAAE0gC,SAAW,EACtB9qC,KAAKC,IAAImK,EAAE0gC,UAAY1gC,EAAEnY,OAAOm4D,0BAChChgD,EAAE0gC,SAAW,IAIbv7B,EAAO,MAAQ,GAAIxd,QAAO8N,MAAOC,UAAYs7D,EAAc7rD,KAAQ,OACnEnF,EAAE0gC,SAAW,OAGjB1gC,GAAE0gC,SAAW,CAEjB1gC,GAAE0gC,SAAW1gC,EAAE0gC,SAAW1gC,EAAEnY,OAAOi4D,8BAEnCkQ,EAAWtmE,OAAS,CACpB,IAAIwnE,GAAmB,IAAOlxD,EAAEnY,OAAO83D,sBACnCwR,EAAmBnxD,EAAE0gC,SAAWwwB,EAEhCE,EAAcpxD,EAAE9H,UAAYi5D,CAC5BnxD,GAAE/O,MAAKmgE,GAAgBA,EAC3B,IACIC,GADAC,GAAW,EAEXC,EAAsC,GAAvB37D,KAAKC,IAAImK,EAAE0gC,UAAiB1gC,EAAEnY,OAAOg4D,2BACxD,IAAIuR,EAAcpxD,EAAEqgC,eACZrgC,EAAEnY,OAAO+3D,wBACLwR,EAAcpxD,EAAEqgC,gBAAkBkxB,IAClCH,EAAcpxD,EAAEqgC,eAAiBkxB,GAErCF,EAAsBrxD,EAAEqgC,eACxBixB,GAAW,EACXxB,GAAsB,GAGtBsB,EAAcpxD,EAAEqgC,mBAGnB,IAAI+wB,EAAcpxD,EAAEogC,eACjBpgC,EAAEnY,OAAO+3D,wBACLwR,EAAcpxD,EAAEogC,eAAiBmxB,IACjCH,EAAcpxD,EAAEogC,eAAiBmxB,GAErCF,EAAsBrxD,EAAEogC,eACxBkxB,GAAW,EACXxB,GAAsB,GAGtBsB,EAAcpxD,EAAEogC,mBAGnB,IAAIpgC,EAAEnY,OAAOk4D,eAAgB,CAC9B,GACIoN,GADA7mD,EAAI,CAER,KAAKA,EAAI,EAAGA,EAAItG,EAAEkqD,SAASxgE,OAAQ4c,GAAK,EACpC,GAAItG,EAAEkqD,SAAS5jD,IAAM8qD,EAAa,CAC9BjE,EAAY7mD,CACZ,OAKJ8qD,EADAx7D,KAAKC,IAAImK,EAAEkqD,SAASiD,GAAaiE,GAAex7D,KAAKC,IAAImK,EAAEkqD,SAASiD,EAAY,GAAKiE,IAAqC,SAArBpxD,EAAEwwD,eACzFxwD,EAAEkqD,SAASiD,GAEXntD,EAAEkqD,SAASiD,EAAY,GAEpCntD,EAAE/O,MAAKmgE,GAAgBA,GAGhC,GAAmB,IAAfpxD,EAAE0gC,SAEEwwB,EADAlxD,EAAE/O,IACiB2E,KAAKC,MAAMu7D,EAAcpxD,EAAE9H,WAAa8H,EAAE0gC,UAG1C9qC,KAAKC,KAAKu7D,EAAcpxD,EAAE9H,WAAa8H,EAAE0gC,cAG/D,IAAI1gC,EAAEnY,OAAOk4D,eAEd,WADA//C,GAAEwxD,YAIFxxD,GAAEnY,OAAO+3D,wBAA0B0R,GACnCtxD,EAAE0sD,eAAe2E,GACjBrxD,EAAE6wD,qBAAqBK,GACvBlxD,EAAE+tD,oBAAoBqD,GACtBpxD,EAAEw4B,oBACFx4B,EAAE8kC,WAAY,EACd9kC,EAAEigC,QAAQpnC,cAAc,WACfmH,GAAM8vD,IACX9vD,EAAE69C,KAAK,mBAAoB79C,GAE3BA,EAAE6wD,qBAAqB7wD,EAAEnY,OAAOysB,OAChCtU,EAAE+tD,oBAAoBsD,GACtBrxD,EAAEigC,QAAQpnC,cAAc,WACfmH,GACLA,EAAE04B,wBAGH14B,EAAE0gC,UACT1gC,EAAE0sD,eAAe0E,GACjBpxD,EAAE6wD,qBAAqBK,GACvBlxD,EAAE+tD,oBAAoBqD,GACtBpxD,EAAEw4B,oBACGx4B,EAAE8kC,YACH9kC,EAAE8kC,WAAY,EACd9kC,EAAEigC,QAAQpnC,cAAc,WACfmH,GACLA,EAAE04B,sBAKV14B,EAAE0sD,eAAe0E,GAGrBpxD,EAAE8sD,oBAMN,cAJK9sD,EAAEnY,OAAO63D,kBAAoB3nD,GAAYiI,EAAEnY,OAAOm7D,gBACnDhjD,EAAE0sD,iBACF1sD,EAAE8sD,sBAMV,GAAIh7D,GAAG2/D,EAAY,EAAGC,EAAY1xD,EAAE2qD,gBAAgB,EACpD,KAAK74D,EAAI,EAAGA,EAAIkO,EAAE0qD,WAAWhhE,OAAQoI,GAAKkO,EAAEnY,OAAOw6D,eACU,mBAA9CriD,GAAE0qD,WAAW54D,EAAIkO,EAAEnY,OAAOw6D,gBAC7B0O,GAAc/wD,EAAE0qD,WAAW54D,IAAMi/D,EAAa/wD,EAAE0qD,WAAW54D,EAAIkO,EAAEnY,OAAOw6D,kBACxEoP,EAAY3/D,EACZ4/D,EAAY1xD,EAAE0qD,WAAW54D,EAAIkO,EAAEnY,OAAOw6D,gBAAkBriD,EAAE0qD,WAAW54D,IAIrEi/D,GAAc/wD,EAAE0qD,WAAW54D,KAC3B2/D,EAAY3/D,EACZ4/D,EAAY1xD,EAAE0qD,WAAW1qD,EAAE0qD,WAAWhhE,OAAS,GAAKsW,EAAE0qD,WAAW1qD,EAAE0qD,WAAWhhE,OAAS,GAMnG,IAAIioE,IAASZ,EAAa/wD,EAAE0qD,WAAW+G,IAAcC,CAErD,IAAI35D,EAAWiI,EAAEnY,OAAOm7D,aAAc,CAElC,IAAKhjD,EAAEnY,OAAOi7D,WAEV,WADA9iD,GAAEorB,QAAQprB,EAAEmrB,YAGS,UAArBnrB,EAAEwwD,iBACEmB,GAAS3xD,EAAEnY,OAAOk7D,gBAAiB/iD,EAAEorB,QAAQqmC,EAAYzxD,EAAEnY,OAAOw6D,gBACjEriD,EAAEorB,QAAQqmC,IAGM,SAArBzxD,EAAEwwD,iBACEmB,EAAS,EAAI3xD,EAAEnY,OAAOk7D,gBAAkB/iD,EAAEorB,QAAQqmC,EAAYzxD,EAAEnY,OAAOw6D,gBACtEriD,EAAEorB,QAAQqmC,QAGlB,CAED,IAAKzxD,EAAEnY,OAAOg7D,YAEV,WADA7iD,GAAEorB,QAAQprB,EAAEmrB,YAGS,UAArBnrB,EAAEwwD,gBACFxwD,EAAEorB,QAAQqmC,EAAYzxD,EAAEnY,OAAOw6D,gBAGV,SAArBriD,EAAEwwD,gBACFxwD,EAAEorB,QAAQqmC,MAOtBzxD,EAAEg+C,SAAW,SAAU4T,EAAYt9C,GAC/B,MAAOtU,GAAEorB,QAAQwmC,EAAYt9C,GAAO,GAAM,IAE9CtU,EAAEorB,QAAU,SAAUwmC,EAAYt9C,EAAOu9C,EAAcpwD,GACvB,mBAAjBowD,KAA8BA,GAAe,GAC9B,mBAAfD,KAA4BA,EAAa,GAChDA,EAAa,IAAGA,EAAa,GACjC5xD,EAAE+sD,UAAYn3D,KAAK+qC,MAAMixB,EAAa5xD,EAAEnY,OAAOw6D,gBAC3CriD,EAAE+sD,WAAa/sD,EAAEkqD,SAASxgE,SAAQsW,EAAE+sD,UAAY/sD,EAAEkqD,SAASxgE,OAAS,EAExE,IAAIwO,IAAc8H,EAAEkqD,SAASlqD,EAAE+sD,UAc/B,IAZI/sD,EAAEnY,OAAO01D,UAAYv9C,EAAE8pD,cACnBroD,IAAazB,EAAEnY,OAAO03D,6BACtBv/C,EAAEiqD,cAAc31C,GAGhBtU,EAAE+9C,gBAIV/9C,EAAE0sD,eAAex0D,GAGd8H,EAAEnY,OAAOg9D,oBACR,IAAK,GAAI/yD,GAAI,EAAGA,EAAIkO,EAAE0qD,WAAWhhE,OAAQoI,KAC/B8D,KAAK+qC,MAAkB,IAAZzoC,IAAoBtC,KAAK+qC,MAAwB,IAAlB3gC,EAAE0qD,WAAW54D,MACzD8/D,EAAa9/D,EAMzB,UAAKkO,EAAEnY,OAAOk9D,kBAAoB7sD,EAAY8H,EAAE9H,WAAaA,EAAY8H,EAAEogC,qBAGtEpgC,EAAEnY,OAAOi9D,kBAAoB5sD,EAAY8H,EAAE9H,WAAaA,EAAY8H,EAAEqgC,iBAClErgC,EAAEmrB,aAAe,KAAOymC,KAIZ,mBAAVt9C,KAAuBA,EAAQtU,EAAEnY,OAAOysB,OACnDtU,EAAEs4B,cAAgBt4B,EAAEmrB,aAAe,EACnCnrB,EAAEmrB,YAAcymC,EAChB5xD,EAAEitD,kBACGjtD,EAAE/O,MAAQiH,IAAc8H,EAAE9H,YAAgB8H,EAAE/O,KAAOiH,IAAc8H,EAAE9H,WAEhE8H,EAAEnY,OAAOo4D,YACTjgD,EAAEmqD,mBAENnqD,EAAEgtD,gBACsB,UAApBhtD,EAAEnY,OAAOutB,QACTpV,EAAE+tD,oBAAoB71D,IAEnB,IAEX8H,EAAEgtD,gBACFhtD,EAAEw4B,kBAAkBq5B,GAEN,IAAVv9C,GAAetU,EAAE6uD,QAAQiD,QACzB9xD,EAAE+tD,oBAAoB71D,GACtB8H,EAAE6wD,qBAAqB,GACvB7wD,EAAE04B,gBAAgBm5B,KAGlB7xD,EAAE+tD,oBAAoB71D,GACtB8H,EAAE6wD,qBAAqBv8C,GAClBtU,EAAE8kC,YACH9kC,EAAE8kC,WAAY,EACd9kC,EAAEigC,QAAQpnC,cAAc,WACfmH,GACLA,EAAE04B,gBAAgBm5B,QAMvB,MAGX7xD,EAAEw4B,kBAAoB,SAAUq5B,GACA,mBAAjBA,KAA8BA,GAAe,GACpD7xD,EAAEnY,OAAOo4D,YACTjgD,EAAEmqD,mBAEFnqD,EAAEsuD,MAAMtuD,EAAEsuD,KAAK91B,oBACfq5B,IACA7xD,EAAE69C,KAAK,oBAAqB79C,GACxBA,EAAEmrB,cAAgBnrB,EAAEs4B,gBACpBt4B,EAAE69C,KAAK,qBAAsB79C,GACzBA,EAAEmrB,YAAcnrB,EAAEs4B,cAClBt4B,EAAE69C,KAAK,mBAAoB79C,GAG3BA,EAAE69C,KAAK,mBAAoB79C,MAM3CA,EAAE04B,gBAAkB,SAAUm5B,GAC1B7xD,EAAE8kC,WAAY,EACd9kC,EAAE6wD,qBAAqB,GACK,mBAAjBgB,KAA8BA,GAAe,GACpD7xD,EAAEsuD,MAAMtuD,EAAEsuD,KAAK51B,kBACfm5B,IACA7xD,EAAE69C,KAAK,kBAAmB79C,GACtBA,EAAEmrB,cAAgBnrB,EAAEs4B,gBACpBt4B,EAAE69C,KAAK,mBAAoB79C,GACvBA,EAAEmrB,YAAcnrB,EAAEs4B,cAClBt4B,EAAE69C,KAAK,iBAAkB79C,GAGzBA,EAAE69C,KAAK,iBAAkB79C,KAIjCA,EAAEnY,OAAOyL,SAAW0M,EAAE1M,SACtB0M,EAAE1M,QAAQy+D,WAAW/xD,EAAEnY,OAAOyL,QAAS0M,EAAEmrB,aAEzCnrB,EAAEnY,OAAOi6D,SAAW9hD,EAAE8hD,SACtB9hD,EAAE8hD,QAAQkQ,WAIlBhyD,EAAEovD,UAAY,SAAUyC,EAAcv9C,EAAO7S,GACzC,GAAIzB,EAAEnY,OAAOwuC,KAAM,CACf,GAAIr2B,EAAE8kC,UAAW,OAAO,CACxB9kC,GAAE29C,SACe39C,GAAE1N,UAAU,GAAGkO,UAChC,OAAOR,GAAEorB,QAAQprB,EAAEmrB,YAAcnrB,EAAEnY,OAAOw6D,eAAgB/tC,EAAOu9C,EAAcpwD,GAE9E,MAAOzB,GAAEorB,QAAQprB,EAAEmrB,YAAcnrB,EAAEnY,OAAOw6D,eAAgB/tC,EAAOu9C,EAAcpwD,IAExFzB,EAAE49C,WAAa,SAAUtpC,GACrB,MAAOtU,GAAEovD,WAAU,EAAM96C,GAAO,IAEpCtU,EAAEqvD,UAAY,SAAUwC,EAAcv9C,EAAO7S,GACzC,GAAIzB,EAAEnY,OAAOwuC,KAAM,CACf,GAAIr2B,EAAE8kC,UAAW,OAAO,CACxB9kC,GAAE29C,SACe39C,GAAE1N,UAAU,GAAGkO,UAChC,OAAOR,GAAEorB,QAAQprB,EAAEmrB,YAAc,EAAG7W,EAAOu9C,EAAcpwD,GAExD,MAAOzB,GAAEorB,QAAQprB,EAAEmrB,YAAc,EAAG7W,EAAOu9C,EAAcpwD,IAElEzB,EAAEiyD,WAAa,SAAU39C,GACrB,MAAOtU,GAAEqvD,WAAU,EAAM/6C,GAAO,IAEpCtU,EAAEwxD,WAAa,SAAUK,EAAcv9C,EAAO7S,GAC1C,MAAOzB,GAAEorB,QAAQprB,EAAEmrB,YAAa7W,EAAOu9C,IAG3C7xD,EAAEkyD,oBAAsB,WAEpB,MADAlyD,GAAEnY,OAAOq7D,cAAe,GACjB,GAEXljD,EAAEmyD,mBAAqB,WAEnB,MADAnyD,GAAEnY,OAAOq7D,cAAe,GACjB,GAMXljD,EAAE6wD,qBAAuB,SAAUv3C,EAAU84C,GACzCpyD,EAAEigC,QAAQ3/B,WAAWgZ,GACG,UAApBtZ,EAAEnY,OAAOutB,QAAsBpV,EAAEqyD,QAAQryD,EAAEnY,OAAOutB,SAClDpV,EAAEqyD,QAAQryD,EAAEnY,OAAOutB,QAAQk9C,cAAch5C,GAEzCtZ,EAAEnY,OAAOo5D,UAAYjhD,EAAEihD,UACvBjhD,EAAEihD,SAASqR,cAAch5C,GAEzBtZ,EAAEnY,OAAOs5D,WAAanhD,EAAEmhD,WACxBnhD,EAAEmhD,UAAUmR,cAAch5C,GAE1BtZ,EAAEnY,OAAO68D,SAAW1kD,EAAEkuD,YACtBluD,EAAEkuD,WAAWoE,cAAch5C,EAAU84C,GAEzCpyD,EAAE69C,KAAK,kBAAmB79C,EAAGsZ,IAEjCtZ,EAAE+tD,oBAAsB,SAAU71D,EAAW40D,EAAmBsF,GAC5D,GAAIj9D,GAAI,EAAGI,EAAI,EAAGg9D,EAAI,CAClBvyD,GAAEo/C,eACFjqD,EAAI6K,EAAE/O,KAAOiH,EAAYA,EAGzB3C,EAAI2C,EAGJ8H,EAAEnY,OAAO46D,eACTttD,EAAIiC,EAAMjC,GACVI,EAAI6B,EAAM7B,IAGTyK,EAAEnY,OAAOs4D,mBACNngD,EAAErP,QAAQ63D,aAAcxoD,EAAEigC,QAAQ5oC,UAAU,eAAiBlC,EAAI,OAASI,EAAI,OAASg9D,EAAI,OAC1FvyD,EAAEigC,QAAQ5oC,UAAU,aAAelC,EAAI,OAASI,EAAI,QAG7DyK,EAAE9H,UAAY8H,EAAEo/C,eAAiBjqD,EAAII,CAGrC,IAAI8e,GACAs4C,EAAiB3sD,EAAEqgC,eAAiBrgC,EAAEogC,cAEtC/rB,GADmB,IAAnBs4C,EACW,GAGCz0D,EAAY8H,EAAEogC,gBAAkB,EAE5C/rB,IAAarU,EAAEqU,UACfrU,EAAE0sD,eAAex0D,GAGjB40D,GAAmB9sD,EAAE8sD,oBACD,UAApB9sD,EAAEnY,OAAOutB,QAAsBpV,EAAEqyD,QAAQryD,EAAEnY,OAAOutB,SAClDpV,EAAEqyD,QAAQryD,EAAEnY,OAAOutB,QAAQo9C,aAAaxyD,EAAE9H,WAE1C8H,EAAEnY,OAAOo5D,UAAYjhD,EAAEihD,UACvBjhD,EAAEihD,SAASuR,aAAaxyD,EAAE9H,WAE1B8H,EAAEnY,OAAOs5D,WAAanhD,EAAEmhD,WACxBnhD,EAAEmhD,UAAUqR,aAAaxyD,EAAE9H,WAE3B8H,EAAEnY,OAAO68D,SAAW1kD,EAAEkuD,YACtBluD,EAAEkuD,WAAWsE,aAAaxyD,EAAE9H,UAAWk6D,GAE3CpyD,EAAE69C,KAAK,iBAAkB79C,EAAGA,EAAE9H,YAGlC8H,EAAEggC,aAAe,SAAUxrC,EAAImgD,GAC3B,GAAIC,GAAQC,EAAcC,EAAUC,CAOpC,OAJoB,mBAATJ,KACPA,EAAO,KAGP30C,EAAEnY,OAAOs4D,iBACFngD,EAAE/O,KAAO+O,EAAE9H,UAAY8H,EAAE9H,WAGpC48C,EAAWntD,OAAOymD,iBAAiB55C,EAAI,MACnC7M,OAAOqtD,iBACPH,EAAeC,EAASz9C,WAAay9C,EAAS9H,gBAC1C6H,EAAarhD,MAAM,KAAK9J,OAAS,IACjCmrD,EAAeA,EAAarhD,MAAM,MAAMyhD,IAAI,SAASpa,GACjD,MAAOA,GAAE5yC,QAAQ,IAAI,OACtBqa,KAAK,OAIZyyC,EAAkB,GAAIptD,QAAOqtD,gBAAiC,SAAjBH,EAA0B,GAAKA,KAG5EE,EAAkBD,EAAS2d,cAAgB3d,EAAS4d,YAAc5d,EAAS6d,aAAe7d,EAAS8d,aAAgB9d,EAASz9C,WAAay9C,EAAS9G,iBAAiB,aAAa/lD,QAAQ,aAAc,sBACtM2sD,EAASG,EAAgB7uC,WAAW1S,MAAM,MAGjC,MAATmhD,IAGIE,EADAltD,OAAOqtD,gBACQD,EAAgBG,IAER,KAAlBN,EAAOlrD,OACG+qB,WAAWmgC,EAAO,KAGlBngC,WAAWmgC,EAAO,KAE5B,MAATD,IAGIE,EADAltD,OAAOqtD,gBACQD,EAAgBI,IAER,KAAlBP,EAAOlrD,OACG+qB,WAAWmgC,EAAO,KAGlBngC,WAAWmgC,EAAO,KAErC50C,EAAE/O,KAAO4jD,IAAcA,GAAgBA,GACpCA,GAAgB,IAE3B70C,EAAE4wD,oBAAsB,SAAUjc,GAI9B,MAHoB,mBAATA,KACPA,EAAO30C,EAAEo/C,eAAiB,IAAM,KAE7Bp/C,EAAEggC,aAAahgC,EAAEigC,QAAQ,GAAI0U,IAMxC30C,EAAE++C,aAoBF/+C,EAAE6yD,cAAgB,WACd,GAAI7yD,EAAEnY,OAAOk/D,eAET,IAAK,GADD+L,GAAmB9yD,EAAE1N,UAAU6D,UAC1BrE,EAAI,EAAGA,EAAIghE,EAAiBppE,OAAQoI,IACzCqsD,EAAa2U,EAAiBhhE,GAKtCqsD,GAAan+C,EAAE1N,UAAU,IAAKusD,WAAW,IAGzCV,EAAan+C,EAAEigC,QAAQ,IAAK4M,YAAY,KAE5C7sC,EAAE+yD,oBAAsB,WACpB,IAAK,GAAIjhE,GAAI,EAAGA,EAAIkO,EAAE++C,UAAUr1D,OAAQoI,IACpCkO,EAAE++C,UAAUjtD,GAAGkhE,YAEnBhzD,GAAE++C,cAMN/+C,EAAEizD,WAAa,WAEXjzD,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAOw9D,WAAa,IAAMrlD,EAAEnY,OAAO49D,qBAAqBvsD,QAEnF,IAAIk8B,GAASp1B,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAOw9D,WAEjB,UAA3BrlD,EAAEnY,OAAOq6D,eAA6BliD,EAAEnY,OAAOkwC,eAAc/3B,EAAEnY,OAAOkwC,aAAe3C,EAAO1rC,QAE/FsW,EAAE+3B,aAAevuC,SAASwW,EAAEnY,OAAOkwC,cAAgB/3B,EAAEnY,OAAOq6D,cAAe,IAC3EliD,EAAE+3B,aAAe/3B,EAAE+3B,aAAe/3B,EAAEnY,OAAO48D,qBACvCzkD,EAAE+3B,aAAe3C,EAAO1rC,SACxBsW,EAAE+3B,aAAe3C,EAAO1rC,OAG5B,IAA2CoI,GAAvCohE,KAAoBC,IAOxB,KANA/9B,EAAOn9B,KAAK,SAAU2D,EAAOpH,GACzB,GAAI6kC,GAAQ1wC,EAAEC,KACVgT,GAAQoE,EAAE+3B,cAAco7B,EAAalgE,KAAKuB,GAC1CoH,EAAQw5B,EAAO1rC,QAAUkS,GAASw5B,EAAO1rC,OAASsW,EAAE+3B,cAAcm7B,EAAcjgE,KAAKuB,GACzF6kC,EAAMloC,KAAK,0BAA2ByK,KAErC9J,EAAI,EAAGA,EAAIqhE,EAAazpE,OAAQoI,IACjCkO,EAAEigC,QAAQxpC,OAAO9N,EAAEwqE,EAAarhE,GAAGq9C,WAAU,IAAO3+C,SAASwP,EAAEnY,OAAO49D,qBAE1E,KAAK3zD,EAAIohE,EAAcxpE,OAAS,EAAGoI,GAAK,EAAGA,IACvCkO,EAAEigC,QAAQtyB,QAAQhlB,EAAEuqE,EAAcphE,GAAGq9C,WAAU,IAAO3+C,SAASwP,EAAEnY,OAAO49D,uBAGhFzlD,EAAEqoD,YAAc,WACZroD,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAOw9D,WAAa,IAAMrlD,EAAEnY,OAAO49D,qBAAqBvsD,SACnF8G,EAAEo1B,OAAO/5B,WAAW,4BAExB2E,EAAEsoD,OAAS,SAAU8K,GACjB,GAAIl2C,GAAWld,EAAEmrB,YAAcnrB,EAAE+3B,YACjC/3B,GAAEqoD,cACFroD,EAAEizD,aACFjzD,EAAEyqD,mBACE2I,GACApzD,EAAEorB,QAAQlO,EAAWld,EAAE+3B,aAAc,GAAG,IAIhD/3B,EAAE29C,QAAU,WACR,GAAIxgC,EAEAnd,GAAEmrB,YAAcnrB,EAAE+3B,cAClB5a,EAAWnd,EAAEo1B,OAAO1rC,OAA0B,EAAjBsW,EAAE+3B,aAAmB/3B,EAAEmrB,YACpDhO,GAAsBnd,EAAE+3B,aACxB/3B,EAAEorB,QAAQjO,EAAU,GAAG,GAAO,KAGG,SAA3Bnd,EAAEnY,OAAOq6D,eAA4BliD,EAAEmrB,aAAgC,EAAjBnrB,EAAE+3B,cAAsB/3B,EAAEmrB,YAAcnrB,EAAEo1B,OAAO1rC,OAAkC,EAAzBsW,EAAEnY,OAAOq6D,iBAC/H/kC,GAAYnd,EAAEo1B,OAAO1rC,OAASsW,EAAEmrB,YAAcnrB,EAAE+3B,aAChD5a,GAAsBnd,EAAE+3B,aACxB/3B,EAAEorB,QAAQjO,EAAU,GAAG,GAAO,KAMtCnd,EAAEqzD,YAAc,SAAUj+B,GAItB,GAHIp1B,EAAEnY,OAAOwuC,MACTr2B,EAAEqoD,cAEgB,gBAAXjzB,IAAuBA,EAAO1rC,OACrC,IAAK,GAAIoI,GAAI,EAAGA,EAAIsjC,EAAO1rC,OAAQoI,IAC3BsjC,EAAOtjC,IAAIkO,EAAEigC,QAAQxpC,OAAO2+B,EAAOtjC,QAI3CkO,GAAEigC,QAAQxpC,OAAO2+B,EAEjBp1B,GAAEnY,OAAOwuC,MACTr2B,EAAEizD,aAEAjzD,EAAEnY,OAAO02D,UAAYv+C,EAAErP,QAAQ4tD,UACjCv+C,EAAEskB,QAAO,IAGjBtkB,EAAEszD,aAAe,SAAUl+B,GACnBp1B,EAAEnY,OAAOwuC,MACTr2B,EAAEqoD,aAEN,IAAI9mB,GAAiBvhC,EAAEmrB,YAAc,CACrC,IAAsB,gBAAXiK,IAAuBA,EAAO1rC,OAAQ,CAC7C,IAAK,GAAIoI,GAAI,EAAGA,EAAIsjC,EAAO1rC,OAAQoI,IAC3BsjC,EAAOtjC,IAAIkO,EAAEigC,QAAQtyB,QAAQynB,EAAOtjC,GAE5CyvC,GAAiBvhC,EAAEmrB,YAAciK,EAAO1rC,WAGxCsW,GAAEigC,QAAQtyB,QAAQynB,EAElBp1B,GAAEnY,OAAOwuC,MACTr2B,EAAEizD,aAEAjzD,EAAEnY,OAAO02D,UAAYv+C,EAAErP,QAAQ4tD,UACjCv+C,EAAEskB,QAAO,GAEbtkB,EAAEorB,QAAQmW,EAAgB,GAAG,IAEjCvhC,EAAEuzD,YAAc,SAAUC,GAClBxzD,EAAEnY,OAAOwuC,OACTr2B,EAAEqoD,cACFroD,EAAEo1B,OAASp1B,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAOw9D,YAEjD,IACIoO,GADAlyB,EAAiBvhC,EAAEmrB,WAEvB,IAA6B,gBAAlBqoC,IAA8BA,EAAc9pE,OAAQ,CAC3D,IAAK,GAAIoI,GAAI,EAAGA,EAAI0hE,EAAc9pE,OAAQoI,IACtC2hE,EAAgBD,EAAc1hE,GAC1BkO,EAAEo1B,OAAOq+B,IAAgBzzD,EAAEo1B,OAAOzrC,GAAG8pE,GAAev6D,SACpDu6D,EAAgBlyB,GAAgBA,GAExCA,GAAiB3rC,KAAKod,IAAIuuB,EAAgB,OAG1CkyB,GAAgBD,EACZxzD,EAAEo1B,OAAOq+B,IAAgBzzD,EAAEo1B,OAAOzrC,GAAG8pE,GAAev6D,SACpDu6D,EAAgBlyB,GAAgBA,IACpCA,EAAiB3rC,KAAKod,IAAIuuB,EAAgB,EAG1CvhC,GAAEnY,OAAOwuC,MACTr2B,EAAEizD,aAGAjzD,EAAEnY,OAAO02D,UAAYv+C,EAAErP,QAAQ4tD,UACjCv+C,EAAEskB,QAAO,GAETtkB,EAAEnY,OAAOwuC,KACTr2B,EAAEorB,QAAQmW,EAAiBvhC,EAAE+3B,aAAc,GAAG,GAG9C/3B,EAAEorB,QAAQmW,EAAgB,GAAG,IAIrCvhC,EAAE0zD,gBAAkB,WAEhB,IAAK,GADDF,MACK1hE,EAAI,EAAGA,EAAIkO,EAAEo1B,OAAO1rC,OAAQoI,IACjC0hE,EAAcvgE,KAAKnB,EAEvBkO,GAAEuzD,YAAYC,IAOlBxzD,EAAEqyD,SACEtR,MACIyR,aAAc,WACV,IAAK,GAAI1gE,GAAI,EAAGA,EAAIkO,EAAEo1B,OAAO1rC,OAAQoI,IAAK,CACtC,GAAIunC,GAAQr5B,EAAEo1B,OAAOzrC,GAAGmI,GACpBwE,EAAS+iC,EAAM,GAAG2yB,kBAClB2H,GAAMr9D,CACL0J,GAAEnY,OAAOs4D,mBAAkBwT,GAAU3zD,EAAE9H,UAC5C,IAAI07D,GAAK,CACJ5zD,GAAEo/C,iBACHwU,EAAKD,EACLA,EAAK,EAET,IAAIE,GAAe7zD,EAAEnY,OAAOk5D,KAAKC,UACzBprD,KAAKod,IAAI,EAAIpd,KAAKC,IAAIwjC,EAAM,GAAGhlB,UAAW,GAC1C,EAAIze,KAAKqd,IAAIrd,KAAKod,IAAIqmB,EAAM,GAAGhlB,UAAU,GAAK,EACtDglB,GACKnoC,KACGqG,QAASs8D,IAEZx8D,UAAU,eAAiBs8D,EAAK,OAASC,EAAK,cAK3DtB,cAAe,SAAUh5C,GAErB,GADAtZ,EAAEo1B,OAAO90B,WAAWgZ,GAChBtZ,EAAEnY,OAAOs4D,kBAAiC,IAAb7mC,EAAgB,CAC7C,GAAIw6C,IAAiB,CACrB9zD,GAAEo1B,OAAOv8B,cAAc,WACnB,IAAIi7D,GACC9zD,EAAL,CACA8zD,GAAiB,EACjB9zD,EAAE8kC,WAAY,CAEd,KAAK,GADDivB,IAAiB,sBAAuB,gBAAiB,iBAAkB,kBAAmB,mBACzFjiE,EAAI,EAAGA,EAAIiiE,EAAcrqE,OAAQoI,IACtCkO,EAAEigC,QAAQx2C,QAAQsqE,EAAcjiE,UAMpD2uD,MACI+R,aAAc,WACV,IAAK,GAAI1gE,GAAI,EAAGA,EAAIkO,EAAEo1B,OAAO1rC,OAAQoI,IAAK,CACtC,GAAIunC,GAAQr5B,EAAEo1B,OAAOzrC,GAAGmI,GACpBuiB,EAAWglB,EAAM,GAAGhlB,QACpBrU,GAAEnY,OAAO44D,KAAKC,gBACdrsC,EAAWze,KAAKod,IAAIpd,KAAKqd,IAAIomB,EAAM,GAAGhlB,SAAU,IAAI,GAExD,IAAI/d,GAAS+iC,EAAM,GAAG2yB,kBAClB3L,GAAS,IAAOhsC,EAChB2/C,EAAU3T,EACV4T,EAAU,EACVN,GAAMr9D,EACNs9D,EAAK,CAaT,IAZK5zD,EAAEo/C,eAMEp/C,EAAE/O,MACP+iE,GAAWA,IANXJ,EAAKD,EACLA,EAAK,EACLM,GAAWD,EACXA,EAAU,GAMd36B,EAAM,GAAG/hC,MAAM48D,QAAUt+D,KAAKC,IAAID,KAAKwB,MAAMid,IAAarU,EAAEo1B,OAAO1rC,OAE/DsW,EAAEnY,OAAO44D,KAAKD,aAAc,CAE5B,GAAI2T,GAAen0D,EAAEo/C,eAAiB/lB,EAAMjwC,KAAK,6BAA+BiwC,EAAMjwC,KAAK,4BACvFgrE,EAAcp0D,EAAEo/C,eAAiB/lB,EAAMjwC,KAAK,8BAAgCiwC,EAAMjwC,KAAK,8BAC/D,KAAxB+qE,EAAazqE,SACbyqE,EAAexrE,EAAE,oCAAsCqX,EAAEo/C,eAAiB,OAAS,OAAS,YAC5F/lB,EAAM5iC,OAAO09D,IAEU,IAAvBC,EAAY1qE,SACZ0qE,EAAczrE,EAAE,oCAAsCqX,EAAEo/C,eAAiB,QAAU,UAAY,YAC/F/lB,EAAM5iC,OAAO29D,IAEbD,EAAazqE,SAAQyqE,EAAa,GAAG78D,MAAMC,QAAU3B,KAAKod,KAAKqB,EAAU,IACzE+/C,EAAY1qE,SAAQ0qE,EAAY,GAAG98D,MAAMC,QAAU3B,KAAKod,IAAIqB,EAAU,IAG9EglB,EACKhiC,UAAU,eAAiBs8D,EAAK,OAASC,EAAK,oBAAsBK,EAAU,gBAAkBD,EAAU,UAGvH1B,cAAe,SAAUh5C,GAErB,GADAtZ,EAAEo1B,OAAO90B,WAAWgZ,GAAUlwB,KAAK,gHAAgHkX,WAAWgZ,GAC1JtZ,EAAEnY,OAAOs4D,kBAAiC,IAAb7mC,EAAgB,CAC7C,GAAIw6C,IAAiB,CACrB9zD,GAAEo1B,OAAOzrC,GAAGqW,EAAEmrB,aAAatyB,cAAc,WACrC,IAAIi7D,GACC9zD,GACArX,EAAEC,MAAMU,SAAS0W,EAAEnY,OAAOy9D,kBAA/B,CACAwO,GAAiB,EACjB9zD,EAAE8kC,WAAY,CAEd,KAAK,GADDivB,IAAiB,sBAAuB,gBAAiB,iBAAkB,kBAAmB,mBACzFjiE,EAAI,EAAGA,EAAIiiE,EAAcrqE,OAAQoI,IACtCkO,EAAEigC,QAAQx2C,QAAQsqE,EAAcjiE,UAMpD6uD,MACI6R,aAAc,WACV,GAAuB6B,GAAnBC,EAAgB,CAChBt0D,GAAEnY,OAAO84D,KAAKC,SACV5gD,EAAEo/C,gBACFiV,EAAar0D,EAAEigC,QAAQ72C,KAAK,uBACF,IAAtBirE,EAAW3qE,SACX2qE,EAAa1rE,EAAE,0CACfqX,EAAEigC,QAAQxpC,OAAO49D,IAErBA,EAAWnjE,KAAKnI,OAAQiX,EAAE/J,MAAQ,SAGlCo+D,EAAar0D,EAAE1N,UAAUlJ,KAAK,uBACJ,IAAtBirE,EAAW3qE,SACX2qE,EAAa1rE,EAAE,0CACfqX,EAAE1N,UAAUmE,OAAO49D,KAI/B,KAAK,GAAIviE,GAAI,EAAGA,EAAIkO,EAAEo1B,OAAO1rC,OAAQoI,IAAK,CACtC,GAAIunC,GAAQr5B,EAAEo1B,OAAOzrC,GAAGmI,GACpByiE,EAAiB,GAAJziE,EACbsF,EAAQxB,KAAK+qC,MAAM4zB,EAAa,IAChCv0D,GAAE/O,MACFsjE,GAAcA,EACdn9D,EAAQxB,KAAK+qC,OAAO4zB,EAAa,KAErC,IAAIlgD,GAAWze,KAAKod,IAAIpd,KAAKqd,IAAIomB,EAAM,GAAGhlB,SAAU,IAAI,GACpDs/C,EAAK,EAAGC,EAAK,EAAGY,EAAK,CACrB1iE,GAAI,IAAM,GACV6hE,EAAe,GAARv8D,EAAY4I,EAAEwqD,KACrBgK,EAAK,IAEC1iE,EAAI,GAAK,IAAM,GACrB6hE,EAAK,EACLa,EAAe,GAARp9D,EAAY4I,EAAEwqD,OAEf14D,EAAI,GAAK,IAAM,GACrB6hE,EAAK3zD,EAAEwqD,KAAe,EAARpzD,EAAY4I,EAAEwqD,KAC5BgK,EAAKx0D,EAAEwqD,OAED14D,EAAI,GAAK,IAAM,IACrB6hE,GAAO3zD,EAAEwqD,KACTgK,EAAK,EAAIx0D,EAAEwqD,KAAgB,EAATxqD,EAAEwqD,KAAWpzD,GAE/B4I,EAAE/O,MACF0iE,GAAMA,GAGL3zD,EAAEo/C,iBACHwU,EAAKD,EACLA,EAAK,EAGT,IAAIt8D,GAAY,YAAc2I,EAAEo/C,eAAiB,GAAKmV,GAAc,iBAAmBv0D,EAAEo/C,eAAiBmV,EAAa,GAAK,oBAAsBZ,EAAK,OAASC,EAAK,OAASY,EAAK,KAMnL,IALIngD,GAAY,GAAKA,GAAW,IAC5BigD,EAAoB,GAAJxiE,EAAoB,GAAXuiB,EACrBrU,EAAE/O,MAAKqjE,EAAqB,IAAJxiE,EAAoB,GAAXuiB,IAEzCglB,EAAMhiC,UAAUA,GACZ2I,EAAEnY,OAAO84D,KAAKH,aAAc,CAE5B,GAAI2T,GAAen0D,EAAEo/C,eAAiB/lB,EAAMjwC,KAAK,6BAA+BiwC,EAAMjwC,KAAK,4BACvFgrE,EAAcp0D,EAAEo/C,eAAiB/lB,EAAMjwC,KAAK,8BAAgCiwC,EAAMjwC,KAAK,8BAC/D,KAAxB+qE,EAAazqE,SACbyqE,EAAexrE,EAAE,oCAAsCqX,EAAEo/C,eAAiB,OAAS,OAAS,YAC5F/lB,EAAM5iC,OAAO09D,IAEU,IAAvBC,EAAY1qE,SACZ0qE,EAAczrE,EAAE,oCAAsCqX,EAAEo/C,eAAiB,QAAU,UAAY,YAC/F/lB,EAAM5iC,OAAO29D,IAEbD,EAAazqE,SAAQyqE,EAAa,GAAG78D,MAAMC,QAAU3B,KAAKod,KAAKqB,EAAU,IACzE+/C,EAAY1qE,SAAQ0qE,EAAY,GAAG98D,MAAMC,QAAU3B,KAAKod,IAAIqB,EAAU,KAUlF,GAPArU,EAAEigC,QAAQ/uC,KACNujE,2BAA4B,YAAez0D,EAAEwqD,KAAO,EAAK,KACzDkK,wBAAyB,YAAe10D,EAAEwqD,KAAO,EAAK,KACtDmK,uBAAwB,YAAe30D,EAAEwqD,KAAO,EAAK,KACrDoK,mBAAoB,YAAe50D,EAAEwqD,KAAO,EAAK,OAGjDxqD,EAAEnY,OAAO84D,KAAKC,OACd,GAAI5gD,EAAEo/C,eACFiV,EAAWh9D,UAAU,qBAAuB2I,EAAE/J,MAAQ,EAAI+J,EAAEnY,OAAO84D,KAAKE,cAAgB,QAAW7gD,EAAE/J,MAAQ,EAAK,0CAA6C+J,EAAEnY,OAAO84D,KAAgB,YAAI,SAE3L;AACD,GAAIkU,GAAcj/D,KAAKC,IAAIy+D,GAA4D,GAA3C1+D,KAAK+qC,MAAM/qC,KAAKC,IAAIy+D,GAAiB,IAC7EQ,EAAa,KAAOl/D,KAAKm/D,IAAkB,EAAdF,EAAkBj/D,KAAKugD,GAAK,KAAO,EAAIvgD,KAAKsgD,IAAkB,EAAd2e,EAAkBj/D,KAAKugD,GAAK,KAAO,GAChH6e,EAASh1D,EAAEnY,OAAO84D,KAAKG,YACvBmU,EAASj1D,EAAEnY,OAAO84D,KAAKG,YAAcgU,EACrCx+D,EAAS0J,EAAEnY,OAAO84D,KAAKE,YAC3BwT,GAAWh9D,UAAU,WAAa29D,EAAS,QAAUC,EAAS,uBAAyBj1D,EAAEjX,OAAS,EAAIuN,GAAU,QAAW0J,EAAEjX,OAAS,EAAIksE,EAAU,uBAG5J,GAAIC,GAAWl1D,EAAEm1D,UAAYn1D,EAAEo1D,aAAiBp1D,EAAEwqD,KAAO,EAAK,CAC9DxqD,GAAEigC,QAAQ5oC,UAAU,qBAAuB69D,EAAU,gBAAkBl1D,EAAEo/C,eAAiB,EAAIkV,GAAiB,iBAAmBt0D,EAAEo/C,gBAAkBkV,EAAgB,GAAK,SAE/KhC,cAAe,SAAUh5C,GACrBtZ,EAAEo1B,OAAO90B,WAAWgZ,GAAUlwB,KAAK,gHAAgHkX,WAAWgZ,GAC1JtZ,EAAEnY,OAAO84D,KAAKC,SAAW5gD,EAAEo/C,gBAC3Bp/C,EAAE1N,UAAUlJ,KAAK,uBAAuBkX,WAAWgZ,KAI/D8mC,WACIoS,aAAc,WAMV,IAAK,GALDn7D,GAAY2I,EAAE9H,UACdyF,EAASqC,EAAEo/C,gBAAkB/nD,EAAY2I,EAAE/J,MAAQ,GAAKoB,EAAY2I,EAAEjX,OAAS,EAC/Es3D,EAASrgD,EAAEo/C,eAAiBp/C,EAAEnY,OAAOu4D,UAAUC,QAASrgD,EAAEnY,OAAOu4D,UAAUC,OAC3EnoD,EAAY8H,EAAEnY,OAAOu4D,UAAUxF,MAE1B9oD,EAAI,EAAGpI,EAASsW,EAAEo1B,OAAO1rC,OAAQoI,EAAIpI,EAAQoI,IAAK,CACvD,GAAIunC,GAAQr5B,EAAEo1B,OAAOzrC,GAAGmI,GACpBo5D,EAAYlrD,EAAE2qD,gBAAgB74D,GAC9BujE,EAAch8B,EAAM,GAAG2yB,kBACvBsJ,GAAoB33D,EAAS03D,EAAcnK,EAAY,GAAKA,EAAYlrD,EAAEnY,OAAOu4D,UAAUG,SAE3FyT,EAAUh0D,EAAEo/C,eAAiBiB,EAASiV,EAAmB,EACzDrB,EAAUj0D,EAAEo/C,eAAiB,EAAIiB,EAASiV,EAE1CC,GAAcr9D,EAAYtC,KAAKC,IAAIy/D,GAEnCE,EAAax1D,EAAEo/C,eAAiB,EAAIp/C,EAAEnY,OAAOu4D,UAAUE,QAAU,EACjEmV,EAAaz1D,EAAEo/C,eAAiBp/C,EAAEnY,OAAOu4D,UAAUE,QAAU,EAAqB,CAGlF1qD,MAAKC,IAAI4/D,GAAc,OAAOA,EAAa,GAC3C7/D,KAAKC,IAAI2/D,GAAc,OAAOA,EAAa,GAC3C5/D,KAAKC,IAAI0/D,GAAc,OAAOA,EAAa,GAC3C3/D,KAAKC,IAAIm+D,GAAW,OAAOA,EAAU,GACrCp+D,KAAKC,IAAIo+D,GAAW,OAAOA,EAAU,EAEzC,IAAIyB,GAAiB,eAAiBD,EAAa,MAAQD,EAAa,MAAQD,EAAa,gBAAkBtB,EAAU,gBAAkBD,EAAU,MAIrJ,IAFA36B,EAAMhiC,UAAUq+D,GAChBr8B,EAAM,GAAG/hC,MAAM48D,QAAUt+D,KAAKC,IAAID,KAAKwB,MAAMk+D,IAAqB,EAC9Dt1D,EAAEnY,OAAOu4D,UAAUI,aAAc,CAEjC,GAAI2T,GAAen0D,EAAEo/C,eAAiB/lB,EAAMjwC,KAAK,6BAA+BiwC,EAAMjwC,KAAK,4BACvFgrE,EAAcp0D,EAAEo/C,eAAiB/lB,EAAMjwC,KAAK,8BAAgCiwC,EAAMjwC,KAAK,8BAC/D,KAAxB+qE,EAAazqE,SACbyqE,EAAexrE,EAAE,oCAAsCqX,EAAEo/C,eAAiB,OAAS,OAAS,YAC5F/lB,EAAM5iC,OAAO09D,IAEU,IAAvBC,EAAY1qE,SACZ0qE,EAAczrE,EAAE,oCAAsCqX,EAAEo/C,eAAiB,QAAU,UAAY,YAC/F/lB,EAAM5iC,OAAO29D,IAEbD,EAAazqE,SAAQyqE,EAAa,GAAG78D,MAAMC,QAAU+9D,EAAmB,EAAIA,EAAmB,GAC/FlB,EAAY1qE,SAAQ0qE,EAAY,GAAG98D,MAAMC,SAAY+9D,EAAoB,GAAKA,EAAmB,IAK7G,GAAIt1D,EAAE6uD,QAAQC,GAAI,CACd,GAAI6G,GAAK31D,EAAEigC,QAAQ,GAAG3oC,KACtBq+D,GAAGC,kBAAoBj4D,EAAS,WAGxC20D,cAAe,SAAUh5C,GACrBtZ,EAAEo1B,OAAO90B,WAAWgZ,GAAUlwB,KAAK,gHAAgHkX,WAAWgZ,MAQ1KtZ,EAAEsuD,MACEuH,oBAAoB,EACpBC,iBAAkB,SAAUl6D,EAAOm6D,GAC/B,GAAqB,mBAAVn6D,KACoB,mBAApBm6D,KAAiCA,GAAkB,GACtC,IAApB/1D,EAAEo1B,OAAO1rC,QAAb,CAEA,GAAI2vC,GAAQr5B,EAAEo1B,OAAOzrC,GAAGiS,GACpB09B,EAAMD,EAAMjwC,KAAK,IAAM4W,EAAEnY,OAAO2+D,iBAAmB,SAAWxmD,EAAEnY,OAAO6+D,sBAAwB,UAAY1mD,EAAEnY,OAAO4+D,uBAAyB,MAC7IptB,EAAM/vC,SAAS0W,EAAEnY,OAAO2+D,mBAAsBntB,EAAM/vC,SAAS0W,EAAEnY,OAAO6+D,wBAA2BrtB,EAAM/vC,SAAS0W,EAAEnY,OAAO4+D,0BACzHntB,EAAMA,EAAIjmB,IAAIgmB,EAAM,KAEL,IAAfC,EAAI5vC,QAER4vC,EAAIrhC,KAAK,WACL,GAAI+9D,GAAOrtE,EAAEC,KACbotE,GAAKxlE,SAASwP,EAAEnY,OAAO4+D,uBACvB,IAAIwP,GAAaD,EAAK7kE,KAAK,mBACvBglB,EAAM6/C,EAAK7kE,KAAK,YAChBq4D,EAASwM,EAAK7kE,KAAK,eACnBs4D,EAAQuM,EAAK7kE,KAAK,aACtB6O,GAAEiW,UAAU+/C,EAAK,GAAK7/C,GAAO8/C,EAAazM,EAAQC,GAAO,EAAO,WAuB5D,GAtBIwM,GACAD,EAAK9kE,IAAI,mBAAoB,QAAU+kE,EAAa,MACpDD,EAAK36D,WAAW,qBAGZmuD,IACAwM,EAAK7kE,KAAK,SAAUq4D,GACpBwM,EAAK36D,WAAW,gBAEhBouD,IACAuM,EAAK7kE,KAAK,QAASs4D,GACnBuM,EAAK36D,WAAW,eAEhB8a,IACA6/C,EAAK7kE,KAAK,MAAOglB,GACjB6/C,EAAK36D,WAAW,cAKxB26D,EAAKxlE,SAASwP,EAAEnY,OAAO6+D,uBAAuBr1D,YAAY2O,EAAEnY,OAAO4+D,wBACnEptB,EAAMjwC,KAAK,IAAM4W,EAAEnY,OAAO8+D,mBAAqB,MAAQ3mD,EAAEnY,OAAOg/D,gBAAgB3tD,SAC5E8G,EAAEnY,OAAOwuC,MAAQ0/B,EAAiB,CAClC,GAAIG,GAAqB78B,EAAMloC,KAAK,0BACpC,IAAIkoC,EAAM/vC,SAAS0W,EAAEnY,OAAO49D,qBAAsB,CAC9C,GAAI0Q,GAAgBn2D,EAAEigC,QAAQ/jC,SAAS,6BAA+Bg6D,EAAqB,WAAal2D,EAAEnY,OAAO49D,oBAAsB,IACvIzlD,GAAEsuD,KAAKwH,iBAAiBK,EAAcv6D,SAAS,OAE9C,CACD,GAAIw6D,GAAkBp2D,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAO49D,oBAAsB,6BAA+ByQ,EAAqB,KAClIl2D,GAAEsuD,KAAKwH,iBAAiBM,EAAgBx6D,SAAS,IAGzDoE,EAAE69C,KAAK,mBAAoB79C,EAAGq5B,EAAM,GAAI28B,EAAK,MAGjDh2D,EAAE69C,KAAK,kBAAmB79C,EAAGq5B,EAAM,GAAI28B,EAAK,QAIpDp8D,KAAM,WACF,GAAI9H,GACAowD,EAAgBliD,EAAEnY,OAAOq6D,aAK7B,IAJsB,SAAlBA,IACAA,EAAgB,GAEfliD,EAAEsuD,KAAKuH,qBAAoB71D,EAAEsuD,KAAKuH,oBAAqB,GACxD71D,EAAEnY,OAAOq8D,sBACTlkD,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAO29D,mBAAmBvtD,KAAK,WACtD+H,EAAEsuD,KAAKwH,iBAAiBntE,EAAEC,MAAMgT,eAIpC,IAAIsmD,EAAgB,EAChB,IAAKpwD,EAAIkO,EAAEmrB,YAAar5B,EAAIkO,EAAEmrB,YAAc+2B,EAAgBpwD,IACpDkO,EAAEo1B,OAAOtjC,IAAIkO,EAAEsuD,KAAKwH,iBAAiBhkE,OAI7CkO,GAAEsuD,KAAKwH,iBAAiB91D,EAAEmrB,YAGlC,IAAInrB,EAAEnY,OAAO0uC,sBACT,GAAI2rB,EAAgB,GAAMliD,EAAEnY,OAAO08D,6BAA+BvkD,EAAEnY,OAAO08D,4BAA8B,EAAI,CACzG,GAAI8R,GAASr2D,EAAEnY,OAAO08D,4BAClB2H,EAAMhK,EACNoU,EAAW1gE,KAAKqd,IAAIjT,EAAEmrB,YAAc+gC,EAAMt2D,KAAKod,IAAIqjD,EAAQnK,GAAMlsD,EAAEo1B,OAAO1rC,QAC1E6sE,EAAW3gE,KAAKod,IAAIhT,EAAEmrB,YAAcv1B,KAAKod,IAAIk5C,EAAKmK,GAAS,EAE/D,KAAKvkE,EAAIkO,EAAEmrB,YAAc+2B,EAAepwD,EAAIwkE,EAAUxkE,IAC9CkO,EAAEo1B,OAAOtjC,IAAIkO,EAAEsuD,KAAKwH,iBAAiBhkE,EAG7C,KAAKA,EAAIykE,EAAUzkE,EAAIkO,EAAEmrB,YAAcr5B,IAC/BkO,EAAEo1B,OAAOtjC,IAAIkO,EAAEsuD,KAAKwH,iBAAiBhkE,OAG5C,CACD,GAAIq7D,GAAYntD,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAO69D,eAC9CyH,GAAUzjE,OAAS,GAAGsW,EAAEsuD,KAAKwH,iBAAiB3I,EAAUvxD,QAE5D,IAAIwxD,GAAYptD,EAAEigC,QAAQ/jC,SAAS,IAAM8D,EAAEnY,OAAO+9D,eAC9CwH,GAAU1jE,OAAS,GAAGsW,EAAEsuD,KAAKwH,iBAAiB1I,EAAUxxD,WAIxE48B,kBAAmB,WACXx4B,EAAEnY,OAAOyuC,cACLt2B,EAAEnY,OAAO2uC,+BAAkCx2B,EAAEnY,OAAO2uC,+BAAiCx2B,EAAEsuD,KAAKuH,qBAC5F71D,EAAEsuD,KAAK10D,QAInB8+B,gBAAiB,WACT14B,EAAEnY,OAAOyuC,cAAgBt2B,EAAEnY,OAAO2uC,8BAClCx2B,EAAEsuD,KAAK10D,SASnBoG,EAAEmhD,WACE1sD,WAAW,EACX+hE,gBAAiB,SAAUvhE,GACvB,GAAIkO,GAAKnD,EAAEmhD,UAGPsV,EAAkBz2D,EAAEo/C,eACP,eAAXnqD,EAAEG,MAAoC,cAAXH,EAAEG,KAAwBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,OAASL,EAAE85B,QAClF,eAAX95B,EAAEG,MAAoC,cAAXH,EAAEG,KAAwBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,OAASP,EAAE+5B,QAC/F12B,EAAW,EAAoB6K,EAAGuzD,MAAMpgE,SAAS0J,EAAEo/C,eAAiB,OAAS,OAASj8C,EAAGwzD,SAAW,EACpGC,GAAe52D,EAAEogC,eAAiBj9B,EAAG0zD,YACrCC,GAAe92D,EAAEqgC,eAAiBl9B,EAAG0zD,WACrCv+D,GAAWs+D,EACXt+D,EAAWs+D,EAENt+D,EAAWw+D,IAChBx+D,EAAWw+D,GAEfx+D,GAAYA,EAAW6K,EAAG0zD,YAC1B72D,EAAE0sD,eAAep0D,GACjB0H,EAAE+tD,oBAAoBz1D,GAAU,IAEpCy+D,UAAW,SAAU9hE,GACjB,GAAIkO,GAAKnD,EAAEmhD,SACXh+C,GAAG1O,WAAY,EACfQ,EAAE2B,iBACF3B,EAAEw7B,kBAEFttB,EAAGqzD,gBAAgBvhE,GACnBuP,aAAarB,EAAG6zD,aAEhB7zD,EAAGuzD,MAAMp2D,WAAW,GAChBN,EAAEnY,OAAOu5D,eACTj+C,EAAGuzD,MAAMxlE,IAAI,UAAW,GAE5B8O,EAAEigC,QAAQ3/B,WAAW,KACrB6C,EAAG8zD,KAAK32D,WAAW,KACnBN,EAAE69C,KAAK,uBAAwB79C,IAEnCk3D,SAAU,SAAUjiE,GAChB,GAAIkO,GAAKnD,EAAEmhD,SACNh+C,GAAG1O,YACJQ,EAAE2B,eAAgB3B,EAAE2B,iBACnB3B,EAAEkiE,aAAc,EACrBh0D,EAAGqzD,gBAAgBvhE,GACnB+K,EAAEigC,QAAQ3/B,WAAW,GACrB6C,EAAGuzD,MAAMp2D,WAAW,GACpB6C,EAAG8zD,KAAK32D,WAAW,GACnBN,EAAE69C,KAAK,sBAAuB79C,KAElCo3D,QAAS,SAAUniE,GACf,GAAIkO,GAAKnD,EAAEmhD,SACNh+C,GAAG1O,YACR0O,EAAG1O,WAAY,EACXuL,EAAEnY,OAAOu5D,gBACT58C,aAAarB,EAAG6zD,aAChB7zD,EAAG6zD,YAAc3sE,WAAW,WACxB8Y,EAAGuzD,MAAMxlE,IAAI,UAAW,GACxBiS,EAAGuzD,MAAMp2D,WAAW,MACrB,MAGPN,EAAE69C,KAAK,qBAAsB79C,GACzBA,EAAEnY,OAAOy5D,wBACTthD,EAAEwxD,eAGV6F,gBAAiB,WACb,MAAKr3D,GAAEnY,OAAO+6D,iBAAkB,GAAU5iD,EAAErP,QAAQC,MACxCoP,EAAEvP,YADqDuP,EAAEuuD,sBAGzE+I,gBAAiB,WACb,GAAIn0D,GAAKnD,EAAEmhD,UACPjrD,EAAS8J,EAAErP,QAAQC,MAAQuS,EAAGuzD,MAAQxsE,QAC1CvB,GAAEwa,EAAGuzD,OAAOjlE,GAAG0R,EAAGk0D,gBAAgB3mE,MAAOyS,EAAG4zD,WAC5CpuE,EAAEuN,GAAQzE,GAAG0R,EAAGk0D,gBAAgBxmE,KAAMsS,EAAG+zD,UACzCvuE,EAAEuN,GAAQzE,GAAG0R,EAAGk0D,gBAAgBvmE,IAAKqS,EAAGi0D,UAE5CG,iBAAkB,WACd,GAAIp0D,GAAKnD,EAAEmhD,UACPjrD,EAAS8J,EAAErP,QAAQC,MAAQuS,EAAGuzD,MAAQxsE,QAC1CvB,GAAEwa,EAAGuzD,OAAO5xD,IAAI3B,EAAGk0D,gBAAgB3mE,MAAOyS,EAAG4zD,WAC7CpuE,EAAEuN,GAAQ4O,IAAI3B,EAAGk0D,gBAAgBxmE,KAAMsS,EAAG+zD,UAC1CvuE,EAAEuN,GAAQ4O,IAAI3B,EAAGk0D,gBAAgBvmE,IAAKqS,EAAGi0D,UAE7CpJ,IAAK,WACD,GAAKhuD,EAAEnY,OAAOs5D,UAAd,CACA,GAAIh+C,GAAKnD,EAAEmhD,SACXh+C,GAAGuzD,MAAQ/tE,EAAEqX,EAAEnY,OAAOs5D,WAClBnhD,EAAEnY,OAAOw7D,mBAAmD,gBAAvBrjD,GAAEnY,OAAOs5D,WAA0Bh+C,EAAGuzD,MAAMhtE,OAAS,GAAqD,IAAhDsW,EAAE1N,UAAUlJ,KAAK4W,EAAEnY,OAAOs5D,WAAWz3D,SACpIyZ,EAAGuzD,MAAQ12D,EAAE1N,UAAUlJ,KAAK4W,EAAEnY,OAAOs5D,YAEzCh+C,EAAG8zD,KAAO9zD,EAAGuzD,MAAMttE,KAAK,0BACD,IAAnB+Z,EAAG8zD,KAAKvtE,SACRyZ,EAAG8zD,KAAOtuE,EAAE,6CACZwa,EAAGuzD,MAAMjgE,OAAO0M,EAAG8zD,OAEvB9zD,EAAG8zD,KAAK,GAAG3/D,MAAMrB,MAAQ,GACzBkN,EAAG8zD,KAAK,GAAG3/D,MAAMvO,OAAS,GAC1Boa,EAAGq0D,UAAYx3D,EAAEo/C,eAAiBj8C,EAAGuzD,MAAM,GAAGp4D,YAAc6E,EAAGuzD,MAAM,GAAG1tE,aAExEma,EAAGw6B,QAAU39B,EAAEwqD,KAAOxqD,EAAE8qD,YACxB3nD,EAAG0zD,YAAc1zD,EAAGw6B,SAAWx6B,EAAGq0D,UAAYx3D,EAAEwqD,MAChDrnD,EAAGwzD,SAAWxzD,EAAGq0D,UAAYr0D,EAAGw6B,QAE5B39B,EAAEo/C,eACFj8C,EAAG8zD,KAAK,GAAG3/D,MAAMrB,MAAQkN,EAAGwzD,SAAW,KAGvCxzD,EAAG8zD,KAAK,GAAG3/D,MAAMvO,OAASoa,EAAGwzD,SAAW,KAGxCxzD,EAAGw6B,SAAW,EACdx6B,EAAGuzD,MAAM,GAAGp/D,MAAM4d,QAAU,OAG5B/R,EAAGuzD,MAAM,GAAGp/D,MAAM4d,QAAU,GAE5BlV,EAAEnY,OAAOu5D,gBACTj+C,EAAGuzD,MAAM,GAAGp/D,MAAMC,QAAU,KAGpCi7D,aAAc,WACV,GAAKxyD,EAAEnY,OAAOs5D,UAAd,CACA,GAGIsW,GAFAt0D,EAAKnD,EAAEmhD,UAIPuW,GAHY13D,EAAE9H,WAAa,EAGjBiL,EAAGwzD,SACjBc,IAAUt0D,EAAGq0D,UAAYr0D,EAAGwzD,UAAY32D,EAAEqU,SACtCrU,EAAE/O,KAAO+O,EAAEo/C,gBACXqY,GAAUA,EACNA,EAAS,GACTC,EAAUv0D,EAAGwzD,SAAWc,EACxBA,EAAS,IAEHA,EAASt0D,EAAGwzD,SAAWxzD,EAAGq0D,YAChCE,EAAUv0D,EAAGq0D,UAAYC,IAIzBA,EAAS,GACTC,EAAUv0D,EAAGwzD,SAAWc,EACxBA,EAAS,GAEJA,EAASt0D,EAAGwzD,SAAWxzD,EAAGq0D,YAC/BE,EAAUv0D,EAAGq0D,UAAYC,GAG7Bz3D,EAAEo/C,gBACEp/C,EAAErP,QAAQ63D,aACVrlD,EAAG8zD,KAAK5/D,UAAU,eAAiB,EAAW,aAG9C8L,EAAG8zD,KAAK5/D,UAAU,cAAgB,EAAW,OAEjD8L,EAAG8zD,KAAK,GAAG3/D,MAAMrB,MAAQyhE,EAAU,OAG/B13D,EAAErP,QAAQ63D,aACVrlD,EAAG8zD,KAAK5/D,UAAU,oBAAsB,EAAW,UAGnD8L,EAAG8zD,KAAK5/D,UAAU,cAAgB,EAAW,OAEjD8L,EAAG8zD,KAAK,GAAG3/D,MAAMvO,OAAS2uE,EAAU,MAEpC13D,EAAEnY,OAAOu5D,gBACT58C,aAAarB,EAAG8tC,SAChB9tC,EAAGuzD,MAAM,GAAGp/D,MAAMC,QAAU,EAC5B4L,EAAG8tC,QAAU5mD,WAAW,WACpB8Y,EAAGuzD,MAAM,GAAGp/D,MAAMC,QAAU,EAC5B4L,EAAGuzD,MAAMp2D,WAAW,MACrB,QAGXgyD,cAAe,SAAUh5C,GAChBtZ,EAAEnY,OAAOs5D,WACdnhD,EAAEmhD,UAAU8V,KAAK32D,WAAWgZ,KAOpCtZ,EAAEkuD,YACEyJ,aAAc,SAAUxiE,EAAGI,GACvB3M,KAAKuM,EAAIA,EACTvM,KAAK2M,EAAIA,EACT3M,KAAKgvE,UAAYziE,EAAEzL,OAAS,CAI5B,IAAImuE,GAAIC,CACAlvE,MAAKuM,EAAEzL,MAEfd,MAAKmvE,YAAc,SAAUC,GACzB,MAAKA,IAGLF,EAAKG,EAAarvE,KAAKuM,EAAG6iE,GAC1BH,EAAKC,EAAK,GAIDE,EAAKpvE,KAAKuM,EAAE0iE,KAAQjvE,KAAK2M,EAAEuiE,GAAMlvE,KAAK2M,EAAEsiE,KAASjvE,KAAKuM,EAAE2iE,GAAMlvE,KAAKuM,EAAE0iE,IAAOjvE,KAAK2M,EAAEsiE,IAR5E,EAWpB,IAAII,GAAe,WACf,GAAI3B,GAAUC,EAAU2B,CACxB,OAAO,UAASC,EAAOl3D,GAGnB,IAFAs1D,GAAW,EACXD,EAAW6B,EAAMzuE,OACV4sE,EAAWC,EAAW,GACrB4B,EAAMD,EAAQ5B,EAAWC,GAAY,IAAMt1D,EAC3Cs1D,EAAW2B,EAEX5B,EAAW4B,CAEnB,OAAO5B,QAKnB8B,uBAAwB,SAASC,GACzBr4D,EAAEkuD,WAAWC,SAAQnuD,EAAEkuD,WAAWC,OAASnuD,EAAEnY,OAAOwuC,KACpD,GAAIr2B,GAAEkuD,WAAWyJ,aAAa33D,EAAE0qD,WAAY2N,EAAE3N,YAC9C,GAAI1qD,GAAEkuD,WAAWyJ,aAAa33D,EAAEkqD,SAAUmO,EAAEnO,YAEpDsI,aAAc,SAAUt6D,EAAWk6D,GAGhC,QAASkG,GAAuBD,GAK3BngE,EAAYmgE,EAAEpnE,KAA8B,eAAvBonE,EAAExwE,OAAOyhB,WAA8BtJ,EAAE9H,UAAY8H,EAAE9H,UACjD,UAAvB8H,EAAEnY,OAAO+8D,YACT5kD,EAAEkuD,WAAWkK,uBAAuBC,GAGpCE,GAAuBv4D,EAAEkuD,WAAWC,OAAO4J,aAAa7/D,IAGxDqgE,GAA8C,cAAvBv4D,EAAEnY,OAAO+8D,YAChCkQ,GAAcuD,EAAEh4B,eAAiBg4B,EAAEj4B,iBAAmBpgC,EAAEqgC,eAAiBrgC,EAAEogC,gBAC3Em4B,GAAuBrgE,EAAY8H,EAAEogC,gBAAkB00B,EAAauD,EAAEj4B,gBAGtEpgC,EAAEnY,OAAO88D,iBACT4T,EAAsBF,EAAEh4B,eAAiBk4B,GAE7CF,EAAE3L,eAAe6L,GACjBF,EAAEtK,oBAAoBwK,GAAqB,EAAOv4D,GAClDq4D,EAAEvL,oBAzBP,GACIgI,GAAYyD,EADZC,EAAax4D,EAAEnY,OAAO68D,OA2B1B,IAAI1kD,EAAEyQ,QAAQ+nD,GACV,IAAK,GAAI1mE,GAAI,EAAGA,EAAI0mE,EAAW9uE,OAAQoI,IAC/B0mE,EAAW1mE,KAAOsgE,GAAgBoG,EAAW1mE,YAAc+iC,SAC3DyjC,EAAuBE,EAAW1mE,QAIrC0mE,aAAsB3jC,SAAUu9B,IAAiBoG,GAEtDF,EAAuBE,IAG9BlG,cAAe,SAAUh5C,EAAU84C,GAG/B,QAASqG,GAAwBJ,GAC7BA,EAAExH,qBAAqBv3C,EAAUtZ,GAChB,IAAbsZ,IACA++C,EAAE7/B,oBACF6/B,EAAEp4B,QAAQpnC,cAAc,WACf2/D,IACDH,EAAExwE,OAAOwuC,MAA+B,UAAvBr2B,EAAEnY,OAAO+8D,WAC1ByT,EAAE1a,UAEN0a,EAAE3/B,sBAXd,GACI5mC,GADA0mE,EAAax4D,EAAEnY,OAAO68D,OAgB1B,IAAI1kD,EAAEyQ,QAAQ+nD,GACV,IAAK1mE,EAAI,EAAGA,EAAI0mE,EAAW9uE,OAAQoI,IAC3B0mE,EAAW1mE,KAAOsgE,GAAgBoG,EAAW1mE,YAAc+iC,SAC3D4jC,EAAwBD,EAAW1mE,QAItC0mE,aAAsB3jC,SAAUu9B,IAAiBoG,GACtDC,EAAwBD,KA8CpCx4D,EAAEihD,UACEuR,aAAc,WACVxyD,EAAE1N,UAAU4J,SAAS,8EAA8EjE,KAAK,WACpG+mD,EAAqBp2D,KAAMoX,EAAEqU,YAGjCrU,EAAEo1B,OAAOn9B,KAAK,WACV,GAAIohC,GAAQ1wC,EAAEC,KACdywC,GAAMjwC,KAAK,8EAA8E6O,KAAK,WAC1F,GAAIoc,GAAWze,KAAKqd,IAAIrd,KAAKod,IAAIqmB,EAAM,GAAGhlB,UAAU,GAAK,EACzD2qC,GAAqBp2D,KAAMyrB,QAIvCi+C,cAAe,SAAUh5C,GACG,mBAAbA,KAA0BA,EAAWtZ,EAAEnY,OAAOysB,OACzDtU,EAAE1N,UAAUlJ,KAAK,8EAA8E6O,KAAK,WAChG,GAAIzD,GAAK7L,EAAEC,MACP8vE,EAAmBlvE,SAASgL,EAAGrD,KAAK,iCAAkC,KAAOmoB,CAChE,KAAbA,IAAgBo/C,EAAmB,GACvClkE,EAAG8L,WAAWo4D,OAS1B14D,EAAE41B,MAEE03B,MAAO,EACPqL,aAAc,EACdC,WAAW,EACXC,SACIx/B,MAAO/tC,OACPwtE,WAAYxtE,OACZytE,YAAaztE,OACbkrB,MAAOlrB,OACP0tE,UAAW1tE,OACXuqC,QAAS71B,EAAEnY,OAAOguC,SAEtBrf,OACI/hB,UAAWnJ,OACXoJ,QAASpJ,OACT6kE,SAAU7kE,OACV8kE,SAAU9kE,OACV2tE,KAAM3tE,OACN4tE,KAAM5tE,OACN6tE,KAAM7tE,OACN8tE,KAAM9tE,OACN2K,MAAO3K,OACPvC,OAAQuC,OACR2kE,OAAQ3kE,OACR4kE,OAAQ5kE,OACRqJ,gBACA0kE,mBAEJ34B,UACIvrC,EAAG7J,OACHiK,EAAGjK,OACHguE,cAAehuE,OACfiuE,cAAejuE,OACfkuE,SAAUluE,QAGdmuE,0BAA2B,SAAUxkE,GACjC,GAAIA,EAAEI,cAAc3L,OAAS,EAAG,MAAO,EACvC,IAAIgwE,GAAKzkE,EAAEI,cAAc,GAAGC,MACxBqkE,EAAK1kE,EAAEI,cAAc,GAAGG,MACxBwiE,EAAK/iE,EAAEI,cAAc,GAAGC,MACxBskE,EAAK3kE,EAAEI,cAAc,GAAGG,MACxBvM,EAAW2M,KAAKikE,KAAKjkE,KAAKolB,IAAIg9C,EAAK0B,EAAI,GAAK9jE,KAAKolB,IAAI4+C,EAAKD,EAAI,GAClE,OAAO1wE,IAGX6wE,eAAgB,SAAU7kE,GACtB,GAAIs9D,GAAIvyD,EAAE41B,IACV,KAAK51B,EAAErP,QAAQopE,SAAU,CACrB,GAAe,eAAX9kE,EAAEG,MAAoC,eAAXH,EAAEG,MAAyBH,EAAEI,cAAc3L,OAAS,EAC/E,MAEJ6oE,GAAEsG,QAAQmB,WAAazH,EAAEkH,0BAA0BxkE,GAEvD,MAAKs9D,GAAEsG,QAAQx/B,OAAUk5B,EAAEsG,QAAQx/B,MAAM3vC,SACrC6oE,EAAEsG,QAAQx/B,MAAQ1wC,EAAEC,MACW,IAA3B2pE,EAAEsG,QAAQx/B,MAAM3vC,SAAc6oE,EAAEsG,QAAQx/B,MAAQr5B,EAAEo1B,OAAOzrC,GAAGqW,EAAEmrB,cAClEonC,EAAEsG,QAAQriD,MAAQ+7C,EAAEsG,QAAQx/B,MAAMjwC,KAAK,oBACvCmpE,EAAEsG,QAAQG,UAAYzG,EAAEsG,QAAQriD,MAAMla,OAAO,IAAM0D,EAAEnY,OAAOi/D,oBAC5DyL,EAAEsG,QAAQhjC,QAAU08B,EAAEsG,QAAQG,UAAU7nE,KAAK,qBAAuB6O,EAAEnY,OAAOguC,QAC1C,IAA/B08B,EAAEsG,QAAQG,UAAUtvE,SAK5B6oE,EAAEsG,QAAQriD,MAAMlW,WAAW,QAC3BiyD,EAAEqG,WAAY,SALNrG,EAAEsG,QAAQriD,MAAQlrB,SAO9B2uE,gBAAiB,SAAUhlE,GACvB,GAAIs9D,GAAIvyD,EAAE41B,IACV,KAAK51B,EAAErP,QAAQopE,SAAU,CACrB,GAAe,cAAX9kE,EAAEG,MAAmC,cAAXH,EAAEG,MAAwBH,EAAEI,cAAc3L,OAAS,EAC7E,MAEJ6oE,GAAEsG,QAAQqB,UAAY3H,EAAEkH,0BAA0BxkE,GAEjDs9D,EAAEsG,QAAQriD,OAAoC,IAA3B+7C,EAAEsG,QAAQriD,MAAM9sB,SACpCsW,EAAErP,QAAQopE,SACVxH,EAAEjF,MAAQr4D,EAAEq4D,MAAQiF,EAAEoG,aAGtBpG,EAAEjF,MAASiF,EAAEsG,QAAQqB,UAAY3H,EAAEsG,QAAQmB,WAAczH,EAAEoG,aAE3DpG,EAAEjF,MAAQiF,EAAEsG,QAAQhjC,UACpB08B,EAAEjF,MAAQiF,EAAEsG,QAAQhjC,QAAU,EAAIjgC,KAAKolB,IAAKu3C,EAAEjF,MAAQiF,EAAEsG,QAAQhjC,QAAU,EAAI,KAE9E08B,EAAEjF,MAAQttD,EAAEnY,OAAOiuC,UACnBy8B,EAAEjF,MAASttD,EAAEnY,OAAOiuC,QAAU,EAAIlgC,KAAKolB,IAAKhb,EAAEnY,OAAOiuC,QAAUy8B,EAAEjF,MAAQ,EAAI,KAEjFiF,EAAEsG,QAAQriD,MAAMnf,UAAU,4BAA8Bk7D,EAAEjF,MAAQ,OAEtE6M,aAAc,SAAUllE,GACpB,GAAIs9D,GAAIvyD,EAAE41B,MACL51B,EAAErP,QAAQopE,WACI,aAAX9kE,EAAEG,MAAkC,aAAXH,EAAEG,MAAuBH,EAAEwzB,eAAe/+B,OAAS,IAI/E6oE,EAAEsG,QAAQriD,OAAoC,IAA3B+7C,EAAEsG,QAAQriD,MAAM9sB,SACxC6oE,EAAEjF,MAAQ13D,KAAKod,IAAIpd,KAAKqd,IAAIs/C,EAAEjF,MAAOiF,EAAEsG,QAAQhjC,SAAU71B,EAAEnY,OAAOiuC,SAClEy8B,EAAEsG,QAAQriD,MAAMlW,WAAWN,EAAEnY,OAAOysB,OAAOjd,UAAU,4BAA8Bk7D,EAAEjF,MAAQ,KAC7FiF,EAAEoG,aAAepG,EAAEjF,MACnBiF,EAAEqG,WAAY,EACE,IAAZrG,EAAEjF,QAAaiF,EAAEsG,QAAQx/B,MAAQ/tC,UAEzCkuC,aAAc,SAAUx5B,EAAG/K,GACvB,GAAIs9D,GAAIvyD,EAAE41B,IACL28B,GAAEsG,QAAQriD,OAAoC,IAA3B+7C,EAAEsG,QAAQriD,MAAM9sB,SACpC6oE,EAAE/7C,MAAM/hB,YACQ,YAAhBuL,EAAEhW,OAAO69B,IAAkB5yB,EAAE2B,iBACjC27D,EAAE/7C,MAAM/hB,WAAY,EACpB89D,EAAE/7C,MAAM7hB,aAAaQ,EAAe,eAAXF,EAAEG,KAAwBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,MAChFi9D,EAAE/7C,MAAM7hB,aAAaY,EAAe,eAAXN,EAAEG,KAAwBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,SAEpFu5D,YAAa,SAAU95D,GACnB,GAAIs9D,GAAIvyD,EAAE41B,IACV,IAAK28B,EAAEsG,QAAQriD,OAAoC,IAA3B+7C,EAAEsG,QAAQriD,MAAM9sB,SACxCsW,EAAEuwB,YAAa,EACVgiC,EAAE/7C,MAAM/hB,WAAc89D,EAAEsG,QAAQx/B,OAArC,CAEKk5B,EAAE/7C,MAAM9hB,UACT69D,EAAE/7C,MAAMvgB,MAAQs8D,EAAEsG,QAAQriD,MAAM,GAAGlY,YACnCi0D,EAAE/7C,MAAMztB,OAASwpE,EAAEsG,QAAQriD,MAAM,GAAGxtB,aACpCupE,EAAE/7C,MAAMy5C,OAASjwD,EAAEggC,aAAauyB,EAAEsG,QAAQG,UAAU,GAAI,MAAQ,EAChEzG,EAAE/7C,MAAM05C,OAASlwD,EAAEggC,aAAauyB,EAAEsG,QAAQG,UAAU,GAAI,MAAQ,EAChEzG,EAAEsG,QAAQC,WAAavG,EAAEsG,QAAQx/B,MAAM,GAAG/6B,YAC1Ci0D,EAAEsG,QAAQE,YAAcxG,EAAEsG,QAAQx/B,MAAM,GAAGrwC,aAC3CupE,EAAEsG,QAAQG,UAAU14D,WAAW,GAC3BN,EAAE/O,MAAKshE,EAAE/7C,MAAMy5C,QAAUsC,EAAE/7C,MAAMy5C,QACjCjwD,EAAE/O,MAAKshE,EAAE/7C,MAAM05C,QAAUqC,EAAE/7C,MAAM05C,QAGzC,IAAIkK,GAAc7H,EAAE/7C,MAAMvgB,MAAQs8D,EAAEjF,MAChC+M,EAAe9H,EAAE/7C,MAAMztB,OAASwpE,EAAEjF,KAEtC,MAAI8M,EAAc7H,EAAEsG,QAAQC,YAAcuB,EAAe9H,EAAEsG,QAAQE,aAAnE,CAUA,GARAxG,EAAE/7C,MAAMyiD,KAAOrjE,KAAKqd,IAAKs/C,EAAEsG,QAAQC,WAAa,EAAIsB,EAAc,EAAI,GACtE7H,EAAE/7C,MAAM2iD,MAAQ5G,EAAE/7C,MAAMyiD,KACxB1G,EAAE/7C,MAAM0iD,KAAOtjE,KAAKqd,IAAKs/C,EAAEsG,QAAQE,YAAc,EAAIsB,EAAe,EAAI,GACxE9H,EAAE/7C,MAAM4iD,MAAQ7G,EAAE/7C,MAAM0iD,KAExB3G,EAAE/7C,MAAM6iD,eAAelkE,EAAe,cAAXF,EAAEG,KAAuBH,EAAEI,cAAc,GAAGC,MAAQL,EAAEK,MACjFi9D,EAAE/7C,MAAM6iD,eAAe9jE,EAAe,cAAXN,EAAEG,KAAuBH,EAAEI,cAAc,GAAGG,MAAQP,EAAEO,OAE5E+8D,EAAE/7C,MAAM9hB,UAAY69D,EAAEqG,UAAW,CAClC,GAAI54D,EAAEo/C,gBACDxpD,KAAK+qC,MAAM4xB,EAAE/7C,MAAMyiD,QAAUrjE,KAAK+qC,MAAM4xB,EAAE/7C,MAAMy5C,SAAWsC,EAAE/7C,MAAM6iD,eAAelkE,EAAIo9D,EAAE/7C,MAAM7hB,aAAaQ,GAC3GS,KAAK+qC,MAAM4xB,EAAE/7C,MAAM2iD,QAAUvjE,KAAK+qC,MAAM4xB,EAAE/7C,MAAMy5C,SAAWsC,EAAE/7C,MAAM6iD,eAAelkE,EAAIo9D,EAAE/7C,MAAM7hB,aAAaQ,EAG5G,YADAo9D,EAAE/7C,MAAM/hB,WAAY,EAGnB,KAAKuL,EAAEo/C,gBACPxpD,KAAK+qC,MAAM4xB,EAAE/7C,MAAM0iD,QAAUtjE,KAAK+qC,MAAM4xB,EAAE/7C,MAAM05C,SAAWqC,EAAE/7C,MAAM6iD,eAAe9jE,EAAIg9D,EAAE/7C,MAAM7hB,aAAaY,GAC3GK,KAAK+qC,MAAM4xB,EAAE/7C,MAAM4iD,QAAUxjE,KAAK+qC,MAAM4xB,EAAE/7C,MAAM05C,SAAWqC,EAAE/7C,MAAM6iD,eAAe9jE,EAAIg9D,EAAE/7C,MAAM7hB,aAAaY,EAG5G,YADAg9D,EAAE/7C,MAAM/hB,WAAY,GAI5BQ,EAAE2B,iBACF3B,EAAEw7B,kBAEF8hC,EAAE/7C,MAAM9hB,SAAU,EAClB69D,EAAE/7C,MAAM25C,SAAWoC,EAAE/7C,MAAM6iD,eAAelkE,EAAIo9D,EAAE/7C,MAAM7hB,aAAaQ,EAAIo9D,EAAE/7C,MAAMy5C,OAC/EsC,EAAE/7C,MAAM45C,SAAWmC,EAAE/7C,MAAM6iD,eAAe9jE,EAAIg9D,EAAE/7C,MAAM7hB,aAAaY,EAAIg9D,EAAE/7C,MAAM05C,OAE3EqC,EAAE/7C,MAAM25C,SAAWoC,EAAE/7C,MAAMyiD,OAC3B1G,EAAE/7C,MAAM25C,SAAYoC,EAAE/7C,MAAMyiD,KAAO,EAAIrjE,KAAKolB,IAAKu3C,EAAE/7C,MAAMyiD,KAAO1G,EAAE/7C,MAAM25C,SAAW,EAAI,KAEvFoC,EAAE/7C,MAAM25C,SAAWoC,EAAE/7C,MAAM2iD,OAC3B5G,EAAE/7C,MAAM25C,SAAWoC,EAAE/7C,MAAM2iD,KAAO,EAAIvjE,KAAKolB,IAAKu3C,EAAE/7C,MAAM25C,SAAWoC,EAAE/7C,MAAM2iD,KAAO,EAAI,KAGtF5G,EAAE/7C,MAAM45C,SAAWmC,EAAE/7C,MAAM0iD,OAC3B3G,EAAE/7C,MAAM45C,SAAYmC,EAAE/7C,MAAM0iD,KAAO,EAAItjE,KAAKolB,IAAKu3C,EAAE/7C,MAAM0iD,KAAO3G,EAAE/7C,MAAM45C,SAAW,EAAI,KAEvFmC,EAAE/7C,MAAM45C,SAAWmC,EAAE/7C,MAAM4iD,OAC3B7G,EAAE/7C,MAAM45C,SAAWmC,EAAE/7C,MAAM4iD,KAAO,EAAIxjE,KAAKolB,IAAKu3C,EAAE/7C,MAAM45C,SAAWmC,EAAE/7C,MAAM4iD,KAAO,EAAI,KAIrF7G,EAAE7xB,SAAS44B,gBAAe/G,EAAE7xB,SAAS44B,cAAgB/G,EAAE/7C,MAAM6iD,eAAelkE,GAC5Eo9D,EAAE7xB,SAAS64B,gBAAehH,EAAE7xB,SAAS64B,cAAgBhH,EAAE/7C,MAAM6iD,eAAe9jE,GAC5Eg9D,EAAE7xB,SAAS84B,WAAUjH,EAAE7xB,SAAS84B,SAAW/jE,KAAKg8C,OACrD8gB,EAAE7xB,SAASvrC,GAAKo9D,EAAE/7C,MAAM6iD,eAAelkE,EAAIo9D,EAAE7xB,SAAS44B,gBAAkB7jE,KAAKg8C,MAAQ8gB,EAAE7xB,SAAS84B,UAAY,EAC5GjH,EAAE7xB,SAASnrC,GAAKg9D,EAAE/7C,MAAM6iD,eAAe9jE,EAAIg9D,EAAE7xB,SAAS64B,gBAAkB9jE,KAAKg8C,MAAQ8gB,EAAE7xB,SAAS84B,UAAY,EACxG5jE,KAAKC,IAAI08D,EAAE/7C,MAAM6iD,eAAelkE,EAAIo9D,EAAE7xB,SAAS44B,eAAiB,IAAG/G,EAAE7xB,SAASvrC,EAAI,GAClFS,KAAKC,IAAI08D,EAAE/7C,MAAM6iD,eAAe9jE,EAAIg9D,EAAE7xB,SAAS64B,eAAiB,IAAGhH,EAAE7xB,SAASnrC,EAAI,GACtFg9D,EAAE7xB,SAAS44B,cAAgB/G,EAAE/7C,MAAM6iD,eAAelkE,EAClDo9D,EAAE7xB,SAAS64B,cAAgBhH,EAAE/7C,MAAM6iD,eAAe9jE,EAClDg9D,EAAE7xB,SAAS84B,SAAW/jE,KAAKg8C,MAE3B8gB,EAAEsG,QAAQG,UAAU3hE,UAAU,eAAiBk7D,EAAE/7C,MAAM25C,SAAW,OAASoC,EAAE/7C,MAAM45C,SAAW,YAElGx2B,WAAY,SAAU55B,EAAG/K,GACrB,GAAIs9D,GAAIvyD,EAAE41B,IACV,IAAK28B,EAAEsG,QAAQriD,OAAoC,IAA3B+7C,EAAEsG,QAAQriD,MAAM9sB,OAAxC,CACA,IAAK6oE,EAAE/7C,MAAM/hB,YAAc89D,EAAE/7C,MAAM9hB,QAG/B,MAFA69D,GAAE/7C,MAAM/hB,WAAY,OACpB89D,EAAE/7C,MAAM9hB,SAAU,EAGtB69D,GAAE/7C,MAAM/hB,WAAY,EACpB89D,EAAE/7C,MAAM9hB,SAAU,CAClB,IAAI4lE,GAAoB,IACpBC,EAAoB,IACpBC,EAAoBjI,EAAE7xB,SAASvrC,EAAImlE,EACnCG,EAAelI,EAAE/7C,MAAM25C,SAAWqK,EAClCE,EAAoBnI,EAAE7xB,SAASnrC,EAAIglE,EACnCI,EAAepI,EAAE/7C,MAAM45C,SAAWsK,CAGjB,KAAjBnI,EAAE7xB,SAASvrC,IAASmlE,EAAoB1kE,KAAKC,KAAK4kE,EAAelI,EAAE/7C,MAAM25C,UAAYoC,EAAE7xB,SAASvrC,IAC/E,IAAjBo9D,EAAE7xB,SAASnrC,IAASglE,EAAoB3kE,KAAKC,KAAK8kE,EAAepI,EAAE/7C,MAAM45C,UAAYmC,EAAE7xB,SAASnrC,GACpG,IAAI27D,GAAmBt7D,KAAKod,IAAIsnD,EAAmBC,EAEnDhI,GAAE/7C,MAAM25C,SAAWsK,EACnBlI,EAAE/7C,MAAM45C,SAAWuK,CAGnB,IAAIP,GAAc7H,EAAE/7C,MAAMvgB,MAAQs8D,EAAEjF,MAChC+M,EAAe9H,EAAE/7C,MAAMztB,OAASwpE,EAAEjF,KACtCiF,GAAE/7C,MAAMyiD,KAAOrjE,KAAKqd,IAAKs/C,EAAEsG,QAAQC,WAAa,EAAIsB,EAAc,EAAI,GACtE7H,EAAE/7C,MAAM2iD,MAAQ5G,EAAE/7C,MAAMyiD,KACxB1G,EAAE/7C,MAAM0iD,KAAOtjE,KAAKqd,IAAKs/C,EAAEsG,QAAQE,YAAc,EAAIsB,EAAe,EAAI,GACxE9H,EAAE/7C,MAAM4iD,MAAQ7G,EAAE/7C,MAAM0iD,KACxB3G,EAAE/7C,MAAM25C,SAAWv6D,KAAKod,IAAIpd,KAAKqd,IAAIs/C,EAAE/7C,MAAM25C,SAAUoC,EAAE/7C,MAAM2iD,MAAO5G,EAAE/7C,MAAMyiD,MAC9E1G,EAAE/7C,MAAM45C,SAAWx6D,KAAKod,IAAIpd,KAAKqd,IAAIs/C,EAAE/7C,MAAM45C,SAAUmC,EAAE/7C,MAAM4iD,MAAO7G,EAAE/7C,MAAM0iD,MAE9E3G,EAAEsG,QAAQG,UAAU14D,WAAW4wD,GAAkB75D,UAAU,eAAiBk7D,EAAE/7C,MAAM25C,SAAW,OAASoC,EAAE/7C,MAAM45C,SAAW,WAE/H13B,gBAAiB,SAAU14B,GACvB,GAAIuyD,GAAIvyD,EAAE41B,IACN28B,GAAEsG,QAAQx/B,OAASr5B,EAAEs4B,gBAAkBt4B,EAAEmrB,cACzConC,EAAEsG,QAAQriD,MAAMnf,UAAU,+BAC1Bk7D,EAAEsG,QAAQG,UAAU3hE,UAAU,sBAC9Bk7D,EAAEsG,QAAQx/B,MAAQk5B,EAAEsG,QAAQriD,MAAQ+7C,EAAEsG,QAAQG,UAAY1tE,OAC1DinE,EAAEjF,MAAQiF,EAAEoG,aAAe,IAInCiC,WAAY,SAAU56D,EAAG/K,GACrB,GAAIs9D,GAAIvyD,EAAE41B,IAMV,IALK28B,EAAEsG,QAAQx/B,QACXk5B,EAAEsG,QAAQx/B,MAAQr5B,EAAEwvD,aAAe7mE,EAAEqX,EAAEwvD,cAAgBxvD,EAAEo1B,OAAOzrC,GAAGqW,EAAEmrB,aACrEonC,EAAEsG,QAAQriD,MAAQ+7C,EAAEsG,QAAQx/B,MAAMjwC,KAAK,oBACvCmpE,EAAEsG,QAAQG,UAAYzG,EAAEsG,QAAQriD,MAAMla,OAAO,IAAM0D,EAAEnY,OAAOi/D,qBAE3DyL,EAAEsG,QAAQriD,OAAoC,IAA3B+7C,EAAEsG,QAAQriD,MAAM9sB,OAAxC,CAEA,GAAImxE,GAAQC,EAAQC,EAASC,EAASloD,EAAOC,EAAO0iD,EAAYD,EAAYyF,EAAYC,EAAad,EAAaC,EAAcc,EAAeC,EAAeC,EAAeC,EAAexC,EAAYC,CAElK,oBAA3BxG,GAAE/7C,MAAM7hB,aAAaQ,GAAqBF,GACjD4lE,EAAoB,aAAX5lE,EAAEG,KAAsBH,EAAEwzB,eAAe,GAAGnzB,MAAQL,EAAEK,MAC/DwlE,EAAoB,aAAX7lE,EAAEG,KAAsBH,EAAEwzB,eAAe,GAAGjzB,MAAQP,EAAEO,QAG/DqlE,EAAStI,EAAE/7C,MAAM7hB,aAAaQ,EAC9B2lE,EAASvI,EAAE/7C,MAAM7hB,aAAaY,GAG9Bg9D,EAAEjF,OAAqB,IAAZiF,EAAEjF,OAEbiF,EAAEjF,MAAQiF,EAAEoG,aAAe,EAC3BpG,EAAEsG,QAAQG,UAAU14D,WAAW,KAAKjJ,UAAU,sBAC9Ck7D,EAAEsG,QAAQriD,MAAMlW,WAAW,KAAKjJ,UAAU,+BAC1Ck7D,EAAEsG,QAAQx/B,MAAQ/tC,SAIlBinE,EAAEjF,MAAQiF,EAAEoG,aAAepG,EAAEsG,QAAQG,UAAU7nE,KAAK,qBAAuB6O,EAAEnY,OAAOguC,QAChF5gC,GACA6jE,EAAavG,EAAEsG,QAAQx/B,MAAM,GAAG/6B,YAChCy6D,EAAcxG,EAAEsG,QAAQx/B,MAAM,GAAGrwC,aACjC+xE,EAAUxI,EAAEsG,QAAQx/B,MAAM/iC,SAASC,KACnCykE,EAAUzI,EAAEsG,QAAQx/B,MAAM/iC,SAASub,IACnCiB,EAAQioD,EAAUjC,EAAW,EAAI+B,EACjC9nD,EAAQioD,EAAUjC,EAAY,EAAI+B,EAElCG,EAAa1I,EAAEsG,QAAQriD,MAAM,GAAGlY,YAChC48D,EAAc3I,EAAEsG,QAAQriD,MAAM,GAAGxtB,aACjCoxE,EAAca,EAAa1I,EAAEjF,MAC7B+M,EAAea,EAAc3I,EAAEjF,MAE/B6N,EAAgBvlE,KAAKqd,IAAK6lD,EAAa,EAAIsB,EAAc,EAAI,GAC7DgB,EAAgBxlE,KAAKqd,IAAK8lD,EAAc,EAAIsB,EAAe,EAAI,GAC/DgB,GAAiBF,EACjBG,GAAiBF,EAEjB3F,EAAa3iD,EAAQy/C,EAAEjF,MACvBkI,EAAaziD,EAAQw/C,EAAEjF,MAEnBmI,EAAa0F,IACb1F,EAAc0F,GAEd1F,EAAa4F,IACb5F,EAAa4F,GAGb7F,EAAa4F,IACb5F,EAAc4F,GAEd5F,EAAa8F,IACb9F,EAAa8F,KAIjB7F,EAAa,EACbD,EAAa,GAEjBjD,EAAEsG,QAAQG,UAAU14D,WAAW,KAAKjJ,UAAU,eAAiBo+D,EAAa,OAASD,EAAa,SAClGjD,EAAEsG,QAAQriD,MAAMlW,WAAW,KAAKjJ,UAAU,4BAA8Bk7D,EAAEjF,MAAQ,QAI1Fn0D,aAAc,SAAUC,GACpB,GAAIC,GAASD,EAAS,MAAQ,IAE9B,IAAI4G,EAAEnY,OAAO+tC,KAAM,CACf,GACIt8B,IADS0G,EAAEo1B,SAC+B,eAAxBp1B,EAAEvP,YAAYC,QAA0BsP,EAAErP,QAAQ2I,kBAAmB0G,EAAEnY,OAAOs9D,oBAAoB5rD,SAAS,EAAMC,SAAS,GAE5IwG,GAAErP,QAAQopE,UACV/5D,EAAEo1B,OAAO/7B,GAAQ,eAAgB2G,EAAE41B,KAAKkkC,eAAgBxgE,GACxD0G,EAAEo1B,OAAO/7B,GAAQ,gBAAiB2G,EAAE41B,KAAKqkC,gBAAiB3gE,GAC1D0G,EAAEo1B,OAAO/7B,GAAQ,aAAc2G,EAAE41B,KAAKukC,aAAc7gE,IAEvB,eAAxB0G,EAAEvP,YAAYC,QACnBsP,EAAEo1B,OAAO/7B,GAAQ2G,EAAEvP,YAAYC,MAAOsP,EAAE41B,KAAKkkC,eAAgBxgE,GAC7D0G,EAAEo1B,OAAO/7B,GAAQ2G,EAAEvP,YAAYI,KAAMmP,EAAE41B,KAAKqkC,gBAAiB3gE,GAC7D0G,EAAEo1B,OAAO/7B,GAAQ2G,EAAEvP,YAAYK,IAAKkP,EAAE41B,KAAKukC,aAAc7gE,IAI7D0G,EAAE3G,GAAQ,aAAc2G,EAAE41B,KAAK4D,cAC/Bx5B,EAAEo1B,OAAOn9B,KAAK,SAAU2D,EAAOy9B,GACvB1wC,EAAE0wC,GAAOjwC,KAAK,IAAM4W,EAAEnY,OAAOi/D,oBAAoBp9D,OAAS,GAC1Df,EAAE0wC,GAAOhgC,GAAQ2G,EAAEvP,YAAYI,KAAMmP,EAAE41B,KAAKm5B,eAGpD/uD,EAAE3G,GAAQ,WAAY2G,EAAE41B,KAAKgE,YAG7B55B,EAAE3G,GAAQ,gBAAiB2G,EAAE41B,KAAK8C,iBAC9B14B,EAAEnY,OAAOq5D,YACTlhD,EAAEvO,GAAG,YAAauO,EAAE41B,KAAKglC,cAIrC1qE,KAAM,WACF8P,EAAE41B,KAAKz8B,gBAEXiC,QAAS,WACL4E,EAAE41B,KAAKz8B,cAAa,KAO5B6G,EAAEgrC,WACF,KAAK,GAAIE,KAAUlrC,GAAEmrC,QAAS,CAC1B,GAAIx2B,GAAI3U,EAAEmrC,QAAQD,GAAQlrC,EAAGA,EAAEnY,OAAOqjD,GAClCv2B,IAAG3U,EAAEgrC,SAAS/3C,KAAK0hB,GAkU3B,MA/TA3U,GAAEu7D,YAAc,SAAU76D,GACtB,IAAK,GAAI5O,GAAI,EAAGA,EAAIkO,EAAEgrC,SAASthD,OAAQoI,IAC/B4O,IAAaV,GAAEgrC,SAASl5C,IACxBkO,EAAEgrC,SAASl5C,GAAG4O,GAAW+O,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,KAmBvGzP,EAAEw7D,yBAGFx7D,EAAE69C,KAAO,SAAUn9C,GAEXV,EAAEnY,OAAO6Y,IACTV,EAAEnY,OAAO6Y,GAAW+O,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAE1F,IAAI3d,EAEJ,IAAIkO,EAAEw7D,sBAAsB96D,GACxB,IAAK5O,EAAI,EAAGA,EAAIkO,EAAEw7D,sBAAsB96D,GAAWhX,OAAQoI,IACvDkO,EAAEw7D,sBAAsB96D,GAAW5O,GAAG2d,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAI5GzP,GAAEu7D,aAAav7D,EAAEu7D,YAAY76D,EAAW+O,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,KAElHzP,EAAEvO,GAAK,SAAUiP,EAAWypB,GAIxB,MAHAzpB,GAAY2+C,EAAmB3+C,GAC1BV,EAAEw7D,sBAAsB96D,KAAYV,EAAEw7D,sBAAsB96D,OACjEV,EAAEw7D,sBAAsB96D,GAAWzN,KAAKk3B,GACjCnqB,GAEXA,EAAE8E,IAAM,SAAUpE,EAAWypB,GACzB,GAAIr4B,EAEJ,IADA4O,EAAY2+C,EAAmB3+C,GACR,mBAAZypB,GAGP,MADAnqB,GAAEw7D,sBAAsB96D,MACjBV,CAEX,IAAKA,EAAEw7D,sBAAsB96D,IAA4D,IAA9CV,EAAEw7D,sBAAsB96D,GAAWhX,OAA9E,CACA,IAAKoI,EAAI,EAAGA,EAAIkO,EAAEw7D,sBAAsB96D,GAAWhX,OAAQoI,IACpDkO,EAAEw7D,sBAAsB96D,GAAW5O,KAAOq4B,GAASnqB,EAAEw7D,sBAAsB96D,GAAWpF,OAAOxJ,EAAG,EAEvG,OAAOkO,KAEXA,EAAEqD,KAAO,SAAU3C,EAAWypB,GAC1BzpB,EAAY2+C,EAAmB3+C,EAC/B,IAAI+6D,GAAW,WACXtxC,EAAQ1a,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,GAAIA,UAAU,IAC1EzP,EAAE8E,IAAIpE,EAAW+6D,GAGrB,OADAz7D,GAAEvO,GAAGiP,EAAW+6D,GACTz7D,GAIXA,EAAEgnD,MACE0U,cAAe,SAAU9uC,GAErB,MADAA,GAAIz7B,KAAK,WAAY,KACdy7B,GAEX+uC,QAAS,SAAU/uC,EAAKgvC,GAEpB,MADAhvC,GAAIz7B,KAAK,OAAQyqE,GACVhvC,GAGXivC,SAAU,SAAUjvC,EAAK1b,GAErB,MADA0b,GAAIz7B,KAAK,aAAc+f,GAChB0b,GAGX9rB,QAAS,SAAU8rB,GAEf,MADAA,GAAIz7B,KAAK,iBAAiB,GACnBy7B,GAGXjsB,OAAQ,SAAUisB,GAEd,MADAA,GAAIz7B,KAAK,iBAAiB,GACnBy7B,GAGXqiC,WAAY,SAAUzmC,GACI,KAAlBA,EAAMszC,UACNnzE,EAAE6/B,EAAMtyB,QAAQE,GAAG4J,EAAEnY,OAAO+wC,aAC5B54B,EAAEgvD,YAAYxmC,GACVxoB,EAAEi4B,MACFj4B,EAAEgnD,KAAK+U,OAAO/7D,EAAEnY,OAAOu/D,kBAGvBpnD,EAAEgnD,KAAK+U,OAAO/7D,EAAEnY,OAAOq/D,mBAGtBv+D,EAAE6/B,EAAMtyB,QAAQE,GAAG4J,EAAEnY,OAAOgxC,cACjC74B,EAAEkvD,YAAY1mC,GACVxoB,EAAEg4B,YACFh4B,EAAEgnD,KAAK+U,OAAO/7D,EAAEnY,OAAOs/D,mBAGvBnnD,EAAEgnD,KAAK+U,OAAO/7D,EAAEnY,OAAOo/D,mBAG3Bt+D,EAAE6/B,EAAMtyB,QAAQE,GAAG,IAAM4J,EAAEnY,OAAOk+D,cAClCp9D,EAAE6/B,EAAMtyB,QAAQ,GAAGklB,UAI3B4gD,WAAYrzE,EAAE,gBAAkBqX,EAAEnY,OAAO++D,kBAAoB,sDAE7DmV,OAAQ,SAAUjkD,GACd,GAAI6yB,GAAe3qC,EAAEgnD,KAAKgV,UACE,KAAxBrxB,EAAajhD,SACjBihD,EAAarzB,KAAK,IAClBqzB,EAAarzB,KAAKQ,KAEtB5nB,KAAM,WAEE8P,EAAEnY,OAAO+wC,YAAc54B,EAAE44B,YAAc54B,EAAE44B,WAAWlvC,OAAS,IAC7DsW,EAAEgnD,KAAK0U,cAAc17D,EAAE44B,YACvB54B,EAAEgnD,KAAK2U,QAAQ37D,EAAE44B,WAAY,UAC7B54B,EAAEgnD,KAAK6U,SAAS77D,EAAE44B,WAAY54B,EAAEnY,OAAOq/D,mBAEvClnD,EAAEnY,OAAOgxC,YAAc74B,EAAE64B,YAAc74B,EAAE64B,WAAWnvC,OAAS,IAC7DsW,EAAEgnD,KAAK0U,cAAc17D,EAAE64B,YACvB74B,EAAEgnD,KAAK2U,QAAQ37D,EAAE64B,WAAY,UAC7B74B,EAAEgnD,KAAK6U,SAAS77D,EAAE64B,WAAY74B,EAAEnY,OAAOo/D,mBAG3Ct+D,EAAEqX,EAAE1N,WAAWmE,OAAOuJ,EAAEgnD,KAAKgV,aAEjCpO,eAAgB,WACR5tD,EAAEnY,OAAOy7D,YAActjD,EAAEnY,OAAO27D,qBAAuBxjD,EAAEqtD,SAAWrtD,EAAEqtD,QAAQ3jE,QAC9EsW,EAAEqtD,QAAQp1D,KAAK,WACX,GAAIgkE,GAAStzE,EAAEC,KACfoX,GAAEgnD,KAAK0U,cAAcO,GACrBj8D,EAAEgnD,KAAK2U,QAAQM,EAAQ,UACvBj8D,EAAEgnD,KAAK6U,SAASI,EAAQj8D,EAAEnY,OAAOw/D,wBAAwBp/D,QAAQ,YAAag0E,EAAOrgE,QAAU,OAI3GR,QAAS,WACD4E,EAAEgnD,KAAKgV,YAAch8D,EAAEgnD,KAAKgV,WAAWtyE,OAAS,GAAGsW,EAAEgnD,KAAKgV,WAAW9iE,WAQjF8G,EAAE9P,KAAO,WACD8P,EAAEnY,OAAOwuC,MAAMr2B,EAAEizD,aACrBjzD,EAAEsqD,sBACFtqD,EAAEyqD,mBACFzqD,EAAEytD,mBACEztD,EAAEnY,OAAOs5D,WAAanhD,EAAEmhD,YACxBnhD,EAAEmhD,UAAU6M,MACRhuD,EAAEnY,OAAOw5D,oBACTrhD,EAAEmhD,UAAUmW,mBAGI,UAApBt3D,EAAEnY,OAAOutB,QAAsBpV,EAAEqyD,QAAQryD,EAAEnY,OAAOutB,UAC7CpV,EAAEnY,OAAOwuC,MAAMr2B,EAAE0sD,iBACtB1sD,EAAEqyD,QAAQryD,EAAEnY,OAAOutB,QAAQo9C,gBAE3BxyD,EAAEnY,OAAOwuC,KACTr2B,EAAEorB,QAAQprB,EAAEnY,OAAOqtC,aAAel1B,EAAE+3B,aAAc,EAAG/3B,EAAEnY,OAAOy/D,qBAG9DtnD,EAAEorB,QAAQprB,EAAEnY,OAAOqtC,aAAc,EAAGl1B,EAAEnY,OAAOy/D,oBACf,IAA1BtnD,EAAEnY,OAAOqtC,eACLl1B,EAAEihD,UAAYjhD,EAAEnY,OAAOo5D,UAAUjhD,EAAEihD,SAASuR,eAC5CxyD,EAAEsuD,MAAQtuD,EAAEnY,OAAOyuC,cACnBt2B,EAAEsuD,KAAK10D,OACPoG,EAAEsuD,KAAKuH,oBAAqB,KAIxC71D,EAAE7G,eACE6G,EAAEnY,OAAO02D,UAAYv+C,EAAErP,QAAQ4tD,UAC/Bv+C,EAAE6yD,gBAEF7yD,EAAEnY,OAAOkxC,gBAAkB/4B,EAAEnY,OAAOyuC,aACpCt2B,EAAE+4B,gBAEF/4B,EAAEnY,OAAO+tC,MAAQ51B,EAAE41B,MACnB51B,EAAE41B,KAAK1lC,OAEP8P,EAAEnY,OAAO01D,UACTv9C,EAAEgqD,gBAEFhqD,EAAEnY,OAAO05D,iBACLvhD,EAAEk8D,uBAAuBl8D,EAAEk8D,wBAE/Bl8D,EAAEnY,OAAO25D,mBACLxhD,EAAEm8D,yBAAyBn8D,EAAEm8D,0BAGjCn8D,EAAEnY,OAAOu0E,sBACTp8D,EAAEnY,OAAOm6D,aAAehiD,EAAEnY,OAAOu0E,qBAEjCp8D,EAAEnY,OAAOyL,SACL0M,EAAE1M,SAAS0M,EAAE1M,QAAQpD,OAEzB8P,EAAEnY,OAAOi6D,SACL9hD,EAAE8hD,SAAS9hD,EAAE8hD,QAAQ5xD,OAEzB8P,EAAEnY,OAAOm/D,MAAQhnD,EAAEgnD,MAAMhnD,EAAEgnD,KAAK92D,OACpC8P,EAAE69C,KAAK,SAAU79C,IAIrBA,EAAEq8D,cAAgB,WAEdr8D,EAAE1N,UAAUjB,YAAY2O,EAAE04C,WAAWp2C,KAAK,MAAMjH,WAAW,SAG3D2E,EAAEigC,QAAQ5kC,WAAW,SAGjB2E,EAAEo1B,QAAUp1B,EAAEo1B,OAAO1rC,QACrBsW,EAAEo1B,OACG/jC,aACC2O,EAAEnY,OAAO29D,kBACTxlD,EAAEnY,OAAOy9D,iBACTtlD,EAAEnY,OAAO69D,eACT1lD,EAAEnY,OAAO+9D,gBACTtjD,KAAK,MACNjH,WAAW,SACXA,WAAW,sBACXA,WAAW,mBAIhB2E,EAAEyoD,qBAAuBzoD,EAAEyoD,oBAAoB/+D,QAC/CsW,EAAEyoD,oBAAoBp3D,YAAY2O,EAAEnY,OAAOu+D,uBAE3CpmD,EAAEqtD,SAAWrtD,EAAEqtD,QAAQ3jE,QACvBsW,EAAEqtD,QAAQh8D,YAAY2O,EAAEnY,OAAOm+D,mBAI/BhmD,EAAEnY,OAAOgxC,YAAYlwC,EAAEqX,EAAEnY,OAAOgxC,YAAYxnC,YAAY2O,EAAEnY,OAAOo+D,qBACjEjmD,EAAEnY,OAAO+wC,YAAYjwC,EAAEqX,EAAEnY,OAAO+wC,YAAYvnC,YAAY2O,EAAEnY,OAAOo+D,qBAGjEjmD,EAAEnY,OAAOs5D,WAAanhD,EAAEmhD,YACpBnhD,EAAEmhD,UAAUuV,OAAS12D,EAAEmhD,UAAUuV,MAAMhtE,QAAQsW,EAAEmhD,UAAUuV,MAAMr7D,WAAW,SAC5E2E,EAAEmhD,UAAU8V,MAAQj3D,EAAEmhD,UAAU8V,KAAKvtE,QAAQsW,EAAEmhD,UAAU8V,KAAK57D,WAAW,WAKrF2E,EAAE5E,QAAU,SAAUkhE,EAAgBD,GAElCr8D,EAAEvG,eAEFuG,EAAE+9C,eAEE/9C,EAAEnY,OAAOs5D,WAAanhD,EAAEmhD,WACpBnhD,EAAEnY,OAAOw5D,oBACTrhD,EAAEmhD,UAAUoW,mBAIhBv3D,EAAEnY,OAAOwuC,MACTr2B,EAAEqoD,cAGFgU,GACAr8D,EAAEq8D,gBAGNr8D,EAAE+yD,sBAGE/yD,EAAEnY,OAAO+tC,MAAQ51B,EAAE41B,MACnB51B,EAAE41B,KAAKx6B,UAGP4E,EAAEnY,OAAO05D,iBACLvhD,EAAEu8D,wBAAwBv8D,EAAEu8D,yBAEhCv8D,EAAEnY,OAAO25D,mBACLxhD,EAAEw8D,0BAA0Bx8D,EAAEw8D,2BAGlCx8D,EAAEnY,OAAOm/D,MAAQhnD,EAAEgnD,MAAMhnD,EAAEgnD,KAAK5rD,UAEhC4E,EAAEnY,OAAOyL,UAAY0M,EAAEnY,OAAOm6D,cAC9Br6D,OAAO6lD,oBAAoB,WAAYxtC,EAAE1M,QAAQmpE,oBAEjDz8D,EAAEnY,OAAOi6D,SAAW9hD,EAAE8hD,SACtB9hD,EAAE8hD,QAAQ1mD,UAGd4E,EAAE69C,KAAK,aAEHye,KAAmB,IAAOt8D,EAAI,OAGtCA,EAAE9P,OAKK8P,IAMX60B,OAAOqX,WACHipB,SAAU,WACN,GAAI/c,GAAKzwD,OAAOg3C,UAAUC,UAAU18B,aACpC,OAAQk2C,GAAG7uD,QAAQ,WAAa,GAAK6uD,EAAG7uD,QAAQ,UAAY,GAAK6uD,EAAG7uD,QAAQ,WAAa,KAE7F6rE,YAAa,+CAA+CriB,KAAKprD,OAAOg3C,UAAUC,WAClFnuB,QAAS,SAAUm7B,GACf,MAAgD,mBAAzCkI,OAAO5H,UAAUhmC,SAAS6tC,MAAMnI,IAK3CijB,SACIC,GAAInnE,OAAOg3C,UAAU6vB,gBAAkB7mE,OAAOg3C,UAAU8vB,iBACxDkC,QAAUhpE,OAAOg3C,UAAU8vB,kBAAoB9mE,OAAOg3C,UAAU+9B,iBAAmB,GAAO/0E,OAAOg3C,UAAU6vB,gBAAkB7mE,OAAOg3C,UAAUg+B,eAAiB,EAC/J7K,OAAQ,WAEJ,GAAI8K,GAAM1yE,SAAS8e,cAAc,MAIjC,OAFA4zD,GAAI7wD,UAAY,wCAEgC,IAAzC6wD,EAAIC,qBAAqB,KAAKnzE,WAM7CM,OAAQ,WACJ,GAAIouD,GAAKzwD,OAAOg3C,UAAUC,UACtBpoC,EAAU4hD,EAAGlwD,MAAM,+BACnB+B,EAAOmuD,EAAGlwD,MAAM,wBAChBmwD,EAAOD,EAAGlwD,MAAM,2BAChBowD,GAAUruD,GAAQmuD,EAAGlwD,MAAM,6BAC/B,QACIoJ,IAAKrH,GAAQquD,GAAUD,EACvB7hD,QAASA,MAMjB7F,SACIC,MAASjJ,OAAOm1E,WAAaA,UAAUlsE,SAAU,GAAS,WACtD,SAAW,gBAAkBjJ,SAAWA,OAAO4tD,eAAiBrrD,mBAAoBqrD,mBAGxFiT,aAAgB7gE,OAAOm1E,WAAaA,UAAUC,mBAAoB,GAAS,WACvE,GAAIH,GAAM1yE,SAAS8e,cAAc,OAAO1R,KACxC,OAAQ,qBAAuBslE,IAAO,kBAAoBA,IAAO,gBAAkBA,IAAO,iBAAmBA,IAAO,eAAiBA,MAGzIrU,QAAS,WAGL,IAAK,GAFDqU,GAAM1yE,SAAS8e,cAAc,OAAO1R,MACpC8G,EAAS,yKAA2K5K,MAAM,KACrL1B,EAAI,EAAGA,EAAIsM,EAAO1U,OAAQoI,IAC/B,GAAIsM,EAAOtM,IAAM8qE,GAAK,OAAO,KAIrCre,SAAU,WACN,MAAQ,oBAAsB52D,SAAU,0BAA4BA,WAGxE2R,gBAAiB,WACb,GAAI2+C,IAAkB,CACtB,KACI,GAAIC,GAAOpE,OAAOqE,kBAAmB,WACjClzC,IAAK,WACDgzC,GAAkB,IAG1BtwD,QAAOgpC,iBAAiB,sBAAuB,KAAMunB,GACvD,MAAOjjD,IACT,MAAOgjD,MAGX8hB,SAAU,WACN,MAAO,kBAAoBpyE,YAMnCwjD","file":"framework7.min.js","sourcesContent":["/**\n * Framework7 1.5.3\n * Full featured mobile HTML framework for building iOS & Android apps\n * \n * http://framework7.io/\n * \n * Copyright 2017, Vladimir Kharlampidi\n * The iDangero.us\n * http://www.idangero.us/\n * \n * Licensed under MIT\n * \n * Released on: February 10, 2017\n */\n(function () {\n\n 'use strict';\n /*===========================\n Framework 7\n ===========================*/\n window.Framework7 = function (params) {\n // App\n var app = this;\n \n // Version\n app.version = '1.5.0';\n \n // Default Parameters\n app.params = {\n //\n root: 'body',\n //\n cache: true,\n cacheIgnore: [],\n cacheIgnoreGetParameters: false,\n cacheDuration: 1000 * 60 * 10, // Ten minutes\n preloadPreviousPage: true,\n uniqueHistory: false,\n uniqueHistoryIgnoreGetParameters: false,\n dynamicPageUrl: 'content-{{index}}',\n allowDuplicateUrls: false,\n router: true,\n routerRemoveTimeout: false,\n routerRemoveWithTimeout: false,\n // Push State\n pushState: false,\n pushStateRoot: undefined,\n pushStateNoAnimation: false,\n pushStateSeparator: '#!/',\n pushStateOnLoad: true,\n // Fast clicks\n fastClicks: true,\n fastClicksDistanceThreshold: 10,\n fastClicksDelayBetweenClicks: 50,\n fastClicksExclude: '', // CSS selector\n // Tap Hold\n tapHold: false,\n tapHoldDelay: 750,\n tapHoldPreventClicks: true,\n // Active State\n activeState: true,\n activeStateElements: 'a, button, label, span',\n // Animate Nav Back Icon\n animateNavBackIcon: false,\n // Swipe Back\n swipeBackPage: true,\n swipeBackPageThreshold: 0,\n swipeBackPageActiveArea: 30,\n swipeBackPageAnimateShadow: true,\n swipeBackPageAnimateOpacity: true,\n // Ajax\n ajaxLinks: undefined, // or CSS selector\n // External Links\n externalLinks: '.external', // CSS selector\n // Sortable\n sortable: true,\n // Scroll toolbars\n hideNavbarOnPageScroll: false,\n hideToolbarOnPageScroll: false,\n hideTabbarOnPageScroll: false,\n showBarsOnPageScrollEnd: true,\n showBarsOnPageScrollTop: true,\n // Swipeout\n swipeout: true,\n swipeoutActionsNoFold: false,\n swipeoutNoFollow: false,\n swipeoutRemoveWithTimeout: false,\n // Smart Select Back link template\n smartSelectOpenIn: 'page', // or 'popup' or 'picker'\n smartSelectBackText: 'Back',\n smartSelectPopupCloseText: 'Close',\n smartSelectPickerCloseText: 'Done',\n smartSelectSearchbar: false,\n smartSelectBackOnSelect: false,\n // Tap Navbar or Statusbar to scroll to top\n scrollTopOnNavbarClick: false,\n scrollTopOnStatusbarClick: false,\n // Panels\n swipePanel: false, // or 'left' or 'right'\n swipePanelActiveArea: 0,\n swipePanelCloseOpposite: true,\n swipePanelOnlyClose: false,\n swipePanelNoFollow: false,\n swipePanelThreshold: 0,\n panelsCloseByOutside: true,\n // Modals\n modalButtonOk: 'OK',\n modalButtonCancel: 'Cancel',\n modalUsernamePlaceholder: 'Username',\n modalPasswordPlaceholder: 'Password',\n modalTitle: 'Framework7',\n modalCloseByOutside: false,\n actionsCloseByOutside: true,\n popupCloseByOutside: true,\n modalPreloaderTitle: 'Loading... ',\n modalStack: true,\n modalsMoveToRoot: true,\n // Lazy Load\n imagesLazyLoadThreshold: 0,\n imagesLazyLoadSequential: true,\n // Name space\n viewClass: 'view',\n viewMainClass: 'view-main',\n viewsClass: 'views',\n // Notifications defaults\n notificationCloseOnClick: false,\n notificationCloseIcon: true,\n notificationCloseButtonText: 'Close',\n // Animate Pages\n animatePages: true,\n // Template7\n templates: {},\n template7Data: {},\n template7Pages: false,\n precompileTemplates: false,\n // Material\n material: false,\n materialPageLoadDelay: 0,\n materialPreloaderSvg: '',\n materialPreloaderHtml:\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '',\n materialRipple: true,\n materialRippleElements: '.ripple, a.link, a.item-link, .button, .modal-button, .tab-link, .label-radio, .label-checkbox, .actions-modal-button, a.searchbar-clear, a.floating-button, .floating-button > a, .speed-dial-buttons a',\n // Auto init\n init: true,\n };\n \n // Extend defaults with parameters\n for (var param in params) {\n app.params[param] = params[param];\n }\n \n // DOM lib\n var $ = Dom7;\n \n // Template7 lib\n var t7 = Template7;\n app._compiledTemplates = {};\n \n // App Root\n app.root = $(app.params.root);\n app.root.eq(0).addClass('framework7-root');\n \n // Touch events\n app.touchEvents = {\n start: app.support.touch ? 'touchstart' : 'mousedown',\n move: app.support.touch ? 'touchmove' : 'mousemove',\n end: app.support.touch ? 'touchend' : 'mouseup'\n };\n \n // Link to local storage\n app.ls = window.localStorage;\n \n // RTL\n app.rtl = $('body').css('direction') === 'rtl';\n if (app.rtl) $('html').attr('dir', 'rtl');\n \n // Overwrite statusbar overlay\n if (typeof app.params.statusbarOverlay !== 'undefined') {\n if (app.params.statusbarOverlay) $('html').addClass('with-statusbar-overlay');\n else $('html').removeClass('with-statusbar-overlay');\n }\n else if (app.device.ios && (window.cordova || window.phonegap)) {\n $(document).on('resume', function () {\n if (app.device.needsStatusBar()) {\n $('html').addClass('with-statusbar-overlay');\n }\n }, false);\n }\n \n\n /*======================================================\n ************ Views ************\n ======================================================*/\n app.views = [];\n var View = function (selector, params) {\n var defaults = {\n dynamicNavbar: false,\n domCache: false,\n linksView: undefined,\n reloadPages: false,\n uniqueHistory: app.params.uniqueHistory,\n uniqueHistoryIgnoreGetParameters: app.params.uniqueHistoryIgnoreGetParameters,\n allowDuplicateUrls: app.params.allowDuplicateUrls,\n swipeBackPage: app.params.swipeBackPage,\n swipeBackPageAnimateShadow: app.params.swipeBackPageAnimateShadow,\n swipeBackPageAnimateOpacity: app.params.swipeBackPageAnimateOpacity,\n swipeBackPageActiveArea: app.params.swipeBackPageActiveArea,\n swipeBackPageThreshold: app.params.swipeBackPageThreshold,\n animatePages: app.params.animatePages,\n preloadPreviousPage: app.params.preloadPreviousPage\n };\n var i;\n \n // Params\n params = params || {};\n \n // Disable dynamic navbar for material theme\n if (params.dynamicNavbar && app.params.material) params.dynamicNavbar = false;\n \n // Extend params with defaults\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n // View\n var view = this;\n view.params = params;\n \n // Selector\n view.selector = selector;\n \n // Container\n var container = $(selector);\n view.container = container[0];\n \n // Fix Selector\n \n if (typeof selector !== 'string') {\n // Supposed to be HTMLElement or Dom7\n selector = (container.attr('id') ? '#' + container.attr('id') : '') + (container.attr('class') ? '.' + container.attr('class').replace(/ /g, '.').replace('.active', '') : '');\n view.selector = selector;\n }\n \n // Is main\n view.main = container.hasClass(app.params.viewMainClass);\n \n // Content cache\n view.contentCache = {};\n \n // Context cache\n view.contextCache = {};\n \n // Pages cache\n view.pagesCache = {};\n view.pageElementsCache = {};\n \n // Store View in element for easy access\n container[0].f7View = view;\n \n // Pages\n view.pagesContainer = container.find('.pages')[0];\n view.initialPages = [];\n view.initialPagesUrl = [];\n view.initialNavbars = [];\n if (view.params.domCache) {\n var initialPages = container.find('.page');\n for (i = 0; i < initialPages.length; i++) {\n view.initialPages.push(initialPages[i]);\n view.initialPagesUrl.push('#' + initialPages.eq(i).attr('data-page'));\n }\n if (view.params.dynamicNavbar) {\n var initialNavbars = container.find('.navbar-inner');\n for (i = 0; i < initialNavbars.length; i++) {\n view.initialNavbars.push(initialNavbars[i]);\n }\n }\n \n }\n \n view.allowPageChange = true;\n \n // Location\n var docLocation = document.location.href;\n \n // History\n view.history = [];\n var viewURL = docLocation;\n var pushStateSeparator = app.params.pushStateSeparator;\n var pushStateRoot = app.params.pushStateRoot;\n if (app.params.pushState && view.main) {\n if (pushStateRoot) {\n viewURL = pushStateRoot;\n }\n else {\n if (pushStateSeparator && viewURL.indexOf(pushStateSeparator) >= 0 && viewURL.indexOf(pushStateSeparator + '#') < 0) viewURL = viewURL.split(pushStateSeparator)[0];\n }\n \n }\n \n // Active Page\n var currentPage, currentPageData;\n if (!view.activePage) {\n currentPage = $(view.pagesContainer).find('.page-on-center');\n if (currentPage.length === 0) {\n currentPage = $(view.pagesContainer).find('.page:not(.cached)');\n currentPage = currentPage.eq(currentPage.length - 1);\n }\n if (currentPage.length > 0) {\n currentPageData = currentPage[0].f7PageData;\n }\n }\n \n // View startup URL\n if (view.params.domCache && currentPage) {\n view.url = container.attr('data-url') || view.params.url || '#' + currentPage.attr('data-page'); \n view.pagesCache[view.url] = currentPage.attr('data-page');\n }\n else view.url = container.attr('data-url') || view.params.url || viewURL;\n \n // Update current page Data\n if (currentPageData) {\n currentPageData.view = view;\n currentPageData.url = view.url;\n if (view.params.domCache && view.params.dynamicNavbar && !currentPageData.navbarInnerContainer) {\n currentPageData.navbarInnerContainer = view.initialNavbars[view.initialPages.indexOf(currentPageData.container)];\n }\n view.activePage = currentPageData;\n currentPage[0].f7PageData = currentPageData;\n }\n \n // Store to history main view's url\n if (view.url) {\n view.history.push(view.url);\n }\n \n // Touch events\n var isTouched = false,\n isMoved = false,\n touchesStart = {},\n isScrolling,\n activePage = [],\n previousPage = [],\n viewContainerWidth,\n touchesDiff,\n allowViewTouchMove = true,\n touchStartTime,\n activeNavbar = [],\n previousNavbar = [],\n activeNavElements,\n previousNavElements,\n activeNavBackIcon,\n previousNavBackIcon,\n dynamicNavbar,\n pageShadow,\n el;\n \n view.handleTouchStart = function (e) {\n if (!allowViewTouchMove || !view.params.swipeBackPage || isTouched || app.swipeoutOpenedEl || !view.allowPageChange) return;\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = (new Date()).getTime();\n dynamicNavbar = view.params.dynamicNavbar && container.find('.navbar-inner').length > 1;\n };\n \n view.handleTouchMove = function (e) {\n if (!isTouched) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n if (isScrolling || e.f7PreventSwipeBack || app.preventSwipeBack) {\n isTouched = false;\n return;\n }\n if (!isMoved) {\n var cancel = false;\n // Calc values during first move fired\n viewContainerWidth = container.width();\n var target = $(e.target);\n var swipeout = target.hasClass('swipeout') ? target : target.parents('.swipeout');\n if (swipeout.length > 0) {\n if (!app.rtl && swipeout.find('.swipeout-actions-left').length > 0) cancel = true;\n if (app.rtl && swipeout.find('.swipeout-actions-right').length > 0) cancel = true;\n }\n activePage = target.is('.page') ? target : target.parents('.page');\n if (activePage.hasClass('no-swipeback')) cancel = true;\n previousPage = container.find('.page-on-left:not(.cached)');\n var notFromBorder = touchesStart.x - container.offset().left > view.params.swipeBackPageActiveArea;\n if (app.rtl) {\n notFromBorder = touchesStart.x < container.offset().left - container[0].scrollLeft + viewContainerWidth - view.params.swipeBackPageActiveArea;\n }\n else {\n notFromBorder = touchesStart.x - container.offset().left > view.params.swipeBackPageActiveArea;\n }\n if (notFromBorder) cancel = true;\n if (previousPage.length === 0 || activePage.length === 0) cancel = true;\n if (cancel) {\n isTouched = false;\n return;\n }\n \n if (view.params.swipeBackPageAnimateShadow && !app.device.android) {\n pageShadow = activePage.find('.swipeback-page-shadow');\n if (pageShadow.length === 0) {\n pageShadow = $('
');\n activePage.append(pageShadow);\n }\n }\n \n if (dynamicNavbar) {\n activeNavbar = container.find('.navbar-on-center:not(.cached)');\n previousNavbar = container.find('.navbar-on-left:not(.cached)');\n activeNavElements = activeNavbar.find('.left, .center, .right, .subnavbar, .fading');\n previousNavElements = previousNavbar.find('.left, .center, .right, .subnavbar, .fading');\n if (app.params.animateNavBackIcon) {\n activeNavBackIcon = activeNavbar.find('.left.sliding .back .icon');\n previousNavBackIcon = previousNavbar.find('.left.sliding .back .icon');\n }\n }\n \n // Close/Hide Any Picker\n if ($('.picker-modal.modal-in').length > 0) {\n app.closeModal($('.picker-modal.modal-in'));\n }\n }\n e.f7PreventPanelSwipe = true;\n isMoved = true;\n e.preventDefault();\n \n // RTL inverter\n var inverter = app.rtl ? -1 : 1;\n \n // Touches diff\n touchesDiff = (pageX - touchesStart.x - view.params.swipeBackPageThreshold) * inverter;\n if (touchesDiff < 0) touchesDiff = 0;\n var percentage = touchesDiff / viewContainerWidth;\n \n // Swipe Back Callback\n var callbackData = {\n percentage: percentage,\n activePage: activePage[0],\n previousPage: previousPage[0],\n activeNavbar: activeNavbar[0],\n previousNavbar: previousNavbar[0]\n };\n if (view.params.onSwipeBackMove) {\n view.params.onSwipeBackMove(callbackData);\n }\n container.trigger('swipeBackMove swipeback:move', callbackData);\n \n // Transform pages\n var activePageTranslate = touchesDiff * inverter;\n var previousPageTranslate = (touchesDiff / 5 - viewContainerWidth / 5) * inverter;\n if (app.device.pixelRatio === 1) {\n activePageTranslate = Math.round(activePageTranslate);\n previousPageTranslate = Math.round(previousPageTranslate);\n }\n \n activePage.transform('translate3d(' + activePageTranslate + 'px,0,0)');\n if (view.params.swipeBackPageAnimateShadow && !app.device.android) pageShadow[0].style.opacity = 1 - 1 * percentage;\n \n previousPage.transform('translate3d(' + previousPageTranslate + 'px,0,0)');\n if (view.params.swipeBackPageAnimateOpacity) previousPage[0].style.opacity = 0.9 + 0.1 * percentage;\n \n // Dynamic Navbars Animation\n if (dynamicNavbar) {\n var i;\n for (i = 0; i < activeNavElements.length; i++) {\n el = $(activeNavElements[i]);\n if (!el.is('.subnavbar.sliding')) el[0].style.opacity = (1 - percentage * 1.3);\n if (el[0].className.indexOf('sliding') >= 0) {\n var activeNavTranslate = percentage * el[0].f7NavbarRightOffset;\n if (app.device.pixelRatio === 1) activeNavTranslate = Math.round(activeNavTranslate);\n el.transform('translate3d(' + activeNavTranslate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (el[0].className.indexOf('left') >= 0 && activeNavBackIcon.length > 0) {\n activeNavBackIcon.transform('translate3d(' + -activeNavTranslate + 'px,0,0)');\n }\n }\n }\n }\n for (i = 0; i < previousNavElements.length; i++) {\n el = $(previousNavElements[i]);\n if (!el.is('.subnavbar.sliding')) el[0].style.opacity = percentage * 1.3 - 0.3;\n if (el[0].className.indexOf('sliding') >= 0) {\n var previousNavTranslate = el[0].f7NavbarLeftOffset * (1 - percentage);\n if (app.device.pixelRatio === 1) previousNavTranslate = Math.round(previousNavTranslate);\n el.transform('translate3d(' + previousNavTranslate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (el[0].className.indexOf('left') >= 0 && previousNavBackIcon.length > 0) {\n previousNavBackIcon.transform('translate3d(' + -previousNavTranslate + 'px,0,0)');\n }\n }\n }\n }\n }\n };\n \n view.handleTouchEnd = function (e) {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n isTouched = false;\n isMoved = false;\n if (touchesDiff === 0) {\n $([activePage[0], previousPage[0]]).transform('').css({opacity: '', boxShadow: ''});\n if (dynamicNavbar) {\n activeNavElements.transform('').css({opacity: ''});\n previousNavElements.transform('').css({opacity: ''});\n if (activeNavBackIcon && activeNavBackIcon.length > 0) activeNavBackIcon.transform('');\n if (previousNavBackIcon && activeNavBackIcon.length > 0) previousNavBackIcon.transform('');\n }\n return;\n }\n var timeDiff = (new Date()).getTime() - touchStartTime;\n var pageChanged = false;\n // Swipe back to previous page\n if (\n timeDiff < 300 && touchesDiff > 10 ||\n timeDiff >= 300 && touchesDiff > viewContainerWidth / 2\n ) {\n activePage.removeClass('page-on-center').addClass('page-on-right');\n previousPage.removeClass('page-on-left').addClass('page-on-center');\n if (dynamicNavbar) {\n activeNavbar.removeClass('navbar-on-center').addClass('navbar-on-right');\n previousNavbar.removeClass('navbar-on-left').addClass('navbar-on-center');\n }\n pageChanged = true;\n }\n // Reset custom styles\n // Add transitioning class for transition-duration\n $([activePage[0], previousPage[0]]).transform('').css({opacity: '', boxShadow: ''}).addClass('page-transitioning');\n if (dynamicNavbar) {\n activeNavElements.css({opacity: ''})\n .each(function () {\n var translate = pageChanged ? this.f7NavbarRightOffset : 0;\n var sliding = $(this);\n sliding.transform('translate3d(' + translate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && activeNavBackIcon.length > 0) {\n activeNavBackIcon.addClass('page-transitioning').transform('translate3d(' + -translate + 'px,0,0)');\n }\n }\n \n }).addClass('page-transitioning');\n \n previousNavElements.transform('').css({opacity: ''}).each(function () {\n var translate = pageChanged ? 0 : this.f7NavbarLeftOffset;\n var sliding = $(this);\n sliding.transform('translate3d(' + translate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && previousNavBackIcon.length > 0) {\n previousNavBackIcon.addClass('page-transitioning').transform('translate3d(' + -translate + 'px,0,0)');\n }\n }\n }).addClass('page-transitioning');\n }\n allowViewTouchMove = false;\n view.allowPageChange = false;\n // Swipe Back Callback\n var callbackData = {\n activePage: activePage[0],\n previousPage: previousPage[0],\n activeNavbar: activeNavbar[0],\n previousNavbar: previousNavbar[0]\n };\n if (pageChanged) {\n // Update View's URL\n var url = view.history[view.history.length - 2];\n view.url = url;\n \n // Page before animation callback\n app.pageBackCallback('before', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.pageAnimCallback('before', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true});\n \n if (view.params.onSwipeBackBeforeChange) {\n view.params.onSwipeBackBeforeChange(callbackData);\n }\n container.trigger('swipeBackBeforeChange swipeback:beforechange', callbackData);\n }\n else {\n if (view.params.onSwipeBackBeforeReset) {\n view.params.onSwipeBackBeforeReset(callbackData);\n }\n container.trigger('swipeBackBeforeReset swipeback:beforereset', callbackData);\n }\n \n activePage.transitionEnd(function () {\n $([activePage[0], previousPage[0]]).removeClass('page-transitioning');\n if (dynamicNavbar) {\n activeNavElements.removeClass('page-transitioning').css({opacity: ''});\n previousNavElements.removeClass('page-transitioning').css({opacity: ''});\n if (activeNavBackIcon && activeNavBackIcon.length > 0) activeNavBackIcon.removeClass('page-transitioning');\n if (previousNavBackIcon && previousNavBackIcon.length > 0) previousNavBackIcon.removeClass('page-transitioning');\n }\n allowViewTouchMove = true;\n view.allowPageChange = true;\n if (pageChanged) {\n if (app.params.pushState && view.main) history.back();\n // Page after animation callback\n app.pageBackCallback('after', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.pageAnimCallback('after', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.router.afterBack(view, activePage, previousPage);\n \n if (view.params.onSwipeBackAfterChange) {\n view.params.onSwipeBackAfterChange(callbackData);\n }\n container.trigger('swipeBackAfterChange swipeback:afterchange', callbackData);\n }\n else {\n if (view.params.onSwipeBackAfterReset) {\n view.params.onSwipeBackAfterReset(callbackData);\n }\n container.trigger('swipeBackAfterReset swipeback:afterreset', callbackData);\n }\n if (pageShadow && pageShadow.length > 0) pageShadow.remove();\n });\n };\n view.attachEvents = function (detach) {\n var action = detach ? 'off' : 'on';\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false;\n container[action](app.touchEvents.start, view.handleTouchStart, passiveListener);\n container[action](app.touchEvents.move, view.handleTouchMove);\n container[action](app.touchEvents.end, view.handleTouchEnd, passiveListener);\n };\n view.detachEvents = function () {\n view.attachEvents(true);\n };\n \n // Init\n if (view.params.swipeBackPage && !app.params.material) {\n view.attachEvents();\n }\n \n // Check view name to delete unwanted characters\n if (view.params.name) view.params.name = view.params.name.replace(/[^a-zA-Z]/g, '');\n \n // Add view to app\n app.views.push(view);\n if (view.main) {\n app.mainView = view;\n app.views.main = view;\n }\n else if(view.params.name) {\n app[view.params.name + 'View'] = view;\n app.views[view.params.name] = view;\n }\n \n // Router\n view.router = {\n load: function (options) {\n return app.router.load(view, options);\n },\n back: function (options) {\n return app.router.back(view, options);\n },\n // Shortcuts\n loadPage: function (options) {\n options = options || {};\n if (typeof options === 'string') {\n var url = options;\n options = {};\n if (url && url.indexOf('#') === 0 && view.params.domCache) {\n options.pageName = url.split('#')[1];\n }\n else options.url = url;\n }\n return app.router.load(view, options);\n },\n loadContent: function (content) {\n return app.router.load(view, {content: content});\n },\n reloadPage: function (url) {\n return app.router.load(view, {url: url, reload: true});\n },\n reloadContent: function (content) {\n return app.router.load(view, {content: content, reload: true});\n },\n reloadPreviousPage: function (url) {\n return app.router.load(view, {url: url, reloadPrevious: true, reload: true});\n },\n reloadPreviousContent: function (content) {\n return app.router.load(view, {content: content, reloadPrevious: true, reload: true});\n },\n refreshPage: function () {\n var options = {\n url: view.url,\n reload: true,\n ignoreCache: true\n };\n if (options.url && options.url.indexOf('#') === 0) {\n if (view.params.domCache && view.pagesCache[options.url]) {\n options.pageName = view.pagesCache[options.url];\n options.url = undefined;\n delete options.url;\n }\n else if (view.contentCache[options.url]) {\n options.content = view.contentCache[options.url];\n options.url = undefined;\n delete options.url;\n }\n }\n return app.router.load(view, options);\n },\n refreshPreviousPage: function () {\n var options = {\n url: view.history[view.history.length - 2],\n reload: true,\n reloadPrevious: true,\n ignoreCache: true\n };\n if (options.url && options.url.indexOf('#') === 0 && view.params.domCache && view.pagesCache[options.url]) {\n options.pageName = view.pagesCache[options.url];\n options.url = undefined;\n delete options.url;\n }\n return app.router.load(view, options);\n }\n };\n \n // Aliases for temporary backward compatibility\n view.loadPage = view.router.loadPage;\n view.loadContent = view.router.loadContent;\n view.reloadPage = view.router.reloadPage;\n view.reloadContent = view.router.reloadContent;\n view.reloadPreviousPage = view.router.reloadPreviousPage;\n view.reloadPreviousContent = view.router.reloadPreviousContent;\n view.refreshPage = view.router.refreshPage;\n view.refreshPreviousPage = view.router.refreshPreviousPage;\n view.back = view.router.back;\n \n // Bars methods\n view.hideNavbar = function (animated) {\n return app.hideNavbar(container.find('.navbar'), animated);\n };\n view.showNavbar = function (animated) {\n return app.showNavbar(container.find('.navbar'), animated);\n };\n view.hideToolbar = function (animated) {\n return app.hideToolbar(container.find('.toolbar'), animated);\n };\n view.showToolbar = function (animated) {\n return app.showToolbar(container.find('.toolbar'), animated);\n };\n \n // Push State on load\n if (app.params.pushState && app.params.pushStateOnLoad && view.main) {\n var pushStateUrl;\n var pushStateUrlSplit = docLocation.split(pushStateSeparator)[1];\n if (pushStateRoot) {\n pushStateUrl = docLocation.split(app.params.pushStateRoot + pushStateSeparator)[1];\n }\n else if (pushStateSeparator && docLocation.indexOf(pushStateSeparator) >= 0 && docLocation.indexOf(pushStateSeparator + '#') < 0) {\n pushStateUrl = pushStateUrlSplit;\n }\n var pushStateAnimatePages = app.params.pushStateNoAnimation ? false : undefined;\n var historyState = history.state;\n if (pushStateUrl) {\n if (pushStateUrl.indexOf('#') >= 0 && view.params.domCache && historyState && historyState.pageName && 'viewIndex' in historyState) {\n app.router.load(view, {pageName: historyState.pageName, url: historyState.url, animatePages: pushStateAnimatePages, pushState: false});\n }\n else if (pushStateUrl.indexOf('#') >= 0 && view.params.domCache && view.initialPagesUrl.indexOf(pushStateUrl) >= 0) {\n app.router.load(view, {pageName: pushStateUrl.replace('#',''), animatePages: pushStateAnimatePages, pushState: false});\n }\n else app.router.load(view, {url: pushStateUrl, animatePages: pushStateAnimatePages, pushState: false});\n }\n else if (view.params.domCache && docLocation.indexOf(pushStateSeparator + '#') >= 0) {\n if (historyState && historyState.pageName && 'viewIndex' in historyState) {\n app.router.load(view, {pageName: historyState.pageName, url: historyState.url, animatePages: pushStateAnimatePages, pushState: false});\n }\n else if (pushStateSeparator && pushStateUrlSplit.indexOf('#') === 0) {\n if (view.initialPagesUrl.indexOf(pushStateUrlSplit)) {\n app.router.load(view, {pageName: pushStateUrlSplit.replace('#', ''), animatePages: pushStateAnimatePages, pushState: false});\n }\n }\n }\n }\n \n // Destroy\n view.destroy = function () {\n view.detachEvents();\n if (view.main) {\n app.mainView = null;\n delete app.mainView;\n app.views.main = null;\n delete app.views.main;\n }\n else if(view.params.name) {\n app[view.params.name + 'View'] = null;\n delete app[view.params.name + 'View'];\n app.views[view.params.name] = null;\n delete app.views[view.params.name];\n }\n container.removeAttr('data-page');\n container[0].f7View = null;\n delete container[0].f7View;\n \n app.views.splice(app.views.indexOf(view), 1);\n \n // Delete props & methods\n for (var prop in view) {\n if (view.hasOwnProperty(prop)) {\n view[prop] = null;\n delete view[prop];\n }\n }\n view = null;\n };\n \n // Plugin hook\n app.pluginHook('addView', view);\n \n // Return view\n return view;\n };\n \n app.addView = function (selector, params) {\n return new View(selector, params);\n };\n \n app.getCurrentView = function (index) {\n var popoverView = $('.popover.modal-in .view');\n var popupView = $('.popup.modal-in .view');\n var panelView = $('.panel.active .view');\n var appViews = $('.views');\n // Find active view as tab\n var appView = appViews.children('.view');\n // Propably in tabs or split view\n if (appView.length > 1) {\n if (appView.hasClass('tab')) {\n // Tabs\n appView = appViews.children('.view.active');\n }\n else {\n // Split View, leave appView intact\n }\n }\n if (popoverView.length > 0 && popoverView[0].f7View) return popoverView[0].f7View;\n if (popupView.length > 0 && popupView[0].f7View) return popupView[0].f7View;\n if (panelView.length > 0 && panelView[0].f7View) return panelView[0].f7View;\n if (appView.length > 0) {\n if (appView.length === 1 && appView[0].f7View) return appView[0].f7View;\n if (appView.length > 1) {\n var currentViews = [];\n for (var i = 0; i < appView.length; i++) {\n if (appView[i].f7View) currentViews.push(appView[i].f7View);\n }\n if (currentViews.length > 0 && typeof index !== 'undefined') return currentViews[index];\n if (currentViews.length > 1) return currentViews;\n if (currentViews.length === 1) return currentViews[0];\n return undefined;\n }\n }\n return undefined;\n };\n \n\n /*======================================================\n ************ Navbars && Toolbars ************\n ======================================================*/\n // On Navbar Init Callback\n app.navbarInitCallback = function (view, pageContainer, navbarContainer, navbarInnerContainer) {\n if (!navbarContainer && navbarInnerContainer) navbarContainer = $(navbarInnerContainer).parent('.navbar')[0];\n if (!navbarInnerContainer || navbarInnerContainer.f7NavbarInitialized && view && !view.params.domCache) return;\n var navbarData = {\n container: navbarContainer,\n innerContainer: navbarInnerContainer\n };\n var pageData = pageContainer && pageContainer.f7PageData;\n \n var eventData = {\n page: pageData,\n navbar: navbarData\n };\n \n if (navbarInnerContainer.f7NavbarInitialized && ((view && view.params.domCache) || (!view && $(navbarContainer).parents('.popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal').length > 0))) {\n // Reinit Navbar\n app.reinitNavbar(navbarContainer, navbarInnerContainer);\n \n // Plugin hook\n app.pluginHook('navbarReinit', eventData);\n \n // Event\n $(navbarInnerContainer).trigger('navbarReinit navbar:reinit', eventData);\n return;\n }\n navbarInnerContainer.f7NavbarInitialized = true;\n // Before Init\n app.pluginHook('navbarBeforeInit', navbarData, pageData);\n $(navbarInnerContainer).trigger('navbarBeforeInit navbar:beforeinit', eventData);\n \n // Initialize Navbar\n app.initNavbar(navbarContainer, navbarInnerContainer);\n \n // On init\n app.pluginHook('navbarInit', navbarData, pageData);\n $(navbarInnerContainer).trigger('navbarInit navbar:init', eventData);\n };\n // Navbar Remove Callback\n app.navbarRemoveCallback = function (view, pageContainer, navbarContainer, navbarInnerContainer) {\n if (!navbarContainer && navbarInnerContainer) navbarContainer = $(navbarInnerContainer).parent('.navbar')[0];\n var navbarData = {\n container: navbarContainer,\n innerContainer: navbarInnerContainer\n };\n var pageData;\n if (pageContainer) {\n pageData = pageContainer.f7PageData;\n }\n \n var eventData = {\n page: pageData,\n navbar: navbarData\n };\n app.pluginHook('navbarBeforeRemove', navbarData, pageData);\n $(navbarInnerContainer).trigger('navbarBeforeRemove navbar:beforeremove', eventData);\n navbarData = null;\n pageData = null;\n };\n app.initNavbar = function (navbarContainer, navbarInnerContainer) {\n // Init Subnavbar Searchbar\n if (app.initSearchbar) app.initSearchbar(navbarInnerContainer);\n };\n app.reinitNavbar = function (navbarContainer, navbarInnerContainer) {\n // Re init navbar methods\n };\n app.initNavbarWithCallback = function (navbarContainer) {\n navbarContainer = $(navbarContainer);\n var viewContainer = navbarContainer.parents('.' + app.params.viewClass);\n var view;\n if (viewContainer.length === 0) return;\n if (navbarContainer.parents('.navbar-through').length === 0 && viewContainer.find('.navbar-through').length === 0) return;\n view = viewContainer[0].f7View || undefined;\n \n navbarContainer.find('.navbar-inner').each(function () {\n var navbarInnerContainer = this;\n var pageContainer;\n if ($(navbarInnerContainer).attr('data-page')) {\n // For dom cache\n pageContainer = viewContainer.find('.page[data-page=\"' + $(navbarInnerContainer).attr('data-page') + '\"]')[0];\n }\n if (!pageContainer) {\n var pages = viewContainer.find('.page');\n if (pages.length === 1) {\n pageContainer = pages[0];\n }\n else {\n viewContainer.find('.page').each(function () {\n if (this.f7PageData && this.f7PageData.navbarInnerContainer === navbarInnerContainer) {\n pageContainer = this;\n }\n });\n }\n }\n app.navbarInitCallback(view, pageContainer, navbarContainer[0], navbarInnerContainer);\n });\n };\n \n // Size Navbars\n app.sizeNavbars = function (viewContainer) {\n if (app.params.material) return;\n var navbarInner = viewContainer ? $(viewContainer).find('.navbar .navbar-inner:not(.cached)') : $('.navbar .navbar-inner:not(.cached)');\n navbarInner.each(function () {\n var n = $(this);\n if (n.hasClass('cached')) return;\n var left = app.rtl ? n.find('.right') : n.find('.left'),\n right = app.rtl ? n.find('.left') : n.find('.right'),\n center = n.find('.center'),\n subnavbar = n.find('.subnavbar'),\n noLeft = left.length === 0,\n noRight = right.length === 0,\n leftWidth = noLeft ? 0 : left.outerWidth(true),\n rightWidth = noRight ? 0 : right.outerWidth(true),\n centerWidth = center.outerWidth(true),\n navbarStyles = n.styles(),\n navbarWidth = n[0].offsetWidth - parseInt(navbarStyles.paddingLeft, 10) - parseInt(navbarStyles.paddingRight, 10),\n onLeft = n.hasClass('navbar-on-left'),\n currLeft, diff;\n \n if (noRight) {\n currLeft = navbarWidth - centerWidth;\n }\n if (noLeft) {\n currLeft = 0;\n }\n if (!noLeft && !noRight) {\n currLeft = (navbarWidth - rightWidth - centerWidth + leftWidth) / 2;\n }\n var requiredLeft = (navbarWidth - centerWidth) / 2;\n if (navbarWidth - leftWidth - rightWidth > centerWidth) {\n if (requiredLeft < leftWidth) {\n requiredLeft = leftWidth;\n }\n if (requiredLeft + centerWidth > navbarWidth - rightWidth) {\n requiredLeft = navbarWidth - rightWidth - centerWidth;\n }\n diff = requiredLeft - currLeft;\n }\n else {\n diff = 0;\n }\n // RTL inverter\n var inverter = app.rtl ? -1 : 1;\n \n if (center.hasClass('sliding')) {\n center[0].f7NavbarLeftOffset = -(currLeft + diff) * inverter;\n center[0].f7NavbarRightOffset = (navbarWidth - currLeft - diff - centerWidth) * inverter;\n if (onLeft) {\n if (app.params.animateNavBackIcon) {\n var activeNavbarBackLink = n.parent().find('.navbar-on-center').find('.left.sliding .back .icon ~ span');\n if (activeNavbarBackLink.length > 0) {\n center[0].f7NavbarLeftOffset += activeNavbarBackLink[0].offsetLeft;\n }\n }\n center.transform('translate3d(' + center[0].f7NavbarLeftOffset + 'px, 0, 0)');\n }\n }\n if (!noLeft && left.hasClass('sliding')) {\n if (app.rtl) {\n left[0].f7NavbarLeftOffset = -(navbarWidth - left[0].offsetWidth) / 2 * inverter;\n left[0].f7NavbarRightOffset = leftWidth * inverter;\n }\n else {\n left[0].f7NavbarLeftOffset = -leftWidth;\n left[0].f7NavbarRightOffset = (navbarWidth - left[0].offsetWidth) / 2;\n if (app.params.animateNavBackIcon && left.find('.back .icon').length > 0) {\n left[0].f7NavbarRightOffset -= left.find('.back .icon')[0].offsetWidth;\n }\n }\n if (onLeft) left.transform('translate3d(' + left[0].f7NavbarLeftOffset + 'px, 0, 0)');\n }\n if (!noRight && right.hasClass('sliding')) {\n if (app.rtl) {\n right[0].f7NavbarLeftOffset = -rightWidth * inverter;\n right[0].f7NavbarRightOffset = (navbarWidth - right[0].offsetWidth) / 2 * inverter;\n }\n else {\n right[0].f7NavbarLeftOffset = -(navbarWidth - right[0].offsetWidth) / 2;\n right[0].f7NavbarRightOffset = rightWidth;\n }\n if (onLeft) right.transform('translate3d(' + right[0].f7NavbarLeftOffset + 'px, 0, 0)');\n }\n if (subnavbar.length && subnavbar.hasClass('sliding')) {\n subnavbar[0].f7NavbarLeftOffset = app.rtl ? subnavbar[0].offsetWidth : -subnavbar[0].offsetWidth;\n subnavbar[0].f7NavbarRightOffset = -subnavbar[0].f7NavbarLeftOffset;\n }\n \n // Center left\n var centerLeft = diff;\n if (app.rtl && noLeft && noRight && center.length > 0) centerLeft = -centerLeft;\n center.css({left: centerLeft + 'px'});\n \n });\n };\n \n // Hide/Show Navbars/Toolbars\n app.hideNavbar = function (navbarContainer, animated) {\n if (typeof animated === 'undefined') animated = true;\n $(navbarContainer).addClass('navbar-hidden' + (!animated ? (' not-animated') : ''));\n return true;\n };\n app.showNavbar = function (navbarContainer, animated) {\n if (typeof animated === 'undefined') animated = true;\n var navbar = $(navbarContainer);\n if (animated) {\n navbar.removeClass('not-animated');\n navbar.addClass('navbar-hiding').removeClass('navbar-hidden').transitionEnd(function () {\n navbar.removeClass('navbar-hiding');\n });\n }\n else {\n navbar.removeClass('navbar-hidden navbar-hiding not-animated');\n }\n return true;\n };\n app.hideToolbar = function (toolbarContainer, animated) {\n if (typeof animated === 'undefined') animated = true;\n $(toolbarContainer).addClass('toolbar-hidden' + (!animated ? (' not-animated') : ''));\n return true;\n };\n app.showToolbar = function (toolbarContainer, animated) {\n if (typeof animated === 'undefined') animated = true;\n var toolbar = $(toolbarContainer);\n if (animated) {\n toolbar.removeClass('not-animated');\n toolbar.addClass('toolbar-hiding').removeClass('toolbar-hidden').transitionEnd(function () {\n toolbar.removeClass('toolbar-hiding' + (!animated ? (' not-animated') : ''));\n });\n }\n else {\n toolbar.removeClass('toolbar-hidden toolbar-hiding not-animated');\n }\n \n };\n \n\n /*======================================================\n ************ Searchbar ************\n ======================================================*/\n var Searchbar = function (container, params) {\n var defaults = {\n input: null,\n clearButton: null,\n cancelButton: null,\n searchList: null,\n searchIn: '.item-title',\n searchBy: '',\n found: null,\n notFound: null,\n overlay: null,\n ignore: '.searchbar-ignore',\n customSearch: false,\n removeDiacritics: false,\n hideDividers: true,\n hideGroups: true,\n /* Callbacks\n onSearch\n onEnable\n onDisable\n onClear\n */\n \n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined' || params[def] === null && defaults.hasOwnProperty(def)) {\n params[def] = defaults[def];\n }\n }\n \n // Instance\n var s = this;\n \n // Material\n s.material = app.params.material;\n \n // Params\n s.params = params;\n \n // Container\n container = $(container);\n s.container = container;\n \n // Active\n s.active = false;\n \n // Input\n s.input = s.params.input ? $(s.params.input) : s.container.find('input[type=\"search\"]');\n s.clearButton = s.params.clearButton ? $(s.params.clearButton) : s.container.find('.searchbar-clear');\n s.cancelButton = s.params.cancelButton ? $(s.params.cancelButton) : s.container.find('.searchbar-cancel');\n \n // Search List\n s.searchList = $(s.params.searchList);\n \n // Is Virtual List\n s.isVirtualList = s.searchList.hasClass('virtual-list');\n \n // Is In Page\n s.pageContainer = s.container.parents('.page').eq(0);\n \n // Overlay\n if (!s.params.overlay) {\n s.overlay = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-overlay') : $('.searchbar-overlay');\n }\n else {\n s.overlay = $(s.params.overlay);\n }\n // Found and not found\n if (!s.params.found) {\n s.found = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-found') : $('.searchbar-found');\n }\n else {\n s.found = $(s.params.found);\n }\n if (!s.params.notFound) {\n s.notFound = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-not-found') : $('.searchbar-not-found');\n }\n else {\n s.notFound = $(s.params.notFound);\n }\n \n // Set Cancel button\n var cancelMarginProp = app.rtl ? 'margin-left' : 'margin-right';\n var cancelButtonHasMargin = false;\n s.setCancelButtonMargin = function () {\n s.cancelButton.transition(0).show();\n s.cancelButton.css(cancelMarginProp, -s.cancelButton[0].offsetWidth + 'px');\n var clientLeft = s.cancelButton[0].clientLeft;\n s.cancelButton.transition('');\n cancelButtonHasMargin = true;\n };\n \n // Trigger\n s.triggerEvent = function (eventName, callbackName, eventData) {\n s.container.trigger(eventName, eventData);\n if (s.searchList.length > 0) s.searchList.trigger(eventName, eventData);\n if (callbackName && s.params[callbackName]) s.params[callbackName](s, eventData);\n };\n \n // Enable/disalbe\n s.enable = function (e) {\n function _enable() {\n if ((s.searchList.length || s.params.customSearch) && !s.container.hasClass('searchbar-active') && !s.query) s.overlay.addClass('searchbar-overlay-active');\n s.container.addClass('searchbar-active');\n if (s.cancelButton.length > 0 && !s.material) {\n if (!cancelButtonHasMargin) {\n s.setCancelButtonMargin();\n }\n s.cancelButton.css(cancelMarginProp, '0px');\n }\n s.triggerEvent('enableSearch searchbar:enable', 'onEnable');\n s.active = true;\n }\n if (app.device.ios && !app.params.material && e && e.type === 'focus') {\n setTimeout(function () {\n _enable();\n }, 400);\n }\n else {\n _enable();\n }\n };\n \n s.disable = function () {\n s.input.val('').trigger('change');\n s.container.removeClass('searchbar-active searchbar-not-empty');\n if (s.cancelButton.length > 0 && !s.material) s.cancelButton.css(cancelMarginProp, -s.cancelButton[0].offsetWidth + 'px');\n \n if (s.searchList.length || s.params.customSearch) s.overlay.removeClass('searchbar-overlay-active');\n \n s.active = false;\n function _disable() {\n s.input.blur();\n }\n if (app.device.ios) {\n setTimeout(function () {\n _disable();\n }, 400);\n }\n else {\n _disable();\n }\n s.triggerEvent('disableSearch searchbar:disable', 'onDisable');\n };\n \n // Clear\n s.clear = function (e) {\n if (!s.query && e && $(e.target).hasClass('searchbar-clear')) {\n s.disable();\n return;\n }\n var previousQuery = s.value;\n s.input.val('').trigger('change').focus();\n s.triggerEvent('clearSearch searchbar:clear', 'onClear', {previousQuery: previousQuery});\n };\n \n // Search\n s.handleInput = function () {\n setTimeout(function () {\n var value = s.input.val().trim();\n if ((s.searchList.length > 0 || s.params.customSearch) && (s.params.searchIn || s.isVirtualList)) s.search(value, true);\n }, 0);\n };\n \n var previousQuery = '';\n var virtualList;\n s.search = function (query, internal) {\n if (query.trim() === previousQuery) return;\n previousQuery = query.trim();\n \n if (!internal) {\n if (!s.active) {\n s.enable();\n }\n s.input.val(query);\n }\n s.query = s.value = query;\n // Add active/inactive classes on overlay\n if (query.length === 0) {\n s.container.removeClass('searchbar-not-empty');\n if (s.searchList.length && s.container.hasClass('searchbar-active')) s.overlay.addClass('searchbar-overlay-active');\n }\n else {\n s.container.addClass('searchbar-not-empty');\n if (s.searchList.length && s.container.hasClass('searchbar-active')) s.overlay.removeClass('searchbar-overlay-active');\n }\n \n if (s.params.customSearch) {\n s.triggerEvent('search searchbar:search', 'onSearch', {query: query});\n return;\n }\n \n var foundItems = [], _vlQuery;\n if (s.isVirtualList) {\n virtualList = s.searchList[0].f7VirtualList;\n if (query.trim() === '') {\n virtualList.resetFilter();\n s.notFound.hide();\n s.found.show();\n return;\n }\n _vlQuery = s.params.removeDiacritics ? $.removeDiacritics(query) : query;\n if (virtualList.params.searchAll) {\n foundItems = virtualList.params.searchAll(_vlQuery, virtualList.items) || [];\n }\n else if (virtualList.params.searchByItem) {\n for (var i = 0; i < virtualList.items.length; i++) {\n if(virtualList.params.searchByItem(_vlQuery, i, virtualList.params.items[i])) {\n foundItems.push(i);\n }\n }\n }\n }\n else {\n var values;\n if (s.params.removeDiacritics) values = $.removeDiacritics(query.trim().toLowerCase()).split(' ');\n else {\n values = query.trim().toLowerCase().split(' ');\n }\n s.searchList.find('li').removeClass('hidden-by-searchbar').each(function (index, el) {\n el = $(el);\n var compareWithText = [];\n el.find(s.params.searchIn).each(function () {\n var itemText = $(this).text().trim().toLowerCase();\n if (s.params.removeDiacritics) itemText = $.removeDiacritics(itemText);\n compareWithText.push(itemText);\n });\n compareWithText = compareWithText.join(' ');\n var wordsMatch = 0;\n for (var i = 0; i < values.length; i++) {\n if (compareWithText.indexOf(values[i]) >= 0) wordsMatch++;\n }\n if (wordsMatch !== values.length && !(s.params.ignore && el.is(s.params.ignore))) {\n el.addClass('hidden-by-searchbar');\n }\n else {\n foundItems.push(el[0]);\n }\n });\n \n if (s.params.hideDividers) {\n s.searchList.find('.item-divider, .list-group-title').each(function () {\n var title = $(this);\n var nextElements = title.nextAll('li');\n var hide = true;\n for (var i = 0; i < nextElements.length; i++) {\n var nextEl = $(nextElements[i]);\n if (nextEl.hasClass('list-group-title') || nextEl.hasClass('item-divider')) break;\n if (!nextEl.hasClass('hidden-by-searchbar')) {\n hide = false;\n }\n }\n var ignore = s.params.ignore && title.is(s.params.ignore);\n if (hide && !ignore) title.addClass('hidden-by-searchbar');\n else title.removeClass('hidden-by-searchbar');\n });\n }\n if (s.params.hideGroups) {\n s.searchList.find('.list-group').each(function () {\n var group = $(this);\n var ignore = s.params.ignore && group.is(s.params.ignore);\n var notHidden = group.find('li:not(.hidden-by-searchbar)');\n if (notHidden.length === 0 && !ignore) {\n group.addClass('hidden-by-searchbar');\n }\n else {\n group.removeClass('hidden-by-searchbar');\n }\n });\n }\n }\n s.triggerEvent('search searchbar:search', 'onSearch', {query: query, foundItems: foundItems});\n if (foundItems.length === 0) {\n s.notFound.show();\n s.found.hide();\n }\n else {\n s.notFound.hide();\n s.found.show();\n }\n if (s.isVirtualList) {\n virtualList.filterItems(foundItems);\n }\n };\n \n // Events\n function preventSubmit(e) {\n e.preventDefault();\n }\n \n s.attachEvents = function (destroy) {\n var method = destroy ? 'off' : 'on';\n s.container[method]('submit', preventSubmit);\n if (!s.material) s.cancelButton[method]('click', s.disable);\n s.overlay[method]('click', s.disable);\n s.input[method]('focus', s.enable);\n s.input[method]('change keydown keypress keyup', s.handleInput);\n s.clearButton[method]('click', s.clear);\n \n };\n s.detachEvents = function() {\n s.attachEvents(true);\n };\n \n // Init Destroy\n s.init = function () {\n s.attachEvents();\n };\n s.destroy = function () {\n if (!s) return;\n s.detachEvents();\n s = null;\n };\n \n // Init\n s.init();\n \n s.container[0].f7Searchbar = s;\n return s;\n \n };\n app.searchbar = function (container, params) {\n return new Searchbar(container, params);\n };\n app.initSearchbar = function (container) {\n container = $(container);\n var searchbar = container.hasClass('searchbar') ? container : container.find('.searchbar');\n if (searchbar.length === 0) return;\n if (!searchbar.hasClass('searchbar-init')) return;\n \n var sb = app.searchbar(searchbar, searchbar.dataset());\n \n function onBeforeRemove() {\n if (sb) sb.destroy();\n }\n if (container.hasClass('page')) {\n container.once('pageBeforeRemove', onBeforeRemove); \n }\n else if (container.hasClass('navbar-inner')) {\n container.once('navbarBeforeRemove', onBeforeRemove);\n }\n };\n\n /*======================================================\n ************ Messagebar ************\n ======================================================*/\n var Messagebar = function (container, params) {\n var defaults = {\n textarea: null,\n maxHeight: null,\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined' || params[def] === null) {\n params[def] = defaults[def];\n }\n }\n \n // Instance\n var m = this;\n \n // Params\n m.params = params;\n \n // Container\n m.container = $(container);\n if (m.container.length === 0) return;\n \n // Textarea\n m.textarea = m.params.textarea ? $(m.params.textarea) : m.container.find('textarea');\n \n // Is In Page\n m.pageContainer = m.container.parents('.page').eq(0);\n m.pageContent = m.pageContainer.find('.page-content');\n \n // Initial Sizes\n m.pageContentPadding = parseInt(m.pageContent.css('padding-bottom'));\n m.initialBarHeight = m.container[0].offsetHeight;\n m.initialAreaHeight = m.textarea[0].offsetHeight;\n \n \n // Resize textarea\n m.sizeTextarea = function () {\n // Reset\n m.textarea.css({'height': ''});\n \n var height = m.textarea[0].offsetHeight;\n var diff = height - m.textarea[0].clientHeight;\n var scrollHeight = m.textarea[0].scrollHeight;\n \n // Update\n if (scrollHeight + diff > height) {\n var newAreaHeight = scrollHeight + diff;\n var newBarHeight = m.initialBarHeight + (newAreaHeight - m.initialAreaHeight);\n var maxBarHeight = m.params.maxHeight || m.container.parents('.view')[0].offsetHeight - 88;\n if (newBarHeight > maxBarHeight) {\n newBarHeight = parseInt(maxBarHeight, 10);\n newAreaHeight = newBarHeight - m.initialBarHeight + m.initialAreaHeight;\n }\n m.textarea.css('height', newAreaHeight + 'px');\n m.container.css('height', newBarHeight + 'px');\n var onBottom = (m.pageContent[0].scrollTop === m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight);\n if (m.pageContent.length > 0) {\n m.pageContent.css('padding-bottom', newBarHeight + 'px');\n if (m.pageContent.find('.messages-new-first').length === 0 && onBottom) {\n m.pageContent.scrollTop(m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight);\n }\n }\n }\n else {\n if (m.pageContent.length > 0) {\n m.container.css({'height': '', 'bottom': ''});\n m.pageContent.css({'padding-bottom': ''});\n }\n }\n };\n \n // Clear\n m.clear = function () {\n m.textarea.val('').trigger('change');\n };\n m.value = function (value) {\n if (typeof value === 'undefined') return m.textarea.val();\n else m.textarea.val(value).trigger('change'); \n };\n \n // Handle textarea\n m.textareaTimeout = undefined;\n m.handleTextarea = function (e) {\n clearTimeout(m.textareaTimeout);\n m.textareaTimeout = setTimeout(function () {\n m.sizeTextarea();\n }, 0);\n };\n \n //Events\n function preventSubmit(e) {\n e.preventDefault();\n }\n \n m.attachEvents = function (destroy) {\n var method = destroy ? 'off' : 'on';\n m.container[method]('submit', preventSubmit);\n m.textarea[method]('change keydown keypress keyup paste cut', m.handleTextarea);\n };\n m.detachEvents = function () {\n m.attachEvents(true);\n };\n \n // Init Destroy\n m.init = function () {\n m.attachEvents();\n };\n m.destroy = function () {\n m.detachEvents();\n m = null;\n };\n \n // Init\n m.init();\n \n m.container[0].f7Messagebar = m;\n return m;\n };\n app.messagebar = function (container, params) {\n return new Messagebar(container, params);\n };\n app.initPageMessagebar = function (pageContainer) {\n pageContainer = $(pageContainer);\n var messagebar = pageContainer.hasClass('messagebar') ? pageContainer : pageContainer.find('.messagebar');\n if (messagebar.length === 0) return;\n if (!messagebar.hasClass('messagebar-init')) return;\n var mb = app.messagebar(messagebar, messagebar.dataset());\n \n // Destroy on page remove\n function pageBeforeRemove() {\n mb.destroy();\n pageContainer.off('page:beforeremove', pageBeforeRemove);\n }\n if (pageContainer.hasClass('page')) {\n pageContainer.on('page:beforeremove', pageBeforeRemove);\n }\n };\n\n /*======================================================\n ************ XHR ************\n ======================================================*/\n // XHR Caching\n app.cache = [];\n app.removeFromCache = function (url) {\n var index = false;\n for (var i = 0; i < app.cache.length; i++) {\n if (app.cache[i].url === url) index = i;\n }\n if (index !== false) app.cache.splice(index, 1);\n };\n \n // XHR\n app.xhr = false;\n app.get = function (url, view, ignoreCache, callback) {\n // should we ignore get params or not\n var _url = url;\n if (app.params.cacheIgnoreGetParameters && url.indexOf('?') >= 0) {\n _url = url.split('?')[0];\n }\n if (app.params.cache && !ignoreCache && url.indexOf('nocache') < 0 && app.params.cacheIgnore.indexOf(_url) < 0) {\n // Check is the url cached\n for (var i = 0; i < app.cache.length; i++) {\n if (app.cache[i].url === _url) {\n // Check expiration\n if ((new Date()).getTime() - app.cache[i].time < app.params.cacheDuration) {\n // Load from cache\n callback(app.cache[i].content);\n return false;\n }\n }\n }\n }\n \n app.xhr = $.ajax({\n url: url,\n method: 'GET',\n beforeSend: app.params.onAjaxStart,\n complete: function (xhr) {\n if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 0) {\n if (app.params.cache) {\n app.removeFromCache(_url);\n app.cache.push({\n url: _url,\n time: (new Date()).getTime(),\n content: xhr.responseText\n });\n }\n callback(xhr.responseText, false);\n }\n else {\n callback(xhr.responseText, true);\n }\n if (app.params.onAjaxComplete) app.params.onAjaxComplete(xhr);\n },\n error: function (xhr) {\n callback(xhr.responseText, true);\n if (app.params.onAjaxError) app.params.onAjaxError(xhr);\n }\n });\n if (view) view.xhr = app.xhr;\n \n return app.xhr;\n };\n \n\n /*======================================================\n ************ Pages ************\n ======================================================*/\n // Page Callbacks API\n app.pageCallbacks = {};\n \n app.onPage = function (callbackName, pageName, callback) {\n if (pageName && pageName.split(' ').length > 1) {\n var pageNames = pageName.split(' ');\n var returnCallbacks = [];\n for (var i = 0; i < pageNames.length; i++) {\n returnCallbacks.push(app.onPage(callbackName, pageNames[i], callback));\n }\n returnCallbacks.remove = function () {\n for (var i = 0; i < returnCallbacks.length; i++) {\n returnCallbacks[i].remove();\n }\n };\n returnCallbacks.trigger = function () {\n for (var i = 0; i < returnCallbacks.length; i++) {\n returnCallbacks[i].trigger();\n }\n };\n return returnCallbacks;\n }\n var callbacks = app.pageCallbacks[callbackName][pageName];\n if (!callbacks) {\n callbacks = app.pageCallbacks[callbackName][pageName] = [];\n }\n app.pageCallbacks[callbackName][pageName].push(callback);\n return {\n remove: function () {\n var removeIndex;\n for (var i = 0; i < callbacks.length; i++) {\n if (callbacks[i].toString() === callback.toString()) {\n removeIndex = i;\n }\n }\n if (typeof removeIndex !== 'undefined') callbacks.splice(removeIndex, 1);\n },\n trigger: callback\n };\n };\n \n //Create callbacks methods dynamically\n function createPageCallback(callbackName) {\n var capitalized = callbackName.replace(/^./, function (match) {\n return match.toUpperCase();\n });\n app['onPage' + capitalized] = function (pageName, callback) {\n return app.onPage(callbackName, pageName, callback);\n };\n }\n \n var pageCallbacksNames = ('beforeInit init reinit beforeAnimation afterAnimation back afterBack beforeRemove').split(' ');\n for (var i = 0; i < pageCallbacksNames.length; i++) {\n app.pageCallbacks[pageCallbacksNames[i]] = {};\n createPageCallback(pageCallbacksNames[i]);\n }\n \n app.triggerPageCallbacks = function (callbackName, pageName, pageData) {\n var allPagesCallbacks = app.pageCallbacks[callbackName]['*'];\n if (allPagesCallbacks) {\n for (var j = 0; j < allPagesCallbacks.length; j++) {\n allPagesCallbacks[j](pageData);\n }\n }\n var callbacks = app.pageCallbacks[callbackName][pageName];\n if (!callbacks || callbacks.length === 0) return;\n for (var i = 0; i < callbacks.length; i++) {\n callbacks[i](pageData);\n }\n };\n \n // On Page Init Callback\n app.pageInitCallback = function (view, params) {\n var pageContainer = params.pageContainer;\n if (!pageContainer) return;\n if (pageContainer.f7PageInitialized && view && !view.params.domCache) return;\n \n var pageQuery = params.query;\n if (!pageQuery) {\n if (params.url && params.url.indexOf('?') > 0) {\n pageQuery = $.parseUrlQuery(params.url || '');\n }\n else if (pageContainer.f7PageData && pageContainer.f7PageData.query) {\n pageQuery = pageContainer.f7PageData.query;\n }\n else {\n pageQuery = {};\n }\n }\n \n // Page Data\n var pageData = {\n container: pageContainer,\n url: params.url,\n query: pageQuery,\n name: $(pageContainer).attr('data-page'),\n view: view,\n from: params.position,\n context: params.context,\n navbarInnerContainer: params.navbarInnerContainer,\n fromPage: params.fromPage\n };\n if (params.fromPage && !params.fromPage.navbarInnerContainer && params.oldNavbarInnerContainer) {\n params.fromPage.navbarInnerContainer = params.oldNavbarInnerContainer;\n }\n \n if (pageContainer.f7PageInitialized && ((view && view.params.domCache) || (!view && $(pageContainer).parents('.popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal').length > 0))) {\n // Reinit Page\n app.reinitPage(pageContainer);\n \n // Callbacks\n app.pluginHook('pageReinit', pageData);\n if (app.params.onPageReinit) app.params.onPageReinit(app, pageData);\n app.triggerPageCallbacks('reinit', pageData.name, pageData);\n $(pageData.container).trigger('pageReinit page:reinit', {page: pageData});\n return;\n }\n pageContainer.f7PageInitialized = true;\n \n // Store pagedata in page\n pageContainer.f7PageData = pageData;\n \n // Update View's activePage\n if (view && !params.preloadOnly && !params.reloadPrevious) {\n // Add data-page on view\n $(view.container).attr('data-page', pageData.name);\n // Update View active page data\n view.activePage = pageData;\n }\n \n // Before Init Callbacks\n app.pluginHook('pageBeforeInit', pageData);\n if (app.params.onPageBeforeInit) app.params.onPageBeforeInit(app, pageData);\n app.triggerPageCallbacks('beforeInit', pageData.name, pageData);\n $(pageData.container).trigger('pageBeforeInit page:beforeinit', {page: pageData});\n \n // Init page\n app.initPage(pageContainer);\n \n // Init Callback\n app.pluginHook('pageInit', pageData);\n if (app.params.onPageInit) app.params.onPageInit(app, pageData);\n app.triggerPageCallbacks('init', pageData.name, pageData);\n $(pageData.container).trigger('pageInit page:init', {page: pageData});\n };\n app.pageRemoveCallback = function (view, pageContainer, position) {\n var pageContext;\n if (!pageContainer) return;\n if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context;\n // Page Data\n var pageData = {\n container: pageContainer,\n name: $(pageContainer).attr('data-page'),\n view: view,\n url: pageContainer.f7PageData && pageContainer.f7PageData.url,\n query: pageContainer.f7PageData && pageContainer.f7PageData.query,\n navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer,\n from: position,\n context: pageContext\n };\n // Before Init Callback\n app.pluginHook('pageBeforeRemove', pageData);\n if (app.params.onPageBeforeRemove) app.params.onPageBeforeRemove(app, pageData);\n app.triggerPageCallbacks('beforeRemove', pageData.name, pageData);\n $(pageData.container).trigger('pageBeforeRemove page:beforeremove', {page: pageData});\n pageData = null;\n };\n app.pageBackCallback = function (callback, view, params) {\n // Page Data\n var pageContainer = params.pageContainer;\n var pageContext;\n if (!pageContainer) return;\n if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context;\n \n var pageData = {\n container: pageContainer,\n name: $(pageContainer).attr('data-page'),\n url: pageContainer.f7PageData && pageContainer.f7PageData.url,\n query: pageContainer.f7PageData && pageContainer.f7PageData.query,\n view: view,\n from: params.position,\n context: pageContext,\n navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer,\n swipeBack: params.swipeBack\n };\n \n if (callback === 'after') {\n app.pluginHook('pageAfterBack', pageData);\n if (app.params.onPageAfterBack) app.params.onPageAfterBack(app, pageData);\n app.triggerPageCallbacks('afterBack', pageData.name, pageData);\n $(pageContainer).trigger('pageAfterBack page:afterback', {page: pageData});\n \n }\n if (callback === 'before') {\n app.pluginHook('pageBack', pageData);\n if (app.params.onPageBack) app.params.onPageBack(app, pageData);\n app.triggerPageCallbacks('back', pageData.name, pageData);\n $(pageData.container).trigger('pageBack page:back', {page: pageData});\n }\n };\n app.pageAnimCallback = function (callback, view, params) {\n var pageContainer = params.pageContainer;\n var pageContext;\n if (!pageContainer) return;\n if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context;\n \n var pageQuery = params.query;\n if (!pageQuery) {\n if (params.url && params.url.indexOf('?') > 0) {\n pageQuery = $.parseUrlQuery(params.url || '');\n }\n else if (pageContainer.f7PageData && pageContainer.f7PageData.query) {\n pageQuery = pageContainer.f7PageData.query;\n }\n else {\n pageQuery = {};\n }\n }\n // Page Data\n var pageData = {\n container: pageContainer,\n url: params.url,\n query: pageQuery,\n name: $(pageContainer).attr('data-page'),\n view: view,\n from: params.position,\n context: pageContext,\n swipeBack: params.swipeBack,\n navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer,\n fromPage: params.fromPage\n };\n var oldPage = params.oldPage,\n newPage = params.newPage;\n \n // Update page date\n pageContainer.f7PageData = pageData;\n \n if (callback === 'after') {\n app.pluginHook('pageAfterAnimation', pageData);\n if (app.params.onPageAfterAnimation) app.params.onPageAfterAnimation(app, pageData);\n app.triggerPageCallbacks('afterAnimation', pageData.name, pageData);\n $(pageData.container).trigger('pageAfterAnimation page:afteranimation', {page: pageData});\n \n }\n if (callback === 'before') {\n // Add data-page on view\n $(view.container).attr('data-page', pageData.name);\n \n // Update View's activePage\n if (view) view.activePage = pageData;\n \n // Hide/show navbar dynamically\n if (newPage.hasClass('no-navbar') && !oldPage.hasClass('no-navbar')) {\n view.hideNavbar();\n }\n if (!newPage.hasClass('no-navbar') && (oldPage.hasClass('no-navbar') || oldPage.hasClass('no-navbar-by-scroll'))) {\n view.showNavbar();\n }\n // Hide/show navbar toolbar\n if (newPage.hasClass('no-toolbar') && !oldPage.hasClass('no-toolbar')) {\n view.hideToolbar();\n }\n if (!newPage.hasClass('no-toolbar') && (oldPage.hasClass('no-toolbar') || oldPage.hasClass('no-toolbar-by-scroll'))) {\n view.showToolbar();\n }\n // Hide/show tabbar\n var tabBar;\n if (newPage.hasClass('no-tabbar') && !oldPage.hasClass('no-tabbar')) {\n tabBar = $(view.container).find('.tabbar');\n if (tabBar.length === 0) tabBar = $(view.container).parents('.' + app.params.viewsClass).find('.tabbar');\n app.hideToolbar(tabBar);\n }\n if (!newPage.hasClass('no-tabbar') && (oldPage.hasClass('no-tabbar') || oldPage.hasClass('no-tabbar-by-scroll'))) {\n tabBar = $(view.container).find('.tabbar');\n if (tabBar.length === 0) tabBar = $(view.container).parents('.' + app.params.viewsClass).find('.tabbar');\n app.showToolbar(tabBar);\n }\n \n oldPage.removeClass('no-navbar-by-scroll no-toolbar-by-scroll');\n // Callbacks\n app.pluginHook('pageBeforeAnimation', pageData);\n if (app.params.onPageBeforeAnimation) app.params.onPageBeforeAnimation(app, pageData);\n app.triggerPageCallbacks('beforeAnimation', pageData.name, pageData);\n $(pageData.container).trigger('pageBeforeAnimation page:beforeanimation', {page: pageData});\n }\n };\n \n // Init Page Events and Manipulations\n app.initPage = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length === 0) return;\n // Size navbars on page load\n if (app.sizeNavbars) app.sizeNavbars(pageContainer.parents('.' + app.params.viewClass)[0]);\n // Init messages\n if (app.initPageMessages) app.initPageMessages(pageContainer);\n // Init forms storage\n if (app.initFormsStorage) app.initFormsStorage(pageContainer);\n // Init smart select\n if (app.initSmartSelects) app.initSmartSelects(pageContainer);\n // Init slider\n if (app.initPageSwiper) app.initPageSwiper(pageContainer);\n // Init pull to refres\n if (app.initPullToRefresh) app.initPullToRefresh(pageContainer);\n // Init infinite scroll\n if (app.initPageInfiniteScroll) app.initPageInfiniteScroll(pageContainer);\n // Init searchbar\n if (app.initSearchbar) app.initSearchbar(pageContainer);\n // Init message bar\n if (app.initPageMessagebar) app.initPageMessagebar(pageContainer);\n // Init scroll toolbars\n if (app.initPageScrollToolbars) app.initPageScrollToolbars(pageContainer);\n // Init lazy images\n if (app.initImagesLazyLoad) app.initImagesLazyLoad(pageContainer);\n // Init progress bars\n if (app.initPageProgressbar) app.initPageProgressbar(pageContainer);\n // Init resizeable textareas\n if (app.initPageResizableTextarea) app.initPageResizableTextarea(pageContainer);\n // Init Material Preloader\n if (app.params.material && app.initPageMaterialPreloader) app.initPageMaterialPreloader(pageContainer);\n // Init Material Inputs\n if (app.params.material && app.initPageMaterialInputs) app.initPageMaterialInputs(pageContainer);\n // Init Material Tabbar\n if (app.params.material && app.initPageMaterialTabbar) app.initPageMaterialTabbar(pageContainer);\n };\n app.reinitPage = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length === 0) return;\n // Size navbars on page reinit\n if (app.sizeNavbars) app.sizeNavbars(pageContainer.parents('.' + app.params.viewClass)[0]);\n // Reinit slider\n if (app.reinitPageSwiper) app.reinitPageSwiper(pageContainer);\n // Reinit lazy load\n if (app.reinitLazyLoad) app.reinitLazyLoad(pageContainer);\n };\n app.initPageWithCallback = function (pageContainer) {\n pageContainer = $(pageContainer);\n var viewContainer = pageContainer.parents('.' + app.params.viewClass);\n if (viewContainer.length === 0) return;\n var view = viewContainer[0].f7View || undefined;\n var url = view && view.url ? view.url : undefined;\n if (viewContainer && pageContainer.attr('data-page')) {\n viewContainer.attr('data-page', pageContainer.attr('data-page'));\n }\n app.pageInitCallback(view, {pageContainer: pageContainer[0], url: url, position: 'center'});\n };\n\n /*======================================================\n ************ Navigation / Router ************\n ======================================================*/\n app.router = {\n _remove: function (el) {\n if (app.params.routerRemoveTimeout || app.params.routerRemoveWithTimeout) {\n setTimeout(function () {\n $(el).remove();\n }, 0);\n }\n else $(el).remove();\n },\n _modalsSelector: '.popup, .modal, .popover, .actions-modal, .picker-modal, .login-screen',\n // Temporary DOM Element\n temporaryDom: document.createElement('div'),\n \n // Find page or navbar in passed container which are related to View\n findElement: function (selector, container, view, notCached) {\n container = $(container);\n if (notCached) selector = selector + ':not(.cached)';\n var found = container.find(selector).filter(function (index, el) {\n return $(el).parents(app.router._modalsSelector).length === 0;\n });\n if (found.length > 1) {\n if (typeof view.selector === 'string') {\n // Search in related view\n found = container.find(view.selector + ' ' + selector);\n }\n if (found.length > 1) {\n // Search in main view\n found = container.find('.' + app.params.viewMainClass + ' ' + selector);\n }\n }\n if (found.length === 1) return found;\n else {\n // Try to find non cached\n if (!notCached) found = app.router.findElement(selector, container, view, true);\n if (found && found.length === 1) return found;\n if (found && found.length > 1) return $(found[0]);\n else return undefined;\n }\n },\n \n // Set pages classes for animationEnd\n animatePages: function (leftPage, rightPage, direction) {\n // Loading new page\n var removeClasses = 'page-on-center page-on-right page-on-left';\n if (direction === 'to-left') {\n leftPage.removeClass(removeClasses).addClass('page-from-center-to-left');\n rightPage.removeClass(removeClasses).addClass('page-from-right-to-center');\n }\n // Go back\n if (direction === 'to-right') {\n leftPage.removeClass(removeClasses).addClass('page-from-left-to-center');\n rightPage.removeClass(removeClasses).addClass('page-from-center-to-right');\n \n }\n },\n \n // Prepare navbar before animarion\n prepareNavbar: function (newNavbarInner, oldNavbarInner, newNavbarPosition) {\n $(newNavbarInner).find('.sliding').each(function () {\n var sliding = $(this);\n var slidingOffset = newNavbarPosition === 'right' ? this.f7NavbarRightOffset : this.f7NavbarLeftOffset;\n \n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(' + (-slidingOffset) + 'px,0,0)');\n }\n }\n sliding.transform('translate3d(' + slidingOffset + 'px,0,0)');\n });\n },\n \n // Set navbars classes for animation\n animateNavbars: function (leftNavbarInner, rightNavbarInner, direction) {\n // Loading new page\n var removeClasses = 'navbar-on-right navbar-on-center navbar-on-left';\n if (direction === 'to-left') {\n rightNavbarInner.removeClass(removeClasses).addClass('navbar-from-right-to-center');\n rightNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n sliding.transform('translate3d(0px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(0px,0,0)');\n }\n }\n });\n \n leftNavbarInner.removeClass(removeClasses).addClass('navbar-from-center-to-left');\n leftNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n var rightText;\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('center') && rightNavbarInner.find('.sliding.left .back .icon').length > 0) {\n rightText = rightNavbarInner.find('.sliding.left .back span');\n if (rightText.length > 0) this.f7NavbarLeftOffset += rightText[0].offsetLeft;\n }\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(' + (-this.f7NavbarLeftOffset) + 'px,0,0)');\n }\n }\n sliding.transform('translate3d(' + (this.f7NavbarLeftOffset) + 'px,0,0)');\n });\n }\n // Go back\n if (direction === 'to-right') {\n leftNavbarInner.removeClass(removeClasses).addClass('navbar-from-left-to-center');\n leftNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n sliding.transform('translate3d(0px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(0px,0,0)');\n }\n }\n });\n \n rightNavbarInner.removeClass(removeClasses).addClass('navbar-from-center-to-right');\n rightNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(' + (-this.f7NavbarRightOffset) + 'px,0,0)');\n }\n }\n sliding.transform('translate3d(' + (this.f7NavbarRightOffset) + 'px,0,0)');\n });\n }\n },\n \n preprocess: function(view, content, url, next) {\n // Plugin hook\n app.pluginHook('routerPreprocess', view, content, url, next);\n \n // Preprocess by plugin\n content = app.pluginProcess('preprocess', content);\n \n if (view && view.params && view.params.preprocess) {\n content = view.params.preprocess(content, url, next);\n if (typeof content !== 'undefined') {\n next(content);\n }\n }\n else if (app.params.preprocess) {\n content = app.params.preprocess(content, url, next);\n if (typeof content !== 'undefined') {\n next(content);\n }\n }\n else {\n next(content);\n }\n },\n preroute: function(view, options, isBack) {\n if (isBack) options.isBack = true;\n app.pluginHook('routerPreroute', view, options);\n if ((app.params.preroute && app.params.preroute(view, options) === false) || (view && view.params.preroute && view.params.preroute(view, options) === false)) {\n return true;\n }\n else {\n return false;\n }\n },\n \n template7Render: function (view, options) {\n var url = options.url,\n content = options.content, //initial content\n t7_rendered_content = options.content, // will be rendered using Template7\n context = options.context, // Context data for Template7\n contextName = options.contextName,\n template = options.template; // Template 7 compiled template\n \n var t7_ctx, t7_template;\n if (typeof content === 'string') {\n if (url) {\n if (app.template7Cache[url] && !options.ignoreCache) t7_template = t7.cache[url];\n else {\n t7_template = t7.compile(content);\n t7.cache[url] = t7_template;\n }\n }\n else t7_template = t7.compile(content);\n }\n else if (template) {\n t7_template = template;\n }\n \n if (context) {\n t7_ctx = context;\n if (context && url) {\n view.contextCache[url] = context;\n }\n }\n else {\n if (contextName) {\n if (contextName.indexOf('.') >= 0) {\n var _ctx_path = contextName.split('.');\n var _ctx = t7.data[_ctx_path[0]];\n for (var i = 1; i < _ctx_path.length; i++) {\n if (_ctx_path[i]) _ctx = _ctx[_ctx_path[i]];\n }\n t7_ctx = _ctx;\n }\n else t7_ctx = t7.data[contextName];\n }\n if (!t7_ctx && url) {\n t7_ctx = t7.data['url:' + url];\n }\n if (!t7_ctx && typeof content === 'string' && !template) {\n //try to find by page name in content\n var pageNameMatch = content.match(/(data-page=[\"'][^\"^']*[\"'])/);\n if (pageNameMatch) {\n var page = pageNameMatch[0].split('data-page=')[1].replace(/['\"]/g, '');\n if (page) t7_ctx = t7.data['page:' + page];\n }\n }\n if (!t7_ctx && template && t7.templates) {\n // Try to find matched template name in t7.templates\n for (var templateName in t7.templates) {\n if (t7.templates[templateName] === template) t7_ctx = t7.data[templateName];\n }\n }\n if (!t7_ctx && url && url in view.contextCache) {\n t7_ctx = view.contextCache[url];\n }\n if (!t7_ctx) {\n t7_ctx = {};\n }\n }\n \n if (t7_template && t7_ctx) {\n if (typeof t7_ctx === 'function') t7_ctx = t7_ctx();\n if (url) {\n // Extend data with URL query\n var query = $.parseUrlQuery(url);\n t7_ctx.url_query = {};\n for (var key in query) {\n t7_ctx.url_query[key] = query[key];\n }\n }\n try {\n t7_rendered_content = t7_template(t7_ctx);\n }\n catch (e) {\n t7_rendered_content = '';\n if (window.console && window.console.error) {\n console.error(e);\n }\n }\n }\n \n return {content: t7_rendered_content, context: t7_ctx};\n }\n };\n \n \n app.router._load = function (view, options) {\n // Plugin hook\n app.pluginHook('routerLoad', view, options);\n \n var url = options.url,\n content = options.content, //initial content\n t7_rendered = {content: options.content},\n template = options.template, // Template 7 compiled template\n pageName = options.pageName,\n viewContainer = $(view.container),\n pagesContainer = $(view.pagesContainer),\n animatePages = options.animatePages,\n newPage, oldPage, pagesInView, i, oldNavbarInner, newNavbarInner, navbar, dynamicNavbar, reloadPosition,\n isDynamicPage = typeof url === 'undefined' && content || template,\n pushState = options.pushState,\n pageElement = options.pageElement;\n \n if (typeof animatePages === 'undefined') animatePages = view.params.animatePages;\n \n // Render with Template7\n if (app.params.template7Pages && typeof content === 'string' || template) {\n t7_rendered = app.router.template7Render(view, options);\n if (t7_rendered.content && !content) {\n content = t7_rendered.content;\n }\n }\n \n app.router.temporaryDom.innerHTML = '';\n \n // Parse DOM\n if (!pageName && !pageElement) {\n if ((typeof content === 'string') || (url && (typeof content === 'string'))) {\n app.router.temporaryDom.innerHTML = t7_rendered.content;\n } else {\n if ('length' in content && content.length > 1) {\n for (var ci = 0; ci < content.length; ci++) {\n $(app.router.temporaryDom).append(content[ci]);\n }\n } else {\n $(app.router.temporaryDom).append(content);\n }\n }\n }\n \n // Reload position\n reloadPosition = options.reload && (options.reloadPrevious ? 'left' : 'center');\n \n // Find new page\n if (pageName) newPage = pagesContainer.find('.page[data-page=\"' + pageName + '\"]');\n else {\n if (pageElement) newPage = $(pageElement);\n else newPage = app.router.findElement('.page', app.router.temporaryDom, view);\n }\n // If page not found exit\n if (!newPage || newPage.length === 0 || (pageName && view.activePage && view.activePage.name === pageName)) {\n view.allowPageChange = true;\n return;\n }\n \n newPage.addClass(options.reload ? 'page-on-' + reloadPosition : 'page-on-right');\n \n // Find old page (should be the last one) and remove older pages\n pagesInView = pagesContainer.children('.page:not(.cached)');\n if (pageElement) {\n pagesInView = pagesInView.filter(function (index, page) {\n if (page !== pageElement) return page;\n });\n }\n \n if (options.reload && options.reloadPrevious && pagesInView.length === 1) {\n view.allowPageChange = true;\n return;\n }\n \n if (options.reload) {\n oldPage = pagesInView.eq(pagesInView.length - 1);\n }\n else {\n if (pagesInView.length > 1) {\n for (i = 0; i < pagesInView.length - 2; i++) {\n if (!view.params.domCache) {\n app.pageRemoveCallback(view, pagesInView[i], 'left');\n app.router._remove(pagesInView[i]);\n }\n else {\n $(pagesInView[i]).addClass('cached');\n }\n }\n if (!view.params.domCache) {\n app.pageRemoveCallback(view, pagesInView[i], 'left');\n app.router._remove(pagesInView[i]);\n }\n else {\n $(pagesInView[i]).addClass('cached');\n }\n }\n oldPage = pagesContainer.children('.page:not(.cached)');\n }\n if (pageElement && oldPage.length > 1) {\n oldPage = oldPage.filter(function (index, page) {\n if (page !== pageElement) return page;\n });\n }\n if(view.params.domCache || pageElement) newPage.removeClass('cached');\n \n // Dynamic navbar\n if (view.params.dynamicNavbar) {\n dynamicNavbar = true;\n // Find navbar\n if (pageName) {\n newNavbarInner = viewContainer.find('.navbar-inner[data-page=\"' + pageName + '\"]');\n }\n else {\n newNavbarInner = app.router.findElement('.navbar-inner', app.router.temporaryDom, view);\n }\n if (!newNavbarInner || newNavbarInner.length === 0) {\n // Look in page\n newNavbarInner = newPage.find('.navbar-inner');\n if (!newNavbarInner || newNavbarInner.length === 0) {\n // Set false\n dynamicNavbar = false;\n }\n else {\n if (newNavbarInner.parent('.navbar').length > 0) {\n newNavbarInner.prependTo(newPage);\n }\n }\n }\n if (dynamicNavbar && newPage.find('.navbar').length > 0) {\n app.router._remove(newPage.find('.navbar').filter(function(index, el){\n return $(el).parents(app.router._modalsSelector).length === 0;\n }));\n }\n navbar = viewContainer.children('.navbar');\n if (options.reload) {\n oldNavbarInner = navbar.find('.navbar-inner:not(.cached):last-child');\n }\n else {\n oldNavbarInner = navbar.find('.navbar-inner:not(.cached)');\n \n if (oldNavbarInner.length > 0) {\n for (i = 0; i < oldNavbarInner.length - 1; i++) {\n if (!view.params.domCache) {\n app.navbarRemoveCallback(view, pagesInView[i], navbar[0], oldNavbarInner[i]);\n app.router._remove(oldNavbarInner[i]);\n }\n else\n $(oldNavbarInner[i]).addClass('cached');\n }\n if (!newNavbarInner && oldNavbarInner.length === 1) {\n if (!view.params.domCache) {\n app.navbarRemoveCallback(view, pagesInView[0], navbar[0], oldNavbarInner[0]);\n app.router._remove(oldNavbarInner[0]);\n }\n else\n $(oldNavbarInner[0]).addClass('cached');\n }\n oldNavbarInner = navbar.find('.navbar-inner:not(.cached)');\n }\n }\n }\n if (dynamicNavbar) {\n newNavbarInner.addClass(options.reload ? 'navbar-on-' + reloadPosition : 'navbar-on-right');\n if(view.params.domCache || pageElement) newNavbarInner.removeClass('cached');\n newPage[0].f7RelatedNavbar = newNavbarInner[0];\n newNavbarInner[0].f7RelatedPage = newPage[0];\n }\n \n // save content areas into view's cache\n if (!url) {\n var newPageName = pageName || newPage.attr('data-page');\n if (isDynamicPage) url = '#' + app.params.dynamicPageUrl.replace(/{{name}}/g, newPageName).replace(/{{index}}/g, view.history.length - (options.reload ? 1 : 0));\n else url = '#' + newPageName;\n if (!view.params.domCache) {\n view.contentCache[url] = content;\n }\n if (view.params.domCache && pageName) {\n view.pagesCache[url] = pageName;\n }\n }\n else if (url && pageElement) {\n view.pageElementsCache[url] = {\n page: newPage,\n navbarInner: newNavbarInner\n };\n }\n \n // Push State\n if (app.params.pushState && !options.reloadPrevious && view.main) {\n if (typeof pushState === 'undefined') pushState = true;\n var pushStateRoot = app.params.pushStateRoot || '';\n var method = options.reload ? 'replaceState' : 'pushState';\n if (pushState) {\n if (!isDynamicPage && !pageName) {\n history[method]({url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url);\n }\n else if (isDynamicPage && content) {\n history[method]({content: typeof content === 'string' ? content : '', url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url);\n }\n else if (pageName) {\n history[method]({pageName: pageName, url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url);\n }\n }\n }\n \n // Update View history\n view.url = url;\n if (options.reload) {\n var lastUrl = view.history[view.history.length - (options.reloadPrevious ? 2 : 1)];\n if (lastUrl &&\n lastUrl.indexOf('#') === 0 &&\n lastUrl in view.contentCache &&\n lastUrl !== url &&\n view.history.indexOf(lastUrl) === -1) {\n view.contentCache[lastUrl] = null;\n delete view.contentCache[lastUrl];\n }\n else if (lastUrl &&\n lastUrl in view.pageElementsCache &&\n lastUrl !== url &&\n (view.history.indexOf(lastUrl) === -1 || view.history.indexOf(lastUrl) === view.history.length - 1)) {\n view.pageElementsCache[lastUrl] = null;\n delete view.pageElementsCache[lastUrl];\n }\n if (lastUrl &&\n lastUrl in view.contextCache &&\n lastUrl !== url &&\n (view.history.indexOf(lastUrl) === -1 || view.history.indexOf(lastUrl) === view.history.length - 1)) {\n view.contextCache[lastUrl] = null;\n delete view.contextCache[lastUrl];\n }\n view.history[view.history.length - (options.reloadPrevious ? 2 : 1)] = url;\n }\n else {\n view.history.push(url);\n }\n \n // Unique history\n var historyBecameUnique = false;\n if (view.params.uniqueHistory) {\n var _history = view.history;\n var _url = url;\n if (view.params.uniqueHistoryIgnoreGetParameters) {\n _history = [];\n _url = url.split('?')[0];\n for (i = 0; i < view.history.length; i++) {\n _history.push(view.history[i].split('?')[0]);\n }\n }\n \n if (_history.indexOf(_url) !== _history.lastIndexOf(_url)) {\n view.history = view.history.slice(0, _history.indexOf(_url));\n view.history.push(url);\n historyBecameUnique = true;\n }\n }\n // Dom manipulations\n if (options.reloadPrevious) {\n oldPage = oldPage.prev('.page');\n newPage.insertBefore(oldPage);\n if (dynamicNavbar) {\n oldNavbarInner = oldNavbarInner.prev('.navbar-inner');\n newNavbarInner.insertAfter(oldNavbarInner);\n }\n }\n else {\n pagesContainer.append(newPage[0]);\n if (dynamicNavbar) navbar.append(newNavbarInner[0]);\n }\n // Remove Old Page And Navbar\n if (options.reload) {\n if (view.params.domCache && view.initialPages.indexOf(oldPage[0]) >= 0) {\n oldPage.addClass('cached');\n if (dynamicNavbar) oldNavbarInner.addClass('cached');\n }\n else {\n app.pageRemoveCallback(view, oldPage[0], reloadPosition);\n if (dynamicNavbar) app.navbarRemoveCallback(view, oldPage[0], navbar[0], oldNavbarInner[0]);\n app.router._remove(oldPage);\n if (dynamicNavbar) app.router._remove(oldNavbarInner);\n }\n }\n \n // Page Init Events\n app.pageInitCallback(view, {\n pageContainer: newPage[0],\n url: url,\n position: options.reload ? reloadPosition : 'right',\n navbarInnerContainer: dynamicNavbar ? newNavbarInner && newNavbarInner[0] : undefined,\n oldNavbarInnerContainer: dynamicNavbar ? oldNavbarInner && oldNavbarInner[0] : undefined,\n context: t7_rendered.context || options.context,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData,\n reload: options.reload,\n reloadPrevious: options.reloadPrevious\n });\n \n // Navbar init event\n if (dynamicNavbar) {\n app.navbarInitCallback(view, newPage[0], navbar[0], newNavbarInner[0], url, options.reload ? reloadPosition : 'right');\n }\n \n if (options.reload) {\n view.allowPageChange = true;\n if (historyBecameUnique) view.refreshPreviousPage();\n return;\n }\n \n if (dynamicNavbar && animatePages) {\n app.router.prepareNavbar(newNavbarInner, oldNavbarInner, 'right');\n }\n // Force reLayout\n var clientLeft = newPage[0].clientLeft;\n \n // Before Anim Callback\n app.pageAnimCallback('before', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'right',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n \n function afterAnimation() {\n view.allowPageChange = true;\n newPage.removeClass('page-from-right-to-center page-on-right page-on-left').addClass('page-on-center');\n oldPage.removeClass('page-from-center-to-left page-on-center page-on-right').addClass('page-on-left');\n if (dynamicNavbar) {\n newNavbarInner.removeClass('navbar-from-right-to-center navbar-on-left navbar-on-right').addClass('navbar-on-center');\n oldNavbarInner.removeClass('navbar-from-center-to-left navbar-on-center navbar-on-right').addClass('navbar-on-left');\n }\n app.pageAnimCallback('after', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'right',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n if (app.params.pushState && view.main) app.pushStateClearQueue();\n if (!(view.params.swipeBackPage || view.params.preloadPreviousPage)) {\n if (view.params.domCache) {\n oldPage.addClass('cached');\n if (dynamicNavbar) oldNavbarInner.addClass('cached');\n }\n else {\n if (!(url.indexOf('#') === 0 && newPage.attr('data-page').indexOf('smart-select-') === 0)) {\n app.pageRemoveCallback(view, oldPage[0], 'left');\n if (dynamicNavbar) app.navbarRemoveCallback(view, oldPage[0], navbar[0], oldNavbarInner[0]);\n app.router._remove(oldPage);\n if (dynamicNavbar) app.router._remove(oldNavbarInner);\n }\n }\n }\n if (view.params.uniqueHistory && historyBecameUnique) {\n view.refreshPreviousPage();\n }\n }\n if (animatePages) {\n // Set pages before animation\n if (app.params.material && app.params.materialPageLoadDelay) {\n setTimeout(function () {\n app.router.animatePages(oldPage, newPage, 'to-left', view);\n }, app.params.materialPageLoadDelay);\n }\n else {\n app.router.animatePages(oldPage, newPage, 'to-left', view);\n }\n \n // Dynamic navbar animation\n if (dynamicNavbar) {\n setTimeout(function() {\n app.router.animateNavbars(oldNavbarInner, newNavbarInner, 'to-left', view);\n }, 0);\n }\n newPage.animationEnd(function () {\n afterAnimation();\n });\n }\n else {\n if (dynamicNavbar) newNavbarInner.find('.sliding, .sliding .back .icon').transform('');\n afterAnimation();\n }\n \n };\n \n app.router.load = function (view, options) {\n options = options || {};\n if (app.router.preroute(view, options)) {\n return false;\n }\n var url = options.url;\n var content = options.content;\n var pageName = options.pageName;\n var pageElement = options.pageElement;\n if (pageName) {\n if (pageName.indexOf('?') > 0) {\n options.query = $.parseUrlQuery(pageName);\n options.pageName = pageName = pageName.split('?')[0];\n }\n }\n var template = options.template;\n if (view.params.reloadPages === true) options.reload = true;\n \n if (!view.allowPageChange) return false;\n if (url && view.url === url && !options.reload && !view.params.allowDuplicateUrls) return false;\n view.allowPageChange = false;\n if (app.xhr && view.xhr && view.xhr === app.xhr) {\n app.xhr.abort();\n app.xhr = false;\n }\n function proceed(content) {\n app.router.preprocess(view, content, url, function (content) {\n options.content = content;\n app.router._load(view, options);\n });\n }\n if (content || pageName || pageElement) {\n proceed(content);\n return;\n }\n else if (template) {\n app.router._load(view, options);\n return;\n }\n \n if (!options.url || options.url === '#') {\n view.allowPageChange = true;\n return;\n }\n app.get(options.url, view, options.ignoreCache, function (content, error) {\n if (error) {\n view.allowPageChange = true;\n return;\n }\n proceed(content);\n });\n };\n \n app.router._back = function (view, options) {\n options = options || {};\n \n app.pluginHook('routerBack', view, options);\n \n var url = options.url,\n content = options.content,\n t7_rendered = {content: options.content}, // will be rendered using Template7\n template = options.template, // Template 7 compiled template\n animatePages = options.animatePages,\n preloadOnly = options.preloadOnly,\n pushState = options.pushState,\n ignoreCache = options.ignoreCache,\n force = options.force,\n pageName = options.pageName,\n pageElement = options.pageElement;\n \n var viewContainer = $(view.container),\n pagesContainer = $(view.pagesContainer),\n pagesInView = pagesContainer.children('.page:not(.cached)'),\n oldPage, newPage, oldNavbarInner, newNavbarInner, navbar, navbarInners, dynamicNavbar, manipulateDom = true;\n \n if (typeof animatePages === 'undefined') animatePages = view.params.animatePages;\n \n // Render with Template7\n if (app.params.template7Pages && typeof content === 'string' || template) {\n t7_rendered = app.router.template7Render(view, options);\n if (t7_rendered.content && !content) {\n content = t7_rendered.content;\n }\n }\n \n // Animation\n function afterAnimation() {\n app.pageBackCallback('after', view, {\n pageContainer: oldPage[0],\n url: url,\n position: 'center',\n oldPage: oldPage,\n newPage: newPage,\n });\n app.pageAnimCallback('after', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'left',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n app.router.afterBack(view, oldPage[0], newPage[0]);\n }\n function animateBack() {\n // Page before animation callback\n app.pageBackCallback('before', view, {\n pageContainer: oldPage[0],\n url: url,\n position: 'center',\n oldPage: oldPage,\n newPage: newPage,\n });\n app.pageAnimCallback('before', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'left',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n \n if (animatePages) {\n // Set pages before animation\n app.router.animatePages(newPage, oldPage, 'to-right', view);\n \n // Dynamic navbar animation\n if (dynamicNavbar) {\n setTimeout(function () {\n app.router.animateNavbars(newNavbarInner, oldNavbarInner, 'to-right', view);\n }, 0);\n }\n \n newPage.animationEnd(function () {\n afterAnimation();\n });\n }\n else {\n if (dynamicNavbar) newNavbarInner.find('.sliding, .sliding .back .icon').transform('');\n afterAnimation();\n }\n }\n \n function parseNewPage() {\n app.router.temporaryDom.innerHTML = '';\n // Parse DOM\n if ((typeof content === 'string') || (url && (typeof content === 'string'))) {\n app.router.temporaryDom.innerHTML = t7_rendered.content;\n } else {\n if ('length' in content && content.length > 1) {\n for (var ci = 0; ci < content.length; ci++) {\n $(app.router.temporaryDom).append(content[ci]);\n }\n } else {\n $(app.router.temporaryDom).append(content);\n }\n }\n if (pageElement) newPage = $(pageElement);\n else newPage = app.router.findElement('.page', app.router.temporaryDom, view);\n \n if (view.params.dynamicNavbar) {\n // Find navbar\n newNavbarInner = app.router.findElement('.navbar-inner', app.router.temporaryDom, view);\n }\n }\n function setPages() {\n // If pages not found or there are still more than one, exit\n if (!newPage || newPage.length === 0) {\n view.allowPageChange = true;\n return;\n }\n if (view.params.dynamicNavbar && typeof dynamicNavbar === 'undefined') {\n if (!newNavbarInner || newNavbarInner.length === 0) {\n dynamicNavbar = false;\n }\n else {\n dynamicNavbar = true;\n }\n }\n \n newPage.addClass('page-on-left').removeClass('cached');\n if (dynamicNavbar) {\n navbar = viewContainer.children('.navbar');\n navbarInners = navbar.find('.navbar-inner:not(.cached)');\n newNavbarInner.addClass('navbar-on-left').removeClass('cached');\n }\n // Remove/hide previous page in force mode\n if (force) {\n var pageToRemove, navbarToRemove;\n pageToRemove = $(pagesInView[pagesInView.length - 2]);\n \n if (dynamicNavbar) navbarToRemove = $(pageToRemove[0] && pageToRemove[0].f7RelatedNavbar || navbarInners[navbarInners.length - 2]);\n if (view.params.domCache && view.initialPages.indexOf(pageToRemove[0]) >= 0) {\n if (pageToRemove.length && pageToRemove[0] !== newPage[0]) pageToRemove.addClass('cached');\n if (dynamicNavbar && navbarToRemove.length && navbarToRemove[0] !== newNavbarInner[0]) {\n navbarToRemove.addClass('cached');\n }\n }\n else {\n var removeNavbar = dynamicNavbar && navbarToRemove.length;\n if (pageToRemove.length) {\n app.pageRemoveCallback(view, pageToRemove[0], 'right');\n if (removeNavbar) {\n app.navbarRemoveCallback(view, pageToRemove[0], navbar[0], navbarToRemove[0]);\n }\n app.router._remove(pageToRemove);\n if (removeNavbar) app.router._remove(navbarToRemove);\n }\n else if (removeNavbar) {\n app.navbarRemoveCallback(view, pageToRemove[0], navbar[0], navbarToRemove[0]);\n app.router._remove(navbarToRemove);\n }\n }\n pagesInView = pagesContainer.children('.page:not(.cached)');\n if (dynamicNavbar) {\n navbarInners = viewContainer.children('.navbar').find('.navbar-inner:not(.cached)');\n }\n if (view.history.indexOf(url) >= 0) {\n view.history = view.history.slice(0, view.history.indexOf(url) + 2);\n }\n else {\n if (view.history[[view.history.length - 2]]) {\n view.history[view.history.length - 2] = url;\n }\n else {\n view.history.unshift(url);\n }\n }\n }\n \n oldPage = $(pagesInView[pagesInView.length - 1]);\n if (view.params.domCache) {\n if (oldPage[0] === newPage[0]) {\n oldPage = pagesContainer.children('.page.page-on-center');\n if (oldPage.length === 0 && view.activePage) oldPage = $(view.activePage.container);\n }\n }\n \n if (dynamicNavbar && !oldNavbarInner) {\n oldNavbarInner = $(navbarInners[navbarInners.length - 1]);\n if (view.params.domCache) {\n if (oldNavbarInner[0] === newNavbarInner[0]) {\n oldNavbarInner = navbar.children('.navbar-inner.navbar-on-center:not(.cached)');\n }\n if (oldNavbarInner.length === 0) {\n oldNavbarInner = navbar.children('.navbar-inner[data-page=\"'+oldPage.attr('data-page')+'\"]');\n }\n }\n if (oldNavbarInner.length === 0 || newNavbarInner[0] === oldNavbarInner[0]) dynamicNavbar = false;\n }\n \n if (dynamicNavbar) {\n if (manipulateDom) newNavbarInner.insertBefore(oldNavbarInner);\n newNavbarInner[0].f7RelatedPage = newPage[0];\n newPage[0].f7RelatedNavbar = newNavbarInner[0];\n }\n if (manipulateDom) newPage.insertBefore(oldPage);\n \n // Page Init Events\n app.pageInitCallback(view, {\n pageContainer: newPage[0],\n url: url,\n position: 'left',\n navbarInnerContainer: dynamicNavbar ? newNavbarInner[0] : undefined,\n oldNavbarInnerContainer: dynamicNavbar ? oldNavbarInner && oldNavbarInner[0] : undefined,\n context: t7_rendered.context,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData,\n preloadOnly: preloadOnly\n });\n if (dynamicNavbar) {\n app.navbarInitCallback(view, newPage[0], navbar[0], newNavbarInner[0], url, 'right');\n }\n \n if (dynamicNavbar && newNavbarInner.hasClass('navbar-on-left') && animatePages) {\n app.router.prepareNavbar(newNavbarInner, oldNavbarInner, 'left');\n }\n \n if (preloadOnly) {\n view.allowPageChange = true;\n return;\n }\n \n // Update View's URL\n view.url = url;\n \n // Force reLayout\n var clientLeft = newPage[0].clientLeft;\n \n animateBack();\n \n // Push state\n if (app.params.pushState && view.main) {\n if (typeof pushState === 'undefined') pushState = true;\n if (!preloadOnly && history.state && pushState) {\n history.back();\n }\n }\n return;\n }\n \n // Simple go back when we have pages on left\n if (pagesInView.length > 1 && !force) {\n // Exit if only preloadOnly\n if (preloadOnly) {\n view.allowPageChange = true;\n return;\n }\n // Update View's URL\n view.url = view.history[view.history.length - 2];\n url = view.url;\n \n // Define old and new pages\n newPage = $(pagesInView[pagesInView.length - 2]);\n oldPage = $(pagesInView[pagesInView.length - 1]);\n \n // Dynamic navbar\n if (view.params.dynamicNavbar) {\n dynamicNavbar = true;\n // Find navbar\n navbarInners = viewContainer.children('.navbar').find('.navbar-inner:not(.cached)');\n newNavbarInner = $(navbarInners[0]);\n oldNavbarInner = $(navbarInners[1]);\n if (newNavbarInner.length === 0 || oldNavbarInner.length === 0 || oldNavbarInner[0] === newNavbarInner[0]) {\n dynamicNavbar = false;\n }\n }\n manipulateDom = false;\n setPages();\n return;\n }\n \n if (!force) {\n // Go back when there is no pages on left\n if (!preloadOnly) {\n view.url = view.history[view.history.length - 2];\n url = view.url;\n }\n \n if (content) {\n parseNewPage();\n setPages();\n return;\n }\n else if (pageName) {\n // Get dom cached pages\n newPage = $(viewContainer).find('.page[data-page=\"' + pageName + '\"]');\n if (view.params.dynamicNavbar) {\n newNavbarInner = $(viewContainer).children('.navbar').find('.navbar-inner[data-page=\"' + pageName + '\"]');\n if (newNavbarInner.length === 0 && newPage[0].f7RelatedNavbar) {\n newNavbarInner = $(newPage[0].f7RelatedNavbar);\n }\n if (newNavbarInner.length === 0 && newPage[0].f7PageData) {\n newNavbarInner = $(newPage[0].f7PageData.navbarInnerContainer);\n }\n }\n setPages();\n return;\n }\n else if (url && url in view.pageElementsCache) {\n newPage = view.pageElementsCache[url].page;\n newNavbarInner = view.pageElementsCache[url].navbarInner;\n setPages();\n return;\n }\n else {\n view.allowPageChange = true;\n return;\n }\n }\n else {\n if (url && url === view.url || pageName && view.activePage && view.activePage.name === pageName) {\n view.allowPageChange = true;\n return;\n }\n // Go back with force url\n if (content) {\n parseNewPage();\n setPages();\n return;\n }\n else if (pageName && view.params.domCache) {\n if (pageName) url = '#' + pageName;\n \n newPage = $(viewContainer).find('.page[data-page=\"' + pageName + '\"]');\n if (newPage[0].f7PageData && newPage[0].f7PageData.url) {\n url = newPage[0].f7PageData.url;\n }\n if (view.params.dynamicNavbar) {\n newNavbarInner = $(viewContainer).children('.navbar').find('.navbar-inner[data-page=\"' + pageName + '\"]');\n if (newNavbarInner.length === 0 && newPage[0].f7RelatedNavbar) {\n newNavbarInner = $(newPage[0].f7RelatedNavbar);\n }\n if (newNavbarInner.length === 0 && newPage[0].f7PageData) {\n newNavbarInner = $(newPage[0].f7PageData.navbarInnerContainer);\n }\n }\n setPages();\n return;\n }\n else if (pageElement && url) {\n newPage = $(pageElement);\n if (view.params.dynamicNavbar) {\n newNavbarInner = newPage.find('.navbar-inner').filter(function (index, el) {\n return $(el).parents(app.router._modalsSelector).length === 0;\n });\n if (newNavbarInner.length > 0) {\n newPage.prepend(newNavbarInner);\n app.router._remove(newPage.find('.navbar').filter(function (index, el) {\n return $(el).parents(app.router._modalsSelector).length === 0;\n }));\n }\n }\n setPages();\n return;\n }\n else {\n view.allowPageChange = true;\n return;\n }\n }\n \n };\n app.router.back = function (view, options) {\n options = options || {};\n if (app.router.preroute(view, options, true)) {\n return false;\n }\n var url = options.url;\n var content = options.content;\n var pageName = options.pageName;\n var pageElement = options.pageElement;\n if (pageName) {\n if (pageName.indexOf('?') > 0) {\n options.query = $.parseUrlQuery(pageName);\n options.pageName = pageName = pageName.split('?')[0];\n }\n }\n var force = options.force;\n if (!view.allowPageChange) return false;\n view.allowPageChange = false;\n if (app.xhr && view.xhr && view.xhr === app.xhr) {\n app.xhr.abort();\n app.xhr = false;\n }\n var pagesInView = $(view.pagesContainer).find('.page:not(.cached)');\n \n function proceed(content) {\n app.router.preprocess(view, content, url, function (content) {\n options.content = content;\n app.router._back(view, options);\n });\n }\n if (pagesInView.length > 1 && !force) {\n // Simple go back to previos page in view\n app.router._back(view, options);\n return;\n }\n if (!force) {\n url = view.history[view.history.length - 2] || options.url;\n if (!options.url) options.url = url;\n if (!url) {\n view.allowPageChange = true;\n return;\n }\n if (url.indexOf('#') === 0 && view.contentCache[url]) {\n proceed(view.contentCache[url]);\n return;\n }\n else if (url.indexOf('#') === 0 && view.params.domCache) {\n if (!pageName) options.pageName = url.split('#')[1];\n proceed();\n return;\n }\n else if (url && url in view.pageElementsCache) {\n proceed();\n }\n else if (url.indexOf('#') !== 0) {\n // Load ajax page\n app.get(options.url, view, options.ignoreCache, function (content, error) {\n if (error) {\n view.allowPageChange = true;\n return;\n }\n proceed(content);\n });\n return;\n }\n }\n else {\n // Go back with force url\n if (!url && content) {\n proceed(content);\n return;\n }\n else if (!url && pageName) {\n if (pageName) url = '#' + pageName;\n proceed();\n return;\n }\n else if (url && pageElement) {\n proceed();\n return;\n }\n else if (url) {\n app.get(options.url, view, options.ignoreCache, function (content, error) {\n if (error) {\n view.allowPageChange = true;\n return;\n }\n proceed(content);\n });\n return;\n }\n }\n view.allowPageChange = true;\n return;\n };\n \n app.router.afterBack = function (view, oldPage, newPage) {\n // Remove old page and set classes on new one\n oldPage = $(oldPage);\n newPage = $(newPage);\n \n if (view.params.domCache && view.initialPages.indexOf(oldPage[0]) >= 0) {\n oldPage.removeClass('page-from-center-to-right').addClass('cached');\n }\n else {\n app.pageRemoveCallback(view, oldPage[0], 'right');\n app.router._remove(oldPage);\n }\n \n newPage.removeClass('page-from-left-to-center page-on-left').addClass('page-on-center');\n view.allowPageChange = true;\n \n // Update View's History\n var previousURL = view.history.pop();\n \n var newNavbar;\n \n // Updated dynamic navbar\n if (view.params.dynamicNavbar) {\n var inners = $(view.container).children('.navbar').find('.navbar-inner:not(.cached)');\n var oldNavbar = $(oldPage[0].f7RelatedNavbar || inners[1]);\n if (view.params.domCache && view.initialNavbars.indexOf(oldNavbar[0]) >= 0) {\n oldNavbar.removeClass('navbar-from-center-to-right').addClass('cached');\n }\n else {\n app.navbarRemoveCallback(view, oldPage[0], undefined, oldNavbar[0]);\n app.router._remove(oldNavbar);\n }\n newNavbar = $(inners[0]).removeClass('navbar-on-left navbar-from-left-to-center').addClass('navbar-on-center');\n }\n \n // Remove pages in dom cache\n if (view.params.domCache) {\n $(view.container).find('.page.cached').each(function () {\n var page = $(this);\n var pageUrl = page[0].f7PageData && page[0].f7PageData.url;\n if (pageUrl && view.history.indexOf(pageUrl) < 0 && view.initialPages.indexOf(this) < 0) {\n app.pageRemoveCallback(view, page[0], 'right');\n if (page[0].f7RelatedNavbar && view.params.dynamicNavbar) app.navbarRemoveCallback(view, page[0], undefined, page[0].f7RelatedNavbar);\n app.router._remove(page);\n if (page[0].f7RelatedNavbar && view.params.dynamicNavbar) app.router._remove(page[0].f7RelatedNavbar);\n }\n });\n }\n \n // Check previous page is content based only and remove it from content cache\n if (!view.params.domCache &&\n previousURL &&\n previousURL.indexOf('#') > -1 &&\n (previousURL in view.contentCache) &&\n // If the same page is in the history multiple times, don't remove it.\n view.history.indexOf(previousURL) === -1) {\n view.contentCache[previousURL] = null;\n delete view.contentCache[previousURL];\n }\n if (previousURL &&\n (previousURL in view.pageElementsCache) &&\n // If the same page is in the history multiple times, don't remove it.\n view.history.indexOf(previousURL) === -1) {\n view.pageElementsCache[previousURL] = null;\n delete view.pageElementsCache[previousURL];\n }\n // Check for context cache\n if (previousURL &&\n (previousURL in view.contextCache) &&\n // If the same page is in the history multiple times, don't remove it.\n view.history.indexOf(previousURL) === -1) {\n view.contextCache[previousURL] = null;\n delete view.contextCache[previousURL];\n }\n \n if (app.params.pushState && view.main) app.pushStateClearQueue();\n \n // Preload previous page\n if (view.params.preloadPreviousPage) {\n if (view.params.domCache && view.history.length > 1) {\n var preloadUrl = view.history[view.history.length - 2];\n var previousPage;\n var previousNavbar;\n if (preloadUrl && view.pagesCache[preloadUrl]) {\n // Load by page name\n previousPage = $(view.container).find('.page[data-page=\"' + view.pagesCache[preloadUrl] + '\"]');\n if (previousPage.next('.page')[0] !== newPage[0]) previousPage.insertBefore(newPage);\n if (newNavbar) {\n previousNavbar = $(view.container).children('.navbar').find('.navbar-inner[data-page=\"' + view.pagesCache[preloadUrl] + '\"]');\n if(!previousNavbar || previousNavbar.length === 0) previousNavbar = newNavbar.prev('.navbar-inner.cached');\n if (previousNavbar.next('.navbar-inner')[0] !== newNavbar[0]) previousNavbar.insertBefore(newNavbar);\n }\n }\n else {\n // Just load previous page\n previousPage = newPage.prev('.page.cached');\n if (newNavbar) previousNavbar = newNavbar.prev('.navbar-inner.cached');\n }\n if (previousPage && previousPage.length > 0) previousPage.removeClass('cached page-on-right page-on-center').addClass('page-on-left');\n if (previousNavbar && previousNavbar.length > 0) previousNavbar.removeClass('cached navbar-on-right navbar-on-center').addClass('navbar-on-left');\n }\n else {\n app.router.back(view, {preloadOnly: true});\n }\n }\n };\n \n\n /*======================================================\n ************ Modals ************\n ======================================================*/\n var _modalTemplateTempDiv = document.createElement('div');\n app.modalStack = [];\n app.modalStackClearQueue = function () {\n if (app.modalStack.length) {\n (app.modalStack.shift())();\n }\n };\n app.modal = function (params) {\n params = params || {};\n var modalHTML = '';\n if (app.params.modalTemplate) {\n if (!app._compiledTemplates.modal) app._compiledTemplates.modal = t7.compile(app.params.modalTemplate);\n modalHTML = app._compiledTemplates.modal(params);\n }\n else {\n var buttonsHTML = '';\n if (params.buttons && params.buttons.length > 0) {\n for (var i = 0; i < params.buttons.length; i++) {\n buttonsHTML += '' + params.buttons[i].text + '';\n }\n }\n var titleHTML = params.title ? '
' + params.title + '
' : '';\n var textHTML = params.text ? '
' + params.text + '
' : '';\n var afterTextHTML = params.afterText ? params.afterText : '';\n var noButtons = !params.buttons || params.buttons.length === 0 ? 'modal-no-buttons' : '';\n var verticalButtons = params.verticalButtons ? 'modal-buttons-vertical': '';\n var modalButtonsHTML = params.buttons && params.buttons.length > 0 ? '
' + buttonsHTML + '
' : '';\n modalHTML = '
' + (titleHTML + textHTML + afterTextHTML) + '
' + modalButtonsHTML + '
';\n }\n \n _modalTemplateTempDiv.innerHTML = modalHTML;\n \n var modal = $(_modalTemplateTempDiv).children();\n \n app.root.append(modal[0]);\n \n // Add events on buttons\n modal.find('.modal-button').each(function (index, el) {\n $(el).on('click', function (e) {\n if (params.buttons[index].close !== false) app.closeModal(modal);\n if (params.buttons[index].onClick) params.buttons[index].onClick(modal, e);\n if (params.onClick) params.onClick(modal, index);\n });\n });\n app.openModal(modal);\n return modal[0];\n };\n app.alert = function (text, title, callbackOk) {\n if (typeof title === 'function') {\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n buttons: [ {text: app.params.modalButtonOk, bold: true, onClick: callbackOk} ]\n });\n };\n app.confirm = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n buttons: [\n {text: app.params.modalButtonCancel, onClick: callbackCancel},\n {text: app.params.modalButtonOk, bold: true, onClick: callbackOk}\n ]\n });\n };\n app.prompt = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n afterText: '
',\n buttons: [\n {\n text: app.params.modalButtonCancel\n },\n {\n text: app.params.modalButtonOk,\n bold: true\n }\n ],\n onClick: function (modal, index) {\n if (index === 0 && callbackCancel) callbackCancel($(modal).find('.modal-text-input').val());\n if (index === 1 && callbackOk) callbackOk($(modal).find('.modal-text-input').val());\n }\n });\n };\n app.modalLogin = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n afterText: '
',\n buttons: [\n {\n text: app.params.modalButtonCancel\n },\n {\n text: app.params.modalButtonOk,\n bold: true\n }\n ],\n onClick: function (modal, index) {\n var username = $(modal).find('.modal-text-input[name=\"modal-username\"]').val();\n var password = $(modal).find('.modal-text-input[name=\"modal-password\"]').val();\n if (index === 0 && callbackCancel) callbackCancel(username, password);\n if (index === 1 && callbackOk) callbackOk(username, password);\n }\n });\n };\n app.modalPassword = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n afterText: '
',\n buttons: [\n {\n text: app.params.modalButtonCancel\n },\n {\n text: app.params.modalButtonOk,\n bold: true\n }\n ],\n onClick: function (modal, index) {\n var password = $(modal).find('.modal-text-input[name=\"modal-password\"]').val();\n if (index === 0 && callbackCancel) callbackCancel(password);\n if (index === 1 && callbackOk) callbackOk(password);\n }\n });\n };\n app.showPreloader = function (title) {\n return app.modal({\n title: title || app.params.modalPreloaderTitle,\n text: '
' + (app.params.material ? app.params.materialPreloaderHtml : '') + '
',\n cssClass: 'modal-preloader'\n });\n };\n app.hidePreloader = function () {\n app.closeModal('.modal.modal-in');\n };\n app.showIndicator = function () {\n if ($('.preloader-indicator-overlay').length > 0) return;\n app.root.append('
' + (app.params.material ? app.params.materialPreloaderHtml : '') + '
');\n };\n app.hideIndicator = function () {\n $('.preloader-indicator-overlay, .preloader-indicator-modal').remove();\n };\n // Action Sheet\n app.actions = function (target, params, animated) {\n var toPopover = false, modal, groupSelector, buttonSelector;\n if (arguments.length === 1 || arguments.length === 2 && typeof arguments[1] === 'boolean') {\n // Actions\n params = arguments[0];\n animated = arguments[1];\n }\n else {\n // Popover\n if (app.device.ios) {\n if (app.device.ipad) toPopover = true;\n }\n else {\n if ($(window).width() >= 768) toPopover = true;\n }\n }\n if (typeof animated === 'undefined') animated = true;\n \n params = params || [];\n \n if (params.length > 0 && !$.isArray(params[0])) {\n params = [params];\n }\n var modalHTML;\n if (toPopover) {\n var actionsToPopoverTemplate = app.params.modalActionsToPopoverTemplate ||\n '
' +\n '
' +\n '{{#each this}}' +\n '
' +\n '
    ' +\n '{{#each this}}' +\n '{{#if label}}' +\n '
  • {{text}}
  • ' +\n '{{else}}' +\n '
  • {{text}}
  • ' +\n '{{/if}}' +\n '{{/each}}' +\n '
' +\n '
' +\n '{{/each}}' +\n '
' +\n '
';\n if (!app._compiledTemplates.actionsToPopover) {\n app._compiledTemplates.actionsToPopover = t7.compile(actionsToPopoverTemplate);\n }\n var popoverHTML = app._compiledTemplates.actionsToPopover(params);\n modal = $(app.popover(popoverHTML, target, true, animated));\n groupSelector = '.list-block ul';\n buttonSelector = '.list-button';\n }\n else {\n if (app.params.modalActionsTemplate) {\n if (!app._compiledTemplates.actions) app._compiledTemplates.actions = t7.compile(app.params.modalActionsTemplate);\n modalHTML = app._compiledTemplates.actions(params);\n }\n else {\n var buttonsHTML = '';\n for (var i = 0; i < params.length; i++) {\n for (var j = 0; j < params[i].length; j++) {\n if (j === 0) buttonsHTML += '
';\n var button = params[i][j];\n var buttonClass = button.label ? 'actions-modal-label' : 'actions-modal-button';\n if (button.bold) buttonClass += ' actions-modal-button-bold';\n if (button.color) buttonClass += ' color-' + button.color;\n if (button.bg) buttonClass += ' bg-' + button.bg;\n if (button.disabled) buttonClass += ' disabled';\n buttonsHTML += '
' + button.text + '
';\n if (j === params[i].length - 1) buttonsHTML += '
';\n }\n }\n modalHTML = '
' + buttonsHTML + '
';\n }\n _modalTemplateTempDiv.innerHTML = modalHTML;\n modal = $(_modalTemplateTempDiv).children();\n app.root.append(modal[0]);\n groupSelector = '.actions-modal-group';\n buttonSelector = '.actions-modal-button';\n }\n \n var groups = modal.find(groupSelector);\n groups.each(function (index, el) {\n var groupIndex = index;\n $(el).children().each(function (index, el) {\n var buttonIndex = index;\n var buttonParams = params[groupIndex][buttonIndex];\n var clickTarget;\n if (!toPopover && $(el).is(buttonSelector)) clickTarget = $(el);\n if (toPopover && $(el).find(buttonSelector).length > 0) clickTarget = $(el).find(buttonSelector);\n \n if (clickTarget) {\n clickTarget.on('click', function (e) {\n if (buttonParams.close !== false) app.closeModal(modal);\n if (buttonParams.onClick) buttonParams.onClick(modal, e);\n });\n }\n });\n });\n if (!toPopover) app.openModal(modal, animated);\n return modal[0];\n };\n app.popover = function (modal, target, removeOnClose, animated) {\n if (typeof removeOnClose === 'undefined') removeOnClose = true;\n if (typeof animated === 'undefined') animated = true;\n if (typeof modal === 'string' && modal.indexOf('<') >= 0) {\n var _modal = document.createElement('div');\n _modal.innerHTML = modal.trim();\n if (_modal.childNodes.length > 0) {\n modal = _modal.childNodes[0];\n if (removeOnClose) modal.classList.add('remove-on-close');\n app.root.append(modal);\n }\n else return false; //nothing found\n }\n modal = $(modal);\n target = $(target);\n if (modal.length === 0 || target.length === 0) return false;\n if (modal.parents('body').length === 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n if (modal.find('.popover-angle').length === 0 && !app.params.material) {\n modal.append('
');\n }\n modal.show();\n \n var material = app.params.material;\n \n function sizePopover() {\n modal.css({left: '', top: ''});\n var modalWidth = modal.width();\n var modalHeight = modal.height(); // 13 - height of angle\n var modalAngle, modalAngleSize = 0, modalAngleLeft, modalAngleTop;\n if (!material) {\n modalAngle = modal.find('.popover-angle');\n modalAngleSize = modalAngle.width() / 2;\n modalAngle.removeClass('on-left on-right on-top on-bottom').css({left: '', top: ''});\n }\n else {\n modal.removeClass('popover-on-left popover-on-right popover-on-top popover-on-bottom').css({left: '', top: ''});\n }\n \n var targetWidth = target.outerWidth();\n var targetHeight = target.outerHeight();\n var targetOffset = target.offset();\n var targetParentPage = target.parents('.page');\n if (targetParentPage.length > 0) {\n targetOffset.top = targetOffset.top - targetParentPage[0].scrollTop;\n }\n \n var windowHeight = $(window).height();\n var windowWidth = $(window).width();\n \n var modalTop = 0;\n var modalLeft = 0;\n var diff = 0;\n // Top Position\n var modalPosition = material ? 'bottom' : 'top';\n if (material) {\n if (modalHeight < windowHeight - targetOffset.top - targetHeight) {\n // On bottom\n modalPosition = 'bottom';\n modalTop = targetOffset.top;\n }\n else if (modalHeight < targetOffset.top) {\n // On top\n modalTop = targetOffset.top - modalHeight + targetHeight;\n modalPosition = 'top';\n }\n else {\n // On middle\n modalPosition = 'bottom';\n modalTop = targetOffset.top;\n }\n \n if (modalTop <= 0) {\n modalTop = 8;\n }\n else if (modalTop + modalHeight >= windowHeight) {\n modalTop = windowHeight - modalHeight - 8;\n }\n \n // Horizontal Position\n modalLeft = targetOffset.left;\n if (modalLeft + modalWidth >= windowWidth - 8) {\n modalLeft = targetOffset.left + targetWidth - modalWidth - 8;\n }\n if (modalLeft < 8) {\n modalLeft = 8;\n }\n if (modalPosition === 'top') {\n modal.addClass('popover-on-top');\n }\n if (modalPosition === 'bottom') {\n modal.addClass('popover-on-bottom');\n }\n if (target.hasClass('floating-button-to-popover') && !modal.hasClass('modal-in')) {\n modal.addClass('popover-floating-button');\n var diffX = (modalLeft + modalWidth / 2) - (targetOffset.left + targetWidth / 2),\n diffY = (modalTop + modalHeight / 2) - (targetOffset.top + targetHeight / 2);\n target\n .addClass('floating-button-to-popover-in')\n .transform('translate3d(' + diffX + 'px, ' + diffY + 'px,0)')\n .transitionEnd(function (e) {\n if (!target.hasClass('floating-button-to-popover-in')) return;\n target\n .addClass('floating-button-to-popover-scale')\n .transform('translate3d(' + diffX + 'px, ' + diffY + 'px,0) scale(' + (modalWidth/targetWidth) + ', ' + (modalHeight/targetHeight) + ')');\n });\n \n modal.once('popover:close', function () {\n target\n .removeClass('floating-button-to-popover-in floating-button-to-popover-scale')\n .addClass('floating-button-to-popover-out')\n .transform('')\n .transitionEnd(function (e) {\n target.removeClass('floating-button-to-popover-out');\n });\n });\n modal.once('popover:closed', function () {\n modal.removeClass('popover-floating-button');\n });\n }\n \n }\n else {\n if ((modalHeight + modalAngleSize) < targetOffset.top) {\n // On top\n modalTop = targetOffset.top - modalHeight - modalAngleSize;\n }\n else if ((modalHeight + modalAngleSize) < windowHeight - targetOffset.top - targetHeight) {\n // On bottom\n modalPosition = 'bottom';\n modalTop = targetOffset.top + targetHeight + modalAngleSize;\n }\n else {\n // On middle\n modalPosition = 'middle';\n modalTop = targetHeight / 2 + targetOffset.top - modalHeight / 2;\n diff = modalTop;\n if (modalTop <= 0) {\n modalTop = 5;\n }\n else if (modalTop + modalHeight >= windowHeight) {\n modalTop = windowHeight - modalHeight - 5;\n }\n diff = diff - modalTop;\n }\n \n // Horizontal Position\n if (modalPosition === 'top' || modalPosition === 'bottom') {\n modalLeft = targetWidth / 2 + targetOffset.left - modalWidth / 2;\n diff = modalLeft;\n if (modalLeft < 5) modalLeft = 5;\n if (modalLeft + modalWidth > windowWidth) modalLeft = windowWidth - modalWidth - 5;\n if (modalPosition === 'top') {\n modalAngle.addClass('on-bottom');\n }\n if (modalPosition === 'bottom') {\n modalAngle.addClass('on-top');\n }\n diff = diff - modalLeft;\n modalAngleLeft = (modalWidth / 2 - modalAngleSize + diff);\n modalAngleLeft = Math.max(Math.min(modalAngleLeft, modalWidth - modalAngleSize * 2 - 13), 13);\n modalAngle.css({left: modalAngleLeft + 'px'});\n \n }\n else if (modalPosition === 'middle') {\n modalLeft = targetOffset.left - modalWidth - modalAngleSize;\n modalAngle.addClass('on-right');\n if (modalLeft < 5 || (modalLeft + modalWidth > windowWidth)) {\n if (modalLeft < 5) modalLeft = targetOffset.left + targetWidth + modalAngleSize;\n if (modalLeft + modalWidth > windowWidth) modalLeft = windowWidth - modalWidth - 5;\n modalAngle.removeClass('on-right').addClass('on-left');\n }\n modalAngleTop = (modalHeight / 2 - modalAngleSize + diff);\n modalAngleTop = Math.max(Math.min(modalAngleTop, modalHeight - modalAngleSize * 2 - 13), 13);\n modalAngle.css({top: modalAngleTop + 'px'});\n }\n }\n \n \n // Apply Styles\n modal.css({top: modalTop + 'px', left: modalLeft + 'px'});\n }\n \n sizePopover();\n \n $(window).on('resize', sizePopover);\n \n modal.on('popover:close', function () {\n $(window).off('resize', sizePopover);\n });\n \n app.openModal(modal, animated);\n return modal[0];\n };\n app.popup = function (modal, removeOnClose, animated) {\n if (typeof removeOnClose === 'undefined') removeOnClose = true;\n if (typeof animated === 'undefined') animated = true;\n if (typeof modal === 'string' && modal.indexOf('<') >= 0) {\n var _modal = document.createElement('div');\n _modal.innerHTML = modal.trim();\n if (_modal.childNodes.length > 0) {\n modal = _modal.childNodes[0];\n if (removeOnClose) modal.classList.add('remove-on-close');\n app.root.append(modal);\n }\n else return false; //nothing found\n }\n modal = $(modal);\n if (modal.length === 0) return false;\n if (modal.parents('body').length === 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n modal.show();\n \n app.openModal(modal, animated);\n return modal[0];\n };\n app.pickerModal = function (modal, removeOnClose, animated) {\n if (typeof removeOnClose === 'undefined') removeOnClose = true;\n if (typeof animated === 'undefined') animated = true;\n if (typeof modal === 'string' && modal.indexOf('<') >= 0) {\n modal = $(modal);\n if (modal.length > 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n else return false; //nothing found\n }\n modal = $(modal);\n if (modal.length === 0) return false;\n if (modal.parents('body').length === 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n if ($('.picker-modal.modal-in:not(.modal-out)').length > 0 && !modal.hasClass('modal-in')) {\n app.closeModal('.picker-modal.modal-in:not(.modal-out)');\n }\n modal.show();\n app.openModal(modal, animated);\n return modal[0];\n };\n app.loginScreen = function (modal, animated) {\n if (!modal) modal = '.login-screen';\n if (typeof animated === 'undefined') animated = true;\n modal = $(modal);\n if (modal.length === 0) return false;\n if ($('.login-screen.modal-in:not(.modal-out)').length > 0 && !modal.hasClass('modal-in')) {\n app.closeModal('.login-screen.modal-in:not(.modal-out)');\n }\n modal.show();\n \n app.openModal(modal, animated);\n return modal[0];\n };\n app.openModal = function (modal, animated) {\n if (typeof animated === 'undefined') animated = true;\n modal = $(modal);\n modal[animated ? 'removeClass' : 'addClass']('not-animated');\n \n var isModal = modal.hasClass('modal');\n var isPopover = modal.hasClass('popover');\n var isPopup = modal.hasClass('popup');\n var isLoginScreen = modal.hasClass('login-screen');\n var isPickerModal = modal.hasClass('picker-modal');\n var isActions = modal.hasClass('actions-modal');\n \n // Modal Event Prefix\n var modalType = 'modal';\n if (isPopover) modalType = 'popover';\n if (isPopup) modalType = 'popup';\n if (isLoginScreen) modalType = 'loginscreen';\n if (isPickerModal) modalType = 'picker';\n if (isActions) modalType = 'actions';\n \n if ($('.modal.modal-in:not(.modal-out)').length && app.params.modalStack && isModal) {\n app.modalStack.push(function () {\n app.openModal(modal);\n });\n return;\n }\n \n // do nothing if this modal already shown\n if (true === modal.data('f7-modal-shown')) {\n return;\n }\n modal.data('f7-modal-shown', true);\n \n // Move modal\n var modalParent = modal.parent();\n if (app.params.modalsMoveToRoot && !modalParent.is(app.root)) {\n app.root.append(modal);\n modal.once(modalType + ':closed', function() {\n modalParent.append(modal);\n });\n }\n \n modal.once(modalType + ':close', function() {\n modal.removeData('f7-modal-shown');\n });\n \n if (isModal) {\n modal.show();\n modal.css({\n marginTop: - Math.round(modal.outerHeight() / 2) + 'px'\n });\n }\n \n var overlay;\n if (!isLoginScreen && !isPickerModal) {\n if ($('.modal-overlay').length === 0 && !isPopup) {\n app.root.append('
');\n }\n if ($('.popup-overlay').length === 0 && isPopup) {\n app.root.append('
');\n }\n overlay = isPopup ? $('.popup-overlay') : $('.modal-overlay');\n }\n if (app.params.material && isPickerModal) {\n if (modal.hasClass('picker-calendar')) {\n if ($('.picker-modal-overlay').length === 0 && !isPopup) {\n app.root.append('
');\n }\n overlay = $('.picker-modal-overlay');\n }\n }\n if (overlay) {\n overlay[animated ? 'removeClass' : 'addClass']('not-animated');\n }\n \n //Make sure that styles are applied, trigger relayout;\n var clientLeft = modal[0].clientLeft;\n \n // Trugger open event\n modal.trigger('open ' + modalType + ':open');\n \n // Picker modal body class\n if (isPickerModal) {\n $('body').addClass('with-picker-modal');\n }\n \n // Init Pages and Navbars in modal\n if (modal.find('.' + app.params.viewClass).length > 0) {\n modal.find('.page').each(function () {\n app.initPageWithCallback(this);\n });\n modal.find('.navbar').each(function () {\n app.initNavbarWithCallback(this);\n });\n }\n \n // Classes for transition in\n if (!isLoginScreen && !isPickerModal) overlay.addClass('modal-overlay-visible');\n if (app.params.material && isPickerModal && overlay) overlay.addClass('modal-overlay-visible');\n if (animated) {\n modal.removeClass('modal-out').addClass('modal-in').transitionEnd(function (e) {\n if (modal.hasClass('modal-out')) modal.trigger('closed ' + modalType + ':closed');\n else modal.trigger('opened ' + modalType + ':opened');\n });\n }\n else {\n modal.removeClass('modal-out').addClass('modal-in');\n modal.trigger('opened ' + modalType + ':opened');\n }\n return true;\n };\n app.closeModal = function (modal, animated) {\n if (typeof animated === 'undefined') animated = true;\n modal = $(modal || '.modal-in');\n if (typeof modal !== 'undefined' && modal.length === 0) {\n return;\n }\n modal[animated ? 'removeClass' : 'addClass']('not-animated');\n var isModal = modal.hasClass('modal');\n var isPopover = modal.hasClass('popover');\n var isPopup = modal.hasClass('popup');\n var isLoginScreen = modal.hasClass('login-screen');\n var isPickerModal = modal.hasClass('picker-modal');\n var isActions = modal.hasClass('actions-modal');\n \n // Modal Event Prefix\n var modalType = 'modal';\n if (isPopover) modalType = 'popover';\n if (isPopup) modalType = 'popup';\n if (isLoginScreen) modalType = 'loginscreen';\n if (isPickerModal) modalType = 'picker';\n if (isActions) modalType = 'actions';\n \n var removeOnClose = modal.hasClass('remove-on-close');\n \n // For Actions\n var keepOnClose = modal.hasClass('keep-on-close');\n \n var overlay;\n \n if (isPopup) overlay = $('.popup-overlay');\n else {\n if (isPickerModal && app.params.material) overlay = $('.picker-modal-overlay');\n else if (!isPickerModal) overlay = $('.modal-overlay');\n }\n \n if (isPopup){\n if (modal.length === $('.popup.modal-in').length) {\n overlay.removeClass('modal-overlay-visible');\n }\n }\n else if (overlay && overlay.length > 0) {\n overlay.removeClass('modal-overlay-visible');\n }\n if (overlay) overlay[animated ? 'removeClass' : 'addClass']('not-animated');\n \n modal.trigger('close ' + modalType + ':close');\n \n // Picker modal body class\n if (isPickerModal) {\n $('body').removeClass('with-picker-modal');\n $('body').addClass('picker-modal-closing');\n }\n \n if (!(isPopover && !app.params.material)) {\n if (animated) {\n modal.removeClass('modal-in').addClass('modal-out').transitionEnd(function (e) {\n if (modal.hasClass('modal-out')) modal.trigger('closed ' + modalType + ':closed');\n else {\n modal.trigger('opened ' + modalType + ':opened');\n if (isPopover) return;\n }\n \n if (isPickerModal) {\n $('body').removeClass('picker-modal-closing');\n }\n if (isPopup || isLoginScreen || isPickerModal || isPopover) {\n modal.removeClass('modal-out').hide();\n if (removeOnClose && modal.length > 0) {\n modal.remove();\n }\n }\n else if (!keepOnClose) {\n modal.remove();\n }\n });\n }\n else {\n modal.trigger('closed ' + modalType + ':closed');\n modal.removeClass('modal-in modal-out');\n if (isPickerModal) {\n $('body').removeClass('picker-modal-closing');\n }\n if (isPopup || isLoginScreen || isPickerModal || isPopover) {\n modal.hide();\n if (removeOnClose && modal.length > 0) {\n modal.remove();\n }\n }\n else if (!keepOnClose) {\n modal.remove();\n }\n }\n if (isModal && app.params.modalStack) {\n app.modalStackClearQueue();\n }\n }\n else {\n modal.removeClass('modal-in modal-out not-animated').trigger('closed ' + modalType + ':closed').hide();\n if (removeOnClose) {\n modal.remove();\n }\n }\n return true;\n };\n \n\n /*===============================================================================\n ************ Progress Bar ************\n ===============================================================================*/\n app.setProgressbar = function (container, progress, speed) {\n container = $(container || app.root);\n if (container.length === 0) return;\n if (progress) progress = Math.min(Math.max(progress, 0), 100);\n var progressbar;\n if (container.hasClass('progressbar')) progressbar = container;\n else {\n progressbar = container.children('.progressbar');\n }\n if (progressbar.length === 0 || progressbar.hasClass('progressbar-infinite')) return;\n var clientLeft = progressbar[0].clientLeft;\n progressbar.children('span').transform('translate3d(' + (-100 + progress) + '%,0,0)');\n if (typeof speed !== 'undefined') {\n progressbar.children('span').transition(speed);\n }\n else {\n progressbar.children('span').transition('');\n }\n return progressbar[0];\n };\n app.showProgressbar = function (container, progress, color) {\n if (typeof container === 'number') {\n container = app.root;\n progress = arguments[0];\n color = arguments[1];\n }\n if (progress && typeof progress === 'string' && parseFloat(progress) !== progress * 1) {\n color = progress;\n progress = undefined;\n }\n container = $(container || app.root);\n if (container.length === 0) return;\n var progressbar;\n if (container.hasClass('progressbar')) progressbar = container;\n else {\n progressbar = container.children('.progressbar:not(.progressbar-out), .progressbar-infinite:not(.progressbar-out)');\n if (progressbar.length === 0) {\n // Create one\n if (typeof progress !== 'undefined') {\n // Determined\n progressbar = $('');\n }\n else {\n // Infinite\n progressbar = $('');\n }\n container.append(progressbar);\n }\n }\n if (progress) app.setProgressbar(container, progress);\n return progressbar[0];\n };\n app.hideProgressbar = function (container) {\n container = $(container || app.root);\n if (container.length === 0) return;\n var progressbar;\n if (container.hasClass('progressbar')) progressbar = container;\n else {\n progressbar = container.children('.progressbar, .progressbar-infinite');\n }\n if (progressbar.length === 0 || !progressbar.hasClass('progressbar-in') || progressbar.hasClass('progressbar-out')) return;\n progressbar.removeClass('progressbar-in').addClass('progressbar-out').animationEnd(function () {\n progressbar.remove();\n progressbar = null;\n });\n return;\n };\n app.initPageProgressbar = function (pageContainer) {\n pageContainer = $(pageContainer);\n pageContainer.find('.progressbar').each(function () {\n var p = $(this);\n if (p.children('span').length === 0) p.append('');\n if (p.attr('data-progress')) app.setProgressbar(p, p.attr('data-progress'));\n });\n };\n\n /*======================================================\n ************ Panels ************\n ======================================================*/\n app.allowPanelOpen = true;\n app.openPanel = function (panelPosition, animated) {\n if (typeof animated === 'undefined') animated = true;\n if (!app.allowPanelOpen) return false;\n var panel = $('.panel-' + panelPosition);\n if (panel.length === 0 || panel.hasClass('active')) return false;\n app.closePanel(); // Close if some panel is opened\n app.allowPanelOpen = false;\n var effect = panel.hasClass('panel-reveal') ? 'reveal' : 'cover';\n panel[animated ? 'removeClass' : 'addClass']('not-animated');\n panel.css({display: 'block'}).addClass('active');\n panel.trigger('open panel:open');\n if (app.params.material) {\n $('.panel-overlay')[animated ? 'removeClass' : 'addClass']('not-animated');\n $('.panel-overlay').show();\n }\n if (panel.find('.' + app.params.viewClass).length > 0) {\n if (app.sizeNavbars) app.sizeNavbars(panel.find('.' + app.params.viewClass)[0]);\n }\n \n // Trigger reLayout\n var clientLeft = panel[0].clientLeft;\n \n // Transition End;\n var transitionEndTarget = effect === 'reveal' ? $('.' + app.params.viewsClass) : panel;\n \n function panelTransitionEnd() {\n transitionEndTarget.transitionEnd(function (e) {\n if ($(e.target).is(transitionEndTarget)) {\n if (panel.hasClass('active')) {\n panel.trigger('opened panel:opened');\n }\n else {\n panel.trigger('closed panel:closed');\n }\n if (app.params.material) $('.panel-overlay').css({display: ''});\n app.allowPanelOpen = true;\n }\n else panelTransitionEnd();\n });\n }\n if (animated) {\n panelTransitionEnd(); \n }\n else {\n panel.trigger('opened panel:opened');\n if (app.params.material) $('.panel-overlay').css({display: ''});\n app.allowPanelOpen = true;\n }\n \n $('body').addClass('with-panel-' + panelPosition + '-' + effect);\n return true;\n };\n app.closePanel = function (animated) {\n if (typeof animated === 'undefined') animated = true;\n var activePanel = $('.panel.active');\n if (activePanel.length === 0) return false;\n var effect = activePanel.hasClass('panel-reveal') ? 'reveal' : 'cover';\n var panelPosition = activePanel.hasClass('panel-left') ? 'left' : 'right';\n activePanel[animated ? 'removeClass' : 'addClass']('not-animated');\n activePanel.removeClass('active');\n if (app.params.material) {\n $('.panel-overlay').removeClass('not-animated');\n }\n var transitionEndTarget = effect === 'reveal' ? $('.' + app.params.viewsClass) : activePanel;\n activePanel.trigger('close panel:close');\n app.allowPanelOpen = false;\n if (animated) {\n transitionEndTarget.transitionEnd(function () {\n if (activePanel.hasClass('active')) return;\n activePanel.css({display: ''});\n activePanel.trigger('closed panel:closed');\n $('body').removeClass('panel-closing');\n app.allowPanelOpen = true;\n });\n $('body').addClass('panel-closing').removeClass('with-panel-' + panelPosition + '-' + effect);\n }\n else {\n activePanel.css({display: ''});\n activePanel.trigger('closed panel:closed');\n activePanel.removeClass('not-animated');\n $('body').removeClass('with-panel-' + panelPosition + '-' + effect);\n app.allowPanelOpen = true;\n }\n };\n /*======================================================\n ************ Swipe panels ************\n ======================================================*/\n app.initSwipePanels = function () {\n var panel, side;\n if (app.params.swipePanel) {\n panel = $('.panel.panel-' + app.params.swipePanel);\n side = app.params.swipePanel;\n if (panel.length === 0 && side !== 'both') return;\n }\n else {\n if (app.params.swipePanelOnlyClose) {\n if ($('.panel').length === 0) return;\n }\n else return;\n }\n \n var panelOverlay = $('.panel-overlay');\n var isTouched, isMoved, isScrolling, touchesStart = {}, touchStartTime, touchesDiff, translate, overlayOpacity, opened, panelWidth, effect, direction;\n var views = $('.' + app.params.viewsClass);\n \n function handleTouchStart(e) {\n if (!app.allowPanelOpen || (!app.params.swipePanel && !app.params.swipePanelOnlyClose) || isTouched) return;\n if ($('.modal-in, .photo-browser-in').length > 0) return;\n if (!(app.params.swipePanelCloseOpposite || app.params.swipePanelOnlyClose)) {\n if ($('.panel.active').length > 0 && !panel.hasClass('active')) return;\n }\n if (e.target && e.target.nodeName.toLowerCase() === 'input' && e.target.type === 'range') return;\n if ($(e.target).closest('.tabs-swipeable-wrap').length > 0) return;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n if (app.params.swipePanelCloseOpposite || app.params.swipePanelOnlyClose) {\n if ($('.panel.active').length > 0) {\n side = $('.panel.active').hasClass('panel-left') ? 'left' : 'right';\n }\n else {\n if (app.params.swipePanelOnlyClose) return;\n side = app.params.swipePanel;\n }\n if (!side) return;\n }\n panel = $('.panel.panel-' + side);\n opened = panel.hasClass('active');\n if (app.params.swipePanelActiveArea && !opened) {\n if (side === 'left') {\n if (touchesStart.x > app.params.swipePanelActiveArea) return;\n }\n if (side === 'right') {\n if (touchesStart.x < window.innerWidth - app.params.swipePanelActiveArea) return;\n }\n }\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n \n touchStartTime = (new Date()).getTime();\n direction = undefined;\n }\n function handleTouchMove(e) {\n if (!isTouched) return;\n if (e.f7PreventPanelSwipe) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n if (isScrolling) {\n isTouched = false;\n return;\n }\n if (!direction) {\n if (pageX > touchesStart.x) {\n direction = 'to-right';\n }\n else {\n direction = 'to-left';\n }\n \n if(side === 'both'){\n if ($('.panel.active').length > 0) {\n side = $('.panel.active').hasClass('panel-left') ? 'left' : 'right';\n }\n else {\n side = direction === 'to-right' ? 'left' : 'right';\n }\n if (app.params.swipePanelActiveArea > 0) {\n if (side === 'left' && touchesStart.x > app.params.swipePanelActiveArea) {\n isTouched = false;\n return;\n }\n if (side === 'right' && touchesStart.x < window.innerWidth - app.params.swipePanelActiveArea) {\n isTouched = false;\n return;\n }\n }\n panel = $('.panel.panel-' + side);\n }\n \n if (\n side === 'left' &&\n (\n direction === 'to-left' && !panel.hasClass('active')\n ) ||\n side === 'right' &&\n (\n direction === 'to-right' && !panel.hasClass('active')\n )\n )\n {\n isTouched = false;\n return;\n }\n }\n \n if (app.params.swipePanelNoFollow) {\n var timeDiff = (new Date()).getTime() - touchStartTime;\n if (timeDiff < 300) {\n if (direction === 'to-left') {\n if (side === 'right') app.openPanel(side);\n if (side === 'left' && panel.hasClass('active')) app.closePanel();\n }\n if (direction === 'to-right') {\n if (side === 'left') app.openPanel(side);\n if (side === 'right' && panel.hasClass('active')) app.closePanel();\n }\n }\n isTouched = false;\n isMoved = false;\n return;\n }\n \n if (!isMoved) {\n effect = panel.hasClass('panel-cover') ? 'cover' : 'reveal';\n if (!opened) {\n panel.show();\n panelOverlay.show();\n }\n panelWidth = panel[0].offsetWidth;\n panel.transition(0);\n if (panel.find('.' + app.params.viewClass).length > 0) {\n if (app.sizeNavbars) app.sizeNavbars(panel.find('.' + app.params.viewClass)[0]);\n }\n }\n \n isMoved = true;\n \n e.preventDefault();\n var threshold = opened ? 0 : -app.params.swipePanelThreshold;\n if (side === 'right') threshold = -threshold;\n \n touchesDiff = pageX - touchesStart.x + threshold;\n \n if (side === 'right') {\n translate = touchesDiff - (opened ? panelWidth : 0);\n if (translate > 0) translate = 0;\n if (translate < -panelWidth) {\n translate = -panelWidth;\n }\n }\n else {\n translate = touchesDiff + (opened ? panelWidth : 0);\n if (translate < 0) translate = 0;\n if (translate > panelWidth) {\n translate = panelWidth;\n }\n }\n if (effect === 'reveal') {\n views.transform('translate3d(' + translate + 'px,0,0)').transition(0);\n panelOverlay.transform('translate3d(' + translate + 'px,0,0)').transition(0);\n \n panel.trigger('panel:swipe', {progress: Math.abs(translate / panelWidth)});\n app.pluginHook('swipePanelSetTransform', views[0], panel[0], Math.abs(translate / panelWidth));\n }\n else {\n panel.transform('translate3d(' + translate + 'px,0,0)').transition(0);\n if (app.params.material) {\n panelOverlay.transition(0);\n overlayOpacity = Math.abs(translate/panelWidth);\n panelOverlay.css({opacity: overlayOpacity});\n }\n panel.trigger('panel:swipe', {progress: Math.abs(translate / panelWidth)});\n app.pluginHook('swipePanelSetTransform', views[0], panel[0], Math.abs(translate / panelWidth));\n }\n }\n function handleTouchEnd(e) {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n isTouched = false;\n isMoved = false;\n var timeDiff = (new Date()).getTime() - touchStartTime;\n var action;\n var edge = (translate === 0 || Math.abs(translate) === panelWidth);\n \n if (!opened) {\n if (translate === 0) {\n action = 'reset';\n }\n else if (\n timeDiff < 300 && Math.abs(translate) > 0 ||\n timeDiff >= 300 && (Math.abs(translate) >= panelWidth / 2)\n ) {\n action = 'swap';\n }\n else {\n action = 'reset';\n }\n }\n else {\n if (translate === -panelWidth) {\n action = 'reset';\n }\n else if (\n timeDiff < 300 && Math.abs(translate) >= 0 ||\n timeDiff >= 300 && (Math.abs(translate) <= panelWidth / 2)\n ) {\n if (side === 'left' && translate === panelWidth) action = 'reset';\n else action = 'swap';\n }\n else {\n action = 'reset';\n }\n }\n if (action === 'swap') {\n app.allowPanelOpen = true;\n if (opened) {\n app.closePanel();\n if (edge) {\n panel.css({display: ''});\n $('body').removeClass('panel-closing');\n }\n }\n else {\n app.openPanel(side);\n }\n if (edge) app.allowPanelOpen = true;\n }\n if (action === 'reset') {\n if (opened) {\n app.allowPanelOpen = true;\n app.openPanel(side);\n }\n else {\n app.closePanel();\n if (edge) {\n app.allowPanelOpen = true;\n panel.css({display: ''});\n }\n else {\n var target = effect === 'reveal' ? views : panel;\n panel.trigger('close panel:close');\n $('body').addClass('panel-closing');\n target.transitionEnd(function () {\n panel.trigger('close panel:closed');\n panel.css({display: ''});\n $('body').removeClass('panel-closing');\n app.allowPanelOpen = true;\n });\n }\n }\n }\n if (effect === 'reveal') {\n views.transition('');\n views.transform('');\n }\n panel.transition('').transform('');\n panelOverlay.css({display: ''}).transform('').transition('').css('opacity', '');\n }\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false;\n $(document).on(app.touchEvents.start, handleTouchStart, passiveListener);\n $(document).on(app.touchEvents.move, handleTouchMove);\n $(document).on(app.touchEvents.end, handleTouchEnd, passiveListener);\n };\n \n\n /*======================================================\n ************ Image Lazy Loading ************\n ************ Based on solution by Marc Godard, https://github.com/MarcGodard ************\n ======================================================*/\n app.initImagesLazyLoad = function (pageContainer) {\n pageContainer = $(pageContainer);\n \n // Lazy images\n var lazyLoadImages;\n if (pageContainer.hasClass('lazy')) {\n lazyLoadImages = pageContainer;\n pageContainer = lazyLoadImages.parents('.page');\n }\n else {\n lazyLoadImages = pageContainer.find('.lazy');\n }\n if (lazyLoadImages.length === 0) return;\n \n // Scrollable page content\n var pageContent;\n if (pageContainer.hasClass('page-content')) {\n pageContent = pageContainer;\n pageContainer = pageContainer.parents('.page');\n }\n else {\n pageContent = pageContainer.find('.page-content');\n }\n if (pageContent.length === 0) return;\n \n // Placeholder\n var placeholderSrc = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEXCwsK592mkAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==';\n if (typeof app.params.imagesLazyLoadPlaceholder === 'string') {\n placeholderSrc = app.params.imagesLazyLoadPlaceholder;\n }\n if (app.params.imagesLazyLoadPlaceholder !== false) lazyLoadImages.each(function(){\n if ($(this).attr('data-src')) $(this).attr('src', placeholderSrc);\n });\n \n // load image\n var imagesSequence = [];\n var imageIsLoading = false;\n function loadImage(el) {\n el = $(el);\n \n var bg = el.attr('data-background');\n var src = bg ? bg : el.attr('data-src');\n if (!src) return;\n \n function onLoad() {\n el.removeClass('lazy').addClass('lazy-loaded');\n if (bg) {\n el.css('background-image', 'url(' + src + ')');\n }\n else {\n el.attr('src', src);\n }\n \n if (app.params.imagesLazyLoadSequential) {\n imageIsLoading = false;\n if (imagesSequence.length > 0) {\n loadImage(imagesSequence.shift());\n }\n }\n }\n \n function onError() {\n el.removeClass('lazy').addClass('lazy-loaded');\n if (bg) {\n el.css('background-image', 'url(' + placeholderSrc + ')');\n }\n else {\n el.attr('src', placeholderSrc);\n }\n \n if (app.params.imagesLazyLoadSequential) {\n imageIsLoading = false;\n if (imagesSequence.length > 0) {\n loadImage(imagesSequence.shift());\n }\n }\n }\n \n if (app.params.imagesLazyLoadSequential) {\n if (imageIsLoading) {\n if (imagesSequence.indexOf(el[0]) < 0) imagesSequence.push(el[0]);\n return;\n }\n }\n \n // Loading flag\n imageIsLoading = true;\n \n var image = new Image();\n image.onload = onLoad;\n image.onerror = onError;\n image.src =src;\n }\n function lazyHandler() {\n lazyLoadImages = pageContainer.find('.lazy');\n lazyLoadImages.each(function(index, el) {\n el = $(el);\n if (el.parents('.tab:not(.active)').length > 0) {\n return;\n }\n if (isElementInViewport(el[0])) {\n loadImage(el);\n }\n });\n }\n \n function isElementInViewport (el) {\n var rect = el.getBoundingClientRect();\n var threshold = app.params.imagesLazyLoadThreshold || 0;\n return (\n rect.top >= (0 - threshold) &&\n rect.left >= (0 - threshold) &&\n rect.top <= (window.innerHeight + threshold) &&\n rect.left <= (window.innerWidth + threshold)\n );\n }\n \n function attachEvents(destroy) {\n var method = destroy ? 'off' : 'on';\n lazyLoadImages[method]('lazy', lazyHandler);\n lazyLoadImages.parents('.tab')[method]('show', lazyHandler);\n pageContainer[method]('lazy', lazyHandler);\n pageContent[method]('lazy', lazyHandler);\n pageContent[method]('scroll', lazyHandler);\n $(window)[method]('resize', lazyHandler);\n }\n function detachEvents() {\n attachEvents(true);\n }\n \n // Store detach function\n pageContainer[0].f7DestroyImagesLazyLoad = detachEvents;\n \n // Attach events\n attachEvents();\n \n // Destroy on page remove\n if (pageContainer.hasClass('page')) {\n pageContainer.once('page:beforeremove', detachEvents);\n }\n \n // Run loader on page load/init\n lazyHandler();\n \n // Run after page animation\n pageContainer.once('page:afteranimation', lazyHandler);\n };\n app.destroyImagesLazyLoad = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length > 0 && pageContainer[0].f7DestroyImagesLazyLoad) {\n pageContainer[0].f7DestroyImagesLazyLoad();\n }\n };\n app.reinitImagesLazyLoad = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length > 0) {\n pageContainer.trigger('lazy');\n }\n };\n \n\n /*======================================================\n ************ Material Preloader ************\n ======================================================*/\n app.initPageMaterialPreloader = function (pageContainer) {\n $(pageContainer).find('.preloader').each(function () {\n if ($(this).children().length === 0) {\n $(this).html(app.params.materialPreloaderHtml);\n }\n });\n };\n\n /*======================================================\n ************ Messages ************\n ======================================================*/\n var Messages = function (container, params) {\n var defaults = {\n autoLayout: true,\n newMessagesFirst: false,\n scrollMessages: true,\n scrollMessagesOnlyOnEdge: false,\n messageTemplate:\n '{{#if day}}' +\n '
{{day}} {{#if time}}, {{time}}{{/if}}
' +\n '{{/if}}' +\n '
' +\n '{{#if name}}
{{name}}
{{/if}}' +\n '
{{text}}{{#if date}}
{{date}}
{{/if}}
' +\n '{{#if avatar}}
{{/if}}' +\n '{{#if label}}
{{label}}
{{/if}}' +\n '
'\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined' || params[def] === null) {\n params[def] = defaults[def];\n }\n }\n \n // Instance\n var m = this;\n \n // Params\n m.params = params;\n \n // Container\n m.container = $(container);\n if (m.container.length === 0) return;\n \n // Autolayout\n if (m.params.autoLayout) m.container.addClass('messages-auto-layout');\n \n // New messages first\n if (m.params.newMessagesFirst) m.container.addClass('messages-new-first');\n \n // Is In Page\n m.pageContainer = m.container.parents('.page').eq(0);\n m.pageContent = m.pageContainer.find('.page-content');\n \n // Compiled template\n m.template = Template7.compile(m.params.messageTemplate);\n \n // Auto Layout\n m.layout = function () {\n if (!m.container.hasClass('messages-auto-layout')) m.container.addClass('messages-auto-layout');\n m.container.find('.message').each(function () {\n var message = $(this);\n if (message.find('.message-text img').length > 0) {\n var childNodes = message.find('.message-text')[0].childNodes;\n var onlyPic = true;\n for (var i = 0 ; i < childNodes.length; i++) {\n if (childNodes[i].nodeType === 1 && childNodes[i].nodeName.toLowerCase() !== 'img') onlyPic = false;\n if (childNodes[i].nodeType === 3 && childNodes[i].textContent.trim() !== '') onlyPic = false;\n }\n if (onlyPic) message.addClass('message-pic');\n else message.removeClass('message-pic');\n }\n if (message.find('.message-avatar').length > 0) message.addClass('message-with-avatar');\n });\n m.container.find('.message').each(function () {\n var message = $(this);\n var isSent = message.hasClass('message-sent');\n var next = message.next('.message-' + (isSent ? 'sent' : 'received'));\n var prev = message.prev('.message-' + (isSent ? 'sent' : 'received'));\n if (next.length === 0) {\n message.addClass('message-last message-with-tail');\n }\n else message.removeClass('message-last message-with-tail');\n \n if (prev.length === 0) {\n message.addClass('message-first');\n }\n else message.removeClass('message-first');\n \n if (prev.length > 0 && prev.find('.message-name').length > 0 && message.find('.message-name').length > 0) {\n if (prev.find('.message-name').text() !== message.find('.message-name').text()) {\n prev.addClass('message-last message-with-tail');\n message.addClass('message-first');\n }\n }\n });\n };\n \n // Add Message\n m.appendMessage = function (props, animate) {\n return m.addMessage(props, 'append', animate);\n };\n m.prependMessage = function (props, animate) {\n return m.addMessage(props, 'prepend', animate);\n };\n m.addMessage = function (props, method, animate) {\n return m.addMessages([props], method, animate);\n };\n m.addMessages = function (newMessages, method, animate) {\n if (typeof animate === 'undefined') {\n animate = true;\n }\n if (typeof method === 'undefined') {\n method = m.params.newMessagesFirst ? 'prepend' : 'append';\n }\n var newMessagesHTML = '', i;\n for (i = 0; i < newMessages.length; i++) {\n var props = newMessages[i] || {};\n props.type = props.type || 'sent';\n if (!props.text) continue;\n props.hasImage = props.text.indexOf('= 0;\n if (props.onlyImage === false) props.hasImage = false;\n if (animate) props.position = method === 'append' ? 'bottom' : 'top';\n \n newMessagesHTML += m.template(props);\n }\n var scrollHeightBefore = m.pageContent[0].scrollHeight,\n heightBefore = m.pageContent[0].offsetHeight,\n scrollBefore = m.pageContent[0].scrollTop;\n m.container[method](newMessagesHTML);\n if (m.params.autoLayout) m.layout();\n if (method === 'prepend') {\n m.pageContent[0].scrollTop = scrollBefore + (m.pageContent[0].scrollHeight - scrollHeightBefore);\n }\n if (m.params.scrollMessages && (method === 'append' && !m.params.newMessagesFirst) || (method === 'prepend' && m.params.newMessagesFirst)) {\n if (m.params.scrollMessagesOnlyOnEdge) {\n var onEdge = false;\n if (m.params.newMessagesFirst) {\n if (scrollBefore === 0) onEdge = true;\n }\n else {\n if (scrollBefore - (scrollHeightBefore - heightBefore) >= -10) onEdge = true;\n }\n if (onEdge) m.scrollMessages(animate ? undefined : 0);\n }\n else m.scrollMessages(animate ? undefined : 0);\n }\n var messages = m.container.find('.message');\n if (newMessages.length === 1) {\n return method === 'append' ? messages[messages.length - 1] : messages[0];\n }\n else {\n var messagesToReturn = [];\n if (method === 'append') {\n for (i = messages.length - newMessages.length; i < messages.length; i++) {\n messagesToReturn.push(messages[i]);\n }\n }\n else {\n for (i = 0; i < newMessages.length; i++) {\n messagesToReturn.push(messages[i]);\n }\n }\n return messagesToReturn;\n }\n \n };\n m.removeMessage = function (message) {\n message = $(message);\n if (message.length === 0) {\n return false;\n }\n else {\n message.remove();\n if (m.params.autoLayout) m.layout();\n return true;\n }\n };\n m.removeMessages = function (messages) {\n m.removeMessage(messages);\n };\n m.clean = function () {\n m.container.html('');\n };\n \n // Scroll\n m.scrollMessages = function (duration, scrollTop) {\n if (typeof duration === 'undefined') duration = 400;\n var currentScroll = m.pageContent[0].scrollTop;\n var newScroll;\n if (typeof scrollTop !== 'undefined') newScroll = scrollTop;\n else {\n newScroll = m.params.newMessagesFirst ? 0 : m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight;\n if (newScroll === currentScroll) return;\n }\n m.pageContent.scrollTop(newScroll, duration);\n };\n \n // Init Destroy\n m.init = function () {\n if (m.params.messages) {\n m.addMessages(m.params.messages, undefined, false);\n }\n else {\n if (m.params.autoLayout) m.layout();\n m.scrollMessages(0);\n }\n \n };\n m.destroy = function () {\n m = null;\n };\n \n // Init\n m.init();\n \n m.container[0].f7Messages = m;\n return m;\n };\n app.messages = function (container, params) {\n return new Messages (container, params);\n };\n app.initPageMessages = function (pageContainer) {\n pageContainer = $(pageContainer);\n var messages = pageContainer.find('.messages');\n if (messages.length === 0) return;\n if (!messages.hasClass('messages-init')) {\n return;\n }\n var m = app.messages(messages, messages.dataset());\n \n // Destroy on page remove\n function pageBeforeRemove() {\n m.destroy();\n pageContainer.off('page:beforeremove', pageBeforeRemove);\n }\n if (pageContainer.hasClass('page')) {\n pageContainer.on('page:beforeremove', pageBeforeRemove);\n }\n };\n \n\n /*===============================================================================\n ************ Swipeout Actions (Swipe to delete) ************\n ===============================================================================*/\n app.swipeoutOpenedEl = undefined;\n app.allowSwipeout = true;\n app.initSwipeout = function (swipeoutEl) {\n var isTouched, isMoved, isScrolling, touchesStart = {}, touchStartTime, touchesDiff, swipeOutEl, swipeOutContent, actionsRight, actionsLeft, actionsLeftWidth, actionsRightWidth, translate, opened, openedActions, buttonsLeft, buttonsRight, direction, overswipeLeftButton, overswipeRightButton, overswipeLeft, overswipeRight, noFoldLeft, noFoldRight;\n $(document).on(app.touchEvents.start, function (e) {\n if (app.swipeoutOpenedEl) {\n var target = $(e.target);\n if (!(\n app.swipeoutOpenedEl.is(target[0]) ||\n target.parents('.swipeout').is(app.swipeoutOpenedEl) ||\n target.hasClass('modal-in') ||\n target.hasClass('modal-overlay') ||\n target.hasClass('actions-modal') || \n target.parents('.actions-modal.modal-in, .modal.modal-in').length > 0\n )) {\n app.swipeoutClose(app.swipeoutOpenedEl);\n }\n }\n });\n \n function handleTouchStart(e) {\n if (!app.allowSwipeout) return;\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = (new Date()).getTime();\n }\n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n if (isScrolling) {\n isTouched = false;\n return;\n }\n \n if (!isMoved) {\n if ($('.list-block.sortable-opened').length > 0) return;\n /*jshint validthis:true */\n swipeOutEl = $(this);\n swipeOutContent = swipeOutEl.find('.swipeout-content');\n actionsRight = swipeOutEl.find('.swipeout-actions-right');\n actionsLeft = swipeOutEl.find('.swipeout-actions-left');\n actionsLeftWidth = actionsRightWidth = buttonsLeft = buttonsRight = overswipeRightButton = overswipeLeftButton = null;\n noFoldLeft = actionsLeft.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold;\n noFoldRight = actionsRight.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold;\n if (actionsLeft.length > 0) {\n actionsLeftWidth = actionsLeft.outerWidth();\n buttonsLeft = actionsLeft.children('a');\n overswipeLeftButton = actionsLeft.find('.swipeout-overswipe');\n }\n if (actionsRight.length > 0) {\n actionsRightWidth = actionsRight.outerWidth();\n buttonsRight = actionsRight.children('a');\n overswipeRightButton = actionsRight.find('.swipeout-overswipe');\n }\n opened = swipeOutEl.hasClass('swipeout-opened');\n if (opened) {\n openedActions = swipeOutEl.find('.swipeout-actions-left.swipeout-actions-opened').length > 0 ? 'left' : 'right';\n }\n swipeOutEl.removeClass('transitioning');\n if (!app.params.swipeoutNoFollow) {\n swipeOutEl.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened');\n swipeOutEl.removeClass('swipeout-opened');\n }\n }\n isMoved = true;\n e.preventDefault();\n \n touchesDiff = pageX - touchesStart.x;\n translate = touchesDiff;\n \n if (opened) {\n if (openedActions === 'right') translate = translate - actionsRightWidth;\n else translate = translate + actionsLeftWidth;\n }\n \n if (translate > 0 && actionsLeft.length === 0 || translate < 0 && actionsRight.length === 0) {\n if (!opened) {\n isTouched = isMoved = false;\n swipeOutContent.transform('');\n if (buttonsRight && buttonsRight.length > 0) {\n buttonsRight.transform('');\n }\n if (buttonsLeft && buttonsLeft.length > 0) {\n buttonsLeft.transform('');\n }\n return;\n }\n translate = 0;\n }\n \n if (translate < 0) direction = 'to-left';\n else if (translate > 0) direction = 'to-right';\n else {\n if (!direction) direction = 'to-left';\n }\n \n var i, buttonOffset, progress;\n \n e.f7PreventPanelSwipe = true;\n if (app.params.swipeoutNoFollow) {\n if (opened) {\n if (openedActions === 'right' && touchesDiff > 0) {\n app.swipeoutClose(swipeOutEl);\n }\n if (openedActions === 'left' && touchesDiff < 0) {\n app.swipeoutClose(swipeOutEl);\n }\n }\n else {\n if (touchesDiff < 0 && actionsRight.length > 0) {\n app.swipeoutOpen(swipeOutEl, 'right');\n }\n if (touchesDiff > 0 && actionsLeft.length > 0) {\n app.swipeoutOpen(swipeOutEl, 'left');\n }\n }\n isTouched = false;\n isMoved = false;\n return;\n }\n overswipeLeft = false;\n overswipeRight = false;\n var $button;\n if (actionsRight.length > 0) {\n // Show right actions\n progress = translate / actionsRightWidth;\n if (translate < -actionsRightWidth) {\n translate = -actionsRightWidth - Math.pow(-translate - actionsRightWidth, 0.8);\n if (overswipeRightButton.length > 0) {\n overswipeRight = true;\n }\n }\n for (i = 0; i < buttonsRight.length; i++) {\n if (typeof buttonsRight[i]._buttonOffset === 'undefined') {\n buttonsRight[i]._buttonOffset = buttonsRight[i].offsetLeft;\n }\n buttonOffset = buttonsRight[i]._buttonOffset;\n $button = $(buttonsRight[i]);\n if (overswipeRightButton.length > 0 && $button.hasClass('swipeout-overswipe')) {\n $button.css({left: (overswipeRight ? -buttonOffset : 0) + 'px'});\n if (overswipeRight) {\n $button.addClass('swipeout-overswipe-active');\n }\n else {\n $button.removeClass('swipeout-overswipe-active'); \n }\n }\n $button.transform('translate3d(' + (translate - buttonOffset * (1 + Math.max(progress, -1))) + 'px,0,0)');\n }\n }\n if (actionsLeft.length > 0) {\n // Show left actions\n progress = translate / actionsLeftWidth;\n if (translate > actionsLeftWidth) {\n translate = actionsLeftWidth + Math.pow(translate - actionsLeftWidth, 0.8);\n if (overswipeLeftButton.length > 0) {\n overswipeLeft = true;\n }\n }\n for (i = 0; i < buttonsLeft.length; i++) {\n if (typeof buttonsLeft[i]._buttonOffset === 'undefined') {\n buttonsLeft[i]._buttonOffset = actionsLeftWidth - buttonsLeft[i].offsetLeft - buttonsLeft[i].offsetWidth;\n }\n buttonOffset = buttonsLeft[i]._buttonOffset;\n $button = $(buttonsLeft[i]);\n if (overswipeLeftButton.length > 0 && $button.hasClass('swipeout-overswipe')) {\n $button.css({left: (overswipeLeft ? buttonOffset : 0) + 'px'});\n if (overswipeLeft) {\n $button.addClass('swipeout-overswipe-active');\n }\n else {\n $button.removeClass('swipeout-overswipe-active'); \n }\n }\n if (buttonsLeft.length > 1) {\n $button.css('z-index', buttonsLeft.length - i); \n }\n $button.transform('translate3d(' + (translate + buttonOffset * (1 - Math.min(progress, 1))) + 'px,0,0)');\n }\n }\n swipeOutContent.transform('translate3d(' + translate + 'px,0,0)');\n }\n function handleTouchEnd(e) {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n \n isTouched = false;\n isMoved = false;\n var timeDiff = (new Date()).getTime() - touchStartTime;\n var action, actionsWidth, actions, buttons, i;\n \n actions = direction === 'to-left' ? actionsRight : actionsLeft;\n actionsWidth = direction === 'to-left' ? actionsRightWidth : actionsLeftWidth;\n \n if (\n timeDiff < 300 && (touchesDiff < -10 && direction === 'to-left' || touchesDiff > 10 && direction === 'to-right') ||\n timeDiff >= 300 && Math.abs(translate) > actionsWidth / 2\n ) {\n action = 'open';\n }\n else {\n action = 'close';\n }\n if (timeDiff < 300) {\n if (Math.abs(translate) === 0) action = 'close';\n if (Math.abs(translate) === actionsWidth) action = 'open';\n }\n \n if (action === 'open') {\n app.swipeoutOpenedEl = swipeOutEl;\n swipeOutEl.trigger('open swipeout:open');\n swipeOutEl.addClass('swipeout-opened transitioning');\n var newTranslate = direction === 'to-left' ? -actionsWidth : actionsWidth;\n swipeOutContent.transform('translate3d(' + newTranslate + 'px,0,0)');\n actions.addClass('swipeout-actions-opened');\n buttons = direction === 'to-left' ? buttonsRight : buttonsLeft;\n if (buttons) {\n for (i = 0; i < buttons.length; i++) {\n $(buttons[i]).transform('translate3d(' + newTranslate + 'px,0,0)');\n }\n }\n if (overswipeRight) {\n actionsRight.find('.swipeout-overswipe')[0].click();\n }\n if (overswipeLeft) {\n actionsLeft.find('.swipeout-overswipe')[0].click();\n }\n }\n else {\n swipeOutEl.trigger('close swipeout:close');\n app.swipeoutOpenedEl = undefined;\n swipeOutEl.addClass('transitioning').removeClass('swipeout-opened');\n swipeOutContent.transform('');\n actions.removeClass('swipeout-actions-opened');\n }\n \n var buttonOffset;\n if (buttonsLeft && buttonsLeft.length > 0 && buttonsLeft !== buttons) {\n for (i = 0; i < buttonsLeft.length; i++) {\n buttonOffset = buttonsLeft[i]._buttonOffset;\n if (typeof buttonOffset === 'undefined') {\n buttonsLeft[i]._buttonOffset = actionsLeftWidth - buttonsLeft[i].offsetLeft - buttonsLeft[i].offsetWidth;\n }\n $(buttonsLeft[i]).transform('translate3d(' + (buttonOffset) + 'px,0,0)');\n }\n }\n if (buttonsRight && buttonsRight.length > 0 && buttonsRight !== buttons) {\n for (i = 0; i < buttonsRight.length; i++) {\n buttonOffset = buttonsRight[i]._buttonOffset;\n if (typeof buttonOffset === 'undefined') {\n buttonsRight[i]._buttonOffset = buttonsRight[i].offsetLeft;\n }\n $(buttonsRight[i]).transform('translate3d(' + (-buttonOffset) + 'px,0,0)');\n }\n }\n swipeOutContent.transitionEnd(function (e) {\n if (opened && action === 'open' || closed && action === 'close') return;\n swipeOutEl.trigger(action === 'open' ? 'opened' : 'closed');\n if (opened && action === 'close') {\n if (actionsRight.length > 0) {\n buttonsRight.transform('');\n }\n if (actionsLeft.length > 0) {\n buttonsLeft.transform('');\n }\n }\n });\n }\n if (swipeoutEl) {\n $(swipeoutEl).on(app.touchEvents.start, handleTouchStart);\n $(swipeoutEl).on(app.touchEvents.move, handleTouchMove);\n $(swipeoutEl).on(app.touchEvents.end, handleTouchEnd);\n }\n else {\n $(document).on(app.touchEvents.start, '.list-block li.swipeout', handleTouchStart);\n $(document).on(app.touchEvents.move, '.list-block li.swipeout', handleTouchMove);\n $(document).on(app.touchEvents.end, '.list-block li.swipeout', handleTouchEnd);\n }\n \n };\n app.swipeoutOpen = function (el, dir, callback) {\n el = $(el);\n if (arguments.length === 2) {\n if (typeof arguments[1] === 'function') {\n callback = dir;\n }\n }\n \n if (el.length === 0) return;\n if (el.length > 1) el = $(el[0]);\n if (!el.hasClass('swipeout') || el.hasClass('swipeout-opened')) return;\n if (!dir) {\n if (el.find('.swipeout-actions-right').length > 0) dir = 'right';\n else dir = 'left';\n }\n var swipeOutActions = el.find('.swipeout-actions-' + dir);\n if (swipeOutActions.length === 0) return;\n el.trigger('open swipeout:open').addClass('swipeout-opened').removeClass('transitioning');\n swipeOutActions.addClass('swipeout-actions-opened');\n var buttons = swipeOutActions.children('a');\n var swipeOutActionsWidth = swipeOutActions.outerWidth();\n var translate = dir === 'right' ? -swipeOutActionsWidth : swipeOutActionsWidth;\n var i;\n if (buttons.length > 1) {\n for (i = 0; i < buttons.length; i++) {\n if (dir === 'right') {\n $(buttons[i]).transform('translate3d(' + (- buttons[i].offsetLeft) + 'px,0,0)');\n }\n else {\n $(buttons[i]).css('z-index', buttons.length - i).transform('translate3d(' + (swipeOutActionsWidth - buttons[i].offsetWidth - buttons[i].offsetLeft) + 'px,0,0)');\n }\n }\n var clientLeft = buttons[1].clientLeft;\n }\n el.addClass('transitioning');\n for (i = 0; i < buttons.length; i++) {\n $(buttons[i]).transform('translate3d(' + (translate) + 'px,0,0)');\n }\n el.find('.swipeout-content').transform('translate3d(' + translate + 'px,0,0)').transitionEnd(function () {\n el.trigger('opened swipeout:opened');\n if (callback) callback.call(el[0]);\n });\n app.swipeoutOpenedEl = el;\n };\n app.swipeoutClose = function (el, callback) {\n el = $(el);\n if (el.length === 0) return;\n if (!el.hasClass('swipeout-opened')) return;\n var dir = el.find('.swipeout-actions-opened').hasClass('swipeout-actions-right') ? 'right' : 'left';\n var swipeOutActions = el.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened');\n var buttons = swipeOutActions.children('a');\n var swipeOutActionsWidth = swipeOutActions.outerWidth();\n app.allowSwipeout = false;\n el.trigger('close swipeout:close');\n el.removeClass('swipeout-opened').addClass('transitioning');\n \n var closeTO;\n function onSwipeoutClose() {\n app.allowSwipeout = true;\n if (el.hasClass('swipeout-opened')) return;\n el.removeClass('transitioning');\n buttons.transform('');\n el.trigger('closed swipeout:closed');\n if (callback) callback.call(el[0]);\n if (closeTO) clearTimeout(closeTO);\n }\n el.find('.swipeout-content').transform('').transitionEnd(onSwipeoutClose);\n closeTO = setTimeout(onSwipeoutClose, 500);\n \n for (var i = 0; i < buttons.length; i++) {\n if (dir === 'right') {\n $(buttons[i]).transform('translate3d(' + (-buttons[i].offsetLeft) + 'px,0,0)');\n }\n else {\n $(buttons[i]).transform('translate3d(' + (swipeOutActionsWidth - buttons[i].offsetWidth - buttons[i].offsetLeft) + 'px,0,0)');\n }\n $(buttons[i]).css({left:0 + 'px'}).removeClass('swipeout-overswipe-active');\n }\n if (app.swipeoutOpenedEl && app.swipeoutOpenedEl[0] === el[0]) app.swipeoutOpenedEl = undefined;\n };\n app.swipeoutDelete = function (el, callback) {\n el = $(el);\n if (el.length === 0) return;\n if (el.length > 1) el = $(el[0]);\n app.swipeoutOpenedEl = undefined;\n el.trigger('delete swipeout:delete');\n el.css({height: el.outerHeight() + 'px'});\n var clientLeft = el[0].clientLeft;\n el.css({height: 0 + 'px'}).addClass('deleting transitioning').transitionEnd(function () {\n el.trigger('deleted swipeout:deleted');\n if (callback) callback.call(el[0]);\n if (el.parents('.virtual-list').length > 0) {\n var virtualList = el.parents('.virtual-list')[0].f7VirtualList;\n var virtualIndex = el[0].f7VirtualListIndex;\n if (virtualList && typeof virtualIndex !== 'undefined') virtualList.deleteItem(virtualIndex);\n }\n else {\n if (app.params.swipeoutRemoveWithTimeout) {\n setTimeout(function () {\n el.remove();\n }, 0);\n }\n else el.remove();\n }\n });\n var translate = '-100%';\n el.find('.swipeout-content').transform('translate3d(' + translate + ',0,0)');\n };\n \n\n /*===============================================================================\n ************ Sortable ************\n ===============================================================================*/\n app.sortableToggle = function (sortableContainer) {\n sortableContainer = $(sortableContainer);\n if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable');\n sortableContainer.toggleClass('sortable-opened');\n if (sortableContainer.hasClass('sortable-opened')) {\n sortableContainer.trigger('open sortable:open');\n }\n else {\n sortableContainer.trigger('close sortable:close');\n }\n return sortableContainer;\n };\n app.sortableOpen = function (sortableContainer) {\n sortableContainer = $(sortableContainer);\n if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable');\n sortableContainer.addClass('sortable-opened');\n sortableContainer.trigger('open sortable:open');\n return sortableContainer;\n };\n app.sortableClose = function (sortableContainer) {\n sortableContainer = $(sortableContainer);\n if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable');\n sortableContainer.removeClass('sortable-opened');\n sortableContainer.trigger('close sortable:close');\n return sortableContainer;\n };\n app.initSortable = function () {\n var isTouched, isMoved, touchStartY, touchesDiff, sortingEl, sortingElHeight, sortingItems, minTop, maxTop, insertAfter, insertBefore, sortableContainer, startIndex;\n \n function handleTouchStart(e) {\n isMoved = false;\n isTouched = true;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n /*jshint validthis:true */\n sortingEl = $(this).parent();\n startIndex = sortingEl.index();\n sortingItems = sortingEl.parent().find('li');\n sortableContainer = sortingEl.parents('.sortable');\n e.preventDefault();\n app.allowPanelOpen = app.allowSwipeout = false;\n }\n function handleTouchMove(e) {\n if (!isTouched || !sortingEl) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (!isMoved) {\n sortingEl.addClass('sorting');\n sortableContainer.addClass('sortable-sorting');\n minTop = sortingEl[0].offsetTop;\n maxTop = sortingEl.parent().height() - sortingEl[0].offsetTop - sortingEl.height();\n sortingElHeight = sortingEl[0].offsetHeight;\n }\n isMoved = true;\n \n e.preventDefault();\n e.f7PreventPanelSwipe = true;\n touchesDiff = pageY - touchStartY;\n var translate = touchesDiff;\n if (translate < -minTop) translate = -minTop;\n if (translate > maxTop) translate = maxTop;\n sortingEl.transform('translate3d(0,' + translate + 'px,0)');\n \n insertBefore = insertAfter = undefined;\n \n sortingItems.each(function () {\n var currentEl = $(this);\n if (currentEl[0] === sortingEl[0]) return;\n var currentElOffset = currentEl[0].offsetTop;\n var currentElHeight = currentEl.height();\n var sortingElOffset = sortingEl[0].offsetTop + translate;\n \n if ((sortingElOffset >= currentElOffset - currentElHeight / 2) && sortingEl.index() < currentEl.index()) {\n currentEl.transform('translate3d(0, '+(-sortingElHeight)+'px,0)');\n insertAfter = currentEl;\n insertBefore = undefined;\n }\n else if ((sortingElOffset <= currentElOffset + currentElHeight / 2) && sortingEl.index() > currentEl.index()) {\n currentEl.transform('translate3d(0, '+(sortingElHeight)+'px,0)');\n insertAfter = undefined;\n if (!insertBefore) insertBefore = currentEl;\n }\n else {\n $(this).transform('translate3d(0, 0%,0)');\n }\n });\n }\n function handleTouchEnd(e) {\n app.allowPanelOpen = app.allowSwipeout = true;\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n e.preventDefault();\n sortingItems.transform('');\n sortingEl.removeClass('sorting');\n sortableContainer.removeClass('sortable-sorting');\n var virtualList, oldIndex, newIndex;\n if (insertAfter) {\n sortingEl.insertAfter(insertAfter);\n sortingEl.trigger('sort sortable:sort', {startIndex: startIndex, newIndex: sortingEl.index()});\n }\n if (insertBefore) {\n sortingEl.insertBefore(insertBefore);\n sortingEl.trigger('sort sortable:sort', {startIndex: startIndex, newIndex: sortingEl.index()});\n }\n if ((insertAfter || insertBefore) && sortableContainer.hasClass('virtual-list')) {\n virtualList = sortableContainer[0].f7VirtualList;\n oldIndex = sortingEl[0].f7VirtualListIndex;\n newIndex = insertBefore ? insertBefore[0].f7VirtualListIndex : insertAfter[0].f7VirtualListIndex;\n if (virtualList) virtualList.moveItem(oldIndex, newIndex);\n }\n insertAfter = insertBefore = undefined;\n isTouched = false;\n isMoved = false;\n }\n $(document).on(app.touchEvents.start, '.list-block.sortable .sortable-handler', handleTouchStart);\n if (app.support.touch) {\n $(document).on(app.touchEvents.move, '.list-block.sortable .sortable-handler', handleTouchMove);\n $(document).on(app.touchEvents.end, '.list-block.sortable .sortable-handler', handleTouchEnd);\n }\n else {\n $(document).on(app.touchEvents.move, handleTouchMove);\n $(document).on(app.touchEvents.end, handleTouchEnd);\n }\n };\n \n\n /*===============================================================================\n ************ Smart Select ************\n ===============================================================================*/\n app.initSmartSelects = function (pageContainer) {\n pageContainer = $(pageContainer);\n var selects;\n if (pageContainer.is('.smart-select')) {\n selects = pageContainer;\n }\n else {\n selects = pageContainer.find('.smart-select');\n }\n if (selects.length === 0) return;\n \n selects.each(function () {\n var smartSelect = $(this);\n \n var $select = smartSelect.find('select');\n if ($select.length === 0) return;\n \n var select = $select[0];\n if (select.length === 0) return;\n \n var valueText = [];\n var displayAs;\n for (var i = 0; i < select.length; i++) {\n if (select[i].selected) {\n displayAs = select[i].dataset ? select[i].dataset.displayAs : $(select[i]).data('display-as');\n if (displayAs && typeof displayAs !== 'undefined') {\n \t\t\t\t\tvalueText.push(displayAs);\n \t\t\t\t} else {\n \t\t\t\t\tvalueText.push(select[i].textContent.trim());\n \t\t\t\t}\n \t\t\t}\n }\n \n var itemAfter = smartSelect.find('.item-after');\n if (itemAfter.length === 0) {\n smartSelect.find('.item-inner').append('
' + valueText.join(', ') + '
');\n }\n else {\n var selectedText = itemAfter.text();\n if (itemAfter.hasClass('smart-select-value')) {\n for (i = 0; i < select.length; i++) {\n select[i].selected = select[i].textContent.trim() === selectedText.trim();\n }\n } else {\n itemAfter.text(valueText.join(', '));\n }\n }\n \n $select.on('change', function () {\n var valueText = [];\n for (var i = 0; i < select.length; i++) {\n if (select[i].selected) {\n var displayAs = select[i].dataset ? select[i].dataset.displayAs : $(select[i]).data('display-as');\n \tif (displayAs && typeof displayAs !== 'undefined') {\n \t\t\t\t\t\tvalueText.push(displayAs);\n \t\t\t\t\t} else {\n \t\t\t\t\t\tvalueText.push(select[i].textContent.trim());\n \t\t\t\t\t}\n \t\t\t\t}\n }\n smartSelect.find('.item-after').text(valueText.join(', '));\n });\n \n });\n \n };\n app.smartSelectAddOption = function (select, option, index) {\n select = $(select);\n var smartSelect = select.parents('.smart-select');\n if (typeof index === 'undefined') {\n select.append(option);\n }\n else {\n $(option).insertBefore(select.find('option').eq(index));\n }\n app.initSmartSelects(smartSelect);\n var selectName = smartSelect.find('select').attr('name');\n var opened = $('.page.smart-select-page[data-select-name=\"' + selectName + '\"]').length > 0;\n if (opened) {\n app.smartSelectOpen(smartSelect, true);\n }\n };\n app.smartSelectOpen = function (smartSelect, reLayout) {\n smartSelect = $(smartSelect);\n if (smartSelect.length === 0) return;\n \n // Find related view\n var view = smartSelect.parents('.' + app.params.viewClass);\n if (view.length === 0) return;\n view = view[0].f7View;\n \n // Parameters\n var openIn = smartSelect.attr('data-open-in') || app.params.smartSelectOpenIn;\n if (openIn === 'popup') {\n if ($('.popup.smart-select-popup').length > 0) return;\n }\n else if (openIn === 'picker') {\n if ($('.picker-modal.modal-in').length > 0 && !reLayout){\n if (smartSelect[0].f7SmartSelectPicker !== $('.picker-modal.modal-in:not(.modal-out)')[0]) app.closeModal($('.picker-modal.modal-in:not(.modal-out)'));\n else return;\n }\n }\n else {\n if (!view) return;\n }\n \n var smartSelectData = smartSelect.dataset();\n var pageTitle = smartSelectData.pageTitle || smartSelect.find('.item-title').text();\n var backText = smartSelectData.backText || app.params.smartSelectBackText;\n var closeText;\n if (openIn === 'picker') {\n closeText = smartSelectData.pickerCloseText || smartSelectData.backText || app.params.smartSelectPickerCloseText ;\n }\n else {\n closeText = smartSelectData.popupCloseText || smartSelectData.backText || app.params.smartSelectPopupCloseText ;\n }\n var backOnSelect = smartSelectData.backOnSelect !== undefined ? smartSelectData.backOnSelect : app.params.smartSelectBackOnSelect;\n var formTheme = smartSelectData.formTheme || app.params.smartSelectFormTheme;\n var navbarTheme = smartSelectData.navbarTheme || app.params.smartSelectNavbarTheme;\n var toolbarTheme = smartSelectData.toolbarTheme || app.params.smartSelectToolbarTheme;\n var virtualList = smartSelectData.virtualList;\n var virtualListHeight = smartSelectData.virtualListHeight;\n var material = app.params.material;\n var pickerHeight = smartSelectData.pickerHeight || app.params.smartSelectPickerHeight;\n \n // Collect all options/values\n var select = smartSelect.find('select')[0];\n var $select = $(select);\n var $selectData = $select.dataset();\n if (select.disabled || smartSelect.hasClass('disabled') || $select.hasClass('disabled')) {\n return;\n }\n var values = [];\n var id = (new Date()).getTime();\n var inputType = select.multiple ? 'checkbox' : 'radio';\n var inputName = inputType + '-' + id;\n var maxLength = $select.attr('maxlength');\n var selectName = select.name;\n var option, optionHasMedia, optionImage, optionIcon, optionGroup, optionGroupLabel, optionPreviousGroup, optionIsLabel, previousGroup, optionColor, optionClassName, optionData;\n for (var i = 0; i < select.length; i++) {\n option = $(select[i]);\n optionData = option.dataset();\n optionImage = optionData.optionImage || $selectData.optionImage || smartSelectData.optionImage;\n optionIcon = optionData.optionIcon || $selectData.optionIcon || smartSelectData.optionIcon;\n optionHasMedia = optionImage || optionIcon || inputType === 'checkbox';\n if (material) optionHasMedia = optionImage || optionIcon;\n optionColor = optionData.optionColor;\n optionClassName = optionData.optionClass;\n if (option[0].disabled) optionClassName += ' disabled';\n optionGroup = option.parent('optgroup')[0];\n optionGroupLabel = optionGroup && optionGroup.label;\n optionIsLabel = false;\n if (optionGroup) {\n if (optionGroup !== previousGroup) {\n optionIsLabel = true;\n previousGroup = optionGroup;\n values.push({\n groupLabel: optionGroupLabel,\n isLabel: optionIsLabel\n });\n }\n }\n values.push({\n value: option[0].value,\n text: option[0].textContent.trim(),\n selected: option[0].selected,\n group: optionGroup,\n groupLabel: optionGroupLabel,\n image: optionImage,\n icon: optionIcon,\n color: optionColor,\n className: optionClassName,\n disabled: option[0].disabled,\n inputType: inputType,\n id: id,\n hasMedia: optionHasMedia,\n checkbox: inputType === 'checkbox',\n inputName: inputName,\n material: app.params.material\n });\n }\n \n \n // Item template/HTML\n if (!app._compiledTemplates.smartSelectItem) {\n app._compiledTemplates.smartSelectItem = t7.compile(app.params.smartSelectItemTemplate ||\n '{{#if isLabel}}' +\n '
  • {{groupLabel}}
  • ' +\n '{{else}}' +\n '' +\n '' +\n '' +\n '{{/if}}'\n );\n }\n var smartSelectItemTemplate = app._compiledTemplates.smartSelectItem;\n \n var inputsHTML = '';\n if (!virtualList) {\n for (var j = 0; j < values.length; j++) {\n inputsHTML += smartSelectItemTemplate(values[j]);\n }\n }\n \n // Toolbar / Navbar\n var toolbarHTML = '', navbarHTML;\n var noNavbar = '', noToolbar = '', noTabbar = '', navbarLayout;\n \n if (openIn === 'picker') {\n if (!app._compiledTemplates.smartSelectToolbar) {\n app._compiledTemplates.smartSelectToolbar = t7.compile(app.params.smartSelectToolbarTemplate ||\n '
    ' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    '\n );\n }\n \n toolbarHTML = app._compiledTemplates.smartSelectToolbar({\n pageTitle: pageTitle,\n closeText: closeText,\n openIn: openIn,\n toolbarTheme: toolbarTheme,\n inPicker: openIn === 'picker'\n });\n }\n else {\n // Navbar HTML\n if (!app._compiledTemplates.smartSelectNavbar) {\n app._compiledTemplates.smartSelectNavbar = t7.compile(app.params.smartSelectNavbarTemplate ||\n '
    ' +\n '
    ' +\n '{{leftTemplate}}' +\n '
    {{pageTitle}}
    ' +\n '
    ' +\n '
    '\n );\n }\n navbarHTML = app._compiledTemplates.smartSelectNavbar({\n pageTitle: pageTitle,\n backText: backText,\n closeText: closeText,\n openIn: openIn,\n navbarTheme: navbarTheme,\n inPopup: openIn === 'popup',\n inPage: openIn === 'page',\n leftTemplate: openIn === 'popup' ?\n (app.params.smartSelectPopupCloseTemplate || (material ? '
    ' : '')).replace(/{{closeText}}/g, closeText) :\n (app.params.smartSelectBackTemplate || (material ? '
    ' : '')).replace(/{{backText}}/g, backText)\n });\n // Determine navbar layout type - static/fixed/through\n if (openIn === 'page') {\n navbarLayout = 'static';\n if (smartSelect.parents('.navbar-through').length > 0) navbarLayout = 'through';\n if (smartSelect.parents('.navbar-fixed').length > 0) navbarLayout = 'fixed';\n noToolbar = smartSelect.parents('.page').hasClass('no-toolbar') ? 'no-toolbar' : '';\n noNavbar = smartSelect.parents('.page').hasClass('no-navbar') ? 'no-navbar' : 'navbar-' + navbarLayout;\n noTabbar = smartSelect.parents('.page').hasClass('no-tabbar') ? 'no-tabbar' : '';\n }\n else {\n navbarLayout = 'fixed';\n }\n }\n \n \n // Page Layout\n var pageName = 'smart-select-' + inputName;\n \n var useSearchbar = typeof smartSelect.data('searchbar') === 'undefined' ? app.params.smartSelectSearchbar : (smartSelect.data('searchbar') === 'true' ? true : false);\n var searchbarPlaceholder, searchbarCancel;\n \n if (useSearchbar) {\n searchbarPlaceholder = smartSelect.data('searchbar-placeholder') || 'Search';\n searchbarCancel = smartSelect.data('searchbar-cancel') || 'Cancel';\n }\n \n var searchbarHTML = '
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n (material ? '' : '' + searchbarCancel + '') +\n '
    ' +\n '
    ';\n \n var pageHTML =\n (openIn !== 'picker' && navbarLayout === 'through' ? navbarHTML : '') +\n '
    ' +\n '
    ' +\n (openIn !== 'picker' && navbarLayout === 'fixed' ? navbarHTML : '') +\n (useSearchbar ? searchbarHTML : '') +\n '
    ' +\n (openIn !== 'picker' && navbarLayout === 'static' ? navbarHTML : '') +\n '
    ' +\n '
      ' +\n (virtualList ? '' : inputsHTML) +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ';\n \n // Define popup and picker\n var popup, picker;\n \n // Scroll SS Picker To Input\n function scrollToInput() {\n var pageContent = smartSelect.parents('.page-content');\n if (pageContent.length === 0) return;\n var paddingTop = parseInt(pageContent.css('padding-top'), 10),\n paddingBottom = parseInt(pageContent.css('padding-bottom'), 10),\n pageHeight = pageContent[0].offsetHeight - paddingTop - picker.height(),\n pageScrollHeight = pageContent[0].scrollHeight - paddingTop - picker.height(),\n newPaddingBottom;\n var inputTop = smartSelect.offset().top - paddingTop + smartSelect[0].offsetHeight;\n if (inputTop > pageHeight) {\n var scrollTop = pageContent.scrollTop() + inputTop - pageHeight;\n if (scrollTop + pageHeight > pageScrollHeight) {\n newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom;\n if (pageHeight === pageScrollHeight) {\n newPaddingBottom = picker.height();\n }\n pageContent.css({'padding-bottom': (newPaddingBottom) + 'px'});\n }\n pageContent.scrollTop(scrollTop, 300);\n }\n }\n // Close SS Picker on HTML Click\n function closeOnHTMLClick(e) {\n var close = true;\n if (e.target === smartSelect[0] || $(e.target).parents(smartSelect[0]).length > 0) {\n close = false;\n }\n if ($(e.target).parents('.picker-modal').length > 0) {\n close = false;\n }\n if (close) {\n app.closeModal('.smart-select-picker.modal-in');\n }\n }\n \n // Check max length\n function checkMaxLength(container) {\n if (select.selectedOptions.length >= maxLength) {\n container.find('input[type=\"checkbox\"]').each(function () {\n if (!this.checked) {\n $(this).parents('li').addClass('disabled');\n }\n else {\n $(this).parents('li').removeClass('disabled');\n }\n });\n }\n else {\n container.find('.disabled').removeClass('disabled');\n }\n }\n // Event Listeners on new page\n function handleInputs(container) {\n container = $(container);\n if (virtualList) {\n var virtualListInstance = app.virtualList(container.find('.virtual-list'), {\n items: values,\n template: smartSelectItemTemplate,\n height: virtualListHeight || undefined,\n searchByItem: function (query, index, item) {\n if (item.text && item.text.toLowerCase().indexOf(query.trim().toLowerCase()) >=0 ) return true;\n return false;\n }\n });\n container.once(openIn === 'popup' || openIn === 'picker' ? 'closed': 'pageBeforeRemove', function () {\n if (virtualListInstance && virtualListInstance.destroy) virtualListInstance.destroy();\n });\n }\n if (maxLength) {\n checkMaxLength(container);\n }\n if (backOnSelect) {\n container.find('input[type=\"radio\"][name=\"' + inputName + '\"]:checked').parents('label').once('click', function () {\n if (openIn === 'popup') app.closeModal(popup);\n else if (openIn === 'picker') app.closeModal(picker);\n else view.router.back();\n });\n }\n container.on('change', 'input[name=\"' + inputName + '\"]', function () {\n \t\t\tvar option, text;\n var input = this;\n var value = input.value;\n var optionText = [];\n var displayAs;\n if (input.type === 'checkbox') {\n var values = [];\n for (var i = 0; i < select.options.length; i++) {\n option = select.options[i];\n if (option.value === value) {\n option.selected = input.checked;\n }\n if (option.selected) {\n displayAs = option.dataset ? option.dataset.displayAs : $(option).data('display-as');\n text = displayAs && typeof displayAs !== 'undefined' ? displayAs : option.textContent;\n optionText.push(text.trim());\n }\n }\n if (maxLength) {\n checkMaxLength(container);\n }\n }\n else {\n option = smartSelect.find('option[value=\"' + value + '\"]')[0];\n displayAs = option.dataset ? option.dataset.displayAs : $(option).data('display-as');\n text = displayAs && typeof displayAs !== 'undefined' ? displayAs : option.textContent;\n optionText = [text];\n select.value = value;\n }\n \n $select.trigger('change');\n smartSelect.find('.item-after').text(optionText.join(', '));\n if (backOnSelect && inputType === 'radio') {\n if (openIn === 'popup') app.closeModal(popup);\n else if (openIn === 'picker') app.closeModal(picker);\n else view.router.back();\n }\n });\n }\n function pageInit(e) {\n var page = e.detail.page;\n if (page.name === pageName) {\n handleInputs(page.container);\n }\n }\n if (openIn === 'popup') {\n if (reLayout) {\n popup = $('.popup.smart-select-popup .view');\n popup.html(pageHTML);\n }\n else {\n popup = app.popup(\n '
    ' +\n '
    ' +\n pageHTML +\n '
    ' +\n '
    '\n );\n popup = $(popup);\n }\n app.initPage(popup.find('.page'));\n handleInputs(popup);\n }\n else if (openIn === 'picker') {\n if (reLayout) {\n picker = $('.picker-modal.smart-select-picker .view');\n picker.html(pageHTML);\n }\n else {\n picker = app.pickerModal(\n '
    ' +\n toolbarHTML +\n '
    ' +\n '
    ' +\n pageHTML +\n '
    ' +\n '
    ' +\n '
    '\n );\n picker = $(picker);\n \n // Scroll To Input\n scrollToInput();\n \n // Close On Click\n $('html').on('click', closeOnHTMLClick);\n \n // On Close\n picker.once('picker:close', function () {\n // Reset linked picker\n smartSelect[0].f7SmartSelectPicker = undefined;\n \n // Detach html click\n $('html').off('click', closeOnHTMLClick);\n \n // Restore page padding bottom\n smartSelect.parents('.page-content').css({paddingBottom: ''});\n });\n \n // Link Picker\n smartSelect[0].f7SmartSelectPicker = picker[0];\n }\n \n // Init Page\n app.initPage(picker.find('.page'));\n \n // Attach events\n handleInputs(picker);\n }\n else {\n $(document).once('page:init', '.smart-select-page', pageInit);\n view.router.load({\n content: pageHTML,\n reload: reLayout ? true : undefined\n });\n }\n };\n \n\n /*===============================================================================\n ************ Virtual List ************\n ===============================================================================*/\n var VirtualList = function (listBlock, params) {\n var defaults = {\n cols: 1,\n height: app.params.material ? 48 : 44,\n cache: true,\n dynamicHeightBufferSize: 1,\n showFilteredItemsOnly: false,\n template: \n '
  • ' +\n '
    ' +\n '
    ' +\n '
    {{this}}
    ' +\n '
    ' +\n '
    ' +\n '
  • '\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n \n // Preparation\n var vl = this;\n vl.listBlock = $(listBlock);\n vl.params = params;\n vl.items = vl.params.items;\n if (vl.params.showFilteredItemsOnly) {\n vl.filteredItems = [];\n }\n if (vl.params.template && !vl.params.renderItem) {\n if (typeof vl.params.template === 'string') vl.template = t7.compile(vl.params.template);\n else if (typeof vl.params.template === 'function') vl.template = vl.params.template;\n }\n vl.pageContent = vl.listBlock.parents('.page-content');\n \n // Bad scroll\n var updatableScroll;\n if (typeof vl.params.updatableScroll !== 'undefined') {\n updatableScroll = vl.params.updatableScroll;\n }\n else {\n updatableScroll = true;\n if (app.device.ios && app.device.osVersion.split('.')[0] < 8) {\n updatableScroll = false;\n }\n vl.params.updatableScroll = updatableScroll;\n }\n \n // Append