{"version":3,"sources":["../node_modules/devextreme/core/class.js","../node_modules/devextreme/core/utils/date.js","../node_modules/devextreme/core/polyfills/weak_map.js","../node_modules/devextreme/core/memorized_callbacks.js","../node_modules/devextreme/core/element.js","../node_modules/devextreme/core/utils/resize_callbacks.js","../node_modules/devextreme/core/options/utils.js","../node_modules/devextreme/core/utils/array_compare.js","../node_modules/devextreme/core/utils/svg.js","../node_modules/devextreme/core/utils/position.js","../node_modules/devextreme/core/utils/browser.js","../node_modules/devextreme/data/data_source.js","../node_modules/devextreme/core/utils/data.js","../node_modules/devextreme/core/utils/html_parser.js","../node_modules/devextreme/core/utils/storage.js","../node_modules/devextreme/core/utils/template_manager.js","../node_modules/devextreme/core/templates/template_engine_registry.js","../node_modules/devextreme/core/utils/selection_filter.js","../node_modules/devextreme/core/utils/math.js","../node_modules/devextreme/core/utils/callbacks.js","../node_modules/devextreme/core/errors.js","../node_modules/devextreme/core/guid.js","../node_modules/devextreme/core/utils/inflector.js","../node_modules/devextreme/core/utils/dom.js","../node_modules/devextreme/core/config.js","../node_modules/devextreme/core/renderer_base.js","../node_modules/devextreme/core/utils/support.js","../node_modules/devextreme/core/utils/queue.js","../node_modules/devextreme/data/data_source/operation_manager.js","../node_modules/devextreme/core/http_request.js","../node_modules/devextreme/data/query_implementation.js","../node_modules/devextreme/data/remote_query.js","../node_modules/devextreme/data/query_adapters.js","../node_modules/devextreme/core/utils/string.js","../node_modules/devextreme/core/component_registrator_callbacks.js","../node_modules/devextreme/core/templates/template.js","../node_modules/devextreme/core/templates/template_engines.js","../node_modules/devextreme/core/options/index.js","../node_modules/devextreme/core/element_data.js","../node_modules/devextreme/core/options/option_manager.js","../node_modules/devextreme/core/utils/comparator.js","../node_modules/devextreme/core/postponed_operations.js","../node_modules/devextreme/core/template_manager.js","../node_modules/devextreme/core/utils/object.js","../node_modules/devextreme/data/utils.js","../node_modules/devextreme/data/query.js","../node_modules/devextreme/core/utils/extend.js","../node_modules/devextreme/core/utils/date_serialization.js","../node_modules/devextreme/core/utils/icon.js","../node_modules/devextreme/data/data_source/data_source.js","../node_modules/devextreme/core/utils/ready_callbacks.js","../node_modules/devextreme/core/templates/bindable_template.js","../node_modules/devextreme/data/errors.js","../node_modules/devextreme/core/utils/type.js","../node_modules/devextreme/core/renderer.js","../node_modules/devextreme/core/utils/dependency_injector.js","../node_modules/devextreme/data/data_source/utils.js","../node_modules/devextreme/core/polyfills/promise.js","../node_modules/devextreme/core/dom_component.js","../node_modules/devextreme/core/templates/empty_template.js","../node_modules/devextreme/data_helper.js","../node_modules/devextreme/core/utils/call_once.js","../node_modules/devextreme/data/array_store.js","../node_modules/devextreme/core/utils/view_port.js","../node_modules/devextreme/core/utils/style.js","../node_modules/devextreme/data/array_utils.js","../node_modules/devextreme/core/utils/common.js","../node_modules/devextreme/core/utils/iterator.js","../node_modules/devextreme/core/utils/console.js","../node_modules/devextreme/core/utils/variable_wrapper.js","../node_modules/devextreme/data/store_helper.js","../node_modules/devextreme/core/utils/ajax.js","../node_modules/devextreme/core/templates/function_template.js","../node_modules/devextreme/core/events_strategy.js","../node_modules/devextreme/core/templates/child_default_template.js","../node_modules/devextreme/core/templates/template_base.js","../node_modules/devextreme/core/action.js","../node_modules/devextreme/core/utils/deferred.js","../node_modules/devextreme/core/utils/window.js","../node_modules/devextreme/data/custom_store.js","../node_modules/devextreme/data/abstract_store.js","../node_modules/devextreme/core/component_registrator.js","../node_modules/devextreme/core/remove_event.js","../node_modules/devextreme/core/utils/public_component.js","../node_modules/devextreme/core/component.js","../node_modules/devextreme/core/utils/error.js","../node_modules/devextreme/core/version.js","../node_modules/devextreme/core/utils/size.js","../node_modules/devextreme/data/array_query.js","../node_modules/devextreme/core/utils/version.js","../node_modules/devextreme/core/dom_adapter.js","../node_modules/devextreme/core/devices.js","../node_modules/devextreme/core/utils/array.js"],"names":["exports","default","obj","_errors","require","__esModule","_type","wrapOverridden","baseProto","methodName","method","prevCallBase","this","callBase","apply","arguments","redefine","members","overridden","memberName","member","prototype","parent","include","argument","name","i","classObj","hasClassObjOwnProperty","Object","hasOwnProperty","bind","isES6Class","_includedCtors","slice","_includedPostCtors","length","ctor","push","postCtor","subclassOf","parentClass","baseClass","getPrototypeOf","abstract","Error","copyStatic","hasOwn","source","destination","key","call","classImpl","inherit","inheritor","isWindow","constructor","instance","includedCtors","includedPostCtors","func","clonePrototype","_default","module","_math","_iterator","_inflector","_browser","_construct","Parent","args","Class","_isNativeReflectConstruct","Reflect","construct","a","Function","_setPrototypeOf","sham","Proxy","Boolean","valueOf","e","o","p","setPrototypeOf","__proto__","isIE11","msie","parseInt","version","dateUnitIntervals","toMilliseconds","value","convertMillisecondsToDateUnits","dateUnitCount","dateUnitInterval","result","Math","floor","convertDateUnitToMilliseconds","dateUnit","count","getDateUnitInterval","tickInterval","maxInterval","isString","isObject","each","tickIntervalToFormatMap","millisecond","second","minute","hour","day","week","month","quarter","year","getQuarter","getFirstQuarterMonth","correctDateWithUnitBeginning","date","dateInterval","withCorrection","firstDayOfWeek","Date","getTime","firstQuarterMonth","oldDate","setMonth","setDate","setHours","getFirstWeekDate","getMonth","fixTimezoneGap","trimTime","addDateInterval","interval","dir","intervalObject","getDateIntervalByString","toLowerCase","isNumeric","years","setFullYear","getFullYear","quarters","months","weeks","getDate","days","hours","setTime","minutes","seconds","milliseconds","addInterval","isNegative","isDate","adjust","getLastMonthDay","createDateWithFullYear","intervalString","sameMonthAndYear","date1","date2","sameYear","getFirstDecadeInCentury","getFirstYearInDecade","delta","getDay","normalizeDate","min","max","normalizedDate","isDefined","newDate","diff","getHours","sign","trial","getTimezonesDifference","getTimezoneOffset","Array","dateUtils","dateToMilliseconds","substr","getNextDateUnit","unit","withWeeks","getDateFormatByTickInterval","getDatesDifferences","counter","differences","getMinutes","getSeconds","getMilliseconds","setToDayEnd","roundDateByStartDayHour","startDayHour","startTime","dateTimeFromDecimal","number","getSequenceByInterval","cur","intervals","sameDate","sameMonth","sameDecade","startDecadeDate1","startDecadeDate2","sameCentury","startCenturyDate1","startCenturyDate2","getDifferenceInMonth","typeView","difference","getDifferenceInMonthForCells","getShortDateFormat","getViewFirstCellDate","viewType","getViewLastCellDate","getViewDown","getViewUp","getLastMonthDate","getFirstMonthDate","normalizeDateByWeek","currentDate","differenceInDays","getDatesInterval","resultDate","dateInRange","format","roundToHour","setMinutes","getViewMinBoundaryDate","getViewMaxBoundaryDate","makeDate","startDate","endDate","intervalUnit","millisecondCount","getDatesOfInterval","step","createDate","view","camelize","_array","_window","weakMap","hasWindow","getWindow","WeakMap","keys","values","set","index","inArray","get","has","delete","splice","_callbacks","MemorizedCallbacks","memory","callbacks","_proto","add","fn","_","item","remove","fire","_len","_key","getPublicElement","element","strategy","setPublicElementWrapper","newStrategy","_dom_adapter","_interopRequireDefault","_ready_callbacks","_call_once","prevSize","originalCallbacksAdd","originalCallbacksRemove","removeListener","formatSize","window","width","innerWidth","height","innerHeight","handleResize","changedDimension","now","setPrevSize","listen","normalizeOptions","getParentName","getNestedOptionValue","getFieldName","deviceMatch","createDefaultOptionRules","convertRulesToOptions","_devices","_common","_extend","_data","cachedGetters","rules","currentDevice","current","reduce","options","_ref","device","ruleOptions","deviceFilter","isFunction","extend","defineProperty","enumerable","configurable","writable","_defineProperty","filter","isEmptyObject","findBestMatches","fullName","lastIndexOf","optionsObject","compileGetter","functionsAsIs","isKeysEqual","findChanges","getKeyWrapper","getKey","JSON","stringify","getSameNewByOld","oldItem","newItems","newIndexByKey","oldKeys","newKeys","oldItems","isItemEquals","oldIndexByKey","addedCount","removeCount","forEach","itemCount","newItem","oldNextIndex","nextOldItem","type","oldIndex","data","getSvgElement","markup","isNode","DOMParser","parseFromString","childNodes","getSvgMarkup","backgroundColor","first","indexOf","replace","match","fixNamespaces","temp","createElement","clone","cloneNode","_renderer","css","appendChild","innerHTML","getMarkup","getDefaultAlignment","getBoundingRect","_config","isRtlEnabled","rtlEnabled","outerWidth","outerHeight","rect","getBoundingClientRect","bottom","top","left","right","navigator","getNavigator","webkitRegExp","ieRegExp","ie11RegExp","msEdge","mozillaRegExp","browserFromUA","ua","matches","exec","browserName","browserVersion","webkit","test","_fromUA","userAgent","DataSource","toComparable","compileSetter","_class","_object","_variable_wrapper","unwrapVariable","unwrap","isWrapped","assign","bracketsToDots","expr","assignPropValue","propName","propValue","unwrapObservables","prepareOptions","path","split","functionAsIs","hasDefaultValue","defaultValue","pathPart","next","isArray","combineGetters","getters","compiledGetters","l","getter","last","_i","pathItem","ensurePropValueDefined","newValue","lastLevelIndex","currentValue","propertyName","levelIndex","propertyValue","readPropValue","isPropertyFunc","merge","isPlainObject","deepExtendArraySafe","caseSensitive","parseHTML","isTablePart","isTagName","tagWrappers","tagsCount","startTags","endTags","thead","td","col","tr","tbody","colgroup","caption","tfoot","th","html","container","createDocumentFragment","tags","firstRootTag","tagWrapper","lastChild","sessionStorage","validateTemplateSource","templateKey","suitableTemplatesByName","getNormalizedTemplateArgs","findTemplates","defaultCreateElement","addOneRenderedCall","acquireTemplate","acquireIntegrationTemplate","_child_default_template","_empty_template","_template","_template_base","_dom","templates","contents","concat","map","optionsString","attr","optionsParser","template","rawTemplates","templatesMap","groupBy","_findBestMatches$","suitableTemplate","_render","render","templateResult","onRendered","model","templateSource","normalizeTemplateElement","isRenderer","Template","isAsyncTemplate","skipTemplates","integrationTemplate","TemplateBase","createTemplate","defaultTemplates","EmptyTemplate","ChildDefaultTemplate","nodeType","getCurrentTemplateEngine","currentTemplateEngine","registerTemplateEngine","templateEngine","templateEngines","setTemplateEngine","SelectionFilterCreator","selectedItemKeys","isSelectAll","selectedItemKeyHashesMap","getLocalFilter","keyGetter","equalKeys","equalByReference","keyExpr","equalByValue","functionFilter","getExpr","filterExpr","filterExprPart","getFilterForPlainKey","itemKeyValue","currentKeyExpr","currentKeyValue","getFilterForCompositeKey","getCombinedFilter","dataSourceFilter","combinedFilter","keyOf","keyHash","getKeyHash","getSelectedItemKeyHashesMap","normalizeKeys","keyValue","separatedAdjustedValue","precision","getPrecision","separatedValue","toString","sourceValue","absValue","abs","isExponentValue","isExponential","integerPart","getExponent","toPrecision","_isEdgeBug","parseFloat","fitIntoRange","getExponentLength","_valueString$split$","valueString","getRemainderByDivision","dividend","divider","digitsCount","quotient","roundFloatPart","getRoot","inRange","solveCubicEquation","b","c","d","D2","sqrt","roots","u","q","D3","t","acos","k","PI","cos","trunc","ceil","minValue","maxValue","isMinValueUndefined","isMaxValueUndefined","toExponential","str","mantissa","positionOfDelimiter","x","n","NaN","y","pow","toFixed","Callback","_options","_list","_queue","_firing","_fired","_firingIndexes","_fireCore","context","firingIndexes","list","stopOnFalse","pop","unique","empty","fireWith","queue","syncStrategy","shift","fired","E0001","E0002","E0003","E0004","E0005","E0006","E0007","E0008","E0009","E0010","E0011","E0012","E0013","E0014","E0015","E0017","E0018","E0020","E0021","E0022","E0023","E0024","E0025","E0100","E0101","E0102","E0103","E0110","E0120","E0121","W0000","W0001","W0002","W0003","W0004","W0005","W0006","W0007","W0008","W0009","W0010","W0011","W0012","W0013","W0014","W0015","W0016","String","_value","_normalize","_generate","join","round","random","toJSON","underscore","titleize","humanize","dasherize","captionize","text","_upperCaseFirst","charAt","toUpperCase","_chop","upperFirst","DIGIT_CHARS","char","captionList","isPrevCharNewWord","isNewWord","resetActiveElement","extractTemplateMarkup","createTextElementHiddenCopy","contains","closestCommonParent","clipboardText","clearSelection","activeElement","getActiveElement","body","getBody","blur","selection","getSelection","removeAllRanges","startTarget","endTarget","$startTarget","$endTarget","$startParents","parents","$endParents","templateTag","$node","is","eq","append","$element","trim","children","event","clipboard","originalEvent","clipboardData","getData","setData","isTextNode","parentNode","isDocument","documentElement","document","compareDocumentPosition","DOCUMENT_POSITION_CONTAINS","elementStyles","getComputedStyle","includePaddings","fontStyle","fontVariant","fontWeight","fontSize","fontFamily","letterSpacing","border","paddingTop","paddingRight","paddingBottom","paddingLeft","visibility","whiteSpace","position","config","defaultCurrency","oDataFilterToLower","serverDecimalSeparator","decimalSeparator","thousandsSeparator","forceIsoDateParsing","wrapActionsBeforeExecute","useLegacyStoreResult","useJQuery","editorStylingMode","useLegacyVisibleIndex","floatingActionButtonConfig","icon","closeIcon","label","at","my","offset","maxSpeedDialActionCount","shading","direction","ex","deprecatedFields","configMethod","newConfig","deprecatedField","message","log","DevExpress","_element_data","_style","_size","_html_parser","renderer","initRender","selector","getDocument","querySelectorAll","toArray","dxRenderer","repeatMethod","setAttributeValue","attrName","setAttribute","removeAttribute","show","toggle","hide","toggleClass","getAttribute","prop","removeAttr","setProperty","addClass","className","removeClass","hasClass","classNames","classList","setClass","partialName","isOuter","isInner","getDocumentElement","paddings","borders","margins","getSize","sizeAdjustment","getElementBoxParams","isBorderBox","boxSizing","Number","padding","setStyle","appendElements","nextSibling","createTextNode","tagName","tBodies","insertElement","setCss","style","isNaN","styleProp","normalizeStyleProp","prepend","firstChild","prependTo","appendTo","insertBefore","insertAfter","before","after","wrap","wrapper","wrapInner","replaceWith","cleanDataRecursive","removeElement","detach","setText","textContent","val","find","nodes","isElementNode","elementId","queryId","querySelector","isVisible","offsetWidth","offsetHeight","getClientRects","elementMatches","j","not","siblings","parentChildNodes","node","callback","closest","prev","previousSibling","targets","target","emptyArray","getWindowByElement","defaultView","win","ownerDocument","docElem","pageYOffset","clientTop","pageXOffset","clientLeft","offsetParent","marginTop","marginLeft","parentOffset","nodeName","offsetProp","scrollWindow","scrollTo","directionStrategy","removeData","rendererWrapper","pointerEvents","nativeScrolling","inputType","animation","stylePropPrefix","transitionEndEventName","transition","touchEvents","touch","supportProp","_getNavigator","maxTouchPoints","msMaxTouchPoints","pointerEnabled","transitionEndEventNames","webkitTransition","MozTransition","OTransition","msTransition","input","hasWindowProperty","detectTouchEvents","hasProperty","isPointerEnabled","ensureDefined","canUsePointerEvent","detectPointerEvent","_devices$real","real","platform","isMac","mac","isNativeScrollingSupported","create","createQueue","enqueue","_deferred","discardPendingTasks","_tasks","_busy","task","then","when","always","removeTaskCallback","busy","_utils","OperationManager","_counter","_deferreds","deferred","operationId","cancel","reject","CANCELED_TOKEN","cancelAll","_dependency_injector","nativeXMLHttpRequest","getXhr","XMLHttpRequest","queryImpl","_array_query","_remote_query","array","remote","_query_adapters","remoteQueryImpl","url","queryOptions","tasks","createTask","executorTask","_adapterFactory","_adapter","_taskQueue","_currentTask","_mergedSortArgs","Deferred","rejectWithNotify","error","handler","errorHandler","_errorHandler","mergeSortTask","errors","adapter","optimize","unshift","head","unmergedTasks","unmergeSortTasks","done","extra","clientChain","resolve","fail","promise","query","encodeHtml","placeholderReg","RegExp","replaceAll","quadToObject","isEmpty","_typeof","Symbol","iterator","encodeRegExp","raw","quad","h","v","splitQuad","isFinite","searchToken","replacementToken","SPACE_REGEXP","_template_engine_registry","compile","_TemplateBase","subClass","superClass","_this","_element","_renderCore","transclude","_compiledTemplate","jQuery","tmpl","jsrender","Mustache","Hogan","Handlebars","doT","Options","_option_manager","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_defineProperties","props","descriptor","defaultOptions","optionsByReference","deprecatedOptions","_deprecatedCallback","_startChangeCallback","_endChangeCallback","_deprecated","_deprecatedNames","_initDeprecatedNames","_optionManager","OptionManager","onRelevantNamesPrepared","silent","_setRelevantNames","_cachedOptions","_rules","Constructor","protoProps","staticProps","optionName","_getByRules","_notifyDeprecated","option","info","normalizedName","_normalizeName","_setField","_clearField","fieldName","fieldObject","previousFieldName","deprecate","alias","addRules","applyRules","dispose","noop","onChanging","callBack","onChanged","onDeprecated","onStartChange","onEndChange","isInitial","initialValue","initial","_initial","isGetter","reset","_this2","field","getOwnPropertyDescriptors","defineProperties","_objectSpread","getAliasesByName","_this3","aliasName","isDeprecated","cache","_initialOptions","rulesOptions","_setByReference","afterCleanData","afterCleanDataFunc","beforeCleanData","beforeCleanDataFunc","cleanData","cleanSelf","childElements","getElementsByTagName","getDataStrategy","strategyChanging","setDataStrategy","_weak_map","_events_engine","_memorized_callbacks","dataMap","elementData","elements","off","_comparator","cachedSetters","_optionsByReference","_changingCallback","_changedCallback","_namePreparedCallbacks","_setPreparedValue","previousValue","equals","_prepareRelevantNames","valueName","_name","oldValue","hasNegation","PostponedOperations","_toConsumableArray","arr","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","minLen","_unsupportedIterableToArray","TypeError","_nonIterableSpread","len","arr2","_postponedOperations","postponedPromise","promises","completePromise","callPostponedOperations","operation","TemplateManager","_function_template","_template_manager","DX_POLYMORPH_WIDGET_TEMPLATE","FunctionTemplate","widgetName","widget","widgetElement","widgetOptions","_createComponent","anonymousTemplateName","_tempTemplates","_defaultTemplates","_anonymousTemplateName","_createElement","_createTemplateIfNeeded","createDefaultOptions","integrationOptions","watchMethod","skipImmediate","useDeferUpdateForTemplates","addDefaultTemplates","tempTemplate","extractTemplates","$el","_extractTemplates","anonymousTemplateMeta","_extractAnonymousTemplate","suitableTemplates","_ref2","_createTemplate","$anonymousTemplate","isEmptyText","cachedTemplate","getTemplate","_ref3","templateSourceResult","orderEach","Clone","sort","isNumberX","isNumberY","assignValueToProperty","property","assignByReference","changes","extendComplexObject","prevValue","ready","errorMessageFromXhr","unloading","textStatusMessages","timeout","parsererror","xhr","textStatus","status","explainTextStatus","statusText","aggregators","seed","sum","avg","pair","finalize","processRequestResultLock","lockDeferred","lockCount","obtain","release","XHR_ERROR_UNLOAD","normalizeBinaryCriterion","crit","normalizeSortingInfo","desc","compare","keysEqual","key1","key2","names","throttleChanges","throttled","timeoutId","lastArgs","setTimeout","throttle","_cache","trivialPromise","rejectedPromise","isDisjunctiveOperator","condition","isConjunctiveOperator","isUnaryOperation","isGroupCriterion","base64_encode","code","bytes","charCodeAt","stringToByteArray","getBase64Char","octet1","octet2","octet3","_query_implementation","impl","extendFromObject","overrideExistingValues","deep","targetValue","sourceValueIsArray","_date","_default_date_names","ISO8601_PATTERN","ISO8601_TIME_PATTERN","ISO8601_PATTERN_PARTS","DATE_SERIALIZATION_PATTERN","dateParser","skipISO8601Parsing","parts","getTimePart","timeZoneHour","timeZoneMinute","part","UTC","parseISO8601String","isDefaultSerializationFormat","getDateSerializationFormat","parsedValue","parse","parseDate","useUtc","getIso8601Format","deserializeDate","serializeDate","serializationFormat","getFormatter","getImageSourceType","getImageContainer","_array_utils","_custom_store","_events_strategy","_operation_manager","_utils2","_options$reshapeOnPus","normalizeDataSourceOptions","_eventsStrategy","EventsStrategy","_store","store","_changedTime","pushAggregationTimeout","pushDeferred","lastPushWaiters","throttlingTimeout","throttlingPushHandler","_onPush","_onPushHandler","_aggregationTimeoutId","waitFor","on","_storeLoadOptions","_extractLoadOptions","_mapFunc","_postProcessFunc","postProcess","_pageIndex","pageIndex","_pageSize","pageSize","_loadingCount","_loadQueue","_createLoadQueue","_searchValue","searchValue","_searchOperation","searchOperation","_searchExpr","searchExpr","_paginate","paginate","_reshapeOnPush","reshapeOnPush","_operationManager","_init","_items","_userData","_totalCount","_isLoaded","group","_isLastPage","_this$_delayedLoadTas","clearTimeout","_delayedLoadTask","abort","_disposed","customNames","_customLoadOptions","loadOptions","items","newIndex","isBoolean","isLastPage","generateStoreLoadOptionAccessor","normalizedArgs","normalizeStoreLoadOptionAccessorArguments","newFilter","_len2","_key2","select","_len3","_key3","requireTotalCount","op","argc","_this$_store","totalCount","isLoaded","isLoading","beginLoading","_changeLoadingCount","endLoading","increment","oldLoading","newLoading","fireEvent","_scheduleLoadCallbacks","_scheduleFailCallbacks","_this4","_len4","_key4","_fireChanged","_scheduleChangedCallbacks","_this5","loadSingle","_this6","_createStoreLoadOptions","handleDone","_applyMapFunction","skip","refresh","searchString","shouldForceByKey","_byKeyViaLoad","byKey","take","load","_this7","loadTask","isPending","_loadFromStore","loadOperation","_createLoadOperation","delay","executeAsync","_this8","groupLevel","dataSourceChanges","applyBatch","keyInfo","groupCount","useInsertIndex","_this9","storeLoadOptions","reload","clearRawDataCache","_addSearchOptions","_useDefaultSearch","_addSearchFilter","userData","searchFilter","pendingDeferred","_this10","handleSuccess","loadResult","normalizeLoadResult","_processStoreLoadResult","_this11","resolvePendingDeferred","_applyPostProcessFunction","mapDataRespectingGrouping","eventName","eventHandler","subscribeReady","readyCallbacks","windowExists","getReadyState","doScroll","BindableTemplate","_remove_event","watchChanges","rawData","fields","fieldsMap","fieldsDispose","globalDispose","globalWatch","dataWithRawFields","isPrimitive","resolvedData","missedFields","watchHandlers","fieldGetter","fieldsWatch","_fields","_fieldsMap","_watchMethod","$container","_error","handlers","ERROR_MESSAGES","E4000","E4001","E4002","E4003","E4004","E4005","E4006","E4007","E4008","E4009","E4010","E4011","E4012","E4013","E4014","E4015","E4016","E4017","E4018","E4019","E4020","E4021","E4022","E4023","E4024","W4000","W4001","W4002","isPromise","isEvent","isDeferred","types","typeOfObject","proto","jquery","preventDefault","BaseClass","InjectedClass","initialFields","injectFields","injectionObject","inject","resetInjection","_ajax","_abstract_store","_array_store","_excluded","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","state","originalArguments","mapGroup","level","mapper","mapRecursive","groupInfo","createCustomStoreFromUrl","normalizationOptions","sendRequest","dataType","loadMode","fromUrlLoadMode","storeConfig","createCustomStoreFromLoadFunc","createStoreFromConfig","Promise","resolver","all","_resize_callbacks","_component","_public_component","_short","DOMComponent","_getDefaultOptions","elementAttr","disabled","_useTemplates","_customClass","attachInstanceToElement","_$element","_dispose","_getSynchronizableOptionsForCreateComponent","_visibilityChanged","_dimensionChanged","_attachWindowResizeCallback","_initTemplateManager","_setOptionsByDevice","instanceCustomRules","_classCustomRules","_isInitialOptionValue","_convertRulesToOptions","_isDimensionChangeSupported","windowResizeCallBack","_windowResizeCallBack","_renderComponent","_initMarkup","_renderElementAttributes","_toggleRTLDirection","_renderVisibilityChange","_renderDimensions","_attachVisibilityChangeHandlers","attributes","class","_attachDimensionChangeHandlers","_isVisibilityChangeSupported","_getOptionValue","_isCssUpdateRequired","namespace","NAME","resize","_isHidden","_isVisible","_checkVisibilityChanged","action","_clean","_modelByElement","modelByElement","_invalidate","_isUpdateAllowed","_requireRefresh","_refresh","_templateManager","_detachWindowResizeCallback","rtl","component","synchronizableOptions","grep","_this$option2","_this$option3","nestedComponentOptions","nestedComponentConfig","_extendConfig","getInstance","optionChangedHandler","extendConfig","_defaultActionConfig","_defaultActionArgs","_optionChanged","_removeAttributes","attrs","_removeClasses","cssClass","_updateDOMComponent","renderRequired","endUpdate","_isInitializingRequired","resetOption","initialOption","_getAnonymousTemplateName","_this$option4$integra","_initTemplates","_this$_templateManage","anonymousTemplate","_ref4","_getTemplateByOption","_getTemplate","_saveTemplate","_setOptionWithoutOptionChange","getInstanceByElement","rule","_data_source","_disposeDataSource","_refreshDataSource","_initDataSource","_loadDataSource","widgetDataSourceOptions","dataSourceType","dataSourceOptions","_isSharedDataSource","_dataSource","_dataSourceType","_addDataSourceHandlers","_addDataSourceChangeHandler","_addDataSourceLoadErrorHandler","_addDataSourceLoadingChangedHandler","_addReadyWatcher","_ready","dataSource","_proxiedDataSourceChangedHandler","_proxiedDataSourceLoadErrorHandler","_proxiedDataSourceLoadingChangedHandler","_loadSingle","_isDataSourceLoading","getDataSource","_wrappedHandler","_query","initialArray","createQuery","_byKeyImpl","indexByKey","_insertImpl","insert","_pushImpl","_updateImpl","update","_removeImpl","clear","changeCallback","originalViewPort","$originalViewPort","$current","isNewViewportFound","prevViewPort","setWidth","setHeight","jsPrefixes","cssPrefixes","Webkit","Moz","O","ms","getStyles","originalName","prefixedProp","cssPrefixesCount","jsPrefix","forEachPrefixes","specific","pxExceptions","setDimensionProperty","applyChanges","_options$keyExpr","_options$immutable","immutable","disableCache","logError","createObjectWithChanges","_guid","getItems","findItems","collapsedItems","setDataByKeyMapValue","_dataByKeyMap","_dataByKeyMapLength","cloneInstance","instanceWithoutPrototype","resultItems","dataByKeyMap","arrayLength","generateDataByKeyMap","getErrorResult","isBatch","errorCode","keyOrKeys","hasKey","getCacheValue","newTarget","getHasKeyCacheValue","splitPair","pairToObject","normalizeKey","escapeRegExp","denormalizeKey","deferUpdater","deferUpdate","deferRenderer","deferRender","asyncNoop","applyServerDecimalSeparator","normalizedContext","timerId","rejectWith","resolveWith","executingName","delayedFuncs","delayedNames","delayedDeferreds","deferExecute","oldExecutingName","currentDelayedCount","that","targetFilter","mapFn","bestMatches","maxMatchCount","itemSrc","matchCount","paramName","mismatch","valueItem","_raw$x","_raw$y","id","charCode","fromCharCode","preventRound","string","separator","checkFunction","invert","expectedCheck","arraysEqualByValue","array1","array2","depth","objectsEqualByValue","object1","object2","strict","_propertyName","comparisonResult","reverseEach","logger","debug","getConsoleMethod","console","warn","assert","assertParam","parameter","_console","isWritableWrapped","multiLevelGroup","g","arrangeSortingInfo","sortInfo","filteredGroup","queryByOptions","isCountQuery","keepInitialKeyOrder","_http_request","_promise","createScript","script","removeScript","scriptNode","removeChild","appendToHead","getHead","evalScript","getRequestOptions","headers","params","paramsAlreadyString","location","href","upload","encodeURIComponent","paramsConvert","getMethod","parameters","getRequestHeaders","defaultContentType","contentType","getContentTypeHeader","Accept","scriptAccept","accepts","xml","json","jsonp","getAcceptHeader","crossDomain","async","originAnchor","urlAnchor","protocol","host","isCrossDomain","needScriptEvaluation","callbackName","jsonpCallback","callbackParameter","getJsonpOptions","requestOptions","src","events","loadHandler","evalCrossDomainScript","open","username","password","customStatus","setHttpTimeout","onreadystatechange","readyState","hasContent","responseType","responseText","response","getDataFromResponse","onprogress","onloadstart","onabort","xhrFields","setRequestHeader","beforeSend","send","owner","_events","_owner","hasEvent","eventArgs","originalAdd","renderedCallbacks","_visibility_change","$result","_ensureResultInContainer","resultInContainer","triggerShownEvent","Action","_action","_context","_beforeExecute","beforeExecute","_afterExecute","afterExecute","_validatingTargetName","validatingTargetName","excludeValidators","_excludeValidators","execute","handled","argsBag","_validateAction","_executeAction","executors","_executor$validate","executor","validate","_executor$execute","registerExecutor","unregisterExecutor","createValidatorByTargetElement","$target","readOnly","undefined","_DeferredObj","fromPromise","setStrategy","whenFunc","deferredConfig","_state","catch","callbackResult","contexts","resolvedCount","updateState","getCurrentScreenFactor","defaultScreenFactorFunc","windowObject","screenFactorCallback","clientWidth","_store_helper","ensureRequiredFuncOption","throwInvalidUserFuncResult","createUserFuncFailureHandler","promiseArguments","getResponseHeader","arg","invokeUserLoad","userResult","userFunc","_loadFunc","runRawLoad","userFuncOptions","continuation","__rawData","loadPromise","__rawDataPromise","_cacheRawData","runRawLoadWithQuery","countOnly","itemsQuery","totalCountQuery","rawDataQuery","waitList","enumerate","asyncResult","useDefaultSearch","_loadMode","cacheRawData","_totalCountFunc","_byKeyFunc","_insertFunc","_updateFunc","_removeFunc","_totalCountImpl","invokeUserTotalCountFunc","_addFailHandlers","_loadImpl","extraOptions","_requireKey","runRawLoadWithKey","invokeUserByKeyFunc","serverResponse","storeImpl","Store","_keyGetter","_withLock","callbackValues","callbackKey","beforePushArgs","registerClass","_component_registrator_callbacks","componentClass","isMemberInvoke","memberArgs","memberValue","_event_registrator","triggerHandler","noBubble","setup","componentInstance","disposeFn","getName","one","componentNames","nextAnonymousComponent","newName","generatedName","_index","_postponed_operations","getEventName","actionName","_setDeprecatedOptions","_deprecatedOptions","_getDeprecatedOptions","onInitialized","onOptionChanged","onDisposing","defaultOptionsRules","_defaultOptionsRules","_setOptionsByReference","_getOptionsByReference","_optionChangedCallbacks","_disposingCallbacks","eventsStrategy","_updateLockCount","postponedOperations","_createOptions","beginUpdate","_initialized","_optionChanging","_logDeprecatedOptionWarning","_notifyOptionChanged","onInitializing","_initOptions","_createOptionChangedAction","since","_logDeprecatedComponentWarning","_optionChangedAction","_createActionByOption","_createDisposingAction","_disposingAction","_lockUpdate","_unlockUpdate","_initializing","isInitialized","_commitUpdate","_initializeComponent","optionNames","_cancelOptionChange","_createAction","actionSource","actionValue","actionFunc","beforeActionExecute","wrappedAction","hasActionSubscription","isOptionDeprecated","_this$_options","baseErrors","makeError","combineMessage","formatMessage","formatDetails","_string","details","getErrorUrl","__id","__details","ERROR_URL","parseHeight","getVisibleHeight","getVerticalOffsets","addOffsetToMinHeight","addOffsetToMaxHeight","SPECIAL_HEIGHT_VALUES","getSizeByStyles","styles","beforeName","afterName","margin","boxParams","clientRect","boundingClientRect","size","getBoxSizingOffset","getContainerHeight","getHeightWithOffset","maxHeight","minHeight","withMargins","Iterator","countable","ArrayIterator","WrappedIterator","MapIterator","hasNext","defaultCompare","xValue","yValue","SortIterator","_wrap","thenBy","sortedIter","_ensureSorted","_compare","_unwrap","record","wrappedItem","xIndex","yIndex","rulesCount","compareResult","compileCriteria","compileEquals","negate","useStrictComparison","ops","isConjunctiveNextOperator","compileGroup","criteria","compileUnary","getterValue","compileBinary","FilterIterator","GroupIterator","_ensureGrouped","groupedIter","hash","SelectIterator","SliceIterator","pos","arrayQueryImpl","handleError","aggregateCore","aggregator","accumulator","standardAggregate","chainQuery","selectProp","sortBy","MAX_VALUE","aggregate","maxLevel","normalizeArg","xItem","yItem","nativeDOMAdapterStrategy","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","doc","_document","createElementNS","ns","parentElement","newElement","nextSiblingElement","isAdd","resultClassName","classNameSupported","elementClass","classIndex","getLocation","hasDocumentProperty","addEventListener","removeEventListener","_storage","_view_port","KNOWN_UA_TABLE","iPhone","iPhone5","iPhone6","iPhone6plus","iPad","iPadMini","androidPhone","androidTablet","msSurface","desktop","DEFAULT_DEVICE","deviceType","phone","tablet","android","ios","generic","grade","uaParsers","isPhone","isTablet","isDesktop","screen","devices","Devices","_realDevice","_getDevice","_currentDevice","_currentOrientation","changed","_recalculateOrientation","deviceOrName","_forced","_getDeviceOrNameFromWindowScope","_getDeviceNameFromSessionStorage","forceDevice","orientation","isForced","isRippleEmulator","tinyHippos","_getCssClasses","realDevice","isSimulator","attachCssClasses","_deviceClasses","detachCssClasses","_isSimulator","self","forceSimulator","deviceName","_fromConfig","getItem","shortcuts","parser","_changeOrientation","$window","windowWidth","_currentWidth","viewPortElement","viewPort","prevViewport","wrapToArray","uniqueValues","removeDuplicates","normalizeIndexes","intersection","entity","Set","what","indexParameterName","currentItem","needIndexCallback","indexedItems","parameterIndex","cb"],"mappings":"4GASAA,EAAQC,aAAU,EAClB,IAGgCC,EAH5BC,GAG4BD,EAHKE,EAAQ,OAI3BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAJfI,EAAQF,EAAQ,IAOpB,IAAIG,EAAiB,SAASC,EAAWC,EAAYC,GACjD,OAAO,WACH,IAAIC,EAAeC,KAAKC,SACxBD,KAAKC,SAAWL,EAAUC,GAC1B,IACI,OAAOC,EAAOI,MAAMF,KAAMG,WAC5B,QACEH,KAAKC,SAAWF,KASxBK,EAAW,SAASC,GACpB,IACIC,EACAC,EACAC,EACJ,IAAKH,EACD,OALOL,KAOX,IAAKO,KAAcF,EACfG,EAASH,EAAQE,GACjBD,EAAa,oBATNN,KASiCS,UAAUF,IAAe,oBAAsBC,EAThFR,KAUFS,UAAUF,GAAcD,EAAaX,EAVnCK,KAUuDU,OAAOD,UAAWF,EAAYC,GAAUA,EAE1G,OAZWR,MAcXW,EAAU,WACV,IACIC,EACAC,EACAC,EAHAC,EAAWf,KAIXgB,EAAyBC,OAAOR,UAAUS,eAAeC,KAAKJ,GAC9DK,GAAcJ,EAAuB,oBAAsBA,EAAuB,sBAKtF,IAJII,IACAL,EAASM,eAAiBN,EAASM,eAAeC,MAAM,GACxDP,EAASQ,mBAAqBR,EAASQ,mBAAmBD,MAAM,IAE/DR,EAAI,EAAGA,EAAIX,UAAUqB,OAAQV,IAQ9B,IAAKD,KAPLD,EAAWT,UAAUW,IACRW,MACTV,EAASM,eAAeK,KAAKd,EAASa,MAEtCb,EAASe,UACTZ,EAASQ,mBAAmBG,KAAKd,EAASe,UAEjCf,EACL,SAAWC,GAAQ,aAAeA,IAGtCE,EAASN,UAAUI,GAAQD,EAASC,IAG5C,OAAOE,GAEPa,EAAa,SAASC,GAGtB,IAFwBZ,OAAOR,UAAUS,eAAeC,KAAKnB,KAArCiB,CAA2C,WAC5BjB,KAAKU,OAC5B,CACZ,IAAIoB,EAAYb,OAAOc,eAAe/B,MACtC,OAAO8B,IAAcD,GAAeC,EAAUF,WAAWC,GAEzD,OAAI7B,KAAKU,SAAWmB,MAGf7B,KAAKU,SAAWV,KAAKU,OAAOkB,aAG1B5B,KAAKU,OAAOkB,WAAWC,IAGlCG,EAAW,WACX,MAAMzC,EAAQF,QAAQ4C,MAAM,UAE5BC,EAAa,WACb,IAAIC,EAASlB,OAAOR,UAAUS,eAC9B,OAAO,SAASkB,EAAQC,GACpB,IAAK,IAAIC,KAAOF,EAAQ,CACpB,IAAKD,EAAOI,KAAKH,EAAQE,GACrB,OAEJD,EAAYC,GAAOF,EAAOE,KAPrB,GAWbE,EAAY,aAChBA,EAAUC,QAAU,SAASpC,GACzB,IAAIqC,EAAY,WACZ,IAAK1C,OAAQ,EAAIN,EAAMiD,UAAU3C,OAAS,oBAAsBA,KAAK4C,YACjE,MAAMrD,EAAQF,QAAQ4C,MAAM,SAEhC,IAIInB,EAJA+B,EAAW7C,KACXyB,EAAOoB,EAASpB,KAChBqB,EAAgBD,EAASD,YAAYvB,eACrC0B,EAAoBF,EAASD,YAAYrB,mBAE7C,IAAKT,EAAI,EAAGA,EAAIgC,EAActB,OAAQV,IAClCgC,EAAchC,GAAGyB,KAAKM,GAK1B,IAHIpB,GACAA,EAAKvB,MAAM2C,EAAU1C,WAEpBW,EAAI,EAAGA,EAAIiC,EAAkBvB,OAAQV,IACtCiC,EAAkBjC,GAAGyB,KAAKM,IAelC,OAZAH,EAAUjC,UAnGO,SAASnB,GAC1B,IAAI0D,EAAO,aAEX,OADAA,EAAKvC,UAAYnB,EAAImB,UACd,IAAIuC,EAgGWC,CAAejD,MACrCkC,EAAWlC,KAAM0C,GACjBA,EAAUD,QAAUzC,KAAKyC,QACzBC,EAAUV,SAAWA,EACrBU,EAAUtC,SAAWA,EACrBsC,EAAU/B,QAAUA,EACpB+B,EAAUd,WAAaA,EACvBc,EAAUhC,OAASV,KACnB0C,EAAUrB,eAAiBrB,KAAKqB,eAAiBrB,KAAKqB,eAAeC,MAAM,GAAK,GAChFoB,EAAUnB,mBAAqBvB,KAAKuB,mBAAqBvB,KAAKuB,mBAAmBD,MAAM,GAAK,GAC5FoB,EAAUjC,UAAUmC,YAAcF,EAClCA,EAAUtC,SAASC,GACZqC,GAEXF,EAAUR,SAAWA,EACrB,IAAIkB,EAAWV,EACfpD,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCCxIzBD,EAAQC,aAAU,EAClB,IAMgCC,EAN5BI,EAAQF,EAAQ,IAChB4D,EAAQ5D,EAAQ,KAChB6D,EAAY7D,EAAQ,IACpB8D,EAAa9D,EAAQ,KACrB+D,GAE4BjE,EAFME,EAAQ,OAG5BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAInB,SAASkE,EAAWC,EAAQC,EAAMC,GAe9B,OAbIH,EADAI,IACaC,QAAQC,UAER,SAASL,EAAQC,EAAMC,GAChC,IAAII,EAAI,CAAC,MACTA,EAAErC,KAAKxB,MAAM6D,EAAGL,GAChB,IACIb,EAAW,IADGmB,SAAS7C,KAAKjB,MAAMuD,EAAQM,IAK9C,OAHIJ,GACAM,EAAgBpB,EAAUc,EAAMlD,WAE7BoC,IAGG3C,MAAM,KAAMC,WAGlC,SAASyD,IACL,GAAI,qBAAuBC,UAAYA,QAAQC,UAC3C,OAAO,EAEX,GAAID,QAAQC,UAAUI,KAClB,OAAO,EAEX,GAAI,oBAAsBC,MACtB,OAAO,EAEX,IAEI,OADAC,QAAQ3D,UAAU4D,QAAQ9B,KAAKsB,QAAQC,UAAUM,QAAS,IAAI,iBACvD,EACT,MAAOE,GACL,OAAO,GAIf,SAASL,EAAgBM,EAAGC,GAKxB,OAJAP,EAAkBhD,OAAOwD,gBAAkB,SAASF,EAAGC,GAEnD,OADAD,EAAEG,UAAYF,EACPD,IAEYA,EAAGC,GAE9B,IAAIG,EAASpB,EAASlE,QAAQuF,MAAQC,SAAStB,EAASlE,QAAQyF,UAAY,GACxEC,EAAoB,CAAC,cAAe,SAAU,SAAU,OAAQ,MAAO,OAAQ,QAAS,UAAW,QACnGC,EAAiB,SAASA,EAAeC,GACzC,OAAQA,GACJ,IAAK,cACD,OAAO,EACX,IAAK,SACD,OAAO,IAAMD,EAAe,eAChC,IAAK,SACD,OAAO,GAAKA,EAAe,UAC/B,IAAK,OACD,OAAO,GAAKA,EAAe,UAC/B,IAAK,MACD,OAAO,GAAKA,EAAe,QAC/B,IAAK,OACD,OAAO,EAAIA,EAAe,OAC9B,IAAK,QACD,OAAO,GAAKA,EAAe,OAC/B,IAAK,UACD,OAAO,EAAIA,EAAe,SAC9B,IAAK,OACD,OAAO,IAAMA,EAAe,OAChC,QACI,OAAO,IAiCfE,EAAiC,SAASD,GAC1C,IAAInE,EACAqE,EACAC,EACAL,EAAoB,CAAC,cAAe,SAAU,SAAU,OAAQ,MAAO,QAAS,QAChFM,EAAS,GACb,IAAKvE,EAAIiE,EAAkBvD,OAAS,EAAGV,GAAK,EAAGA,IAC3CsE,EAAmBL,EAAkBjE,IACrCqE,EAAgBG,KAAKC,MAAMN,EAAQD,EAAeI,KAC9B,IAChBC,EAAOD,EAAmB,KAAOD,EACjCF,GAASO,EAA8BJ,EAAkBD,IAGjE,OAAOE,GAeX,SAASG,EAA8BC,EAAUC,GAC7C,OAAOV,EAAeS,GAAYC,EAGtC,SAASC,EAAoBC,GACzB,IACI9E,EADA+E,GAAe,EAEnB,OAAI,EAAInG,EAAMoG,UAAUF,GACbA,GAEP,EAAIlG,EAAMqG,UAAUH,KACpB,EAAIvC,EAAU2C,MAAMJ,GAAc,SAAStD,EAAK2C,GAC5C,IAAKnE,EAAI,EAAGA,EAAIiE,EAAkBvD,OAAQV,IAClCmE,IAAU3C,IAAQyC,EAAkBjE,GAAK,KAAOwB,IAAQyC,EAAkBjE,KAAO+E,EAAc/E,IAC/F+E,EAAc/E,MAInBiE,EAAkBc,IAEtB,GAEX,IAAII,EAA0B,CAC1BC,YAAa,cACbC,OAAQ,WACRC,OAAQ,YACRC,KAAM,YACNC,IAAK,MACLC,KAAM,MACNC,MAAO,QACPC,QAAS,UACTC,KAAM,QAMV,IAAIC,EAAa,SAASH,GACtB,OAAOlB,KAAKC,MAAMiB,EAAQ,IAE1BI,EAAuB,SAASJ,GAChC,OAAO,EAAIG,EAAWH,IAG1B,SAASK,EAA6BC,EAAMC,EAAcC,EAAgBC,GACtEH,EAAO,IAAII,KAAKJ,EAAKK,WACrB,IACIC,EACAZ,EAFAa,EAAU,IAAIH,KAAKJ,EAAKK,WAGxB/B,EAAmBO,EAAoBoB,GAC3C,OAAQ3B,GACJ,IAAK,SACD0B,EAAO,IAAII,KAAK,IAAM5B,KAAKC,MAAM8B,EAAQF,UAAY,MACrD,MACJ,IAAK,SACDL,EAAO,IAAII,KAAK,IAAM5B,KAAKC,MAAM8B,EAAQF,UAAY,MACrD,MACJ,IAAK,OACDL,EAAO,IAAII,KAAK,KAAO5B,KAAKC,MAAM8B,EAAQF,UAAY,OACtD,MACJ,IAAK,OACDL,EAAKQ,SAAS,GAClB,IAAK,QACDR,EAAKS,QAAQ,GACjB,IAAK,MACDT,EAAKU,SAAS,EAAG,EAAG,EAAG,GACvB,MACJ,IAAK,QACDV,EAAOW,EAAiBX,EAAMG,GAAkB,IAC3CO,SAAS,EAAG,EAAG,EAAG,GACvB,MACJ,IAAK,UACDJ,EAAoBR,EAAqBE,EAAKY,YAC9ClB,EAAQM,EAAKY,WACbZ,EAAKS,QAAQ,GACbT,EAAKU,SAAS,EAAG,EAAG,EAAG,GACnBhB,IAAUY,GACVN,EAAKQ,SAASF,GAM1B,OAHIJ,GAAkB,SAAW5B,GAAoB,WAAaA,GAAoB,WAAaA,GAC/FuC,EAAeN,EAASP,GAErBA,EAGX,SAASc,EAASd,GACd,OAAOD,EAA6BC,EAAM,OA+B9C,SAASe,EAAgB5C,EAAO6C,EAAUC,GACtC,IAAI1C,EAAS,IAAI6B,KAAKjC,EAAMkC,WACxBa,GAAiB,EAAItI,EAAMoG,UAAUgC,GAAYG,EAAwBH,EAASI,gBAAiB,EAAIxI,EAAMyI,WAAWL,GAAY5C,EAA+B4C,GAAYA,EA4BnL,OA3BIE,EAAeI,OACf/C,EAAOgD,YAAYhD,EAAOiD,cAAgBN,EAAeI,MAAQL,GAEjEC,EAAeO,UACflD,EAAOiC,SAASjC,EAAOqC,WAAa,EAAIM,EAAeO,SAAWR,GAElEC,EAAeQ,QACfnD,EAAOiC,SAASjC,EAAOqC,WAAaM,EAAeQ,OAAST,GAE5DC,EAAeS,OACfpD,EAAOkC,QAAQlC,EAAOqD,UAAY,EAAIV,EAAeS,MAAQV,GAE7DC,EAAeW,MACftD,EAAOkC,QAAQlC,EAAOqD,UAAYV,EAAeW,KAAOZ,GAExDC,EAAeY,OACfvD,EAAOwD,QAAQxD,EAAO8B,UAAY,KAAOa,EAAeY,MAAQb,GAEhEC,EAAec,SACfzD,EAAOwD,QAAQxD,EAAO8B,UAAY,IAAMa,EAAec,QAAUf,GAEjEC,EAAee,SACf1D,EAAOwD,QAAQxD,EAAO8B,UAAY,IAAMa,EAAee,QAAUhB,GAEjEC,EAAegB,cACf3D,EAAOwD,QAAQxD,EAAO8B,UAAYa,EAAegB,aAAejB,GAE7D1C,EAEX,IAAI4D,EAAc,SAAShE,EAAO6C,EAAUoB,GACxC,IAAInB,EAAMmB,GAAc,EAAI,EAC5B,OAAO,EAAIxJ,EAAMyJ,QAAQlE,GAAS4C,EAAgB5C,EAAO6C,EAAUC,IAAO,EAAI3E,EAAMgG,QAAQnE,EAAQ6C,EAAWC,EAAKD,IA8ExH,SAASuB,EAAgBvC,GAErB,OADiBwC,EAAuBxC,EAAKwB,cAAexB,EAAKY,WAAa,EAAG,GAC/DgB,UA8CtB,SAAST,EAAwBsB,GAC7B,IAAIlE,EAAS,GACb,OAAQkE,GACJ,IAAK,OACDlE,EAAO+C,MAAQ,EACf,MACJ,IAAK,QACD/C,EAAOmD,OAAS,EAChB,MACJ,IAAK,UACDnD,EAAOmD,OAAS,EAChB,MACJ,IAAK,OACDnD,EAAOoD,MAAQ,EACf,MACJ,IAAK,MACDpD,EAAOsD,KAAO,EACd,MACJ,IAAK,OACDtD,EAAOuD,MAAQ,EACf,MACJ,IAAK,SACDvD,EAAOyD,QAAU,EACjB,MACJ,IAAK,SACDzD,EAAO0D,QAAU,EACjB,MACJ,IAAK,cACD1D,EAAO2D,aAAe,EAE9B,OAAO3D,EAOX,SAASmE,EAAiBC,EAAOC,GAC7B,OAAOC,EAASF,EAAOC,IAAUD,EAAM/B,aAAegC,EAAMhC,WAGhE,SAASiC,EAASF,EAAOC,GACrB,OAAOD,GAASC,GAASD,EAAMnB,gBAAkBoB,EAAMpB,cAmB3D,SAASsB,EAAwB9C,GAC7B,OAAOA,GAAQA,EAAKwB,cAAgBxB,EAAKwB,cAAgB,IAG7D,SAASuB,EAAqB/C,GAC1B,OAAOA,GAAQA,EAAKwB,cAAgBxB,EAAKwB,cAAgB,GAkB7D,SAASb,EAAiBX,EAAMG,GAC5B,IAAI6C,GAAShD,EAAKiD,SAAW9C,EAAiB,GAAK,EAC/C5B,EAAS,IAAI6B,KAAKJ,GAEtB,OADAzB,EAAOkC,QAAQT,EAAK4B,UAAYoB,GACzBzE,EAmCX,SAAS2E,EAAclD,EAAMmD,EAAKC,GAC9B,IAAIC,EAAiBrD,EACrB,OAAK,EAAIpH,EAAM0K,WAAWtD,KAGtB,EAAIpH,EAAM0K,WAAWH,IAAQnD,EAAOmD,IACpCE,EAAiBF,IAEjB,EAAIvK,EAAM0K,WAAWF,IAAQpD,EAAOoD,IACpCC,EAAiBD,GAEdC,GARIrD,EAWf,SAASa,EAAeN,EAASgD,GAC7B,IAAK,EAAI3K,EAAM0K,WAAW/C,GAA1B,CAGA,IAAIiD,EAAOD,EAAQE,WAAalD,EAAQkD,WACxC,GAAI,IAAMD,EAAV,CAGA,IAAIE,EAAO,IAAMF,IAAkB,KAAVA,GAAgB,EAAI,EACzCG,EAAQ,IAAIvD,KAAKmD,EAAQlD,UAAY,KAAOqD,IAC5CA,EAAO,GAAKC,EAAM/B,YAAc2B,EAAQ3B,YACxC2B,EAAQxB,QAAQ4B,EAAMtD,aAS9B,SAASuD,EAAuBT,EAAKC,GACjC,OAAO,IAAMA,EAAIS,oBAAsBV,EAAIU,qBAAuB,IAEtE,IAeIrB,EAAyB,SAAS5C,GAClC,IAAIrB,EAAS7B,EAAW0D,KAAM0D,MAAMnK,UAAUa,MAAMiB,KAAKpC,YAEzD,OADAkF,EAAOgD,YAAY3B,GACZrB,GAEPwF,EAAY,CACZ9F,kBAAmBA,EACnBG,+BAAgCA,EAChC4F,mBA1dqB,SAASlF,GAC9B,IAAIoD,EAAe,EASnB,OARI,EAAItJ,EAAMqG,UAAUH,KACpB,EAAIvC,EAAU2C,MAAMJ,GAAc,SAAStD,EAAK2C,GAC5C+D,GAAgBxD,EAA8BlD,EAAIyI,OAAO,EAAGzI,EAAId,OAAS,GAAIyD,OAGjF,EAAIvF,EAAMoG,UAAUF,KACpBoD,EAAexD,EAA8BI,EAAc,IAExDoD,GAidPgC,gBApgBkB,SAASC,EAAMC,GAEjC,OADevF,EAAoBsF,IAE/B,IAAK,cACD,MAAO,SACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,OACX,IAAK,OACD,MAAO,MACX,IAAK,MACD,OAAOC,EAAY,OAAS,QAChC,IAAK,OACD,MAAO,QACX,IAAK,QACD,MAAO,UACX,IAAK,UAEL,IAAK,OACD,MAAO,OACX,QACI,OAAO,IA+ef1F,8BAA+BA,EAC/BG,oBAAqBA,EACrBwF,4BA/aJ,SAAqCvF,GACjC,OAAOK,EAAwBN,EAAoBC,KAAkB,IA+arEwF,oBApXsB,SAAS3B,EAAOC,GACtC,IAAI2B,EAAU,EACVC,EAAc,CACd5E,KAAM+C,EAAMnB,gBAAkBoB,EAAMpB,cACpC9B,MAAOiD,EAAM/B,aAAegC,EAAMhC,WAClCpB,IAAKmD,EAAMf,YAAcgB,EAAMhB,UAC/BrC,KAAMoD,EAAMc,aAAeb,EAAMa,WACjCnE,OAAQqD,EAAM8B,eAAiB7B,EAAM6B,aACrCpF,OAAQsD,EAAM+B,eAAiB9B,EAAM8B,aACrCtF,YAAauD,EAAMgC,oBAAsB/B,EAAM+B,mBAYnD,OAVA,EAAIpI,EAAU2C,MAAMsF,GAAa,SAAShJ,EAAK2C,GACvCA,GACAoG,OAGJ,IAAMA,GAAW,IAAMX,EAAuBjB,EAAOC,KACrD4B,EAAYjF,MAAO,EACnBgF,KAEJC,EAAY5F,MAAQ2F,EACbC,GAgWPzE,6BAA8BA,EAC9Be,SAAUA,EACV8D,YA5Xc,SAAS5E,GACvB,IAAIzB,EAASuC,EAASd,GAEtB,OADAzB,EAAOkC,QAAQlC,EAAOqD,UAAY,GAC3B,IAAIxB,KAAK7B,EAAO8B,UAAY,IA0XnCwE,wBA9E0B,SAAS7E,EAAM8E,GACzC,IAAIC,EAAY7L,KAAK8L,oBAAoBF,GACrCvG,EAAS,IAAI6B,KAAKJ,GAItB,OAHIA,EAAKyD,aAAesB,EAAUjD,OAAS9B,EAAKyE,aAAeM,EAAU/C,SAAWhC,EAAKyD,WAAasB,EAAUjD,QAC5GvD,EAAOmC,SAASqE,EAAUjD,MAAOiD,EAAU/C,QAAS,EAAG,GAEpDzD,GAyEPyG,oBAvFsB,SAASC,GAG/B,MAAO,CACHnD,MAHQtD,KAAKC,MAAMwG,GAInBjD,QAHUiD,EAAS,EAAI,KAsF3BlE,gBAAiBA,EACjBoB,YAAaA,EACb+C,sBAhUwB,SAAS/B,EAAKC,EAAKpC,GAC3C,IACImE,EADAC,EAAY,GAIhB,IAFAA,EAAUxK,MAAK,EAAIhC,EAAMyJ,QAAQc,GAAO,IAAI/C,KAAK+C,EAAI9C,WAAa8C,GAClEgC,EAAMhC,EACCgC,EAAM/B,GACT+B,EAAMhD,EAAYgD,EAAKnE,GACvBoE,EAAUxK,KAAKuK,GAEnB,OAAOC,GAwTPjE,wBAAyBA,EACzBkE,SArKJ,SAAkB1C,EAAOC,GACrB,OAAOF,EAAiBC,EAAOC,IAAUD,EAAMf,YAAcgB,EAAMhB,WAqKnEc,iBAAkBA,EAClB4C,UAAW5C,EACXG,SAAUA,EACV0C,WA9Ja,SAAS5C,EAAOC,GAC7B,IAAK,EAAIhK,EAAM0K,WAAWX,KAAW,EAAI/J,EAAM0K,WAAWV,GAA1D,CAGA,IAAI4C,EAAmB7C,EAAMnB,cAAgBmB,EAAMnB,cAAgB,GAC/DiE,EAAmB7C,EAAMpB,cAAgBoB,EAAMpB,cAAgB,GACnE,OAAOmB,GAASC,GAAS4C,IAAqBC,IAyJ9CC,YAvJc,SAAS/C,EAAOC,GAC9B,IAAK,EAAIhK,EAAM0K,WAAWX,KAAW,EAAI/J,EAAM0K,WAAWV,GAA1D,CAGA,IAAI+C,EAAoBhD,EAAMnB,cAAgBmB,EAAMnB,cAAgB,IAChEoE,EAAoBhD,EAAMpB,cAAgBoB,EAAMpB,cAAgB,IACpE,OAAOmB,GAASC,GAAS+C,IAAsBC,IAkJ/CC,qBApOuB,SAASC,GAChC,IAAIC,EAAa,EAUjB,MATI,SAAWD,IACXC,EAAa,IAEb,WAAaD,IACbC,EAAa,KAEb,YAAcD,IACdC,EAAa,MAEVA,GA0NPC,6BAxN+B,SAASF,GACxC,IAAIC,EAAa,EAOjB,MANI,WAAaD,IACbC,EAAa,IAEb,YAAcD,IACdC,EAAa,KAEVA,GAiNPhD,qBAAsBA,EACtBD,wBAAyBA,EACzBmD,mBA5IqB,WACrB,MAAO,cA4IPC,qBAlUuB,SAASC,EAAUnG,GAC1C,MAAI,UAAYmG,EACL3D,EAAuBxC,EAAKwB,cAAexB,EAAKY,WAAY,GAEnE,SAAWuF,EACJ3D,EAAuBxC,EAAKwB,cAAe,EAAGxB,EAAK4B,WAE1D,WAAauE,EACN3D,EAAuBO,EAAqB/C,GAAOA,EAAKY,WAAYZ,EAAK4B,WAEhF,YAAcuE,EACP3D,EAAuBM,EAAwB9C,GAAOA,EAAKY,WAAYZ,EAAK4B,gBADvF,GAyTAwE,oBArTsB,SAASD,EAAUnG,GACzC,MAAI,UAAYmG,EACL3D,EAAuBxC,EAAKwB,cAAexB,EAAKY,WAAY2B,EAAgBvC,IAEnF,SAAWmG,EACJ3D,EAAuBxC,EAAKwB,cAAe,GAAIxB,EAAK4B,WAE3D,WAAauE,EACN3D,EAAuBO,EAAqB/C,GAAQ,EAAGA,EAAKY,WAAYZ,EAAK4B,WAEpF,YAAcuE,EACP3D,EAAuBM,EAAwB9C,GAAQ,GAAIA,EAAKY,WAAYZ,EAAK4B,gBAD5F,GA4SAyE,YArPc,SAASP,GACvB,OAAQA,GACJ,IAAK,UACD,MAAO,SACX,IAAK,SACD,MAAO,OACX,IAAK,OACD,MAAO,UA+OfQ,UAhQY,SAASR,GACrB,OAAQA,GACJ,IAAK,QACD,MAAO,OACX,IAAK,OACD,MAAO,SACX,IAAK,SACD,MAAO,YA0PfvD,gBAAiBA,EACjBgE,iBAzImB,SAASvG,GAC5B,IAAK,EAAIpH,EAAM0K,WAAWtD,GAG1B,OAAOwC,EAAuBxC,EAAKwB,cAAexB,EAAKY,WAAa,EAAG,IAsIvE4F,kBAhJoB,SAASxG,GAC7B,IAAK,EAAIpH,EAAM0K,WAAWtD,GAG1B,OAAOwC,EAAuBxC,EAAKwB,cAAexB,EAAKY,WAAY,IA6InED,iBAAkBA,EAClB8F,oBA/HsB,SAASzG,EAAM0G,GACrC,IAAIC,EAAmB5C,EAAU6C,iBAAiB5G,EAAM0G,EAAa,OACjEG,EAAa,IAAIzG,KAAKJ,GAI1B,OAHI2G,GAAoB,IACpBE,EAAa,IAAIzG,KAAKyG,EAAWpG,QAAQoG,EAAWjF,UAAY,KAE7DiF,GA0HPhH,WAAYA,EACZC,qBAAsBA,EACtBgH,YA1Hc,SAAS9G,EAAMmD,EAAKC,EAAK2D,GAMvC,MALI,SAAWA,IACX5D,EAAMA,GAAOY,EAAUhE,6BAA6BoD,EAAK,OACzDC,EAAMA,GAAOW,EAAUhE,6BAA6BqD,EAAK,OACzDpD,EAAOA,GAAQ+D,EAAUhE,6BAA6BC,EAAM,QAEzDkD,EAAclD,EAAMmD,EAAKC,KAASpD,GAqHzCgH,YAtEc,SAAShH,GAGvB,OAFAA,EAAKU,SAASV,EAAKyD,WAAa,GAChCzD,EAAKiH,WAAW,GACTjH,GAoEPkD,cAAeA,EACfgE,uBApTyB,SAASf,EAAUnG,GAC5C,IAAI6G,EAAarE,EAAuBxC,EAAKwB,cAAexB,EAAKY,WAAY,GAC7E,MAAI,UAAYuF,EACLU,GAEXA,EAAWrG,SAAS,GAChB,SAAW2F,IAGX,WAAaA,GACbU,EAAWtF,YAAYwB,EAAqB/C,IAE5C,YAAcmG,GACdU,EAAWtF,YAAYuB,EAAwB9C,KANxC6G,IA8SXM,uBApSyB,SAAShB,EAAUnG,GAC5C,IAAI6G,EAAa,IAAIzG,KAAKJ,GAE1B,OADA6G,EAAWpG,QAAQ8B,EAAgBvC,IAC/B,UAAYmG,EACLU,GAEXA,EAAWrG,SAAS,IACpBqG,EAAWpG,QAAQ8B,EAAgBsE,IAC/B,SAAWV,IAGX,WAAaA,GACbU,EAAWtF,YAAYwB,EAAqB/C,GAAQ,GAEpD,YAAcmG,GACdU,EAAWtF,YAAYuB,EAAwB9C,GAAQ,KANhD6G,IA4RXhG,eAAgBA,EAChB+C,uBAAwBA,EACxBwD,SAnEW,SAASpH,GACpB,OAAO,IAAII,KAAKJ,IAmEhB4G,iBArjBmB,SAASS,EAAWC,EAASC,GAChD,IAAIvE,EAAQsE,EAAQjH,UAAYgH,EAAUhH,UACtCmH,EAAmBtJ,EAAeqJ,IAAiB,EACvD,OAAO/I,KAAKC,MAAMuE,EAAQwE,IAmjB1BC,mBAlEqB,SAASJ,EAAWC,EAASI,GAGlD,IAFA,IAAInJ,EAAS,GACTmI,EAAc,IAAItG,KAAKiH,EAAUhH,WAC9BqG,EAAcY,GACjB/I,EAAO3D,KAAK,IAAIwF,KAAKsG,EAAYrG,YACjCqG,EAAcxN,KAAKiJ,YAAYuE,EAAagB,GAEhD,OAAOnJ,GA4DPoJ,WA1Da,SAAS3H,GACtB,OAAO,IAAII,KAAKvC,IAAU,EAAIjF,EAAMyJ,QAAQrC,GAAQA,EAAKK,UAAYL,IA0DrEwC,uBAAwBA,EAE5BuB,SAAqB,SAAS6D,EAAMjF,EAAOC,GACvC,OAAOmB,GAAU,EAAIvH,EAAWqL,UAAU,QAAUD,IAAOjF,EAAOC,KAElExG,EAAW2H,EACfzL,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,kCCjpBzBD,EAAQC,aAAU,EAClB,IAAIuP,EAASpP,EAAQ,IACjBqP,EAAUrP,EAAQ,IAClBsP,GAAU,EAAID,EAAQE,cAAe,EAAIF,EAAQG,aAAaC,QAAUA,QACvEH,IACDA,EAAU,WACN,IAAII,EAAO,GACPC,EAAS,GACbnP,KAAKoP,IAAM,SAAS9M,EAAK2C,GACrB,IAAIoK,GAAQ,EAAIT,EAAOU,SAAShN,EAAK4M,IACtB,IAAXG,GACAH,EAAKxN,KAAKY,GACV6M,EAAOzN,KAAKuD,IAEZkK,EAAOE,GAASpK,GAGxBjF,KAAKuP,IAAM,SAASjN,GAChB,IAAI+M,GAAQ,EAAIT,EAAOU,SAAShN,EAAK4M,GACrC,IAAe,IAAXG,EAGJ,OAAOF,EAAOE,IAElBrP,KAAKwP,IAAM,SAASlN,GAEhB,OAAe,KADH,EAAIsM,EAAOU,SAAShN,EAAK4M,IAMzClP,KAAKyP,OAAS,SAASnN,GACnB,IAAI+M,GAAQ,EAAIT,EAAOU,SAAShN,EAAK4M,IACtB,IAAXG,IAGJH,EAAKQ,OAAOL,EAAO,GACnBF,EAAOO,OAAOL,EAAO,OAIjC,IAAInM,EAAW4L,EACf1P,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,kCC3CzBD,EAAQC,aAAU,EAClB,IAGgCC,EAH5B+D,EAAY7D,EAAQ,IACpBmQ,GAE4BrQ,EAFQE,EAAQ,OAG9BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIsQ,EAAqB,WACrB,SAASA,IACL5P,KAAK6P,OAAS,GACd7P,KAAK8P,WAAY,EAAIH,EAAWtQ,WAEpC,IAAI0Q,EAASH,EAAmBnP,UAiBhC,OAhBAsP,EAAOC,IAAM,SAASC,IAClB,EAAI5M,EAAU2C,MAAMhG,KAAK6P,QAAQ,SAASK,EAAGC,GACzC,OAAOF,EAAG/P,MAAM+P,EAAIE,MAExBnQ,KAAK8P,UAAUE,IAAIC,IAEvBF,EAAOK,OAAS,SAASH,GACrBjQ,KAAK8P,UAAUM,OAAOH,IAE1BF,EAAOM,KAAO,WACV,IAAK,IAAIC,EAAOnQ,UAAUqB,OAAQkC,EAAO,IAAIkH,MAAM0F,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC7E7M,EAAK6M,GAAQpQ,UAAUoQ,GAE3BvQ,KAAK6P,OAAOnO,KAAKgC,GACjB1D,KAAK8P,UAAUO,KAAKnQ,MAAMF,KAAK8P,UAAWpM,IAEvCkM,EAtBc,GAwBzBxQ,EAAQC,QAAUuQ,EAClBzM,EAAO/D,QAAUA,EAAQC,S,iCClCzBD,EAAQoR,iBAMR,SAA0BC,GACtB,OAAOC,EAASD,IANpBrR,EAAQuR,wBASR,SAAiCC,GAC7BF,EAAWE,GATf,IAAIF,EAAW,SAASD,GACpB,OAAOA,GAAWA,EAAQlB,IAAI,K,kCCHlCnQ,EAAQC,aAAU,EAClB,IAAIwP,EAAUrP,EAAQ,IAClBqR,EAAeC,EAAuBtR,EAAQ,KAC9CmQ,EAAamB,EAAuBtR,EAAQ,MAC5CuR,EAAmBD,EAAuBtR,EAAQ,MAClDwR,EAAaF,EAAuBtR,EAAQ,MAEhD,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAsDI4D,EAtDkB,WAClB,IAAI+N,EACAnB,GAAY,EAAIH,EAAWtQ,WAC3B6R,EAAuBpB,EAAUE,IACjCmB,EAA0BrB,EAAUM,OACxC,KAAK,EAAIvB,EAAQE,aACb,OAAOe,EAEX,IAyBIsB,EAzBAC,EAAa,WACb,IAAIC,GAAS,EAAIzC,EAAQG,aACzB,MAAO,CACHuC,MAAOD,EAAOE,WACdC,OAAQH,EAAOI,cAGnBC,EAAe,WACf,IAIIC,EAJAC,EAAMR,IACNQ,EAAIN,QAAUN,EAASM,OAASM,EAAIJ,SAAWR,EAASQ,SAIxDI,EAAIN,QAAUN,EAASM,QACvBK,EAAmB,UAEnBC,EAAIJ,SAAWR,EAASQ,SACxBG,EAAmB,SAEvBX,EAAWY,EACX/B,EAAUO,KAAKuB,KAEfE,GAAc,EAAId,EAAW3R,UAAS,WACtC4R,EAAWI,OAqBf,OAlBAvB,EAAUE,IAAM,WACZ,IAAI3K,EAAS6L,EAAqBhR,MAAM4P,EAAW3P,WAOnD,OANA2R,IACAf,EAAiB1R,QAAQ2Q,KAAI,YACpBoB,GAAkBtB,EAAUN,QAC7B4B,EAAiBP,EAAaxR,QAAQ0S,QAAO,EAAIlD,EAAQG,aAAc,SAAU2C,OAGlFtM,GAEXyK,EAAUM,OAAS,WACf,IAAI/K,EAAS8L,EAAwBjR,MAAM4P,EAAW3P,WAKtD,OAJK2P,EAAUN,OAAS4B,IACpBA,IACAA,OAAiB,GAEd/L,GAEJyK,EApDW,GAuDtB1Q,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,kCCpEzBD,EAAQ4S,iBAAmB5S,EAAQ6S,cAAgB7S,EAAQ8S,qBAAuB9S,EAAQ+S,aAAe/S,EAAQgT,YAAchT,EAAQiT,yBAA2BjT,EAAQkT,2BAAwB,EAClM,IAMgChT,EAN5BiT,GAM4BjT,EANME,EAAQ,MAO5BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAPfI,EAAQF,EAAQ,IAChBgT,EAAUhT,EAAQ,IAClBiT,EAAUjT,EAAQ,IAClBkT,EAAQlT,EAAQ,KAqBpB,IAAImT,EAAgB,GAcpBvT,EAAQkT,sBAboB,SAASM,GACjC,IAAIC,EAAgBN,EAASlT,QAAQyT,UACrC,OAAOF,EAAMG,QAAO,SAASC,EAASC,GAClC,IAAIC,EAASD,EAAKC,OACdC,EAAcF,EAAKD,QACnBI,EAAeF,GAAU,GAK7B,QAJY,EAAIxT,EAAM2T,YAAYD,GAAgBA,EAAaP,GAAiBT,EAAYS,EAAeO,MAEvG,EAAIX,EAAQa,SAAQ,EAAMN,EAASG,GAEhCH,IACR,KAMP5T,EAAQ4S,iBAHe,SAASgB,EAAS/N,GACrC,MAAO,kBAAoB+N,EAAUA,EA7BzC,SAAyB1T,EAAKgD,EAAK2C,GAW/B,OAVI3C,KAAOhD,EACP2B,OAAOsS,eAAejU,EAAKgD,EAAK,CAC5B2C,MAAOA,EACPuO,YAAY,EACZC,cAAc,EACdC,UAAU,IAGdpU,EAAIgD,GAAO2C,EAER3F,EAkBwCqU,CAAgB,GAAIX,EAAS/N,IAGhF,IAAImN,EAAc,SAASc,EAAQU,GAC/B,OAAO,EAAIlU,EAAMmU,eAAeD,KAAW,EAAIpB,EAAQsB,iBAAiBZ,EAAQ,CAACU,IAASpS,OAAS,GAEvGpC,EAAQgT,YAAcA,EAItBhT,EAAQ+S,aAHW,SAAS4B,GACxB,OAAOA,EAAShJ,OAAOgJ,EAASC,YAAY,KAAO,IAMvD5U,EAAQ6S,cAHY,SAAS8B,GACzB,OAAOA,EAAShJ,OAAO,EAAGgJ,EAASC,YAAY,OASnD5U,EAAQ8S,qBANmB,SAAS+B,EAAepT,GAE/C,OADA8R,EAAc9R,GAAQ8R,EAAc9R,KAAS,EAAI6R,EAAMwB,eAAerT,GAC/D8R,EAAc9R,GAAMoT,EAAe,CACtCE,eAAe,KAQvB/U,EAAQiT,yBAJuB,WAC3B,IAAIW,EAAU7S,UAAUqB,OAAS,QAAK,IAAWrB,UAAU,GAAKA,UAAU,GAAK,GAC/E,OAAO6S,I,kCClEX5T,EAAQgV,YAAchV,EAAQiV,iBAAc,EAC5C,IAAI3U,EAAQF,EAAQ,IAChB8U,EAAgB,SAASnE,EAAMoE,GAC/B,IAAIjS,EAAMiS,EAAOpE,GACjB,IAAI,EAAIzQ,EAAMqG,UAAUzD,GACpB,IACI,OAAOkS,KAAKC,UAAUnS,GACxB,MAAOgC,GACL,OAAOhC,EAGf,OAAOA,GAEPoS,EAAkB,SAASC,EAASC,EAAUC,EAAeN,GAE7D,OAAOK,EAASC,EADNP,EAAcK,EAASJ,MAcrCnV,EAAQgV,YAXU,SAASU,EAASC,GAChC,GAAID,EAAQtT,SAAWuT,EAAQvT,OAC3B,OAAO,EAEX,IAAK,IAAIV,EAAI,EAAGA,EAAIiU,EAAQvT,OAAQV,IAChC,GAAIgU,EAAQhU,KAAOiU,EAAQjU,GACvB,OAAO,EAGf,OAAO,GAgEX1B,EAAQiV,YA7DU,SAASW,EAAUJ,EAAUL,EAAQU,GACnD,IAAIC,EAAgB,GAChBL,EAAgB,GAChBM,EAAa,EACbC,EAAc,EACd/P,EAAS,GACb2P,EAASK,SAAQ,SAASlF,EAAMd,GAC5B,IAAI/M,EAAMgS,EAAcnE,EAAMoE,GAC9BW,EAAc5S,GAAO+M,KAEzBuF,EAASS,SAAQ,SAASlF,EAAMd,GAC5B,IAAI/M,EAAMgS,EAAcnE,EAAMoE,GAC9BM,EAAcvS,GAAO+M,KAGzB,IADA,IAAIiG,EAAYhQ,KAAK4E,IAAI8K,EAASxT,OAAQoT,EAASpT,QAC1C6N,EAAQ,EAAGA,EAAQiG,EAAYH,EAAY9F,IAAS,CACzD,IAAIkG,EAAUX,EAASvF,GACnBmG,EAAenG,EAAQ8F,EAAaC,EACpCK,EAAcT,EAASQ,GAE3B,IADiBD,GAAWE,IAAgBf,EAAgBe,EAAab,EAAUC,EAAeN,GAE1FkB,IACApQ,EAAO3D,KAAK,CACRgU,KAAM,SACNpT,IAAKiS,EAAOkB,GACZpG,MAAOA,EACPsF,QAASc,IAEbL,IACA/F,SAED,CACH,IAAI/M,EAAMgS,EAAciB,EAAShB,GAC7BoB,EAAWT,EAAc5S,GACzBqS,EAAUK,EAASW,GACvB,GAAKhB,EAOE,CACH,GAAIgB,IAAaH,EAWb,OAVKP,EAAaN,EAASY,IACvBlQ,EAAO3D,KAAK,CACRgU,KAAM,SACNE,KAAML,EACNjT,IAAKiS,EAAOgB,GACZlG,MAAOA,EACPsF,QAASA,SAdrBQ,IACA9P,EAAO3D,KAAK,CACRgU,KAAM,SACNE,KAAML,EACNlG,MAAOA,KAmBvB,OAAOhK,I,kCCxFXjG,EAAQyW,cA8CR,SAAuBC,GACnB,OAAOjF,EAAaxR,QAAQ0W,OAAOD,GAAUA,GAAU,IAAIxE,EAAO0E,WAAWC,gBAAgBH,EAAQ,iBAAiBI,WAAW,IA9CrI9W,EAAQ+W,aAyCR,SAAsB1F,EAAS2F,GAC3B,OApBJ,SAAuBN,GACnB,IAAIO,GAAQ,GAC2B,IAAnCP,EAAOQ,QAAQ,iBACfR,EAASA,EAAOS,QAAQ,OAAQ,oDASpC,OAPAT,EAASA,EAAOS,QAAQ,sBAAsB,SAASC,GACnD,OAAKH,GAGLA,GAAQ,EACDG,GAHI,OAKDD,QAAQ,yBAA0B,IAAIA,QAAQ,iCAAkC,oBAQvFE,EALiBX,EAzB5B,SAAmBrF,EAAS2F,GACxB,IAAIM,EAAO7F,EAAaxR,QAAQsX,cAAc,OAC1CC,EAAQnG,EAAQoG,WAAU,GAK9B,OAJIT,IACA,EAAIU,EAAUzX,SAASuX,GAAOG,IAAI,kBAAmBX,GAEzDM,EAAKM,YAAYJ,GACVF,EAAKO,UAuB4BC,CAAUzG,EAAS2F,GAJpDN,EAAOS,QAAQ,WAAY,SAASA,QAAQ,UAAW,SAASA,QAAQ,WAAY,SAASA,QAAQ,SAAU,SAASA,QAAQ,SAAU,SAASA,QAAQ,WAAY,UAAUA,QAAQ,UAAW,YAD/M,IAA4BT,GApC5B,IAAIjF,EAAeC,EAAuBtR,EAAQ,KAC9CqP,EAAUrP,EAAQ,IAClBsX,EAAYhG,EAAuBtR,EAAQ,KAE/C,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIgS,GAAS,EAAIzC,EAAQG,c,iCCXzB5P,EAAQ+X,oBAAsB/X,EAAQgY,qBAAkB,EACxD,IAGgC9X,EAH5B+X,GAG4B/X,EAHKE,EAAQ,OAI3BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAJfI,EAAQF,EAAQ,IAWpBJ,EAAQ+X,oBAJkB,SAASG,GAE/B,OADiB,OAASA,QAAgB,IAAWA,EAAeA,GAAe,EAAID,EAAQhY,WAAWkY,YACtF,QAAU,QAyBlCnY,EAAQgY,gBAtBc,SAAS3G,GAC3B,IAAI,EAAI/Q,EAAMiD,UAAU8N,GACpB,MAAO,CACHc,MAAOd,EAAQ+G,WACf/F,OAAQhB,EAAQgH,aAGxB,IAAIC,EACJ,IACIA,EAAOjH,EAAQkH,wBACjB,MAAOrT,GACLoT,EAAO,CACHnG,MAAO,EACPE,OAAQ,EACRmG,OAAQ,EACRC,IAAK,EACLC,KAAM,EACNC,MAAO,GAGf,OAAOL,I,iCClCXtY,EAAQC,aAAU,EAClB,IAAIoT,EAAUjT,EAAQ,IAElBwY,GAAY,EADFxY,EAAQ,IACMyY,gBACxBC,EAAe,uBACfC,EAAW,uBACXC,EAAa,8BACbC,EAAS,yBACTC,EAAgB,+BAChBC,EAAgB,SAASC,GACzBA,EAAKA,EAAGtQ,cACR,IAAI7C,EAAS,GACToT,EAAUN,EAASO,KAAKF,IAAOJ,EAAWM,KAAKF,IAAOH,EAAOK,KAAKF,IAAOA,EAAGlC,QAAQ,cAAgB,GAAKgC,EAAcI,KAAKF,IAAON,EAAaQ,KAAKF,IAAO,GAC5JG,EAAcF,EAAQ,GACtBG,EAAiBH,EAAQ,GAgC7B,MA/BI,WAAaE,IACbtT,EAAOwT,QAAS,EACZL,EAAGlC,QAAQ,WAAa,GAAKkC,EAAGlC,QAAQ,UAAY,GACpDqC,EAAc,SAEdC,GADAA,EAAiB,+BAA+BF,KAAKF,KAClBI,EAAe,IAE9CJ,EAAGlC,QAAQ,UAAY,GACvBqC,EAAc,UAEdC,GADAA,EAAiB,oBAAoBF,KAAKF,KACPI,EAAe,IAE9CJ,EAAGlC,QAAQ,WAAa,GAAK,oBAAoBwC,KAAKN,IACtDG,EAAc,SAEdC,GADAA,EAAiB,mCAAmCF,KAAKF,KACtBI,EAAe,KAElDD,EAAc,UAEdC,GADAA,EAAiB,yBAAyBF,KAAKF,KACZI,EAAe,KAK9D,YAAcD,GAAe,SAAWA,IACxCA,EAAc,QAEdA,IACAtT,EAAOsT,IAAe,EACtBtT,EAAOP,QAAU8T,GAEdvT,GAEPnC,GAAW,EAAIuP,EAAQa,QAAQ,CAC/ByF,QAASR,GACVA,EAAcP,EAAUgB,YAC3B5Z,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,kCCpDzBD,EAAQC,aAAU,EAClB,IACI6D,EADe1D,EAAQ,KACCyZ,WAC5B7Z,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,QACzB8D,EAAO/D,QAAQC,QAAU8D,EAAO/D,S,iCCLhCA,EAAQ8Z,aAAe9Z,EAAQ+Z,cAAgB/Z,EAAQ8U,mBAAgB,EACvE,IAAI3U,EAAUuR,EAAuBtR,EAAQ,MACzC4Z,EAAStI,EAAuBtR,EAAQ,MACxC6Z,EAAU7Z,EAAQ,KAClBE,EAAQF,EAAQ,IAChB6D,EAAY7D,EAAQ,IACpB8Z,EAAoBxI,EAAuBtR,EAAQ,MAEvD,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIia,EAAiBD,EAAkBja,QAAQma,OAC3CC,EAAYH,EAAkBja,QAAQoa,UACtCC,EAASJ,EAAkBja,QAAQqa,OACnCC,EAAiB,SAASC,GAC1B,OAAOA,EAAKrD,QAAQ,MAAO,KAAKA,QAAQ,MAAO,KAS/CsD,EAAkB,SAASva,EAAKwa,EAAU7U,EAAO+N,GACjD,GAAI,SAAW8G,EACX,MAAM,IAAIva,EAAQF,QAAQ4C,MAAM,SAEpC,IAAI8X,EAAYza,EAAIwa,GAChB9G,EAAQgH,mBAAqBP,EAAUM,GACvCL,EAAOK,EAAW9U,GAElB3F,EAAIwa,GAAY7U,GAGpBgV,EAAiB,SAASjH,GAG1B,OAFAA,EAAUA,GAAW,IACbgH,uBAAoB,IAAWhH,EAAQgH,mBAAoBhH,EAAQgH,kBACpEhH,GAGX,SAASwG,EAAOvU,EAAO+N,GACnB,OAAOA,EAAQgH,kBAAoBT,EAAetU,GAASA,EAE/D,IAAIiP,EAAgB,SAAS0F,GAIzB,GAHIzZ,UAAUqB,OAAS,IACnBoY,EAAO,GAAGtY,MAAMiB,KAAKpC,aAEpByZ,GAAQ,SAAWA,EACpB,OAAO,SAASta,GACZ,OAAOA,GAGf,GAAI,kBAAoBsa,EAAM,CAE1B,IAAIM,GADJN,EAAOD,EAAeC,IACNO,MAAM,KACtB,OAAO,SAAS7a,EAAK0T,GAKjB,IAHA,IAAIoH,GADJpH,EAAUiH,EAAejH,IACEmB,cACvBkG,GAAkB,iBAAkBrH,GACpCF,EAAU0G,EAAOla,EAAK0T,GACjBlS,EAAI,EAAGA,EAAIoZ,EAAK1Y,OAAQV,IAAK,CAClC,IAAKgS,EAAS,CACV,GAAI,MAAQA,GAAWuH,EACnB,OAAOrH,EAAQsH,aAEnB,MAEJ,IAAIC,EAAWL,EAAKpZ,GACpB,GAAIuZ,IAAmB,EAAI3a,EAAMqG,UAAU+M,MAAcyH,KAAYzH,GACjE,OAAOE,EAAQsH,aAEnB,IAAIE,EAAOhB,EAAO1G,EAAQyH,GAAWvH,IAChCoH,IAAgB,EAAI1a,EAAM2T,YAAYmH,KACvCA,EAAOA,EAAKjY,KAAKuQ,IAErBA,EAAU0H,EAEd,OAAO1H,GAGf,OAAIlI,MAAM6P,QAAQb,GACPc,EAAed,IAEtB,EAAIla,EAAM2T,YAAYuG,GACfA,OADX,GAMJ,SAASc,EAAeC,GAEpB,IADA,IAAIC,EAAkB,GACb9Z,EAAI,EAAG+Z,EAAIF,EAAQnZ,OAAQV,EAAI+Z,EAAG/Z,IAAK,CAC5C,IAAIga,EAASH,EAAQ7Z,GACrB8Z,EAAgBE,GAAU5G,EAAc4G,GAE5C,OAAO,SAASxb,EAAK0T,GACjB,IAAI3N,EAkBJ,OAjBA,EAAIhC,EAAU2C,MAAM4U,GAAiB,SAAS/Z,GAC1C,IAAIoE,EAAQjF,KAAKV,EAAK0T,GACtB,QAAI,IAAW/N,EAAf,CAMA,IAHA,IAAI6N,EAAUzN,IAAWA,EAAS,IAC9B6U,EAAOrZ,EAAKsZ,MAAM,KAClBY,EAAOb,EAAK1Y,OAAS,EAChBwZ,EAAK,EAAGA,EAAKD,EAAMC,IAAM,CAC9B,IAAIC,EAAWf,EAAKc,GACdC,KAAYnI,IACdA,EAAQmI,GAAY,IAExBnI,EAAUA,EAAQmI,GAEtBnI,EAAQoH,EAAKa,IAAS9V,MAEnBI,GA3BfjG,EAAQ8U,cAAgBA,EA8BxB,IAAIgH,EAAyB,SAAS5b,EAAKwa,EAAU7U,EAAO+N,GACxD,IAAI,EAAItT,EAAM0K,WAAWnF,GACrB,OAAOA,EAEX,IAAIkW,EAAW,GAEf,OADAtB,EAAgBva,EAAKwa,EAAUqB,EAAUnI,GAClCmI,GAgCX/b,EAAQ+Z,cA9BY,SAASS,GAEzB,IAAIwB,GADJxB,EAAOD,EAAeC,GAAQ,QAAQO,MAAM,MAClB3Y,OAAS,EACnC,OAAO,SAASlC,EAAK2F,EAAO+N,GAExB,IAAIqI,EAAe7B,EAAOla,EAD1B0T,EAAUiH,EAAejH,IAEzB4G,EAAKvE,SAAQ,SAASiG,EAAcC,GAChC,IAAIC,EApHI,SAASlc,EAAKwa,EAAU9G,GAExC,OADAA,EAAUA,GAAW,GAEVwG,EADP,SAAWM,EACGxa,EAEJA,EAAIwa,GAFK9G,GAiHKyI,CAAcJ,EAAcC,EAActI,GAC1D0I,GAAkB1I,EAAQmB,gBAAiB,EAAIzU,EAAM2T,YAAYmI,KAAmB/B,EAAU+B,GAC9FD,IAAeH,EACXpI,EAAQ2I,QAAS,EAAIjc,EAAMkc,eAAe3W,OAAY,EAAIvF,EAAM0K,WAAWoR,KAAkB,EAAI9b,EAAMkc,eAAeJ,KACtHA,EAAgBN,EAAuBG,EAAcC,EAAcE,EAAexI,IAClF,EAAIqG,EAAQwC,qBAAqBL,EAAevW,GAAO,GAAO,IAE1DyW,EACAL,EAAaC,GAAcrW,GAE3B4U,EAAgBwB,EAAcC,EAAcrW,EAAO+N,IAI3DwI,EAAgBN,EAAuBG,EAAcC,EAAcE,EAAexI,GAC9E0I,IACAF,EAAgBA,EAAcjZ,KAAK8Y,IAEvCA,EAAeG,QAkB/Bpc,EAAQ8Z,aAZW,SAASjU,EAAO6W,GAC/B,OAAI7W,aAAiBiC,KACVjC,EAAMkC,UAEblC,GAASA,aAAiBmU,EAAO/Z,SAAW4F,EAAMZ,QAC3CY,EAAMZ,UAEZyX,GAAiB,kBAAoB7W,EAGnCA,EAFIA,EAAMiD,gB,kCCvKrB9I,EAAQ2c,UAAY3c,EAAQ4c,iBAAc,EAC1C,IAGgC1c,EAH5BsP,EAASpP,EAAQ,IACjBqR,GAE4BvR,EAFUE,EAAQ,MAGhCF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAI2c,EAAY,gCACZC,EAAc,CACd,QAAW,CACPC,UAAW,EACXC,UAAW,GACXC,QAAS,IAEbC,MAAO,CACHH,UAAW,EACXC,UAAW,UACXC,QAAS,YAEbE,GAAI,CACAJ,UAAW,EACXC,UAAW,qBACXC,QAAS,yBAEbG,IAAK,CACDL,UAAW,EACXC,UAAW,oBACXC,QAAS,uBAEbI,GAAI,CACAN,UAAW,EACXC,UAAW,iBACXC,QAAS,qBAGjBH,EAAYQ,MAAQR,EAAYS,SAAWT,EAAYU,QAAUV,EAAYW,MAAQX,EAAYI,MACjGJ,EAAYY,GAAKZ,EAAYK,GAgB7Bnd,EAAQ2c,UAfQ,SAASgB,GACrB,GAAI,kBAAoBA,EACpB,OAAO,KAEX,IACIC,EADWnM,EAAaxR,QAAQ4d,yBACXjG,YAAYnG,EAAaxR,QAAQsX,cAAc,QACpEuG,EAAOjB,EAAUvD,KAAKqE,GACtBI,EAAeD,GAAQA,EAAK,GAAGhV,cAC/BkV,EAAalB,EAAYiB,IAAiBjB,EAAY7c,QAC1D2d,EAAU/F,UAAYmG,EAAWhB,UAAYW,EAAOK,EAAWf,QAC/D,IAAK,IAAIvb,EAAI,EAAGA,EAAIsc,EAAWjB,UAAWrb,IACtCkc,EAAYA,EAAUK,UAE1B,OAAO,EAAIzO,EAAO+M,OAAO,GAAIqB,EAAU9G,aAO3C9W,EAAQ4c,YAJU,SAASe,GACvB,IAAIG,EAAOjB,EAAUvD,KAAKqE,GAC1B,OAAOG,GAAQA,EAAK,KAAMhB,I,kCCzD9B9c,EAAQke,oBAAiB,EACzB,IACIhM,GAAS,EADC9R,EAAQ,IACGwP,aAQzB5P,EAAQke,eAPgB,WACpB,IAAIA,EACJ,IACIA,EAAiBhM,EAAOgM,eAC1B,MAAOhZ,IACT,OAAOgZ,I,kCCRXle,EAAQme,uBAAyBne,EAAQoe,YAAcpe,EAAQqe,wBAA0Bre,EAAQse,0BAA4Bte,EAAQue,cAAgBve,EAAQwe,qBAAuBxe,EAAQye,mBAAqBze,EAAQ0e,gBAAkB1e,EAAQ2e,gCAA6B,EAChR,IAAI1G,EAAUvG,EAAuBtR,EAAQ,MACzC+S,EAAWzB,EAAuBtR,EAAQ,KAC1CD,EAAUuR,EAAuBtR,EAAQ,MACzCsX,EAAYhG,EAAuBtR,EAAQ,KAC3Cwe,EAA0Bxe,EAAQ,KAClCye,EAAkBze,EAAQ,KAC1B0e,EAAY1e,EAAQ,MACpB2e,EAAiB3e,EAAQ,KACzBoP,EAASpP,EAAQ,IACjBgT,EAAUhT,EAAQ,IAClB4e,EAAO5e,EAAQ,KACfiT,EAAUjT,EAAQ,IAClBE,EAAQF,EAAQ,IAEpB,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAgBnBF,EAAQue,cAbY,SAASlN,EAAS5P,GAClC,IACIwd,GAAY,EAAIvH,EAAUzX,SAASoR,GAAS6N,WAAW1K,OAAO,IAAI2K,OAD3C,eACwE,OAAOA,OAAO1d,EAAM,OACvH,MAAO,GAAGS,MAAMiB,KAAK8b,GAAWG,KAAI,SAAS/N,GACzC,IAAIgO,GAAgB,EAAI3H,EAAUzX,SAASoR,GAASiO,KAH7B,iBAG2D,GAClF,MAAO,CACHjO,QAASA,EACTuC,SAAS,EAAIqE,EAAQhY,WAAWsf,cAAcF,GAAe5d,OAElE+S,QAAO,SAASgL,GACf,QAASA,EAAS5L,YAuB1B5T,EAAQqe,wBAnBsB,SAASoB,GACnC,IAAIC,GAAe,EAAIlQ,EAAOmQ,SAASF,GAAc,SAASD,GAC1D,OAAOA,EAAS5L,QAAQnS,QAE5B,GAAIie,OAAa,GACb,MAAMvf,EAAQF,QAAQ4C,MAAM,SAEhC,IAAIoD,EAAS,GAUb,OATApE,OAAOiO,KAAK4P,GAAczJ,SAAQ,SAASxU,GACvC,IAAIme,EACAC,EAAmB,QAAUD,GAAoB,EAAIxM,EAAQsB,iBAAiBvB,EAASlT,QAAQyT,UAAWgM,EAAaje,IAAO,SAAS+d,GACvI,OAAOA,EAAS5L,WACjB,UAAO,IAAWgM,OAAoB,EAASA,EAAkBvO,QAChEwO,IACA5Z,EAAOxE,GAAQoe,MAGhB5Z,GAGX,IAAIwY,EAAqB,SAASe,GAC9B,IAAIM,EAAUN,EAASO,OAAOhe,KAAKyd,GACnC,OAAO,EAAInM,EAAQa,QAAQ,GAAIsL,EAAU,CACrCO,OAAQ,SAASnM,GACb,IAAIoM,EAAiBF,EAAQlM,GAE7B,OADAA,GAAWA,EAAQqM,YAAcrM,EAAQqM,aAClCD,MAInBhgB,EAAQye,mBAAqBA,EAY7Bze,EAAQse,0BAXwB,SAAS1K,GACrC,IAAItP,EAAO,GAQX,MAPI,UAAWsP,GACXtP,EAAKhC,KAAKsR,EAAQsM,OAElB,UAAWtM,GACXtP,EAAKhC,KAAKsR,EAAQ3D,OAEtB3L,EAAKhC,KAAKsR,EAAQgK,WACXtZ,GAMXtE,EAAQme,uBAHqB,SAASgC,GAClC,MAAO,kBAAoBA,GAAiB,EAAInB,EAAKoB,0BAA0BD,GAAkBA,GAMrGngB,EAAQoe,YAHU,SAAS+B,GACvB,OAAO,EAAI7f,EAAM+f,YAAYF,IAAmBA,EAAe,IAAMA,GAMzEngB,EAAQwe,qBAHmB,SAASnN,GAChC,OAAO,IAAIyN,EAAUwB,SAASjP,IAGlC,IAAIsN,EAA6B,SAASwB,EAAgBlB,EAAWsB,EAAiBC,GAClF,IAAIC,EAAsB,KAO1B,OANKD,IAA4D,IAA3CA,EAActJ,QAAQiJ,MACxCM,EAAsBxB,EAAUkB,KACHM,aAA+B1B,EAAe2B,cAAkBH,IACzFE,EAAsBhC,EAAmBgC,IAG1CA,GAEXzgB,EAAQ2e,2BAA6BA,EAmBrC3e,EAAQ0e,gBAlBc,SAASyB,EAAgBQ,EAAgB1B,EAAWsB,EAAiBC,EAAeI,GACtG,OAAI,MAAQT,EACD,IAAItB,EAAgBgC,cAE3BV,aAA0BvB,EAAwBkC,qBAC3CF,EAAiBT,EAAe1e,MAEvC0e,aAA0BpB,EAAe2B,aAClCP,GAEP,EAAI7f,EAAM2T,YAAYkM,EAAeJ,WAAY,EAAIzf,EAAM+f,YAAYF,GAChEI,EAAkBJ,EAAiB1B,EAAmB0B,GAE7DA,EAAeY,WAAY,EAAIzgB,EAAM+f,YAAYF,GAC1CQ,GAAe,EAAIjJ,EAAUzX,SAASkgB,IAE1CxB,EAA2BwB,EAAgBlB,EAAWsB,EAAiBC,IAAkBI,EAAiBT,IAAmBQ,EAAeR,K,kCCpHvJngB,EAAQghB,yBA6BR,WACI,OAAOC,GA7BXjhB,EAAQkhB,uBAaR,SAAgCzf,EAAM0f,GAClCC,EAAgB3f,GAAQ0f,GAb5BnhB,EAAQqhB,kBAgBR,SAA2BF,GACvB,IAAI,EAAI7gB,EAAMoG,UAAUya,IAEpB,KADAF,EAAwBG,EAAgBD,IAEpC,MAAMhhB,EAAQF,QAAQ4C,MAAM,QAASse,QAGzCF,EAAwBE,GAtBhC,IAGgCjhB,EAH5BI,EAAQF,EAAQ,IAChBD,GAE4BD,EAFKE,EAAQ,OAG3BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IACI+gB,EADAG,EAAkB,I,kCCXtBphB,EAAQshB,4BAAyB,EACjC,IAAIlO,EAAUhT,EAAQ,IAClBE,EAAQF,EAAQ,IAyGpBJ,EAAQshB,uBAxGqB,SAASC,EAAkBC,GA0CpD,IAAIC,EAzCJ7gB,KAAK8gB,eAAiB,SAASC,EAAWC,EAAWC,EAAkBC,GAEnE,OADAF,OAAY,IAAWA,EAAYxO,EAAQ2O,aAAeH,EACnDI,EAAejgB,KAAKnB,KAAMghB,EAAWD,EAAWE,EAAkBC,IAE7ElhB,KAAKqhB,QAAU,SAASH,GAIpB,IAAII,EAHJ,GAAKJ,EAoBL,OAhBAP,EAAiBtL,SAAQ,SAAS/S,EAAK+M,GAEnC,IAAIkS,EADJD,EAAaA,GAAc,GAEvBjS,EAAQ,GACRiS,EAAW5f,KAAKkf,EAAc,MAAQ,MAGtCW,GADA,EAAI7hB,EAAMoG,UAAUob,GACHM,EAAqBN,EAAS5e,GAsE3D,SAAkC4e,EAASO,GAEvC,IADA,IAAIH,EAAa,GACRxgB,EAAI,EAAGU,EAAS0f,EAAQ1f,OAAQV,EAAIU,EAAQV,IAAK,CACtD,IAAI4gB,EAAiBR,EAAQpgB,GACzB6gB,EAAkBF,GAAgBA,EAAaC,GAC/CH,EAAiBC,EAAqBE,EAAgBC,GAC1D,IAAKJ,EACD,MAEAzgB,EAAI,GACJwgB,EAAW5f,KAAKkf,EAAc,KAAO,OAEzCU,EAAW5f,KAAK6f,GAEpB,OAAOD,EAlFkBM,CAAyBV,EAAS5e,GAEvDgf,EAAW5f,KAAK6f,MAEhBD,GAAc,IAAMA,EAAW9f,SAC/B8f,EAAaA,EAAW,IAErBA,GAEXthB,KAAK6hB,kBAAoB,SAASX,EAASY,GACvC,IAAIR,EAAathB,KAAKqhB,QAAQH,GAC1Ba,EAAiBT,EAUrB,OATIV,GAAekB,IACXR,IACAS,EAAiB,IACFrgB,KAAK4f,GACpBS,EAAergB,KAAKogB,IAEpBC,EAAiBD,GAGlBC,GAkBX,SAASX,EAAeJ,EAAWgB,EAAOf,EAAkBC,EAAS/Q,GACjE,IACI8R,EACAnhB,EAFAwB,EAAM0f,EAAM7R,GAGhB,IAAK8Q,IACDgB,GAAU,EAAIzP,EAAQ0P,YAAY5f,KAC7B,EAAI5C,EAAMqG,UAAUkc,IAErB,OAvBsB,SAAStB,GACvC,IAAKE,EAA0B,CAC3BA,EAA2B,GAC3B,IAAK,IAAI/f,EAAI,EAAGA,EAAI6f,EAAiBnf,OAAQV,IACzC+f,GAAyB,EAAIrO,EAAQ0P,YAAYvB,EAAiB7f,MAAO,EAGjF,OAAO+f,EAe4BsB,CAbnB,SAASjT,EAAM8S,EAAOd,GACtC,OAAOtW,MAAM6P,QAAQyG,GAAWhS,EAAKsP,KAAI,SAASlc,GAC9C,OAAO0f,EAAM1f,MACZ4M,EAU0DkT,CAAczB,EAAkBqB,EAAOd,IACrEe,IACbrB,IAEHA,EAGjB,IAAK9f,EAAI,EAAGA,EAAI6f,EAAiBnf,OAAQV,IACrC,GAAIkgB,EAAUL,EAAiB7f,GAAIwB,GAC/B,OAAQse,EAGhB,QAASA,EAGb,SAASY,EAAqBN,EAASmB,GACnC,QAAI,IAAWA,EAGf,MAAO,CAACnB,EAASN,EAAc,KAAO,IAAKyB,M,iCCvFnDjjB,EAAQgK,OA4CR,SAAgBnE,EAAO6C,GACnB,IAIIwa,EAJAC,EAAYC,EAAa1a,GAAY,GAAK,EAC1C2a,EAAiBxd,EAAMyd,WAAWvI,MAAM,KACxCwI,EAAc1d,EACd2d,EAAWtd,KAAKud,IAAI5d,GAEpB6d,GAAkB,EAAIpjB,EAAMqjB,eAAe9d,GAC3C+d,EAAcJ,EAAW,EAAI,GAAK,EACtC,GAAI,IAAMH,EAAejhB,OACrB,OAAOyD,EAEN6d,KACG,EAAIpjB,EAAMqjB,eAAejb,KACzBya,EAAYE,EAAe,GAAGjhB,OAASyhB,EAAYnb,IAGvD7C,GADAA,EAAQ2d,GACQtd,KAAKC,MAAMN,GAAS+d,GAGxC,GADAT,EAzBJ,WAII,MAFmB,aADP,KAGkBW,YADT,GAsBTC,IAAgBF,EAAYhe,GAAS,GAAKsd,EAAY,EAAI,GAAK,GACtEO,IACDR,EAAyBc,WAAWne,EAAMie,YAAYX,IAAYG,WAAWvI,MAAM,MACxD,KAAO6I,EAAYN,WAC1C,OAAOU,WAAWX,EAAe,GAAK,IAAMH,EAAuB,IAG3E,OAAOc,WAAWT,EAAYO,YAAYX,KApE9CnjB,EAAQikB,kBAAe,EACvBjkB,EAAQ6jB,YAAcA,EACtB7jB,EAAQkkB,kBA2JR,SAA2Bre,GACvB,IAAIse,EACAC,EAAcve,EAAMyd,WACxB,OAAQ,QAAUa,EAAsBC,EAAYrJ,MAAM,KAAK,UAAO,IAAWoJ,OAAsB,EAASA,EAAoB/hB,SAAWqD,SAAS2e,EAAYrJ,MAAM,MAAM,KAAO,GA7J3L/a,EAAQojB,aAAeA,EACvBpjB,EAAQqkB,uBAiJR,SAAgCC,EAAUC,EAASC,GAC/C,GAAID,IAAY9e,SAAS8e,GACrB,OAAOD,EAAWC,EAEtB,IAAIE,EAAWC,EAAeJ,EAAWC,EAASC,GAClD,OAAQC,EAAWhf,SAASgf,IAAaF,GArJ7CvkB,EAAQ2kB,QAAUA,EAClB3kB,EAAQ4kB,aAAU,EAClB5kB,EAAQ0kB,eAAiBA,EACzB1kB,EAAQoL,UAAO,EACfpL,EAAQ6kB,mBAgFR,SAA4BlgB,EAAGmgB,EAAGC,EAAGC,GAEjC,GAAI9e,KAAKud,IAAI9e,GADH,KACa,CAInB,GAHAA,EAAImgB,EACJA,EAAIC,EACJA,EAAIC,EACA9e,KAAKud,IAAI9e,GALP,KAQF,OAFAA,EAAImgB,EACJA,EAAIC,EACA7e,KAAKud,IAAI9e,GARX,KASS,GAEJ,EAAEmgB,EAAIngB,GAEjB,IAAIsgB,EAAKH,EAAIA,EAAI,EAAIngB,EAAIogB,EACzB,OAAI7e,KAAKud,IAAIwB,GAdP,KAeK,EAAEH,GAAK,EAAIngB,IAEdsgB,EAAK,EACE,GAAGH,EAAI5e,KAAKgf,KAAKD,KAAQ,EAAItgB,KAAMmgB,EAAI5e,KAAKgf,KAAKD,KAAQ,EAAItgB,IAGrE,GAEX,IAEIwgB,EACAC,EAHAhgB,GAAK,EAAIT,EAAIogB,EAAID,EAAIA,IAAM,EAAIngB,EAAIA,GACnC0gB,GAAK,EAAIP,EAAIA,EAAIA,EAAI,EAAIngB,EAAImgB,EAAIC,EAAI,GAAKpgB,EAAIA,EAAIqgB,IAAM,GAAKrgB,EAAIA,EAAIA,GAGzE,GAAIuB,KAAKud,IAAIre,GA3BH,KA4BN+f,EAAQ,CAACR,GAASU,EAAG,SAErB,GAAInf,KAAKud,IAAI4B,GA9BP,KA+BFF,EAAQ,CAAC,GAAGhG,OAAO/Z,EAAI,EAAI,CAACc,KAAKgf,MAAM9f,IAAKc,KAAKgf,MAAM9f,IAAM,QAC1D,CACH,IAAIkgB,EAAKD,EAAIA,EAAI,EAAIjgB,EAAIA,EAAIA,EAAI,GACjC,GAAIc,KAAKud,IAAI6B,GAlCX,KAmCEH,EAAQ,EAAE,IAAME,EAAIjgB,EAAG,EAAIigB,EAAIjgB,QAE/B,GAAIkgB,EAAK,EACLF,EAAIT,GAASU,EAAI,EAAInf,KAAKgf,KAAKI,GAAK,GACpCH,EAAQ,CAACC,EAAIhgB,GAAK,EAAIggB,QACnB,CACHA,EAAI,EAAIlf,KAAKgf,MAAM9f,EAAI,GACvB,IAAImgB,EAAIrf,KAAKsf,KAAK,EAAIH,EAAIjgB,EAAIggB,GAAK,EAC/BK,EAAI,EAAIvf,KAAKwf,GAAK,EACtBP,EAAQ,CAACC,EAAIlf,KAAKyf,IAAIJ,GAAIH,EAAIlf,KAAKyf,IAAIJ,EAAIE,GAAIL,EAAIlf,KAAKyf,IAAIJ,EAAI,EAAIE,KAKpF,IAAK,IAAI/jB,EAAI,EAAGA,EAAIyjB,EAAM/iB,OAAQV,IAC9ByjB,EAAMzjB,IAAMojB,GAAK,EAAIngB,GAEzB,OAAOwgB,GApIXnlB,EAAQ4lB,MAuIR,SAAe/f,GACX,OAAOK,KAAK0f,MAAQ1f,KAAK0f,MAAM/f,GAASA,EAAQ,EAAIK,KAAKC,MAAMN,GAASK,KAAK2f,KAAKhgB,IAvItF,IAAIvF,EAAQF,EAAQ,IAOpBJ,EAAQoL,KANG,SAASvF,GAChB,OAAI,IAAMA,EACC,EAEJA,EAAQK,KAAKud,IAAI5d,IAU5B7F,EAAQikB,aAPW,SAASpe,EAAOigB,EAAUC,GACzC,IAAIC,GAAuBF,GAAY,IAAMA,EACzCG,GAAuBF,GAAY,IAAMA,EAG7C,OAFAC,IAAwBF,EAAYG,EAAkDpgB,EAA5BK,KAAK2E,IAAIhF,EAAOkgB,IAC1EE,IAAwBF,EAAYC,EAAkDngB,EAA5BK,KAAK4E,IAAIjF,EAAOigB,IACnE5f,KAAK2E,IAAI3E,KAAK4E,IAAIjF,EAAOigB,GAAWC,IAQ/C,SAASlC,EAAYhe,GACjB,OAAOK,KAAKud,IAAIhe,SAASI,EAAMqgB,gBAAgBnL,MAAM,KAAK,KAsC9D,SAASqI,EAAavd,GAClB,IAAIsgB,EAAMtgB,EAAMyd,WAChB,GAAI6C,EAAIjP,QAAQ,KAAO,EACnB,OAAO,EAEX,IAAIkP,EAAWD,EAAIpL,MAAM,KACrBsL,EAAsBD,EAAS,GAAGlP,QAAQ,KAC9C,OAAOmP,GAAuB,EAAIA,EAAsBD,EAAS,GAAGhkB,OAGxE,SAASuiB,EAAQ2B,EAAGC,GAChB,GAAID,EAAI,GAAKC,EAAI,IAAM,EACnB,OAAOC,IAEX,IAAIC,EAAIvgB,KAAKwgB,IAAIxgB,KAAKud,IAAI6C,GAAI,EAAIC,GAClC,OAAOA,EAAI,IAAM,GAAKD,EAAI,GAAKG,EAAIA,EA6EvC,SAAS/B,EAAe7e,GACpB,IAAI2e,EAAczjB,UAAUqB,OAAS,QAAK,IAAWrB,UAAU,GAAKA,UAAU,GAAK,EACnF,OAAOijB,WAAWne,EAAM8gB,QAAQnC,IAvIpCxkB,EAAQ4kB,QAHM,SAAS/e,EAAOigB,EAAUC,GACpC,OAAOlgB,GAASigB,GAAYjgB,GAASkgB,I,iCC7BzC/lB,EAAQC,aAAU,EAClB,IAAI2mB,EAAW,SAAShT,GACpBhT,KAAKimB,SAAWjT,GAAW,GAC3BhT,KAAKkmB,MAAQ,GACblmB,KAAKmmB,OAAS,GACdnmB,KAAKomB,SAAU,EACfpmB,KAAKqmB,QAAS,EACdrmB,KAAKsmB,eAAiB,IAE1BN,EAASvlB,UAAU8lB,UAAY,SAASC,EAAS9iB,GAC7C,IAAI+iB,EAAgBzmB,KAAKsmB,eACrBI,EAAO1mB,KAAKkmB,MACZS,EAAc3mB,KAAKimB,SAASU,YAC5BnY,EAAOiY,EAAcjlB,OACzB,IAAKilB,EAAcjY,GAAQ,EAAGiY,EAAcjY,GAAQkY,EAAKllB,OAAQilB,EAAcjY,KAAS,CAEpF,IAAI,IADSkY,EAAKD,EAAcjY,IAAOtO,MAAMsmB,EAAS9iB,IAC9BijB,EACpB,MAGRF,EAAcG,OAElBZ,EAASvlB,UAAUuP,IAAM,SAASC,GAI9B,MAHI,oBAAsBA,GAAQjQ,KAAKimB,SAASY,QAAW7mB,KAAKwP,IAAIS,IAChEjQ,KAAKkmB,MAAMxkB,KAAKuO,GAEbjQ,MAEXgmB,EAASvlB,UAAU2P,OAAS,SAASH,GACjC,IAAIyW,EAAO1mB,KAAKkmB,MACZO,EAAgBzmB,KAAKsmB,eACrBjX,EAAQqX,EAAKpQ,QAAQrG,GACzB,GAAIZ,GAAS,IACTqX,EAAKhX,OAAOL,EAAO,GACfrP,KAAKomB,SAAWK,EAAcjlB,QAC9B,IAAK,IAAIgN,EAAO,EAAGA,EAAOiY,EAAcjlB,OAAQgN,IACxCa,GAASoX,EAAcjY,IACvBiY,EAAcjY,KAK9B,OAAOxO,MAEXgmB,EAASvlB,UAAU+O,IAAM,SAASS,GAC9B,IAAIyW,EAAO1mB,KAAKkmB,MAChB,OAAOjW,EAAKyW,EAAKpQ,QAAQrG,IAAO,IAAMyW,EAAKllB,QAE/CwkB,EAASvlB,UAAUqmB,MAAQ,SAAS7W,GAEhC,OADAjQ,KAAKkmB,MAAQ,GACNlmB,MAEXgmB,EAASvlB,UAAUsmB,SAAW,SAASP,EAAS9iB,GAC5C,IAAIsjB,EAAQhnB,KAAKmmB,OAGjB,GADAziB,GADAA,EAAOA,GAAQ,IACHpC,MAAQoC,EAAKpC,QAAUoC,EAC/B1D,KAAKimB,SAASgB,aACdjnB,KAAKomB,SAAU,EACfpmB,KAAKumB,UAAUC,EAAS9iB,OACrB,CAEH,GADAsjB,EAAMtlB,KAAK,CAAC8kB,EAAS9iB,IACjB1D,KAAKomB,QACL,OAGJ,IADApmB,KAAKomB,SAAU,EACRY,EAAMxlB,QAAQ,CACjB,IAAIqO,EAASmX,EAAME,QACnBlnB,KAAKumB,UAAU1W,EAAO,GAAIA,EAAO,KAKzC,OAFA7P,KAAKomB,SAAU,EACfpmB,KAAKqmB,QAAS,EACPrmB,MAEXgmB,EAASvlB,UAAU4P,KAAO,WACtBrQ,KAAK+mB,SAAS/mB,KAAMG,YAExB6lB,EAASvlB,UAAU0mB,MAAQ,WACvB,OAAOnnB,KAAKqmB,QAEhB,IAGInjB,EAHY,SAAS8P,GACrB,OAAO,IAAIgT,EAAShT,IAGxB5T,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCCpFzB,IAEgCC,EAHhCF,EAAQC,aAAU,EAQlB,IAAI6D,GAAW,IALiB5D,EAFIE,EAAQ,OAG1BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,IAGOD,SAAS,CAC/B+nB,MAAO,4BACPC,MAAO,6BACPC,MAAO,uDACPC,MAAO,sDACPC,MAAO,iBACPC,MAAO,oCACPC,MAAO,+DACPC,MAAO,iEACPC,MAAO,0DACPC,MAAO,kFACPC,MAAO,+BACPC,MAAO,sEACPC,MAAO,6EACPC,MAAO,uEACPC,MAAO,4CACPC,MAAO,iCACPC,MAAO,mDACPC,MAAO,yCACPC,MAAO,4BACPC,MAAO,6EACPC,MAAO,iCACPC,MAAO,qCACPC,MAAO,2BACPC,MAAO,sCACPC,MAAO,kDACPC,MAAO,uDACPC,MAAO,wFACPC,MAAO,uCACPC,MAAO,mEACPC,MAAO,gKACPC,MAAO,kCACPC,MAAO,+CACPC,MAAO,+CACPC,MAAO,iDACPC,MAAO,yCACPC,MAAO,wCACPC,MAAO,iCACPC,MAAO,yCACPC,MAAO,2BACPC,MAAO,gCACPC,MAAO,gCACPC,MAAO,4DACPC,MAAO,0DACPC,MAAO,uCACPC,MAAO,6CACPC,MAAO,mHACPC,MAAO,uEAEX9qB,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCCzDzB,IAEgCC,EAHhCF,EAAQC,aAAU,EAQlB,IA+BI6D,IApC4B5D,EAFIE,EAAQ,OAG1BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,IAGDD,QAAQoD,QAAQ,CAC9BhB,KAAM,SAASwD,GACPA,IACAA,EAAQklB,OAAOllB,IAEnBjF,KAAKoqB,OAASpqB,KAAKqqB,WAAWplB,GAASjF,KAAKsqB,cAEhDD,WAAY,SAASplB,GAEjB,IADAA,EAAQA,EAAMsR,QAAQ,cAAe,IAAIrO,cAClCjD,EAAMzD,OAAS,IAClByD,GAAS,IAEb,MAAO,CAACA,EAAM8F,OAAO,EAAG,GAAI9F,EAAM8F,OAAO,EAAG,GAAI9F,EAAM8F,OAAO,GAAI,GAAI9F,EAAM8F,OAAO,GAAI,GAAI9F,EAAM8F,OAAO,GAAI,KAAKwf,KAAK,MAEzHD,UAAW,WAEP,IADA,IAAIrlB,EAAQ,GACHnE,EAAI,EAAGA,EAAI,GAAIA,IACpBmE,GAASK,KAAKklB,MAAM,GAAKllB,KAAKmlB,UAAU/H,SAAS,IAErD,OAAOzd,GAEXyd,SAAU,WACN,OAAO1iB,KAAKoqB,QAEhB/lB,QAAS,WACL,OAAOrE,KAAKoqB,QAEhBM,OAAQ,WACJ,OAAO1qB,KAAKoqB,UAIpBhrB,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,QACzB8D,EAAO/D,QAAQC,QAAU8D,EAAO/D,S,iCC1ChCA,EAAQurB,WAAavrB,EAAQwrB,SAAWxrB,EAAQyrB,SAAWzrB,EAAQ0rB,UAAY1rB,EAAQ2rB,WAAa3rB,EAAQuP,cAAW,EACvH,IAAItL,EAAY7D,EAAQ,IACpB6qB,EAAa,SAASW,GACtB,YAAI,IAAWA,GAAQ,OAASA,EACrB,GAEJb,OAAOa,IAEdC,EAAkB,SAASD,GAC3B,OAAOX,EAAWW,GAAME,OAAO,GAAGC,cAAgBH,EAAKjgB,OAAO,IAE9DqgB,EAAQ,SAASJ,GACjB,OAAOX,EAAWW,GAAMzU,QAAQ,oBAAqB,SAAS4D,MAAM,YAEpE2Q,EAAY,SAASE,GACrB,OAAO,EAAI3nB,EAAUmb,KAAK4M,EAAMJ,IAAO,SAASxmB,GAC5C,OAAOA,EAAE0D,iBACVqiB,KAAK,MAEZnrB,EAAQ0rB,UAAYA,EAIpB1rB,EAAQurB,WAHS,SAASK,GACtB,OAAOF,EAAUE,GAAMzU,QAAQ,KAAM,MAYzCnX,EAAQuP,SATO,SAASqc,EAAMK,GAC1B,OAAO,EAAIhoB,EAAUmb,KAAK4M,EAAMJ,IAAO,SAASxmB,EAAG1D,GAK/C,OAJA0D,EAAIA,EAAE0D,eACFmjB,GAAcvqB,EAAI,KAClB0D,EAAIymB,EAAgBzmB,IAEjBA,KACR+lB,KAAK,KAMZnrB,EAAQyrB,SAHO,SAASG,GACpB,OAAOC,EAAgBH,EAAUE,GAAMzU,QAAQ,KAAM,OAQzDnX,EAAQwrB,SALO,SAASI,GACpB,OAAO,EAAI3nB,EAAUmb,KAAK4M,EAAMJ,IAAO,SAASxmB,GAC5C,OAAOymB,EAAgBzmB,EAAE0D,kBAC1BqiB,KAAK,MAGZ,IAAIe,EAAc,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KA8BhElsB,EAAQ2rB,WA7BS,SAASlqB,GACtB,IACIC,EACAyqB,EAFAC,EAAc,GAGdC,GAAoB,EACpBC,GAAY,EAChB,IAAK5qB,EAAI,EAAGA,EAAID,EAAKW,OAAQV,IAEzB4qB,GADAH,EAAO1qB,EAAKqqB,OAAOpqB,MACEyqB,EAAKJ,eAAiB,MAAQI,GAAQ,MAAQA,GAAQ,MAAQA,GAAQA,KAAQD,EAC/F,MAAQC,GAAQ,MAAQA,GACxBA,EAAO,IACPG,GAAY,GAER,IAAM5qB,GACNyqB,EAAOA,EAAKJ,cACZO,GAAY,IAEPD,GAAqBC,GAClBF,EAAYhqB,OAAS,GACrBgqB,EAAY9pB,KAAK,KAKjC8pB,EAAY9pB,KAAK6pB,GACjBE,EAAoBC,EAExB,OAAOF,EAAYjB,KAAK,M,iCCxE5BnrB,EAAQusB,mBAAqBvsB,EAAQogB,yBAA2BpgB,EAAQwsB,sBAAwBxsB,EAAQysB,4BAA8BzsB,EAAQ0sB,SAAW1sB,EAAQ2sB,oBAAsB3sB,EAAQ4sB,cAAgB5sB,EAAQ6sB,oBAAiB,EACxO,IAAIpb,EAAeC,EAAuBtR,EAAQ,KAC9CsX,EAAYhG,EAAuBtR,EAAQ,KAC3CE,EAAQF,EAAQ,IAGpB,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIgS,GAAS,EAPC9R,EAAQ,IAOGwP,aAYzB5P,EAAQusB,mBAXiB,WACrB,IAAIO,EAAgBrb,EAAaxR,QAAQ8sB,mBACrCC,EAAOvb,EAAaxR,QAAQgtB,UAChC,GAAIH,GAAiBA,IAAkBE,GAAQF,EAAcI,KACzD,IACIJ,EAAcI,OAChB,MAAOhoB,GACL8nB,EAAKE,SAuBjBltB,EAAQ6sB,eAlBa,WACjB,IAAIM,EAAYjb,EAAOkb,eACvB,GAAKD,GAGD,UAAYA,EAAU7W,KAG1B,GAAI6W,EAAUzF,MACVyF,EAAUzF,aAEV,GAAIyF,EAAUE,gBACV,IACIF,EAAUE,kBACZ,MAAOnoB,MAoBrBlF,EAAQ2sB,oBAfkB,SAASW,EAAaC,GAC5C,IAAIC,GAAe,EAAI9V,EAAUzX,SAASqtB,GACtCG,GAAa,EAAI/V,EAAUzX,SAASstB,GACxC,GAAIC,EAAa,KAAOC,EAAW,GAC/B,OAAOD,EAAa,GAKxB,IAHA,IAAIE,EAAgBF,EAAaG,UAC7BC,EAAcH,EAAWE,UAEpBjsB,GADYwE,KAAK2E,IAAI6iB,EAActrB,OAAQwrB,EAAYxrB,QAClCV,EAAI,EAAGA,IACjC,GAAIgsB,EAAcvd,IAAIzO,KAAOksB,EAAYzd,IAAIzO,GACzC,OAAOgsB,EAAcvd,IAAIzO,IAkBrC1B,EAAQwsB,sBAboB,SAASnb,GAEjC,IAAIwc,GADJxc,GAAU,EAAIqG,EAAUzX,SAASoR,IACPjP,QAAUiP,EAAQmD,QAAO,WAC/C,IAAIsZ,GAAQ,EAAIpW,EAAUzX,SAASW,MACnC,OAAOktB,EAAMC,GAAG,iBAAmBD,EAAMxO,KAAK,QAAQpI,QAAQ,UAAY,KAE9E,OAAI2W,EAAYzrB,OACLyrB,EAAYG,GAAG,GAAGrQ,QAEzBtM,GAAU,EAAIqG,EAAUzX,SAAS,SAASguB,OAAO5c,IAClCsM,QAiBvB3d,EAAQogB,yBAbuB,SAASA,EAAyB/O,GAC7D,IAAI6c,GAAW,EAAI5tB,EAAM0K,WAAWqG,KAAaA,EAAQ0P,WAAY,EAAIzgB,EAAM+f,YAAYhP,KAAY,EAAIqG,EAAUzX,SAASoR,IAAW,EAAIqG,EAAUzX,SAAS,SAAS0d,KAAKtM,GAAS6N,WAUvL,OATI,IAAMgP,EAAS9rB,SACX8rB,EAASH,GAAG,UACZG,EAAW9N,EAAyB8N,EAASvQ,OAAOwQ,QAEhDD,EAASH,GAAG,WACZG,EAAWA,EAASE,SAAS,SAASlP,aAI3CgP,GAUXluB,EAAQ4sB,cAPY,SAASyB,EAAOzC,GAChC,IAAI0C,EAAYD,EAAME,eAAiBF,EAAME,cAAcC,eAAiBtc,EAAOsc,cACnF,GAAI,IAAMztB,UAAUqB,OAChB,OAAOksB,GAAaA,EAAUG,QAAQ,QAE1CH,GAAaA,EAAUI,QAAQ,OAAQ9C,IAkB3C5rB,EAAQ0sB,SAfO,SAASA,EAAS9O,EAAWvM,GACxC,QAAKA,IAGDI,EAAaxR,QAAQ0uB,WAAWtd,KAChCA,EAAUA,EAAQud,YAElBnd,EAAaxR,QAAQ4uB,WAAWjR,GACzBA,EAAUkR,gBAAgBpC,SAASrb,IAE1C,EAAI/Q,EAAMiD,UAAUqa,GACb8O,EAAS9O,EAAUmR,SAAU1d,GAEjCuM,EAAU8O,SAAW9O,EAAU8O,SAASrb,MAAcA,EAAQ2d,wBAAwBpR,GAAavM,EAAQ4d,8BAwBtHjvB,EAAQysB,4BArB0B,SAASpb,EAASua,EAAMhY,GACtD,IAAIsb,EAAgBhd,EAAOid,kBAAiB,EAAIzX,EAAUzX,SAASoR,GAASlB,IAAI,IAC5Eif,EAAkBxb,GAAWA,EAAQwb,gBACzC,OAAO,EAAI1X,EAAUzX,SAAS,SAAS2rB,KAAKA,GAAMjU,IAAI,CAClD0X,UAAWH,EAAcG,UACzBC,YAAaJ,EAAcI,YAC3BC,WAAYL,EAAcK,WAC1BC,SAAUN,EAAcM,SACxBC,WAAYP,EAAcO,WAC1BC,cAAeR,EAAcQ,cAC7BC,OAAQT,EAAcS,OACtBC,WAAYR,EAAkBF,EAAcU,WAAa,GACzDC,aAAcT,EAAkBF,EAAcW,aAAe,GAC7DC,cAAeV,EAAkBF,EAAcY,cAAgB,GAC/DC,YAAaX,EAAkBF,EAAca,YAAc,GAC3DC,WAAY,SACZC,WAAY,MACZC,SAAU,WACV,MAAS,W,iCCjIjBlwB,EAAQC,aAAU,EAClB,IAGgCC,EAH5BmT,EAAUjT,EAAQ,IAClBD,GAE4BD,EAFKE,EAAQ,OAG3BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIiwB,EAAS,CACThY,YAAY,EACZiY,gBAAiB,MACjBC,oBAAoB,EACpBC,uBAAwB,IACxBC,iBAAkB,IAClBC,mBAAoB,IACpBC,qBAAqB,EACrBC,0BAA0B,EAC1BC,sBAAsB,EACtBC,eAAW,EACXC,uBAAmB,EACnBC,uBAAuB,EACvBC,2BAA4B,CACxBC,KAAM,MACNC,UAAW,QACXC,MAAO,GACPhB,SAAU,CACNiB,GAAI,eACJC,GAAI,eACJC,OAAQ,CACJ/K,GAAI,GACJG,GAAI,KAGZ6K,wBAAyB,EACzBC,SAAS,EACTC,UAAW,QAEfjS,cAAe,SAASF,GAChB,MAAQA,EAAc8O,OAAOrC,OAAO,KACpCzM,EAAgB,IAAMA,EAAgB,KAE1C,IACI,OAAO,IAAIza,SAAS,UAAYya,EAAzB,GACT,MAAOoS,GACL,MAAMtxB,EAAQF,QAAQ4C,MAAM,QAAS4uB,EAAIpS,MAIjDqS,EAAmB,CAAC,mBAAoB,sBACxCC,EAAe,WACf,IAAK5wB,UAAUqB,OACX,OAAO+tB,EAEX,IAAIyB,EAAY7wB,UAAUqB,QAAU,OAAI,EAASrB,UAAU,GAC3D2wB,EAAiBzb,SAAQ,SAAS4b,GAC9B,GAAID,EAAUC,GAAkB,CAC5B,IAAIC,EAAU,YAAY3S,OAAO0S,EAAiB,+CAClD1xB,EAAQF,QAAQ8xB,IAAI,QAAS,SAAUF,EAAiB,OAAQC,QAGxE,EAAIze,EAAQa,QAAQic,EAAQyB,IAE5B,qBAAuBI,YAAcA,WAAW7B,QAChDwB,EAAaK,WAAW7B,QAE5B,IAAIrsB,EAAW6tB,EACf3xB,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,QACzB8D,EAAO/D,QAAQC,QAAU8D,EAAO/D,S,kCCrEhCA,EAAQC,aAAU,EAClB,IAQgCC,EAR5B+xB,EAAgB7xB,EAAQ,KACxBqR,GAO4BvR,EAPUE,EAAQ,MAQhCF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GARfuP,EAAUrP,EAAQ,IAClBE,EAAQF,EAAQ,IAChB8xB,EAAS9xB,EAAQ,KACjB+xB,EAAQ/xB,EAAQ,KAChBgyB,EAAehyB,EAAQ,MAO3B,IACIiyB,EADAngB,GAAS,EAAIzC,EAAQG,aAErB0iB,EAAa,SAASC,EAAUnL,GAChC,OAAKmL,EAID,kBAAoBA,EAChB,SAAWA,GACX3xB,KAAK,GAAKwmB,EAAUA,EAAQ4F,KAAOvb,EAAaxR,QAAQgtB,UACxDrsB,KAAKwB,OAAS,EACPxB,OAEXwmB,EAAUA,GAAW3V,EAAaxR,QAAQuyB,cACtC,MAAQD,EAAS,IACjB3xB,KAAK,GAAK6Q,EAAaxR,QAAQsX,cAAcgb,EAASrwB,MAAM,GAAI,GAAIklB,GACpExmB,KAAKwB,OAAS,EACPxB,OACT,GAAG0B,KAAKxB,MAAMF,KAAM6Q,EAAaxR,QAAQwyB,iBAAiBrL,EAASmL,IAC9D3xB,OAEH6Q,EAAaxR,QAAQ0W,OAAO4b,KAAa,EAAIjyB,EAAMiD,UAAUgvB,IAC7D3xB,KAAK,GAAK2xB,EACV3xB,KAAKwB,OAAS,EACPxB,MAEH4K,MAAM6P,QAAQkX,IACd,GAAGjwB,KAAKxB,MAAMF,KAAM2xB,GACb3xB,MAIZyxB,EAASE,EAASG,QAAUH,EAASG,UAAY,CAACH,KA5BrD3xB,KAAKwB,OAAS,EACPxB,QA6BfyxB,EAAW,SAASE,EAAUnL,GAC1B,OAAO,IAAIkL,EAAWC,EAAUnL,KAE3BvW,GAAK,CACV8hB,YAAY,GAEhBL,EAAWjxB,UAAYgxB,EAASxhB,GAChC,IAAI+hB,EAAe,SAASnyB,EAAY6D,GACpC,IAAK,IAAI5C,EAAI,EAAGA,EAAId,KAAKwB,OAAQV,IAAK,CAClC,IAAIqP,EAAOshB,EAASzxB,KAAKc,IACzBqP,EAAKtQ,GAAYK,MAAMiQ,EAAMzM,GAEjC,OAAO1D,MAEPiyB,EAAoB,SAASxhB,EAASyhB,EAAUjtB,QAC5C,IAAWA,GAAS,OAASA,EAC7B4L,EAAaxR,QAAQ8yB,aAAa1hB,EAASyhB,EAAUjtB,GAErD4L,EAAaxR,QAAQ+yB,gBAAgB3hB,EAASyhB,IAGtDR,EAAWjxB,UAAU4xB,KAAO,WACxB,OAAOryB,KAAKsyB,QAAO,IAEvBZ,EAAWjxB,UAAU8xB,KAAO,WACxB,OAAOvyB,KAAKsyB,QAAO,IAEvBZ,EAAWjxB,UAAU6xB,OAAS,SAASrtB,GAInC,OAHIjF,KAAK,IACLA,KAAKwyB,YAAY,sBAAuBvtB,GAErCjF,MAEX0xB,EAAWjxB,UAAUie,KAAO,SAASwT,EAAUjtB,GAC3C,GAAIjF,KAAKwB,OAAS,GAAKrB,UAAUqB,OAAS,EACtC,OAAOwwB,EAAazvB,KAAKvC,KAAM,OAAQG,WAE3C,IAAKH,KAAK,GACN,OAAI,EAAIN,EAAMqG,UAAUmsB,SAAa,IAAWjtB,EACrCjF,UAEP,EAGR,IAAKA,KAAK,GAAGyyB,aACT,OAAOzyB,KAAK0yB,KAAKR,EAAUjtB,GAE/B,GAAI,kBAAoBitB,GAAY,IAAM/xB,UAAUqB,OAAQ,CACxD,IAAI6D,EAASrF,KAAK,GAAGyyB,aAAaP,GAClC,OAAO,MAAQ7sB,OAAS,EAASA,EAEjC,IAAI,EAAI3F,EAAMkc,eAAesW,GACzB,IAAK,IAAI5vB,KAAO4vB,EACZlyB,KAAK0e,KAAKpc,EAAK4vB,EAAS5vB,SAG5B2vB,EAAkBjyB,KAAK,GAAIkyB,EAAUjtB,GAG7C,OAAOjF,MAEX0xB,EAAWjxB,UAAUkyB,WAAa,SAAST,GAEvC,OADAlyB,KAAK,IAAM6Q,EAAaxR,QAAQ+yB,gBAAgBpyB,KAAK,GAAIkyB,GAClDlyB,MAEX0xB,EAAWjxB,UAAUiyB,KAAO,SAAS5Y,EAAU7U,GAC3C,IAAKjF,KAAK,GACN,OAAOA,KAEX,GAAI,kBAAoB8Z,GAAY,IAAM3Z,UAAUqB,OAChD,OAAOxB,KAAK,GAAG8Z,GAEf,IAAI,EAAIpa,EAAMkc,eAAe9B,GACzB,IAAK,IAAIxX,KAAOwX,EACZ9Z,KAAK0yB,KAAKpwB,EAAKwX,EAASxX,SAG5BuO,EAAaxR,QAAQuzB,YAAY5yB,KAAK,GAAI8Z,EAAU7U,GAG5D,OAAOjF,MAEX0xB,EAAWjxB,UAAUoyB,SAAW,SAASC,GACrC,OAAO9yB,KAAKwyB,YAAYM,GAAW,IAEvCpB,EAAWjxB,UAAUsyB,YAAc,SAASD,GACxC,OAAO9yB,KAAKwyB,YAAYM,GAAW,IAEvCpB,EAAWjxB,UAAUuyB,SAAW,SAASF,GACrC,IAAK9yB,KAAK,SAAM,IAAWA,KAAK,GAAG8yB,UAC/B,OAAO,EAGX,IADA,IAAIG,EAAaH,EAAU3Y,MAAM,KACxBrZ,EAAI,EAAGA,EAAImyB,EAAWzxB,OAAQV,IAAK,CACxC,GAAId,KAAK,GAAGkzB,WACR,GAAIlzB,KAAK,GAAGkzB,UAAUpH,SAASmH,EAAWnyB,IACtC,OAAO,OAIX,MADiB,EAAIpB,EAAMoG,UAAU9F,KAAK,GAAG8yB,WAAa9yB,KAAK,GAAG8yB,UAAYjiB,EAAaxR,QAAQozB,aAAazyB,KAAK,GAAI,WACtG,IAAIma,MAAM,KAAK7D,QAAQ2c,EAAWnyB,KAAO,EACxD,OAAO,EAInB,OAAO,GAEX4wB,EAAWjxB,UAAU+xB,YAAc,SAASM,EAAW7tB,GACnD,GAAIjF,KAAKwB,OAAS,EACd,OAAOwwB,EAAazvB,KAAKvC,KAAM,cAAeG,WAElD,IAAKH,KAAK,KAAO8yB,EACb,OAAO9yB,KAEXiF,OAAQ,IAAWA,GAASjF,KAAKgzB,SAASF,GAAa7tB,EAEvD,IADA,IAAIguB,EAAaH,EAAU3Y,MAAM,KACxBrZ,EAAI,EAAGA,EAAImyB,EAAWzxB,OAAQV,IACnC+P,EAAaxR,QAAQ8zB,SAASnzB,KAAK,GAAIizB,EAAWnyB,GAAImE,GAE1D,OAAOjF,MAEX,CAAC,QAAS,SAAU,aAAc,cAAe,aAAc,eAAeqV,SAAQ,SAASxV,GAC3F,IAAIuzB,EAAcvzB,EAAWqI,cAAcoO,QAAQ,UAAY,EAAI,QAAU,SACzEwD,EAAWsZ,EAAYlrB,cACvBmrB,EAAU,IAAMxzB,EAAWyW,QAAQ,SACnCgd,EAAU,IAAMzzB,EAAWyW,QAAQ,SACvCob,EAAWjxB,UAAUZ,GAAc,SAASoF,GACxC,GAAIjF,KAAKwB,OAAS,GAAKrB,UAAUqB,OAAS,EACtC,OAAOwwB,EAAazvB,KAAKvC,KAAMH,EAAYM,WAE/C,IAAIsQ,EAAUzQ,KAAK,GACnB,GAAKyQ,EAAL,CAGA,IAAI,EAAI/Q,EAAMiD,UAAU8N,GACpB,OAAO4iB,EAAU5iB,EAAQ,QAAU2iB,GAAeviB,EAAaxR,QAAQk0B,qBAAqB,SAAWH,GAE3G,GAAIviB,EAAaxR,QAAQ4uB,WAAWxd,GAAU,CAC1C,IAAIyd,EAAkBrd,EAAaxR,QAAQk0B,qBACvCnH,EAAOvb,EAAaxR,QAAQgtB,UAChC,OAAO/mB,KAAK4E,IAAIkiB,EAAK,SAAWgH,GAAchH,EAAK,SAAWgH,GAAclF,EAAgB,SAAWkF,GAAclF,EAAgB,SAAWkF,GAAclF,EAAgB,SAAWkF,IAE7L,GAAI,IAAMjzB,UAAUqB,QAAU,mBAAqByD,EAAO,CACtD,IAAItE,EAAU,CACV6yB,SAAUF,GAAWD,EACrBI,QAASJ,EACTK,QAASzuB,GAEb,OAAO,EAAIssB,EAAMoC,SAASljB,EAASqJ,EAAUnZ,GAEjD,QAAI,IAAWsE,GAAS,OAASA,EAC7B,OAAOjF,KAEX,IAAI,EAAIN,EAAMyI,WAAWlD,GAAQ,CAC7B,IAAIqpB,EAAgBhd,EAAOid,iBAAiB9d,GACxCmjB,GAAiB,EAAIrC,EAAMsC,qBAAqB/Z,EAAUwU,GAC1DwF,EAAc,eAAiBxF,EAAcyF,UACjD9uB,EAAQ+uB,OAAO/uB,GACXouB,EACApuB,GAAS6uB,EAAc,EAAIF,EAAe7E,OAAS6E,EAAeK,QAE9DX,EACAruB,GAAS6uB,EAAcF,EAAe7E,QAAU6E,EAAeK,QAE3DH,IACA7uB,GAAS2uB,EAAe7E,OAAS6E,EAAeK,SAOhE,OAFAhvB,IAAS,EAAIvF,EAAMyI,WAAWlD,GAAS,KAAO,GAC9C4L,EAAaxR,QAAQ60B,SAASzjB,EAASqJ,EAAU7U,GAC1CjF,UAGf0xB,EAAWjxB,UAAUsc,KAAO,SAAS9X,GACjC,OAAK9E,UAAUqB,QAGfxB,KAAK8mB,QACD,kBAAoB7hB,KAAU,EAAIusB,EAAaxV,aAAa/W,IAAU,kBAAoBA,GAC1FjF,KAAK,GAAGiX,UAAYhS,EACbjF,MAEJA,KAAKqtB,QAAO,EAAImE,EAAazV,WAAW9W,KAPpCjF,KAAK,GAAGiX,WASvB,IAAIkd,EAAiB,SAAS1jB,EAAS2jB,GACnC,GAAKp0B,KAAK,IAAOyQ,EAAjB,CAGI,kBAAoBA,EACpBA,GAAU,EAAI+gB,EAAazV,WAAWtL,GAElCA,EAAQ0P,SACR1P,EAAU,CAACA,IAEP,EAAI/Q,EAAMyI,WAAWsI,KACrBA,EAAU,CAACI,EAAaxR,QAAQg1B,eAAe5jB,KAI3D,IAAK,IAAI3P,EAAI,EAAGA,EAAI2P,EAAQjP,OAAQV,IAAK,CACrC,IAAIqP,EAAOM,EAAQ3P,GACfkc,EAAYhd,KAAK,GACR,UAAYgd,EAAUsX,SAAW,OAASnkB,EAAKmkB,SAC9CtX,EAAUuX,SAAWvX,EAAUuX,QAAQ/yB,SACjDwb,EAAYA,EAAUuX,QAAQ,IAElC1jB,EAAaxR,QAAQm1B,cAAcxX,EAAW7M,EAAKgQ,SAAWhQ,EAAOA,EAAK,GAAIikB,MAGlFK,EAAS,SAAS5zB,EAAMoE,GACxB,GAAKjF,KAAK,IAAOA,KAAK,GAAG00B,SAGrB,OAASzvB,GAAS,kBAAoBA,GAAS0vB,MAAM1vB,IAAzD,CAGApE,GAAO,EAAIywB,EAAOsD,WAAW/zB,GAC7B,IAAK,IAAIC,EAAI,EAAGA,EAAId,KAAKwB,OAAQV,IAC7Bd,KAAKc,GAAG4zB,MAAM7zB,IAAQ,EAAIywB,EAAOuD,oBAAoBh0B,EAAMoE,KAGnEysB,EAAWjxB,UAAUsW,IAAM,SAASlW,EAAMoE,GACtC,IAAI,EAAIvF,EAAMoG,UAAUjF,GAAO,CAC3B,GAAI,IAAMV,UAAUqB,OAEb,CACH,IAAKxB,KAAK,GACN,OAEJa,GAAO,EAAIywB,EAAOsD,WAAW/zB,GAC7B,IAAIwE,EAASiM,EAAOid,iBAAiBvuB,KAAK,IAAIa,IAASb,KAAK,GAAG00B,MAAM7zB,GACrE,OAAO,EAAInB,EAAMyI,WAAW9C,GAAUA,EAAOqd,WAAard,EAP1DovB,EAAOlyB,KAAKvC,KAAMa,EAAMoE,QAU5B,IAAI,EAAIvF,EAAMkc,eAAe/a,GACzB,IAAK,IAAIyB,KAAOzB,EACZ4zB,EAAOlyB,KAAKvC,KAAMsC,EAAKzB,EAAKyB,IAIxC,OAAOtC,MAEX0xB,EAAWjxB,UAAUq0B,QAAU,SAASrkB,GACpC,GAAItQ,UAAUqB,OAAS,EAAG,CACtB,IAAK,IAAIV,EAAI,EAAGA,EAAIX,UAAUqB,OAAQV,IAClCd,KAAK80B,QAAQ30B,UAAUW,IAE3B,OAAOd,KAGX,OADAm0B,EAAej0B,MAAMF,KAAM,CAACyQ,EAASzQ,KAAK,GAAG+0B,aACtC/0B,MAEX0xB,EAAWjxB,UAAU4sB,OAAS,SAAS5c,GACnC,GAAItQ,UAAUqB,OAAS,EAAG,CACtB,IAAK,IAAIV,EAAI,EAAGA,EAAIX,UAAUqB,OAAQV,IAClCd,KAAKqtB,OAAOltB,UAAUW,IAE1B,OAAOd,KAGX,OADAm0B,EAAej0B,MAAMF,KAAM,CAACyQ,IACrBzQ,MAEX0xB,EAAWjxB,UAAUu0B,UAAY,SAASvkB,GACtC,GAAIzQ,KAAKwB,OAAS,EAAG,CACjB,IAAK,IAAIV,EAAId,KAAKwB,OAAS,EAAGV,GAAK,EAAGA,IAClC2wB,EAASzxB,KAAKc,IAAIk0B,UAAUvkB,GAEhC,OAAOzQ,KAMX,OAJAyQ,EAAUghB,EAAShhB,IACP,IACRI,EAAaxR,QAAQm1B,cAAc/jB,EAAQ,GAAIzQ,KAAK,GAAIyQ,EAAQ,GAAGskB,YAEhE/0B,MAEX0xB,EAAWjxB,UAAUw0B,SAAW,SAASxkB,GACrC,OAAIzQ,KAAKwB,OAAS,EACPwwB,EAAazvB,KAAKvC,KAAM,WAAYG,YAE/C0Q,EAAaxR,QAAQm1B,cAAc/C,EAAShhB,GAAS,GAAIzQ,KAAK,IACvDA,OAEX0xB,EAAWjxB,UAAUy0B,aAAe,SAASzkB,GAIzC,OAHIA,GAAWA,EAAQ,IACnBI,EAAaxR,QAAQm1B,cAAc/jB,EAAQ,GAAGud,WAAYhuB,KAAK,GAAIyQ,EAAQ,IAExEzQ,MAEX0xB,EAAWjxB,UAAU00B,YAAc,SAAS1kB,GAIxC,OAHIA,GAAWA,EAAQ,IACnBI,EAAaxR,QAAQm1B,cAAc/jB,EAAQ,GAAGud,WAAYhuB,KAAK,GAAIyQ,EAAQ,GAAG2jB,aAE3Ep0B,MAEX0xB,EAAWjxB,UAAU20B,OAAS,SAAS3kB,GAInC,OAHIzQ,KAAK,IACL6Q,EAAaxR,QAAQm1B,cAAcx0B,KAAK,GAAGguB,WAAYvd,EAAQ,GAAIzQ,KAAK,IAErEA,MAEX0xB,EAAWjxB,UAAU40B,MAAQ,SAAS5kB,GAIlC,OAHIzQ,KAAK,IACL6Q,EAAaxR,QAAQm1B,cAAcx0B,KAAK,GAAGguB,WAAYvd,EAAQ,GAAIzQ,KAAK,GAAGo0B,aAExEp0B,MAEX0xB,EAAWjxB,UAAU60B,KAAO,SAASC,GACjC,GAAIv1B,KAAK,GAAI,CACT,IAAIs1B,EAAO7D,EAAS8D,GACpBD,EAAKJ,aAAal1B,MAClBs1B,EAAKjI,OAAOrtB,MAEhB,OAAOA,MAEX0xB,EAAWjxB,UAAU+0B,UAAY,SAASD,GACtC,IAAIjX,EAAWte,KAAKse,WAMpB,OALIA,EAAS9c,OACT8c,EAASgX,KAAKC,GAEdv1B,KAAKqtB,OAAOkI,GAETv1B,MAEX0xB,EAAWjxB,UAAUg1B,YAAc,SAAShlB,GACxC,GAAMA,GAAWA,EAAQ,GAGzB,OAAIA,EAAQ0c,GAAGntB,MACJA,MAEXyQ,EAAQykB,aAAal1B,MACrBA,KAAKoQ,SACEK,IAEXihB,EAAWjxB,UAAU2P,OAAS,WAC1B,OAAIpQ,KAAKwB,OAAS,EACPwwB,EAAazvB,KAAKvC,KAAM,SAAUG,aAC5C,EAAIkxB,EAAcqE,oBAAoB11B,KAAK,IAAI,GAChD6Q,EAAaxR,QAAQs2B,cAAc31B,KAAK,IACjCA,OAEX0xB,EAAWjxB,UAAUm1B,OAAS,WAC1B,OAAI51B,KAAKwB,OAAS,EACPwwB,EAAazvB,KAAKvC,KAAM,SAAUG,YAE7C0Q,EAAaxR,QAAQs2B,cAAc31B,KAAK,IACjCA,OAEX0xB,EAAWjxB,UAAUqmB,MAAQ,WACzB,OAAI9mB,KAAKwB,OAAS,EACPwwB,EAAazvB,KAAKvC,KAAM,QAASG,aAC3C,EAAIkxB,EAAcqE,oBAAoB11B,KAAK,IAC5C6Q,EAAaxR,QAAQw2B,QAAQ71B,KAAK,GAAI,IAC/BA,OAEX0xB,EAAWjxB,UAAUmW,MAAQ,WAEzB,IADA,IAAIvR,EAAS,GACJvE,EAAI,EAAGA,EAAId,KAAKwB,OAAQV,IAC7BuE,EAAO3D,KAAK1B,KAAKc,GAAG+V,WAAU,IAElC,OAAO4a,EAASpsB,IAEpBqsB,EAAWjxB,UAAUuqB,KAAO,SAAS/lB,GACjC,IAAK9E,UAAUqB,OAAQ,CAEnB,IADA,IAAI6D,EAAS,GACJvE,EAAI,EAAGA,EAAId,KAAKwB,OAAQV,IAC7BuE,GAAUrF,KAAKc,IAAMd,KAAKc,GAAGg1B,aAAe,GAEhD,OAAOzwB,EAEX,IAAI2lB,GAAO,EAAItrB,EAAM2T,YAAYpO,GAASA,IAAUA,EAGpD,OAFA,EAAIosB,EAAcqE,oBAAoB11B,KAAK,IAAI,GAC/C6Q,EAAaxR,QAAQw2B,QAAQ71B,KAAK,IAAI,EAAIN,EAAM0K,WAAW4gB,GAAQA,EAAO,IACnEhrB,MAEX0xB,EAAWjxB,UAAUs1B,IAAM,SAAS9wB,GAChC,OAAI,IAAM9E,UAAUqB,OACTxB,KAAK0yB,KAAK,SAAS,EAAIhzB,EAAM0K,WAAWnF,GAASA,EAAQ,IAE7DjF,KAAK0yB,KAAK,UAErBhB,EAAWjxB,UAAU6d,SAAW,WAC5B,IAAKte,KAAK,GACN,OAAOyxB,IAEX,IAAIpsB,EAAS,GAEb,OADAA,EAAO3D,KAAKxB,MAAMmF,EAAQrF,KAAK,GAAGkW,YAC3Bub,EAASpsB,IAEpBqsB,EAAWjxB,UAAUu1B,KAAO,SAASrE,GACjC,IAAItsB,EAASosB,IACb,IAAKE,EACD,OAAOtsB,EAEX,IACIvE,EADAm1B,EAAQ,GAEZ,GAAI,kBAAoBtE,EAEpB,IADAA,EAAWA,EAASpE,OACfzsB,EAAI,EAAGA,EAAId,KAAKwB,OAAQV,IAAK,CAC9B,IAAI2P,EAAUzQ,KAAKc,GACnB,GAAI+P,EAAaxR,QAAQ62B,cAAczlB,GAAU,CAC7C,IAAI0lB,EAAY1lB,EAAQgiB,aAAa,MACjC2D,EAAUD,GAAa,oBACtBA,GACDlE,EAAkBxhB,EAAS,KAAM2lB,GAGrC,IAAIC,GADJD,EAAU,QAAUA,EAAU,OACAzE,EAASpb,QAAQ,cAAe,OAAS6f,GACvEH,EAAMv0B,KAAKxB,MAAM+1B,EAAOplB,EAAaxR,QAAQwyB,iBAAiBphB,EAAS4lB,IACvEpE,EAAkBxhB,EAAS,KAAM0lB,QAE7BtlB,EAAaxR,QAAQ4uB,WAAWxd,IAChCwlB,EAAMv0B,KAAKxB,MAAM+1B,EAAOplB,EAAaxR,QAAQwyB,iBAAiBphB,EAASkhB,SAKnF,IAAK7wB,EAAI,EAAGA,EAAId,KAAKwB,OAAQV,IACzB6wB,EAAW9gB,EAAaxR,QAAQ0W,OAAO4b,GAAYA,EAAWA,EAAS,GACnE3xB,KAAKc,KAAO6wB,GAAY3xB,KAAKc,GAAGgrB,SAAS6F,IACzCsE,EAAMv0B,KAAKiwB,GAIvB,OAAOtsB,EAAO2K,IAAIimB,IAEtB,IAAIK,EAAY,SAASpmB,EAAGO,GACxB,OAAKA,EAAQ0P,aAGH1P,EAAQ8lB,aAAe9lB,EAAQ+lB,cAAgB/lB,EAAQgmB,iBAAiBj1B,SAEtFkwB,EAAWjxB,UAAUmT,OAAS,SAAS+d,GACnC,IAAKA,EACD,OAAOF,IAEX,GAAI,aAAeE,EACf,OAAO3xB,KAAK4T,OAAO0iB,GAEnB,GAAI,YAAc3E,EACd,OAAO3xB,KAAK4T,QAAO,SAAS1D,EAAGO,GAC3B,OAAQ6lB,EAAUpmB,EAAGO,MAKjC,IADA,IAAIpL,EAAS,GACJvE,EAAI,EAAGA,EAAId,KAAKwB,OAAQV,IAAK,CAClC,IAAIqP,EAAOnQ,KAAKc,GAChB,GAAI+P,EAAaxR,QAAQ62B,cAAc/lB,IAAS,YAAa,EAAIzQ,EAAMgW,MAAMic,GACzE9gB,EAAaxR,QAAQq3B,eAAevmB,EAAMwhB,IAAatsB,EAAO3D,KAAKyO,QAEnE,GAAIU,EAAaxR,QAAQ0W,OAAO4b,KAAa,EAAIjyB,EAAMiD,UAAUgvB,GAC7DA,IAAaxhB,GAAQ9K,EAAO3D,KAAKyO,QAEjC,IAAI,EAAIzQ,EAAM2T,YAAYse,GACtBA,EAASpvB,KAAK4N,EAAMrP,EAAGqP,IAAS9K,EAAO3D,KAAKyO,QAE5C,IAAK,IAAIwmB,EAAI,EAAGA,EAAIhF,EAASnwB,OAAQm1B,IACjChF,EAASgF,KAAOxmB,GAAQ9K,EAAO3D,KAAKyO,GAMxD,OAAOshB,EAASpsB,IAEpBqsB,EAAWjxB,UAAUm2B,IAAM,SAASjF,GAGhC,IAFA,IAAItsB,EAAS,GACT4wB,EAAQj2B,KAAK4T,OAAO+d,GAAUG,UACzBhxB,EAAI,EAAGA,EAAId,KAAKwB,OAAQV,KACG,IAA5Bm1B,EAAM3f,QAAQtW,KAAKc,KACnBuE,EAAO3D,KAAK1B,KAAKc,IAGzB,OAAO2wB,EAASpsB,IAEpBqsB,EAAWjxB,UAAU0sB,GAAK,SAASwE,GAC/B,QAAS3xB,KAAK4T,OAAO+d,GAAUnwB,QAEnCkwB,EAAWjxB,UAAU+sB,SAAW,SAASmE,GAErC,IADA,IAAItsB,EAAS,GACJvE,EAAI,EAAGA,EAAId,KAAKwB,OAAQV,IAE7B,IADA,IAAIm1B,EAAQj2B,KAAKc,GAAKd,KAAKc,GAAGoV,WAAa,GAClCygB,EAAI,EAAGA,EAAIV,EAAMz0B,OAAQm1B,IAC1B9lB,EAAaxR,QAAQ62B,cAAcD,EAAMU,KACzCtxB,EAAO3D,KAAKu0B,EAAMU,IAK9B,OADAtxB,EAASosB,EAASpsB,GACXssB,EAAWtsB,EAAOuO,OAAO+d,GAAYtsB,GAEhDqsB,EAAWjxB,UAAUo2B,SAAW,WAC5B,IAAIpmB,EAAUzQ,KAAK,GACnB,IAAKyQ,IAAYA,EAAQud,WACrB,OAAOyD,IAIX,IAFA,IAAIpsB,EAAS,GACTyxB,EAAmBrmB,EAAQud,WAAW9X,YAAc,GAC/CpV,EAAI,EAAGA,EAAIg2B,EAAiBt1B,OAAQV,IAAK,CAC9C,IAAIi2B,EAAOD,EAAiBh2B,GACxB+P,EAAaxR,QAAQ62B,cAAca,IAASA,IAAStmB,GACrDpL,EAAO3D,KAAKq1B,GAGpB,OAAOtF,EAASpsB,IAEpBqsB,EAAWjxB,UAAUuF,KAAO,SAASgxB,GACjC,IAAK,IAAIl2B,EAAI,EAAGA,EAAId,KAAKwB,SACjB,IAAUw1B,EAASz0B,KAAKvC,KAAKc,GAAIA,EAAGd,KAAKc,IADhBA,OAMrC4wB,EAAWjxB,UAAU4O,MAAQ,SAASoB,GAClC,OAAKA,GAGLA,EAAUghB,EAAShhB,GACZzQ,KAAK8xB,UAAUxb,QAAQ7F,EAAQ,KAH3BzQ,KAAKU,SAAS8sB,WAAWne,MAAMrP,OAK9C0xB,EAAWjxB,UAAU8O,IAAM,SAASF,GAChC,OAAOrP,KAAKqP,EAAQ,EAAIrP,KAAKwB,OAAS6N,EAAQA,IAElDqiB,EAAWjxB,UAAU2sB,GAAK,SAAS/d,GAE/B,OADAA,EAAQA,EAAQ,EAAIrP,KAAKwB,OAAS6N,EAAQA,EACnCoiB,EAASzxB,KAAKqP,KAEzBqiB,EAAWjxB,UAAU4V,MAAQ,WACzB,OAAOrW,KAAKotB,GAAG,IAEnBsE,EAAWjxB,UAAUsa,KAAO,WACxB,OAAO/a,KAAKotB,IAAI,IAEpBsE,EAAWjxB,UAAUC,OAAS,SAASixB,GACnC,IAAK3xB,KAAK,GACN,OAAOyxB,IAEX,IAAIpsB,EAASosB,EAASzxB,KAAK,GAAGguB,YAC9B,OAAQ2D,GAAYtsB,EAAO8nB,GAAGwE,GAAYtsB,EAASosB,KAEvDC,EAAWjxB,UAAUssB,QAAU,SAAS4E,GAGpC,IAFA,IAAItsB,EAAS,GACT3E,EAASV,KAAKU,SACXA,GAAUA,EAAO,KAAOmQ,EAAaxR,QAAQ4uB,WAAWvtB,EAAO,KAC9DmQ,EAAaxR,QAAQ62B,cAAcx1B,EAAO,OACrCixB,GAAYA,GAAYjxB,EAAOysB,GAAGwE,KACnCtsB,EAAO3D,KAAKhB,EAAO6O,IAAI,IAG/B7O,EAASA,EAAOA,SAEpB,OAAO+wB,EAASpsB,IAEpBqsB,EAAWjxB,UAAUw2B,QAAU,SAAStF,GACpC,GAAI3xB,KAAKmtB,GAAGwE,GACR,OAAO3xB,KAGX,IADA,IAAIU,EAASV,KAAKU,SACXA,GAAUA,EAAOc,QAAQ,CAC5B,GAAId,EAAOysB,GAAGwE,GACV,OAAOjxB,EAEXA,EAASA,EAAOA,SAEpB,OAAO+wB,KAEXC,EAAWjxB,UAAU+Z,KAAO,SAASmX,GACjC,IAAK3xB,KAAK,GACN,OAAOyxB,IAEX,IAAIjX,EAAOiX,EAASzxB,KAAK,GAAGo0B,aAC5B,IAAKj0B,UAAUqB,OACX,OAAOgZ,EAEX,KAAOA,GAAQA,EAAKhZ,QAAQ,CACxB,GAAIgZ,EAAK2S,GAAGwE,GACR,OAAOnX,EAEXA,EAAOA,EAAKA,OAEhB,OAAOiX,KAEXC,EAAWjxB,UAAUy2B,KAAO,WACxB,OAAKl3B,KAAK,GAGHyxB,EAASzxB,KAAK,GAAGm3B,iBAFb1F,KAIfC,EAAWjxB,UAAUuP,IAAM,SAAS2hB,GAGhC,IAFA,IAAIyF,EAAU3F,EAASE,GACnBtsB,EAASrF,KAAK8xB,UACThxB,EAAI,EAAGA,EAAIs2B,EAAQ51B,OAAQV,IAAK,CACrC,IAAIu2B,EAASD,EAAQt2B,IACW,IAA5BuE,EAAOiR,QAAQ+gB,IACfhyB,EAAO3D,KAAK21B,GAGpB,OAAO5F,EAASpsB,IAEpB,IAAIiyB,EAAa,GACjB5F,EAAWjxB,UAAUiP,OAAS,WAC1B,OAAO+hB,EAAS6F,EAAW5nB,OAAOxP,MAAMF,KAAMG,aAElDuxB,EAAWjxB,UAAUa,MAAQ,WACzB,OAAOmwB,EAAS6F,EAAWh2B,MAAMpB,MAAMF,KAAMG,aAEjDuxB,EAAWjxB,UAAUqxB,QAAU,WAC3B,OAAOwF,EAAWh2B,MAAMiB,KAAKvC,OAEjC,IAAIu3B,EAAqB,SAAS9mB,GAC9B,OAAO,EAAI/Q,EAAMiD,UAAU8N,GAAWA,EAAUA,EAAQ+mB,aAE5D9F,EAAWjxB,UAAUgwB,OAAS,WAC1B,GAAKzwB,KAAK,GAAV,CAGA,IAAKA,KAAK,GAAGy2B,iBAAiBj1B,OAC1B,MAAO,CACHqW,IAAK,EACLC,KAAM,GAGd,IAAIJ,EAAO1X,KAAK,GAAG2X,wBACf8f,EAAMF,EAAmBv3B,KAAK,GAAG03B,eACjCC,EAAU33B,KAAK,GAAG03B,cAAcxJ,gBACpC,MAAO,CACHrW,IAAKH,EAAKG,IAAM4f,EAAIG,YAAcD,EAAQE,UAC1C/f,KAAMJ,EAAKI,KAAO2f,EAAIK,YAAcH,EAAQI,cAGpDrG,EAAWjxB,UAAUu3B,aAAe,WAChC,IAAKh4B,KAAK,GACN,OAAOyxB,IAGX,IADA,IAAIuG,EAAevG,EAASzxB,KAAK,GAAGg4B,cAC7BA,EAAa,IAAM,WAAaA,EAAajhB,IAAI,aACpDihB,EAAevG,EAASuG,EAAa,GAAGA,cAG5C,OADAA,EAAeA,EAAa,GAAKA,EAAevG,EAAS5gB,EAAaxR,QAAQk0B,uBAGlF7B,EAAWjxB,UAAU6uB,SAAW,WAC5B,GAAKtvB,KAAK,GAAV,CAGA,IAAIywB,EACAwH,EAAY7U,WAAWpjB,KAAK+W,IAAI,cAChCmhB,EAAa9U,WAAWpjB,KAAK+W,IAAI,eACrC,GAAI,UAAY/W,KAAK+W,IAAI,YAErB,MAAO,CACHc,KAFJ4Y,EAASzwB,KAAK,GAAG2X,yBAEDE,IAAMogB,EAClBngB,KAAM2Y,EAAO3Y,KAAOogB,GAG5BzH,EAASzwB,KAAKywB,SACd,IAAIuH,EAAeh4B,KAAKg4B,eACpBG,EAAe,CACftgB,IAAK,EACLC,KAAM,GASV,MAPI,SAAWkgB,EAAa,GAAGI,WAC3BD,EAAeH,EAAavH,UAEhC0H,EAAe,CACXtgB,IAAKsgB,EAAatgB,IAAMuL,WAAW4U,EAAajhB,IAAI,mBACpDe,KAAMqgB,EAAargB,KAAOsL,WAAW4U,EAAajhB,IAAI,qBAEnD,CACHc,IAAK4Y,EAAO5Y,IAAMsgB,EAAatgB,IAAMogB,EACrCngB,KAAM2Y,EAAO3Y,KAAOqgB,EAAargB,KAAOogB,KAGhD,CAAC,CACGr3B,KAAM,aACNw3B,WAAY,cACZC,aAAc,SAASb,EAAKxyB,GACxBwyB,EAAIc,SAAStzB,EAAOwyB,EAAIG,eAE7B,CACC/2B,KAAM,YACNw3B,WAAY,cACZC,aAAc,SAASb,EAAKxyB,GACxBwyB,EAAIc,SAASd,EAAIK,YAAa7yB,MAEnCoQ,SAAQ,SAASmjB,GAChB,IAAI1e,EAAW0e,EAAkB33B,KACjC6wB,EAAWjxB,UAAUqZ,GAAY,SAAS7U,GACtC,GAAKjF,KAAK,GAAV,CAGA,IAAIsR,EAASimB,EAAmBv3B,KAAK,IACrC,YAAI,IAAWiF,EACJqM,EAASA,EAAOknB,EAAkBH,YAAcr4B,KAAK,GAAG8Z,IAE/DxI,EACAknB,EAAkBF,aAAahnB,EAAQrM,GAEvCjF,KAAK,GAAG8Z,GAAY7U,EAEjBjF,WAGf0xB,EAAWjxB,UAAUmV,KAAO,SAAStT,EAAK2C,GACtC,GAAKjF,KAAK,GAGV,OAAIG,UAAUqB,OAAS,EACZ6vB,EAAczb,KAAKrT,KAAKkvB,EAAUzxB,KAAK,GAAIsC,IAEtD+uB,EAAczb,KAAKrT,KAAKkvB,EAAUzxB,KAAK,GAAIsC,EAAK2C,GACzCjF,OAEX0xB,EAAWjxB,UAAUg4B,WAAa,SAASn2B,GAEvC,OADAtC,KAAK,KAAM,EAAIqxB,EAAcoH,YAAYz4B,KAAK,GAAIsC,GAC3CtC,MAEX,IAAI04B,EAAkB,WAClB,OAAOjH,EAASvxB,MAAMF,KAAMG,YAEhCc,OAAOsS,eAAemlB,EAAiB,KAAM,CACzCllB,YAAY,EACZC,cAAc,EACdlE,IAAK,WACD,OAAOkiB,EAASxhB,IAEpBb,IAAK,SAASnK,GACVwsB,EAASxhB,GAAKhL,KAGtB,IAAI/B,EAAW,CACXkM,IAAK,SAASsB,GACV+gB,EAAW/gB,GAEfnB,IAAK,WACD,OAAOmpB,IAGft5B,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCCtxBzBD,EAAQu5B,cAAgBv5B,EAAQw5B,gBAAkBx5B,EAAQy5B,UAAYz5B,EAAQ05B,eAAY,EAC1F73B,OAAOsS,eAAenU,EAAS,YAAa,CACxCoU,YAAY,EACZjE,IAAK,WACD,OAAO+hB,EAAOsD,aAGtB3zB,OAAOsS,eAAenU,EAAS,kBAAmB,CAC9CoU,YAAY,EACZjE,IAAK,WACD,OAAO+hB,EAAOyH,mBAGtB35B,EAAQ45B,uBAAyB55B,EAAQ65B,WAAa75B,EAAQ85B,YAAc95B,EAAQ+5B,MAAQ/5B,EAAQg6B,iBAAc,EAClH,IAAIxqB,EAASpP,EAAQ,IACjBqR,EAAeC,EAAuBtR,EAAQ,KAC9CgT,EAAUhT,EAAQ,IAClBwR,EAAaF,EAAuBtR,EAAQ,MAC5CqP,EAAUrP,EAAQ,IAClB+S,EAAWzB,EAAuBtR,EAAQ,KAC1C8xB,EAAS9xB,EAAQ,KAErB,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAI+5B,GAAgB,EAAIxqB,EAAQoJ,gBAC5BqhB,EAAiBD,EAAcC,eAC/BC,EAAmBF,EAAcE,iBACjCC,EAAiBH,EAAcG,eAC/BC,EAA0B,CAC1BC,iBAAkB,sBAClBC,cAAe,gBACfC,YAAa,iBACbC,aAAc,kBACdZ,WAAY,iBAEZG,EAAc,SAAS1G,GACvB,SAAS,EAAIpB,EAAOsD,WAAWlC,IAEnCtzB,EAAQg6B,YAAcA,EAuBtBh6B,EAAQy5B,UAbQ,SAASnjB,GACrB,GAAI,SAAWA,EACX,OAAO,EAEX,IAAIokB,EAAQjpB,EAAaxR,QAAQsX,cAAc,SAC/C,IAGI,OAFAmjB,EAAM3H,aAAa,OAAQzc,GAC3BokB,EAAM70B,MAAQ,cACN60B,EAAM70B,MAChB,MAAOX,GACL,OAAO,IAIf,IAQI40B,EARoB,SAASa,EAAmBT,GAChD,OAAQS,EAAkB,mBAAqBT,KAAoBS,EAAkB,eAOvEC,CAAkBnrB,EAAQorB,YAAaX,GACzDl6B,EAAQ85B,YAAcA,EACtB,IAAIP,EAPqB,SAASoB,EAAmBP,GACjD,IAAIU,GAAmB,EAAI1nB,EAAQ2nB,eAAeX,GAAgB,GAC9DY,GAAqB,EAAI5nB,EAAQ2nB,eAAeX,GAAgB,GACpE,OAAOO,EAAkB,iBAAmBG,GAAoBE,EAIhDC,CAAmBxrB,EAAQorB,YAAaT,GAC5Dp6B,EAAQu5B,cAAgBA,EACxB,IACIQ,EAAQD,GAAeP,MADEW,KAAoBC,GAEjDn6B,EAAQ+5B,MAAQA,EAChB,IAAIF,GAAa,EAAIjoB,EAAW3R,UAAS,WACrC,OAAO+5B,EAAY,iBAEvBh6B,EAAQ65B,WAAaA,EACrB,IAAID,GAAyB,EAAIhoB,EAAW3R,UAAS,WACjD,OAAOo6B,GAAwB,EAAInI,EAAOsD,WAAW,kBAEzDx1B,EAAQ45B,uBAAyBA,EACjC,IAAIF,GAAY,EAAI9nB,EAAW3R,UAAS,WACpC,OAAO+5B,EAAY,gBAEvBh6B,EAAQ05B,UAAYA,EACpB,IAAIF,EAlD6B,WAC7B,IAAI0B,EAAgB/nB,EAASlT,QAAQk7B,OACjCC,EAAWF,EAAcE,SACzB11B,EAAUw1B,EAAcx1B,QACxB21B,EAAQH,EAAcI,IAG1B,QAFwB51B,GAAWA,EAAQ,GAAK,GAAK,YAAc01B,KAClB,EAAI5rB,EAAOU,SAASkrB,EAAU,CAAC,MAAO,aAAe,GAAKC,EA4CzFE,GACtBv7B,EAAQw5B,gBAAkBA,G,kCC7F1Bx5B,EAAQw7B,OAASC,EACjBz7B,EAAQ07B,aAAU,EAClB,IAGgCx7B,EAH5BC,GAG4BD,EAHKE,EAAQ,OAI3BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAJfy7B,EAAYv7B,EAAQ,IAQxB,SAASq7B,EAAYG,GACjB,IAAIC,EAAS,GACTC,GAAQ,EAEZ,SAASxiB,IACL,KAAOuiB,EAAOz5B,QAAQ,CAClB05B,GAAQ,EACR,IACI71B,EADO41B,EAAO/T,OACLiU,GACb,QAAI,IAAW91B,EAAf,CAGA,GAAIA,EAAO+1B,KAEP,YADA,EAAIL,EAAUM,MAAMh2B,GAAQi2B,OAAO5iB,GAGvC,MAAMnZ,EAAQF,QAAQ4C,MAAM,UAEhCi5B,GAAQ,EAoBZ,MAAO,CACHlrB,IAlBJ,SAAamrB,EAAMI,GACVP,GAGGC,EAAO,IAAMM,GACbA,EAAmBN,EAAO,IAE9BA,EAAS,CAACE,IALVF,EAAOv5B,KAAKy5B,GAOXD,GACDxiB,KASJ8iB,KALJ,WACI,OAAON,IAOf,IAAIJ,EAAUD,IAAc7qB,IAC5B5Q,EAAQ07B,QAAUA,G,kCCvDlB17B,EAAQC,aAAU,EAClB,IAAIo8B,EAASj8B,EAAQ,KACjBk8B,EAAmB,WACnB,SAASA,IACL17B,KAAK27B,UAAY,EACjB37B,KAAK47B,WAAa,GAEtB,IAAI7rB,EAAS2rB,EAAiBj7B,UAsB9B,OArBAsP,EAAOC,IAAM,SAAS6rB,GAGlB,OAFA77B,KAAK27B,WACL37B,KAAK47B,WAAW57B,KAAK27B,UAAYE,EAC1B77B,KAAK27B,UAEhB5rB,EAAOK,OAAS,SAAS0rB,GACrB,cAAc97B,KAAK47B,WAAWE,IAElC/rB,EAAOgsB,OAAS,SAASD,GACrB,OAAIA,KAAe97B,KAAK47B,aACpB57B,KAAK47B,WAAWE,GAAaE,OAAOP,EAAOQ,iBACpC,IAIflsB,EAAOmsB,UAAY,WACf,KAAOl8B,KAAK27B,UAAY,GACpB37B,KAAK+7B,OAAO/7B,KAAK27B,UACjB37B,KAAK27B,YAGND,EA3BY,GA6BvBt8B,EAAQC,QAAUq8B,EAClBv4B,EAAO/D,QAAUA,EAAQC,S,kCChCzBD,EAAQC,aAAU,EAClB,IAGgCC,EAH5BuP,EAAUrP,EAAQ,IAClB28B,GAE4B78B,EAFkBE,EAAQ,OAGxCF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIgS,GAAS,EAAIzC,EAAQG,aACrBotB,EAAuB,CACvBC,OAAQ,WACJ,OAAO,IAAI/qB,EAAOgrB,iBAGtBp5B,GAAW,EAAIi5B,EAAqB98B,SAAS+8B,GACjDh9B,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,kCCjBzBD,EAAQm9B,eAAY,EACpB,IAAIC,EAAe1rB,EAAuBtR,EAAQ,MAC9Ci9B,EAAgB3rB,EAAuBtR,EAAQ,OAEnD,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIi9B,EAAY,CACZG,MAAOF,EAAan9B,QACpBs9B,OAAQF,EAAcp9B,SAE1BD,EAAQm9B,UAAYA,G,kCCbpBn9B,EAAQC,aAAU,EAClB,IAAIu9B,EAAkB9rB,EAAuBtR,EAAQ,OACjDD,EAAUuR,EAAuBtR,EAAQ,MACzC6D,EAAY7D,EAAQ,IACpBE,EAAQF,EAAQ,IAChBu7B,EAAYv7B,EAAQ,IACpBg9B,EAAe1rB,EAAuBtR,EAAQ,MAElD,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAgHI4D,EAhHkB,SAAS25B,EAAgBC,EAAKC,EAAcC,GAC9DA,EAAQA,GAAS,GACjBD,EAAeA,GAAgB,GAC/B,IAAIE,EAAa,SAASp8B,EAAM6C,GAC5B,MAAO,CACH7C,KAAMA,EACN6C,KAAMA,IAGVgV,EAAO,SAASwkB,GAChB,IACIC,EACAC,EACAC,EACAC,EACAC,EALAnZ,EAAI,IAAI2W,EAAUyC,SAMlBC,EAAmB,SAASC,GAC5B,IAAIC,EAAUZ,EAAaa,aACvBD,GACAA,EAAQD,GAEZn+B,EAAQF,QAAQw+B,cAAcH,GAC9BtZ,EAAE4X,OAAO0B,IAGb,SAASI,EAAc3C,GACnB,OAAQA,EAAKt6B,MACT,IAAK,SAED,OADA08B,EAAkB,CAACpC,EAAKz3B,OACjB,EACX,IAAK,SACD,IAAK65B,EACD,MAAMh+B,EAAQF,QAAQ0+B,OAAO97B,MAAM,SAGvC,OADAs7B,EAAgB77B,KAAKy5B,EAAKz3B,OACnB,EAEf,OAAO,EAcX,IACIy5B,EAAkBJ,EAAaiB,SAC1B,EAAIt+B,EAAM2T,YAAY8pB,KACvBA,EAAkBP,EAAgBv9B,QAAQ89B,IAE9CC,EAAWD,EAAgBJ,GAC3BM,EAAa,GAAG9e,OAAOye,GAAOze,OAAO2e,GACrC,IAAIe,EAAWb,EAASa,SAIxB,IAHIA,GACAA,EAASZ,GAENA,EAAW77B,QAAQ,CAEtB,IAAKs8B,EADLR,EAAeD,EAAW,IACQ,CAC9B,GAAIE,EAAiB,CACjBF,EAAWa,QAAQjB,EAAW,YAAa,CAACM,KAC5CA,EAAkB,KAClB,SAEJ,GAAI,cAAgBpT,OAAOmT,EAAaz8B,SAC/Bu8B,EAASE,EAAaz8B,QAAS,IAAUu8B,EAASE,EAAaz8B,MAAMX,MAAMk9B,EAAUE,EAAa55B,OACnG,MAIZ25B,EAAWnW,SApCnB,WACI,IAAIiX,EAAOd,EAAW,GAClBe,EAAgB,GAChBD,GAAQ,cAAgBA,EAAKt9B,OAC7Bw8B,EAAWnW,SACX,EAAI7jB,EAAU2C,MAAMm4B,EAAKz6B,KAAK,IAAI,WAC9B06B,EAAc18B,KAAKu7B,EAAWmB,EAAc58B,OAAS,SAAW,SAAUxB,WAGlFq9B,EAAae,EAAc7f,OAAO8e,GA6BlCgB,GACAjB,EAAS1kB,KAAKokB,GAAKwB,MAAK,SAASj5B,EAAQk5B,GACrC,GAAKlB,EAAW77B,OAET,CACH,IAAIg9B,GAAc,EAAIhC,EAAan9B,SAASgG,EAAQ,CAChDu4B,aAAcb,EAAaa,gBAE/B,EAAIv6B,EAAU2C,MAAMq3B,GAAY,WAC5BmB,EAAcA,EAAYx+B,KAAKa,MAAMX,MAAMs+B,EAAax+B,KAAK0D,SAEjE86B,EAAYF,KAAKla,EAAEqa,SAASC,KAAKta,EAAE4X,aARnC5X,EAAEqa,QAAQp5B,EAAQk5B,MAUvBG,KAAKjB,GACV,MAAO/X,GACL+X,EAAiB/X,GAErB,OAAOtB,EAAEua,WAETC,EAAQ,GAaZ,OAZA,EAAIv7B,EAAU2C,MAAM,CAAC,SAAU,SAAU,SAAU,QAAS,SAAU,YAAY,WAC9E,IAAInF,EAAOspB,OAAOnqB,MAClB4+B,EAAM/9B,GAAQ,WACV,OAAOg8B,EAAgBC,EAAKC,EAAcC,EAAMze,OAAO0e,EAAWp8B,EAAMV,kBAGhF,EAAIkD,EAAU2C,MAAM,CAAC,QAAS,MAAO,MAAO,MAAO,MAAO,YAAa,cAAc,WACjF,IAAInF,EAAOspB,OAAOnqB,MAClB4+B,EAAM/9B,GAAQ,WACV,OAAO6X,EAAKnW,KAAKvC,KAAMi9B,EAAWp8B,EAAMV,gBAGzCy+B,GAGXx/B,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,kCC/HzBD,EAAQC,aAAU,EAElBD,EAAQC,QADO,GAEf8D,EAAO/D,QAAUA,EAAQC,S,iCCHzBD,EAAQy/B,gBAAa,EACrBz/B,EAAQyO,OA0DR,SAAgB+Q,GACZ,IAAK,IAAItO,EAAOnQ,UAAUqB,OAAQ2N,EAAS,IAAIvE,MAAM0F,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAClGpB,EAAOoB,EAAO,GAAKpQ,UAAUoQ,GAEjC,IAAI,EAAI7Q,EAAM2T,YAAYuL,GACtB,OAAOA,EAAS1e,WAAM,EAAQiP,GASlC,OAPAA,EAAOkG,SAAQ,SAASpQ,EAAOoK,IACvB,EAAI3P,EAAMoG,UAAUb,KACpBA,EAAQA,EAAMsR,QAAQ,MAAO,SAEjC,IAAIuoB,EAAiB,IAAIC,OAAO,MAAQ1vB,EAAQ,MAAO,MACvDuP,EAAWA,EAASrI,QAAQuoB,EAAgB75B,MAEzC2Z,GAvEXxf,EAAQ4/B,WAAa5/B,EAAQ6/B,aAAe7/B,EAAQ8/B,aAAU,EAC9D,IAAIx/B,EAAQF,EAAQ,IAEpB,SAAS2/B,EAAQ7/B,GAEb,OAAO6/B,EAAU,mBAAqBC,QAAU,iBAAmBA,OAAOC,SAAW,SAAS//B,GAC1F,cAAcA,GACd,SAASA,GACT,OAAOA,GAAO,mBAAqB8/B,QAAU9/B,EAAIsD,cAAgBw8B,QAAU9/B,IAAQ8/B,OAAO3+B,UAAY,gBAAkBnB,IACjHA,GAEf,IAAIu/B,EAAa,WACb,IAAIS,EAAe,CAAC,IAAIP,OAAO,IAAK,KAAM,IAAIA,OAAO,IAAK,KAAM,IAAIA,OAAO,IAAK,KAAM,IAAIA,OAAO,IAAK,KAAM,IAAIA,OAAO,IAAK,MAC5H,OAAO,SAASxZ,GACZ,OAAO4E,OAAO5E,GAAKhP,QAAQ+oB,EAAa,GAAI,SAAS/oB,QAAQ+oB,EAAa,GAAI,UAAU/oB,QAAQ+oB,EAAa,GAAI,SAAS/oB,QAAQ+oB,EAAa,GAAI,QAAQ/oB,QAAQ+oB,EAAa,GAAI,SAH3K,GAMjBlgC,EAAQy/B,WAAaA,EAsCrBz/B,EAAQ6/B,aAzBW,SAASM,GACxB,IAAIC,EAbQ,SAASD,GACrB,OAAQJ,EAAQI,IACZ,IAAK,SACD,OAAOA,EAAIplB,MAAM,MAAO,GAC5B,IAAK,SACD,MAAO,CAAColB,EAAI7Z,GAAK6Z,EAAIE,GAAKF,EAAIznB,KAAMynB,EAAI1Z,GAAK0Z,EAAIG,GAAKH,EAAI1nB,IAAK0nB,EAAI7Z,GAAK6Z,EAAIE,GAAKF,EAAIxnB,MAAOwnB,EAAI1Z,GAAK0Z,EAAIG,GAAKH,EAAI3nB,QACtH,IAAK,SACD,MAAO,CAAC2nB,GACZ,QACI,OAAOA,GAIJI,CAAUJ,GACjBznB,EAAOjT,SAAS26B,GAAQA,EAAK,GAAI,IACjC3nB,EAAMhT,SAAS26B,GAAQA,EAAK,GAAI,IAChCznB,EAAQlT,SAAS26B,GAAQA,EAAK,GAAI,IAClC5nB,EAAS/S,SAAS26B,GAAQA,EAAK,GAAI,IAavC,OAZKI,SAAS9nB,KACVA,EAAO,GAEN8nB,SAAS/nB,KACVA,EAAMC,GAEL8nB,SAAS7nB,KACVA,EAAQD,GAEP8nB,SAAShoB,KACVA,EAASC,GAEN,CACHA,IAAKA,EACLE,MAAOA,EACPH,OAAQA,EACRE,KAAMA,IAqBd,IAAIknB,EAIO,SAAShU,EAAM6U,EAAaC,GAC/B,OAAO9U,EAAKzU,QAAQ,IAAIwoB,OAAO,KAAYc,EAH7B,IAAItpB,QAAQ,2BAA4B,QAGI,IAAK,MAAOupB,IAG9E1gC,EAAQ4/B,WAAaA,EACrB,IAAIE,EAAU,WACV,IAAIa,EAAe,MACnB,OAAO,SAAS/U,GACZ,OAAQA,IAASA,EAAKzU,QAAQwpB,EAAc,KAHtC,GAMd3gC,EAAQ8/B,QAAUA,G,kCCzFlB,IAEgC5/B,EAHhCF,EAAQC,aAAU,EAQlB,IAAI6D,EAAW,MALiB5D,EAFkBE,EAAQ,QAGxCF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,IAGqBD,SACxCD,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,kCCVzBD,EAAQsgB,cAAW,EACnB,IAMgCpgB,EAN5BwX,GAM4BxX,EANOE,EAAQ,MAO7BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAPf6e,EAAiB3e,EAAQ,KACzB4e,EAAO5e,EAAQ,KACfwgC,EAA4BxgC,EAAQ,MAexC,SAASyE,EAAgBM,EAAGC,GAKxB,OAJAP,EAAkBhD,OAAOwD,gBAAkB,SAASF,EAAGC,GAEnD,OADAD,EAAEG,UAAYF,EACPD,IAEYA,EAAGC,GAnB9BhF,EAAQ,OAoBP,EAAIwgC,EAA0B1f,wBAAwB,UAAW,CAC9D2f,QAAS,SAASxvB,GACd,OAAO,EAAI2N,EAAKoB,0BAA0B/O,IAE9C0O,OAAQ,SAASP,EAAUU,EAAOjQ,GAC9B,OAAOuP,EAAShI,YAGxB,EAAIopB,EAA0Bvf,mBAAmB,WACjD,IAAIf,EAAW,SAASwgB,GArBxB,IAAwBC,EAAUC,EAwB9B,SAAS1gB,EAASjP,GACd,IAAI4vB,EAGJ,OAFAA,EAAQH,EAAc39B,KAAKvC,OAASA,MAC9BsgC,SAAW7vB,EACV4vB,EA5BmBD,EAsBLF,GAtBLC,EAsBLzgB,GArBNjf,UAAYQ,OAAO25B,OAAOwF,EAAW3/B,WAC9C0/B,EAAS1/B,UAAUmC,YAAcu9B,EACjCl8B,EAAgBk8B,EAAUC,GA2B1B,IAAIrwB,EAAS2P,EAASjf,UAWtB,OAVAsP,EAAOwwB,YAAc,SAASvtB,GAC1B,IAAIwtB,EAAaxtB,EAAQwtB,WAIzB,OAHKA,GAAexgC,KAAKygC,oBACrBzgC,KAAKygC,mBAAoB,EAAIT,EAA0B5f,4BAA4B6f,QAAQjgC,KAAKsgC,YAE7F,EAAIxpB,EAAUzX,SAAS,SAASguB,OAAOmT,EAAaxgC,KAAKsgC,UAAW,EAAIN,EAA0B5f,4BAA4BjB,OAAOnf,KAAKygC,kBAAmBztB,EAAQsM,MAAOtM,EAAQ3D,QAAQiP,YAEvMvO,EAAO3N,OAAS,WACZ,OAAO,EAAI0U,EAAUzX,SAASW,KAAKsgC,UAAU1pB,SAE1C8I,EApBI,CAqBbvB,EAAe2B,cACjB1gB,EAAQsgB,SAAWA,G,kCCxDnB,IAAItB,EAAO5e,EAAQ,KACfwgC,EAA4BxgC,EAAQ,OACxC,EAAIwgC,EAA0B1f,wBAAwB,cAAe,CACjE2f,QAAS,SAASxvB,GACd,OAAO,EAAI2N,EAAKwN,uBAAuBnb,IAE3C0O,OAAQ,SAASP,EAAUhJ,GACvB,OAAO8qB,OAAOC,KAAK/hB,EAAUhJ,OAGrC,EAAIoqB,EAA0B1f,wBAAwB,WAAY,CAC9D2f,QAAS,SAASxvB,GACd,OAAQiwB,QAAkBE,UAAUviB,WAAU,EAAID,EAAKwN,uBAAuBnb,KAElF0O,OAAQ,SAASP,EAAUhJ,GACvB,OAAOgJ,EAASO,OAAOvJ,OAG/B,EAAIoqB,EAA0B1f,wBAAwB,WAAY,CAC9D2f,QAAS,SAASxvB,GACd,OAAO,EAAI2N,EAAKwN,uBAAuBnb,IAE3C0O,OAAQ,SAASP,EAAUhJ,GACvB,OAAOirB,SAAS1hB,OAAOP,EAAUhJ,OAGzC,EAAIoqB,EAA0B1f,wBAAwB,QAAS,CAC3D2f,QAAS,SAASxvB,GACd,OAAOqwB,MAAMb,SAAQ,EAAI7hB,EAAKwN,uBAAuBnb,KAEzD0O,OAAQ,SAASP,EAAUhJ,GACvB,OAAOgJ,EAASO,OAAOvJ,OAG/B,EAAIoqB,EAA0B1f,wBAAwB,aAAc,CAChE2f,QAAS,SAASxvB,GACd,OAAOP,EAAE0O,UAAS,EAAIR,EAAKwN,uBAAuBnb,KAEtD0O,OAAQ,SAASP,EAAUhJ,GACvB,OAAOgJ,EAAShJ,OAGxB,EAAIoqB,EAA0B1f,wBAAwB,aAAc,CAChE2f,QAAS,SAASxvB,GACd,OAAOswB,WAAWd,SAAQ,EAAI7hB,EAAKwN,uBAAuBnb,KAE9D0O,OAAQ,SAASP,EAAUhJ,GACvB,OAAOgJ,EAAShJ,OAGxB,EAAIoqB,EAA0B1f,wBAAwB,MAAO,CACzD2f,QAAS,SAASxvB,GACd,OAAOuwB,IAAIpiB,UAAS,EAAIR,EAAKwN,uBAAuBnb,KAExD0O,OAAQ,SAASP,EAAUhJ,GACvB,OAAOgJ,EAAShJ,O,kCCvDxBxW,EAAQ6hC,aAAU,EAClB,IAAIvhC,EAAQF,EAAQ,IAChBgT,EAAUhT,EAAQ,IAClB0hC,EAAkB1hC,EAAQ,MAC1Bi8B,EAASj8B,EAAQ,MACjBiT,EAAUjT,EAAQ,IAEtB,SAAS2hC,EAAQC,EAAQC,GACrB,IAAInyB,EAAOjO,OAAOiO,KAAKkyB,GACvB,GAAIngC,OAAOqgC,sBAAuB,CAC9B,IAAIC,EAAUtgC,OAAOqgC,sBAAsBF,GAC3CC,IAAmBE,EAAUA,EAAQ3tB,QAAO,SAAS4tB,GACjD,OAAOvgC,OAAOwgC,yBAAyBL,EAAQI,GAAKhuB,eACnDtE,EAAKxN,KAAKxB,MAAMgP,EAAMqyB,GAE/B,OAAOryB,EAeX,SAASyE,EAAgBrU,EAAKgD,EAAK2C,GAW/B,OAVI3C,KAAOhD,EACP2B,OAAOsS,eAAejU,EAAKgD,EAAK,CAC5B2C,MAAOA,EACPuO,YAAY,EACZC,cAAc,EACdC,UAAU,IAGdpU,EAAIgD,GAAO2C,EAER3F,EAGX,SAASoiC,EAAkBrK,EAAQsK,GAC/B,IAAK,IAAI7gC,EAAI,EAAGA,EAAI6gC,EAAMngC,OAAQV,IAAK,CACnC,IAAI8gC,EAAaD,EAAM7gC,GACvB8gC,EAAWpuB,WAAaouB,EAAWpuB,aAAc,EACjDouB,EAAWnuB,cAAe,EACtB,UAAWmuB,IACXA,EAAWluB,UAAW,GAE1BzS,OAAOsS,eAAe8jB,EAAQuK,EAAWt/B,IAAKs/B,IAgBtD,IAAIX,EAAU,WACV,SAASA,EAAQjuB,EAAS6uB,EAAgBC,EAAoBC,GAC1D,IAAI1B,EAAQrgC,KACZA,KAAKgiC,oBACLhiC,KAAKiiC,qBACLjiC,KAAKkiC,mBACLliC,KAAKkD,SAAW2+B,EAChB7hC,KAAKmiC,YAAcJ,EACnB/hC,KAAKoiC,iBAAmB,GACxBpiC,KAAKqiC,uBACLriC,KAAKsiC,eAAiB,IAAIpB,EAAgBqB,cAAcvvB,EAAS8uB,GACjE9hC,KAAKsiC,eAAeE,yBAAwB,SAASxvB,EAASnS,EAAMoE,EAAOw9B,GACvE,OAAOpC,EAAMqC,kBAAkB1vB,EAASnS,EAAMoE,EAAOw9B,MAEzDziC,KAAK2iC,eAAiB,GACtB3iC,KAAK4iC,OAAS,GAElB,IA7BkBC,EAAaC,EAAYC,EA6BvChzB,EAASkxB,EAAQxgC,UA8JrB,OA7JAsP,EAAOsyB,qBAAuB,WAC1B,IAAK,IAAIW,KAAchjC,KAAKmiC,YACxBniC,KAAKoiC,iBAAiB1gC,KAAKshC,IAGnCjzB,EAAOkzB,YAAc,SAASrwB,GAE1B,OADAA,EAAQhI,MAAM6P,QAAQ7H,GAAS5S,KAAK4iC,OAAOrkB,OAAO3L,GAAS5S,KAAK4iC,QACzD,EAAInH,EAAOnpB,uBAAuBM,IAE7C7C,EAAOmzB,kBAAoB,SAASC,GAChC,IAAIC,EAAOpjC,KAAKmiC,YAAYgB,GACxBC,GACApjC,KAAKgiC,oBAAoBmB,EAAQC,IAGzCrzB,EAAO2yB,kBAAoB,SAAS1vB,EAASnS,EAAMoE,EAAOw9B,GACtD,GAAI5hC,EAAM,CACN,IAAIwiC,EAAiBrjC,KAAKsjC,eAAeziC,EAAM4hC,GAC3CY,GAAkBA,IAAmBxiC,IACrCb,KAAKujC,UAAUvwB,EAASqwB,EAAgBp+B,GACxCjF,KAAKwjC,YAAYxwB,EAASnS,MAItCkP,EAAOwzB,UAAY,SAASvwB,EAASe,EAAU9O,GAC3C,IAAIw+B,EAAY,GACZC,EAAc,KAClB,GACID,EAAYA,EAAY,IAAIllB,OAAOklB,GAAa,GAChDA,GAAY,EAAIhI,EAAOtpB,cAAc4B,GAAY0vB,EAEjDC,GADA3vB,GAAW,EAAI0nB,EAAOxpB,eAAe8B,IACZ/T,KAAKsiC,eAAe/yB,IAAIyD,EAASe,GAAU,GAASf,SACvE0wB,GACVA,EAAYD,GAAax+B,GAE7B8K,EAAOyzB,YAAc,SAASxwB,EAASnS,UAC5BmS,EAAQnS,GACf,IAAI8iC,GAAoB,EAAIlI,EAAOxpB,eAAepR,GAC9C6iC,EAAcC,EAAoB3jC,KAAKsiC,eAAe/yB,IAAIyD,EAAS2wB,GAAmB,GAAS3wB,EAC/F0wB,UACOA,GAAY,EAAIjI,EAAOtpB,cAActR,KAGpDkP,EAAOuzB,eAAiB,SAASziC,EAAM4hC,GACnC,GAAIziC,KAAKoiC,iBAAiB5gC,QAAUX,EAChC,IAAK,IAAIC,EAAI,EAAGA,EAAId,KAAKoiC,iBAAiB5gC,OAAQV,IAC9C,GAAId,KAAKoiC,iBAAiBthC,KAAOD,EAAM,CACnC,IAAI+iC,EAAY5jC,KAAKmiC,YAAYthC,GACjC,GAAI+iC,EAEA,OADCnB,GAAUziC,KAAKkjC,kBAAkBriC,GAC3B+iC,EAAUC,OAAShjC,EAK1C,OAAOA,GAEXkP,EAAO+zB,SAAW,SAASlxB,GACvB5S,KAAK4iC,OAAShwB,EAAM2L,OAAOve,KAAK4iC,SAEpC7yB,EAAOg0B,WAAa,SAASnxB,GACzB,IAAII,EAAUhT,KAAKijC,YAAYrwB,GAC/B5S,KAAKyiC,OAAOzvB,IAEhBjD,EAAOi0B,QAAU,WACbhkC,KAAKgiC,oBAAsBxvB,EAAQyxB,KACnCjkC,KAAKiiC,qBAAuBzvB,EAAQyxB,KACpCjkC,KAAKkiC,mBAAqB1vB,EAAQyxB,KAClCjkC,KAAKsiC,eAAe0B,WAExBj0B,EAAOm0B,WAAa,SAASC,GACzBnkC,KAAKsiC,eAAe4B,WAAWC,IAEnCp0B,EAAOq0B,UAAY,SAASD,GACxBnkC,KAAKsiC,eAAe8B,UAAUD,IAElCp0B,EAAOs0B,aAAe,SAASF,GAC3BnkC,KAAKgiC,oBAAsBmC,GAE/Bp0B,EAAOu0B,cAAgB,SAASH,GAC5BnkC,KAAKiiC,qBAAuBkC,GAEhCp0B,EAAOw0B,YAAc,SAASJ,GAC1BnkC,KAAKkiC,mBAAqBiC,GAE9Bp0B,EAAOy0B,UAAY,SAAS3jC,GACxB,IAAIoE,EAAQjF,KAAKyiC,OAAO5hC,GACpB4jC,EAAezkC,KAAK0kC,QAAQ7jC,GAEhC,OADmB,EAAInB,EAAM2T,YAAYpO,KAAU,EAAIvF,EAAM2T,YAAYoxB,GACnDx/B,EAAMyd,aAAe+hB,EAAa/hB,YAAa,EAAIlQ,EAAQ2O,cAAclc,EAAOw/B,IAE1G10B,EAAO20B,QAAU,SAAS7jC,GACtB,OAAO,EAAI46B,EAAOvpB,sBAAsBlS,KAAK2kC,SAAU9jC,IAE3DkP,EAAOozB,OAAS,SAASnwB,EAAS/N,GAC9B,IAAI2/B,EAAWzkC,UAAUqB,OAAS,GAAK,YAAa,EAAI9B,EAAMgW,MAAM1C,GACpE,GAAI4xB,EACA,OAAO5kC,KAAKsiC,eAAe/yB,SAAI,EAAQvP,KAAKsjC,eAAetwB,IAE3DhT,KAAKiiC,uBACL,IACIjiC,KAAKsiC,eAAelzB,IAAI4D,EAAS/N,GACnC,QACEjF,KAAKkiC,uBAIjBnyB,EAAO0yB,OAAS,SAASzvB,EAAS/N,GAC9B,IAAI2/B,EAAWzkC,UAAUqB,OAAS,GAAK,YAAa,EAAI9B,EAAMgW,MAAM1C,GACpE,GAAI4xB,EACA,OAAO5kC,KAAKsiC,eAAe/yB,SAAI,EAAQyD,OAAS,GAAQ,GAExDhT,KAAKsiC,eAAelzB,IAAI4D,EAAS/N,OAAO,GAAQ,IAGxD8K,EAAO80B,MAAQ,SAAShkC,GACpB,IAAIikC,EAAS9kC,KACb,GAAIa,EAAM,CACN,IACIoE,EADWpE,EAAK0V,QAAQ,eAAgB,OAAO4D,MAAM,KACpCpH,QAAO,SAAS9N,EAAO8/B,GACxC,OAAO9/B,EAAQA,EAAM8/B,GAASD,EAAOJ,QAAQK,KAC9C,MACCzqB,GAAe,EAAI5a,EAAMqG,UAAUd,GA9LnD,SAAuBoyB,GACnB,IAAK,IAAIv2B,EAAI,EAAGA,EAAIX,UAAUqB,OAAQV,IAAK,CACvC,IAAIsB,EAAS,MAAQjC,UAAUW,GAAKX,UAAUW,GAAK,GACnDA,EAAI,EAAIqgC,EAAQlgC,OAAOmB,IAAS,GAAIiT,SAAQ,SAAS/S,GACjDqR,EAAgB0jB,EAAQ/0B,EAAKF,EAAOE,OACnCrB,OAAO+jC,0BAA4B/jC,OAAOgkC,iBAAiB5N,EAAQp2B,OAAO+jC,0BAA0B5iC,IAAW++B,EAAQlgC,OAAOmB,IAASiT,SAAQ,SAAS/S,GACzJrB,OAAOsS,eAAe8jB,EAAQ/0B,EAAKrB,OAAOwgC,yBAAyBr/B,EAAQE,OAGnF,OAAO+0B,EAqLiD6N,CAAc,GAAIjgC,GAASA,EAC3EjF,KAAKsiC,eAAelzB,IAAIvO,EAAMyZ,GAAc,KAGpDvK,EAAOo1B,iBAAmB,SAAStkC,GAC/B,IAAIukC,EAASplC,KACb,OAAOiB,OAAOiO,KAAKlP,KAAKmiC,aAAavuB,QAAO,SAASyxB,GACjD,OAAOxkC,IAASukC,EAAOjD,YAAYkD,GAAWxB,UAGtD9zB,EAAOu1B,aAAe,SAASzkC,GAC3B,OAAOI,OAAOR,UAAUS,eAAeqB,KAAKvC,KAAKmiC,YAAathC,IAElEkP,EAAOw1B,MAAQ,SAAS1kC,EAAMmS,GAC1B,IAAI4xB,EAAWzkC,UAAUqB,OAAS,EAClC,GAAIojC,EACA,OAAO5kC,KAAK2iC,eAAe9hC,GAE3Bb,KAAK2iC,eAAe9hC,IAAQ,EAAI4R,EAAQa,QAAQtT,KAAK2iC,eAAe9hC,GAAOmS,IA1KjE6vB,EA6KL5B,GA7KkB6B,EA6KT,CAAC,CACnBxgC,IAAK,WACLiN,IAAK,WACD,IAAKvP,KAAKwlC,gBAAiB,CACvB,IAAIC,EAAezlC,KAAKijC,YAAYjjC,KAAKyiC,OAAO,wBAChDziC,KAAKwlC,gBAAkBxlC,KAAKkD,SAC5BlD,KAAKsiC,eAAeoD,gBAAgB1lC,KAAKwlC,gBAAiBC,GAE9D,OAAOzlC,KAAKwlC,iBAEhBp2B,IAAK,SAASnK,GACVjF,KAAKwlC,gBAAkBvgC,OAtL3By8B,EAAkBmB,EAAYpiC,UAAWqiC,GAEzCC,GACArB,EAAkBmB,EAAaE,GAEnC9hC,OAAOsS,eAAesvB,EAAa,YAAa,CAC5CnvB,UAAU,IAmLPutB,EA/KG,GAiLd7hC,EAAQ6hC,QAAUA,G,iCCrPlB7hC,EAAQumC,eA2FR,SAAwB3O,GACpB4O,EAAqB5O,GA3FzB53B,EAAQymC,gBAsFR,SAAyB7O,GACrB8O,EAAsB9O,GAtF1B53B,EAAQ2mC,UA6FR,SAAmB9P,GACf,OAAOvlB,EAASq1B,UAAUxjC,KAAKvC,KAAMi2B,IA7FzC72B,EAAQs2B,mBAoGR,SAA4BjlB,EAASu1B,GACjC,IAAKn1B,EAAaxR,QAAQ62B,cAAczlB,GACpC,OAEJ,IAAIw1B,EAAgBx1B,EAAQy1B,qBAAqB,KACjDx1B,EAASq1B,UAAUE,GACfD,GACAt1B,EAASq1B,UAAU,CAACt1B,KA1G5BrR,EAAQwW,KA+ER,WACI,OAAOlF,EAASkF,KAAK1V,MAAMF,KAAMG,YA/ErCf,EAAQ+mC,gBA0ER,WACI,OAAOz1B,GA1EXtR,EAAQq5B,WA6FR,SAAoBhoB,EAASnO,GACzB,OAAOoO,EAAS+nB,WAAWl2B,KAAKvC,KAAMyQ,EAASnO,IA7FnDlD,EAAQgnC,iBAAmBhnC,EAAQinC,qBAAkB,EACrD,IAAIC,EAAYx1B,EAAuBtR,EAAQ,OAC3CqR,EAAeC,EAAuBtR,EAAQ,KAC9C+mC,EAAiBz1B,EAAuBtR,EAAQ,KAChDgnC,EAAuB11B,EAAuBtR,EAAQ,OAE1D,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IACIoR,EADA+1B,EAAU,IAAIH,EAAUjnC,QAExB+mC,EAAmB,IAAII,EAAqBnnC,QAChDD,EAAQgnC,iBAAmBA,EAC3B,IAAIN,EAAsB,aACtBF,EAAqB,aACrBS,EAAkB,SAASphC,GAC3BmhC,EAAiB/1B,KAAKpL,GAEtB,IAAI8gC,GADJr1B,EAAWzL,GACc8gC,UACzBr1B,EAASq1B,UAAY,SAAS9P,GAC1B6P,EAAoB7P,GACpB,IAAI5wB,EAAS0gC,EAAUxjC,KAAKvC,KAAMi2B,GAElC,OADA2P,EAAmB3P,GACZ5wB,IAGfjG,EAAQinC,gBAAkBA,EAC1BA,EAAgB,CACZzwB,KAAM,WACF,IAAInF,EAAUtQ,UAAU,GACpBmC,EAAMnC,UAAU,GAChB8E,EAAQ9E,UAAU,GACtB,GAAKsQ,EAAL,CAGA,IAAIi2B,EAAcD,EAAQl3B,IAAIkB,GAK9B,OAJKi2B,IACDA,EAAc,GACdD,EAAQr3B,IAAIqB,EAASi2B,SAErB,IAAWpkC,EACJokC,EAEP,IAAMvmC,UAAUqB,OACTklC,EAAYpkC,IAEvBokC,EAAYpkC,GAAO2C,EACZA,KAEXwzB,WAAY,SAAShoB,EAASnO,GAC1B,GAAKmO,EAGL,QAAI,IAAWnO,EACXmkC,EAAQh3B,OAAOgB,OACZ,CACH,IAAIi2B,EAAcD,EAAQl3B,IAAIkB,GAC1Bi2B,UACOA,EAAYpkC,KAI/ByjC,UAAW,SAASY,GAChB,IAAK,IAAI7lC,EAAI,EAAGA,EAAI6lC,EAASnlC,OAAQV,IACjCylC,EAAelnC,QAAQunC,IAAID,EAAS7lC,IACpC2lC,EAAQh3B,OAAOk3B,EAAS7lC,Q,kCC1EpC1B,EAAQmjC,mBAAgB,EACxB,IAAI7vB,EAAQlT,EAAQ,KAChBgT,EAAUhT,EAAQ,IAClBqnC,EAAcrnC,EAAQ,MACtBiT,EAAUjT,EAAQ,IAClBE,EAAQF,EAAQ,IAChBi8B,EAASj8B,EAAQ,MACjBmT,EAAgB,GAChBm0B,EAAgB,GAChBvE,EAAgB,WAChB,SAASA,EAAcvvB,EAAS8uB,GAC5B9hC,KAAKimB,SAAWjT,EAChBhT,KAAK+mC,oBAAsBjF,EAC3B9hC,KAAKgnC,kBACLhnC,KAAKinC,iBACLjnC,KAAKknC,uBAET,IAAIn3B,EAASwyB,EAAc9hC,UA+D3B,OA9DAsP,EAAO21B,gBAAkB,SAAS1yB,EAASyyB,GAEvC,IAAK,IAAIhC,KADT,EAAIhxB,EAAQa,SAAQ,EAAMN,EAASyyB,GACbzlC,KAAK+mC,oBACnB9lC,OAAOR,UAAUS,eAAeqB,KAAKkjC,EAAchC,KACnDzwB,EAAQywB,GAAagC,EAAahC,KAI9C1zB,EAAOo3B,kBAAoB,SAAStmC,EAAMoE,EAAO0W,EAAO8mB,GACpD,IAAI2E,EAAgBpnC,KAAKuP,IAAIvP,KAAKimB,SAAUplB,GAAM,GAClD,KAAK,EAAIgmC,EAAYQ,QAAQD,EAAeniC,GAAQ,CAChD,IAAIiV,EAAOrZ,EAAKsZ,MAAM,SACrBsoB,GAAUziC,KAAKgnC,kBAAkBnmC,EAAMumC,EAAeniC,GACvD6hC,EAAcjmC,GAAQimC,EAAcjmC,KAAS,EAAI6R,EAAMyG,eAAetY,GACtEimC,EAAcjmC,GAAMb,KAAKimB,SAAUhhB,EAAO,CACtCkP,eAAe,EACfwH,OAAO,EAAIjc,EAAM0K,WAAWuR,GAASA,GAAS3b,KAAK+mC,oBAAoBlmC,GACvEmZ,kBAAmBE,EAAK1Y,OAAS,KAAOxB,KAAK+mC,oBAAoB7sB,EAAK,OAEzEuoB,GAAUziC,KAAKinC,iBAAiBpmC,EAAMoE,EAAOmiC,KAGtDr3B,EAAOu3B,sBAAwB,SAASt0B,EAASnS,EAAMoE,EAAOw9B,GAC1D,IAAI,EAAI/iC,EAAMkc,eAAe3W,GACzB,IAAK,IAAIsiC,KAAatiC,EAClBjF,KAAKsnC,sBAAsBt0B,EAAS,GAAGuL,OAAO1d,EAAM,KAAK0d,OAAOgpB,GAAYtiC,EAAMsiC,IAG1FvnC,KAAKknC,uBAAuBl0B,EAASnS,EAAMoE,EAAOw9B,IAEtD1yB,EAAOR,IAAM,WACT,IAAIyD,EAAU7S,UAAUqB,OAAS,QAAK,IAAWrB,UAAU,GAAKA,UAAU,GAAKH,KAAKimB,SAChFplB,EAAOV,UAAUqB,OAAS,EAAIrB,UAAU,QAAK,EAC7C6Z,EAAoB7Z,UAAUqB,OAAS,EAAIrB,UAAU,QAAK,EAE9D,OADAwS,EAAc9R,GAAQ8R,EAAc9R,KAAS,EAAI6R,EAAMwB,eAAerT,GAC/D8R,EAAc9R,GAAMmS,EAAS,CAChCmB,eAAe,EACf6F,kBAAmBA,KAG3BjK,EAAOX,IAAM,SAAS4D,EAAS/N,EAAO0W,EAAO8mB,GAEzC,IAAK,IAAI5hC,KADTmS,GAAU,EAAIyoB,EAAOzpB,kBAAkBgB,EAAS/N,GAE5CjF,KAAKsnC,sBAAsBt0B,EAASnS,EAAMmS,EAAQnS,GAAO4hC,GAE7D,IAAK,IAAI+E,KAASx0B,EACdhT,KAAKmnC,kBAAkBK,EAAOx0B,EAAQw0B,GAAQ7rB,EAAO8mB,IAG7D1yB,EAAOyyB,wBAA0B,SAAS2B,GACtCnkC,KAAKknC,uBAAyB/C,GAElCp0B,EAAOm0B,WAAa,SAASC,GACzBnkC,KAAKgnC,kBAAoB7C,GAE7Bp0B,EAAOq0B,UAAY,SAASD,GACxBnkC,KAAKinC,iBAAmB9C,GAE5Bp0B,EAAOi0B,QAAU,WACbhkC,KAAKgnC,kBAAoBx0B,EAAQyxB,KACjCjkC,KAAKinC,iBAAmBz0B,EAAQyxB,MAE7B1B,EAvES,GAyEpBnjC,EAAQmjC,cAAgBA,G,kCClFxBnjC,EAAQioC,YAAS,EACjB,IAIgC/nC,EAJ5BuR,GAI4BvR,EAJUE,EAAQ,MAKhCF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GALfoT,EAAQlT,EAAQ,KAChBE,EAAQF,EAAQ,IAQpB,SAAS2/B,EAAQ7/B,GAEb,OAAO6/B,EAAU,mBAAqBC,QAAU,iBAAmBA,OAAOC,SAAW,SAAS//B,GAC1F,cAAcA,GACd,SAASA,GACT,OAAOA,GAAO,mBAAqB8/B,QAAU9/B,EAAIsD,cAAgBw8B,QAAU9/B,IAAQ8/B,OAAO3+B,UAAY,gBAAkBnB,IACjHA,GAwBfF,EAAQioC,OAnBK,SAASI,EAAUtsB,GAG5B,OAFAssB,GAAW,EAAI/0B,EAAMwG,cAAcuuB,GAAU,GAC7CtsB,GAAW,EAAIzI,EAAMwG,cAAciC,GAAU,GACzCssB,GAAYtsB,IAAY,EAAIzb,EAAM+f,YAAYgoB,KAAa,EAAI/nC,EAAM+f,YAAYtE,GAC1EA,EAASgS,GAAGsa,KAEHA,IAAaA,GACbtsB,IAAaA,KAI7B,IAAMssB,GAAY,IAAMtsB,EAdd,SAASssB,EAAUtsB,GACjC,OAAO,EAAIssB,IAAa,EAAItsB,EAcjBusB,CAAYD,EAAUtsB,KAE7B,OAASssB,GAAY,WAAatI,EAAQsI,KAAa52B,EAAaxR,QAAQ62B,cAAcuR,KACnFA,IAAatsB,K,kCCrC5B/b,EAAQuoC,yBAAsB,EAC9B,IAAI5M,EAAYv7B,EAAQ,IACpBE,EAAQF,EAAQ,IAEpB,SAASooC,EAAmBC,GACxB,OAgCJ,SAA4BA,GACxB,GAAIj9B,MAAM6P,QAAQotB,GACd,OAAOC,EAAkBD,GAlCtBE,CAAmBF,IA0B9B,SAA0BG,GACtB,GAAI,qBAAuB5I,QAAU,MAAQ4I,EAAK5I,OAAOC,WAAa,MAAQ2I,EAAK,cAC/E,OAAOp9B,MAAMq9B,KAAKD,GA5BYE,CAAiBL,IAOvD,SAAqCtjC,EAAG4jC,GACpC,IAAK5jC,EACD,OAEJ,GAAI,kBAAoBA,EACpB,OAAOujC,EAAkBvjC,EAAG4jC,GAEhC,IAAIxiB,EAAI1kB,OAAOR,UAAUiiB,SAASngB,KAAKgC,GAAGjD,MAAM,GAAI,GAChD,WAAaqkB,GAAKphB,EAAE3B,cACpB+iB,EAAIphB,EAAE3B,YAAY/B,MAEtB,GAAI,QAAU8kB,GAAK,QAAUA,EACzB,OAAO/a,MAAMq9B,KAAK1jC,GAEtB,GAAI,cAAgBohB,GAAK,2CAA2C7M,KAAK6M,GACrE,OAAOmiB,EAAkBvjC,EAAG4jC,GAtB2BC,CAA4BP,IAG3F,WACI,MAAM,IAAIQ,UAAU,wIAJ2EC,GAsCnG,SAASR,EAAkBD,EAAKU,IACxB,MAAQA,GAAOA,EAAMV,EAAIrmC,UACzB+mC,EAAMV,EAAIrmC,QAEd,IAAK,IAAIV,EAAI,EAAG0nC,EAAO,IAAI59B,MAAM29B,GAAMznC,EAAIynC,EAAKznC,IAC5C0nC,EAAK1nC,GAAK+mC,EAAI/mC,GAElB,OAAO0nC,EAEX,IAAIb,EAAsB,WACtB,SAASA,IACL3nC,KAAKyoC,qBAAuB,GAEhC,IAAI14B,EAAS43B,EAAoBlnC,UA2BjC,OA1BAsP,EAAOC,IAAM,SAAS1N,EAAK2N,EAAIy4B,GAC3B,GAAIpmC,KAAOtC,KAAKyoC,qBACZC,GAAoB1oC,KAAKyoC,qBAAqBnmC,GAAKqmC,SAASjnC,KAAKgnC,OAC9D,CACH,IAAIE,EAAkB,IAAI7N,EAAUyC,SACpCx9B,KAAKyoC,qBAAqBnmC,GAAO,CAC7B2N,GAAIA,EACJ24B,gBAAiBA,EACjBD,SAAUD,EAAmB,CAACA,GAAoB,IAG1D,OAAO1oC,KAAKyoC,qBAAqBnmC,GAAKsmC,gBAAgBjK,WAE1D5uB,EAAO84B,wBAA0B,WAC7B,IAAK,IAAIvmC,KAAOtC,KAAKyoC,qBAAsB,CACvC,IAAIK,EAAY9oC,KAAKyoC,qBAAqBnmC,IACtC,EAAI5C,EAAM0K,WAAW0+B,KACjBA,EAAUH,UAAYG,EAAUH,SAASnnC,OACzCu5B,EAAUM,KAAKn7B,WAAM,EAAQ0nC,EAAmBkB,EAAUH,WAAWrK,KAAKwK,EAAU74B,IAAImrB,KAAK0N,EAAUF,gBAAgBnK,SAEvHqK,EAAU74B,KAAKquB,KAAKwK,EAAUF,gBAAgBnK,UAI1Dz+B,KAAKyoC,qBAAuB,IAEzBd,EA/Be,GAiC1BvoC,EAAQuoC,oBAAsBA,G,kCCrF9BvoC,EAAQ2pC,qBAAkB,EAC1B,IAQgCzpC,EAR5BwX,GAQ4BxX,EAROE,EAAQ,MAS7BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GATfI,EAAQF,EAAQ,IAChBgT,EAAUhT,EAAQ,IAClBiT,EAAUjT,EAAQ,IAClBwpC,EAAqBxpC,EAAQ,KAC7Bye,EAAkBze,EAAQ,KAC1BypC,EAAoBzpC,EAAQ,MAQhC,SAASkiC,EAAkBrK,EAAQsK,GAC/B,IAAK,IAAI7gC,EAAI,EAAGA,EAAI6gC,EAAMngC,OAAQV,IAAK,CACnC,IAAI8gC,EAAaD,EAAM7gC,GACvB8gC,EAAWpuB,WAAaouB,EAAWpuB,aAAc,EACjDouB,EAAWnuB,cAAe,EACtB,UAAWmuB,IACXA,EAAWluB,UAAW,GAE1BzS,OAAOsS,eAAe8jB,EAAQuK,EAAWt/B,IAAKs/B,IAgBtD,IAIIsH,EAA+B,IAAIF,EAAmBG,kBAAiB,SAASl2B,GAChF,IAAIqM,EAAQrM,EAAKqM,MACb5e,EAASuS,EAAKvS,OACd0oC,EAAa9pB,EAAM+pB,OACvB,IAAKD,EACD,OAAO,EAAItyB,EAAUzX,WAEzB,IAAIiqC,GAAgB,EAAIxyB,EAAUzX,SAAS,SACvCkqC,EAAgBjqB,EAAMtM,SAAW,GAMrC,OALItS,EACAA,EAAO8oC,iBAAiBF,EAAeF,EAAYG,GAEnDD,EAAcF,GAAYG,GAEvBD,KAEPP,EAAkB,WAClB,SAASA,EAAgBpyB,EAAe8yB,GACpCzpC,KAAK0pC,eAAiB,GACtB1pC,KAAK2pC,kBAAoB,GACzB3pC,KAAK4pC,uBAAyBH,GAvBR,WAwBtBzpC,KAAK6pC,eAAiBlzB,GAAiBsyB,EAAkBrrB,qBACzD5d,KAAK8pC,wBAA0B9pC,KAAK8pC,wBAAwB3oC,KAAKnB,MAErE+oC,EAAgBgB,qBAAuB,WACnC,MAAO,CACHC,mBAAoB,CAChBC,YAAa,SAASh6B,EAAI+mB,GACtB,IAAIhkB,EAAU7S,UAAUqB,OAAS,QAAK,IAAWrB,UAAU,GAAKA,UAAU,GAAK,GAI/E,OAHK6S,EAAQk3B,eACTlT,EAAS/mB,KAENuC,EAAQyxB,MAEnB5lB,UAAW,CACP,sBAAuB6qB,GAE3BiB,4BAA4B,KAIxC,IAzDkBtH,EAAaC,EAAYC,EAyDvChzB,EAASg5B,EAAgBtoC,UAoG7B,OAnGAsP,EAAOq6B,oBAAsB,SAAS/rB,GAClCre,KAAK2pC,mBAAoB,EAAIl3B,EAAQa,QAAQ,GAAItT,KAAK2pC,kBAAmBtrB,IAE7EtO,EAAOi0B,QAAU,WACbhkC,KAAK0pC,eAAer0B,SAAQ,SAASg1B,GACjCA,EAAazrB,SAASolB,SAAWqG,EAAazrB,SAASolB,aAE3DhkC,KAAK0pC,eAAiB,IAE1B35B,EAAOu6B,iBAAmB,SAASC,GAG/B,MAAO,CACHlsB,UAHYre,KAAKwqC,kBAAkBD,GAInCE,sBAHwBzqC,KAAK0qC,0BAA0BH,KAM/Dx6B,EAAOy6B,kBAAoB,SAASD,GAChC,IAAIlK,EAAQrgC,KACRqe,GAAY,EAAI4qB,EAAkBtrB,eAAe4sB,EA/DjC,cAgEhBI,GAAoB,EAAI1B,EAAkBxrB,yBAAyBY,GAUvE,OATAA,EAAUhJ,SAAQ,SAASu1B,GACvB,IAAIn6B,EAAUm6B,EAAMn6B,QAChB5P,EAAO+pC,EAAM53B,QAAQnS,KACrB4P,IAAYk6B,EAAkB9pC,IAC9B,EAAIiW,EAAUzX,SAASoR,GAASoiB,SApEnB,uBAoEoD+C,UAEjE,EAAI9e,EAAUzX,SAASoR,GAASL,YAGjCnP,OAAOiO,KAAKy7B,GAAmBnsB,KAAI,SAAS3d,GAC/C,MAAO,CACHA,KAAMA,EACN+d,SAAUyhB,EAAMwK,gBAAgBF,EAAkB9pC,SAI9DkP,EAAO26B,0BAA4B,SAASH,GACxC,IAAIO,EAAqBP,EAAIjsB,WAAWsX,SAMxC,OAL8BkV,EAAmBl3B,QAAO,SAAS1D,EAAGO,GAChE,IAAIsd,EAtFA,IAsFatd,EAAQ0P,SACrB4qB,GAAc,EAAIj0B,EAAUzX,SAASoR,GAASua,OAAOuC,OAAO/rB,OAAS,EACzE,QAASusB,GAAcgd,MAEIvpC,OAAS,EAAI,CACxCod,SAAU5e,KAAK6qC,gBAAgBC,GAC/BjqC,KAAMb,KAAK4pC,wBACX,IAER75B,EAAO+5B,wBAA0B,SAASvqB,GACtC,IAAIyrB,EAAiBhrC,KAAK0pC,eAAe91B,QAAO,SAASy2B,GACrD,OAAOA,EAAajoC,UAAW,EAAI6mC,EAAkBzrB,aAAa+B,MACnE,GACH,GAAIyrB,EACA,OAAOA,EAAepsB,SAE1B,IAAIA,EAAW5e,KAAK6qC,gBAAgBtrB,GAKpC,OAJAvf,KAAK0pC,eAAehoC,KAAK,CACrBkd,SAAUA,EACVxc,QAAQ,EAAI6mC,EAAkBzrB,aAAa+B,KAExCX,GAEX7O,EAAO86B,gBAAkB,SAAStrB,GAC9B,OAAOvf,KAAK6pC,gBAAe,EAAIZ,EAAkB1rB,wBAAwBgC,KAE7ExP,EAAOk7B,YAAc,SAAS1rB,EAAgBlB,EAAW6sB,EAAO1kB,GAC5D,IAAIse,EAAS9kC,KACT2f,EAAkBurB,EAAMvrB,gBACxBC,EAAgBsrB,EAAMtrB,cAC1B,OAAK,EAAIlgB,EAAM2T,YAAYkM,GAGpB,IAAIypB,EAAmBG,kBAAiB,SAASn2B,GACpD,IAAIm4B,EAAuB5rB,EAAerf,MAAMsmB,GAAS,EAAIyiB,EAAkBvrB,2BAA2B1K,IAC1G,KAAK,EAAItT,EAAM0K,WAAW+gC,GACtB,OAAO,IAAIltB,EAAgBgC,cAE/B,IAAI+jB,GAAU,EACVplB,GAAW,EAAIqqB,EAAkBnrB,iBAAiBqtB,GAAsB,SAAS5rB,GACjF,OAAIA,EAAeY,WAAY,EAAIzgB,EAAM+f,YAAYF,MAAoB,EAAIzI,EAAUzX,SAASkgB,GAAgB4N,GAAG,UACxG,IAAI6b,EAAmBG,kBAAiB,WAC3C,OAAO5pB,MAGfykB,GAAU,EACHc,EAAO+F,gBAAgBtrB,MAC/BlB,EAAWsB,EAAiBC,EAAeklB,EAAO6E,mBACjDtkC,EAASuZ,EAASO,OAAOnM,GAE7B,OADAgxB,GAAWplB,EAASolB,SAAWplB,EAASolB,UACjC3+B,MAnBA,EAAI4jC,EAAkBnrB,iBAAiByB,EAAgBvf,KAAK8pC,wBAAyBzrB,EAAWsB,EAAiBC,EAAe5f,KAAK2pC,oBAjIlI9G,EAuJLkG,GAvJkBjG,EAuJD,CAAC,CAC3BxgC,IAAK,wBACLiN,IAAK,WACD,OAAOvP,KAAK4pC,4BAxJhBlI,EAAkBmB,EAAYpiC,UAAWqiC,GAEzCC,GACArB,EAAkBmB,EAAaE,GAEnC9hC,OAAOsS,eAAesvB,EAAa,YAAa,CAC5CnvB,UAAU,IAqJPq1B,EA7HW,GA+HtB3pC,EAAQ2pC,gBAAkBA,G,iCC1L1B3pC,EAAQgsC,UAAYhsC,EAAQyc,oBAAsBzc,EAAQwX,WAAQ,EAClE,IAGgCtX,EAH5BI,EAAQF,EAAQ,IAChB8Z,GAE4Bha,EAFeE,EAAQ,OAGrCF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIsX,EAAQ,WACR,SAASy0B,KACT,OAAO,SAAS/rC,GAEZ,OADA+rC,EAAM5qC,UAAYnB,EACX,IAAI+rC,GAJP,GAOZjsC,EAAQwX,MAAQA,EAmChBxX,EAAQgsC,UAlCQ,SAAS5sB,EAAKxb,GAC1B,IACIV,EACAxB,EAFAoO,EAAO,GAGX,IAAK5M,KAAOkc,EACJvd,OAAOR,UAAUS,eAAeqB,KAAKic,EAAKlc,IAC1C4M,EAAKxN,KAAKY,GAuBlB,IApBA4M,EAAKo8B,MAAK,SAAS5lB,EAAGG,GAClB,IAAI0lB,GAAY,EAAI7rC,EAAMyI,WAAWud,GACjC8lB,GAAY,EAAI9rC,EAAMyI,WAAW0d,GACrC,OAAI0lB,GAAaC,EACN9lB,EAAIG,EAEX0lB,IAAcC,GACN,GAEPD,GAAaC,EACP,EAEP9lB,EAAIG,GACI,EAERH,EAAIG,EACG,EAEJ,KAEN/kB,EAAI,EAAGA,EAAIoO,EAAK1N,OAAQV,IAEzBkC,EADAV,EAAM4M,EAAKpO,GACD0d,EAAIlc,KAItB,IAAImpC,EAAwB,SAASpU,EAAQqU,EAAUzmC,EAAO0mC,IACrDA,GAAqBryB,EAAkBja,QAAQoa,UAAU4d,EAAOqU,IACjEpyB,EAAkBja,QAAQqa,OAAO2d,EAAOqU,GAAWzmC,GAEnDoyB,EAAOqU,GAAYzmC,GAsB3B7F,EAAQyc,oBAnBkB,SAASA,EAAoBwb,EAAQuU,EAASC,EAAqBF,GACzF,IAAIG,EACA3wB,EACJ,IAAK,IAAIta,KAAQ+qC,EAGb,GAFAE,EAAYzU,EAAOx2B,GACnBsa,EAAWywB,EAAQ/qC,GACf,cAAgBA,GAAQ,gBAAkBA,GAAQw2B,IAAWlc,EAAjE,CAGA,IAAI,EAAIzb,EAAMkc,eAAeT,GAEzBA,EAAWU,GADIgwB,GAAsB,EAAInsC,EAAMqG,UAAU+lC,IAAa,EAAIpsC,EAAMkc,eAAekwB,IACrDA,EAAY,GAAI3wB,EAAU0wB,EAAqBF,QAEzF,IAAWxwB,GAAY2wB,IAAc3wB,GACrCswB,EAAsBpU,EAAQx2B,EAAMsa,EAAUwwB,GAGtD,OAAOtU,I,iCC5EXj4B,EAAQC,aAAU,EAClB,IAAIK,EAAQF,EAAQ,IAChBqR,EAAeC,EAAuBtR,EAAQ,KAC9CuR,EAAmBD,EAAuBtR,EAAQ,MAClDqP,EAAUrP,EAAQ,IAClB6D,EAAY7D,EAAQ,IACpBu7B,EAAYv7B,EAAQ,IACpBgT,EAAUhT,EAAQ,IAEtB,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAInB,SAASsoC,EAAmBC,GACxB,OAgCJ,SAA4BA,GACxB,GAAIj9B,MAAM6P,QAAQotB,GACd,OAAOC,EAAkBD,GAlCtBE,CAAmBF,IA0B9B,SAA0BG,GACtB,GAAI,qBAAuB5I,QAAU,MAAQ4I,EAAK5I,OAAOC,WAAa,MAAQ2I,EAAK,cAC/E,OAAOp9B,MAAMq9B,KAAKD,GA5BYE,CAAiBL,IAOvD,SAAqCtjC,EAAG4jC,GACpC,IAAK5jC,EACD,OAEJ,GAAI,kBAAoBA,EACpB,OAAOujC,EAAkBvjC,EAAG4jC,GAEhC,IAAIxiB,EAAI1kB,OAAOR,UAAUiiB,SAASngB,KAAKgC,GAAGjD,MAAM,GAAI,GAChD,WAAaqkB,GAAKphB,EAAE3B,cACpB+iB,EAAIphB,EAAE3B,YAAY/B,MAEtB,GAAI,QAAU8kB,GAAK,QAAUA,EACzB,OAAO/a,MAAMq9B,KAAK1jC,GAEtB,GAAI,cAAgBohB,GAAK,2CAA2C7M,KAAK6M,GACrE,OAAOmiB,EAAkBvjC,EAAG4jC,GAtB2BC,CAA4BP,IAG3F,WACI,MAAM,IAAIQ,UAAU,wIAJ2EC,GAsCnG,SAASR,EAAkBD,EAAKU,IACxB,MAAQA,GAAOA,EAAMV,EAAIrmC,UACzB+mC,EAAMV,EAAIrmC,QAEd,IAAK,IAAIV,EAAI,EAAG0nC,EAAO,IAAI59B,MAAM29B,GAAMznC,EAAIynC,EAAKznC,IAC5C0nC,EAAK1nC,GAAK+mC,EAAI/mC,GAElB,OAAO0nC,EAEX,IAAIuD,EAAQh7B,EAAiB1R,QAAQ2Q,IAoBjCg8B,EAAsB,WACtB,IAYIC,EAZAC,EAAqB,CACrBC,QAAS,6BACTzO,MAAO,4BACP0O,YAAa,8BAgBjB,OANAL,GAAM,WACF,IAAIz6B,GAAS,EAAIzC,EAAQG,aACzB6B,EAAaxR,QAAQ0S,OAAOT,EAAQ,gBAAgB,WAChD26B,GAAY,QAGb,SAASI,EAAKC,GACjB,OAAIL,EAxCW,8BA2CXI,EAAIE,OAAS,IAlBG,SAASD,GAC7B,IAAIjnC,EAAS6mC,EAAmBI,GAChC,OAAKjnC,GACMinC,EAgBAE,CAAkBF,GAEtBD,EAAII,YA3BO,GA8BtBC,EAAc,CACdhnC,MAAO,CACHinC,KAAM,EACNn+B,KAAM,SAAS9I,GACX,OAAO,EAAIA,IAGnBknC,IAAK,CACDD,KAAM,EACNn+B,KAAM,SAASo+B,EAAKz8B,GAChB,OAAOy8B,EAAMz8B,IAGrBlG,IAAK,CACDuE,KAAM,SAASvE,EAAKkG,GAChB,OAAOA,EAAOlG,EAAMkG,EAAOlG,IAGnCC,IAAK,CACDsE,KAAM,SAAStE,EAAKiG,GAChB,OAAOA,EAAOjG,EAAMiG,EAAOjG,IAGnC2iC,IAAK,CACDF,KAAM,CAAC,EAAG,GACVn+B,KAAM,SAASs+B,EAAM7nC,GACjB,MAAO,CAAC6nC,EAAK,GAAK7nC,EAAO6nC,EAAK,GAAK,IAEvCC,SAAU,SAASD,GACf,OAAOA,EAAK,GAAKA,EAAK,GAAKA,EAAK,GAAKlnB,OAI7ConB,EAA2B,WAC3B,IACIC,EADAC,EAAY,EAwBhB,MAAO,CACHC,OAvBS,WACL,IAAMD,IACND,EAAe,IAAIlS,EAAUyC,UAEjC0P,KAoBAE,QAlBU,aACVF,EACgB,GACZD,EAAaxO,WAgBjBE,QAbU,WAEV,OADe,IAAMuO,GAAa,IAAInS,EAAUyC,UAAUiB,UAAYwO,GACtDtO,WAYhBkG,MAVQ,WACRqI,EAAY,EACRD,GACAA,EAAaxO,YAtBM,GA+J/B,IAiBIv7B,EAjBQ,CACRmqC,iBAlPmB,8BAmPnBC,yBAlP2B,SAASC,GACpC,MAAO,CAACA,EAAK,GAAIA,EAAK/rC,OAAS,EAAI,IAAM2oB,OAAOojB,EAAK,IAAIrlC,cAAeqlC,EAAK/rC,OAAS,GAAW+rC,EAAKA,EAAK/rC,OAAS,KAkPpHgsC,qBAhPuB,SAASpK,GAIhC,OAHKx4B,MAAM6P,QAAQ2oB,KACfA,EAAO,CAACA,KAEL,EAAI//B,EAAUmb,KAAK4kB,GAAM,SAAStiC,GACrC,IAAIuE,EAAS,CACTssB,UAAU,EAAIjyB,EAAM2T,YAAYvS,IAAM,kBAAoBA,EAAIA,EAAIA,EAAEga,QAAUha,EAAEikC,OAASjkC,EAAE6wB,SAC3F8b,QAAS3sC,EAAE2sC,MAAQ,MAAQtjB,OAAOrpB,EAAEiH,KAAKmjB,OAAO,GAAGhjB,gBAKvD,OAHIpH,EAAE4sC,UACFroC,EAAOqoC,QAAU5sC,EAAE4sC,SAEhBroC,MAqOX2mC,oBAAqBA,EACrBU,YAAaA,EACbiB,UA7HY,SAASzsB,EAAS0sB,EAAMC,GACpC,GAAIjjC,MAAM6P,QAAQyG,GAAU,CAKxB,IAJA,IAGIrgB,EAHAitC,GAAQ,EAAIzqC,EAAUmb,KAAKovB,GAAM,SAASlO,EAAG7a,GAC7C,OAAOA,KAGF/jB,EAAI,EAAGA,EAAIgtC,EAAMtsC,OAAQV,IAE9B,GADAD,EAAOitC,EAAMhtC,KACR,EAAI0R,EAAQ2O,cAAcysB,EAAK/sC,GAAOgtC,EAAKhtC,GAAO,GAAG,GACtD,OAAO,EAGf,OAAO,EAEX,OAAO,EAAI2R,EAAQ2O,cAAcysB,EAAMC,EAAM,GAAG,IAgHhDE,gBArBJ,SAAyB/qC,EAAMmpC,GAC3B,IAAI5G,EAAQ,GACRyI,EApBR,SAAkBhrC,EAAMmpC,GACpB,IAAI8B,EACAC,EACJ,OAAO,WACH,IAAI7N,EAAQrgC,KAUZ,OATAkuC,EAAW/tC,UACN8tC,IACDA,EAAYE,YAAW,WACnBF,OAAY,EACRC,GACAlrC,EAAKT,KAAK89B,EAAO6N,MAEtB,EAAIxuC,EAAM2T,YAAY84B,GAAWA,IAAYA,IAE7C8B,GAMKG,EAAS,WACrBprC,EAAKT,KAAKvC,KAAMulC,GAChBA,EAAQ,KACT4G,GACH,OAAO,SAASP,GAER,IAAIyC,EADJzjC,MAAM6P,QAAQmxB,KAEbyC,EAAS9I,GAAO7jC,KAAKxB,MAAMmuC,EAAQzG,EAAmBgE,IAE3D,OAAOoC,EAAUzrC,KAAKvC,KAAMulC,KAWhC+I,eAjDiB,WACjB,IAAIlqB,EAAI,IAAI2W,EAAUyC,SACtB,OAAOpZ,EAAEqa,QAAQv+B,MAAMkkB,EAAGjkB,WAAWw+B,WAgDrC4P,gBA9CkB,WAClB,IAAInqB,EAAI,IAAI2W,EAAUyC,SACtB,OAAOpZ,EAAE4X,OAAO97B,MAAMkkB,EAAGjkB,WAAWw+B,WA6CpC6P,sBAxIJ,SAA+BC,GAC3B,MAAO,kBAAkB31B,KAAK21B,IAwI9BC,sBArIJ,SAA+BD,GAC3B,MAAO,gBAAgB31B,KAAK21B,IAqI5BzB,yBAA0BA,EAC1B2B,iBAzEmB,SAASpB,GAC5B,MAAO,MAAQA,EAAK,IAAM3iC,MAAM6P,QAAQ8yB,EAAK,KAyE7CqB,iBApEmB,SAASrB,GAC5B,IAJ2BtoC,EAIvBoR,EAAQk3B,EAAK,GACbpnC,EAASonC,EAAK,GAClB,QAAI3iC,MAAM6P,QAAQpE,QAGd,EAAI3W,EAAM2T,YAAYgD,KAClBzL,MAAM6P,QAAQtU,MAAW,EAAIzG,EAAM2T,YAAYlN,IAThD,SADoBlB,EAUuDkB,IATxD,OAASlB,IAuEnC4pC,cArHgB,SAAS/U,GACpBlvB,MAAM6P,QAAQqf,KACfA,EAgBR,SAA2BvU,GACvB,IACIupB,EACAhuC,EAFAiuC,EAAQ,GAGZ,IAAKjuC,EAAI,EAAGA,EAAIykB,EAAI/jB,OAAQV,KACxBguC,EAAOvpB,EAAIypB,WAAWluC,IACX,IACPiuC,EAAMrtC,KAAKotC,GAEPA,EAAO,KACPC,EAAMrtC,KAAK,KAAOotC,GAAQ,GAAI,KAAO,GAAKA,IAEtCA,EAAO,MACPC,EAAMrtC,KAAK,KAAOotC,GAAQ,IAAK,KAAOA,GAAQ,EAAI,IAAK,KAAO,GAAKA,IAE/DA,EAAO,SACPC,EAAMrtC,KAAK,KAAOotC,GAAQ,IAAK,KAAOA,GAAQ,GAAK,IAAK,KAAOA,GAAQ,EAAI,IAAK,KAAO,GAAKA,IAMhH,OAAOC,EAtCKE,CAAkB9kB,OAAO2P,KAErC,IAAIz0B,EAAS,GAEb,SAAS6pC,EAAc7/B,GACnB,MARW,oEAQS6b,OAAO7b,GAE/B,IAAK,IAAIvO,EAAI,EAAGA,EAAIg5B,EAAMt4B,OAAQV,GAAK,EAAG,CACtC,IAAIquC,EAASrV,EAAMh5B,GACfsuC,EAAStV,EAAMh5B,EAAI,GACnBuuC,EAASvV,EAAMh5B,EAAI,GACvBuE,IAAU,EAAIhC,EAAUmb,KAAK,CAAC2wB,GAAU,GAAI,EAAIA,IAAW,EAAIC,GAAU,EAAGza,MAAMya,GAAU,IAAM,GAAKA,IAAW,EAAIC,GAAU,EAAG1a,MAAM0a,GAAU,GAAK,GAAKA,GAASH,GAAe3kB,KAAK,IAE9L,OAAOllB,IAyGXjG,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCCpUzBD,EAAQC,aAAU,EAClB,IAAIiwC,EAAwB9vC,EAAQ,MAKhC0D,EAJQ,WACR,IAAIqsC,EAAO3kC,MAAM6P,QAAQta,UAAU,IAAM,QAAU,SACnD,OAAOmvC,EAAsB/S,UAAUgT,GAAMrvC,MAAMF,KAAMG,YAG7Df,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,QACzB8D,EAAO/D,QAAQC,QAAU8D,EAAO/D,S,gCCThCA,EAAQowC,iBAAmBpwC,EAAQkU,YAAS,EAC5C,IAAI5T,EAAQF,EAAQ,IAapBJ,EAAQowC,iBAZe,SAASnY,EAAQj1B,EAAQqtC,GAE5C,IAAK,IAAI/c,KADT2E,EAASA,GAAU,GACFj1B,EACb,GAAInB,OAAOR,UAAUS,eAAeqB,KAAKH,EAAQswB,GAAO,CACpD,IAAIztB,EAAQ7C,EAAOswB,GACbA,KAAQ2E,IAAWoY,IACrBpY,EAAO3E,GAAQztB,GAI3B,OAAOoyB,GAyCXj4B,EAAQkU,OAtCK,SAASA,EAAO+jB,GAEzB,IAAIv2B,EAAI,EACJ4uC,GAAO,EAMX,IALI,mBAHJrY,EAASA,GAAU,MAIfqY,EAAOrY,EACPA,EAASl3B,UAAU,IAAM,GACzBW,KAEGA,EAAIX,UAAUqB,OAAQV,IAAK,CAC9B,IAAIsB,EAASjC,UAAUW,GACvB,GAAI,MAAQsB,EAGZ,IAAK,IAAIE,KAAOF,EAAQ,CACpB,IAAIutC,EAActY,EAAO/0B,GACrBqgB,EAAcvgB,EAAOE,GACrBstC,GAAqB,EACrBh5B,OAAQ,EACR,cAAgBtU,GAAO,gBAAkBA,GAAO+0B,IAAW1U,IAG3D+sB,GAAQ/sB,KAAgB,EAAIjjB,EAAMkc,eAAe+G,KAAiBitB,EAAqBhlC,MAAM6P,QAAQkI,MAEjG/L,EADAg5B,EACQD,GAAe/kC,MAAM6P,QAAQk1B,GAAeA,EAAc,GAE1DA,IAAe,EAAIjwC,EAAMkc,eAAe+zB,GAAeA,EAAc,GAEjFtY,EAAO/0B,GAAOgR,EAAOo8B,EAAM94B,EAAO+L,SAE9B,IAAWA,IACX0U,EAAO/0B,GAAOqgB,KAK9B,OAAO0U,I,iCCnDXj4B,EAAQC,aAAU,EAClB,IAAIgY,EAAUvG,EAAuBtR,EAAQ,MACzCqwC,EAAQrwC,EAAQ,MAChBswC,EAAsBh/B,EAAuBtR,EAAQ,OACrDE,EAAQF,EAAQ,IAChB+D,EAAWuN,EAAuBtR,EAAQ,MAE9C,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAGIywC,EAAkB,yHAClBC,EAAuB,+BACvBC,EAAwB,CAAC,GAAI,OAAQ,GAAI,KAAM,GAAI,KAAM,MAAO,GAAI,KAAM,GAAI,KAAM,QACpFC,EAA6B,8BAE7BvrC,EAASpB,EAASlE,QAAQuF,MAAQC,SAAStB,EAASlE,QAAQyF,UAAY,GACxEqrC,EAAa,SAASnlB,EAAMolB,GAC5B,IAAI/qC,EAIJ,OAHI,EAAI3F,EAAMoG,UAAUklB,KAAUolB,IAC9B/qC,EAyBR,SAA4B2lB,GACxB,IAAIqlB,EAAQrlB,EAAKxU,MAAMu5B,GACvB,IAAKM,EAED,OADAA,EAAQrlB,EAAKxU,MAAMw5B,IAER,IAAI9oC,KAAK,EAAG,EAAG,EAAGopC,EAAYD,EAAM,IAAKC,EAAYD,EAAM,IAAKC,EAAYD,EAAM,UAE7F,EAEJ,IAAI3pC,EAAO2pC,EAAM,GACb7pC,IAAU6pC,EAAM,GAChB/pC,EAAM+pC,EAAM,GACZE,EAAe,EACfC,EAAiB,EACrBD,EAAeD,EAAYD,EAAM,KACjCG,EAAiBF,EAAYD,EAAM,KAC/B,MAAQA,EAAM,MACdE,GAAgBA,EAChBC,GAAkBA,GAEtB,IAAInqC,EAAOiqC,EAAYD,EAAM,IAAME,EAC/BnqC,EAASkqC,EAAYD,EAAM,IAAMG,EACjCrqC,EAASmqC,EAAYD,EAAM,KAK3BnqC,GAJ6BuqC,EAIGJ,EAAM,IAF/BC,EADPG,EAAOA,GAAQ,IACYnrC,KAAKwgB,IAAI,GAvDnB,EAuD4C2qB,EAAKjvC,SAF9C,IAASivC,EAKjC,GAAIJ,EAAM,IACN,OAAO,IAAInpC,KAAKA,KAAKwpC,IAAIhqC,EAAMF,EAAOF,EAAKD,EAAMD,EAAQD,EAAQD,IAErE,OAAO,IAAIgB,KAAKR,EAAMF,EAAOF,EAAKD,EAAMD,EAAQD,EAAQD,GAxD3CyqC,CAAmB3lB,IAEzB3lB,GAOX,SAAmB2lB,GACf,IAAI4lB,EArBwB,eAqBOC,EAA2B7lB,GAC1D8lB,IAAe,EAAIpxC,EAAMyJ,QAAQ6hB,IAAS9jB,KAAK6pC,MAAM/lB,GACzD,KAAM8lB,GAAensC,IAAWisC,EAA8B,CAC1D,IAAIP,EAAQrlB,EAAKxU,MAAM05B,GACvB,GAAIG,EAAO,CACP,IAAIhmC,EAAU,IAAInD,KAAKopC,EAAYD,EAAM,IAAKC,EAAYD,EAAM,IAAKC,EAAYD,EAAM,KAIvF,OAHAhmC,EAAQhC,YAAYioC,EAAYD,EAAM,KACtChmC,EAAQ/C,SAASgpC,EAAYD,EAAM,IAAM,GACzChmC,EAAQ9C,QAAQ+oC,EAAYD,EAAM,KAC3BhmC,GAGf,OAAO,EAAI3K,EAAMyI,WAAW2oC,GAAe,IAAI5pC,KAAK4pC,GAAe9lB,EApBlDgmB,CAAUhmB,IAG/B,SAASslB,EAAYG,GACjB,OAAQA,GAAQ,EAoDpB,IAiDII,EAA6B,SAAS5rC,GACtC,MAAI,kBAAoBA,EAxHM,UA2HtB,EAAIvF,EAAMoG,UAAUb,KAEhB,EAAIoS,EAAQhY,WAAWwwB,sBACvBhiB,EAxDO,SAASmd,EAAMimB,GAClC,IAAIZ,EAAQrlB,EAAKxU,MAAMu5B,GACnB1qC,EAAS,GACb,IAAKgrC,EAED,OADAA,EAAQrlB,EAAKxU,MAAMw5B,IAERK,EAAM,GAAK,WAAa,aAEnC,EAEJ,IAAK,IAAIvvC,EAAI,EAAGA,EAAImvC,EAAsBzuC,OAAQV,IAC1CuvC,EAAMvvC,KACNuE,GAAU4qC,EAAsBnvC,IAAMuvC,EAAMvvC,IAiBpD,MAdI,MAAQuvC,EAAM,MACdhrC,GAAU,OAEVgrC,EAAM,MACFA,EAAM,IACNhrC,GAAU,MAENgrC,EAAM,IACNhrC,GAAU,KAEVA,GAAU,KAIfA,EA2Bc6rC,CAAiBjsC,IAE1B4I,IAGI5I,EAAMqR,QAAQ,MAAQ,EAjIN,sBADJ,eAyIhBrR,EACO,UADX,EAdA,IAAI4I,GAoBZ3K,EAAW,CACXitC,WAAYA,EACZgB,gBA7CkB,SAASlsC,GAC3B,MAAI,kBAAoBA,EACb,IAAIiC,KAAKjC,GAEbkrC,EAAWlrC,IAAQ,EAAIoS,EAAQhY,WAAWwwB,sBA0CjDuhB,cAxCgB,SAASnsC,EAAOosC,GAChC,OAAKA,GAGA,EAAI3xC,EAAMyJ,QAAQlE,GA/GO,WAkH1BosC,EACOpsC,GAASA,EAAMZ,QAAUY,EAAMZ,UAAY,MAE/C,EAAIwrC,EAAMyB,cAAcD,EAAqBvB,EAAoBzwC,QAAjE,CAA0E4F,GALtE,KAHAA,GAuCX4rC,2BAA4BA,GAEhCzxC,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCCnKzBD,EAAQmyC,mBAAqBnyC,EAAQoyC,uBAAoB,EACzD,IAEgClyC,EAF5BwX,GAE4BxX,EAFOE,EAAQ,MAG7BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAEIiyC,EAAqB,SAASnvC,GAC9B,SAAKA,GAAU,kBAAoBA,KAG/B,wCAAwC0W,KAAK1W,GACtC,MAEP,4BAA4B0W,KAAK1W,GAC1B,QAEP,YAAY0W,KAAK1W,GACV,WAEP,oBAAoB0W,KAAK1W,IAClB,aAIfhD,EAAQmyC,mBAAqBA,EAe7BnyC,EAAQoyC,kBAdgB,SAASpvC,GAC7B,OAAQmvC,EAAmBnvC,IACvB,IAAK,QACD,OAAO,EAAI0U,EAAUzX,SAAS,SAASqf,KAAK,MAAOtc,GAAQywB,SAxBtD,WAyBT,IAAK,WACD,OAAO,EAAI/b,EAAUzX,SAAS,OAAOwzB,SAAS,GAAGtU,OA1B5C,UA0B+D,KAAKA,OAAOnc,IACpF,IAAK,SACD,OAAO,EAAI0U,EAAUzX,SAAS,OAAOwzB,SAAS,GAAGtU,OA5B5C,UA4B+D,KAAKA,OA5BpE,UA4BuF,KAAKA,OAAOnc,IAC5G,IAAK,MACD,OAAO,EAAI0U,EAAUzX,SAAS,OAAOwzB,SAAS,GAAGtU,OA9B5C,UA8B+D,KAAKA,OA7BhE,gBA6BwF8O,OAAOjrB,GAC5G,QACI,OAAO,Q,iCCxCnBhD,EAAQ6Z,gBAAa,EACrB,IAAIG,EAAStI,EAAuBtR,EAAQ,MACxCiT,EAAUjT,EAAQ,IAClBgT,EAAUhT,EAAQ,IAClB6D,EAAY7D,EAAQ,IACpBE,EAAQF,EAAQ,IAChBi8B,EAAS3qB,EAAuBtR,EAAQ,MACxCiyC,EAAejyC,EAAQ,KACvBkyC,EAAgB5gC,EAAuBtR,EAAQ,MAC/CmyC,EAAmBnyC,EAAQ,KAC3BD,EAAUuR,EAAuBtR,EAAQ,MACzCoP,EAASpP,EAAQ,IACjB2mB,EAAS3mB,EAAQ,MACjBu7B,EAAYv7B,EAAQ,IACpBoyC,EAAqB9gC,EAAuBtR,EAAQ,OACpDqyC,EAAUryC,EAAQ,KAEtB,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAInB,SAASsoC,EAAmBC,GACxB,OAgCJ,SAA4BA,GACxB,GAAIj9B,MAAM6P,QAAQotB,GACd,OAAOC,EAAkBD,GAlCtBE,CAAmBF,IA0B9B,SAA0BG,GACtB,GAAI,qBAAuB5I,QAAU,MAAQ4I,EAAK5I,OAAOC,WAAa,MAAQ2I,EAAK,cAC/E,OAAOp9B,MAAMq9B,KAAKD,GA5BYE,CAAiBL,IAOvD,SAAqCtjC,EAAG4jC,GACpC,IAAK5jC,EACD,OAEJ,GAAI,kBAAoBA,EACpB,OAAOujC,EAAkBvjC,EAAG4jC,GAEhC,IAAIxiB,EAAI1kB,OAAOR,UAAUiiB,SAASngB,KAAKgC,GAAGjD,MAAM,GAAI,GAChD,WAAaqkB,GAAKphB,EAAE3B,cACpB+iB,EAAIphB,EAAE3B,YAAY/B,MAEtB,GAAI,QAAU8kB,GAAK,QAAUA,EACzB,OAAO/a,MAAMq9B,KAAK1jC,GAEtB,GAAI,cAAgBohB,GAAK,2CAA2C7M,KAAK6M,GACrE,OAAOmiB,EAAkBvjC,EAAG4jC,GAtB2BC,CAA4BP,IAG3F,WACI,MAAM,IAAIQ,UAAU,wIAJ2EC,GAsCnG,SAASR,EAAkBD,EAAKU,IACxB,MAAQA,GAAOA,EAAMV,EAAIrmC,UACzB+mC,EAAMV,EAAIrmC,QAEd,IAAK,IAAIV,EAAI,EAAG0nC,EAAO,IAAI59B,MAAM29B,GAAMznC,EAAIynC,EAAKznC,IAC5C0nC,EAAK1nC,GAAK+mC,EAAI/mC,GAElB,OAAO0nC,EAEX,IAAIvvB,EAAaG,EAAO/Z,QAAQoD,QAAQ,CACpChB,KAAM,SAASuR,GACX,IAAI8+B,EAAuBzR,EAAQrgC,KAQnC,GAPAgT,GAAU,EAAI6+B,EAAQE,4BAA4B/+B,GAClDhT,KAAKgyC,gBAAkB,IAAIL,EAAiBM,eAAejyC,KAAM,CAC7DinB,cAAc,IAElBjnB,KAAKkyC,OAASl/B,EAAQm/B,MACtBnyC,KAAKoyC,aAAe,EACC,IAAMp/B,EAAQq/B,uBACf,CAChB,IAGIC,EACAC,EAJAC,OAAoB,IAAWx/B,EAAQq/B,uBAAyB,WAChE,OAAO,EAAIhS,EAAM+R,cACjBp/B,EAAQq/B,uBAGRI,EAAwBhX,EAAOp8B,QAAQ0uC,iBAAgB,SAASnC,GAChE0G,EAAa7T,UACU1D,EAAUM,KAAKn7B,WAAM,EAAQ0nC,EAAmB2K,IACtDjU,MAAK,WAClB,OAAO+B,EAAMqS,QAAQ9G,MAEzB2G,OAAkB,EAClBD,OAAe,IAChBE,GACHxyC,KAAK2yC,eAAiB,SAASjvC,GAC3B28B,EAAMuS,sBAAwBH,EAAsB/uC,EAAKkoC,SACpD0G,IACDA,EAAe,IAAIvX,EAAUyC,UAEjC+U,EAAkB7uC,EAAKmvC,QACvBnvC,EAAKmvC,QAAQnxC,KAAK4wC,EAAa3T,YAEnC3+B,KAAKkyC,OAAOY,GAAG,aAAc9yC,KAAK2yC,qBAElC3yC,KAAK2yC,eAAiB,SAAS/G,GAC3B,OAAOvL,EAAMqS,QAAQ9G,IAEzB5rC,KAAKkyC,OAAOY,GAAG,OAAQ9yC,KAAK2yC,gBAEhC3yC,KAAK+yC,kBAAoB/yC,KAAKgzC,oBAAoBhgC,GAClDhT,KAAKizC,SAAWjgC,EAAQwL,IACxBxe,KAAKkzC,iBAAmBlgC,EAAQmgC,YAChCnzC,KAAKozC,gBAAa,IAAWpgC,EAAQqgC,UAAYrgC,EAAQqgC,UAAY,EACrErzC,KAAKszC,eAAY,IAAWtgC,EAAQugC,SAAWvgC,EAAQugC,SAAW,GAClEvzC,KAAKwzC,cAAgB,EACrBxzC,KAAKyzC,WAAazzC,KAAK0zC,mBACvB1zC,KAAK2zC,aAAe,gBAAiB3gC,EAAUA,EAAQ4gC,YAAc,KACrE5zC,KAAK6zC,iBAAmB7gC,EAAQ8gC,iBAAmB,WACnD9zC,KAAK+zC,YAAc/gC,EAAQghC,WAC3Bh0C,KAAKi0C,UAAYjhC,EAAQkhC,SACzBl0C,KAAKm0C,eAAiB,QAAUrC,EAAwB9+B,EAAQohC,qBAAkB,IAAWtC,GAAwBA,GACrH,EAAIzuC,EAAU2C,MAAM,CAAC,YAAa,cAAe,mBAAoB,wBAAyB,gCAAgC,SAASkK,EAAG8yB,GAClIA,KAAchwB,GACdqtB,EAAMyS,GAAG9P,EAAWj4B,OAAO,EAAG,GAAG7C,cAAgB86B,EAAWj4B,OAAO,GAAIiI,EAAQgwB,OAGvFhjC,KAAKq0C,kBAAoB,IAAIzC,EAAmBvyC,QAChDW,KAAKs0C,SAETA,MAAO,WACHt0C,KAAKu0C,OAAS,GACdv0C,KAAKw0C,UAAY,GACjBx0C,KAAKy0C,aAAe,EACpBz0C,KAAK00C,WAAY,GACZ,EAAIh1C,EAAM0K,WAAWpK,KAAKi0C,aAC3Bj0C,KAAKi0C,WAAaj0C,KAAK20C,SAE3B30C,KAAK40C,aAAe50C,KAAKi0C,WAE7BjQ,QAAS,WACL,IAAI6Q,EACJ70C,KAAKkyC,OAAOtL,IAAI,aAAc5mC,KAAK2yC,gBACnC3yC,KAAKkyC,OAAOtL,IAAI,OAAQ5mC,KAAK2yC,gBAC7B3yC,KAAKgyC,gBAAgBhO,UACrB8Q,aAAa90C,KAAK4yC,8BACX5yC,KAAKkyC,OACZ,QAAU2C,EAAwB70C,KAAK+0C,wBAAqB,IAAWF,GAAiCA,EAAsBG,QAC9Hh1C,KAAKq0C,kBAAkBnY,YACvBl8B,KAAKi1C,WAAY,GAErBjC,oBAAqB,SAAShgC,GAC1B,IAAI3N,EAAS,GACTyoC,EAAQ,CAAC,OAAQ,SAAU,SAAU,QAAS,qBAC9CoH,EAAcl1C,KAAKkyC,OAAOiD,qBAM9B,OALID,IACApH,EAAQA,EAAMvvB,OAAO22B,KACxB,EAAI7xC,EAAU2C,MAAM8nC,GAAO,WACxBzoC,EAAOrF,MAAQgT,EAAQhT,SAEpBqF,GAEX+vC,YAAa,WACT,OAAOp1C,KAAK+yC,mBAEhBsC,MAAO,WACH,OAAOr1C,KAAKu0C,QAEhBlB,UAAW,SAASiC,GAChB,KAAK,EAAI51C,EAAMyI,WAAWmtC,GACtB,OAAOt1C,KAAKozC,WAEhBpzC,KAAKozC,WAAakC,EAClBt1C,KAAK40C,aAAe50C,KAAKi0C,WAE7BC,SAAU,SAASjvC,GACf,KAAK,EAAIvF,EAAM61C,WAAWtwC,GACtB,OAAOjF,KAAKi0C,UAEZj0C,KAAKi0C,YAAchvC,IACnBjF,KAAKi0C,UAAYhvC,EACjBjF,KAAKqzC,UAAU,KAGvBE,SAAU,SAAStuC,GACf,KAAK,EAAIvF,EAAMyI,WAAWlD,GACtB,OAAOjF,KAAKszC,UAEhBtzC,KAAKszC,UAAYruC,GAErBuwC,WAAY,WACR,OAAOx1C,KAAK40C,aAEhBa,gCAAiC,SAASzS,GACtC,IAAI8B,EAAS9kC,KACb,OAAO,SAAS0D,GACZ,IAAIgyC,GAAiB,EAAI7D,EAAQ8D,2CAA2CjyC,GAC5E,QAAI,IAAWgyC,EACX,OAAO5Q,EAAOiO,kBAAkB/P,GAEpC8B,EAAOiO,kBAAkB/P,GAAc0S,IAG/CpK,KAAM,WACF,IAAK,IAAIh7B,EAAOnQ,UAAUqB,OAAQkC,EAAO,IAAIkH,MAAM0F,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC7E7M,EAAK6M,GAAQpQ,UAAUoQ,GAE3B,OAAOvQ,KAAKy1C,gCAAgC,OAArCz1C,CAA6C0D,IAExDkQ,OAAQ,WACJ,IAAIgiC,GAAY,EAAI/D,EAAQ8D,2CAA2Cx1C,WACvE,QAAI,IAAWy1C,EACX,OAAO51C,KAAK+yC,kBAAkBn/B,OAElC5T,KAAK+yC,kBAAkBn/B,OAASgiC,EAChC51C,KAAKqzC,UAAU,IAEnBsB,MAAO,WACH,IAAK,IAAIkB,EAAQ11C,UAAUqB,OAAQkC,EAAO,IAAIkH,MAAMirC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAClFpyC,EAAKoyC,GAAS31C,UAAU21C,GAE5B,OAAO91C,KAAKy1C,gCAAgC,QAArCz1C,CAA8C0D,IAEzDqyC,OAAQ,WACJ,IAAK,IAAIC,EAAQ71C,UAAUqB,OAAQkC,EAAO,IAAIkH,MAAMorC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAClFvyC,EAAKuyC,GAAS91C,UAAU81C,GAE5B,OAAOj2C,KAAKy1C,gCAAgC,SAArCz1C,CAA+C0D,IAE1DwyC,kBAAmB,SAASjxC,GACxB,KAAK,EAAIvF,EAAM61C,WAAWtwC,GACtB,OAAOjF,KAAK+yC,kBAAkBmD,kBAElCl2C,KAAK+yC,kBAAkBmD,kBAAoBjxC,GAE/C2uC,YAAa,SAAS3uC,GAClB,GAAI9E,UAAUqB,OAAS,EACnB,OAAOxB,KAAK2zC,aAEhB3zC,KAAK2zC,aAAe1uC,EACpBjF,KAAKqzC,UAAU,IAEnBS,gBAAiB,SAASqC,GACtB,KAAK,EAAIz2C,EAAMoG,UAAUqwC,GACrB,OAAOn2C,KAAK6zC,iBAEhB7zC,KAAK6zC,iBAAmBsC,EACxBn2C,KAAKqzC,UAAU,IAEnBW,WAAY,SAASp6B,GACjB,IAAIw8B,EAAOj2C,UAAUqB,OACrB,GAAI,IAAM40C,EACN,OAAOp2C,KAAK+zC,YAEZqC,EAAO,IACPx8B,EAAO,GAAGtY,MAAMiB,KAAKpC,YAEzBH,KAAK+zC,YAAcn6B,EACnB5Z,KAAKqzC,UAAU,IAEnBlB,MAAO,WACH,OAAOnyC,KAAKkyC,QAEhB5vC,IAAK,WACD,IAAI+zC,EACJ,OAAO,QAAUA,EAAer2C,KAAKkyC,cAAW,IAAWmE,OAAe,EAASA,EAAa/zC,OAEpGg0C,WAAY,WACR,OAAOt2C,KAAKy0C,aAEhB8B,SAAU,WACN,OAAOv2C,KAAK00C,WAEhB8B,UAAW,WACP,OAAOx2C,KAAKwzC,cAAgB,GAEhCiD,aAAc,WACVz2C,KAAK02C,oBAAoB,IAE7BC,WAAY,WACR32C,KAAK02C,qBAAqB,IAE9BhD,iBAAkB,WACd,OAAO,EAAIvtB,EAAOyU,WAEtB8b,oBAAqB,SAASE,GAC1B,IAAIC,EAAa72C,KAAKw2C,YACtBx2C,KAAKwzC,eAAiBoD,EACtB,IAAIE,EAAa92C,KAAKw2C,YAClBK,EAAaC,GACb92C,KAAKgyC,gBAAgB+E,UAAU,iBAAkB,CAACD,KAG1DE,uBAAwB,SAASnb,GAC7B,IAAIuJ,EAASplC,KACbA,KAAKy2C,eACL5a,EAASP,QAAO,WACZ8J,EAAOuR,iBAGfM,uBAAwB,SAASpb,GAC7B,IAAIqb,EAASl3C,KACb67B,EAAS6C,MAAK,WACV,IAAK,IAAIyY,EAAQh3C,UAAUqB,OAAQkC,EAAO,IAAIkH,MAAMusC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAClF1zC,EAAK0zC,GAASj3C,UAAUi3C,GAExB1zC,EAAK,KAAOmuC,EAAQ5V,gBAGxBib,EAAOlF,gBAAgB+E,UAAU,YAAarzC,OAGtD2zC,aAAc,SAAS3zC,GACnB,IAAIoD,EAAO,IAAII,KACflH,KAAKgyC,gBAAgB+E,UAAU,UAAWrzC,GAC1C1D,KAAKoyC,aAAe,IAAIlrC,KAAOJ,GAEnCwwC,0BAA2B,SAASzb,GAChC,IAAI0b,EAASv3C,KACb67B,EAASyC,MAAK,WACV,OAAOiZ,EAAOF,mBAGtBG,WAAY,SAAS19B,EAAUC,GAC3B,IAAI09B,EAASz3C,KACTokB,EAAI,IAAI2W,EAAUyC,SAClBl7B,EAAMtC,KAAKsC,MACX6vC,EAAQnyC,KAAKkyC,OACbl/B,EAAUhT,KAAK03C,0BACfC,EAAa,SAAS/hC,KACjB,EAAIlW,EAAM0K,WAAWwL,KAAS,EAAIhH,EAAOswB,SAAStpB,GACnDwO,EAAE4X,OAAO,IAAIz8B,EAAQF,QAAQ0+B,OAAO97B,MAAM,WAErC2I,MAAM6P,QAAQ7E,KACfA,EAAO,CAACA,IAEZwO,EAAEqa,QAAQgZ,EAAOG,kBAAkBhiC,GAAM,MAGjD5V,KAAKi3C,uBAAuB7yB,GACxBjkB,UAAUqB,OAAS,IACnBuY,EAAYD,EACZA,EAAWxX,UAER0Q,EAAQ6kC,YACR7kC,EAAQ2hC,aACR3hC,EAAQ8kC,eACR9kC,EAAQqgC,iBACRrgC,EAAQ+kC,aACf,IAAIC,EAAmB,WACnB,OAAO7F,aAAiBT,EAAcryC,UAAY8yC,EAAM8F,iBAU5D,OAPQn+B,IAAaxX,GAAO01C,IACb7F,EAAM+F,MAAMn+B,EAAW/G,IAElCA,EAAQmlC,KAAO,EACfnlC,EAAQY,OAASZ,EAAQY,OAAS,CAACZ,EAAQY,OAAQ,CAACkG,EAAUC,IAAc,CAACD,EAAUC,GAChFo4B,EAAMiG,KAAKplC,KACjB0rB,KAAKta,EAAE4X,QAAQsC,KAAKqZ,GAClBvzB,EAAEua,WAEbyZ,KAAM,WACF,IAAIC,EAASr4C,KACTokB,EAAI,IAAI2W,EAAUyC,SAClB8a,EAAW,WACX,IAAID,EAAOpD,YAGN,EAAIpD,EAAQ0G,WAAWn0B,GAG5B,OAAOi0B,EAAOG,eAAeC,EAAer0B,IAEhDpkB,KAAKg3C,uBAAuB5yB,GAC5BpkB,KAAKi3C,uBAAuB7yB,GAC5BpkB,KAAKs3C,0BAA0BlzB,GAC/B,IAAIq0B,EAAgBz4C,KAAK04C,qBAAqBt0B,GAU9C,OATApkB,KAAKgyC,gBAAgB+E,UAAU,4BAA6B,CAAC0B,IAC7Dz4C,KAAKyzC,WAAWzjC,KAAI,WAMhB,MALI,kBAAoByoC,EAAcE,MAClCN,EAAOtD,kBAAmB,EAAIviC,EAAQomC,cAAcN,EAAUG,EAAcE,OAE5EL,IAEGl0B,EAAEua,aAENva,EAAEua,QAAQ,CACb7C,YAAa2c,EAAc3c,eAGnC4W,QAAS,SAAS9G,GACd,IAAIiN,EAAS74C,KACb,GAAIA,KAAKm0C,eACLn0C,KAAKo4C,WACF,CACHp4C,KAAKgyC,gBAAgB+E,UAAU,WAAY,CAAC,CACxCnL,QAASA,KAEb,IAAI+I,EAAQ30C,KAAK20C,QACbU,EAAQr1C,KAAKq1C,QACbyD,EAAa,EACbC,EAAoB/4C,KAAKk0C,YAAcS,EAAQ/I,EAAQh4B,QAAO,SAASzD,GACvE,MAAO,WAAaA,EAAKuF,QACxBk2B,EACD+I,IACAmE,EAAaluC,MAAM6P,QAAQk6B,GAASA,EAAMnzC,OAAS,GAEnDxB,KAAKizC,UACL8F,EAAkB1jC,SAAQ,SAASlF,GAC3B,WAAaA,EAAKuF,OAClBvF,EAAKyF,KAAOijC,EAAO5F,SAAS9iC,EAAKyF,WAG5C,EAAI67B,EAAauH,YAAY,CAC1BC,QAASj5C,KAAKmyC,QACdv8B,KAAMy/B,EACNzJ,QAASmN,EACTG,WAAYJ,EACZK,gBAAgB,IAEpBn5C,KAAKq3C,aAAa,CAAC,CACfzL,QAASA,OAIrB8M,qBAAsB,SAAS7c,GAC3B,IAAIud,EAASp5C,KACT87B,EAAc97B,KAAKq0C,kBAAkBrkC,IAAI6rB,GACzCwd,EAAmBr5C,KAAK03C,0BAI5B,OAHA7b,EAASP,QAAO,WACZ,OAAO8d,EAAO/E,kBAAkBjkC,OAAO0rB,MAEpC,CACHA,YAAaA,EACbud,iBAAkBA,IAG1BC,OAAQ,WACJ,IAAInH,EAAQnyC,KAAKmyC,QAKjB,OAJIA,aAAiBT,EAAcryC,SAC/B8yC,EAAMoH,oBAEVv5C,KAAKs0C,QACEt0C,KAAKo4C,QAEhBrc,OAAQ,SAASD,GACb,OAAO97B,KAAKq0C,kBAAkBtY,OAAOD,IAEzCI,UAAW,WACP,OAAOl8B,KAAKq0C,kBAAkBnY,aAElCsd,kBAAmB,SAASH,GACpBr5C,KAAKi1C,YAGLj1C,KAAKmyC,QAAQsH,kBACbz5C,KAAK05C,iBAAiBL,IAEtBA,EAAiBvF,gBAAkB9zC,KAAK6zC,iBACxCwF,EAAiBzF,YAAc5zC,KAAK2zC,aACpC0F,EAAiBrF,WAAah0C,KAAK+zC,eAG3C2D,wBAAyB,WACrB,IAAIryC,GAAS,EAAIoN,EAAQa,QAAQ,GAAItT,KAAK+yC,mBAS1C,OARA/yC,KAAKw5C,kBAAkBn0C,GACnBrF,KAAKi0C,WACDj0C,KAAKszC,YACLjuC,EAAOwyC,KAAO73C,KAAKozC,WAAapzC,KAAKszC,UACrCjuC,EAAO8yC,KAAOn4C,KAAKszC,WAG3BjuC,EAAOs0C,SAAW35C,KAAKw0C,UAChBnvC,GAEXq0C,iBAAkB,SAASL,GACvB,IAAIp0C,EAAQjF,KAAK2zC,aACbwC,EAAKn2C,KAAK6zC,iBACVliB,EAAW3xB,KAAK+zC,YAChB6F,EAAe,GACd30C,IAGA0sB,IACDA,EAAW,QAEV/mB,MAAM6P,QAAQkX,KACfA,EAAW,CAACA,KACf,EAAItuB,EAAU2C,MAAM2rB,GAAU,SAAS7wB,EAAGqP,GACnCypC,EAAap4C,QACbo4C,EAAal4C,KAAK,MAEtBk4C,EAAal4C,KAAK,CAACyO,EAAMgmC,EAAIlxC,OAE7Bo0C,EAAiBzlC,OACjBylC,EAAiBzlC,OAAS,CAACgmC,EAAcP,EAAiBzlC,QAE1DylC,EAAiBzlC,OAASgmC,IAGlCpB,eAAgB,SAASpD,EAAayE,GAClC,IAAIC,EAAU95C,KACV+5C,EAAgB,SAASnkC,EAAM2oB,GAC/B,IAAIub,EAAQ7E,YAGP,EAAIpD,EAAQ0G,WAAWsB,GAA5B,CAGA,IAAIG,GAAa,EAAIvnC,EAAQa,SAAQ,EAAIu+B,EAAQoI,qBAAqBrkC,EAAM2oB,GAAQ6W,GACpF0E,EAAQ9H,gBAAgB+E,UAAU,sBAAuB,CAACiD,KAC1D,EAAIjf,EAAUM,MAAM2e,EAAWpkC,MAAM0oB,MAAK,SAAS1oB,GAC/CokC,EAAWpkC,KAAOA,EAClBkkC,EAAQI,wBAAwBF,EAAYH,MAC7Cnb,KAAKmb,EAAgB7d,UAE5B,OAAIoZ,EAAYx/B,MACJ,IAAImlB,EAAUyC,UAAUiB,QAAQ2W,EAAYx/B,MAAM0oB,KAAKyb,GAE5D/5C,KAAKmyC,QAAQiG,KAAKhD,EAAYiE,kBAAkB/a,KAAKyb,GAAerb,KAAKmb,EAAgB7d,SAEpGke,wBAAyB,SAASF,EAAYH,GAC1C,IAAIM,EAAUn6C,KACV4V,EAAOokC,EAAWpkC,KAClB2oB,EAAQyb,EAAWzb,MACnB8a,EAAmBW,EAAWX,iBAC9Be,EAAyB,WAGzB,OAFAD,EAAQzF,WAAY,EACpByF,EAAQ1F,YAAc7U,SAASrB,EAAM+X,YAAc/X,EAAM+X,YAAc,EAChEuD,EAAgBpb,QAAQ7oB,EAAM2oB,IAQrCv+B,KAAKi1C,YAGTr/B,EAAO5V,KAAKq6C,0BAA0Br6C,KAAK43C,kBAAkBhiC,KACxD,EAAIlW,EAAMkc,eAAe2iB,KAC1BA,EAAQ,IAEZv+B,KAAKu0C,OAAS3+B,IACTA,EAAKpU,SAAWxB,KAAKi0C,WAAaj0C,KAAKszC,WAAa19B,EAAKpU,OAASxB,KAAKszC,aACxEtzC,KAAK40C,aAAc,GAEnByE,EAAiBnD,oBAAsBtW,SAASrB,EAAM+X,YAhBtD6D,EAAQhI,QAAQmE,WAAW+C,GAAkB/a,MAAK,SAAS54B,GACvD64B,EAAM+X,WAAa5wC,EACnB00C,OACD1b,KAAKmb,EAAgB7d,QAgBxBoe,MAGRxC,kBAAmB,SAAShiC,GACxB,OAAI5V,KAAKizC,UACE,EAAIpB,EAAQyI,2BAA2B1kC,EAAM5V,KAAKizC,SAAUjzC,KAAK20C,SAErE/+B,GAEXykC,0BAA2B,SAASzkC,GAChC,OAAI5V,KAAKkzC,iBACElzC,KAAKkzC,iBAAiBt9B,GAE1BA,GAEXk9B,GAAI,SAASyH,EAAWC,GAEpB,OADAx6C,KAAKgyC,gBAAgBc,GAAGyH,EAAWC,GAC5Bx6C,MAEX4mC,IAAK,SAAS2T,EAAWC,GAErB,OADAx6C,KAAKgyC,gBAAgBpL,IAAI2T,EAAWC,GAC7Bx6C,QAGfZ,EAAQ6Z,WAAaA,G,iCCjkBrB7Z,EAAQC,aAAU,EAClB,IAAIwR,EAAeC,EAAuBtR,EAAQ,KAC9C28B,EAAuBrrB,EAAuBtR,EAAQ,MACtDqP,EAAUrP,EAAQ,IAClBwR,EAAaF,EAAuBtR,EAAQ,MAEhD,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIwQ,EAAY,GAIZ2qC,GAAiB,EAAIzpC,EAAW3R,UAAS,WACzC,IAAI+R,EAAiBP,EAAaxR,QAAQ0S,OAAOlB,EAAaxR,QAAQuyB,cAAe,oBAAoB,WACrG8oB,EAAerqC,OACfe,UAGJspC,EAAiB,CACjB1qC,IAAK,SAASgnB,GACV,IAAI2jB,GAAe,EAAI9rC,EAAQE,aAC3B4rC,IAXD,aAAe9pC,EAAaxR,QAAQu7C,iBAAmB,YAAc/pC,EAAaxR,QAAQu7C,kBAAoB/pC,EAAaxR,QAAQk0B,qBAAqBsnB,UAYvJ7jB,KAEAlnB,EAAUpO,KAAKs1B,GACf2jB,GAAgBF,MAGxBpqC,KAAM,WACFP,EAAUuF,SAAQ,SAAS2hB,GACvB,OAAOA,OAEXlnB,EAAY,KAGhB5M,GAAW,EAAIi5B,EAAqB98B,SAASq7C,GACjDt7C,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCCxCzBD,EAAQ07C,sBAAmB,EAC3B,IAAIhkC,EAAYhG,EAAuBtR,EAAQ,KAC3C2e,EAAiB3e,EAAQ,KACzB+mC,EAAiBz1B,EAAuBtR,EAAQ,KAChDu7C,EAAgBjqC,EAAuBtR,EAAQ,MAC/CE,EAAQF,EAAQ,IAEpB,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAUnB,SAAS2E,EAAgBM,EAAGC,GAKxB,OAJAP,EAAkBhD,OAAOwD,gBAAkB,SAASF,EAAGC,GAEnD,OADAD,EAAEG,UAAYF,EACPD,IAEYA,EAAGC,GAE9B,IAAIw2C,EAkCO,SAASC,EAAShR,EAAaiR,EAAQC,EAAWnkB,GACrD,IAAIokB,EACAC,EAnCU,SAASzlC,EAAMq0B,EAAajT,GAC1C,OAAOiT,GAAY,WACf,OAAOr0B,IACRohB,GAgCiBskB,CAAYL,EAAShR,GAAa,SAASsR,GAC3DH,GAAiBA,KACb,EAAI17C,EAAM87C,aAAaD,GACvBvkB,EAASukB,GAGbH,EApCU,SAASxlC,EAAMq0B,EAAaiR,EAAQC,EAAWnkB,GAC7D,IAAIykB,EAAe,GACfC,EAAeR,EAAO55C,QACtBq6C,EAAgBT,EAAO18B,KAAI,SAAS3d,GACpC,IAAI+6C,EAAcT,EAAUt6C,GAC5B,OAAOopC,EAAY2R,EAAc,WAC7B,OAAOA,EAAYhmC,IACnB,WACA,OAAOA,EAAK/U,KACb,SAASoE,GAER,GADAw2C,EAAa56C,GAAQoE,EACjBy2C,EAAal6C,OAAQ,CACrB,IAAI6N,EAAQqsC,EAAaplC,QAAQzV,GAC7BwO,GAAS,GACTqsC,EAAahsC,OAAOL,EAAO,GAG9BqsC,EAAal6C,QACdw1B,EAASykB,SAIrB,OAAO,WACHE,EAActmC,SAAQ,SAAS2uB,GAC3B,OAAOA,QAYK6X,CAAYN,EAAmBtR,EAAaiR,EAAQC,EAAWnkB,MAEnF,OAAO,WACHokB,GAAiBA,IACjBC,GAAiBA,MAIzBP,EAAmB,SAAS5a,GA/DhC,IAAwBC,EAAUC,EAkE9B,SAAS0a,EAAiB37B,EAAQ+7B,EAAQjR,EAAakR,GACnD,IAAI9a,EAMJ,OALAA,EAAQH,EAAc39B,KAAKvC,OAASA,MAC9Bkf,QAAUC,EAChBkhB,EAAMyb,QAAUZ,EAChB7a,EAAM0b,WAAaZ,GAAa,GAChC9a,EAAM2b,aAAe/R,EACd5J,EAaX,OAtF8BD,EAgEGF,GAhEbC,EAgEL2a,GA/DNr6C,UAAYQ,OAAO25B,OAAOwF,EAAW3/B,WAC9C0/B,EAAS1/B,UAAUmC,YAAcu9B,EACjCl8B,EAAgBk8B,EAAUC,GAwEb0a,EAAiBr6C,UACvB8/B,YAAc,SAASvtB,GAC1B,IAAI8xB,EAAS9kC,KACTi8C,GAAa,EAAInlC,EAAUzX,SAAS2T,EAAQgK,WAC5CgnB,EAAUgX,EAAahoC,EAAQsM,MAAOtf,KAAKg8C,aAAch8C,KAAK87C,QAAS97C,KAAK+7C,YAAY,SAASnmC,GACjGqmC,EAAWn1B,QACXge,EAAO5lB,QAAQ+8B,EAAYrmC,EAAM5C,EAAQsM,UAG7C,OADAinB,EAAelnC,QAAQyzC,GAAGmJ,EAAYlB,EAAc17C,QAAS2kC,GACtDiY,EAAW39B,YAEfw8B,EAvBY,CAwBrB38B,EAAe2B,cACjB1gB,EAAQ07C,iBAAmBA,G,iCCrG3B17C,EAAQC,aAAU,EAClB,IAAI68C,EAASprC,EAAuBtR,EAAQ,MACxCD,EAAUuR,EAAuBtR,EAAQ,MAE7C,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAI68C,EAAW,GACXpe,GAAS,EAAIme,EAAO78C,SAASE,EAAQF,QAAQ+8C,eAAgB,CAC7DC,MAAO,yBACPC,MAAO,kDACPC,MAAO,6CACPC,MAAO,wCACPC,MAAO,2DACPC,MAAO,qDACPC,MAAO,4CACPC,MAAO,yCACPC,MAAO,kDACPC,MAAO,4BACPC,MAAO,gDACPC,MAAO,mEACPC,MAAO,oDACPC,MAAO,oEACPC,MAAO,qDACPC,MAAO,4CACPC,MAAO,6EACPC,MAAO,0BACPC,MAAO,qFACPC,MAAO,sFACPC,MAAO,sCACPC,MAAO,4DACPC,MAAO,4DACPC,MAAO,yCACPC,MAAO,0EACPC,MAAO,2DACPC,MAAO,iGACPC,MAAO,2EAUX,IAWI96C,EALJi5C,EAAW,CACPpe,OAAQA,EACRH,aARe,KASfC,cARgB,SAASH,GACrBye,EAASve,cACTue,EAASve,aAAaF,KAS9Bt+B,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,gCC3DzB,SAAS8/B,EAAQ7/B,GAEb,OAAO6/B,EAAU,mBAAqBC,QAAU,iBAAmBA,OAAOC,SAAW,SAAS//B,GAC1F,cAAcA,GACd,SAASA,GACT,OAAOA,GAAO,mBAAqB8/B,QAAU9/B,EAAIsD,cAAgBw8B,QAAU9/B,IAAQ8/B,OAAO3+B,UAAY,gBAAkBnB,IACjHA,GARfF,EAAQsW,KAAOtW,EAAQuD,SAAWvD,EAAQ0G,SAAW1G,EAAQqgB,WAAargB,EAAQ6+C,UAAY7+C,EAAQo8C,YAAcp8C,EAAQwc,cAAgBxc,EAAQ2G,SAAW3G,EAAQ+I,UAAY/I,EAAQiU,WAAajU,EAAQ2jB,cAAgB3jB,EAAQ8+C,QAAU9+C,EAAQyU,cAAgBzU,EAAQgL,UAAYhL,EAAQ++C,WAAa/+C,EAAQ+J,OAAS/J,EAAQm2C,eAAY,EAUxV,IAAI6I,EAAQ,CACR,iBAAkB,QAClB,gBAAiB,OACjB,kBAAmB,SACnB,kBAAmB,SACnB,gBAAiB,QAEjB1oC,EAAO,SAAS0rB,GAChB,IAAIid,EAAep9C,OAAOR,UAAUiiB,SAASngB,KAAK6+B,GAClD,MAAO,WAAajC,EAAQiC,GAAUgd,EAAMC,IAAiB,SAAWlf,EAAQiC,IAEpFhiC,EAAQsW,KAAOA,EAIftW,EAAQm2C,UAHQ,SAASnU,GACrB,MAAO,mBAAqBA,GAMhChiC,EAAQ2jB,cAHY,SAAS9d,GACzB,OAAOkD,EAAUlD,KAA6C,IAAnCA,EAAMyd,WAAWpM,QAAQ,MAMxDlX,EAAQ+J,OAHK,SAASi4B,GAClB,MAAO,SAAW1rB,EAAK0rB,IAM3BhiC,EAAQgL,UAHQ,SAASg3B,GACrB,OAAO,OAASA,QAAU,IAAWA,GAGzC,IAAI/tB,EAAa,SAAS+tB,GACtB,MAAO,oBAAsBA,GAEjChiC,EAAQiU,WAAaA,EAIrBjU,EAAQ0G,SAHO,SAASs7B,GACpB,MAAO,kBAAoBA,GAG/B,IAAIj5B,EAAY,SAASi5B,GACrB,MAAO,kBAAoBA,GAAUxB,SAASwB,KAAYzM,MAAMyM,EAAShe,WAAWge,KAExFhiC,EAAQ+I,UAAYA,EAIpB/I,EAAQ2G,SAHO,SAASq7B,GACpB,MAAO,WAAa1rB,EAAK0rB,IAU7BhiC,EAAQyU,cAPY,SAASutB,GACzB,IAAIsK,EACJ,IAAKA,KAAYtK,EACb,OAAO,EAEX,OAAO,GAWXhiC,EAAQwc,cARY,SAASwlB,GACzB,IAAKA,GAAU,oBAAsBngC,OAAOR,UAAUiiB,SAASngB,KAAK6+B,GAChE,OAAO,EAEX,IAAIkd,EAAQr9C,OAAOc,eAAeq/B,GAC9B3/B,EAAOR,OAAOC,eAAeqB,KAAK+7C,EAAO,gBAAkBA,EAAM17C,YACrE,MAAO,oBAAsBnB,GAAQR,OAAOyhB,SAASngB,KAAKd,KAAUR,OAAOyhB,SAASngB,KAAKtB,SAM7F7B,EAAQo8C,YAHU,SAASv2C,GACvB,OAAiE,IAA1D,CAAC,SAAU,QAAS,YAAYqR,QAAQZ,EAAKzQ,KAMxD7F,EAAQuD,SAHO,SAASy+B,GACpB,OAAO,MAAQA,GAAUA,IAAWA,EAAO9vB,QAM/ClS,EAAQqgB,WAHS,SAAS2hB,GACtB,SAAUA,EAAOmd,SAAUnd,EAAOrP,aAMtC3yB,EAAQ6+C,UAHQ,SAAS7c,GACrB,OAAOA,GAAU/tB,EAAW+tB,EAAOhG,OAMvCh8B,EAAQ++C,WAHS,SAAS/c,GACtB,OAAOA,GAAU/tB,EAAW+tB,EAAO9C,OAASjrB,EAAW+tB,EAAO1C,OAMlEt/B,EAAQ8+C,QAHM,SAAS9c,GACnB,SAAUA,IAAUA,EAAOod,kB,gCC3F/B,IAEgCl/C,EAHhCF,EAAQC,aAAU,EAQlB,IAAI6D,IAL4B5D,EAFYE,EAAQ,QAGlCF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,IAGWD,QAAQkQ,MACtCnQ,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCCVzBD,EAAQC,QAYR,SAAkB+hC,GACd,IAAIqd,EAAYrlC,EAAO/Z,QAAQoD,QAAQ2+B,GACnCsd,EAAgBD,EAChB57C,EAAW,IAAI67C,EAActd,GAC7Bud,EAAgB,GAChBC,EAAe,SAASC,EAAiBna,IACzC,EAAIrhC,EAAU2C,MAAM64C,GAAiB,SAASv8C,IACtC,EAAI5C,EAAM2T,YAAYxQ,EAASP,KAC3BoiC,GAAYtD,EAAO9+B,KACnB8+B,EAAO9+B,GAAO,WACV,OAAOO,EAASP,GAAKpC,MAAMkhC,EAAQjhC,cAIvCukC,IACAia,EAAcr8C,GAAO8+B,EAAO9+B,IAEhC8+B,EAAO9+B,GAAOO,EAASP,QAenC,OAXAs8C,EAAaxd,GAAQ,GACrBA,EAAO0d,OAAS,SAASD,GACrBH,EAAgBA,EAAcj8C,QAAQo8C,GACtCh8C,EAAW,IAAI67C,EACfE,EAAaC,IAEjBzd,EAAO2d,eAAiB,YACpB,EAAItsC,EAAQa,QAAQ8tB,EAAQud,GAC5BD,EAAgBD,EAChB57C,EAAW,IAAI47C,GAEZrd,GA3CX,IAKgC9hC,EAL5BmT,EAAUjT,EAAQ,IAClBE,EAAQF,EAAQ,IAChB6D,EAAY7D,EAAQ,IACpB4Z,GAE4B9Z,EAFIE,EAAQ,OAG1BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAsCnB6D,EAAO/D,QAAUA,EAAQC,S,iCC9CzBD,EAAQu2C,0CAA4Cv2C,EAAQ66C,oBAAsB76C,EAAQ2yC,2BAA6B3yC,EAAQk7C,0BAA4Bl7C,EAAQm5C,UAAYn5C,EAAQ68B,oBAAiB,EACxM,IAAI+iB,EAAQluC,EAAuBtR,EAAQ,MACvCy/C,EAAkBnuC,EAAuBtR,EAAQ,MACjD0/C,EAAepuC,EAAuBtR,EAAQ,MAC9C6D,EAAY7D,EAAQ,IACpBkyC,EAAgB5gC,EAAuBtR,EAAQ,MAC/CiT,EAAUjT,EAAQ,IAClBE,EAAQF,EAAQ,IAChBi8B,EAAS3qB,EAAuBtR,EAAQ,MACxC2/C,EAAY,CAAC,SAEjB,SAASruC,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAInB,SAAS6hC,EAAQC,EAAQC,GACrB,IAAInyB,EAAOjO,OAAOiO,KAAKkyB,GACvB,GAAIngC,OAAOqgC,sBAAuB,CAC9B,IAAIC,EAAUtgC,OAAOqgC,sBAAsBF,GAC3CC,IAAmBE,EAAUA,EAAQ3tB,QAAO,SAAS4tB,GACjD,OAAOvgC,OAAOwgC,yBAAyBL,EAAQI,GAAKhuB,eACnDtE,EAAKxN,KAAKxB,MAAMgP,EAAMqyB,GAE/B,OAAOryB,EAGX,SAASg2B,EAAc7N,GACnB,IAAK,IAAIv2B,EAAI,EAAGA,EAAIX,UAAUqB,OAAQV,IAAK,CACvC,IAAIsB,EAAS,MAAQjC,UAAUW,GAAKX,UAAUW,GAAK,GACnDA,EAAI,EAAIqgC,EAAQlgC,OAAOmB,IAAS,GAAIiT,SAAQ,SAAS/S,GACjDqR,EAAgB0jB,EAAQ/0B,EAAKF,EAAOE,OACnCrB,OAAO+jC,0BAA4B/jC,OAAOgkC,iBAAiB5N,EAAQp2B,OAAO+jC,0BAA0B5iC,IAAW++B,EAAQlgC,OAAOmB,IAASiT,SAAQ,SAAS/S,GACzJrB,OAAOsS,eAAe8jB,EAAQ/0B,EAAKrB,OAAOwgC,yBAAyBr/B,EAAQE,OAGnF,OAAO+0B,EAGX,SAAS1jB,EAAgBrU,EAAKgD,EAAK2C,GAW/B,OAVI3C,KAAOhD,EACP2B,OAAOsS,eAAejU,EAAKgD,EAAK,CAC5B2C,MAAOA,EACPuO,YAAY,EACZC,cAAc,EACdC,UAAU,IAGdpU,EAAIgD,GAAO2C,EAER3F,EAGX,SAAS8/C,EAAyBh9C,EAAQi9C,GACtC,GAAI,MAAQj9C,EACR,MAAO,GAEX,IACIE,EAAKxB,EADLu2B,EAkBR,SAAuCj1B,EAAQi9C,GAC3C,GAAI,MAAQj9C,EACR,MAAO,GAEX,IAEIE,EAAKxB,EAFLu2B,EAAS,GACTioB,EAAar+C,OAAOiO,KAAK9M,GAE7B,IAAKtB,EAAI,EAAGA,EAAIw+C,EAAW99C,OAAQV,IAC/BwB,EAAMg9C,EAAWx+C,GACbu+C,EAAS/oC,QAAQhU,IAAQ,IAG7B+0B,EAAO/0B,GAAOF,EAAOE,IAEzB,OAAO+0B,EAhCMkoB,CAA8Bn9C,EAAQi9C,GAEnD,GAAIp+C,OAAOqgC,sBAAuB,CAC9B,IAAIke,EAAmBv+C,OAAOqgC,sBAAsBl/B,GACpD,IAAKtB,EAAI,EAAGA,EAAI0+C,EAAiBh+C,OAAQV,IACrCwB,EAAMk9C,EAAiB1+C,GACnBu+C,EAAS/oC,QAAQhU,IAAQ,GAGxBrB,OAAOR,UAAUg/C,qBAAqBl9C,KAAKH,EAAQE,KAGxD+0B,EAAO/0B,GAAOF,EAAOE,IAG7B,OAAO+0B,EAoBXj4B,EAAQ68B,eADa,WAKrB78B,EAAQm5C,UAHQ,SAAS1c,GACrB,MAAO,YAAcA,EAAS6jB,SAYlCtgD,EAAQu2C,0CATwC,SAASgK,GACrD,OAAQA,EAAkBn+C,QACtB,KAAK,EACD,OACJ,KAAK,EACD,OAAOm+C,EAAkB,GAEjC,MAAO,GAAGr+C,MAAMiB,KAAKo9C,IAGzB,IAAIC,EAAW,SAASjL,EAAOkL,EAAOC,GAClC,OAAO,EAAIz8C,EAAUmb,KAAKm2B,GAAO,SAASxkC,GAEtC,OAAO+0B,EAAcA,EAAc,IADnB/0B,EAAKklC,MAAO+J,EAAyBjvC,EAAMgvC,KACT,GAAI,CAClD9J,MAAO0K,EAAa5vC,EAAKklC,MAAOwK,EAAQ,EAAGC,SAInDC,EAAe,SAAS1K,EAAOwK,EAAOC,GACtC,OAAKl1C,MAAM6P,QAAQ46B,GAGZwK,EAAQD,EAASvK,EAAOwK,EAAOC,IAAU,EAAIz8C,EAAUmb,KAAK62B,EAAOyK,GAF/DzK,GAQfj2C,EAAQk7C,0BAJwB,SAASjF,EAAOyK,EAAQE,GACpD,IAAIH,EAAQG,EAAYvkB,EAAOp8B,QAAQmuC,qBAAqBwS,GAAWx+C,OAAS,EAChF,OAAOu+C,EAAa1K,EAAOwK,EAAOC,IAiBtC1gD,EAAQ66C,oBAdkB,SAASrkC,EAAM2oB,GACrC,IAAI7rB,EAQJ,OAPI,QAAUA,EAAQkD,SAAS,IAAWlD,GAASA,EAAMkD,OACrD2oB,EAAQ3oB,EACRA,EAAOA,EAAKA,MAEXhL,MAAM6P,QAAQ7E,KACfA,EAAO,CAACA,IAEL,CACHA,KAAMA,EACN2oB,MAAOA,IAIf,IAaI0hB,EAA2B,SAASnjB,EAAKojB,GACzC,OAAO,IAAIxO,EAAcryC,QAAQ,CAC7B+4C,KAAM,WACF,OAAO4G,EAAM3/C,QAAQ8gD,YAAY,CAC7BrjB,IAAKA,EACLsjB,SAAU,UAGlBC,SAAU,OAASH,QAAwB,IAAWA,OAAuB,EAASA,EAAqBI,mBAuCnHlhD,EAAQ2yC,2BApCyB,SAAS/+B,EAASktC,GAC/C,IAAI/N,EAiCJ,MAhCI,kBAAoBn/B,IACpBA,EAAU,CACNkhC,UAAU,EACV/B,MAAO8N,EAAyBjtC,EAASktC,UAG7C,IAAWltC,IACXA,EAAU,SASV,KANAA,EADApI,MAAM6P,QAAQzH,IAAYA,aAAmBisC,EAAgB5/C,QACnD,CACN8yC,MAAOn/B,IAGD,EAAIP,EAAQa,QAAQ,GAAIN,IAEfm/B,QACnBn/B,EAAQm/B,MAAQ,IAEpBA,EAAQn/B,EAAQm/B,MACZ,SAAUn/B,EACVm/B,EA/C4B,SAASn/B,GACzC,IAAIutC,EAAc,GAKlB,OAJA,EAAIl9C,EAAU2C,MAAM,CAAC,mBAAoB,MAAO,OAAQ,WAAY,eAAgB,QAAS,SAAU,aAAc,SAAU,SAAU,WAAW,WAChJu6C,EAAYvgD,MAAQgT,EAAQhT,aACrBgT,EAAQhT,SAEZ,IAAI0xC,EAAcryC,QAAQkhD,GAyCrBC,CAA8BxtC,GAElCpI,MAAM6P,QAAQ03B,GACdA,EAAQ,IAAI+M,EAAa7/C,QAAQ8yC,IAE7B,EAAIzyC,EAAMkc,eAAeu2B,KACzBA,EA7CY,SAASoO,GACjC,IAAI1c,EAAQ0c,EAAY7qC,KAExB,cADO6qC,EAAY7qC,KACZupC,EAAgB5/C,QAAQu7B,OAAOiJ,EAAO0c,GA0CzBE,EAAsB,EAAIhuC,EAAQa,QAAQ,GAAI6+B,KAIlEn/B,EAAQm/B,MAAQA,EACTn/B,I,iCCxMX5T,EAAQC,aAAU,EAClB,IAAI07B,EAAYv7B,EAAQ,IACpBqP,EAAUrP,EAAQ,IAClBm/B,GAAU,EAAI9vB,EAAQE,cAAe,EAAIF,EAAQG,aAAa0xC,QAAUA,QACvE/hB,KACDA,EAAU,SAASgiB,GACf,IAAIv8B,EAAI,IAAI2W,EAAUyC,SAEtB,OADAmjB,EAASv8B,EAAEqa,QAAQt9B,KAAKnB,MAAOokB,EAAE4X,OAAO76B,KAAKnB,OACtCokB,EAAEua,YAELF,QAAU,SAAS1I,GACvB,OAAQ,IAAIgF,EAAUyC,UAAUiB,QAAQ1I,GAAK4I,WAEjDA,EAAQ3C,OAAS,SAASjG,GACtB,OAAQ,IAAIgF,EAAUyC,UAAUxB,OAAOjG,GAAK4I,WAEhDA,EAAQiiB,IAAM,SAASjY,GACnB,OAAO5N,EAAUM,KAAKn7B,MAAMF,KAAM2oC,GAAUvN,MAAK,WAC7C,MAAO,GAAG95B,MAAMiB,KAAKpC,gBAIjC,IAAI+C,EAAWy7B,EACfv/B,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCCxBzBD,EAAQC,aAAU,EAClB,IAAIyX,EAAYhG,EAAuBtR,EAAQ,KAC3C6X,EAAUvG,EAAuBtR,EAAQ,MACzCD,EAAUuR,EAAuBtR,EAAQ,MACzCqhD,EAAoB/vC,EAAuBtR,EAAQ,OACnDshD,EAAahwC,EAAuBtR,EAAQ,MAC5CypC,EAAoBzpC,EAAQ,MAC5BuhD,EAAoBvhD,EAAQ,KAC5B6xB,EAAgB7xB,EAAQ,KACxB6D,EAAY7D,EAAQ,IACpBiT,EAAUjT,EAAQ,IAClB8gC,EAAW9gC,EAAQ,KACnBgT,EAAUhT,EAAQ,IAClBoP,EAASpP,EAAQ,IACjBE,EAAQF,EAAQ,IAChBqP,EAAUrP,EAAQ,IAClBwhD,EAASxhD,EAAQ,KAErB,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAI0C,EAAW8+C,EAAWzhD,QAAQ2C,SAC9Bi/C,EAAeH,EAAWzhD,QAAQoD,QAAQ,CAC1Cy+C,mBAAoB,WAChB,OAAO,EAAIzuC,EAAQa,QAAQtT,KAAKC,WAAY,CACxCsR,WAAO,EACPE,YAAQ,EACR8F,YAAY,EAAIF,EAAQhY,WAAWkY,WACnC4pC,YAAa,GACbC,UAAU,EACVpX,mBAAoB,IACrBhqC,KAAKqhD,gBAAkBpY,EAAkBF,gBAAgBgB,uBAAyB,KAEzFtoC,KAAM,SAASgP,EAASuC,GACpBhT,KAAKshD,aAAe,KACpBthD,KAAK6pC,eAAep5B,IACpB,EAAIswC,EAAkBQ,yBAAyBvhD,KAAKwhD,UAAWxhD,KAAMA,KAAKyhD,UAC1EzhD,KAAKC,SAAS+S,IAElB62B,eAAgB,SAASp5B,GACrBzQ,KAAKwhD,WAAY,EAAI1qC,EAAUzX,SAASoR,IAE5CixC,4CAA6C,WACzC,MAAO,CAAC,aAAc,WAAY,kCAEtCC,mBAAoB3/C,EACpB4/C,kBAAmB5/C,EACnBsyC,MAAO,WACHt0C,KAAKC,WACLD,KAAK6hD,8BACL7hD,KAAK8hD,wBAETC,oBAAqB,SAASC,GAC1BhiD,KAAKC,SAAS,GAAGse,OAAOve,KAAK4C,YAAYq/C,mBAAqB,GAAID,GAAuB,MAE7FE,sBAAuB,SAASrhD,GAE5B,QADqBb,KAAK4C,YAAYq/C,mBAAqBhhD,OAAOR,UAAUS,eAAeqB,KAAKvC,KAAKmiD,uBAAuBniD,KAAK4C,YAAYq/C,mBAAoBphD,KACvIb,KAAKC,SAASY,IAE5CghD,4BAA6B,WACzB,GAAI7hD,KAAKoiD,8BAA+B,CACpC,IAAIC,EAAuBriD,KAAKsiD,sBAAwBtiD,KAAK4hD,kBAAkBzgD,KAAKnB,MACpF6gD,EAAkBxhD,QAAQ2Q,IAAIqyC,KAGtCD,4BAA6B,WACzB,OAAOpiD,KAAK4hD,oBAAsB5/C,GAEtCugD,iBAAkB,WACdviD,KAAKwiD,eACL,EAAI3zC,EAAQE,cAAgB/O,KAAKkf,WAErCsjC,YAAa,WACT,IACIjrC,GADOvX,KAAKmjC,UAAY,IACN5rB,WACtBvX,KAAKyiD,2BACLziD,KAAK0iD,oBAAoBnrC,GACzBvX,KAAK2iD,0BACL3iD,KAAK4iD,qBAET1jC,QAAS,WACLlf,KAAK6iD,mCAETJ,yBAA0B,WACtB,IACItB,GADQnhD,KAAKmjC,UAAY,IACLge,YACpB2B,GAAa,EAAIrwC,EAAQa,QAAQ,GAAI6tC,GACrCluB,EAAa6vB,EAAWC,aACrBD,EAAWC,MAClB/iD,KAAKstB,WAAW5O,KAAKokC,GAAY/vB,YAAY/yB,KAAKshD,cAAczuB,SAASI,GACzEjzB,KAAKshD,aAAeruB,GAExB0vB,wBAAyB,YACjB3iD,KAAKoiD,+BACLpiD,KAAKgjD,iCAELhjD,KAAKijD,iCACUjjD,KAAKstB,WACXuF,SAAS,iCAG1B+vB,kBAAmB,WACf,IAAIt1B,EAAWttB,KAAKstB,WAChB7c,EAAU6c,EAAS/d,IAAI,GACvBgC,EAAQvR,KAAKkjD,gBAAgB,QAASzyC,GACtCgB,EAASzR,KAAKkjD,gBAAgB,SAAUzyC,GACxCzQ,KAAKmjD,qBAAqB1yC,EAASgB,EAAQF,IAC3C+b,EAASvW,IAAI,CACTxF,MAAO,OAASA,EAAQ,GAAKA,EAC7BE,OAAQ,OAASA,EAAS,GAAKA,KAI3C0xC,qBAAsB,SAAS1yC,EAASgB,EAAQF,GAC5C,UAAU,EAAI7R,EAAM0K,WAAWmH,KAAU,EAAI7R,EAAM0K,WAAWqH,IAAWhB,EAAQikB,MAAMnjB,OAASd,EAAQikB,MAAMjjB,SAElHuxC,+BAAgC,WAC5B,IAAI3iB,EAAQrgC,KACRuqC,EAAMvqC,KAAKstB,WACX81B,EAAY,GAAG7kC,OAAOve,KAAKqjD,KAAM,oBACrCrC,EAAOsC,OAAO1c,IAAI2D,EAAK,CACnB6Y,UAAWA,IAEfpC,EAAOsC,OAAOxQ,GAAGvI,GAAK,WAClB,OAAOlK,EAAMuhB,sBACd,CACCwB,UAAWA,KAGnBP,gCAAiC,WAC7B,IAAI/d,EAAS9kC,KACb,GAAIA,KAAKijD,+BAAgC,CACrC,IAAI1Y,EAAMvqC,KAAKstB,WACX81B,EAAY,GAAG7kC,OAAOve,KAAKqjD,KAAM,oBACrCrjD,KAAKujD,WAAavjD,KAAKwjD,aACvBxC,EAAO5xB,WAAWwX,IAAI2D,EAAK,CACvB6Y,UAAWA,IAEfpC,EAAO5xB,WAAW0jB,GAAGvI,GAAK,WACtB,OAAOzF,EAAO2e,wBAAwB,YACvC,WACC,OAAO3e,EAAO2e,wBAAwB,YACvC,CACCL,UAAWA,MAIvBI,WAAY,WAER,OADexjD,KAAKstB,WACJH,GAAG,aAEvBs2B,wBAAyB,SAASC,GACd1jD,KAAKwjD,eAEb,WAAaE,GAAW1jD,KAAKujD,UAIzB,UAAYG,GAAU1jD,KAAKujD,YAC3BvjD,KAAKujD,WAAY,EACjBvjD,KAAK2hD,oBAAmB,KAL5B3hD,KAAK2hD,oBAAmB,GACxB3hD,KAAKujD,WAAY,KAS7BN,6BAA8B,WAC1B,OAAOjjD,KAAK2hD,qBAAuB3/C,IAAY,EAAI6M,EAAQE,cAE/D40C,OAAQnxC,EAAQyxB,KAChB2f,gBAAiB,WACb,IACIC,EADe7jD,KAAKmjC,SACU0gB,eAC9Bv2B,EAAWttB,KAAKstB,WACpB,OAAOu2B,EAAiBA,EAAev2B,QAAY,GAEvDw2B,YAAa,WACT,GAAI9jD,KAAK+jD,mBACL,MAAMxkD,EAAQF,QAAQ4C,MAAM,SAEhCjC,KAAKgkD,iBAAkB,GAE3BC,SAAU,WACNjkD,KAAK2jD,SACL3jD,KAAKuiD,oBAETd,SAAU,WACNzhD,KAAKkkD,kBAAoBlkD,KAAKkkD,iBAAiBlgB,UAC/ChkC,KAAKC,WACLD,KAAK2jD,SACL3jD,KAAKmkD,+BAETA,4BAA6B,WACrBnkD,KAAKoiD,+BACLvB,EAAkBxhD,QAAQ+Q,OAAOpQ,KAAKsiD,wBAG9CI,oBAAqB,SAAS0B,GACXpkD,KAAKstB,WACXkF,YAAY,SAAU4xB,IAEnC5a,iBAAkB,SAAS/4B,EAAS4zC,GAChC,IAAIjf,EAASplC,KACTuvB,EAASpvB,UAAUqB,OAAS,QAAK,IAAWrB,UAAU,GAAKA,UAAU,GAAK,GAC1EmkD,GAAwB,EAAI9xC,EAAQ+xC,MAAMvkD,KAAK0hD,+CAA+C,SAASz8C,GACvG,QAASA,KAASsqB,MAElBi1B,EAAgBxkD,KAAKmjC,SACrB6G,EAAqBwa,EAAcxa,mBACnCya,EAAgBzkD,KAAKmjC,SACrBuhB,EAAyBD,EAAcC,uBAC3CA,EAAyBA,GAA0BlyC,EAAQyxB,KAC3D,IAAI0gB,GAAwB,EAAIlyC,EAAQa,QAAQ,CAC5C02B,mBAAoBA,GACrB0a,EAAuB1kD,OAC1BskD,EAAsBjvC,SAAQ,SAAS2tB,GACnC,OAAO2hB,EAAsB3hB,GAAcoC,EAAOjC,OAAOH,MAE7DhjC,KAAK4kD,cAAcr1B,EAAQo1B,GAC3B,IAAI9hD,OAAW,EACf,IAAI,EAAInD,EAAMoG,UAAUu+C,GAAY,CAChC,IAAI/2B,GAAW,EAAIxW,EAAUzX,SAASoR,GAAS4zC,GAAW90B,GAC1D1sB,EAAWyqB,EAAS+2B,GAAW,iBAE3B5zC,KACA5N,EAAWwhD,EAAUQ,YAAYp0C,IAE7B5N,EAASsgC,OAAO5T,GAEhB1sB,EAAW,IAAIwhD,EAAU5zC,EAAS8e,IAI9C,GAAI1sB,EAAU,CACV,IAAIiiD,EAAuB,SAAS5Z,GAChC,IAAIrqC,EAAOqqC,EAAMrqC,KACboE,EAAQimC,EAAMjmC,OACd,EAAI2J,EAAOU,SAASzO,EAAMyjD,IAA0B,GACpDzhD,EAASsgC,OAAOtiC,EAAMoE,IAG9BjF,KAAK8yC,GAAG,gBAAiBgS,GACzBjiD,EAASiwC,GAAG,aAAa,WACrB,OAAO1N,EAAOwB,IAAI,gBAAiBke,MAG3C,OAAOjiD,GAEX+hD,cAAe,SAASr1B,EAAQw1B,IAC5B,EAAI1hD,EAAU2C,MAAM++C,GAAc,SAASziD,EAAK2C,IAC3ChE,OAAOR,UAAUS,eAAeqB,KAAKgtB,EAAQjtB,KAASitB,EAAOjtB,GAAO2C,OAG7E+/C,qBAAsB,WAClB,IAAI13B,EAAWttB,KAAKstB,WAChB9G,EAAUxmB,KAAK4jD,gBAAgBt2B,GACnC,OAAO,EAAI7a,EAAQa,QAAQtT,KAAKC,WAAY,CACxCumB,QAASA,KAGjBy+B,mBAAoB,WAChB,IAAI33B,EAAWttB,KAAKstB,WAChBhO,EAAQtf,KAAK4jD,gBAAgBt2B,GAC7B7c,EAAUzQ,KAAKyQ,UACnB,OAAO,EAAIgC,EAAQa,QAAQtT,KAAKC,WAAY,CACxCwQ,QAASA,EACT6O,MAAOA,KAGf4lC,eAAgB,SAASxhD,GACrB,OAAQA,EAAK7C,MACT,IAAK,QACL,IAAK,SACDb,KAAK4iD,oBACL,MACJ,IAAK,aACD5iD,KAAK8jD,cACL,MACJ,IAAK,cACD9jD,KAAKyiD,2BACL,MACJ,IAAK,WACL,IAAK,qBACD,MACJ,QACIziD,KAAKC,SAASyD,KAG1ByhD,kBAAmB,SAAS10C,GAExB,IADA,IAAI20C,EAAQ30C,EAAQqyC,WACXhiD,EAAIskD,EAAM5jD,OAAS,EAAGV,GAAK,EAAGA,IAAK,CACxC,IAAI4d,EAAO0mC,EAAMtkD,GACjB,GAAI4d,EAAM,CACN,IAAI7d,EAAO6d,EAAK7d,KACXA,EAAKyV,QAAQ,WAAqC,IAAzBzV,EAAKyV,QAAQ,QAAiB,SAAWzV,GAAQ,UAAYA,GAAQ,aAAeA,GAC9G4P,EAAQ2hB,gBAAgBvxB,MAKxCwkD,eAAgB,SAAS50C,GACrBA,EAAQqiB,UAAYriB,EAAQqiB,UAAU3Y,MAAM,KAAKvG,QAAO,SAAS0xC,GAC7D,OAAO,IAAMA,EAAStxC,YAAY,MAAO,MAC1CuW,KAAK,MAEZg7B,oBAAqB,SAASC,GACtBA,EACAxlD,KAAKuiD,mBAEDviD,KAAKgkD,kBACLhkD,KAAKgkD,iBAAkB,EACvBhkD,KAAKikD,aAIjBwB,UAAW,WACP,IAAID,EAAiBxlD,KAAK0lD,0BAC1B1lD,KAAKC,WACLD,KAAK+jD,oBAAsB/jD,KAAKulD,oBAAoBC,IAExDl4B,SAAU,WACN,OAAOttB,KAAKwhD,WAEhB/wC,QAAS,WACL,IAAI6c,EAAWttB,KAAKstB,WACpB,OAAO,EAAIgT,EAAS9vB,kBAAkB8c,IAE1C0W,QAAS,WACL,IAAIvzB,EAAUzQ,KAAKstB,WAAW/d,IAAI,IAClC,EAAI8hB,EAAcqE,oBAAoBjlB,GAAS,GAC/CA,EAAQqlB,YAAc,GACtB91B,KAAKmlD,kBAAkB10C,GACvBzQ,KAAKqlD,eAAe50C,IAExBk1C,YAAa,SAAS3iB,GAElB,GADAhjC,KAAKC,SAAS+iC,GACV,UAAYA,GAAc,WAAaA,EAAY,CACnD,IAAI4iB,EAAgB5lD,KAAK4lD,cAAc5iB,KACtC,EAAItjC,EAAM0K,WAAWw7C,IAAkB5lD,KAAKstB,WAAWvW,IAAIisB,EAAY,MAGhF6iB,0BAA2B,aAG3B/D,qBAAsB,WAClB,IAAI9hD,KAAKkkD,kBAAqBlkD,KAAKqhD,gBAAnC,CAGA,IACIyE,EADgB9lD,KAAKmjC,SACiB6G,mBAEtCjqB,QADqB,IAAW+lC,EAAwB,GAAKA,GACzB/lC,eACxC/f,KAAKkkD,iBAAmB,IAAIjb,EAAkBF,gBAAgBhpB,EAAgB/f,KAAK6lD,6BACnF7lD,KAAK+lD,mBAETA,eAAgB,WACZ,IAAI7O,EAASl3C,KACTgmD,EAAwBhmD,KAAKkkD,iBAAiB5Z,iBAAiBtqC,KAAKstB,YACpEjP,EAAY2nC,EAAsB3nC,UAClCosB,EAAwBub,EAAsBvb,sBAC9Cwb,EAAoBjmD,KAAKmjC,OAAO,gCAAgC5kB,OAAOksB,EAAsB5pC,OACjGwd,EAAUhJ,SAAQ,SAAS6wC,GACvB,IAAIrlD,EAAOqlD,EAAMrlD,KACb+d,EAAWsnC,EAAMtnC,SACrBs4B,EAAOjxB,SAASwc,OAAO,gCAAgClkB,OAAO1d,GAAO+d,MAErE6rB,EAAsB5pC,OAASolD,IAC/BjmD,KAAKimB,SAASwc,OAAO,gCAAgClkB,OAAOksB,EAAsB5pC,MAAO4pC,EAAsB7rB,UAC/G5e,KAAKimB,SAASwc,OAAO,gCAAgC,KAG7D0jB,qBAAsB,SAASnjB,GAC3B,OAAOhjC,KAAKomD,aAAapmD,KAAKmjC,OAAOH,KAEzCojB,aAAc,SAAS7mC,GACnB,IAAIlB,EAAYre,KAAKmjC,OAAO,gCACxBxjB,EAAkB3f,KAAKmjC,OAAO,iCAC9BvjB,EAAgB5f,KAAKmjC,OAAO,oCAChC,OAAOnjC,KAAKkkD,iBAAiBjZ,YAAY1rB,EAAgBlB,EAAW,CAChEsB,gBAAiBA,EACjBC,cAAeA,GAChB5f,OAEPqmD,cAAe,SAASxlD,EAAM+d,GAC1B5e,KAAKsmD,8BAA8B,gCAAkCzlD,EAAMb,KAAKkkD,iBAAiBrZ,gBAAgBjsB,KAErHyiC,cAAe,WACX,OAAO,KAGfJ,EAAa4D,YAAc,SAASp0C,GAChC,OAAO,EAAIswC,EAAkBwF,uBAAsB,EAAIzvC,EAAUzX,SAASoR,GAAUzQ,OAExFihD,EAAapf,eAAiB,SAAS2kB,GACnCxmD,KAAKiiD,kBAAoBjiD,KAAKiiD,mBAAqB,GACnDjiD,KAAKiiD,kBAAkBvgD,KAAK8kD,IAEhC,IAAItjD,EAAW+9C,EACf7hD,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,QACzB8D,EAAO/D,QAAQC,QAAU8D,EAAO/D,S,iCCjZhCA,EAAQ6gB,mBAAgB,EACxB,IAGgC3gB,EAH5BwX,GAG4BxX,EAHOE,EAAQ,MAI7BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAUnB,SAAS2E,EAAgBM,EAAGC,GAKxB,OAJAP,EAAkBhD,OAAOwD,gBAAkB,SAASF,EAAGC,GAEnD,OADAD,EAAEG,UAAYF,EACPD,IAEYA,EAAGC,GAE9B,IAAIyb,EAAgB,SAASigB,GAb7B,IAAwBC,EAAUC,EAgB9B,SAASngB,IACL,OAAOigB,EAAchgC,MAAMF,KAAMG,YAAcH,KAMnD,OAvB8BogC,EAcAF,GAdVC,EAcLlgB,GAbNxf,UAAYQ,OAAO25B,OAAOwF,EAAW3/B,WAC9C0/B,EAAS1/B,UAAUmC,YAAcu9B,EACjCl8B,EAAgBk8B,EAAUC,GAgBbngB,EAAcxf,UACpB8/B,YAAc,WACjB,OAAO,EAAIzpB,EAAUzX,YAElB4gB,EAVS,CArBCzgB,EAAQ,KAgCZsgB,cACjB1gB,EAAQ6gB,cAAgBA,G,iCCnCxB7gB,EAAQC,aAAU,EAClB,IAAIonD,EAAejnD,EAAQ,KACvBiT,EAAUjT,EAAQ,IAClBi8B,EAASj8B,EAAQ,KAiHjB0D,EAzGkB,CAClBvB,SAAU,WACN3B,KAAK8yC,GAAG,YAAa,WACjB9yC,KAAK0mD,sBACPvlD,KAAKnB,QAEX2mD,mBAAoB,WAChB3mD,KAAK4mD,kBACL5mD,KAAK6mD,mBAETD,gBAAiB,WACb,IACIE,EACAC,EAFAC,EAbsB,iCAa6BhnD,KAAOA,KAAgC,+BAAMA,KAAKmjC,OAAO,cAGhHnjC,KAAK0mD,qBACDM,IACIA,aAA6BP,EAAaxtC,YAC1CjZ,KAAKinD,qBAAsB,EAC3BjnD,KAAKknD,YAAcF,IAEnBF,EA3BiB,uBA2BuC9mD,KAAOA,KAA+B,qBAAM,GACpG+mD,EAAiB/mD,KAAKmnD,gBAAkBnnD,KAAKmnD,kBAAoBV,EAAaxtC,WAC9E+tC,GAAoB,EAAIvrB,EAAOsW,4BAA4BiV,EAAmB,CAC1E1G,gBA1BwB,+BA0BkCtgD,MAAQA,KAA0C,+BAEhHA,KAAKknD,YAAc,IAAIH,GAAe,EAAIt0C,EAAQa,SAAQ,EAAM,GAAIwzC,EAAyBE,KA1BjF,yBA4BahnD,OACzBA,KAAKknD,YAAclnD,KAA0B,qBAAEA,KAAKknD,cAExDlnD,KAAKonD,2BAGbA,uBAAwB,WAvCK,8BAwCSpnD,MAC9BA,KAAKqnD,8BAxCmB,gCA0CSrnD,MACjCA,KAAKsnD,iCA1CwB,qCA4CStnD,MACtCA,KAAKunD,sCAETvnD,KAAKwnD,oBAETA,iBAAkB,WACdxnD,KAAKknD,YAAYpU,GAAG,iBAAkB,SAAS0D,GAC3Cx2C,KAAKynD,QAAUznD,KAAKynD,QAAQjR,IAC9Br1C,KAAKnB,QAEXqnD,4BAA6B,WACzB,IAAIK,EAAa1nD,KAAKknD,YACtBlnD,KAAK2nD,iCAAmC,SAASrjD,GAC7CtE,KAA+B,0BAAE0nD,EAAWrS,QAAS/wC,IACvDnD,KAAKnB,MACP0nD,EAAW5U,GAAG,UAAW9yC,KAAK2nD,mCAElCL,+BAAgC,WAC5BtnD,KAAK4nD,mCAAqC5nD,KAAkC,4BAAEmB,KAAKnB,MACnFA,KAAKknD,YAAYpU,GAAG,YAAa9yC,KAAK4nD,qCAE1CL,oCAAqC,WACjCvnD,KAAK6nD,wCAA0C7nD,KAAuC,iCAAEmB,KAAKnB,MAC7FA,KAAKknD,YAAYpU,GAAG,iBAAkB9yC,KAAK6nD,0CAE/ChB,gBAAiB,WACb,GAAI7mD,KAAKknD,YAAa,CAClB,IAAIQ,EAAa1nD,KAAKknD,YAClBQ,EAAWnR,WACXv2C,KAAK2nD,kCAAoC3nD,KAAK2nD,mCAE9CD,EAAWtP,SAIvB0P,YAAa,SAASxlD,EAAK2C,GAEvB,OADA3C,EAAM,SAAWA,EAAMtC,KAAKknD,YAAY5kD,OAAS,OAASA,EACnDtC,KAAKknD,YAAY1P,WAAWl1C,EAAK2C,IAE5C2vC,YAAa,WACT,OAAQ50C,KAAKknD,aAAelnD,KAAKknD,YAAY1R,eAAiBx1C,KAAKknD,YAAY5T,WAEnFyU,qBAAsB,WAClB,OAAO/nD,KAAKknD,aAAelnD,KAAKknD,YAAY1Q,aAEhDkQ,mBAAoB,WACZ1mD,KAAKknD,cACDlnD,KAAKinD,4BACEjnD,KAAKinD,oBACZjnD,KAAK2nD,kCAAoC3nD,KAAKknD,YAAYtgB,IAAI,UAAW5mC,KAAK2nD,kCAC9E3nD,KAAK4nD,oCAAsC5nD,KAAKknD,YAAYtgB,IAAI,YAAa5mC,KAAK4nD,oCAClF5nD,KAAK6nD,yCAA2C7nD,KAAKknD,YAAYtgB,IAAI,iBAAkB5mC,KAAK6nD,0CAE5F7nD,KAAKknD,YAAYljB,iBAEdhkC,KAAKknD,mBACLlnD,KAAK2nD,wCACL3nD,KAAK4nD,0CACL5nD,KAAK6nD,0CAGpBG,cAAe,WACX,OAAOhoD,KAAKknD,aAAe,OAInC9nD,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCCtHzBD,EAAQC,aAAU,EAClB,IAaI6D,EAbW,SAASy6B,GACpB,IAAIt4B,EACA4iD,EAAkB,WAKlB,OAJA5iD,EAASs4B,EAAQz9B,MAAMF,KAAMG,WAC7B8nD,EAAkB,WACd,OAAO5iD,GAEJA,GAEX,OAAO,WACH,OAAO4iD,EAAgB/nD,MAAMF,KAAMG,aAI3Cf,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCChBzBD,EAAQC,aAAU,EAClB,IAAIo8B,EAAS3qB,EAAuBtR,EAAQ,MACxC0oD,EAASp3C,EAAuBtR,EAAQ,MACxCD,EAAUuR,EAAuBtR,EAAQ,MACzCy/C,EAAkBnuC,EAAuBtR,EAAQ,MACjDiyC,EAAejyC,EAAQ,KAE3B,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAkDI4D,EAlDa+7C,EAAgB5/C,QAAQoD,QAAQ,CAC7ChB,KAAM,SAASuR,GAEPA,EADApI,MAAM6P,QAAQzH,GACJ,CACN4C,KAAM5C,GAGAA,GAAW,GAEzBhT,KAAKC,SAAS+S,GACd,IAAIm1C,EAAen1C,EAAQ4C,KAC3B,GAAIuyC,IAAiBv9C,MAAM6P,QAAQ0tC,GAC/B,MAAM5oD,EAAQF,QAAQ0+B,OAAO97B,MAAM,SAEvCjC,KAAK4O,OAASu5C,GAAgB,IAElCC,YAAa,WACT,OAAO,EAAIF,EAAO7oD,SAASW,KAAK4O,OAAQ,CACpCgvB,aAAc59B,KAAK69B,iBAG3BwqB,WAAY,SAAS/lD,GACjB,IAAI+M,GAAQ,EAAIoiC,EAAa6W,YAAYtoD,KAAMA,KAAK4O,OAAQtM,GAC5D,OAAe,IAAX+M,EACOosB,EAAOp8B,QAAQkvC,gBAAgBhvC,EAAQF,QAAQ0+B,OAAO97B,MAAM,UAEhEw5B,EAAOp8B,QAAQivC,eAAetuC,KAAK4O,OAAOS,KAErDk5C,YAAa,SAASp5C,GAClB,OAAO,EAAIsiC,EAAa+W,QAAQxoD,KAAMA,KAAK4O,OAAQO,IAEvDs5C,UAAW,SAAS7c,IAChB,EAAI6F,EAAauH,YAAY,CACzBC,QAASj5C,KACT4V,KAAM5V,KAAK4O,OACXg9B,QAASA,KAGjB8c,YAAa,SAASpmD,EAAK6M,GACvB,OAAO,EAAIsiC,EAAakX,QAAQ3oD,KAAMA,KAAK4O,OAAQtM,EAAK6M,IAE5Dy5C,YAAa,SAAStmD,GAClB,OAAO,EAAImvC,EAAarhC,QAAQpQ,KAAMA,KAAK4O,OAAQtM,IAEvDumD,MAAO,WACH7oD,KAAKgyC,gBAAgB+E,UAAU,aAC/B/2C,KAAK4O,OAAS,GACd5O,KAAKgyC,gBAAgB+E,UAAU,cAEpC,SAEH33C,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,QACzB8D,EAAO/D,QAAQC,QAAU8D,EAAO/D,S,iCCjEhCA,EAAQ0pD,oBAAiB,EACzB1pD,EAAQ2pD,iBAkCR,WACI,OAAOC,GAlCX5pD,EAAQ6F,WAAQ,EAChB,IAAI6R,EAAYhG,EAAuBtR,EAAQ,KAC3CuR,EAAmBD,EAAuBtR,EAAQ,MAClDmQ,EAAamB,EAAuBtR,EAAQ,MAEhD,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIysC,EAAQh7B,EAAiB1R,QAAQ2Q,IACjC84C,GAAiB,EAAIn5C,EAAWtQ,WACpCD,EAAQ0pD,eAAiBA,EACzB,IAAIE,GAAoB,EAAIlyC,EAAUzX,WAClC4F,EAAQ,WACR,IAAIgkD,EACJ,OAAO,SAASx4C,GACZ,IAAKtQ,UAAUqB,OACX,OAAOynD,EAEX,IAAI37B,GAAW,EAAIxW,EAAUzX,SAASoR,GACtCu4C,EAAoB17B,EACpB,IAAI47B,IAAuB57B,EAAS9rB,OAChC2nD,EAAelkD,IACnBgkD,EAAWC,EAAqB57B,GAAW,EAAIxW,EAAUzX,SAAS,QAClEypD,EAAez4C,KAAK64C,EAAqBjkD,KAAU,EAAI6R,EAAUzX,WAAY8pD,IAXzE,GAcZ/pD,EAAQ6F,MAAQA,EAChB8mC,GAAM,WACF9mC,EAAM,oB,iCChCV7F,EAAQ25B,gBAAkB35B,EAAQw1B,UAAYx1B,EAAQgqD,SAAWhqD,EAAQiqD,UAAYjqD,EAAQy1B,wBAAqB,EAClH,IAAIvxB,EAAa9D,EAAQ,KACrBwR,EAAaF,EAAuBtR,EAAQ,MAC5CE,EAAQF,EAAQ,IAChBqR,EAAeC,EAAuBtR,EAAQ,KAElD,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIgqD,EAAa,CAAC,GAAI,SAAU,MAAO,IAAK,MACxCC,EAAc,CACd,GAAI,GACJC,OAAQ,WACRC,IAAK,QACLC,EAAG,MACHC,GAAI,QAEJC,GAAY,EAAI54C,EAAW3R,UAAS,WACpC,OAAOwR,EAAaxR,QAAQsX,cAAc,MAAM+d,SAiCpDt1B,EAAQw1B,UAdQ,SAAS/zB,GACrB,GAAIA,KAAQ+oD,IACR,OAAO/oD,EAEX,IAAIgpD,EAAehpD,EACnBA,EAAOA,EAAKqqB,OAAO,GAAGC,cAAgBtqB,EAAKkK,OAAO,GAClD,IAAK,IAAIjK,EAAI,EAAGA,EAAIwoD,EAAW9nD,OAAQV,IAAK,CACxC,IAAIgpD,EAAeR,EAAWxoD,GAAGoH,cAAgBrH,EACjD,GAAIipD,KAAgBF,IAChB,OAAOE,EAGf,OAAOD,GAUXzqD,EAAQ25B,gBAPc,SAASrG,GAC3B,OAjCkB,SAASA,EAAMyR,GAEjC,IAAI9+B,EADJqtB,GAAO,EAAIpvB,EAAWqL,UAAU+jB,GAAM,GAEtC,IAAK,IAAI5xB,EAAI,EAAGipD,EAAmBT,EAAW9nD,OAAQV,EAAIipD,EAAkBjpD,IAAK,CAC7E,IAAIkpD,EAAWV,EAAWxoD,GACtBgpD,EAAeE,EAAWt3B,EAM9B,QAHI,KADJrtB,EAAS8+B,GADe,EAAI7gC,EAAWqL,UAAUm7C,GACZE,MAEjC3kD,EAAS8+B,EAAS2lB,EAAcE,SAEhC,IAAW3kD,EACX,MAGR,OAAOA,GAAU,GAkBV4kD,CAAgBv3B,GAAM,SAASw3B,EAAUF,GAC5C,GAAIE,KAAYN,IACZ,OAAOL,EAAYS,OAK/B,IAAIG,EAAe,CAAC,cAAe,cAAe,WAAY,aAAc,aAAc,aAAc,UAAW,SAAU,QAO7H/qD,EAAQy1B,mBANiB,SAASnC,EAAMztB,GAIpC,OAHI,EAAIvF,EAAMyI,WAAWlD,KAA0C,IAAhCklD,EAAa7zC,QAAQoc,KACpDztB,GAAS,MAENA,GAGX,IAAImlD,EAAuB,SAASzjB,EAAUrrB,EAAcrW,GACxD,GAAI0hC,EAAU,CACV1hC,GAAQ,EAAIvF,EAAMyI,WAAWlD,GAASA,GAAS,KAAOA,EACtD,IAAK,IAAInE,EAAI,EAAGA,EAAI6lC,EAASnlC,SAAUV,EACnC6lC,EAAS7lC,GAAG4zB,MAAMpZ,GAAgBrW,IAO9C7F,EAAQgqD,SAHO,SAASziB,EAAU1hC,GAC9BmlD,EAAqBzjB,EAAU,QAAS1hC,IAM5C7F,EAAQiqD,UAHQ,SAAS1iB,EAAU1hC,GAC/BmlD,EAAqBzjB,EAAU,SAAU1hC,K,iCCnF7C7F,EAAQ45C,WAAaA,EACrB55C,EAAQirD,aAoMR,SAAsBz0C,EAAMg2B,GACxB,IAAI54B,EAAU7S,UAAUqB,OAAS,QAAK,IAAWrB,UAAU,GAAKA,UAAU,GAAK,GAC3EmqD,EAAmBt3C,EAAQkO,QAC3BA,OAAU,IAAWopC,EAAmB,KAAOA,EAC/CC,EAAqBv3C,EAAQw3C,UAC7BA,OAAY,IAAWD,GAA4BA,EACnDxpC,GAAY,EAAIrO,EAAMwB,eAAegN,GACrC+3B,EAAU,CACV32C,IAAK,WACD,OAAO4e,GAEXc,MAAO,SAAS1iB,GACZ,OAAOyhB,EAAUzhB,KAGzB,OAAO05C,EAAW,CACdC,QAASA,EACTrjC,KAAMA,EACNg2B,QAASA,EACT4e,UAAWA,EACXC,cAAc,EACdC,UAAU,KAxNlBtrD,EAAQurD,wBAA0BA,EAClCvrD,EAAQkpD,WAAaA,EACrBlpD,EAAQopD,OAASA,EACjBppD,EAAQgR,OAASA,EACjBhR,EAAQupD,OAASA,EACjB,IAAIjpD,EAAQF,EAAQ,IAChB6X,EAAUvG,EAAuBtR,EAAQ,MACzCorD,EAAQ95C,EAAuBtR,EAAQ,MACvCiT,EAAUjT,EAAQ,IAClBD,EAAUuR,EAAuBtR,EAAQ,MACzC6Z,EAAU7Z,EAAQ,KAClBkT,EAAQlT,EAAQ,KAChBi8B,EAAS3qB,EAAuBtR,EAAQ,MAE5C,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAInB,SAAS6/B,EAAQ7/B,GAEb,OAAO6/B,EAAU,mBAAqBC,QAAU,iBAAmBA,OAAOC,SAAW,SAAS//B,GAC1F,cAAcA,GACd,SAASA,GACT,OAAOA,GAAO,mBAAqB8/B,QAAU9/B,EAAIsD,cAAgBw8B,QAAU9/B,IAAQ8/B,OAAO3+B,UAAY,gBAAkBnB,IACjHA,GAGf,SAASsoC,EAAmBC,GACxB,OAgCJ,SAA4BA,GACxB,GAAIj9B,MAAM6P,QAAQotB,GACd,OAAOC,EAAkBD,GAlCtBE,CAAmBF,IA0B9B,SAA0BG,GACtB,GAAI,qBAAuB5I,QAAU,MAAQ4I,EAAK5I,OAAOC,WAAa,MAAQ2I,EAAK,cAC/E,OAAOp9B,MAAMq9B,KAAKD,GA5BYE,CAAiBL,IAOvD,SAAqCtjC,EAAG4jC,GACpC,IAAK5jC,EACD,OAEJ,GAAI,kBAAoBA,EACpB,OAAOujC,EAAkBvjC,EAAG4jC,GAEhC,IAAIxiB,EAAI1kB,OAAOR,UAAUiiB,SAASngB,KAAKgC,GAAGjD,MAAM,GAAI,GAChD,WAAaqkB,GAAKphB,EAAE3B,cACpB+iB,EAAIphB,EAAE3B,YAAY/B,MAEtB,GAAI,QAAU8kB,GAAK,QAAUA,EACzB,OAAO/a,MAAMq9B,KAAK1jC,GAEtB,GAAI,cAAgBohB,GAAK,2CAA2C7M,KAAK6M,GACrE,OAAOmiB,EAAkBvjC,EAAG4jC,GAtB2BC,CAA4BP,IAG3F,WACI,MAAM,IAAIQ,UAAU,wIAJ2EC,GAsCnG,SAASR,EAAkBD,EAAKU,IACxB,MAAQA,GAAOA,EAAMV,EAAIrmC,UACzB+mC,EAAMV,EAAIrmC,QAEd,IAAK,IAAIV,EAAI,EAAG0nC,EAAO,IAAI59B,MAAM29B,GAAMznC,EAAIynC,EAAKznC,IAC5C0nC,EAAK1nC,GAAK+mC,EAAI/mC,GAElB,OAAO0nC,EAiCX,SAASqiB,EAAS5R,EAAS5D,EAAO/yC,EAAK42C,GACnC,OAAIA,EAnBR,SAAS4R,EAAU7R,EAAS5D,EAAO/yC,EAAK42C,GACpC,IACI7zC,EACJ,GAAI6zC,GACA,IAAK,IAAIp4C,EAAI,EAAGA,EAAIu0C,EAAM7zC,OAAQV,IAG9B,GADAuE,EAASylD,EAAU7R,EADN5D,EAAMv0C,GAAGu0C,OAASA,EAAMv0C,GAAGiqD,gBAAkB,IAChB,GAAIzoD,EAAK42C,EAAa,GAE5D,OAAO7zC,OAIf,GAAIijD,EAAWrP,EAAS5D,EAAO/yC,IAAQ,EACnC,OAAO+yC,EAOJyV,CAAU7R,EAAS5D,EAAO/yC,EAAK42C,IAAe,GAElD7D,EA4BX,SAAS2V,EAAqBtuB,EAAOp6B,EAAKsT,GAClC8mB,EAAMuuB,gBACNvuB,EAAMuuB,cAAcz2C,KAAKC,UAAUnS,IAAQsT,EAC3C8mB,EAAMwuB,qBAAuBt1C,EAAO,GAAK,GAgBjD,SAAS+0C,EAAwBtzB,EAAQuU,GACrC,IAAIvmC,EAbR,SAAS8lD,EAActoD,GACnB,IAAIwC,EAASxC,EAAW5B,OAAO25B,OAAO35B,OAAOc,eAAec,IAAa,GACrEuoD,GAA2B,EAAI34C,EAAQ+8B,kBAAkB,GAAI3sC,GACjE,IAAK,IAAIhC,KAAQuqD,EAA0B,CACvC,IAAI14B,EAAO04B,EAAyBvqD,IAChC,EAAInB,EAAMqG,UAAU2sB,MAAU,EAAIhzB,EAAMkc,eAAe8W,KACvD04B,EAAyBvqD,GAAQsqD,EAAcz4B,IAGvD,OADC,EAAIrZ,EAAQwC,qBAAqBxW,EAAQ+lD,GAA0B,GAAM,GACnE/lD,EAIM8lD,CAAc9zB,GAC3B,OAAO,EAAIhe,EAAQwC,qBAAqBxW,EAAQumC,GAAS,GAAM,GAGnE,SAASoN,EAAW/lC,GAChB,IAAIgmC,EAAUhmC,EAAKgmC,QACfrjC,EAAO3C,EAAK2C,KACZg2B,EAAU34B,EAAK24B,QACfsN,EAAajmC,EAAKimC,WAClBC,EAAiBlmC,EAAKkmC,eACtBqR,EAAYv3C,EAAKu3C,UACjBC,EAAex3C,EAAKw3C,aACpBC,EAAWz3C,EAAKy3C,SAChBW,GAAc,IAASb,EAAY5iB,EAAmBhyB,GAAQA,EAelE,OAdAg2B,EAAQv2B,SAAQ,SAASlF,GACrB,IAAIklC,EAAQ,WAAallC,EAAKuF,KAAO21C,EAAcR,EAAS5R,EAASoS,EAAal7C,EAAK7N,IAAK42C,GAE5F,QADCuR,GA7DT,SAA8BxR,EAASvc,GACnC,GAAIuc,EAAQ32C,SAAWo6B,EAAMuuB,eAAiBvuB,EAAMwuB,sBAAwBxuB,EAAMl7B,QAAS,CAGvF,IAFA,IAAI8pD,EAAe,GACfC,EAAc7uB,EAAMl7B,OACfV,EAAI,EAAGA,EAAIyqD,EAAazqD,IAC7BwqD,EAAa92C,KAAKC,UAAUwkC,EAAQj3B,MAAM0a,EAAM57B,MAAQ47B,EAAM57B,GAElE47B,EAAMuuB,cAAgBK,EACtB5uB,EAAMwuB,oBAAsBK,GAqDXC,CAAqBvS,EAAS5D,GACvCllC,EAAKuF,MACT,IAAK,SACDizC,EAAO1P,EAAS5D,EAAOllC,EAAK7N,IAAK6N,EAAKyF,MAAM,EAAM40C,EAAWE,GAC7D,MACJ,IAAK,SACDlC,EAAOvP,EAAS5D,EAAOllC,EAAKyF,KAAMujC,IAAkB,EAAIz5C,EAAM0K,WAAW+F,EAAKd,OAASc,EAAKd,OAAS,GAAG,EAAMq7C,GAC9G,MACJ,IAAK,SACDt6C,EAAO6oC,EAAS5D,EAAOllC,EAAK7N,KAAK,EAAMooD,OAG5CW,EAGX,SAASI,EAAeC,EAAShB,EAAUiB,GACvC,OAAQD,EAAoFhB,GAAYnrD,EAAQF,QAAQ0+B,OAAO5M,IAAIw6B,GAAjHlwB,EAAOp8B,QAAQkvC,gBAAgBhvC,EAAQF,QAAQ0+B,OAAO97B,MAAM0pD,IA4BlF,SAAShD,EAAO1P,EAASvc,EAAOp6B,EAAKsT,EAAM81C,EAASlB,EAAWE,GAC3D,IAAIrzB,EAEAnW,EAAU+3B,EAAQ32C,MACtB,GAAI4e,EAAS,CACT,GAnJR,SAAgBmW,EAAQu0B,GAGpB,IAFA,IACI18C,EAAO,kBAAoB08C,EAAYA,EAAUzxC,QAAUyxC,EAAUtqD,QAClE4N,EAAK1N,QAER,GADM0N,EAAKgY,UACAmQ,EACP,OAAO,EAGf,OAAO,EA0ICw0B,CAAOj2C,EAAMsL,KAAaua,EAAOp8B,QAAQsuC,UAAUzsB,EAAS5e,EAAK22C,EAAQj3B,MAAMpM,IAC/E,OAAO61C,EAAeC,EAAShB,EAAU,SAG7C,KADArzB,EArGR,SAAuBqF,EAAOp6B,GAC1B,GAAIo6B,EAAMuuB,cACN,OAAOvuB,EAAMuuB,cAAcz2C,KAAKC,UAAUnS,IAmGjCwpD,CAAcpvB,EAAOp6B,IACjB,CACT,IAAI+M,EAAQi5C,EAAWrP,EAASvc,EAAOp6B,GACvC,GAAI+M,EAAQ,EACR,OAAOo8C,EAAeC,EAAShB,EAAU,SAG7C,GADArzB,EAASqF,EAAMrtB,IACX,IAASm7C,IAAa,EAAI9qD,EAAM0K,WAAWitB,GAAS,CACpD,IAAI00B,EAAYpB,EAAwBtzB,EAAQzhB,GAEhD,OADA8mB,EAAMrtB,GAAS08C,GACPL,GAAWjwB,EAAOp8B,QAAQivC,eAAeyd,EAAWzpD,UAIpE+0B,EAAS/0B,EAEb,IADC,EAAI+W,EAAQwC,qBAAqBwb,EAAQzhB,GArBhB,IAsBrB81C,EACD,OAAI,EAAIr0C,EAAQhY,WAAW0wB,qBAChB0L,EAAOp8B,QAAQivC,eAAehsC,EAAKsT,GAEnC6lB,EAAOp8B,QAAQivC,eAAejX,EAAQ/0B,GAKzD,SAASkmD,EAAOvP,EAASvc,EAAO9mB,EAAMvG,EAAOq8C,EAAShB,GAClD,IAAIroC,EACAnB,EAAU+3B,EAAQ32C,MAClBhD,GAAM,EAAII,EAAMkc,eAAehG,IAAQ,EAAInD,EAAQa,QAAQ,GAAIsC,GAAQA,EAC3E,GAAIsL,GAEA,QAAI,KADJmB,EAAW42B,EAAQj3B,MAAM1iB,KACE,WAAa6/B,EAAQ9c,KAAa,EAAI3iB,EAAMmU,eAAewO,GAAW,CAC7F,GAAIzX,MAAM6P,QAAQyG,GACd,MAAM3hB,EAAQF,QAAQ0+B,OAAO97B,MAAM,SAEvCogB,EAAW/iB,EAAI4hB,GAAWiJ,OAAO,IAAIygC,EAAMvrD,cAE3C,QAAI,IAAWq9B,EAAM4rB,EAAWrP,EAASvc,EAAOra,IAC5C,OAAOopC,EAAeC,EAAShB,EAAU,cAIjDroC,EAAW/iB,EAQf,GANI+P,GAAS,EACTqtB,EAAMhtB,OAAOL,EAAO,EAAG/P,GAEvBo9B,EAAMh7B,KAAKpC,GAEf0rD,EAAqBtuB,EAAOra,EAAU/iB,IACjCosD,EACD,OAAOjwB,EAAOp8B,QAAQivC,gBAAe,EAAIj3B,EAAQhY,WAAW0wB,qBAAuBna,EAAOtW,EAAK+iB,GAIvG,SAASjS,EAAO6oC,EAASvc,EAAOp6B,EAAKopD,EAAShB,GAC1C,IAAIr7C,EAAQi5C,EAAWrP,EAASvc,EAAOp6B,GAKvC,OAJI+M,GAAS,IACTqtB,EAAMhtB,OAAOL,EAAO,GACpB27C,EAAqBtuB,EAAOp6B,EAAK,OAEhCopD,EAGGr8C,EAAQ,EACDo8C,EAAeC,EAAShB,EAAU,cAD7C,EAFOjvB,EAAOp8B,QAAQivC,eAAehsC,GAQ7C,SAASgmD,EAAWrP,EAASvc,EAAOp6B,GAChC,IAAI4e,EAAU+3B,EAAQ32C,MACtB,IAvKJ,SAA6Bo6B,EAAOp6B,GAChC,OAAIo6B,EAAMuuB,eACCvuB,EAAMuuB,cAAcz2C,KAAKC,UAAUnS,IAqKzC0pD,CAAoBtvB,EAAOp6B,GAC5B,OAAQ,EAEZ,IAAK,IAAIxB,EAAI,EAAGyqD,EAAc7uB,EAAMl7B,OAAQV,EAAIyqD,EAAazqD,IACzD,GAAI26B,EAAOp8B,QAAQsuC,UAAUzsB,EAAS+3B,EAAQj3B,MAAM0a,EAAM57B,IAAKwB,GAC3D,OAAOxB,EAGf,OAAQ,I,gCCtTZ1B,EAAQ6sD,UAAY7sD,EAAQ8sD,aAAe9sD,EAAQ+sD,aAAe/sD,EAAQ6kC,KAAO7kC,EAAQmlD,KAAOnlD,EAAQ8iB,WAAa9iB,EAAQ0U,gBAAkB1U,EAAQw5C,aAAex5C,EAAQgtD,aAAehtD,EAAQ+hB,aAAe/hB,EAAQ+6B,cAAgB/6B,EAAQitD,eAAiBjtD,EAAQktD,aAAeltD,EAAQmtD,YAAcntD,EAAQotD,cAAgBptD,EAAQqtD,YAAcrtD,EAAQstD,UAAYttD,EAAQutD,iCAA8B,EAC1Z,IAAIt1C,EAAUvG,EAAuBtR,EAAQ,MACzCorD,EAAQ95C,EAAuBtR,EAAQ,MACvCu7B,EAAYv7B,EAAQ,IACpBkT,EAAQlT,EAAQ,KAChB6D,EAAY7D,EAAQ,IACpBE,EAAQF,EAAQ,IAEpB,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAMnBF,EAAQ+6B,cAHY,SAASl1B,EAAOqV,GAChC,OAAO,EAAI5a,EAAM0K,WAAWnF,GAASA,EAAQqV,GA0BjDlb,EAAQw5C,aAvBW,SAAS8K,EAAQl9B,GAChC,IAAIqV,EAAW,IAAId,EAAUyC,SACzBovB,EAAoBpmC,GAAWxmB,KAC/Bm7B,EAAO,CACPwD,QAAS9C,EAAS8C,UAClBqW,MAAO,WACHF,aAAa+X,GACbhxB,EAASixB,WAAWF,KAGxB51B,EAAW,WACX,IAAI3xB,EAASq+C,EAAOnhD,KAAKqqD,GACrBvnD,GAAUA,EAAOi5B,OAAQ,EAAI5+B,EAAM2T,YAAYhO,EAAOi5B,MACtDj5B,EAAOi5B,MAAK,WACRzC,EAASkxB,YAAYH,MAGzB/wB,EAASkxB,YAAYH,IAGzBC,GAAW1sD,UAAU,IAAMguC,YAAYnX,EAAU,kBAAoBxQ,EAAUA,EAAU,GAC7F,OAAO2U,GAGX,IAGI6xB,EAHAC,EAAe,GACfC,EAAe,GACfC,EAAmB,GAEnBC,EAAe,SAASvsD,EAAMmC,EAAM64B,GACpC,GAAImxB,GAAiBA,IAAkBnsD,EAKnC,OAJAosD,EAAavrD,KAAKsB,GAClBkqD,EAAaxrD,KAAKb,GAClBg7B,EAAWA,GAAY,IAAId,EAAUyC,SACrC2vB,EAAiBzrD,KAAKm6B,GACfA,EAEP,IAAIwxB,EAAmBL,EACnBM,EAAsBH,EAAiB3rD,OAC3CwrD,EAAgBnsD,EAChB,IAAIwE,EAASrC,IAiBb,OAhBKqC,IACG8nD,EAAiB3rD,OAAS8rD,EAC1BjoD,EAAS01B,EAAUM,KAAKn7B,MAAMF,KAAMmtD,EAAiB7rD,MAAMgsD,IAEvDzxB,GACAA,EAAS4C,WAIrBuuB,EAAgBK,EACZxxB,GAAYx2B,GAAUA,EAAOi5B,MAC7Bj5B,EAAOi5B,KAAKzC,EAAS4C,SAASC,KAAK7C,EAASG,SAE3CgxB,GAAiBC,EAAazrD,SAC9B,WAAa0rD,EAAahmC,QAAUulC,EAAcF,GAAaU,EAAa/lC,QAASimC,EAAiBjmC,SAEpG7hB,IAAU,EAAI01B,EAAUM,SAGnCoxB,EAAc,SAASzpD,EAAM64B,GAC7B,OAAOuxB,EAAa,SAAUpqD,EAAM64B,IAExCz8B,EAAQqtD,YAAcA,EACtB,IAAIF,EAAc,SAASvpD,EAAM64B,GAC7B,OAAOuxB,EAAa,SAAUpqD,EAAM64B,IAExCz8B,EAAQmtD,YAAcA,EAStBntD,EAAQotD,cARY,SAASxpD,GACzB,OAAO,WACH,IAAIuqD,EAAOvtD,KACX,OAAOotD,EAAa,UAAU,WAC1B,OAAOpqD,EAAKT,KAAKgrD,QAa7BnuD,EAAQktD,aARW,SAAStpD,GACxB,OAAO,WACH,IAAIuqD,EAAOvtD,KACX,OAAOotD,EAAa,UAAU,WAC1B,OAAOpqD,EAAKT,KAAKgrD,QAkC7BnuD,EAAQ0U,gBA7Bc,SAAS05C,EAAcnY,EAAOoY,GAChD,IAAIC,EAAc,GACdC,EAAgB,EAyBpB,OAxBA,EAAItqD,EAAU2C,MAAMqvC,GAAO,SAAShmC,EAAOu+C,GACvC,IAAIC,EAAa,EACb19C,EAAOs9C,EAAQA,EAAMG,GAAWA,GACpC,EAAIvqD,EAAU2C,MAAMwnD,GAAc,SAASM,EAAWne,GAClD,IAAI1qC,EAAQkL,EAAK29C,GACjB,QAAI,IAAW7oD,EAAf,CAGA,IAAIuR,EAAMvR,EAAO0qC,GAKjB,OADAke,GAAc,GACP,EAJHA,QAMJA,EAAaF,IAGbE,EAAaF,IACbD,EAAYlsD,OAAS,EACrBmsD,EAAgBE,GAEpBH,EAAYhsD,KAAKksD,OAEdF,GAGX,IAAIl3C,EAAQ,SAASvR,EAAO0qC,GACxB,GAAI/kC,MAAM6P,QAAQxV,IAAU2F,MAAM6P,QAAQk1B,GAAc,CACpD,IAAIoe,GAAW,EAOf,OANA,EAAI1qD,EAAU2C,MAAMf,GAAO,SAASoK,EAAO2+C,GACvC,GAAIA,IAAcre,EAAYtgC,GAE1B,OADA0+C,GAAW,GACJ,MAGXA,EAKR,OAAI9oD,IAAU0qC,GAKdsc,EAAY,SAAS1sB,GACrB,IAAI0uB,EAAQC,EACZ,QAAQ,EAAIxuD,EAAMgW,MAAM6pB,IACpB,IAAK,SACD,OAAOA,EAAIplB,MAAM,MAAO,GAC5B,IAAK,SACD,MAAO,CAAC,QAAU8zC,EAAS1uB,EAAI7Z,SAAM,IAAWuoC,EAASA,EAAS1uB,EAAIE,EAAG,QAAUyuB,EAAS3uB,EAAI1Z,SAAM,IAAWqoC,EAASA,EAAS3uB,EAAIG,GAC3I,IAAK,SACD,MAAO,CAACH,GACZ,IAAK,QACD,OAAOA,EACX,QACI,OAAO,OAGnBngC,EAAQ6sD,UAAYA,EASpB7sD,EAAQ+sD,aARW,SAASgC,GACxB,IAAI7rD,GAAM,EAAI5C,EAAMoG,UAAUqoD,GAAMA,EAAKA,EAAGzrC,WACxCmlB,EAAMvlC,EAAIkU,MAAM,kBAIpB,OAHAqxB,IAAO,EAAIxkC,EAAU2C,MAAM6hC,GAAK,SAAS33B,EAAG1F,GACxClI,EAAMA,EAAIiU,QAAQ/L,EAAM,KAAOA,EAAKwkC,aAAe,SAEhD1sC,GAWXlD,EAAQitD,eARa,SAAS/pD,GAC1B,IAAIulC,EAAMvlC,EAAIkU,MAAM,YAKpB,OAJAqxB,GAAOA,EAAIxyB,SAAQ,SAASkW,GACxB,IAAI6iC,EAAWvpD,SAAS0mB,EAAKhV,QAAQ,KAAM,KAC3CjU,EAAMA,EAAIiU,QAAQgV,EAAMpB,OAAOkkC,aAAaD,OAEzC9rD,GAkBXlD,EAAQ8sD,aAfW,SAAS3sB,EAAK+uB,GAC7B,IAAIxhB,EAAOmf,EAAU1sB,GACjBE,EAAI6uB,EAAelrC,WAAW0pB,GAAQA,EAAK,IAAMjoC,SAASioC,GAAQA,EAAK,GAAI,IAC3EpN,EAAI4uB,EAAelrC,WAAW0pB,GAAQA,EAAK,IAAMjoC,SAASioC,GAAQA,EAAK,GAAI,IAO/E,OANKlN,SAASH,KACVA,EAAI,GAEHG,SAASF,KACVA,EAAID,GAED,CACHA,EAAGA,EACHC,EAAGA,IAmBXtgC,EAAQ8iB,WAfS,SAAS5f,GACtB,GAAIA,aAAesoD,EAAMvrD,QACrB,OAAOiD,EAAIogB,WAEX,IAAI,EAAIhjB,EAAMqG,UAAUzD,IAAQsI,MAAM6P,QAAQnY,GAC1C,IACI,IAAI2f,EAAUzN,KAAKC,UAAUnS,GAC7B,MAAO,OAAS2f,EAAU3f,EAAM2f,EAClC,MAAO3d,GACL,OAAOhC,EAInB,OAAOA,GAMXlD,EAAQgtD,aAHW,SAASmC,GACxB,OAAOA,EAAOh4C,QAAQ,0BAA2B,SAUrDnX,EAAQutD,4BAP0B,SAAS1nD,GACvC,IAAIupD,GAAY,EAAIn3C,EAAQhY,WAAWqwB,uBAIvC,OAHI,EAAIhwB,EAAM0K,WAAWnF,KACrBA,EAAQA,EAAMyd,WAAWnM,QAAQ,IAAKi4C,IAEnCvpD,GAIX7F,EAAQ6kC,KADG,aAKX7kC,EAAQstD,UAHQ,WACZ,OAAQ,IAAI3xB,EAAUyC,UAAUiB,UAAUE,WAe9Cv/B,EAAQmlD,KAZG,SAAS5d,EAAU8nB,EAAeC,GAIzC,IAHA,IAAIrpD,EAAS,GAETspD,GAAiBD,EACZ5tD,EAAI,EAAGA,EAAI6lC,EAASnlC,OAAQV,MACvB2tD,EAAc9nB,EAAS7lC,GAAIA,KACvB6tD,GACVtpD,EAAO3D,KAAKilC,EAAS7lC,IAG7B,OAAOuE,GAGX,IAAIupD,EAAqB,SAASC,EAAQC,EAAQC,GAC9C,GAAIF,EAAOrtD,SAAWstD,EAAOttD,OACzB,OAAO,EAEX,IAAK,IAAIV,EAAI,EAAGA,EAAI+tD,EAAOrtD,OAAQV,IAC/B,IAAKqgB,EAAa0tC,EAAO/tD,GAAIguD,EAAOhuD,GAAIiuD,EAAQ,GAC5C,OAAO,EAGf,OAAO,GAEPC,EAAsB,SAASC,EAASC,EAASH,EAAOI,GACxD,IAAK,IAAI7zC,KAAgB2zC,EACrB,GAAIhuD,OAAOR,UAAUS,eAAeqB,KAAK0sD,EAAS3zC,KAAkB6F,EAAa8tC,EAAQ3zC,GAAe4zC,EAAQ5zC,GAAeyzC,EAAQ,EAAGI,GACtI,OAAO,EAGf,IAAK,IAAIC,KAAiBF,EACtB,KAAME,KAAiBH,GACnB,OAAO,EAGf,OAAO,GAGP9tC,EAAe,SAAS8tC,EAASC,GACjC,IAAIH,EAAQ5uD,UAAUqB,OAAS,QAAK,IAAWrB,UAAU,GAAKA,UAAU,GAAK,EACzEgvD,IAAShvD,UAAUqB,OAAS,QAAK,IAAWrB,UAAU,KAAKA,UAAU,GACzE8uD,GAAU,EAAIv8C,EAAMwG,cAAc+1C,GAAS,GAC3CC,GAAU,EAAIx8C,EAAMwG,cAAcg2C,GAAS,GAC3C,IAAIG,EAAmBF,EAASF,IAAYC,EAAUD,GAAWC,EACjE,SAAIG,GAAoBN,GAPL,MAUf,EAAIrvD,EAAMqG,UAAUkpD,KAAY,EAAIvvD,EAAMqG,UAAUmpD,GAC7CF,EAAoBC,EAASC,EAASH,EAAOI,MAEhDvkD,MAAM6P,QAAQw0C,KAAYrkD,MAAM6P,QAAQy0C,KACjCN,EAAmBK,EAASC,EAASH,KAKxD3vD,EAAQ+hB,aAAeA,G,gCCnSvB/hB,EAAQkwD,YAAclwD,EAAQof,IAAMpf,EAAQ4G,UAAO,EAWnD5G,EAAQof,IAVE,SAASrP,EAAQ6nB,GACvB,GAAIpsB,MAAM6P,QAAQtL,GACd,OAAOA,EAAOqP,IAAIwY,GAEtB,IAAI3xB,EAAS,GACb,IAAK,IAAI/C,KAAO6M,EACZ9J,EAAO3D,KAAKs1B,EAAS7nB,EAAO7M,GAAMA,IAEtC,OAAO+C,GAsBXjG,EAAQ4G,KAnBG,SAASmJ,EAAQ6nB,GACxB,GAAK7nB,EAAL,CAGA,GAAI,WAAYA,EACZ,IAAK,IAAIrO,EAAI,EAAGA,EAAIqO,EAAO3N,SACnB,IAAUw1B,EAASz0B,KAAK4M,EAAOrO,GAAIA,EAAGqO,EAAOrO,IADlBA,UAMnC,IAAK,IAAIwB,KAAO6M,EACZ,IAAI,IAAU6nB,EAASz0B,KAAK4M,EAAO7M,GAAMA,EAAK6M,EAAO7M,IACjD,MAIZ,OAAO6M,IAaX/P,EAAQkwD,YAVU,SAAS5yB,EAAO1F,GAC9B,GAAK0F,GAAW,WAAYA,GAAU,IAAMA,EAAMl7B,OAGlD,IAAK,IAAIV,EAAI47B,EAAMl7B,OAAS,EAAGV,GAAK,IAC5B,IAAUk2B,EAASz0B,KAAKm6B,EAAM57B,GAAIA,EAAG47B,EAAM57B,IADZA,Q,iCCpC3C1B,EAAQmwD,OAASnwD,EAAQowD,WAAQ,EACjC,IAAI9vD,EAAQF,EAAQ,IAChBykC,EAAO,aACPwrB,EAAmB,SAAS3vD,GAC5B,MAAI,qBAAuB4vD,UAAY,EAAIhwD,EAAM2T,YAAYq8C,QAAQ5vD,IAG9D4vD,QAAQ5vD,GAAQqB,KAAKuuD,SAFjBzrB,GAIXsrB,EAAS,CACTnsB,KAAMqsB,EAAiB,QACvBE,KAAMF,EAAiB,QACvB/xB,MAAO+xB,EAAiB,UAE5BrwD,EAAQmwD,OAASA,EACjB,IAAIC,EAAQ,WACR,SAASI,EAAOnhB,EAAWvd,GACvB,IAAKud,EACD,MAAM,IAAIxsC,MAAMivB,GAOxB,MAAO,CACH0+B,OAAQA,EACRC,YALJ,SAAqBC,EAAW5+B,GAC5B0+B,EAAO,OAASE,QAAa,IAAWA,EAAW5+B,KAR/C,GAeZ9xB,EAAQowD,MAAQA,G,iCC9BhBpwD,EAAQC,aAAU,EAClB,IAGgCC,EAH5BywD,EAAWvwD,EAAQ,KAQvB,IAAI0D,GAAW,IALiB5D,EAFkBE,EAAQ,OAGxCF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,IAGqBD,SAAS,CAC7Coa,UAAW,WACP,OAAO,GAEXu2C,kBAAmB,WACf,OAAO,GAEX16B,KAAM,SAASrwB,GACX,OAAOA,GAEXuU,OAAQ,SAASvU,GACb,OAAOA,GAEXyU,OAAQ,WACJq2C,EAASR,OAAO7xB,MAAM,yGAG9Bt+B,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCC3BzBD,EAAQC,aAAU,EAClB,IAAImT,EAAUhT,EAAQ,IAClBiT,EAAUjT,EAAQ,IAClB6D,EAAY7D,EAAQ,IACpBg9B,EAAe1rB,EAAuBtR,EAAQ,MAC9Ci8B,EAAS3qB,EAAuBtR,EAAQ,MAE5C,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAInB,SAAS2wD,EAAgBrxB,EAAOohB,GAS5B,OARAphB,EAAQA,EAAM7f,QAAQihC,EAAU,GAAGruB,UAC/BquB,EAAUx+C,OAAS,IACnBo9B,EAAQA,EAAMmX,QAAO,SAASma,GAC1B,OAAO,EAAIz9C,EAAQa,QAAQ,GAAI48C,EAAG,CAC9B7a,MAAO4a,GAAgB,EAAIzzB,EAAan9B,SAAS6wD,EAAE7a,OAAQ2K,EAAU1+C,MAAM,IAAIwwB,gBAIpF8M,EAGX,SAASuxB,EAAmBnQ,EAAWoQ,GACnC,IAAIC,EAAgB,GASpB,OARA,EAAIhtD,EAAU2C,MAAMg6C,GAAW,SAAS9vC,EAAGykC,IACvB,EAAIniC,EAAQ+xC,MAAM6L,GAAU,SAAS9kB,GACjD,OAAOqJ,EAAMhjB,WAAa2Z,EAAK3Z,YAErBnwB,OAAS,GACnB6uD,EAAc3uD,KAAKizC,MAGpB0b,EAAc9xC,OAAO6xC,GAwChC,IAAIltD,EAAW,CACX+sD,gBAAiBA,EACjBE,mBAAoBA,EACpBG,eAxCJ,SAAwB1xB,EAAO5rB,EAASu9C,GAEpC,IAAI38C,GADJZ,EAAUA,GAAW,IACAY,OAIrB,GAHIA,IACAgrB,EAAQA,EAAMhrB,OAAOA,IAErB28C,EACA,OAAO3xB,EAEX,IAAI0M,EAAOt4B,EAAQs4B,KACfyK,EAAS/iC,EAAQ+iC,OACjBpB,EAAQ3hC,EAAQ2hC,MAChBkD,EAAO7kC,EAAQ6kC,KACfM,EAAOnlC,EAAQmlC,KAsBnB,OArBIxD,KACAA,EAAQlZ,EAAOp8B,QAAQmuC,qBAAqBmH,IACtC6b,sBAAwBx9C,EAAQ2hC,MAAM6b,sBAE5CllB,GAAQqJ,KACRrJ,EAAO7P,EAAOp8B,QAAQmuC,qBAAqBlC,GAAQ,IAC/CqJ,IAAUA,EAAM6b,sBAChBllB,EAAO6kB,EAAmBxb,EAAOrJ,KACpC,EAAIjoC,EAAU2C,MAAMslC,GAAM,SAASj8B,GAChCuvB,EAAQA,EAAMvvB,EAAQ,SAAW,UAAUrP,KAAK2xB,SAAU3xB,KAAKytC,KAAMztC,KAAK0tC,aAG9EqI,IACAnX,EAAQA,EAAMmX,OAAOA,IAErBpB,IACA/V,EAAQqxB,EAAgBrxB,EAAO+V,KAE/BwD,GAAQN,KACRjZ,EAAQA,EAAMt9B,MAAMu2C,GAAQ,EAAGM,IAE5BvZ,IAOXx/B,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCCjFzBD,EAAQC,aAAU,EAClB,IAAI07B,EAAYv7B,EAAQ,IACpBqR,EAAeC,EAAuBtR,EAAQ,KAC9CixD,EAAgB3/C,EAAuBtR,EAAQ,OAC/CqP,EAAUrP,EAAQ,IAClBiT,EAAUjT,EAAQ,IAClBE,EAAQF,EAAQ,IAChBkxD,EAAW5/C,EAAuBtR,EAAQ,MAC1C28B,EAAuBrrB,EAAuBtR,EAAQ,MAE1D,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIgS,GAAS,EAAIzC,EAAQG,aA6BrB2hD,EAAe,SAAS39C,GACxB,IAAI49C,EAAS//C,EAAaxR,QAAQsX,cAAc,UAChD,IAAK,IAAI9V,KAAQmS,EACb49C,EAAO/vD,GAAQmS,EAAQnS,GAE3B,OAAO+vD,GAEPC,EAAe,SAASC,GACxBA,EAAW9iC,WAAW+iC,YAAYD,IAElCE,EAAe,SAASvgD,GACxB,OAAOI,EAAaxR,QAAQ4xD,UAAUj6C,YAAYvG,IAElDygD,EAAa,SAASpiB,GACtB,IAAI8hB,EAASD,EAAa,CACtB3lC,KAAM8jB,IAEVkiB,EAAaJ,GACbC,EAAaD,IAoGbO,EAAoB,SAASn+C,EAASo+C,GACtC,IAAIC,EAASr+C,EAAQ4C,KACjB07C,EAAsB,kBAAoBD,EAC1Cv0B,EAAM9pB,EAAQ8pB,KAAOxrB,EAAOigD,SAASC,KAoBzC,OAnBKF,GAAwBt+C,EAAQuyB,SACjC8rB,EAASA,GAAU,IACZnhD,EAAIhJ,KAAK2K,OAEhBw/C,IAAWr+C,EAAQy+C,SACdH,IACDD,EAjJQ,SAASA,GACzB,IAAIhsD,EAAS,GACb,IAAK,IAAIxE,KAAQwwD,EAAQ,CACrB,IAAIpsD,EAAQosD,EAAOxwD,QACf,IAAWoE,IAGX,OAASA,IACTA,EAAQ,IAER,oBAAsBA,IACtBA,EAAQA,KAEZI,EAAO3D,KAAKgwD,mBAAmB7wD,GAAQ,IAAM6wD,mBAAmBzsD,KAEpE,OAAOI,EAAOklB,KAAK,KAkIFonC,CAAcN,IAEvB,QAAUO,EAAU5+C,IAChB,KAAOq+C,IACPv0B,IAAQA,EAAIxmB,QAAQ,MAAQ,EAAI,IAAM,KAAO+6C,GAEjDA,EAAS,MAELD,EAAQ,iBAAmBA,EAAQ,gBAAgB96C,QAAQ,sCAAwC,IACnG+6C,EAASA,EAAO96C,QAAQ,OAAQ,OAIrC,CACHumB,IAAKA,EACL+0B,WAAYR,IAIpB,SAASO,EAAU5+C,GACf,OAAQA,EAAQlT,QAAU,OAAOqrB,cAErC,IAAI2mC,EAAoB,SAAS9+C,GAC7B,IAAIo+C,EAAUp+C,EAAQo+C,SAAW,GAMjC,OALAA,EAAQ,gBAAkBA,EAAQ,iBAlGX,SAASp+C,GAChC,IAAI++C,EAIJ,OAHI/+C,EAAQ4C,OAAS5C,EAAQy+C,QAAU,QAAUG,EAAU5+C,KACvD++C,EAAqB,mDAElB/+C,EAAQg/C,aAAeD,EA6FuBE,CAAqBj/C,GAC1Eo+C,EAAQc,OAASd,EAAQc,QAlHP,SAASl/C,GAC3B,IAAIotC,EAAWptC,EAAQotC,UAAY,IAC/B+R,EAAe,4FACfC,EAAU,CACV,IAAK,MACLpnC,KAAM,aACNjO,KAAM,YACNs1C,IAAK,4BACLC,KAAM,oCACNC,MAAOJ,EACPvB,OAAQuB,GAGZ,OADA,EAAI1/C,EAAQ+8B,kBAAkB4iB,EAASp/C,EAAQo/C,SAAS,GACjDA,EAAQhS,GAAYgS,EAAQhS,IAAa,MAAQA,EAAW,gBAAkB,IAAMgS,EAAQ,KAqGhEI,CAAgBx/C,GAC9CA,EAAQy/C,aAAgBrB,EAAQ,sBACjCA,EAAQ,oBAAsB,kBAE3BA,GAwFPluD,GAAW,EAAIi5B,EAAqB98B,SAAS,CAC7C8gD,YAvFc,SAASntC,GACvB,IAMIi7B,EANA5B,EAAMokB,EAAcpxD,QAAQg9B,SAC5BjY,EAAI,IAAI2W,EAAUyC,SAClBn4B,EAAS+e,EAAEua,UACX+zB,IAAQ,EAAIhzD,EAAM0K,WAAW4I,EAAQ0/C,QAAS1/C,EAAQ0/C,MACtDtS,EAAWptC,EAAQotC,SACnBjU,EAAUn5B,EAAQm5B,SAAW,EAEjCn5B,EAAQy/C,YAlFQ,SAAS31B,GACzB,KAAK,EAAIjuB,EAAQE,aACb,OAAO,EAEX,IAAI0jD,GAAc,EACdE,EAAe9hD,EAAaxR,QAAQsX,cAAc,KAClDi8C,EAAY/hD,EAAaxR,QAAQsX,cAAc,KACnDg8C,EAAanB,KAAOlgD,EAAOigD,SAASC,KACpC,IACIoB,EAAUpB,KAAO10B,EACjB81B,EAAUpB,KAAOoB,EAAUpB,KAC3BiB,EAAcE,EAAaE,SAAW,KAAOF,EAAaG,OAASF,EAAUC,SAAW,KAAOD,EAAUE,KAC3G,MAAOxuD,GACLmuD,GAAc,EAElB,OAAOA,EAmEeM,CAAc//C,EAAQ8pB,KAC5C,IAAIk2B,EAAuB,UAAY5S,GAAY,WAAaA,OAC5D,IAAWptC,EAAQuyB,QACnBvyB,EAAQuyB,OAASytB,GAErB,IAAIC,EAhEc,SAASjgD,GAC3B,GAAI,UAAYA,EAAQotC,SAAU,CAC9B,IAAI31B,EAASnlB,KAAKmlB,SAAS/H,WAAWnM,QAAQ,MAAO,IACjD08C,EAAejgD,EAAQkgD,eAAiB,aAAehsD,KAAK2K,MAAQ,IAAM4Y,EAC1E0oC,EAAoBngD,EAAQu/C,OAAS,WAGzC,OAFAv/C,EAAQ4C,KAAO5C,EAAQ4C,MAAQ,GAC/B5C,EAAQ4C,KAAKu9C,GAAqBF,EAC3BA,GAyDQG,CAAgBpgD,GAC/Bo+C,EAAUU,EAAkB9+C,GAC5BqgD,EAAiBlC,EAAkBn+C,EAASo+C,GAC5Ct0B,EAAMu2B,EAAev2B,IACrB+0B,EAAawB,EAAexB,WAMhC,GALIoB,IACA3hD,EAAO2hD,GAAgB,SAASr9C,GAC5BwO,EAAEqa,QAAQ7oB,EA/MR,UA+MuBy2B,KAG7Br5B,EAAQy/C,aAAeO,EAAsB,CAW7C,OA7KoB,SAASl2B,GACjC,IAAI8zB,EAASD,EAAa,CACtB2C,IAAKx2B,IAET,OAAO,IAAI4zB,EAASrxD,SAAQ,SAASo/B,EAASzC,GAC1C,IAAIu3B,EAAS,CACTnb,KAAM3Z,EACNf,MAAO1B,GAEPw3B,EAAc,SAASlvD,GACvBivD,EAAOjvD,EAAEoR,QACTm7C,EAAaD,IAEjB,IAAK,IAAInjC,KAAS8lC,EACd1iD,EAAaxR,QAAQ0S,OAAO6+C,EAAQnjC,EAAO+lC,GAE/CxC,EAAaJ,MA4Jb6C,CAAsB32B,GAAK1B,MANb,WACN,UAAYglB,GAGhBh8B,EAAEqa,QAAQ,KA1NR,UA0NuB4N,MAPhB,WACTjoB,EAAE4X,OAAOqQ,EAnNT,YA4NGhnC,EAEX,GAAI2N,EAAQy/C,eAAiB,oBAAqBpmB,GAE9C,OADAjoB,EAAE4X,OAAOqQ,EA/NL,SAgOGhnC,EA0BX,GAxBAgnC,EAAIqnB,KAAK9B,EAAU5+C,GAAU8pB,EAAK41B,EAAO1/C,EAAQ2gD,SAAU3gD,EAAQ4gD,UAC/DlB,IACArmB,EAAIF,QAAUA,EACd8B,EApGa,SAAS9B,EAASE,GACnC,OAAOF,GAAWgC,YAAW,WACzB9B,EAAIwnB,aAlIE,UAmINxnB,EAAI2I,UACL7I,GAgGa2nB,CAAe3nB,EAASE,IAExCA,EAAI0nB,mBAAqB,SAASzvD,GAnOhB,IAASioC,EAoOnB,IAAMF,EAAI2nB,aACVlf,aAAa7G,GApOd,MADoB1B,EAsOCF,EAAIE,SArORA,EAAS,IAEpB,SAASA,GACtB,OAAO,MAAQA,EAmOC0nB,CAAW5nB,EAAIE,QAhJjB,SAAS1Q,EAAUwQ,EAAK+T,GACtC,IAAIxqC,EAJkB,SAASy2B,GAC/B,OAAOA,EAAI6nB,cAAgB,SAAW7nB,EAAI6nB,cAAgB,kBAAoB7nB,EAAI8nB,aAAe9nB,EAAI+nB,SAAW/nB,EAAI8nB,aAGzGE,CAAoBhoB,GAC/B,OAAQ+T,GACJ,IAAK,QACD8Q,EAAWt7C,GACX,MACJ,IAAK,SACDs7C,EAAWt7C,GACXimB,EAAS4C,QAAQ7oB,EApGf,UAoG8By2B,GAChC,MACJ,IAAK,OACD,IACIxQ,EAAS4C,QAAQjqB,KAAKu8B,MAAMn7B,GAxG9B,UAwG8Cy2B,GAC9C,MAAO/nC,GACLu3B,EAASG,OAAOqQ,EAtGb,cAsGgC/nC,GAEvC,MACJ,QACIu3B,EAAS4C,QAAQ7oB,EA9Gf,UA8G8By2B,IA+HxB8G,CAAY/uB,EAAGioB,EAAK+T,GAEpBh8B,EAAEqa,QAAQ,KA5Ob,YA4O+B4N,GAGhCjoB,EAAE4X,OAAOqQ,EAAKA,EAAIwnB,cAjPtB,WAqPJ7gD,EAAQy+C,SACRplB,EAAIolB,OAAO6C,WAAathD,EAAQy+C,OAAO6C,WACvCjoB,EAAIolB,OAAO8C,YAAcvhD,EAAQy+C,OAAO8C,YACxCloB,EAAIolB,OAAO+C,QAAUxhD,EAAQy+C,OAAO+C,SAEpCxhD,EAAQyhD,UACR,IAAK,IAAI1vB,KAAS/xB,EAAQyhD,UACtBpoB,EAAItH,GAAS/xB,EAAQyhD,UAAU1vB,GAMvC,IAAK,IAAIlkC,IAHL,gBAAkBmS,EAAQkhD,eAC1B7nB,EAAI6nB,aAAelhD,EAAQkhD,cAEd9C,EACTnwD,OAAOR,UAAUS,eAAeqB,KAAK6uD,EAASvwD,KAAS,EAAInB,EAAM0K,WAAWgnD,EAAQvwD,KACpFwrC,EAAIqoB,iBAAiB7zD,EAAMuwD,EAAQvwD,IAU3C,OAPImS,EAAQ2hD,YACR3hD,EAAQ2hD,WAAWtoB,GAEvBA,EAAIuoB,KAAK/C,GACTxsD,EAAO2vC,MAAQ,WACX3I,EAAI2I,SAED3vC,KAKXjG,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCCrSzBD,EAAQ+pC,sBAAmB,EAC3B,IAAIhrB,EAAiB3e,EAAQ,KACzB4e,EAAO5e,EAAQ,KAQnB,SAASyE,EAAgBM,EAAGC,GAKxB,OAJAP,EAAkBhD,OAAOwD,gBAAkB,SAASF,EAAGC,GAEnD,OADAD,EAAEG,UAAYF,EACPD,IAEYA,EAAGC,GAE9B,IAAI2kC,EAAmB,SAASjJ,GAbhC,IAAwBC,EAAUC,EAgB9B,SAAS+I,EAAiBhqB,GACtB,IAAIkhB,EAGJ,OAFAA,EAAQH,EAAc39B,KAAKvC,OAASA,MAC9Bkf,QAAUC,EACTkhB,EAMX,OA1B8BD,EAcGF,GAdbC,EAcLgJ,GAbN1oC,UAAYQ,OAAO25B,OAAOwF,EAAW3/B,WAC9C0/B,EAAS1/B,UAAUmC,YAAcu9B,EACjCl8B,EAAgBk8B,EAAUC,GAmBb+I,EAAiB1oC,UACvB8/B,YAAc,SAASvtB,GAC1B,OAAO,EAAIoL,EAAKoB,0BAA0Bxf,KAAKkf,QAAQlM,KAEpDm2B,EAbY,CAcrBhrB,EAAe2B,cACjB1gB,EAAQ+pC,iBAAmBA,G,iCChC3B/pC,EAAQ6yC,oBAAiB,EACzB,IAIgC3yC,EAJ5BqQ,GAI4BrQ,EAJQE,EAAQ,OAK9BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GALf+D,EAAY7D,EAAQ,IACpBE,EAAQF,EAAQ,IAOpB,IAAIyyC,EAAiB,WACjB,SAASA,EAAe4iB,GACpB,IAAI7hD,EAAU7S,UAAUqB,OAAS,QAAK,IAAWrB,UAAU,GAAKA,UAAU,GAAK,GAC/EH,KAAK80D,QAAU,GACf90D,KAAK+0D,OAASF,EACd70D,KAAKimB,SAAWjT,EAEpBi/B,EAAerX,OAAS,SAASi6B,EAAOnkD,GACpC,OAAIA,GACO,EAAIhR,EAAM2T,YAAY3C,GAAYA,EAASmkD,GAASnkD,EAEpD,IAAIuhC,EAAe4iB,IAGlC,IAAI9kD,EAASkiC,EAAexxC,UA6C5B,OA5CAsP,EAAOilD,SAAW,SAASza,GACvB,IAAIzqC,EAAY9P,KAAK80D,QAAQva,GAC7B,QAAOzqC,GAAYA,EAAUN,OAEjCO,EAAOgnC,UAAY,SAASwD,EAAW0a,GACnC,IAAInlD,EAAY9P,KAAK80D,QAAQva,GAI7B,OAHIzqC,GACAA,EAAUiX,SAAS/mB,KAAK+0D,OAAQE,GAE7Bj1D,KAAK+0D,QAEhBhlD,EAAO+iC,GAAK,SAASyH,EAAWC,GAC5B,IAAIna,EAAQrgC,KACZ,IAAI,EAAIN,EAAMkc,eAAe2+B,IACzB,EAAIl3C,EAAU2C,MAAMu0C,GAAW,SAASj2C,EAAGm7B,GACvCY,EAAMyS,GAAGxuC,EAAGm7B,UAEb,CACH,IAAI3vB,EAAY9P,KAAK80D,QAAQva,GACxBzqC,IACDA,GAAY,EAAIH,EAAWtQ,SAAS,CAChC4nB,aAAcjnB,KAAKimB,SAASgB,eAEhCjnB,KAAK80D,QAAQva,GAAazqC,IAElBA,EAAUolD,aAAeplD,EAAUE,KACzCzN,KAAKuN,EAAW0qC,KAG9BzqC,EAAO62B,IAAM,SAAS2T,EAAWC,GAC7B,IAAI1qC,EAAY9P,KAAK80D,QAAQva,GACzBzqC,KACI,EAAIpQ,EAAM2T,YAAYmnC,GACtB1qC,EAAUM,OAAOoqC,GAEjB1qC,EAAUgX,UAItB/W,EAAOi0B,QAAU,YACb,EAAI3gC,EAAU2C,MAAMhG,KAAK80D,SAAS,SAASva,EAAW9sB,GAClDA,EAAM3G,YAGPmrB,EA3DU,GA6DrB7yC,EAAQ6yC,eAAiBA,G,iCC9DzB,SAAShuC,EAAgBM,EAAGC,GAKxB,OAJAP,EAAkBhD,OAAOwD,gBAAkB,SAASF,EAAGC,GAEnD,OADAD,EAAEG,UAAYF,EACPD,IAEYA,EAAGC,GAd9BpF,EAAQ8gB,0BAAuB,EAgB/B,IAAIA,EAAuB,SAASggB,GAbpC,IAAwBC,EAAUC,EAgB9B,SAASlgB,EAAqBrf,GAC1B,IAAIw/B,EAGJ,OAFAA,EAAQH,EAAc39B,KAAKvC,OAASA,MAC9Ba,KAAOA,EACNw/B,EAEX,OAtB8BD,EAcOF,GAdjBC,EAcLjgB,GAbNzf,UAAYQ,OAAO25B,OAAOwF,EAAW3/B,WAC9C0/B,EAAS1/B,UAAUmC,YAAcu9B,EACjCl8B,EAAgBk8B,EAAUC,GAmBnBlgB,EATgB,CAfN1gB,EAAQ,KAyBZsgB,cACjB1gB,EAAQ8gB,qBAAuBA,G,iCC3B/B9gB,EAAQ+1D,kBAAoB/1D,EAAQ0gB,kBAAe,EACnD,IAAIhJ,EAAYhG,EAAuBtR,EAAQ,KAC3CqR,EAAeC,EAAuBtR,EAAQ,KAC9CmQ,EAAamB,EAAuBtR,EAAQ,MAC5C4e,EAAO5e,EAAQ,KACf41D,EAAqB51D,EAAQ,KAC7BD,EAAUuR,EAAuBtR,EAAQ,MAE7C,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAI61D,GAAoB,EAAIxlD,EAAWtQ,SAAS,CAC5C4nB,cAAc,IAElB7nB,EAAQ+1D,kBAAoBA,EAC5B,IAAIr1C,EAAe,WACf,SAASA,KACT,IAAI/P,EAAS+P,EAAarf,UA6B1B,OA5BAsP,EAAOoP,OAAS,SAASnM,GAErB,IAAIqM,GADJrM,EAAUA,GAAW,IACIqM,kBAClBrM,EAAQqM,WACf,IAAIg2C,EAAUr1D,KAAKugC,YAAYvtB,GAI/B,OAHAhT,KAAKs1D,yBAAyBD,EAASriD,EAAQgK,WAC/Cm4C,EAAkB9kD,KAAKglD,EAASriD,EAAQgK,WACxCqC,GAAcA,IACPg2C,GAEXtlD,EAAOulD,yBAA2B,SAASD,EAASr4C,GAChD,GAAKA,EAAL,CAGA,IAAIi/B,GAAa,EAAInlC,EAAUzX,SAAS2d,GACpCu4C,GAAoB,EAAIn3C,EAAK0N,UAAUmwB,EAAW1sC,IAAI,GAAI8lD,EAAQ9lD,IAAI,IAE1E,GADA0sC,EAAW5uB,OAAOgoC,IACdE,EAGe1kD,EAAaxR,QAAQgtB,UAAUP,SAASmwB,EAAW1sC,IAAI,MAGzE,EAAI6lD,EAAmBI,mBAAmBH,KAE/CtlD,EAAOwwB,YAAc,WACjB,MAAMhhC,EAAQF,QAAQ4C,MAAM,UAEzB6d,EA/BQ,GAiCnB1gB,EAAQ0gB,aAAeA,G,iCClDvB1gB,EAAQC,aAAU,EAClB,IAKgCC,EAL5BwX,GAK4BxX,EALOE,EAAQ,MAM7BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GANfuP,EAAUrP,EAAQ,IAClBE,EAAQF,EAAQ,IAChB6D,EAAY7D,EAAQ,IAOxB,IAAIi2D,EAAS,WACT,SAASA,EAAO/R,EAAQn0B,GACpBA,EAASA,GAAU,GACnBvvB,KAAK01D,QAAUhS,EACf1jD,KAAK21D,SAAWpmC,EAAO/I,UAAW,EAAI3X,EAAQG,aAC9ChP,KAAK41D,eAAiBrmC,EAAOsmC,cAC7B71D,KAAK81D,cAAgBvmC,EAAOwmC,aAC5B/1D,KAAK8gD,WAAavxB,EAAO80B,UACzBrkD,KAAKg2D,sBAAwBzmC,EAAO0mC,qBACpC,IAAIC,EAAoBl2D,KAAKm2D,mBAAqB,GAClD,GAAI5mC,EAAO2mC,kBACP,IAAK,IAAIp1D,EAAI,EAAGA,EAAIyuB,EAAO2mC,kBAAkB10D,OAAQV,IACjDo1D,EAAkB3mC,EAAO2mC,kBAAkBp1D,KAAM,EAI7D,IAAIiP,EAAS0lD,EAAOh1D,UAuEpB,OAtEAsP,EAAOqmD,QAAU,WACb,IAAI9xD,EAAI,CACJo/C,OAAQ1jD,KAAK01D,QACbhyD,KAAMkH,MAAMnK,UAAUa,MAAMiB,KAAKpC,WACjCqmB,QAASxmB,KAAK21D,SACdtR,UAAWrkD,KAAK8gD,WAChBmV,qBAAsBj2D,KAAKg2D,sBAC3Bj6B,QAAQ,EACRs6B,SAAS,GAETR,EAAgB71D,KAAK41D,eACrBG,EAAe/1D,KAAK81D,cACpBQ,EAAUhyD,EAAEZ,KAAK,IAAM,GAC3B,GAAK1D,KAAKu2D,gBAAgBjyD,KAG1B,OAASuxD,QAAiB,IAAWA,GAAyBA,EAActzD,KAAKvC,KAAK21D,SAAUrxD,IAC5FA,EAAEy3B,QAAN,CAGA,IAAI12B,EAASrF,KAAKw2D,eAAelyD,GACjC,IAAIgyD,EAAQv6B,OAIZ,OADA,OAASg6B,QAAgB,IAAWA,GAAwBA,EAAaxzD,KAAKvC,KAAK21D,SAAUrxD,GACtFe,IAEX0K,EAAOwmD,gBAAkB,SAASjyD,GAC9B,IAAI4xD,EAAoBl2D,KAAKm2D,mBACzBM,EAAYhB,EAAOgB,UACvB,IAAK,IAAI51D,KAAQ41D,EACb,IAAKP,EAAkBr1D,GAAO,CAC1B,IAAI61D,EACAC,EAAWF,EAAU51D,GAEzB,GADA,QAAU61D,EAAqBC,EAASC,gBAAa,IAAWF,GAA8BA,EAAmBn0D,KAAKo0D,EAAUryD,GAC5HA,EAAEy3B,OACF,OAAO,EAInB,OAAO,GAEXhsB,EAAOymD,eAAiB,SAASlyD,GAC7B,IAAIe,EACAoxD,EAAYhB,EAAOgB,UACvB,IAAK,IAAI51D,KAAQ41D,EAAW,CACxB,IAAII,EACAF,EAAWF,EAAU51D,GAEzB,GADA,QAAUg2D,EAAoBF,EAASP,eAAY,IAAWS,GAA6BA,EAAkBt0D,KAAKo0D,EAAUryD,GACxHA,EAAE+xD,QAAS,CACXhxD,EAASf,EAAEe,OACX,OAGR,OAAOA,GAEXowD,EAAOqB,iBAAmB,SAASj2D,EAAM81D,IACjC,EAAIj3D,EAAMkc,eAAe/a,IACzB,EAAIwC,EAAU2C,MAAMnF,EAAM40D,EAAOqB,kBAGrCrB,EAAOgB,UAAU51D,GAAQ81D,GAE7BlB,EAAOsB,mBAAqB,WACxB,IAAK,IAAIzmD,EAAOnQ,UAAUqB,OAAQkC,EAAO,IAAIkH,MAAM0F,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC7E7M,EAAK6M,GAAQpQ,UAAUoQ,IAC1B,EAAIlN,EAAU2C,MAAMtC,GAAM,kBAChB+xD,EAAOgB,UAAUz2D,UAGzBy1D,EAvFE,GAyFbr2D,EAAQC,QAAUo2D,EAClBA,EAAOgB,UAAY,GACnB,IAAIO,EAAiC,SAASvoB,GAC1C,OAAO,SAASnqC,GACZ,GAAKA,EAAEZ,KAAKlC,OAAZ,CAGA,IAAIkC,EAAOY,EAAEZ,KAAK,GACd+M,EAAU/M,EAAKY,EAAE2xD,uBAAyBvyD,EAAK+M,QAC/CA,GAAWg+B,GAAU,EAAI33B,EAAUzX,SAASoR,MAC5CnM,EAAEy3B,QAAS,MAIvB05B,EAAOqB,iBAAiB,CACpB1V,SAAU,CACNwV,SAAUI,GAA+B,SAASC,GAC9C,OAAOA,EAAQ9pC,GAAG,gDAG1B+pC,SAAU,CACNN,SAAUI,GAA+B,SAASC,GAC9C,OAAOA,EAAQ9pC,GAAG,2EAG1BgqC,UAAW,CACPf,QAAS,SAAS9xD,GACTA,EAAEo/C,SACHp/C,EAAEe,YAAS,EACXf,EAAE+xD,SAAU,KAIxBrzD,KAAM,CACFozD,QAAS,SAAS9xD,IACV,EAAI5E,EAAM2T,YAAY/O,EAAEo/C,UACxBp/C,EAAEe,OAASf,EAAEo/C,OAAOnhD,KAAK+B,EAAEkiB,QAASliB,EAAEZ,KAAK,IAC3CY,EAAE+xD,SAAU,OAK5BlzD,EAAO/D,QAAUA,EAAQC,S,gCC9IzBD,EAAQo+B,SAgKR,WACI,OAAO,IAAI45B,GAhKfh4D,EAAQi4D,YAAcA,EACtBj4D,EAAQk4D,YAyJR,SAAqBryD,GACjBmyD,EAAenyD,EAAMu4B,SACrB+5B,EAAWtyD,EAAMo2B,MA1JrBj8B,EAAQi8B,KAiKR,WACI,OAAOk8B,EAASr3D,MAAMF,KAAMG,YAjKhC,IAIgCb,EAJ5BI,EAAQF,EAAQ,IAChBiT,EAAUjT,EAAQ,IAClBmQ,GAE4BrQ,EAFQE,EAAQ,OAG9BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIk4D,EAAiB,CAAC,CAClB13D,OAAQ,UACR69B,QAAS,OACT+hB,MAAO,YACR,CACC5/C,OAAQ,SACR69B,QAAS,OACT+hB,MAAO,YACR,CACC5/C,OAAQ,SACR69B,QAAS,aAETy5B,EAAe,WACf,IAAI7J,EAAOvtD,KACXA,KAAKy3D,OAAS,UACdz3D,KAAK0wD,SAAW,GAChB8G,EAAeniD,QAAQ,SAASka,GAC5B,IAAI1vB,EAAa0vB,EAAOzvB,OACxBE,KAAKH,EAAa,aAAe,IAAI8P,EAAWtQ,QAChDW,KAAKH,GAAc,WACf,OAAOG,KAAKH,EAAa,QAAQG,KAAK0wD,SAAUvwD,YAClDgB,KAAKnB,MACPA,KAAK0wD,SAASnhC,EAAOoO,SAAW,SAASA,GACrC,IAAKA,EACD,OAAO39B,KAEX,IAAI8P,EAAYy9C,EAAK1tD,EAAa,aAQlC,OAPIiQ,EAAUqX,QACVwW,EAAQz9B,MAAMqtD,EAAK1tD,EAAa,WAAY0tD,EAAK1tD,EAAa,SAE9DiQ,EAAUE,IAAI,SAASwW,EAAS9iB,GAC5Bi6B,EAAQz9B,MAAMsmB,EAAS9iB,IACzBvC,KAAKnB,OAEJA,OAEbmB,KAAKnB,OACPA,KAAK0wD,SAASp1B,OAAS,SAASqC,GAC5B,OAAO39B,KAAKs+B,KAAKX,GAASe,KAAKf,IAEnC39B,KAAK0wD,SAASgH,MAAQ,SAAS/5B,GAC3B,OAAO39B,KAAKo7B,KAAK,KAAMuC,IAE3B39B,KAAK0wD,SAASt1B,KAAO,SAASqD,EAASzC,GACnC,IAAI32B,EAAS,IAAI+xD,EAoBjB,MAnBA,CAAC,OAAQ,QAAQ/hD,QAAQ,SAASvV,GAC9B,IAAIk3B,EAAW,SAAWl3B,EAAS2+B,EAAUzC,EAC7Ch8B,KAAKF,IAAQ,WACT,GAAKk3B,EAAL,CAIA,IAAI2gC,EAAiB3gC,GAAYA,EAAS92B,MAAMF,KAAMG,YAClD,EAAIT,EAAMy+C,YAAYwZ,GACtBA,EAAer5B,KAAKj5B,EAAOo5B,SAASC,KAAKr5B,EAAO22B,SAE5C,EAAIt8B,EAAMu+C,WAAW0Z,GACrBA,EAAev8B,KAAK/1B,EAAOo5B,QAASp5B,EAAO22B,QAE3C32B,EAAOo5B,QAAQv+B,MAAMF,MAAM,EAAIN,EAAM0K,WAAWutD,GAAkB,CAACA,GAAkBx3D,gBAVzFkF,EAAO,SAAWvF,EAAS,UAAY,UAAUI,MAAMF,KAAMG,eAcvEgB,KAAKnB,OACAqF,EAAOs5B,WAElB3+B,KAAK0wD,SAAShR,MAAQ,WAClB,OAAO6N,EAAKkK,QAEhBz3D,KAAK0wD,SAAS/xB,QAAU,SAASj7B,GAC7B,OAAOA,GAAO,EAAI+O,EAAQa,QAAQ5P,EAAM6pD,EAAKmD,UAAYnD,EAAKmD,UAElE1wD,KAAK0wD,SAAS/xB,QAAQ3+B,OAmB1B,SAASq3D,EAAY14B,EAASnY,GAC1B,IAAI,EAAI9mB,EAAMy+C,YAAYxf,GACtB,OAAOA,EAEP,IAAI,EAAIj/B,EAAMu+C,WAAWtf,GAAU,CAC/B,IAAIva,EAAI,IAAIgzC,EAUZ,OATAz4B,EAAQvD,MAAK,WACThX,EAAE2oC,YAAY7sD,MAAMkkB,EAAG,CAACoC,GAASjI,OAAO,CACpC,GAAGjd,MAAMiB,KAAKpC,iBAEnB,WACCikB,EAAE0oC,WAAW5sD,MAAMkkB,EAAG,CAACoC,GAASjI,OAAO,CACnC,GAAGjd,MAAMiB,KAAKpC,iBAGfikB,EAGf,OAAQ,IAAIgzC,GAAcrK,YAAYvmC,EAAS,CAACmY,IAnCpD64B,EAAeniD,SAAQ,SAASka,GAC5B,IAAI1vB,EAAa0vB,EAAOzvB,OACpB4/C,EAAQnwB,EAAOmwB,MACnB0X,EAAa32D,UAAUZ,EAAa,QAAU,SAAS2mB,EAAS9iB,GAC5D,IAAIoM,EAAY9P,KAAKH,EAAa,aASlC,MARI,YAAcG,KAAK0/C,UACnB1/C,KAAKH,EAAa,QAAU6D,EAC5B1D,KAAKH,EAAa,WAAa2mB,EAC3Bk5B,IACA1/C,KAAKy3D,OAAS/X,GAElB5vC,EAAUO,KAAKmW,EAAS9iB,IAErB1D,SAwBf,IAAIu3D,EAAW,WACX,GAAI,IAAMp3D,UAAUqB,OAChB,OAAO61D,EAAYl3D,UAAU,IAgBjC,IAdA,IAAIgP,EAAS,GAAG7N,MAAMiB,KAAKpC,WACvBy3D,EAAW,GACXC,EAAgB,EAChBh8B,EAAW,IAAIu7B,EACfU,EAAc,SAASh3D,GACvB,OAAO,SAASmE,GACZ2yD,EAAS92D,GAAKd,KACdmP,EAAOrO,GAAKX,UAAUqB,OAAS,EAAI,GAAGF,MAAMiB,KAAKpC,WAAa8E,IAC9D4yD,IACsB1oD,EAAO3N,QACzBq6B,EAASkxB,YAAY6K,EAAUzoD,KAIlCrO,EAAI,EAAGA,EAAIqO,EAAO3N,OAAQV,KAC3B,EAAIpB,EAAMy+C,YAAYhvC,EAAOrO,IAC7BqO,EAAOrO,GAAG69B,UAAUL,KAAKw5B,EAAYh3D,IAAI49B,KAAK7C,EAASG,QAEvD67B,IAMR,OAHIA,IAAkB1oD,EAAO3N,QACzBq6B,EAASkxB,YAAY6K,EAAUzoD,GAE5B0sB,EAAS8C,Y,gCCxJpBv/B,EAAQ2P,UAAY3P,EAAQ66B,YAAc76B,EAAQ4P,UAAY5P,EAAQ6Y,aAAe7Y,EAAQ24D,uBAAyB34D,EAAQ44D,6BAA0B,EACxJ,IAEgC14D,EAF5BuR,GAE4BvR,EAFUE,EAAQ,MAGhCF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIyP,EAAY,WACZ,MAAO,qBAAuBuC,QAElClS,EAAQ2P,UAAYA,EACpB,IAAIkpD,EAAelpD,KAAeuC,OAC7B2mD,KACDA,EAAe,IACF3mD,OAAS2mD,GAK1B74D,EAAQ4P,UAHQ,WACZ,OAAOipD,GAMX74D,EAAQ66B,YAHU,SAASvH,GACvB,OAAO3jB,KAAe2jB,KAAQulC,GAGlC,IAAID,EAA0B,SAASzmD,GACnC,OAAIA,EAAQ,IACD,KAEHA,EAAQ,IACD,KAEHA,EAAQ,KACD,KAEA,MAKvBnS,EAAQ44D,wBAA0BA,EAMlC54D,EAAQ24D,uBALqB,SAASG,GAGlC,OAFuBA,GAAwBF,GAC7BnnD,EAAaxR,QAAQk0B,qBAAqB4kC,cAShE/4D,EAAQ6Y,aALW,WACf,OAAOlJ,IAAckpD,EAAajgD,UAAY,CAC1CgB,UAAW,M,iCCjDnB5Z,EAAQC,aAAU,EAClB,IAAIyX,EAAYhG,EAAuBtR,EAAQ,KAC3Ci8B,EAAS3qB,EAAuBtR,EAAQ,MACxCiyC,EAAejyC,EAAQ,KACvBE,EAAQF,EAAQ,IAChB6X,EAAUvG,EAAuBtR,EAAQ,MACzCD,EAAUuR,EAAuBtR,EAAQ,MACzCy/C,EAAkBnuC,EAAuBtR,EAAQ,MACjDg9B,EAAe1rB,EAAuBtR,EAAQ,MAC9C44D,EAAgBtnD,EAAuBtR,EAAQ,MAC/Cu7B,EAAYv7B,EAAQ,IAExB,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAUnB,SAAS2+C,EAAU3+C,GACf,OAAOA,IAAO,EAAII,EAAM2T,YAAY/T,EAAI87B,MAG5C,SAASkT,EAAerpC,GACpB,OAAQ,IAAI81B,EAAUyC,UAAUiB,QAAQx5B,GAAO05B,UAGnD,SAAS05B,EAAyBx3D,EAAMvB,GACpC,KAAK,EAAII,EAAM2T,YAAY/T,GACvB,MAAMC,EAAQF,QAAQ0+B,OAAO97B,MAAM,QAASpB,GAIpD,SAASy3D,EAA2Bz3D,GAChC,MAAMtB,EAAQF,QAAQ0+B,OAAO97B,MAAM,QAASpB,GAGhD,SAAS03D,EAA6B1e,GAClC,SAAS7N,EAAoBwsB,GACzB,IAAInsB,EAAMmsB,EAAiB,GACvBlsB,EAAaksB,EAAiB,GAClC,OAAKnsB,GAAQA,EAAIosB,kBAGVh9B,EAAOp8B,QAAQ2sC,oBAAoBK,EAAKC,GAFpC,KAIf,OAAO,SAASosB,GACZ,IAAIh7B,GAEAA,EADAg7B,aAAez2D,MACPy2D,EAEA,IAAIz2D,MAAM+pC,EAAoB7rC,YAAcu4D,GAAOvuC,OAAOuuC,IAAQ,kBAEpExnC,UAAYuK,EAAOp8B,QAAQguC,kBACjCwM,EAAgB7d,OAAO0B,IAKnC,SAASi7B,EAAexmB,EAAOn/B,GAC3B,IACI4lD,EADAC,EAAW1mB,EAAM2mB,UAerB,OAbAT,EAjDO,OAiDwBQ,GAC/BD,EAAaC,EAAS34D,MAAMiyC,EAAO,CAACn/B,IAChCpI,MAAM6P,QAAQm+C,GACdA,EAAatqB,EAAesqB,GAExB,OAASA,QAAc,IAAWA,EAClCA,EAAatqB,EAAe,IAEvB2P,EAAU2a,IACXN,EA1DL,SA8DA,EAAIv9B,EAAUs8B,aAAauB,GA+BtC,SAASG,EAAWlf,EAAiB1H,EAAO6mB,EAAiBC,GACzD,GAAI9mB,EAAM+mB,UACND,EAAa9mB,EAAM+mB,eAChB,CACH,IAAIC,EAAchnB,EAAMinB,kBAAoBT,EAAexmB,EAAO6mB,GAC9D7mB,EAAMknB,gBACNlnB,EAAMinB,iBAAmBD,GAE7BA,EAAY79B,QAAO,kBACR6W,EAAMinB,oBACd96B,MAAK,SAAS2c,GACT9I,EAAMknB,gBACNlnB,EAAM+mB,UAAYje,GAEtBge,EAAahe,MACdvc,KAAK65B,EAA6B1e,KAI7C,SAASyf,EAAoBzf,EAAiB1H,EAAOn/B,EAASumD,GAE1D,IAAIP,EAAkB,GAClB,aAFJhmD,EAAUA,GAAW,MAGjBgmD,EAAgBrf,SAAW3mC,EAAQ2mC,UAEvCof,EAAWlf,EAAiB1H,EAAO6mB,GAAiB,SAAS/d,GACzD,IAGIue,EACAC,EAEApkB,EACAiB,EAPAojB,GAAe,EAAIl9B,EAAan9B,SAAS47C,EAAS,CAClDrd,aAAcuU,EAAMtU,gBAIpB87B,EAAW,GAGVJ,KACDC,EAAapB,EAAc/4D,QAAQixD,eAAeoJ,EAAc1mD,MAC7C0mD,EACfrkB,EAAQ4F,EAAQ35C,MAAM,GAEtBq4D,EAASj4D,KAAK83D,EAAWI,YAAYt7B,MAAK,SAASu7B,GAC/CxkB,EAAQwkB,QAIhB7mD,EAAQkjC,mBAAqBqjB,MAC7BE,EAAkBrB,EAAc/4D,QAAQixD,eAAeoJ,EAAc1mD,GAAS,MACtD0mD,EACpBpjB,EAAa2E,EAAQz5C,OAErBm4D,EAASj4D,KAAK+3D,EAAgB/zD,QAAQ44B,MAAK,SAASu7B,GAChDvjB,EAAaujB,OAIzB9+B,EAAUM,KAAKn7B,MAAM4W,EAAUzX,QAASs6D,GAAUr7B,MAAK,WAC/Ci7B,EACA1f,EAAgBpb,QAAQ6X,GAEpBtjC,EAAQkjC,kBACR2D,EAAgBpb,QAAQ4W,EAAO,CAC3BiB,WAAYA,IAGhBuD,EAAgBpb,QAAQ4W,MAGjC3W,MAAK,SAAShZ,GACbm0B,EAAgB7d,OAAOtW,SAmBnC,IAqHIxiB,EArHc+7C,EAAgB5/C,QAAQoD,QAAQ,CAC9ChB,KAAM,SAASuR,GACXA,EAAUA,GAAW,GACrBhT,KAAKC,SAAS+S,GACdhT,KAAKy5C,oBAAsBzmC,EAAQ8mD,kBAAoB,QAAU9mD,EAAQqtC,SACzErgD,KAAK+5D,UAAY/mD,EAAQqtC,SACzBrgD,KAAKq5D,eAAgB,IAAUrmD,EAAQgnD,aACvCh6D,KAAK84D,UAAY9lD,EAAY,KAC7BhT,KAAKi6D,gBAAkBjnD,EAAmB,WAC1ChT,KAAKk6D,WAAalnD,EAAc,MAChChT,KAAKm6D,YAAcnnD,EAAc,OACjChT,KAAKo6D,YAAcpnD,EAAc,OACjChT,KAAKq6D,YAAcrnD,EAAc,QAErCo1C,YAAa,WACT,MAAM7oD,EAAQF,QAAQ0+B,OAAO97B,MAAM,UAEvCs3C,kBAAmB,kBACRv5C,KAAKk5D,WAEhBoB,gBAAiB,SAAStnD,GACtB,IAAIoR,EAAI,IAAI2W,EAAUyC,SAStB,MARI,QAAUx9B,KAAK+5D,WAAc/5D,KAAKi6D,iBAxI9C,SAAkC9nB,EAAOn/B,GACrC,IACI4lD,EADAC,EAAW1mB,EAAM8nB,gBAErB,KAAK,EAAIv6D,EAAM2T,YAAYwlD,GACvB,MAAMt5D,EAAQF,QAAQ0+B,OAAO97B,MAAM,SAUvC,OAPKg8C,EADL2a,EAAaC,EAAS34D,MAAMiyC,EAAO,CAACn/B,OAEhC4lD,EAAa5kC,OAAO4kC,GACfh5B,SAASg5B,IACVN,EA5EM,cA8EVM,EAAatqB,EAAesqB,KAEzB,EAAI79B,EAAUs8B,aAAauB,GA6H1B2B,CAAyBv6D,KAAMgT,GAASsrB,MAAK,SAAS54B,GAClD0e,EAAEqa,QAAQzK,OAAOtuB,OAClBg5B,KAAK65B,EAA6Bn0C,IACrCA,EAAIpkB,KAAKw6D,iBAAiBp2C,IAL1Bk1C,EAAoBl1C,EAAGpkB,KAAMgT,GAAS,GAOnCoR,EAAEua,WAEb8pB,UAAW,SAAS7c,GACZ5rC,KAAKk5D,YACL,EAAIznB,EAAauH,YAAY,CACzBC,QAASj5C,KACT4V,KAAM5V,KAAKk5D,UACXttB,QAASA,KAIrB6uB,UAAW,SAASznD,GAChB,IAAIoR,EAAI,IAAI2W,EAAUyC,SAStB,MARI,QAAUx9B,KAAK+5D,UACfT,EAAoBl1C,EAAGpkB,KAAMgT,GAAS,IAEtC2lD,EAAe34D,KAAMgT,GAASsrB,MAAK,SAAS1oB,EAAM2oB,GAC9Cna,EAAEqa,QAAQ7oB,EAAM2oB,MACjBG,KAAK65B,EAA6Bn0C,IACrCA,EAAIpkB,KAAKw6D,iBAAiBp2C,IAEvBA,EAAEua,WAEb0pB,WAAY,SAAS/lD,EAAKo4D,GACtB,IAAIt2C,EAAI,IAAI2W,EAAUyC,SAStB,OARIx9B,KAAKi4C,iBACLj4C,KAAK26D,cAtEjB,SAA2B9gB,EAAiB1H,EAAO7vC,GAC/Cy2D,EAAWlf,EAAiB1H,EAAO,IAAI,SAAS8I,GAG5C,IAFA,IACI9qC,EADA+Q,EAAUixB,EAAM7vC,MAEXxB,EAAI,EAAGynC,EAAM0S,EAAQz5C,OAAQV,EAAIynC,EAAKznC,IAE3C,GADAqP,EAAO8qC,EAAQn6C,GACX26B,EAAOp8B,QAAQsuC,UAAUzsB,EAASixB,EAAMnwB,MAAMi5B,EAAQn6C,IAAKwB,GAE3D,YADAu3C,EAAgBpb,QAAQtuB,GAIhC0pC,EAAgB7d,OAAOz8B,EAAQF,QAAQ0+B,OAAO97B,MAAM,aA4DhD24D,CAAkBx2C,EAAGpkB,KAAMsC,IA1JvC,SAA6B6vC,EAAO7vC,EAAKo4D,GACrC,IACI9B,EADAC,EAAW1mB,EAAM+nB,WAOrB,OALA7B,EApFS,QAoFwBQ,GAE5B5a,EADL2a,EAAaC,EAAS34D,MAAMiyC,EAAO,CAAC7vC,EAAKo4D,OAErC9B,EAAatqB,EAAesqB,KAEzB,EAAI79B,EAAUs8B,aAAauB,GAoJ1BiC,CAAoB76D,KAAMsC,EAAKo4D,GAAcp8B,MAAK,SAASh/B,GACvD8kB,EAAEqa,QAAQn/B,MACXo/B,KAAK65B,EAA6Bn0C,IAElCA,EAAEua,WAEbsZ,cAAe,WACX,MAAO,QAAUj4C,KAAK+5D,YAAc/5D,KAAKk6D,YAE7C3R,YAAa,SAASp5C,GAClB,IAEIypD,EAFArL,EAAOvtD,KACP64D,EAAWtL,EAAK4M,YAEhB/1C,EAAI,IAAI2W,EAAUyC,SAYtB,OAXA66B,EA1PK,SA0P4BQ,GAE5B5a,EADL2a,EAAaC,EAAS34D,MAAMqtD,EAAM,CAACp+C,OAE/BypD,EAAatqB,EAAesqB,KAC/B,EAAI79B,EAAUs8B,aAAauB,GAAYt6B,MAAK,SAASw8B,IAC9C,EAAIzjD,EAAQhY,WAAW0wB,qBACvB3L,EAAEqa,QAAQtvB,EAAQ2rD,GAElB12C,EAAEqa,QAAQq8B,GAAkB3rD,EAAQo+C,EAAKvrC,MAAM84C,OAEpDp8B,KAAK65B,EAA6Bn0C,IAC9BA,EAAEua,WAEb+pB,YAAa,SAASpmD,EAAK6M,GACvB,IACIypD,EADAC,EAAW74D,KAAKo6D,YAEhBh2C,EAAI,IAAI2W,EAAUyC,SAYtB,OAXA66B,EA1QK,SA0Q4BQ,GAE5B5a,EADL2a,EAAaC,EAAS34D,MAAMF,KAAM,CAACsC,EAAK6M,OAEpCypD,EAAatqB,EAAesqB,KAC/B,EAAI79B,EAAUs8B,aAAauB,GAAYt6B,MAAK,SAASw8B,IAC9C,EAAIzjD,EAAQhY,WAAW0wB,qBACvB3L,EAAEqa,QAAQn8B,EAAK6M,GAEfiV,EAAEqa,QAAQq8B,GAAkB3rD,EAAQ7M,MAEzCo8B,KAAK65B,EAA6Bn0C,IAC9BA,EAAEua,WAEbiqB,YAAa,SAAStmD,GAClB,IACIs2D,EADAC,EAAW74D,KAAKq6D,YAEhBj2C,EAAI,IAAI2W,EAAUyC,SAQtB,OAPA66B,EA1RK,SA0R4BQ,GAE5B5a,EADL2a,EAAaC,EAAS34D,MAAMF,KAAM,CAACsC,OAE/Bs2D,EAAatqB,MAChB,EAAIvT,EAAUs8B,aAAauB,GAAYt6B,MAAK,WACzCla,EAAEqa,QAAQn8B,MACXo8B,KAAK65B,EAA6Bn0C,IAC9BA,EAAEua,aAIjBv/B,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,QACzB8D,EAAO/D,QAAQC,QAAU8D,EAAO/D,S,iCC7ThCA,EAAQC,aAAU,EAClB,IAAI+Z,EAAStI,EAAuBtR,EAAQ,MACxCmyC,EAAmBnyC,EAAQ,KAC3B6D,EAAY7D,EAAQ,IACpBD,EAAUuR,EAAuBtR,EAAQ,MACzCi8B,EAAS3qB,EAAuBtR,EAAQ,MACxCkT,EAAQlT,EAAQ,KAChB44D,EAAgBtnD,EAAuBtR,EAAQ,MAC/Cu7B,EAAYv7B,EAAQ,IACpBgT,EAAUhT,EAAQ,IAEtB,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAInB,SAASsoC,EAAmBC,GACxB,OAgCJ,SAA4BA,GACxB,GAAIj9B,MAAM6P,QAAQotB,GACd,OAAOC,EAAkBD,GAlCtBE,CAAmBF,IA0B9B,SAA0BG,GACtB,GAAI,qBAAuB5I,QAAU,MAAQ4I,EAAK5I,OAAOC,WAAa,MAAQ2I,EAAK,cAC/E,OAAOp9B,MAAMq9B,KAAKD,GA5BYE,CAAiBL,IAOvD,SAAqCtjC,EAAG4jC,GACpC,IAAK5jC,EACD,OAEJ,GAAI,kBAAoBA,EACpB,OAAOujC,EAAkBvjC,EAAG4jC,GAEhC,IAAIxiB,EAAI1kB,OAAOR,UAAUiiB,SAASngB,KAAKgC,GAAGjD,MAAM,GAAI,GAChD,WAAaqkB,GAAKphB,EAAE3B,cACpB+iB,EAAIphB,EAAE3B,YAAY/B,MAEtB,GAAI,QAAU8kB,GAAK,QAAUA,EACzB,OAAO/a,MAAMq9B,KAAK1jC,GAEtB,GAAI,cAAgBohB,GAAK,2CAA2C7M,KAAK6M,GACrE,OAAOmiB,EAAkBvjC,EAAG4jC,GAtB2BC,CAA4BP,IAG3F,WACI,MAAM,IAAIQ,UAAU,wIAJ2EC,GAsCnG,SAASR,EAAkBD,EAAKU,IACxB,MAAQA,GAAOA,EAAMV,EAAIrmC,UACzB+mC,EAAMV,EAAIrmC,QAEd,IAAK,IAAIV,EAAI,EAAG0nC,EAAO,IAAI59B,MAAM29B,GAAMznC,EAAIynC,EAAKznC,IAC5C0nC,EAAK1nC,GAAK+mC,EAAI/mC,GAElB,OAAO0nC,EAEX,IAwIyB9lC,EAxIrBV,EAAWoX,EAAO/Z,QAAQ2C,SAC1BsuD,EAAiB8H,EAAc/4D,QAAQixD,eACvCyK,EAAY,GACZC,EAAQ5hD,EAAO/Z,QAAQoD,QAAQ,CAC/BhB,KAAM,SAASuR,GACX,IAAIu6C,EAAOvtD,KACXgT,EAAUA,GAAW,GACrBhT,KAAKgyC,gBAAkB,IAAIL,EAAiBM,eAAejyC,OAC3D,EAAIqD,EAAU2C,MAAM,CAAC,WAAY,YAAa,aAAc,cAAe,YAAa,aAAc,SAAU,YAAa,aAAc,aAAc,gBAAgB,SAASkK,EAAG8yB,GAC7KA,KAAchwB,GACdu6C,EAAKza,GAAG9P,EAAW1hC,MAAM,GAAG4G,cAAe8K,EAAQgwB,OAG3DhjC,KAAKuQ,KAAOyC,EAAQ1Q,IACpBtC,KAAK69B,cAAgB7qB,EAAQ4qB,aAC7B59B,KAAKy5C,mBAAoB,GAE7BtE,mBAAoB,WAChB,OAAO,MAEX7yC,IAAK,WACD,OAAOtC,KAAKuQ,MAEhByR,MAAO,SAAS1iB,GAIZ,OAHKU,KAAKi7D,aACNj7D,KAAKi7D,YAAa,EAAIvoD,EAAMwB,eAAelU,KAAKsC,QAE7CtC,KAAKi7D,WAAW37D,IAE3Bq7D,YAAa,WACT,IAAK36D,KAAKsC,MACN,MAAM/C,EAAQF,QAAQ0+B,OAAO97B,MAAM,UAG3Cm2C,KAAM,SAASplC,GACX,IAAIu6C,EAAOvtD,KAGX,OAFAgT,EAAUA,GAAW,GACrBhT,KAAKgyC,gBAAgB+E,UAAU,UAAW,CAAC/jC,IACpChT,KAAKk7D,UAAUl7D,KAAKy6D,UAAUznD,IAAUsrB,MAAK,SAASj5B,GACzDkoD,EAAKvb,gBAAgB+E,UAAU,SAAU,CAAC1xC,EAAQ2N,QAG1DynD,UAAW,SAASznD,GAChB,OAAOs9C,EAAetwD,KAAKooD,YAAYp1C,GAAUA,GAAS4mD,aAE9DsB,UAAW,SAAS//B,GAChB,IAAI91B,EAAS,IAAI01B,EAAUyC,SAU3B,OATArC,EAAKmD,MAAK,WACN,IAAIivB,EAAOvtD,KACP0D,EAAOvD,UACXs7B,EAAOp8B,QAAQ2tC,yBAAyBrO,UAAUL,MAAK,WACnDj5B,EAAO0nD,YAAYQ,EAAM7pD,SAE9Bg7B,MAAK,WACJr5B,EAAOynD,WAAW9sD,KAAMG,cAErBkF,GAEX+iD,YAAapmD,EACbs0C,WAAY,SAAStjC,GACjB,OAAOhT,KAAKs6D,gBAAgBtnD,IAEhCsnD,gBAAiB,SAAStnD,GACtB,OAAOs9C,EAAetwD,KAAKooD,YAAYp1C,GAAUA,GAAS,GAAMtN,SAEpEwyC,MAAO,SAAS51C,EAAKo4D,GACjB,OAAO16D,KAAKw6D,iBAAiBx6D,KAAKk7D,UAAUl7D,KAAKqoD,WAAW/lD,EAAKo4D,MAErErS,WAAYrmD,EACZwmD,OAAQ,SAASr5C,GACb,IAAIo+C,EAAOvtD,KAGX,OAFAutD,EAAKvb,gBAAgB+E,UAAU,aAC/BwW,EAAKvb,gBAAgB+E,UAAU,YAAa,CAAC5nC,IACtCo+C,EAAKiN,iBAAiBjN,EAAKhF,YAAYp5C,GAAQmvB,MAAK,SAAS68B,EAAgBC,GAChF7N,EAAKvb,gBAAgB+E,UAAU,WAAY,CAACokB,EAAgBC,IAC5D7N,EAAKvb,gBAAgB+E,UAAU,iBAGvCwR,YAAavmD,EACb2mD,OAAQ,SAASrmD,EAAK6M,GAClB,IAAIo+C,EAAOvtD,KAGX,OAFAutD,EAAKvb,gBAAgB+E,UAAU,aAC/BwW,EAAKvb,gBAAgB+E,UAAU,WAAY,CAACz0C,EAAK6M,IAC1Co+C,EAAKiN,iBAAiBjN,EAAK7E,YAAYpmD,EAAK6M,GAAQmvB,MAAK,WAC5DivB,EAAKvb,gBAAgB+E,UAAU,UAAW,CAACz0C,EAAK6M,IAChDo+C,EAAKvb,gBAAgB+E,UAAU,iBAGvC2R,YAAa1mD,EACbN,KAAM,SAASkqC,GACX,IAAIvL,EAAQrgC,KACRq7D,EAAiB,CACjBzvB,QAASA,EACTiH,QAAS,IAEb7yC,KAAKgyC,gBAAgB+E,UAAU,aAAc,CAACskB,IAC9CtgC,EAAUM,KAAKn7B,WAAM,EAAQ0nC,EAAmByzB,EAAexoB,UAAUvU,MAAK,WAC1E+B,EAAMooB,UAAU7c,GAChBvL,EAAM2R,gBAAgB+E,UAAU,OAAQ,CAACnL,QAGjD6c,UAAWj2C,EAAQyxB,KACnB7zB,OAAQ,SAAS9N,GACb,IAAIirD,EAAOvtD,KAGX,OAFAutD,EAAKvb,gBAAgB+E,UAAU,aAC/BwW,EAAKvb,gBAAgB+E,UAAU,WAAY,CAACz0C,IACrCirD,EAAKiN,iBAAiBjN,EAAK3E,YAAYtmD,GAAKg8B,MAAK,SAAS88B,GAC7D7N,EAAKvb,gBAAgB+E,UAAU,UAAW,CAACqkB,IAC3C7N,EAAKvb,gBAAgB+E,UAAU,iBAGvC6R,YAAa5mD,EACbw4D,iBAAkB,SAAS3+B,GACvB,OAAOA,EAAS6C,KAAK1+B,KAAK69B,eAAea,KAAKn/B,EAAQF,QAAQw+B,gBAElEiV,GAAI,SAASyH,EAAWC,GAEpB,OADAx6C,KAAKgyC,gBAAgBc,GAAGyH,EAAWC,GAC5Bx6C,MAEX4mC,IAAK,SAAS2T,EAAWC,GAErB,OADAx6C,KAAKgyC,gBAAgBpL,IAAI2T,EAAWC,GAC7Bx6C,QAGfg7D,EAAMpgC,OAAS,SAASiJ,EAAO7wB,GAC3B,KAAM6wB,KAASk3B,GACX,MAAMx7D,EAAQF,QAAQ0+B,OAAO97B,MAAM,QAAS4hC,GAEhD,OAAO,IAAIk3B,EAAUl3B,GAAO7wB,IAEhCgoD,EAAMM,cAAgB,SAAS5lD,EAAMmuB,GAIjC,OAHIA,IACAk3B,EAAUl3B,GAASnuB,GAEhBA,GAEXslD,EAAMv4D,SAAmBC,EAMvBs4D,EAAMv4D,QALG,SAASpC,EAASwjC,GACrB,IAAInuB,EAAOhT,EAAUxC,MAAMF,KAAM,CAACK,IAElC,OADA26D,EAAMM,cAAc5lD,EAAMmuB,GACnBnuB,IAGf,IAAIxS,EAAW83D,EACf57D,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,gCClNzBD,EAAQC,aAAU,EAClB,IAAIyX,EAAYhG,EAAuBtR,EAAQ,KAC3C+7D,EAAmCzqD,EAAuBtR,EAAQ,OAClED,EAAUuR,EAAuBtR,EAAQ,MACzCuhD,EAAoBvhD,EAAQ,KAEhC,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GA2CnBi8D,EAAiCl8D,QAAQ2Q,KAhCT,SAASnP,EAAM26D,GAC3C1kD,EAAUzX,QAAQ4Q,GAAGpP,GAAQ,SAASmS,GAClC,IACI3N,EADAo2D,EAAiB,kBAAoBzoD,EAEzC,GAAIyoD,EAAgB,CAChB,IAAIl7D,EAAayS,EACb0oD,EAAa,GAAGp6D,MAAMiB,KAAKpC,WAAWmB,MAAM,GAChDtB,KAAKgG,MAAK,WACN,IAAInD,EAAW24D,EAAe3W,YAAY7kD,MAC1C,IAAK6C,EACD,MAAMtD,EAAQF,QAAQ4C,MAAM,QAASpB,GAEzC,IACI86D,EADS94D,EAAStC,GACGL,MAAM2C,EAAU64D,QACrC,IAAWr2D,IACXA,EAASs2D,WAIjB37D,KAAKgG,MAAK,WACN,IAAInD,EAAW24D,EAAe3W,YAAY7kD,MACtC6C,EACAA,EAASsgC,OAAOnwB,GAEhB,IAAIwoD,EAAex7D,KAAMgT,MAGjC3N,EAASrF,KAEb,OAAOqF,MAIf,IAAInC,EAzCoB,SAASrC,EAAMuiD,EAAWoY,GACzCA,EAGDpY,EAAUviD,GAAQ26D,EAFlBA,EAAiBpY,GAGpB,EAAIrC,EAAkBlgD,MAAM26D,EAAgB36D,GAC7C06D,EAAiCl8D,QAAQgR,KAAKxP,EAAM26D,IAoCxDp8D,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,QACzB8D,EAAO/D,QAAQC,QAAU8D,EAAO/D,S,iCCvDhCA,EAAQC,aAAU,EAClB,IAAIyX,EAAYhG,EAAuBtR,EAAQ,KAC3C6xB,EAAgB7xB,EAAQ,KACxB+mC,EAAiBz1B,EAAuBtR,EAAQ,KAChDo8D,EAAqB9qD,EAAuBtR,EAAQ,MAExD,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,IAKnB,EAAI+xB,EAAcwU,kBAAiB,SAASc,GACxCA,EAAW,GAAGrlC,MAAMiB,KAAKokC,GACzB,IAAK,IAAI7lC,EAAI,EAAGA,EAAI6lC,EAASnlC,OAAQV,IAAK,CACtC,IAAIwsB,GAAW,EAAIxW,EAAUzX,SAASsnC,EAAS7lC,IAC3CwsB,EAASoF,KALD,mBAMRpF,EAAS,GAAgB,cAAI,KAC7BiZ,EAAelnC,QAAQw8D,eAAevuC,EARlC,kBAYhB,EAAIsuC,EAAmBv8D,SAZP,WAY2B,CACvCy8D,UAAU,EACVC,MAAO,SAAStrD,IACZ,EAAIqG,EAAUzX,SAASoR,GAASiiB,KAdpB,iBAcwC,MAI5DtzB,EAAQC,QAnBQ,WAoBhB8D,EAAO/D,QAAUA,EAAQC,S,iCC/BzBD,EAAQmiD,wBAgCR,SAAiCj0B,EAAU0uC,EAAmBC,GAC1D,IAAIrmD,GAAO,EAAIyb,EAAczb,MAAM0X,EAAS/d,IAAI,IAC5C1O,EAAOq7D,EAAQF,EAAkBp5D,aACrCgT,EAAK/U,GAAQm7D,EACTC,GACA11B,EAAelnC,QAAQ88D,IAAI7uC,EAAUytB,EAAc17C,SAAS,WACxD48D,EAAU15D,KAAKy5D,MAGlBpmD,EAA6B,eAC9BA,EAA6B,aAAI,IAErCA,EAA6B,aAAElU,KAAKb,IA3CxCzB,EAAQmnD,qBA8CR,SAA8Bj5B,EAAUkuC,GACpC,IAAI36D,EAAOq7D,EAAQV,GACnB,OAAO,EAAInqC,EAAczb,MAAM0X,EAAS/d,IAAI,GAAI1O,IA/CpDzB,EAAQyB,UAAO,EACf,IAAIwwB,EAAgB7xB,EAAQ,KACxB+mC,EAAiBz1B,EAAuBtR,EAAQ,KAChD8mC,EAAYx1B,EAAuBtR,EAAQ,OAC3CE,EAAQF,EAAQ,IAChBu7C,EAAgBjqC,EAAuBtR,EAAQ,MAEnD,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAEI88D,EAAiB,IAAI91B,EAAUjnC,QAC/Bg9D,EAAyB,EACzBH,EAAU,SAASV,EAAgBc,GACnC,KAAI,EAAI58D,EAAM0K,WAAWkyD,GAAzB,CAIA,IAAKF,EAAe5sD,IAAIgsD,GAAiB,CACrC,IAAIe,EATuB,qBASwBF,IAEnD,OADAD,EAAehtD,IAAIosD,EAAgBe,GAC5BA,EAEX,OAAOH,EAAe7sD,IAAIisD,GARtBY,EAAehtD,IAAIosD,EAAgBc,IAU3Cl9D,EAAQyB,KAAOq7D,G,iCC9Bf98D,EAAQC,aAAU,EAClB,IAAIgY,EAAUvG,EAAuBtR,EAAQ,MACzCiT,EAAUjT,EAAQ,IAClBg9D,EAASh9D,EAAQ,MACjBi8B,EAASj8B,EAAQ,MACjB4Z,EAAStI,EAAuBtR,EAAQ,MACxCk2D,EAAU5kD,EAAuBtR,EAAQ,MACzCD,EAAUuR,EAAuBtR,EAAQ,MACzCmQ,EAAamB,EAAuBtR,EAAQ,MAC5CmyC,EAAmBnyC,EAAQ,KAC3BuhD,EAAoBvhD,EAAQ,KAC5Bi9D,EAAwBj9D,EAAQ,MAChCE,EAAQF,EAAQ,IAChBgT,EAAUhT,EAAQ,IAEtB,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIo9D,EAAe,SAASC,GACxB,OAAOA,EAAWzxC,OAAO,GAAGhjB,cAAgBy0D,EAAW5xD,OAAO,IAiT9D7H,EA5SYkW,EAAO/Z,QAAQoD,QAAQ,CACnCm6D,sBAAuB,WACnB58D,KAAK68D,mBAAqB,IAE9BC,sBAAuB,WACnB,OAAO98D,KAAK68D,oBAEhB3b,mBAAoB,WAChB,MAAO,CACH6b,cAAe,KACfC,gBAAiB,KACjBC,YAAa,KACbC,oBAAqB,OAG7BC,qBAAsB,WAClB,MAAO,IAEXpb,oBAAqB,SAASnvC,GAC1B5S,KAAKimB,SAAS8d,WAAWnxB,IAE7BuvC,uBAAwB,SAASvvC,GAC7B,OAAO,EAAI6oB,EAAOnpB,uBAAuBM,IAE7CsvC,sBAAuB,SAASrhD,GAC5B,OAAOb,KAAKimB,SAASue,UAAU3jC,IAEnCu8D,uBAAwB,WACpBp9D,KAAK+mC,oBAAsB,IAE/Bs2B,uBAAwB,WACpB,OAAOr9D,KAAK+mC,qBAEhBtlC,KAAM,WACF,IAAIuR,EAAU7S,UAAUqB,OAAS,QAAK,IAAWrB,UAAU,GAAKA,UAAU,GAAK,GAC3Em9D,EAA0BtqD,EAAQsqD,wBAClCC,EAAsBvqD,EAAQuqD,oBAClCv9D,KAAKqjD,MAAO,EAAItC,EAAkBlgD,MAAMb,KAAK4C,aAC7C5C,KAAKgyC,gBAAkBL,EAAiBM,eAAerX,OAAO56B,KAAMgT,EAAQwqD,gBAC5Ex9D,KAAKy9D,iBAAmB,EACxBz9D,KAAKs9D,wBAA0BA,IAA2B,EAAI3tD,EAAWtQ,WACzEW,KAAKu9D,oBAAsBA,IAAuB,EAAI5tD,EAAWtQ,WACjEW,KAAK09D,oBAAsB,IAAIjB,EAAsB90B,oBACrD3nC,KAAK29D,eAAe3qD,IAExB2qD,eAAgB,SAAS3qD,GACrB,IAAIqtB,EAAQrgC,KACZA,KAAK49D,cACL,IACI59D,KAAKo9D,yBACLp9D,KAAK48D,wBACL58D,KAAKimB,SAAW,IAAIu2C,EAAOv7B,QAAQjhC,KAAKkhD,qBAAsBlhD,KAAKkhD,qBAAsBlhD,KAAKq9D,yBAA0Br9D,KAAK88D,yBAC7H98D,KAAKimB,SAASie,YAAW,SAASrjC,EAAMumC,EAAeniC,GACnD,OAAOo7B,EAAMw9B,cAAgBx9B,EAAMy9B,gBAAgBj9D,EAAMumC,EAAeniC,MAE5EjF,KAAKimB,SAASoe,cAAa,SAASlB,EAAQC,GACxC,OAAO/C,EAAM09B,4BAA4B56B,EAAQC,MAErDpjC,KAAKimB,SAASme,WAAU,SAASvjC,EAAMoE,EAAOmiC,GAC1C,OAAO/G,EAAM29B,qBAAqBn9D,EAAMoE,EAAOmiC,MAEnDpnC,KAAKimB,SAASqe,eAAc,WACxB,OAAOjE,EAAMu9B,iBAEjB59D,KAAKimB,SAASse,aAAY,WACtB,OAAOlE,EAAMolB,eAEjBzlD,KAAKimB,SAAS6d,SAAS9jC,KAAKm9D,wBACxBnqD,GAAWA,EAAQirD,gBACnBjrD,EAAQirD,eAAe/9D,MAAMF,KAAM,CAACgT,IAExChT,KAAK+hD,oBAAoB/uC,EAAQkqD,qBACjCl9D,KAAKk+D,aAAalrD,GACpB,QACEhT,KAAKylD,cAGbyY,aAAc,SAASlrD,GACnBhT,KAAKmjC,OAAOnwB,IAEhBshC,MAAO,WACH,IAAIxP,EAAS9kC,KACbA,KAAKm+D,6BACLn+D,KAAK8yC,GAAG,aAAa,SAASpvC,GAC1BohC,EAAOy4B,oBAAoBx2C,SAAS+d,EAAQ,CAACphC,QAGrDq6D,4BAA6B,SAAS56B,EAAQC,GAC1C,IAAIlS,EAAUkS,EAAKlS,SAAW,YAAY3S,OAAO6kB,EAAKS,MAAO,oBAC7DtkC,EAAQF,QAAQ8xB,IAAI,QAASnxB,KAAKqjD,KAAMlgB,EAAQC,EAAKg7B,MAAOltC,IAEhEmtC,+BAAgC,SAASD,EAAOv6B,GAC5CtkC,EAAQF,QAAQ8xB,IAAI,QAASnxB,KAAKqjD,KAAM+a,EAAO,YAAY7/C,OAAOslB,EAAO,sBAE7Es6B,2BAA4B,WACxBn+D,KAAKs+D,qBAAuBt+D,KAAKu+D,sBAAsB,kBAAmB,CACtErI,kBAAmB,CAAC,WAAY,eAGxCsI,uBAAwB,WACpBx+D,KAAKy+D,iBAAmBz+D,KAAKu+D,sBAAsB,cAAe,CAC9DrI,kBAAmB,CAAC,WAAY,eAGxChR,eAAgB,SAASxhD,GACrB,OAAQA,EAAK7C,MACT,IAAK,cACL,IAAK,gBACD,MACJ,IAAK,kBACDb,KAAKm+D,+BAKjB1c,SAAU,WACNzhD,KAAKs9D,wBAAwBx2C,QAC7B9mB,KAAKw+D,yBACLx+D,KAAKy+D,mBACLz+D,KAAKgyC,gBAAgBhO,UACrBhkC,KAAKimB,SAAS+d,UACdhkC,KAAKi1C,WAAY,GAErBypB,YAAa,WACT1+D,KAAKy9D,oBAETkB,cAAe,WACX3+D,KAAKy9D,iBAAmBn4D,KAAK4E,IAAIlK,KAAKy9D,iBAAmB,EAAG,IAEhE1Z,iBAAkB,WACd,OAAO,IAAM/jD,KAAKy9D,kBAEtB/X,wBAAyB,WACrB,OAAQ1lD,KAAK4+D,gBAAkB5+D,KAAK69D,cAExCgB,cAAe,WACX,OAAO7+D,KAAK69D,cAEhBiB,cAAe,WACX9+D,KAAK09D,oBAAoB70B,0BACzB7oC,KAAK0lD,2BAA6B1lD,KAAK++D,wBAE3CA,qBAAsB,WAClB/+D,KAAK4+D,eAAgB,EACrB,IACI5+D,KAAKs0C,QACP,QACEt0C,KAAK4+D,eAAgB,EACrB5+D,KAAK0+D,cACL1+D,KAAKu+D,sBAAsB,gBAAiB,CACxCrI,kBAAmB,CAAC,WAAY,aADpCl2D,GAGAA,KAAK2+D,gBACL3+D,KAAK69D,cAAe,IAG5Bh7D,SAAU,WACN,OAAO7C,MAEX49D,YAAa,WACT59D,KAAK0+D,eAETjZ,UAAW,WACPzlD,KAAK2+D,gBACL3+D,KAAK+jD,oBAAsB/jD,KAAK8+D,iBAEpChB,gBAAiBtrD,EAAQyxB,KACzB+5B,qBAAsB,SAAS76B,EAAQl+B,EAAOmiC,GAC1C,GAAIpnC,KAAK69D,aAEL,IADA,IAAImB,EAAc,CAAC77B,GAAQ5kB,OAAOve,KAAKimB,SAASkf,iBAAiBhC,IACxDriC,EAAI,EAAGA,EAAIk+D,EAAYx9D,OAAQV,IAAK,CACzC,IAAID,EAAOm+D,EAAYl+D,GACnB4C,EAAO,CACP7C,KAAMA,EAAKsZ,MAAM,QAAQ,GACzBpG,SAAUlT,EACVoE,MAAOA,EACPmiC,cAAeA,GAlLxB,IAoLwBvmC,EApLPyV,QAAQ,IAAK,KAqLrBtW,KAAKs9D,wBAAwBv2C,SAAS/mB,KAAM,EAAC,EAAIyS,EAAQa,QAAQtT,KAAKilD,qBAAsBvhD,KAC5F1D,KAAKs+D,sBAAqB,EAAI7rD,EAAQa,QAAQ,GAAI5P,KAEjD1D,KAAKi1C,WAAaj1C,KAAKi/D,sBAAwBp+D,GAChDb,KAAKklD,eAAexhD,KAKpCkiD,cAAe,SAAS/kD,GACpB,OAAOb,KAAKimB,SAASye,QAAQ7jC,IAEjCmkD,qBAAsB,WAClB,MAAO,CACHx+B,QAASxmB,KACTqkD,UAAWrkD,OAGnBilD,mBAAoB,WAChB,MAAO,CACHZ,UAAWrkD,OAGnBk/D,cAAe,SAASC,EAAc5vC,GAClC,IACIm0B,EADAte,EAASplC,KAEb,OAAO,SAASsE,GAUZ,OATK,EAAI5E,EAAM0K,WAAW9F,KACtBA,EAAI,KAEH,EAAI5E,EAAMkc,eAAetX,KAC1BA,EAAI,CACA86D,YAAa96D,KAGrBo/C,EAASA,GAAU,IAAIgS,EAAQr2D,QAAQ8/D,GAAc,EAAI1sD,EAAQa,QAAQic,EAAQ6V,EAAO4f,0BAC1EoR,QAAQ7zD,KAAKmhD,GAAQ,EAAIjxC,EAAQa,QAAQhP,EAAG8gC,EAAO6f,yBAGzEsZ,sBAAuB,SAASv7B,EAAYzT,GACxC,IACIm0B,EACAnJ,EACA8kB,EAHAnoB,EAASl3C,KAITqF,EAAS,WACT,IAAKk1C,EAAW,CAEZ,GADAhrB,EAASA,GAAU,GACf,kBAAoByT,EACpB,MAAMzjC,EAAQF,QAAQ4C,MAAM,SAE5B,IAAM+gC,EAAW1sB,QAAQ,QACzBikC,EAAYmiB,EAAa15B,IAE7Bq8B,EAAanoB,EAAO/T,OAAOH,GAE/B,GAAK0gB,GAAW2b,GAAe9vC,EAAOsmC,eAAkBtmC,EAAOwmC,cAAiB7e,EAAOlF,gBAAgBgjB,SAASza,GAAhH,CAGA,IAAKmJ,EAAQ,CACT,IAAImS,EAAgBtmC,EAAOsmC,cAC3BtmC,EAAOsmC,cAAgB,WACnB,IAAK,IAAIhgB,EAAQ11C,UAAUqB,OAAQmgC,EAAQ,IAAI/2B,MAAMirC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACnFnU,EAAMmU,GAAS31C,UAAU21C,GAE7B+f,GAAiBA,EAAc31D,MAAMg3C,EAAQvV,GAC7CuV,EAAOlF,gBAAgB+E,UAAUwD,EAAW5Y,EAAM,GAAGj+B,OAEzDggD,EAASxM,EAAOgoB,cAAcG,EAAY9vC,GAE9C,IAAK,IAAIjf,EAAOnQ,UAAUqB,OAAQkC,EAAO,IAAIkH,MAAM0F,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC7E7M,EAAK6M,GAAQpQ,UAAUoQ,GAE3B,IAAI,EAAI8G,EAAQhY,WAAWywB,yBAA0B,CACjD,IAAIwvC,EAAsBpoB,EAAO/T,OAAO,wBAA0B3wB,EAAQyxB,KACtEs7B,EAAgBD,EAAoBpoB,EAAQwM,EAAQn0B,IAAWm0B,EACnE,OAAO6b,EAAcr/D,MAAMg3C,EAAQxzC,GAEvC,OAAOggD,EAAOxjD,MAAMg3C,EAAQxzC,KAEhC,OAAI,EAAI2T,EAAQhY,WAAWywB,yBAChBzqB,GAEWrF,KAAKmjC,OAAO,oBAAsB3wB,EAAQyxB,MACzCjkC,KAAMqF,EAAQkqB,IAAWlqB,GAEpDytC,GAAI,SAASyH,EAAWC,GAEpB,OADAx6C,KAAKgyC,gBAAgBc,GAAGyH,EAAWC,GAC5Bx6C,MAEX4mC,IAAK,SAAS2T,EAAWC,GAErB,OADAx6C,KAAKgyC,gBAAgBpL,IAAI2T,EAAWC,GAC7Bx6C,MAEXw/D,sBAAuB,SAAS7C,GAC5B,QAAS38D,KAAKimB,SAASwc,OAAOk6B,IAAe38D,KAAKgyC,gBAAgBgjB,SAAS0H,EAAaC,KAE5F8C,mBAAoB,SAAS5+D,GACzB,OAAOb,KAAKimB,SAASqf,aAAazkC,IAEtCylD,8BAA+B,SAASzlD,EAAMoE,GAC1CjF,KAAKi/D,oBAAsBp+D,EAC3Bb,KAAKmjC,OAAOtiC,EAAMoE,GAClBjF,KAAKi/D,qBAAsB,GAE/B/b,gBAAiB,SAASriD,EAAM2lB,GAC5B,IAAIvhB,EAAQjF,KAAKmjC,OAAOtiC,GACxB,OAAI,EAAInB,EAAM2T,YAAYpO,GACfA,EAAM9D,KAAKqlB,EAAXvhB,GAEJA,GAEXk+B,OAAQ,WACJ,IAAIu8B,EACJ,OAAQA,EAAiB1/D,KAAKimB,UAAUkd,OAAOjjC,MAAMw/D,EAAgBv/D,YAEzEwlD,YAAa,SAAS9kD,GAClBb,KAAK49D,cACL59D,KAAKimB,SAAS4e,MAAMhkC,GACpBb,KAAKylD,eAIbrmD,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCCxUzBD,EAAQC,QAaR,SAAkBsgE,EAAY5hC,GAC1B,IAAI3+B,EAAU,CACVg9C,gBAAgB,EAAI3pC,EAAQa,QAAQyqB,EAAQ4hC,GAC5C19D,MAAO,WACH,OAAO29D,EAAU,GAAGt+D,MAAMiB,KAAKpC,aAEnCgxB,IAAK,SAASg9B,GACV,IAAIruD,EAAS,MACT,SAASgZ,KAAKq1C,GACdruD,EAAS,QAEL,SAASgZ,KAAKq1C,KACdruD,EAAS,QAGjBiwD,EAASR,OAAOzvD,GAAQ,QAAUA,EAASquD,EAAK0R,EAAe,GAAGv+D,MAAMiB,KAAKpC,eAIrF,SAAS0/D,EAAen8D,GACpB,IAAIyqD,EAAKzqD,EAAK,GAEd,OAAOo8D,EAAc3R,EAAI4R,EAAc5R,EADvCzqD,EAAOA,EAAKpC,MAAM,KAItB,SAASy+D,EAAc5R,EAAIzqD,GAEvB,OADAA,EAAO,CAACtE,EAAQg9C,eAAe+R,IAAK5vC,OAAO7a,GACpCs8D,EAAQnyD,OAAO3N,MAAMF,KAAM0D,GAAM6S,QAAQ,WAAY,IAGhE,SAASupD,EAAc3R,EAAI8R,GACvB,OAAOD,EAAQnyD,OAAO3N,MAAMF,KAAM,CAAC,uBAAwBmuD,EAAI8R,EAASC,EAAY/R,KAGxF,SAASyR,EAAUl8D,GACf,IAAIyqD,EAAKzqD,EAAK,GAEVu8D,EAAUF,EAAc5R,EAD5BzqD,EAAOA,EAAKpC,MAAM,IAEdw7B,EAAMojC,EAAY/R,GAClBj9B,EAAU4uC,EAAc3R,EAAI8R,GAChC,OAAO,EAAIxtD,EAAQa,QAAQ,IAAIrR,MAAMivB,GAAU,CAC3CivC,KAAMhS,EACNiS,UAAWH,EACXnjC,IAAKA,IAIb,SAASojC,EAAY/R,GACjB,OAAOkS,EAAYlS,EAEvB,OAAO/uD,GA9DX,IAKgCE,EAL5BmT,EAAUjT,EAAQ,IAClBuwD,EAAWvwD,EAAQ,KACnBwgE,EAAUxgE,EAAQ,KAQtB,IAAI6gE,EAAY,oCALgB/gE,EAFME,EAAQ,OAG5BF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,IAG0CD,QAAQ8a,MAAM,KAAK7Y,MAAM,EAAG,GAAGipB,KAAK,KAAO,IAsDxGpnB,EAAO/D,QAAUA,EAAQC,S,iCCjEzBD,EAAQC,aAAU,EAElBD,EAAQC,QADO,UAEf8D,EAAO/D,QAAUA,EAAQC,S,iCCHzBD,EAAQkhE,YAAclhE,EAAQmhE,iBAAmBnhE,EAAQohE,mBAAqBphE,EAAQu0B,QAAUv0B,EAAQy0B,oBAAsBz0B,EAAQqhE,qBAAuBrhE,EAAQshE,0BAAuB,EAC5L,IAAI7xD,EAAUrP,EAAQ,IAClBE,EAAQF,EAAQ,IAChB8R,GAAS,EAAIzC,EAAQG,aACrB2xD,EAAwB,CAAC,OAAQ,OAAQ,UAAW,WACpDC,EAAkB,SAAStyC,EAAeuyC,GAC1C,IAAIx7D,EAAS,EAIb,OAHAw7D,EAAOxrD,SAAQ,SAASqf,GACpBrvB,GAAU+d,WAAWkL,EAAcoG,KAAW,KAE3CrvB,GAEPwuB,EAAsB,SAAShzB,EAAMytB,GACrC,IAAIwyC,EAAa,UAAYjgE,EAAO,OAAS,MACzCkgE,EAAY,UAAYlgE,EAAO,QAAU,SAC7C,MAAO,CACHozB,QAAS2sC,EAAgBtyC,EAAe,CAAC,UAAYwyC,EAAY,UAAYC,IAC7EhyC,OAAQ6xC,EAAgBtyC,EAAe,CAAC,SAAWwyC,EAAa,QAAS,SAAWC,EAAY,UAChGC,OAAQJ,EAAgBtyC,EAAe,CAAC,SAAWwyC,EAAY,SAAWC,MAGlF3hE,EAAQy0B,oBAAsBA,EA+B9Bz0B,EAAQu0B,QAvBM,SAASljB,EAAS5P,EAAMF,GAClC,IAAI2tB,EAAgBhd,EAAOid,iBAAiB9d,GACxCwwD,EAAYptC,EAAoBhzB,EAAMytB,GACtC4yC,EAAazwD,EAAQgmB,iBAAiBj1B,OACtC2/D,EAAqB1wD,EAAQkH,wBAAwB9W,GACrDwE,EAAS67D,EAAaC,EAAqB,EAgB/C,OAfI97D,GAAU,GACVA,EAAS+d,WAAWkL,EAAcztB,IAAS4P,EAAQikB,MAAM7zB,KAAU,EACnEwE,GAfiB,SAASxE,EAAMytB,EAAe2yC,GACnD,IAAIG,EAAO9yC,EAAcztB,GACzB,MAAI,eAAiBytB,EAAcyF,WAAaqtC,EAAK5/D,QAAU,MAAQ4/D,EAAKA,EAAK5/D,OAAS,GAC/Ey/D,EAAUlyC,OAASkyC,EAAUhtC,QAEjC,EAUOotC,CAAmBxgE,EAAMytB,EAAe2yC,IAElD57D,GAAU47D,EAAUhtC,QAAUgtC,EAAUlyC,OAExCpuB,EAAQ6yB,WACRnuB,GAAU47D,EAAUhtC,SAEpBtzB,EAAQ8yB,UACRpuB,GAAU47D,EAAUlyC,QAEpBpuB,EAAQ+yB,UACRruB,GAAU47D,EAAUD,QAEjB37D,GAGX,IAGIi7D,EAAc,SAASr7D,EAAO+X,GAY9B,OAXI/X,EAAMqR,QAAQ,MAAQ,EACtBrR,EAAQJ,SAASI,EAAMsR,QAAQ,KAAM,KAEjCtR,EAAMqR,QAAQ,KAAO,EACrBrR,EAAQJ,SAASI,EAAMsR,QAAQ,IAAK,KARvB,SAASyG,GAC9B,OAAO,EAAItd,EAAMiD,UAAUqa,GAAaA,EAAUtL,YAAcsL,EAAUwZ,aAOvB8qC,CAAmBtkD,GAAa,IAEtE2X,MAAM1vB,KACPA,EAAQJ,SAASI,IAItBA,GAEX7F,EAAQkhE,YAAcA,EACtB,IAAIiB,EAAsB,SAASt8D,EAAOwrB,EAAQzT,GAC9C,OAAK/X,EAGD07D,EAAsBrqD,QAAQrR,IAAU,EACjCwrB,EAAS,KAAOxrB,IAEvB,EAAIvF,EAAMoG,UAAUb,KACpBA,EAAQq7D,EAAYr7D,EAAO+X,KAE3B,EAAItd,EAAMyI,WAAWlD,GACdK,KAAK4E,IAAI,EAAGjF,EAAQwrB,GAGxB,QAAUxrB,GADKwrB,EAAS,EAAI,MAAQ,KACAnrB,KAAKud,IAAI4N,GAAU,OAZnD,MAkBfrxB,EAAQshE,qBAJmB,SAASz7D,EAAOwrB,EAAQzT,GAC/C,IAAIwkD,EAAYD,EAAoBt8D,EAAOwrB,EAAQzT,GACnD,OAAO,OAASwkD,EAAYA,EAAY,QAO5CpiE,EAAQqhE,qBAJmB,SAASx7D,EAAOwrB,EAAQzT,GAC/C,IAAIykD,EAAYF,EAAoBt8D,EAAOwrB,EAAQzT,GACnD,OAAO,OAASykD,EAAYA,EAAY,GAU5CriE,EAAQohE,mBAPiB,SAAS/vD,EAASixD,GACvC,IAAKjxD,EACD,OAAO,EAEX,IAAIwwD,EAAYptC,EAAoB,SAAUviB,EAAOid,iBAAiB9d,IACtE,OAAOwwD,EAAUhtC,QAAUgtC,EAAUlyC,QAAU2yC,EAAcT,EAAUD,OAAS,IAYpF5hE,EAAQmhE,iBATe,SAAS9vD,GAC5B,GAAIA,EAAS,CACT,IAAI0wD,EAAqB1wD,EAAQkH,wBACjC,GAAIwpD,EAAmB1vD,OACnB,OAAO0vD,EAAmB1vD,OAGlC,OAAO,I,iCChHXrS,EAAQC,aAAU,EAClB,IAAI+Z,EAAStI,EAAuBtR,EAAQ,MACxCE,EAAQF,EAAQ,IAChB6D,EAAY7D,EAAQ,IACpBkT,EAAQlT,EAAQ,KAChBu7B,EAAYv7B,EAAQ,IACpBD,EAAUuR,EAAuBtR,EAAQ,MACzCi8B,EAAS3qB,EAAuBtR,EAAQ,MAE5C,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAIqiE,EAAWvoD,EAAO/Z,QAAQoD,QAAQ,CAClCqvB,QAAS,WACL,IAAIzsB,EAAS,GAEb,IADArF,KAAK6kC,QACE7kC,KAAKwa,QACRnV,EAAO3D,KAAK1B,KAAK8S,WAErB,OAAOzN,GAEXu8D,UAAW,WACP,OAAO,KAGXC,EAAgBF,EAASl/D,QAAQ,CACjChB,KAAM,SAASi7B,GACX18B,KAAK08B,MAAQA,EACb18B,KAAKqP,OAAS,GAElBmL,KAAM,WACF,OAAIxa,KAAKqP,MAAQ,EAAIrP,KAAK08B,MAAMl7B,SAC5BxB,KAAKqP,SACE,IAIfyD,QAAS,WACL,OAAO9S,KAAK08B,MAAM18B,KAAKqP,QAE3Bw1B,MAAO,WACH7kC,KAAKqP,OAAS,GAElByiB,QAAS,WACL,OAAO9xB,KAAK08B,MAAMp7B,MAAM,IAE5BsgE,UAAW,WACP,OAAO,GAEXl8D,MAAO,WACH,OAAO1F,KAAK08B,MAAMl7B,UAGtBsgE,EAAkBH,EAASl/D,QAAQ,CACnChB,KAAM,SAASumC,GACXhoC,KAAKgoC,KAAOA,GAEhBxtB,KAAM,WACF,OAAOxa,KAAKgoC,KAAKxtB,QAErB1H,QAAS,WACL,OAAO9S,KAAKgoC,KAAKl1B,WAErB+xB,MAAO,WACH,OAAO7kC,KAAKgoC,KAAKnD,WAGrBk9B,EAAcD,EAAgBr/D,QAAQ,CACtChB,KAAM,SAASumC,EAAM8X,GACjB9/C,KAAKC,SAAS+nC,GACdhoC,KAAKqP,OAAS,EACdrP,KAAK8/C,OAASA,GAElBhtC,QAAS,WACL,OAAO9S,KAAK8/C,OAAO9/C,KAAKC,WAAYD,KAAKqP,QAE7CmL,KAAM,WACF,IAAIwnD,EAAUhiE,KAAKC,WAInB,OAHI+hE,GACAhiE,KAAKqP,QAEF2yD,KAGXC,EAAiB,SAASC,EAAQC,GAGlC,OAFAD,GAAS,EAAIxvD,EAAMwG,cAAcgpD,GACjCC,GAAS,EAAIzvD,EAAMwG,cAAcipD,GAC7B,OAASD,GAAU,OAASC,GACpB,EAER,OAASD,GAAU,OAASC,QAG5B,IAAWD,QAAU,IAAWC,EAFzB,OAKP,IAAWD,QAAU,IAAWC,GAGhCD,EAASC,GAFD,EAKRD,EAASC,EACF,EAEJ,GAEPC,EAAeT,EAASl/D,QAAQ,CAChChB,KAAM,SAASumC,EAAMltB,EAAQ2yB,EAAMC,GACzB1F,aAAgB+5B,IAClB/5B,EAAO,IAAI+5B,EAAY/5B,EAAMhoC,KAAKqiE,QAEtCriE,KAAKgoC,KAAOA,EACZhoC,KAAK4S,MAAQ,CAAC,CACVkI,OAAQA,EACR2yB,KAAMA,EACNC,QAASA,KAGjB40B,OAAQ,SAASxnD,EAAQ2yB,EAAMC,GAC3B,IAAIroC,EAAS,IAAI+8D,EAAapiE,KAAKuiE,YAAcviE,KAAKgoC,KAAMltB,EAAQ2yB,EAAMC,GAI1E,OAHK1tC,KAAKuiE,aACNl9D,EAAOuN,MAAQ5S,KAAK4S,MAAM2L,OAAOlZ,EAAOuN,QAErCvN,GAEXmV,KAAM,WAEF,OADAxa,KAAKwiE,gBACExiE,KAAKuiE,WAAW/nD,QAE3B1H,QAAS,WAEL,OADA9S,KAAKwiE,gBACExiE,KAAKuiE,WAAWzvD,WAE3B+xB,MAAO,kBACI7kC,KAAKuiE,YAEhBX,UAAW,WACP,OAAO5hE,KAAKuiE,YAAcviE,KAAKgoC,KAAK45B,aAExCl8D,MAAO,WACH,OAAI1F,KAAKuiE,WACEviE,KAAKuiE,WAAW78D,QAEpB1F,KAAKgoC,KAAKtiC,SAErB88D,cAAe,WACX,IAAIjV,EAAOvtD,KACPutD,EAAKgV,cAER,EAAIl/D,EAAU2C,MAAMunD,EAAK36C,OAAO,WAC7B5S,KAAK8a,QAAS,EAAIpI,EAAMwB,eAAelU,KAAK8a,WAEhDyyC,EAAKgV,WAAa,IAAIR,EAAY,IAAIF,EAAc7hE,KAAKgoC,KAAKlW,UAAUwZ,MAAK,SAAS5lB,EAAGG,GACrF,OAAO0nC,EAAKkV,SAAS/8C,EAAGG,OACvB0nC,EAAKmV,WAEdL,MAAO,SAASM,EAAQtzD,GACpB,MAAO,CACHA,MAAOA,EACPpK,MAAO09D,IAGfD,QAAS,SAASE,GACd,OAAOA,EAAY39D,OAEvBw9D,SAAU,SAAS/8C,EAAGG,GAClB,IAAIg9C,EAASn9C,EAAErW,MACXyzD,EAASj9C,EAAExW,MAGf,IAFAqW,EAAIA,EAAEzgB,UACN4gB,EAAIA,EAAE5gB,OAEF,OAAO49D,EAASC,EAEpB,IAAK,IAAIhiE,EAAI,EAAGiiE,EAAa/iE,KAAK4S,MAAMpR,OAAQV,EAAIiiE,EAAYjiE,IAAK,CACjE,IAAI0lD,EAAOxmD,KAAK4S,MAAM9R,GAClBohE,EAAS1b,EAAK1rC,OAAO4K,GACrBy8C,EAAS3b,EAAK1rC,OAAO+K,GAErBm9C,GADUxc,EAAK9Y,SAAWu0B,GACFC,EAAQC,GACpC,GAAIa,EACA,OAAOxc,EAAK/Y,MAAQu1B,EAAgBA,EAG5C,OAAOH,EAASC,KAGpBG,EAAkB,WAClB,IA2BIvgD,EAAW,SAASzd,GACpB,OAAO,EAAIvF,EAAM0K,WAAWnF,GAASA,EAAMyd,WAAa,IAuD5D,SAASwgD,EAAcpoD,EAAQ7V,EAAOk+D,GAClC,OAAO,SAAS7jE,GACZA,GAAM,EAAIoT,EAAMwG,cAAc4B,EAAOxb,IACrC,IAAI+F,EAQZ,SAA6BJ,GACzB,MAAO,KAAOA,GAAS,IAAMA,IAAS,IAAUA,EAT/Bm+D,CAAoBn+D,GAAS3F,IAAQ2F,EAAQ3F,GAAO2F,EAIjE,OAHIk+D,IACA99D,GAAUA,GAEPA,GAkBf,OAAO,SAASkoC,GACZ,OAAI,EAAI7tC,EAAM2T,YAAYk6B,GACfA,EAEP9R,EAAOp8B,QAAQuvC,iBAAiBrB,GAhHrB,SAASA,GACxB,IAAI81B,EAAM,GACN30B,GAAwB,EACxB40B,GAA4B,EAahC,OAZA,EAAIjgE,EAAU2C,MAAMunC,GAAM,WACtB,GAAI3iC,MAAM6P,QAAQza,QAAS,EAAIN,EAAM2T,YAAYrT,MAAO,CACpD,GAAIqjE,EAAI7hE,OAAS,GAAKktC,IAA0B40B,EAC5C,MAAM,IAAI/jE,EAAQF,QAAQ0+B,OAAO97B,MAAM,SAE3CohE,EAAI3hE,KAAKuhE,EAAgBjjE,OACzB0uC,EAAwB40B,EACxBA,GAA4B,OAE5BA,EAA4B7nC,EAAOp8B,QAAQqvC,sBAAsB1uC,SAGlE,SAASokB,GAEZ,IADA,IAAI/e,EAASqpC,EACJ5tC,EAAI,EAAGA,EAAIuiE,EAAI7hE,OAAQV,IAC5B,GAAIuiE,EAAIviE,GAAGsjB,KAAOsqB,EAAuB,CACrCrpC,GAAUqpC,EACV,MAGR,OAAOrpC,GAyFAk+D,CAAah2B,GAEpB9R,EAAOp8B,QAAQsvC,iBAAiBpB,GAjBxC,SAAsBA,GAClB,IAAI4I,EAAK5I,EAAK,GACVi2B,EAAWP,EAAgB11B,EAAK,IACpC,GAAI,MAAQ4I,EACR,OAAO,SAAS72C,GACZ,OAAQkkE,EAASlkE,IAGzB,MAAMC,EAAQF,QAAQ0+B,OAAO97B,MAAM,QAASk0C,GAUjCstB,CAAal2B,GAtFR,SAASA,GACzBA,EAAO9R,EAAOp8B,QAAQiuC,yBAAyBC,GAC/C,IAAIzyB,GAAS,EAAIpI,EAAMwB,eAAeq5B,EAAK,IACvC4I,EAAK5I,EAAK,GACVtoC,EAAQsoC,EAAK,GAEjB,OADAtoC,GAAQ,EAAIyN,EAAMwG,cAAcjU,GACxBkxC,EAAGjuC,eACP,IAAK,IACD,OAAOg7D,EAAcpoD,EAAQ7V,GACjC,IAAK,KACD,OAAOi+D,EAAcpoD,EAAQ7V,GAAO,GACxC,IAAK,IACD,OAAO,SAAS3F,GACZ,OAAO,EAAIoT,EAAMwG,cAAc4B,EAAOxb,IAAQ2F,GAEtD,IAAK,IACD,OAAO,SAAS3F,GACZ,OAAO,EAAIoT,EAAMwG,cAAc4B,EAAOxb,IAAQ2F,GAEtD,IAAK,KACD,OAAO,SAAS3F,GACZ,OAAO,EAAIoT,EAAMwG,cAAc4B,EAAOxb,KAAS2F,GAEvD,IAAK,KACD,OAAO,SAAS3F,GACZ,OAAO,EAAIoT,EAAMwG,cAAc4B,EAAOxb,KAAS2F,GAEvD,IAAK,aACD,OAAO,SAAS3F,GACZ,OAAO,KAAM,EAAIoT,EAAMwG,cAAcwJ,EAAS5H,EAAOxb,KAAOgX,QAAQrR,IAE5E,IAAK,WACD,OAAO,SAAS3F,GACZ,IAAIokE,GAAc,EAAIhxD,EAAMwG,cAAcwJ,EAAS5H,EAAOxb,KACtDs0C,EAAclxB,EAASzd,GAC3B,GAAIy+D,EAAYliE,OAASoyC,EAAYpyC,OACjC,OAAO,EAEX,IAAI6N,EAAQq0D,EAAY1vD,YAAY/O,GACpC,OAAkB,IAAXoK,GAAgBA,IAAUq0D,EAAYliE,OAASyD,EAAMzD,QAEpE,IAAK,WACD,OAAO,SAASlC,GACZ,OAAO,EAAIoT,EAAMwG,cAAcwJ,EAAS5H,EAAOxb,KAAOgX,QAAQrR,IAAU,GAEhF,IAAK,cACD,OAAO,SAAS3F,GACZ,OAA0E,KAAnE,EAAIoT,EAAMwG,cAAcwJ,EAAS5H,EAAOxb,KAAOgX,QAAQrR,IAG1E,MAAM1F,EAAQF,QAAQ0+B,OAAO97B,MAAM,QAASk0C,GAsCrCwtB,CAAcp2B,IAvHP,GA0HlBq2B,EAAiB9B,EAAgBr/D,QAAQ,CACzChB,KAAM,SAASumC,EAAMw7B,GACjBxjE,KAAKC,SAAS+nC,GACdhoC,KAAKwjE,SAAWP,EAAgBO,IAEpChpD,KAAM,WACF,KAAOxa,KAAKgoC,KAAKxtB,QACb,GAAIxa,KAAKwjE,SAASxjE,KAAK8S,WACnB,OAAO,EAGf,OAAO,KAGX+wD,EAAgBlC,EAASl/D,QAAQ,CACjChB,KAAM,SAASumC,EAAMltB,GACjB9a,KAAKgoC,KAAOA,EACZhoC,KAAK8a,OAASA,GAElBN,KAAM,WAEF,OADAxa,KAAK8jE,iBACE9jE,KAAK+jE,YAAYvpD,QAE5B1H,QAAS,WAEL,OADA9S,KAAK8jE,iBACE9jE,KAAK+jE,YAAYjxD,WAE5B+xB,MAAO,kBACI7kC,KAAK+jE,aAEhBnC,UAAW,WACP,QAAS5hE,KAAK+jE,aAElBr+D,MAAO,WACH,OAAO1F,KAAK+jE,YAAYr+D,SAE5Bo+D,eAAgB,WACZ,IAAI9jE,KAAK+jE,YAAT,CAGA,IAAIC,EAAO,GACP90D,EAAO,GACP84B,EAAOhoC,KAAKgoC,KACZltB,GAAS,EAAIpI,EAAMwB,eAAelU,KAAK8a,QAE3C,IADAktB,EAAKnD,QACEmD,EAAKxtB,QAAQ,CAChB,IAAI1H,EAAUk1B,EAAKl1B,UACfxQ,EAAMwY,EAAOhI,GACbxQ,KAAO0hE,EACPA,EAAK1hE,GAAKZ,KAAKoR,IAEfkxD,EAAK1hE,GAAO,CAACwQ,GACb5D,EAAKxN,KAAKY,IAGlBtC,KAAK+jE,YAAc,IAAIlC,GAAc,EAAIx+D,EAAUmb,KAAKtP,GAAM,SAAS5M,GACnE,MAAO,CACHA,IAAKA,EACL+yC,MAAO2uB,EAAK1hE,YAKxB2hE,EAAiBnC,EAAgBr/D,QAAQ,CACzChB,KAAM,SAASumC,EAAMltB,GACjB9a,KAAKC,SAAS+nC,GACdhoC,KAAK8a,QAAS,EAAIpI,EAAMwB,eAAe4G,IAE3ChI,QAAS,WACL,OAAO9S,KAAK8a,OAAO9a,KAAKC,aAE5B2hE,UAAW,WACP,OAAO5hE,KAAKgoC,KAAK45B,aAErBl8D,MAAO,WACH,OAAO1F,KAAKgoC,KAAKtiC,WAGrBw+D,EAAgBpC,EAAgBr/D,QAAQ,CACxChB,KAAM,SAASumC,EAAM6P,EAAMM,GACvBn4C,KAAKC,SAAS+nC,GACdhoC,KAAK63C,KAAOvyC,KAAK4E,IAAI,EAAG2tC,GACxB73C,KAAKm4C,KAAO7yC,KAAK4E,IAAI,EAAGiuC,GACxBn4C,KAAKmkE,IAAM,GAEf3pD,KAAM,WACF,GAAIxa,KAAKmkE,KAAOnkE,KAAK63C,KAAO73C,KAAKm4C,KAC7B,OAAO,EAEX,KAAOn4C,KAAKmkE,IAAMnkE,KAAK63C,MAAQ73C,KAAKgoC,KAAKxtB,QACrCxa,KAAKmkE,MAGT,OADAnkE,KAAKmkE,MACEnkE,KAAKgoC,KAAKxtB,QAErBqqB,MAAO,WACH7kC,KAAKC,WACLD,KAAKmkE,IAAM,GAEfvC,UAAW,WACP,OAAO5hE,KAAKgoC,KAAK45B,aAErBl8D,MAAO,WACH,OAAOJ,KAAK2E,IAAIjK,KAAKgoC,KAAKtiC,QAAU1F,KAAK63C,KAAM73C,KAAKm4C,SA8IxDj1C,EA3IiB,SAASkhE,EAAep8B,EAAMjL,GAC/CA,EAAeA,GAAgB,GACzBiL,aAAgB25B,IAClB35B,EAAO,IAAI65B,EAAc75B,IAE7B,IAAIq8B,EAAc,SAAS3mC,GACvB,IAAIC,EAAUZ,EAAaa,aACvBD,GACAA,EAAQD,GAEZn+B,EAAQF,QAAQw+B,cAAcH,IAE9B4mC,EAAgB,SAASC,GACzB,IAAIngD,GAAK,IAAI2W,EAAUyC,UAAUkB,KAAK2lC,GAElC71D,EAAO+1D,EAAW/1D,KAClBu+B,EAAWw3B,EAAWx3B,SAC1B,IACI/E,EAAKnD,QAOL,IADA,IAAI2/B,GALA,SAAUD,EACHA,EAAW53B,KAEX3E,EAAKxtB,OAASwtB,EAAKl1B,UAAY8S,KAGnCoiB,EAAKxtB,QACRgqD,EAAch2D,EAAKg2D,EAAax8B,EAAKl1B,WAEzCsR,EAAEqa,QAAQsO,EAAWA,EAASy3B,GAAeA,GAC/C,MAAO9+C,GACLtB,EAAE4X,OAAOtW,GAEb,OAAOtB,EAAEua,WAcT8lC,EAAoB,SAAS5jE,GAC7B,OAAOyjE,EAAc7oC,EAAOp8B,QAAQqtC,YAAY7rC,KAEhDk1C,EAAS,SAASj7B,GAIlB,OAHK,EAAIpb,EAAM2T,YAAYyH,IAAYlQ,MAAM6P,QAAQK,KACjDA,EAAS,GAAGxZ,MAAMiB,KAAKpC,YAEpBukE,EAAW,IAAIT,EAAej8B,EAAMltB,KAE3C6pD,EAAa,SAAS9jE,GACtB,OAAOk1C,GAAO,EAAIrjC,EAAMwB,eAAerT,KAG3C,SAAS6jE,EAAW18B,GAChB,OAAOo8B,EAAep8B,EAAMjL,GAEhC,MAAO,CACHjL,QAAS,WACL,OAAOkW,EAAKlW,WAEhB8nC,UAAW,WACP,IAAIx1C,GAAK,IAAI2W,EAAUyC,UAAUkB,KAAK2lC,GACtC,IACIjgD,EAAEqa,QAAQuJ,EAAKlW,WACjB,MAAOpM,GACLtB,EAAE4X,OAAOtW,GAEb,OAAOtB,EAAEua,WAEbimC,OAAQ,SAAS9pD,EAAQ2yB,EAAMC,GAC3B,OAAOg3B,EAAW,IAAItC,EAAap6B,EAAMltB,EAAQ2yB,EAAMC,KAE3D40B,OAAQ,SAASxnD,EAAQ2yB,EAAMC,GAC3B,GAAI1F,aAAgBo6B,EAChB,OAAOsC,EAAW18B,EAAKs6B,OAAOxnD,EAAQ2yB,EAAMC,IAEhD,MAAMnuC,EAAQF,QAAQ0+B,OAAO97B,MAAM,UAEvC2R,OAAQ,SAAS4vD,GAIb,OAHK54D,MAAM6P,QAAQ+oD,KACfA,EAAW,GAAGliE,MAAMiB,KAAKpC,YAEtBukE,EAAW,IAAId,EAAe57B,EAAMw7B,KAE/CliE,MAAO,SAASu2C,EAAMM,GAIlB,YAHI,IAAWA,IACXA,EAAOnkB,OAAO6wC,WAEXH,EAAW,IAAIR,EAAcl8B,EAAM6P,EAAMM,KAEpDpC,OAAQA,EACRh3B,QAAS,SAASjE,GACd,OAAO4pD,EAAW,IAAIb,EAAc77B,EAAMltB,KAE9CgqD,UAlEY,SAASn4B,EAAMn+B,EAAMu+B,GACjC,OACWu3B,EADPnkE,UAAUqB,OAAS,EACE,CACjBgN,KAAMrO,UAAU,IAGH,CACjBwsC,KAAMA,EACNn+B,KAAMA,EACNu+B,SAAUA,KA0DdrnC,MAAO,WACH,GAAIsiC,EAAK45B,YAAa,CAClB,IAAIx9C,GAAK,IAAI2W,EAAUyC,UAAUkB,KAAK2lC,GACtC,IACIjgD,EAAEqa,QAAQuJ,EAAKtiC,SACjB,MAAOggB,GACLtB,EAAE4X,OAAOtW,GAEb,OAAOtB,EAAEua,UAEb,OAAO8lC,EAAkB,UAE7B73B,IAAK,SAAS9xB,GACV,OAAIA,EACO6pD,EAAW7pD,GAAQ8xB,MAEvB63B,EAAkB,QAE7Bx6D,IAAK,SAAS6Q,GACV,OAAIA,EACO6pD,EAAW7pD,GAAQ7Q,MAEvBw6D,EAAkB,QAE7Bv6D,IAAK,SAAS4Q,GACV,OAAIA,EACO6pD,EAAW7pD,GAAQ5Q,MAEvBu6D,EAAkB,QAE7B53B,IAAK,SAAS/xB,GACV,OAAIA,EACO6pD,EAAW7pD,GAAQ+xB,MAEvB43B,EAAkB,UAKrCrlE,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,iCC9iBzBD,EAAQsuC,QAER,SAAiBhoB,EAAGG,EAAGk/C,GACnB,SAASC,EAAa//D,GAClB,MAAI,kBAAoBA,EACbA,EAAMkV,MAAM,KAEnB,kBAAoBlV,EACb,CAACA,GAELA,EAEXygB,EAAIs/C,EAAat/C,GACjBG,EAAIm/C,EAAan/C,GACjB,IAAIrkB,EAAS8D,KAAK4E,IAAIwb,EAAElkB,OAAQqkB,EAAErkB,QAC9Bo+B,SAASmlC,KACTvjE,EAAS8D,KAAK2E,IAAIzI,EAAQujE,IAE9B,IAAK,IAAIjkE,EAAI,EAAGA,EAAIU,EAAQV,IAAK,CAC7B,IAAImkE,EAAQpgE,SAAS6gB,EAAE5kB,IAAM,EAAG,IAC5BokE,EAAQrgE,SAASghB,EAAE/kB,IAAM,EAAG,IAChC,GAAImkE,EAAQC,EACR,OAAQ,EAEZ,GAAID,EAAQC,EACR,OAAO,EAGf,OAAO,I,gCC5BX9lE,EAAQC,aAAU,EAClB,IAGgCC,EAH5B68B,GAG4B78B,EAHkBE,EAAQ,OAIxCF,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAJfkT,EAAUhT,EAAQ,IAQtB,SAAS2/B,EAAQ7/B,GAEb,OAAO6/B,EAAU,mBAAqBC,QAAU,iBAAmBA,OAAOC,SAAW,SAAS//B,GAC1F,cAAcA,GACd,SAASA,GACT,OAAOA,GAAO,mBAAqB8/B,QAAU9/B,EAAIsD,cAAgBw8B,QAAU9/B,IAAQ8/B,OAAO3+B,UAAY,gBAAkBnB,IACjHA,GAEf,IAGI6lE,EAA2B,CAC3BtzC,iBAAkB,SAASphB,EAASkhB,GAChC,OAAOlhB,EAAQohB,iBAAiBF,IAEpC+E,eAAgB,SAASjmB,EAASkhB,GAC9B,IAAI0O,EAAQrgC,KAaZ,OAZcyQ,EAAQgI,SAAWhI,EAAQ20D,iBAAmB30D,EAAQ40D,oBAAsB50D,EAAQ60D,mBAAqB70D,EAAQ80D,kBAAoB90D,EAAQ+0D,uBAAyB,SAAS7zC,GACzL,IAAI8zC,EAAMh1D,EAAQ0d,UAAY1d,EAAQinB,cACtC,IAAK+tC,EACD,OAAO,EAGX,IADA,IAAIpwB,EAAQhV,EAAMxO,iBAAiB4zC,EAAK9zC,GAC/B7wB,EAAI,EAAGA,EAAIu0C,EAAM7zC,OAAQV,IAC9B,GAAIu0C,EAAMv0C,KAAO2P,EACb,OAAO,IAIJlO,KAAKkO,EAASkhB,IAEjChb,cAAe,SAAS2d,EAAS9N,GAE7B,OADAA,EAAUA,GAAWxmB,KAAK0lE,WACX/uD,cAAc2d,IAEjCqxC,gBAAiB,SAASC,EAAItxC,EAAS9N,GAEnC,OADAA,EAAUA,GAAWxmB,KAAK0lE,WACXC,gBAAgBC,EAAItxC,IAEvCD,eAAgB,SAASrJ,EAAMxE,GAE3B,OADAA,EAAUA,GAAWxmB,KAAK0lE,WACXrxC,eAAerJ,IAElCjV,OAAQ,SAAStF,GACb,OAAOA,GAAW,WAAa0uB,EAAQ1uB,IAAY,aAAcA,GAAW,aAAcA,GAE9FylB,cAAe,SAASzlB,GACpB,OAAOA,GAvCI,IAuCOA,EAAQ0P,UAE9B4N,WAAY,SAAStd,GACjB,OAAOA,GAzCC,IAyCUA,EAAQ0P,UAE9B8N,WAAY,SAASxd,GACjB,OAAOA,GA3CK,IA2CMA,EAAQ0P,UAE9BwV,cAAe,SAASllB,GACpB,IAAIud,EAAavd,GAAWA,EAAQud,WAChCA,GACAA,EAAW+iC,YAAYtgD,IAG/B+jB,cAAe,SAASqxC,EAAeC,EAAYC,GAC3CF,GAAiBC,GAAcD,IAAkBC,IAC7CC,EACAF,EAAc3wC,aAAa4wC,EAAYC,GAEvCF,EAAc7uD,YAAY8uD,KAItCrzC,aAAc,SAAShiB,EAAS5P,GAC5B,OAAO4P,EAAQgiB,aAAa5xB,IAEhCsxB,aAAc,SAAS1hB,EAAS5P,EAAMoE,GAClCwL,EAAQ0hB,aAAatxB,EAAMoE,IAE/BmtB,gBAAiB,SAAS3hB,EAAS5P,GAC/B4P,EAAQ2hB,gBAAgBvxB,IAE5B+xB,YAAa,SAASniB,EAAS5P,EAAMoE,GACjCwL,EAAQ5P,GAAQoE,GAEpB4wB,QAAS,SAASplB,EAASua,GACnBva,IACAA,EAAQqlB,YAAc9K,IAG9BmI,SAAU,SAAS1iB,EAASqiB,EAAWkzC,GACnC,GAAI,IAAMv1D,EAAQ0P,UAAY2S,EAC1B,GAAIriB,EAAQyiB,UACJ8yC,EACAv1D,EAAQyiB,UAAUljB,IAAI8iB,GAEtBriB,EAAQyiB,UAAU9iB,OAAO0iB,OAE1B,CACH,IAIImzC,EAJAC,EAAqB,kBAAoBz1D,EAAQqiB,UACjDqzC,EAAeD,EAAqBz1D,EAAQqiB,UAAY9yB,KAAKyyB,aAAahiB,EAAS,UAAY,GAC/FwiB,EAAakzC,EAAahsD,MAAM,KAChCisD,EAAanzC,EAAW3c,QAAQwc,GAEhCkzC,GAASI,EAAa,IACtBH,EAAkBE,EAAeA,EAAe,IAAMrzC,EAAYA,IAEjEkzC,GAASI,GAAc,IACxBnzC,EAAWvjB,OAAO02D,EAAY,GAC9BH,EAAkBhzC,EAAW1I,KAAK,WAElC,IAAW07C,IACPC,EACAz1D,EAAQqiB,UAAYmzC,EAEpBjmE,KAAKmyB,aAAa1hB,EAAS,QAASw1D,MAMxD/xC,SAAU,SAASzjB,EAAS5P,EAAMoE,GAC9BwL,EAAQikB,MAAM7zB,GAAQoE,GAAS,IAEnCygE,UAAW,qBAAuBv3C,cAAW,EAASA,SACtDyD,YAAa,WACT,OAAO5xB,KAAK0lE,WAEhBv5C,iBAAkB,WACd,OAAOnsB,KAAK0lE,UAAUx5C,eAE1BG,QAAS,WACL,OAAOrsB,KAAK0lE,UAAUt5C,MAE1BnP,uBAAwB,WACpB,OAAOjd,KAAK0lE,UAAUzoD,0BAE1BsW,mBAAoB,WAChB,OAAOvzB,KAAK0lE,UAAUx3C,iBAE1Bm4C,YAAa,WACT,OAAOrmE,KAAK0lE,UAAUnU,UAE1B/kC,aAAc,WACV,OAAOxsB,KAAK0lE,UAAUn5C,WAE1BquB,cAAe,WACX,OAAO56C,KAAK0lE,UAAU1R,YAE1B/C,QAAS,WACL,OAAOjxD,KAAK0lE,UAAUvnC,MAE1BmoC,oBAAqB,SAAS56B,GAC1B,OAAOA,KAAY1rC,KAAK0lE,WAE5B3zD,OAAQ,SAAStB,EAASgd,EAAOuJ,EAAUhkB,GACvC,OAAKvC,GAAa,qBAAsBA,GAGxCA,EAAQ81D,iBAAiB94C,EAAOuJ,EAAUhkB,GACnC,WACHvC,EAAQ+1D,oBAAoB/4C,EAAOuJ,KAJ5BxkB,EAAQyxB,OAQvB/gC,GAAW,EAAIi5B,EAAqB98B,SAAS8lE,GACjD/lE,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,S,gCC9KzBD,EAAQC,aAAU,EAClB,IAAIyX,EAAYhG,EAAuBtR,EAAQ,KAC3CqP,EAAUrP,EAAQ,IAClBiT,EAAUjT,EAAQ,IAClBE,EAAQF,EAAQ,IAChB6D,EAAY7D,EAAQ,IACpBD,EAAUuR,EAAuBtR,EAAQ,MACzCmQ,EAAamB,EAAuBtR,EAAQ,MAC5CuR,EAAmBD,EAAuBtR,EAAQ,MAClDqhD,EAAoB/vC,EAAuBtR,EAAQ,OACnDmyC,EAAmBnyC,EAAQ,KAC3BinE,EAAWjnE,EAAQ,MACnBknE,EAAalnE,EAAQ,KACrB6X,EAAUvG,EAAuBtR,EAAQ,MAE7C,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAGnB,IAAI0Y,GAAY,EAAInJ,EAAQoJ,gBACxB3G,GAAS,EAAIzC,EAAQG,aACrB23D,EAAiB,CACjBC,OAAQ,SACRC,QAAS,SACTC,QAAS,SACTC,YAAa,SACbC,KAAM,OACNC,SAAU,YACVC,aAAc,iBACdC,cAAe,UACfC,UAAW,wBACXC,QAAS,WAETC,EAAiB,CACjBC,WAAY,UACZ/sC,SAAU,UACV11B,QAAS,GACT0iE,OAAO,EACPC,QAAQ,EACRC,SAAS,EACTC,KAAK,EACLC,SAAS,EACTC,MAAO,IACPntC,KAAK,GAELotC,EAAY,CACZF,QAAS,SAAS5uD,GACd,IAAI+uD,EAAU,iBAAiBjvD,KAAKE,IAAcA,EAAUxC,MAAM,aAC9DwxD,GAAYD,GAAW,+BAA+BjvD,KAAKE,GAC3DivD,GAAaF,IAAYC,GAAY,aAAalvD,KAAKE,GACvDyhB,EAAQ,yBAAyB3hB,KAAKE,EAAU9Q,eACpD,GAAM6/D,GAAWC,GAAYC,GAAaxtC,EAG1C,MAAO,CACH8sC,WAAYQ,EAAU,QAAUC,EAAW,SAAW,UACtDxtC,SAAU,UACV11B,QAAS,GACT+iE,MAAO,IACPntC,IAAKD,IAGbktC,IAAK,SAAS3uD,GACV,GAAK,kBAAkBF,KAAKE,GAA5B,CAGA,IAAI+uD,EAAU,eAAejvD,KAAKE,GAC9BP,EAAUO,EAAUxC,MAAM,2BAI9B,MAAO,CACH+wD,WAAYQ,EAAU,QAAU,SAChCvtC,SAAU,MACV11B,QANU2T,EAAU,CAAC5T,SAAS4T,EAAQ,GAAI,IAAK5T,SAAS4T,EAAQ,GAAI,IAAK5T,SAAS4T,EAAQ,IAAM,EAAG,KAAO,GAO1GovD,MANY,MAAQv2D,EAAO42D,OAAOz2D,OACd,IAAM,OAQlCi2D,QAAS,SAAS1uD,GACd,GAAK,qBAAqBF,KAAKE,GAA/B,CAGA,IAAI+uD,EAAU,UAAUjvD,KAAKE,GACzBP,EAAUO,EAAUxC,MAAM,oCAC1B1R,EAAU2T,EAAU,CAAC5T,SAAS4T,EAAQ,GAAI,IAAK5T,SAAS4T,EAAQ,IAAM,EAAG,IAAK5T,SAAS4T,EAAQ,IAAM,EAAG,KAAO,GAGnH,MAAO,CACH8uD,WAAYQ,EAAU,QAAU,SAChCvtC,SAAU,UACV11B,QAASA,EACT+iE,MANe/iE,EAAQtD,OAAS,IAAMsD,EAAQ,GAAK,GAAK,IAAMA,EAAQ,IAAMA,EAAQ,GAAK,GAClE,IAAM,QAgMrCqjE,EAAU,IAvLA,WACV,SAASC,EAAQp1D,GACbhT,KAAK6O,SAAW,OAASmE,QAAW,IAAWA,OAAU,EAASA,EAAQ1B,SAAWA,EACrFtR,KAAKqoE,YAAcroE,KAAKsoE,aACxBtoE,KAAKuoE,oBAAiB,EACtBvoE,KAAKwoE,yBAAsB,EAC3BxoE,KAAKgyC,gBAAkB,IAAIL,EAAiBM,eAAejyC,MAC3DA,KAAKyoE,SAAU,EAAI94D,EAAWtQ,YAC1B,EAAIwP,EAAQE,eACZgC,EAAiB1R,QAAQ2Q,IAAIhQ,KAAK0oE,wBAAwBvnE,KAAKnB,OAC/D6gD,EAAkBxhD,QAAQ2Q,IAAIhQ,KAAK0oE,wBAAwBvnE,KAAKnB,QAGxE,IAAI+P,EAASq4D,EAAQ3nE,UAwKrB,OAvKAsP,EAAO+C,QAAU,SAAS61D,GACtB,GAAIA,EAIA,OAHA3oE,KAAKuoE,eAAiBvoE,KAAKsoE,WAAWK,GACtC3oE,KAAK4oE,SAAU,OACf5oE,KAAKyoE,QAAQp4D,OAGjB,IAAKrQ,KAAKuoE,eAAgB,CACtBI,OAAe,EACf,IACIA,EAAe3oE,KAAK6oE,kCACtB,MAAOvkE,GACLqkE,EAAe3oE,KAAK8oE,mCACtB,QACOH,IACDA,EAAe3oE,KAAK8oE,oCAEpBH,IACA3oE,KAAK4oE,SAAU,GAGvB5oE,KAAKuoE,eAAiBvoE,KAAKsoE,WAAWK,GAE1C,OAAO3oE,KAAKuoE,gBAEhBx4D,EAAOwqB,KAAO,SAASwuC,GACnB,OAAO,EAAIt2D,EAAQa,QAAQ,GAAItT,KAAKqoE,cAExCt4D,EAAOi5D,YAAc,WACjB,OAAOhpE,KAAKwoE,qBAEhBz4D,EAAOk5D,SAAW,WACd,OAAOjpE,KAAK4oE,SAEhB74D,EAAOm5D,iBAAmB,WACtB,QAASlpE,KAAK6O,QAAQs6D,YAE1Bp5D,EAAOq5D,eAAiB,SAASl2D,GAC7B,IAAI7N,EAAS,GACTgkE,EAAarpE,KAAKqoE,YAkBtB,OAjBAn1D,EAASA,GAAUlT,KAAK8S,WACby0D,aACPliE,EAAO3D,KAAK,aAAa6c,OAAOrL,EAAOq0D,aACnC,YAAcr0D,EAAOq0D,YACrBliE,EAAO3D,KAAK,qBAGpB2D,EAAO3D,KAAK,aAAa6c,OAAO8qD,EAAW7uC,WACvC6uC,EAAWvkE,SAAWukE,EAAWvkE,QAAQtD,QACzC6D,EAAO3D,KAAK,aAAa6c,OAAO8qD,EAAW7uC,SAAU,KAAKjc,OAAO8qD,EAAWvkE,QAAQ,KAEpF9E,KAAKspE,eACLjkE,EAAO3D,KAAK,iBAEZ,EAAI2V,EAAQhY,WAAWkY,YACvBlS,EAAO3D,KAAK,UAET2D,GAEX0K,EAAOw5D,iBAAmB,SAAS94D,EAASyC,GACxClT,KAAKwpE,eAAiBxpE,KAAKopE,eAAel2D,GAAQqX,KAAK,MACvD,EAAIzT,EAAUzX,SAASoR,GAASoiB,SAAS7yB,KAAKwpE,iBAElDz5D,EAAO05D,iBAAmB,SAASh5D,IAC/B,EAAIqG,EAAUzX,SAASoR,GAASsiB,YAAY/yB,KAAKwpE,iBAErDz5D,EAAOu5D,YAAc,WACjB,IACI,OAAOtpE,KAAK0pE,eAAgB,EAAI76D,EAAQE,cAAgB/O,KAAK6O,QAAQgJ,MAAQ7X,KAAK6O,QAAQ86D,MAAQ3pE,KAAK6O,QAAQgJ,IAAI,oBAAsB7X,KAAKkpE,mBAChJ,MAAO5kE,GACL,OAAO,IAGfyL,EAAO65D,eAAiB,WACpB5pE,KAAK0pE,cAAe,GAExB35D,EAAOu4D,WAAa,SAASuB,GAQzB,GAPI,iBAAmBA,IACnBA,EAAa,CACTtC,WAAY,QACZ/sC,SAAU,UACVotC,SAAS,KAGb,EAAIloE,EAAMkc,eAAeiuD,GACzB,OAAO7pE,KAAK8pE,YAAYD,GAExB,IAAIrxD,EACJ,GAAIqxD,GAEA,KADArxD,EAAKmuD,EAAekD,IAEhB,MAAMtqE,EAAQF,QAAQ4C,MAAM,cAGhCuW,EAAKR,EAAUgB,UAEnB,OAAOhZ,KAAK+Y,QAAQP,IAG5BzI,EAAO84D,gCAAkC,WACrC,IAAIxjE,EAIJ,OAHI,EAAIwJ,EAAQE,eAAiB/O,KAAK6O,QAAQgJ,IAAI,2BAA6B7X,KAAK6O,QAAQgJ,IAAI,sBAC5FxS,EAASrF,KAAK6O,QAAQgJ,IAAI,2BAA6B7X,KAAK6O,QAAQgJ,IAAI,oBAErExS,GAEX0K,EAAO+4D,iCAAmC,WACtC,IAAIxrD,GAAiB,EAAImpD,EAASnpD,kBAClC,GAAKA,EAAL,CAGA,IAAIqrD,EAAerrD,EAAeysD,QAAQ,mBAC1C,IACI,OAAOv1D,KAAKu8B,MAAM43B,GACpB,MAAO93C,GACL,OAAO83C,KAGf54D,EAAO+5D,YAAc,SAASv6C,GAC1B,IAAIlqB,GAAS,EAAIoN,EAAQa,QAAQ,GAAIg0D,EAAgBtnE,KAAKuoE,eAAgBh5C,GACtEy6C,EAAY,CACZxC,MAAO,UAAYniE,EAAOkiE,WAC1BE,OAAQ,WAAapiE,EAAOkiE,WAC5BG,QAAS,YAAcriE,EAAOm1B,SAC9BmtC,IAAK,QAAUtiE,EAAOm1B,SACtBotC,QAAS,YAAcviE,EAAOm1B,UAElC,OAAO,EAAI/nB,EAAQa,QAAQjO,EAAQ2kE,IAEvCj6D,EAAOgJ,QAAU,SAASP,GACtB,IAAI+W,EAKJ,OAJA,EAAIlsB,EAAU2C,MAAM8hE,GAAW,SAASttC,EAAUyvC,GAE9C,QADA16C,EAAS06C,EAAOzxD,OAGhB+W,EACOvvB,KAAK8pE,YAAYv6C,GAErB+3C,GAEXv3D,EAAOm6D,mBAAqB,WACxB,IAAIC,GAAU,EAAIrzD,EAAUzX,SAASW,KAAK6O,SACtCm6D,EAAcmB,EAAQ14D,SAAW04D,EAAQ54D,QAAU,WAAa,YAChEvR,KAAKwoE,sBAAwBQ,IAGjChpE,KAAKwoE,oBAAsBQ,EAC3BhpE,KAAKgyC,gBAAgB+E,UAAU,qBAAsB,CAAC,CAClDiyB,YAAaA,OAGrBj5D,EAAO24D,wBAA0B,WAC7B,IAAI0B,GAAc,EAAItzD,EAAUzX,SAASW,KAAK6O,SAAS0C,QACnDvR,KAAKqqE,gBAAkBD,IAG3BpqE,KAAKqqE,cAAgBD,EACrBpqE,KAAKkqE,uBAETn6D,EAAO+iC,GAAK,SAASyH,EAAWC,GAE5B,OADAx6C,KAAKgyC,gBAAgBc,GAAGyH,EAAWC,GAC5Bx6C,MAEX+P,EAAO62B,IAAM,SAAS2T,EAAWC,GAE7B,OADAx6C,KAAKgyC,gBAAgBpL,IAAI2T,EAAWC,GAC7Bx6C,MAEJooE,EArLG,IAwLVkC,GAAkB,EAAI5D,EAAWzhE,SACjCqlE,GACAnC,EAAQoB,iBAAiBe,GAE7B5D,EAAW5d,eAAe94C,KAAI,SAASu6D,EAAUC,GAC7CrC,EAAQsB,iBAAiBe,GACzBrC,EAAQoB,iBAAiBgB,MAE7B,IAAIrnE,EAAWilE,EACf/oE,EAAQC,QAAU6D,EAClBC,EAAO/D,QAAUA,EAAQC,QACzB8D,EAAO/D,QAAQC,QAAU8D,EAAO/D,S,gCCnShCA,EAAQqrE,YAAcrrE,EAAQsrE,aAAetrE,EAAQurE,iBAAmBvrE,EAAQwrE,iBAAmBxrE,EAAQuc,MAAQvc,EAAQ8/B,QAAU9/B,EAAQyrE,aAAezrE,EAAQkQ,QAAUlQ,EAAQ2f,QAAU3f,EAAQ42B,UAAO,EAC/M,IAAIt2B,EAAQF,EAAQ,IAChB6D,EAAY7D,EAAQ,IACpB6Z,EAAU7Z,EAAQ,KAClB6X,EAAUvG,EAAuBtR,EAAQ,MACzC+D,EAAWuN,EAAuBtR,EAAQ,MAE9C,SAASsR,EAAuBxR,GAC5B,OAAOA,GAAOA,EAAIG,WAAaH,EAAM,CACjC,QAAWA,GAInB,SAAS6hC,EAAQC,EAAQC,GACrB,IAAInyB,EAAOjO,OAAOiO,KAAKkyB,GACvB,GAAIngC,OAAOqgC,sBAAuB,CAC9B,IAAIC,EAAUtgC,OAAOqgC,sBAAsBF,GAC3CC,IAAmBE,EAAUA,EAAQ3tB,QAAO,SAAS4tB,GACjD,OAAOvgC,OAAOwgC,yBAAyBL,EAAQI,GAAKhuB,eACnDtE,EAAKxN,KAAKxB,MAAMgP,EAAMqyB,GAE/B,OAAOryB,EAGX,SAASg2B,EAAc7N,GACnB,IAAK,IAAIv2B,EAAI,EAAGA,EAAIX,UAAUqB,OAAQV,IAAK,CACvC,IAAIsB,EAAS,MAAQjC,UAAUW,GAAKX,UAAUW,GAAK,GACnDA,EAAI,EAAIqgC,EAAQlgC,OAAOmB,IAAS,GAAIiT,SAAQ,SAAS/S,GACjDqR,EAAgB0jB,EAAQ/0B,EAAKF,EAAOE,OACnCrB,OAAO+jC,0BAA4B/jC,OAAOgkC,iBAAiB5N,EAAQp2B,OAAO+jC,0BAA0B5iC,IAAW++B,EAAQlgC,OAAOmB,IAASiT,SAAQ,SAAS/S,GACzJrB,OAAOsS,eAAe8jB,EAAQ/0B,EAAKrB,OAAOwgC,yBAAyBr/B,EAAQE,OAGnF,OAAO+0B,EAGX,SAAS1jB,EAAgBrU,EAAKgD,EAAK2C,GAW/B,OAVI3C,KAAOhD,EACP2B,OAAOsS,eAAejU,EAAKgD,EAAK,CAC5B2C,MAAOA,EACPuO,YAAY,EACZC,cAAc,EACdC,UAAU,IAGdpU,EAAIgD,GAAO2C,EAER3F,EAGX,SAASsoC,EAAmBC,GACxB,OAgCJ,SAA4BA,GACxB,GAAIj9B,MAAM6P,QAAQotB,GACd,OAAOC,EAAkBD,GAlCtBE,CAAmBF,IA0B9B,SAA0BG,GACtB,GAAI,qBAAuB5I,QAAU,MAAQ4I,EAAK5I,OAAOC,WAAa,MAAQ2I,EAAK,cAC/E,OAAOp9B,MAAMq9B,KAAKD,GA5BYE,CAAiBL,IAOvD,SAAqCtjC,EAAG4jC,GACpC,IAAK5jC,EACD,OAEJ,GAAI,kBAAoBA,EACpB,OAAOujC,EAAkBvjC,EAAG4jC,GAEhC,IAAIxiB,EAAI1kB,OAAOR,UAAUiiB,SAASngB,KAAKgC,GAAGjD,MAAM,GAAI,GAChD,WAAaqkB,GAAKphB,EAAE3B,cACpB+iB,EAAIphB,EAAE3B,YAAY/B,MAEtB,GAAI,QAAU8kB,GAAK,QAAUA,EACzB,OAAO/a,MAAMq9B,KAAK1jC,GAEtB,GAAI,cAAgBohB,GAAK,2CAA2C7M,KAAK6M,GACrE,OAAOmiB,EAAkBvjC,EAAG4jC,GAtB2BC,CAA4BP,IAG3F,WACI,MAAM,IAAIQ,UAAU,wIAJ2EC,GAsCnG,SAASR,EAAkBD,EAAKU,IACxB,MAAQA,GAAOA,EAAMV,EAAIrmC,UACzB+mC,EAAMV,EAAIrmC,QAEd,IAAK,IAAIV,EAAI,EAAG0nC,EAAO,IAAI59B,MAAM29B,GAAMznC,EAAIynC,EAAKznC,IAC5C0nC,EAAK1nC,GAAK+mC,EAAI/mC,GAElB,OAAO0nC,EAEX,IAAI7jC,EAASpB,EAASlE,QAAQuF,MAAQC,SAAStB,EAASlE,QAAQyF,UAAY,GAI5E1F,EAAQ8/B,QAHM,SAAS4rC,GACnB,OAAOlgE,MAAM6P,QAAQqwD,KAAYA,EAAOtpE,QAM5CpC,EAAQqrE,YAHU,SAASK,GACvB,OAAOlgE,MAAM6P,QAAQqwD,GAAUA,EAAS,CAACA,IAG7C,IAAIx7D,EAAU,SAASrK,EAAOm8B,GAC1B,OAAKA,GAGOx2B,MAAM6P,QAAQ2mB,GAAUA,EAASA,EAAOtP,WACvCxb,QAAQrR,IAHT,GAKhB7F,EAAQkQ,QAAUA,EAclBlQ,EAAQyrE,aAbW,SAAS9mE,EAAGmgB,GAC3B,IAAKtZ,MAAM6P,QAAQ1W,IAAM,IAAMA,EAAEvC,SAAWoJ,MAAM6P,QAAQyJ,IAAM,IAAMA,EAAE1iB,OACpE,MAAO,GAEX,IAAI6D,EAAS,GAOb,OANA,EAAIhC,EAAU2C,MAAMjC,GAAG,SAASmM,EAAGjL,IAEhB,IADHqK,EAAQrK,EAAOif,IAEvB7e,EAAO3D,KAAKuD,MAGbI,GAWXjG,EAAQsrE,aARW,SAAS90D,GACxB,OAAIjR,EACOiR,EAAKhC,QAAO,SAASzD,EAAMmf,GAC9B,OAAO1Z,EAAKU,QAAQnG,KAAUmf,KAG/BsY,EAAmB,IAAImjC,IAAIn1D,KAgBtCxW,EAAQurE,iBAbe,SAAS1iC,EAAM+iC,GAClC,IAAKpgE,MAAM6P,QAAQwtB,IAAS,IAAMA,EAAKzmC,OACnC,MAAO,GAEX,IAAI6D,EAAS4iC,EAAK3mC,QAClB,OAAKsJ,MAAM6P,QAAQuwD,IAAS,IAAMA,EAAKxpE,SAEtC,EAAI6B,EAAU2C,MAAMglE,GAAM,SAAS96D,EAAGjL,GACnC,IAAIoK,EAAQC,EAAQrK,EAAOI,GAC3BA,EAAOqK,OAAOL,EAAO,MAElBhK,GALIA,GAqDfjG,EAAQwrE,iBA7Ce,SAASv1B,EAAO41B,EAAoBC,EAAaC,GACpE,IAAIC,EAAe,GACfC,EAAiB,EACjBn7C,GAAwB,EAAI7Y,EAAQhY,WAAW6wB,sBAwCnD,OAvCA,EAAI7sB,EAAU2C,MAAMqvC,GAAO,SAAShmC,EAAOc,IACvCd,EAAQc,EAAK86D,KACA,GACTG,EAAa/7D,GAAS+7D,EAAa/7D,IAAU,GACzCc,IAAS+6D,EACTE,EAAa/7D,GAAO6uB,QAAQ/tB,GAE5Bi7D,EAAa/7D,GAAO3N,KAAKyO,IAG7BA,EAAK86D,QAAsB,KAG9B/6C,IACD,EAAI7sB,EAAU2C,MAAMqvC,GAAO,WACvB,KAAK,EAAI31C,EAAM0K,WAAWpK,KAAKirE,OAA0BE,GAAqBA,EAAkBnrE,OAAQ,CACpG,KAAOorE,EAAaC,IAChBA,IAEJD,EAAaC,GAAkB,CAACrrE,MAChCqrE,QAIZA,EAAiB,GACjB,EAAIhyD,EAAQ+xB,WAAWggC,GAAc,SAAS/7D,EAAOgmC,IACjD,EAAIhyC,EAAU2C,MAAMqvC,GAAO,WACnBhmC,GAAS,IACTrP,KAAKirE,GAAsBI,WAInCn7C,IACA,EAAI7sB,EAAU2C,MAAMqvC,GAAO,YAClB,EAAI31C,EAAM0K,WAAWpK,KAAKirE,KAA0BE,IAAqBA,EAAkBnrE,QAC5FA,KAAKirE,GAAsBI,QAIhCA,GASXjsE,EAAQuc,MANI,SAASkzC,EAAQC,GACzB,IAAK,IAAIhuD,EAAI,EAAGA,EAAIguD,EAAOttD,OAAQV,IAC/B+tD,EAAOA,EAAOrtD,QAAUstD,EAAOhuD,GAEnC,OAAO+tD,GAUXzvD,EAAQ42B,KAPG,SAAS0G,EAAO+R,GACvB,IAAK,IAAI3tC,EAAI,EAAGA,EAAI47B,EAAMl7B,OAAQV,IAC9B,GAAI2tC,EAAU/R,EAAM57B,IAChB,OAAO47B,EAAM57B,IAUzB1B,EAAQ2f,QALM,SAAS2d,EAAO4uC,GAC1B,OAAO5uC,EAAM3pB,QAAO,SAAS1N,EAAQ8K,GACjC,OAAO+0B,EAAcA,EAAc,GAAI7/B,GAAS,GAAIsO,EAAgB,GAAI23D,EAAGn7D,GAAO,GAAGoO,OAAOqpB,EAAmBviC,EAAOimE,EAAGn7D,KAAU,IAAK,CAACA,QAC1I","file":"static/js/main~a4bc5212.abc6b111.chunk.js","sourcesContent":["/**\r\n * DevExtreme (core/class.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _type = require(\"./utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar wrapOverridden = function(baseProto, methodName, method) {\r\n return function() {\r\n var prevCallBase = this.callBase;\r\n this.callBase = baseProto[methodName];\r\n try {\r\n return method.apply(this, arguments)\r\n } finally {\r\n this.callBase = prevCallBase\r\n }\r\n }\r\n};\r\nvar clonePrototype = function(obj) {\r\n var func = function() {};\r\n func.prototype = obj.prototype;\r\n return new func\r\n};\r\nvar redefine = function(members) {\r\n var that = this;\r\n var overridden;\r\n var memberName;\r\n var member;\r\n if (!members) {\r\n return that\r\n }\r\n for (memberName in members) {\r\n member = members[memberName];\r\n overridden = \"function\" === typeof that.prototype[memberName] && \"function\" === typeof member;\r\n that.prototype[memberName] = overridden ? wrapOverridden(that.parent.prototype, memberName, member) : member\r\n }\r\n return that\r\n};\r\nvar include = function() {\r\n var classObj = this;\r\n var argument;\r\n var name;\r\n var i;\r\n var hasClassObjOwnProperty = Object.prototype.hasOwnProperty.bind(classObj);\r\n var isES6Class = !hasClassObjOwnProperty(\"_includedCtors\") && !hasClassObjOwnProperty(\"_includedPostCtors\");\r\n if (isES6Class) {\r\n classObj._includedCtors = classObj._includedCtors.slice(0);\r\n classObj._includedPostCtors = classObj._includedPostCtors.slice(0)\r\n }\r\n for (i = 0; i < arguments.length; i++) {\r\n argument = arguments[i];\r\n if (argument.ctor) {\r\n classObj._includedCtors.push(argument.ctor)\r\n }\r\n if (argument.postCtor) {\r\n classObj._includedPostCtors.push(argument.postCtor)\r\n }\r\n for (name in argument) {\r\n if (\"ctor\" === name || \"postCtor\" === name) {\r\n continue\r\n }\r\n classObj.prototype[name] = argument[name]\r\n }\r\n }\r\n return classObj\r\n};\r\nvar subclassOf = function(parentClass) {\r\n var hasParentProperty = Object.prototype.hasOwnProperty.bind(this)(\"parent\");\r\n var isES6Class = !hasParentProperty && this.parent;\r\n if (isES6Class) {\r\n var baseClass = Object.getPrototypeOf(this);\r\n return baseClass === parentClass || baseClass.subclassOf(parentClass)\r\n } else {\r\n if (this.parent === parentClass) {\r\n return true\r\n }\r\n if (!this.parent || !this.parent.subclassOf) {\r\n return false\r\n }\r\n return this.parent.subclassOf(parentClass)\r\n }\r\n};\r\nvar abstract = function() {\r\n throw _errors.default.Error(\"E0001\")\r\n};\r\nvar copyStatic = function() {\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n return function(source, destination) {\r\n for (var key in source) {\r\n if (!hasOwn.call(source, key)) {\r\n return\r\n }\r\n destination[key] = source[key]\r\n }\r\n }\r\n}();\r\nvar classImpl = function() {};\r\nclassImpl.inherit = function(members) {\r\n var inheritor = function() {\r\n if (!this || (0, _type.isWindow)(this) || \"function\" !== typeof this.constructor) {\r\n throw _errors.default.Error(\"E0003\")\r\n }\r\n var instance = this;\r\n var ctor = instance.ctor;\r\n var includedCtors = instance.constructor._includedCtors;\r\n var includedPostCtors = instance.constructor._includedPostCtors;\r\n var i;\r\n for (i = 0; i < includedCtors.length; i++) {\r\n includedCtors[i].call(instance)\r\n }\r\n if (ctor) {\r\n ctor.apply(instance, arguments)\r\n }\r\n for (i = 0; i < includedPostCtors.length; i++) {\r\n includedPostCtors[i].call(instance)\r\n }\r\n };\r\n inheritor.prototype = clonePrototype(this);\r\n copyStatic(this, inheritor);\r\n inheritor.inherit = this.inherit;\r\n inheritor.abstract = abstract;\r\n inheritor.redefine = redefine;\r\n inheritor.include = include;\r\n inheritor.subclassOf = subclassOf;\r\n inheritor.parent = this;\r\n inheritor._includedCtors = this._includedCtors ? this._includedCtors.slice(0) : [];\r\n inheritor._includedPostCtors = this._includedPostCtors ? this._includedPostCtors.slice(0) : [];\r\n inheritor.prototype.constructor = inheritor;\r\n inheritor.redefine(members);\r\n return inheritor\r\n};\r\nclassImpl.abstract = abstract;\r\nvar _default = classImpl;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/date.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"./type\");\r\nvar _math = require(\"./math\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _inflector = require(\"./inflector\");\r\nvar _browser = _interopRequireDefault(require(\"./browser\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _construct(Parent, args, Class) {\r\n if (_isNativeReflectConstruct()) {\r\n _construct = Reflect.construct\r\n } else {\r\n _construct = function(Parent, args, Class) {\r\n var a = [null];\r\n a.push.apply(a, args);\r\n var Constructor = Function.bind.apply(Parent, a);\r\n var instance = new Constructor;\r\n if (Class) {\r\n _setPrototypeOf(instance, Class.prototype)\r\n }\r\n return instance\r\n }\r\n }\r\n return _construct.apply(null, arguments)\r\n}\r\n\r\nfunction _isNativeReflectConstruct() {\r\n if (\"undefined\" === typeof Reflect || !Reflect.construct) {\r\n return false\r\n }\r\n if (Reflect.construct.sham) {\r\n return false\r\n }\r\n if (\"function\" === typeof Proxy) {\r\n return true\r\n }\r\n try {\r\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar isIE11 = _browser.default.msie && parseInt(_browser.default.version) <= 11;\r\nvar dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"week\", \"month\", \"quarter\", \"year\"];\r\nvar toMilliseconds = function toMilliseconds(value) {\r\n switch (value) {\r\n case \"millisecond\":\r\n return 1;\r\n case \"second\":\r\n return 1e3 * toMilliseconds(\"millisecond\");\r\n case \"minute\":\r\n return 60 * toMilliseconds(\"second\");\r\n case \"hour\":\r\n return 60 * toMilliseconds(\"minute\");\r\n case \"day\":\r\n return 24 * toMilliseconds(\"hour\");\r\n case \"week\":\r\n return 7 * toMilliseconds(\"day\");\r\n case \"month\":\r\n return 30 * toMilliseconds(\"day\");\r\n case \"quarter\":\r\n return 3 * toMilliseconds(\"month\");\r\n case \"year\":\r\n return 365 * toMilliseconds(\"day\");\r\n default:\r\n return 0\r\n }\r\n};\r\nvar getDatesInterval = function(startDate, endDate, intervalUnit) {\r\n var delta = endDate.getTime() - startDate.getTime();\r\n var millisecondCount = toMilliseconds(intervalUnit) || 1;\r\n return Math.floor(delta / millisecondCount)\r\n};\r\nvar getNextDateUnit = function(unit, withWeeks) {\r\n var interval = getDateUnitInterval(unit);\r\n switch (interval) {\r\n case \"millisecond\":\r\n return \"second\";\r\n case \"second\":\r\n return \"minute\";\r\n case \"minute\":\r\n return \"hour\";\r\n case \"hour\":\r\n return \"day\";\r\n case \"day\":\r\n return withWeeks ? \"week\" : \"month\";\r\n case \"week\":\r\n return \"month\";\r\n case \"month\":\r\n return \"quarter\";\r\n case \"quarter\":\r\n return \"year\";\r\n case \"year\":\r\n return \"year\";\r\n default:\r\n return 0\r\n }\r\n};\r\nvar convertMillisecondsToDateUnits = function(value) {\r\n var i;\r\n var dateUnitCount;\r\n var dateUnitInterval;\r\n var dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"month\", \"year\"];\r\n var result = {};\r\n for (i = dateUnitIntervals.length - 1; i >= 0; i--) {\r\n dateUnitInterval = dateUnitIntervals[i];\r\n dateUnitCount = Math.floor(value / toMilliseconds(dateUnitInterval));\r\n if (dateUnitCount > 0) {\r\n result[dateUnitInterval + \"s\"] = dateUnitCount;\r\n value -= convertDateUnitToMilliseconds(dateUnitInterval, dateUnitCount)\r\n }\r\n }\r\n return result\r\n};\r\nvar dateToMilliseconds = function(tickInterval) {\r\n var milliseconds = 0;\r\n if ((0, _type.isObject)(tickInterval)) {\r\n (0, _iterator.each)(tickInterval, function(key, value) {\r\n milliseconds += convertDateUnitToMilliseconds(key.substr(0, key.length - 1), value)\r\n })\r\n }\r\n if ((0, _type.isString)(tickInterval)) {\r\n milliseconds = convertDateUnitToMilliseconds(tickInterval, 1)\r\n }\r\n return milliseconds\r\n};\r\n\r\nfunction convertDateUnitToMilliseconds(dateUnit, count) {\r\n return toMilliseconds(dateUnit) * count\r\n}\r\n\r\nfunction getDateUnitInterval(tickInterval) {\r\n var maxInterval = -1;\r\n var i;\r\n if ((0, _type.isString)(tickInterval)) {\r\n return tickInterval\r\n }\r\n if ((0, _type.isObject)(tickInterval)) {\r\n (0, _iterator.each)(tickInterval, function(key, value) {\r\n for (i = 0; i < dateUnitIntervals.length; i++) {\r\n if (value && (key === dateUnitIntervals[i] + \"s\" || key === dateUnitIntervals[i]) && maxInterval < i) {\r\n maxInterval = i\r\n }\r\n }\r\n });\r\n return dateUnitIntervals[maxInterval]\r\n }\r\n return \"\"\r\n}\r\nvar tickIntervalToFormatMap = {\r\n millisecond: \"millisecond\",\r\n second: \"longtime\",\r\n minute: \"shorttime\",\r\n hour: \"shorttime\",\r\n day: \"day\",\r\n week: \"day\",\r\n month: \"month\",\r\n quarter: \"quarter\",\r\n year: \"year\"\r\n};\r\n\r\nfunction getDateFormatByTickInterval(tickInterval) {\r\n return tickIntervalToFormatMap[getDateUnitInterval(tickInterval)] || \"\"\r\n}\r\nvar getQuarter = function(month) {\r\n return Math.floor(month / 3)\r\n};\r\nvar getFirstQuarterMonth = function(month) {\r\n return 3 * getQuarter(month)\r\n};\r\n\r\nfunction correctDateWithUnitBeginning(date, dateInterval, withCorrection, firstDayOfWeek) {\r\n date = new Date(date.getTime());\r\n var oldDate = new Date(date.getTime());\r\n var firstQuarterMonth;\r\n var month;\r\n var dateUnitInterval = getDateUnitInterval(dateInterval);\r\n switch (dateUnitInterval) {\r\n case \"second\":\r\n date = new Date(1e3 * Math.floor(oldDate.getTime() / 1e3));\r\n break;\r\n case \"minute\":\r\n date = new Date(6e4 * Math.floor(oldDate.getTime() / 6e4));\r\n break;\r\n case \"hour\":\r\n date = new Date(36e5 * Math.floor(oldDate.getTime() / 36e5));\r\n break;\r\n case \"year\":\r\n date.setMonth(0);\r\n case \"month\":\r\n date.setDate(1);\r\n case \"day\":\r\n date.setHours(0, 0, 0, 0);\r\n break;\r\n case \"week\":\r\n date = getFirstWeekDate(date, firstDayOfWeek || 0);\r\n date.setHours(0, 0, 0, 0);\r\n break;\r\n case \"quarter\":\r\n firstQuarterMonth = getFirstQuarterMonth(date.getMonth());\r\n month = date.getMonth();\r\n date.setDate(1);\r\n date.setHours(0, 0, 0, 0);\r\n if (month !== firstQuarterMonth) {\r\n date.setMonth(firstQuarterMonth)\r\n }\r\n }\r\n if (withCorrection && \"hour\" !== dateUnitInterval && \"minute\" !== dateUnitInterval && \"second\" !== dateUnitInterval) {\r\n fixTimezoneGap(oldDate, date)\r\n }\r\n return date\r\n}\r\n\r\nfunction trimTime(date) {\r\n return correctDateWithUnitBeginning(date, \"day\")\r\n}\r\nvar setToDayEnd = function(date) {\r\n var result = trimTime(date);\r\n result.setDate(result.getDate() + 1);\r\n return new Date(result.getTime() - 1)\r\n};\r\nvar getDatesDifferences = function(date1, date2) {\r\n var counter = 0;\r\n var differences = {\r\n year: date1.getFullYear() !== date2.getFullYear(),\r\n month: date1.getMonth() !== date2.getMonth(),\r\n day: date1.getDate() !== date2.getDate(),\r\n hour: date1.getHours() !== date2.getHours(),\r\n minute: date1.getMinutes() !== date2.getMinutes(),\r\n second: date1.getSeconds() !== date2.getSeconds(),\r\n millisecond: date1.getMilliseconds() !== date2.getMilliseconds()\r\n };\r\n (0, _iterator.each)(differences, function(key, value) {\r\n if (value) {\r\n counter++\r\n }\r\n });\r\n if (0 === counter && 0 !== getTimezonesDifference(date1, date2)) {\r\n differences.hour = true;\r\n counter++\r\n }\r\n differences.count = counter;\r\n return differences\r\n};\r\n\r\nfunction addDateInterval(value, interval, dir) {\r\n var result = new Date(value.getTime());\r\n var intervalObject = (0, _type.isString)(interval) ? getDateIntervalByString(interval.toLowerCase()) : (0, _type.isNumeric)(interval) ? convertMillisecondsToDateUnits(interval) : interval;\r\n if (intervalObject.years) {\r\n result.setFullYear(result.getFullYear() + intervalObject.years * dir)\r\n }\r\n if (intervalObject.quarters) {\r\n result.setMonth(result.getMonth() + 3 * intervalObject.quarters * dir)\r\n }\r\n if (intervalObject.months) {\r\n result.setMonth(result.getMonth() + intervalObject.months * dir)\r\n }\r\n if (intervalObject.weeks) {\r\n result.setDate(result.getDate() + 7 * intervalObject.weeks * dir)\r\n }\r\n if (intervalObject.days) {\r\n result.setDate(result.getDate() + intervalObject.days * dir)\r\n }\r\n if (intervalObject.hours) {\r\n result.setTime(result.getTime() + 36e5 * intervalObject.hours * dir)\r\n }\r\n if (intervalObject.minutes) {\r\n result.setTime(result.getTime() + 6e4 * intervalObject.minutes * dir)\r\n }\r\n if (intervalObject.seconds) {\r\n result.setTime(result.getTime() + 1e3 * intervalObject.seconds * dir)\r\n }\r\n if (intervalObject.milliseconds) {\r\n result.setTime(result.getTime() + intervalObject.milliseconds * dir)\r\n }\r\n return result\r\n}\r\nvar addInterval = function(value, interval, isNegative) {\r\n var dir = isNegative ? -1 : 1;\r\n return (0, _type.isDate)(value) ? addDateInterval(value, interval, dir) : (0, _math.adjust)(value + interval * dir, interval)\r\n};\r\nvar getSequenceByInterval = function(min, max, interval) {\r\n var intervals = [];\r\n var cur;\r\n intervals.push((0, _type.isDate)(min) ? new Date(min.getTime()) : min);\r\n cur = min;\r\n while (cur < max) {\r\n cur = addInterval(cur, interval);\r\n intervals.push(cur)\r\n }\r\n return intervals\r\n};\r\nvar getViewFirstCellDate = function(viewType, date) {\r\n if (\"month\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), 1)\r\n }\r\n if (\"year\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), 0, date.getDate())\r\n }\r\n if (\"decade\" === viewType) {\r\n return createDateWithFullYear(getFirstYearInDecade(date), date.getMonth(), date.getDate())\r\n }\r\n if (\"century\" === viewType) {\r\n return createDateWithFullYear(getFirstDecadeInCentury(date), date.getMonth(), date.getDate())\r\n }\r\n};\r\nvar getViewLastCellDate = function(viewType, date) {\r\n if (\"month\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), getLastMonthDay(date))\r\n }\r\n if (\"year\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), 11, date.getDate())\r\n }\r\n if (\"decade\" === viewType) {\r\n return createDateWithFullYear(getFirstYearInDecade(date) + 9, date.getMonth(), date.getDate())\r\n }\r\n if (\"century\" === viewType) {\r\n return createDateWithFullYear(getFirstDecadeInCentury(date) + 90, date.getMonth(), date.getDate())\r\n }\r\n};\r\nvar getViewMinBoundaryDate = function(viewType, date) {\r\n var resultDate = createDateWithFullYear(date.getFullYear(), date.getMonth(), 1);\r\n if (\"month\" === viewType) {\r\n return resultDate\r\n }\r\n resultDate.setMonth(0);\r\n if (\"year\" === viewType) {\r\n return resultDate\r\n }\r\n if (\"decade\" === viewType) {\r\n resultDate.setFullYear(getFirstYearInDecade(date))\r\n }\r\n if (\"century\" === viewType) {\r\n resultDate.setFullYear(getFirstDecadeInCentury(date))\r\n }\r\n return resultDate\r\n};\r\nvar getViewMaxBoundaryDate = function(viewType, date) {\r\n var resultDate = new Date(date);\r\n resultDate.setDate(getLastMonthDay(date));\r\n if (\"month\" === viewType) {\r\n return resultDate\r\n }\r\n resultDate.setMonth(11);\r\n resultDate.setDate(getLastMonthDay(resultDate));\r\n if (\"year\" === viewType) {\r\n return resultDate\r\n }\r\n if (\"decade\" === viewType) {\r\n resultDate.setFullYear(getFirstYearInDecade(date) + 9)\r\n }\r\n if (\"century\" === viewType) {\r\n resultDate.setFullYear(getFirstDecadeInCentury(date) + 99)\r\n }\r\n return resultDate\r\n};\r\n\r\nfunction getLastMonthDay(date) {\r\n var resultDate = createDateWithFullYear(date.getFullYear(), date.getMonth() + 1, 0);\r\n return resultDate.getDate()\r\n}\r\nvar getViewUp = function(typeView) {\r\n switch (typeView) {\r\n case \"month\":\r\n return \"year\";\r\n case \"year\":\r\n return \"decade\";\r\n case \"decade\":\r\n return \"century\"\r\n }\r\n};\r\nvar getViewDown = function(typeView) {\r\n switch (typeView) {\r\n case \"century\":\r\n return \"decade\";\r\n case \"decade\":\r\n return \"year\";\r\n case \"year\":\r\n return \"month\"\r\n }\r\n};\r\nvar getDifferenceInMonth = function(typeView) {\r\n var difference = 1;\r\n if (\"year\" === typeView) {\r\n difference = 12\r\n }\r\n if (\"decade\" === typeView) {\r\n difference = 120\r\n }\r\n if (\"century\" === typeView) {\r\n difference = 1200\r\n }\r\n return difference\r\n};\r\nvar getDifferenceInMonthForCells = function(typeView) {\r\n var difference = 1;\r\n if (\"decade\" === typeView) {\r\n difference = 12\r\n }\r\n if (\"century\" === typeView) {\r\n difference = 120\r\n }\r\n return difference\r\n};\r\n\r\nfunction getDateIntervalByString(intervalString) {\r\n var result = {};\r\n switch (intervalString) {\r\n case \"year\":\r\n result.years = 1;\r\n break;\r\n case \"month\":\r\n result.months = 1;\r\n break;\r\n case \"quarter\":\r\n result.months = 3;\r\n break;\r\n case \"week\":\r\n result.weeks = 1;\r\n break;\r\n case \"day\":\r\n result.days = 1;\r\n break;\r\n case \"hour\":\r\n result.hours = 1;\r\n break;\r\n case \"minute\":\r\n result.minutes = 1;\r\n break;\r\n case \"second\":\r\n result.seconds = 1;\r\n break;\r\n case \"millisecond\":\r\n result.milliseconds = 1\r\n }\r\n return result\r\n}\r\n\r\nfunction sameDate(date1, date2) {\r\n return sameMonthAndYear(date1, date2) && date1.getDate() === date2.getDate()\r\n}\r\n\r\nfunction sameMonthAndYear(date1, date2) {\r\n return sameYear(date1, date2) && date1.getMonth() === date2.getMonth()\r\n}\r\n\r\nfunction sameYear(date1, date2) {\r\n return date1 && date2 && date1.getFullYear() === date2.getFullYear()\r\n}\r\nvar sameDecade = function(date1, date2) {\r\n if (!(0, _type.isDefined)(date1) || !(0, _type.isDefined)(date2)) {\r\n return\r\n }\r\n var startDecadeDate1 = date1.getFullYear() - date1.getFullYear() % 10;\r\n var startDecadeDate2 = date2.getFullYear() - date2.getFullYear() % 10;\r\n return date1 && date2 && startDecadeDate1 === startDecadeDate2\r\n};\r\nvar sameCentury = function(date1, date2) {\r\n if (!(0, _type.isDefined)(date1) || !(0, _type.isDefined)(date2)) {\r\n return\r\n }\r\n var startCenturyDate1 = date1.getFullYear() - date1.getFullYear() % 100;\r\n var startCenturyDate2 = date2.getFullYear() - date2.getFullYear() % 100;\r\n return date1 && date2 && startCenturyDate1 === startCenturyDate2\r\n};\r\n\r\nfunction getFirstDecadeInCentury(date) {\r\n return date && date.getFullYear() - date.getFullYear() % 100\r\n}\r\n\r\nfunction getFirstYearInDecade(date) {\r\n return date && date.getFullYear() - date.getFullYear() % 10\r\n}\r\nvar getShortDateFormat = function() {\r\n return \"yyyy/MM/dd\"\r\n};\r\nvar getFirstMonthDate = function(date) {\r\n if (!(0, _type.isDefined)(date)) {\r\n return\r\n }\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), 1)\r\n};\r\nvar getLastMonthDate = function(date) {\r\n if (!(0, _type.isDefined)(date)) {\r\n return\r\n }\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth() + 1, 0)\r\n};\r\n\r\nfunction getFirstWeekDate(date, firstDayOfWeek) {\r\n var delta = (date.getDay() - firstDayOfWeek + 7) % 7;\r\n var result = new Date(date);\r\n result.setDate(date.getDate() - delta);\r\n return result\r\n}\r\nvar normalizeDateByWeek = function(date, currentDate) {\r\n var differenceInDays = dateUtils.getDatesInterval(date, currentDate, \"day\");\r\n var resultDate = new Date(date);\r\n if (differenceInDays >= 6) {\r\n resultDate = new Date(resultDate.setDate(resultDate.getDate() + 7))\r\n }\r\n return resultDate\r\n};\r\nvar dateInRange = function(date, min, max, format) {\r\n if (\"date\" === format) {\r\n min = min && dateUtils.correctDateWithUnitBeginning(min, \"day\");\r\n max = max && dateUtils.correctDateWithUnitBeginning(max, \"day\");\r\n date = date && dateUtils.correctDateWithUnitBeginning(date, \"day\")\r\n }\r\n return normalizeDate(date, min, max) === date\r\n};\r\nvar dateTimeFromDecimal = function(number) {\r\n var hours = Math.floor(number);\r\n var minutes = number % 1 * 60;\r\n return {\r\n hours: hours,\r\n minutes: minutes\r\n }\r\n};\r\nvar roundDateByStartDayHour = function(date, startDayHour) {\r\n var startTime = this.dateTimeFromDecimal(startDayHour);\r\n var result = new Date(date);\r\n if (date.getHours() === startTime.hours && date.getMinutes() < startTime.minutes || date.getHours() < startTime.hours) {\r\n result.setHours(startTime.hours, startTime.minutes, 0, 0)\r\n }\r\n return result\r\n};\r\n\r\nfunction normalizeDate(date, min, max) {\r\n var normalizedDate = date;\r\n if (!(0, _type.isDefined)(date)) {\r\n return date\r\n }\r\n if ((0, _type.isDefined)(min) && date < min) {\r\n normalizedDate = min\r\n }\r\n if ((0, _type.isDefined)(max) && date > max) {\r\n normalizedDate = max\r\n }\r\n return normalizedDate\r\n}\r\n\r\nfunction fixTimezoneGap(oldDate, newDate) {\r\n if (!(0, _type.isDefined)(oldDate)) {\r\n return\r\n }\r\n var diff = newDate.getHours() - oldDate.getHours();\r\n if (0 === diff) {\r\n return\r\n }\r\n var sign = 1 === diff || diff === -23 ? -1 : 1;\r\n var trial = new Date(newDate.getTime() + 36e5 * sign);\r\n if (sign > 0 || trial.getDate() === newDate.getDate()) {\r\n newDate.setTime(trial.getTime())\r\n }\r\n}\r\nvar roundToHour = function(date) {\r\n date.setHours(date.getHours() + 1);\r\n date.setMinutes(0);\r\n return date\r\n};\r\n\r\nfunction getTimezonesDifference(min, max) {\r\n return 60 * (max.getTimezoneOffset() - min.getTimezoneOffset()) * 1e3\r\n}\r\nvar makeDate = function(date) {\r\n return new Date(date)\r\n};\r\nvar getDatesOfInterval = function(startDate, endDate, step) {\r\n var result = [];\r\n var currentDate = new Date(startDate.getTime());\r\n while (currentDate < endDate) {\r\n result.push(new Date(currentDate.getTime()));\r\n currentDate = this.addInterval(currentDate, step)\r\n }\r\n return result\r\n};\r\nvar createDate = function(date) {\r\n return new Date(isIE11 && (0, _type.isDate)(date) ? date.getTime() : date)\r\n};\r\nvar createDateWithFullYear = function(year) {\r\n var result = _construct(Date, Array.prototype.slice.call(arguments));\r\n result.setFullYear(year);\r\n return result\r\n};\r\nvar dateUtils = {\r\n dateUnitIntervals: dateUnitIntervals,\r\n convertMillisecondsToDateUnits: convertMillisecondsToDateUnits,\r\n dateToMilliseconds: dateToMilliseconds,\r\n getNextDateUnit: getNextDateUnit,\r\n convertDateUnitToMilliseconds: convertDateUnitToMilliseconds,\r\n getDateUnitInterval: getDateUnitInterval,\r\n getDateFormatByTickInterval: getDateFormatByTickInterval,\r\n getDatesDifferences: getDatesDifferences,\r\n correctDateWithUnitBeginning: correctDateWithUnitBeginning,\r\n trimTime: trimTime,\r\n setToDayEnd: setToDayEnd,\r\n roundDateByStartDayHour: roundDateByStartDayHour,\r\n dateTimeFromDecimal: dateTimeFromDecimal,\r\n addDateInterval: addDateInterval,\r\n addInterval: addInterval,\r\n getSequenceByInterval: getSequenceByInterval,\r\n getDateIntervalByString: getDateIntervalByString,\r\n sameDate: sameDate,\r\n sameMonthAndYear: sameMonthAndYear,\r\n sameMonth: sameMonthAndYear,\r\n sameYear: sameYear,\r\n sameDecade: sameDecade,\r\n sameCentury: sameCentury,\r\n getDifferenceInMonth: getDifferenceInMonth,\r\n getDifferenceInMonthForCells: getDifferenceInMonthForCells,\r\n getFirstYearInDecade: getFirstYearInDecade,\r\n getFirstDecadeInCentury: getFirstDecadeInCentury,\r\n getShortDateFormat: getShortDateFormat,\r\n getViewFirstCellDate: getViewFirstCellDate,\r\n getViewLastCellDate: getViewLastCellDate,\r\n getViewDown: getViewDown,\r\n getViewUp: getViewUp,\r\n getLastMonthDay: getLastMonthDay,\r\n getLastMonthDate: getLastMonthDate,\r\n getFirstMonthDate: getFirstMonthDate,\r\n getFirstWeekDate: getFirstWeekDate,\r\n normalizeDateByWeek: normalizeDateByWeek,\r\n getQuarter: getQuarter,\r\n getFirstQuarterMonth: getFirstQuarterMonth,\r\n dateInRange: dateInRange,\r\n roundToHour: roundToHour,\r\n normalizeDate: normalizeDate,\r\n getViewMinBoundaryDate: getViewMinBoundaryDate,\r\n getViewMaxBoundaryDate: getViewMaxBoundaryDate,\r\n fixTimezoneGap: fixTimezoneGap,\r\n getTimezonesDifference: getTimezonesDifference,\r\n makeDate: makeDate,\r\n getDatesInterval: getDatesInterval,\r\n getDatesOfInterval: getDatesOfInterval,\r\n createDate: createDate,\r\n createDateWithFullYear: createDateWithFullYear\r\n};\r\ndateUtils.sameView = function(view, date1, date2) {\r\n return dateUtils[(0, _inflector.camelize)(\"same \" + view)](date1, date2)\r\n};\r\nvar _default = dateUtils;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/polyfills/weak_map.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _array = require(\"../utils/array\");\r\nvar _window = require(\"../utils/window\");\r\nvar weakMap = (0, _window.hasWindow)() ? (0, _window.getWindow)().WeakMap : WeakMap;\r\nif (!weakMap) {\r\n weakMap = function() {\r\n var keys = [];\r\n var values = [];\r\n this.set = function(key, value) {\r\n var index = (0, _array.inArray)(key, keys);\r\n if (index === -1) {\r\n keys.push(key);\r\n values.push(value)\r\n } else {\r\n values[index] = value\r\n }\r\n };\r\n this.get = function(key) {\r\n var index = (0, _array.inArray)(key, keys);\r\n if (index === -1) {\r\n return\r\n }\r\n return values[index]\r\n };\r\n this.has = function(key) {\r\n var index = (0, _array.inArray)(key, keys);\r\n if (index === -1) {\r\n return false\r\n }\r\n return true\r\n };\r\n this.delete = function(key) {\r\n var index = (0, _array.inArray)(key, keys);\r\n if (index === -1) {\r\n return\r\n }\r\n keys.splice(index, 1);\r\n values.splice(index, 1)\r\n }\r\n }\r\n}\r\nvar _default = weakMap;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/memorized_callbacks.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar MemorizedCallbacks = function() {\r\n function MemorizedCallbacks() {\r\n this.memory = [];\r\n this.callbacks = (0, _callbacks.default)()\r\n }\r\n var _proto = MemorizedCallbacks.prototype;\r\n _proto.add = function(fn) {\r\n (0, _iterator.each)(this.memory, function(_, item) {\r\n return fn.apply(fn, item)\r\n });\r\n this.callbacks.add(fn)\r\n };\r\n _proto.remove = function(fn) {\r\n this.callbacks.remove(fn)\r\n };\r\n _proto.fire = function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n this.memory.push(args);\r\n this.callbacks.fire.apply(this.callbacks, args)\r\n };\r\n return MemorizedCallbacks\r\n}();\r\nexports.default = MemorizedCallbacks;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/element.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getPublicElement = getPublicElement;\r\nexports.setPublicElementWrapper = setPublicElementWrapper;\r\nvar strategy = function(element) {\r\n return element && element.get(0)\r\n};\r\n\r\nfunction getPublicElement(element) {\r\n return strategy(element)\r\n}\r\n\r\nfunction setPublicElementWrapper(newStrategy) {\r\n strategy = newStrategy\r\n}\r\n","/**\r\n * DevExtreme (core/utils/resize_callbacks.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _window = require(\"./window\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./callbacks\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"./ready_callbacks\"));\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar resizeCallbacks = function() {\r\n var prevSize;\r\n var callbacks = (0, _callbacks.default)();\r\n var originalCallbacksAdd = callbacks.add;\r\n var originalCallbacksRemove = callbacks.remove;\r\n if (!(0, _window.hasWindow)()) {\r\n return callbacks\r\n }\r\n var formatSize = function() {\r\n var window = (0, _window.getWindow)();\r\n return {\r\n width: window.innerWidth,\r\n height: window.innerHeight\r\n }\r\n };\r\n var handleResize = function() {\r\n var now = formatSize();\r\n if (now.width === prevSize.width && now.height === prevSize.height) {\r\n return\r\n }\r\n var changedDimension;\r\n if (now.width === prevSize.width) {\r\n changedDimension = \"height\"\r\n }\r\n if (now.height === prevSize.height) {\r\n changedDimension = \"width\"\r\n }\r\n prevSize = now;\r\n callbacks.fire(changedDimension)\r\n };\r\n var setPrevSize = (0, _call_once.default)(function() {\r\n prevSize = formatSize()\r\n });\r\n var removeListener;\r\n callbacks.add = function() {\r\n var result = originalCallbacksAdd.apply(callbacks, arguments);\r\n setPrevSize();\r\n _ready_callbacks.default.add(function() {\r\n if (!removeListener && callbacks.has()) {\r\n removeListener = _dom_adapter.default.listen((0, _window.getWindow)(), \"resize\", handleResize)\r\n }\r\n });\r\n return result\r\n };\r\n callbacks.remove = function() {\r\n var result = originalCallbacksRemove.apply(callbacks, arguments);\r\n if (!callbacks.has() && removeListener) {\r\n removeListener();\r\n removeListener = void 0\r\n }\r\n return result\r\n };\r\n return callbacks\r\n}();\r\nvar _default = resizeCallbacks;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/options/utils.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.normalizeOptions = exports.getParentName = exports.getNestedOptionValue = exports.getFieldName = exports.deviceMatch = exports.createDefaultOptionRules = exports.convertRulesToOptions = void 0;\r\nvar _devices = _interopRequireDefault(require(\"../devices\"));\r\nvar _type = require(\"../utils/type\");\r\nvar _common = require(\"../utils/common\");\r\nvar _extend = require(\"../utils/extend\");\r\nvar _data = require(\"../utils/data\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\nvar cachedGetters = {};\r\nvar convertRulesToOptions = function(rules) {\r\n var currentDevice = _devices.default.current();\r\n return rules.reduce(function(options, _ref) {\r\n var device = _ref.device,\r\n ruleOptions = _ref.options;\r\n var deviceFilter = device || {};\r\n var match = (0, _type.isFunction)(deviceFilter) ? deviceFilter(currentDevice) : deviceMatch(currentDevice, deviceFilter);\r\n if (match) {\r\n (0, _extend.extend)(true, options, ruleOptions)\r\n }\r\n return options\r\n }, {})\r\n};\r\nexports.convertRulesToOptions = convertRulesToOptions;\r\nvar normalizeOptions = function(options, value) {\r\n return \"string\" !== typeof options ? options : _defineProperty({}, options, value)\r\n};\r\nexports.normalizeOptions = normalizeOptions;\r\nvar deviceMatch = function(device, filter) {\r\n return (0, _type.isEmptyObject)(filter) || (0, _common.findBestMatches)(device, [filter]).length > 0\r\n};\r\nexports.deviceMatch = deviceMatch;\r\nvar getFieldName = function(fullName) {\r\n return fullName.substr(fullName.lastIndexOf(\".\") + 1)\r\n};\r\nexports.getFieldName = getFieldName;\r\nvar getParentName = function(fullName) {\r\n return fullName.substr(0, fullName.lastIndexOf(\".\"))\r\n};\r\nexports.getParentName = getParentName;\r\nvar getNestedOptionValue = function(optionsObject, name) {\r\n cachedGetters[name] = cachedGetters[name] || (0, _data.compileGetter)(name);\r\n return cachedGetters[name](optionsObject, {\r\n functionsAsIs: true\r\n })\r\n};\r\nexports.getNestedOptionValue = getNestedOptionValue;\r\nvar createDefaultOptionRules = function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n return options\r\n};\r\nexports.createDefaultOptionRules = createDefaultOptionRules;\r\n","/**\r\n * DevExtreme (core/utils/array_compare.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.isKeysEqual = exports.findChanges = void 0;\r\nvar _type = require(\"./type\");\r\nvar getKeyWrapper = function(item, getKey) {\r\n var key = getKey(item);\r\n if ((0, _type.isObject)(key)) {\r\n try {\r\n return JSON.stringify(key)\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n return key\r\n};\r\nvar getSameNewByOld = function(oldItem, newItems, newIndexByKey, getKey) {\r\n var key = getKeyWrapper(oldItem, getKey);\r\n return newItems[newIndexByKey[key]]\r\n};\r\nvar isKeysEqual = function(oldKeys, newKeys) {\r\n if (oldKeys.length !== newKeys.length) {\r\n return false\r\n }\r\n for (var i = 0; i < newKeys.length; i++) {\r\n if (oldKeys[i] !== newKeys[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nexports.isKeysEqual = isKeysEqual;\r\nvar findChanges = function(oldItems, newItems, getKey, isItemEquals) {\r\n var oldIndexByKey = {};\r\n var newIndexByKey = {};\r\n var addedCount = 0;\r\n var removeCount = 0;\r\n var result = [];\r\n oldItems.forEach(function(item, index) {\r\n var key = getKeyWrapper(item, getKey);\r\n oldIndexByKey[key] = index\r\n });\r\n newItems.forEach(function(item, index) {\r\n var key = getKeyWrapper(item, getKey);\r\n newIndexByKey[key] = index\r\n });\r\n var itemCount = Math.max(oldItems.length, newItems.length);\r\n for (var index = 0; index < itemCount + addedCount; index++) {\r\n var newItem = newItems[index];\r\n var oldNextIndex = index - addedCount + removeCount;\r\n var nextOldItem = oldItems[oldNextIndex];\r\n var isRemoved = !newItem || nextOldItem && !getSameNewByOld(nextOldItem, newItems, newIndexByKey, getKey);\r\n if (isRemoved) {\r\n if (nextOldItem) {\r\n result.push({\r\n type: \"remove\",\r\n key: getKey(nextOldItem),\r\n index: index,\r\n oldItem: nextOldItem\r\n });\r\n removeCount++;\r\n index--\r\n }\r\n } else {\r\n var key = getKeyWrapper(newItem, getKey);\r\n var oldIndex = oldIndexByKey[key];\r\n var oldItem = oldItems[oldIndex];\r\n if (!oldItem) {\r\n addedCount++;\r\n result.push({\r\n type: \"insert\",\r\n data: newItem,\r\n index: index\r\n })\r\n } else {\r\n if (oldIndex === oldNextIndex) {\r\n if (!isItemEquals(oldItem, newItem)) {\r\n result.push({\r\n type: \"update\",\r\n data: newItem,\r\n key: getKey(newItem),\r\n index: index,\r\n oldItem: oldItem\r\n })\r\n }\r\n } else {\r\n return\r\n }\r\n }\r\n }\r\n }\r\n return result\r\n};\r\nexports.findChanges = findChanges;\r\n","/**\r\n * DevExtreme (core/utils/svg.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getSvgElement = getSvgElement;\r\nexports.getSvgMarkup = getSvgMarkup;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _window = require(\"./window\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\n\r\nfunction getMarkup(element, backgroundColor) {\r\n var temp = _dom_adapter.default.createElement(\"div\");\r\n var clone = element.cloneNode(true);\r\n if (backgroundColor) {\r\n (0, _renderer.default)(clone).css(\"backgroundColor\", backgroundColor)\r\n }\r\n temp.appendChild(clone);\r\n return temp.innerHTML\r\n}\r\n\r\nfunction fixNamespaces(markup) {\r\n var first = true;\r\n if (markup.indexOf(\"xmlns:xlink\") === -1) {\r\n markup = markup.replace(\"= 0 || ua.indexOf(\"crios\") >= 0) {\r\n browserName = \"chrome\";\r\n browserVersion = /(?:chrome|crios)\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n if (ua.indexOf(\"fxios\") >= 0) {\r\n browserName = \"mozilla\";\r\n browserVersion = /fxios\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n if (ua.indexOf(\"safari\") >= 0 && /version|phantomjs/.test(ua)) {\r\n browserName = \"safari\";\r\n browserVersion = /(?:version|phantomjs)\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n browserName = \"unknown\";\r\n browserVersion = /applewebkit\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n }\r\n }\r\n }\r\n }\r\n if (\"trident\" === browserName || \"edge\" === browserName) {\r\n browserName = \"msie\"\r\n }\r\n if (browserName) {\r\n result[browserName] = true;\r\n result.version = browserVersion\r\n }\r\n return result\r\n};\r\nvar _default = (0, _extend.extend)({\r\n _fromUA: browserFromUA\r\n}, browserFromUA(navigator.userAgent));\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (data/data_source.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _data_source = require(\"./data_source/data_source\");\r\nvar _default = _data_source.DataSource;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/data.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.toComparable = exports.compileSetter = exports.compileGetter = void 0;\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\nvar _class = _interopRequireDefault(require(\"../class\"));\r\nvar _object = require(\"./object\");\r\nvar _type = require(\"./type\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _variable_wrapper = _interopRequireDefault(require(\"./variable_wrapper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar unwrapVariable = _variable_wrapper.default.unwrap;\r\nvar isWrapped = _variable_wrapper.default.isWrapped;\r\nvar assign = _variable_wrapper.default.assign;\r\nvar bracketsToDots = function(expr) {\r\n return expr.replace(/\\[/g, \".\").replace(/\\]/g, \"\")\r\n};\r\nvar readPropValue = function(obj, propName, options) {\r\n options = options || {};\r\n if (\"this\" === propName) {\r\n return unwrap(obj, options)\r\n }\r\n return unwrap(obj[propName], options)\r\n};\r\nvar assignPropValue = function(obj, propName, value, options) {\r\n if (\"this\" === propName) {\r\n throw new _errors.default.Error(\"E4016\")\r\n }\r\n var propValue = obj[propName];\r\n if (options.unwrapObservables && isWrapped(propValue)) {\r\n assign(propValue, value)\r\n } else {\r\n obj[propName] = value\r\n }\r\n};\r\nvar prepareOptions = function(options) {\r\n options = options || {};\r\n options.unwrapObservables = void 0 !== options.unwrapObservables ? options.unwrapObservables : true;\r\n return options\r\n};\r\n\r\nfunction unwrap(value, options) {\r\n return options.unwrapObservables ? unwrapVariable(value) : value\r\n}\r\nvar compileGetter = function(expr) {\r\n if (arguments.length > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n if (!expr || \"this\" === expr) {\r\n return function(obj) {\r\n return obj\r\n }\r\n }\r\n if (\"string\" === typeof expr) {\r\n expr = bracketsToDots(expr);\r\n var path = expr.split(\".\");\r\n return function(obj, options) {\r\n options = prepareOptions(options);\r\n var functionAsIs = options.functionsAsIs;\r\n var hasDefaultValue = \"defaultValue\" in options;\r\n var current = unwrap(obj, options);\r\n for (var i = 0; i < path.length; i++) {\r\n if (!current) {\r\n if (null == current && hasDefaultValue) {\r\n return options.defaultValue\r\n }\r\n break\r\n }\r\n var pathPart = path[i];\r\n if (hasDefaultValue && (0, _type.isObject)(current) && !(pathPart in current)) {\r\n return options.defaultValue\r\n }\r\n var next = unwrap(current[pathPart], options);\r\n if (!functionAsIs && (0, _type.isFunction)(next)) {\r\n next = next.call(current)\r\n }\r\n current = next\r\n }\r\n return current\r\n }\r\n }\r\n if (Array.isArray(expr)) {\r\n return combineGetters(expr)\r\n }\r\n if ((0, _type.isFunction)(expr)) {\r\n return expr\r\n }\r\n};\r\nexports.compileGetter = compileGetter;\r\n\r\nfunction combineGetters(getters) {\r\n var compiledGetters = {};\r\n for (var i = 0, l = getters.length; i < l; i++) {\r\n var getter = getters[i];\r\n compiledGetters[getter] = compileGetter(getter)\r\n }\r\n return function(obj, options) {\r\n var result;\r\n (0, _iterator.each)(compiledGetters, function(name) {\r\n var value = this(obj, options);\r\n if (void 0 === value) {\r\n return\r\n }\r\n var current = result || (result = {});\r\n var path = name.split(\".\");\r\n var last = path.length - 1;\r\n for (var _i = 0; _i < last; _i++) {\r\n var pathItem = path[_i];\r\n if (!(pathItem in current)) {\r\n current[pathItem] = {}\r\n }\r\n current = current[pathItem]\r\n }\r\n current[path[last]] = value\r\n });\r\n return result\r\n }\r\n}\r\nvar ensurePropValueDefined = function(obj, propName, value, options) {\r\n if ((0, _type.isDefined)(value)) {\r\n return value\r\n }\r\n var newValue = {};\r\n assignPropValue(obj, propName, newValue, options);\r\n return newValue\r\n};\r\nvar compileSetter = function(expr) {\r\n expr = bracketsToDots(expr || \"this\").split(\".\");\r\n var lastLevelIndex = expr.length - 1;\r\n return function(obj, value, options) {\r\n options = prepareOptions(options);\r\n var currentValue = unwrap(obj, options);\r\n expr.forEach(function(propertyName, levelIndex) {\r\n var propertyValue = readPropValue(currentValue, propertyName, options);\r\n var isPropertyFunc = !options.functionsAsIs && (0, _type.isFunction)(propertyValue) && !isWrapped(propertyValue);\r\n if (levelIndex === lastLevelIndex) {\r\n if (options.merge && (0, _type.isPlainObject)(value) && (!(0, _type.isDefined)(propertyValue) || (0, _type.isPlainObject)(propertyValue))) {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n (0, _object.deepExtendArraySafe)(propertyValue, value, false, true)\r\n } else {\r\n if (isPropertyFunc) {\r\n currentValue[propertyName](value)\r\n } else {\r\n assignPropValue(currentValue, propertyName, value, options)\r\n }\r\n }\r\n } else {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n if (isPropertyFunc) {\r\n propertyValue = propertyValue.call(currentValue)\r\n }\r\n currentValue = propertyValue\r\n }\r\n })\r\n }\r\n};\r\nexports.compileSetter = compileSetter;\r\nvar toComparable = function(value, caseSensitive) {\r\n if (value instanceof Date) {\r\n return value.getTime()\r\n }\r\n if (value && value instanceof _class.default && value.valueOf) {\r\n return value.valueOf()\r\n }\r\n if (!caseSensitive && \"string\" === typeof value) {\r\n return value.toLowerCase()\r\n }\r\n return value\r\n};\r\nexports.toComparable = toComparable;\r\n","/**\r\n * DevExtreme (core/utils/html_parser.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.parseHTML = exports.isTablePart = void 0;\r\nvar _array = require(\"./array\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar isTagName = /<([a-z][^/\\0>\\x20\\t\\r\\n\\f]+)/i;\r\nvar tagWrappers = {\r\n \"default\": {\r\n tagsCount: 0,\r\n startTags: \"\",\r\n endTags: \"\"\r\n },\r\n thead: {\r\n tagsCount: 1,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n td: {\r\n tagsCount: 3,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n col: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n tr: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n }\r\n};\r\ntagWrappers.tbody = tagWrappers.colgroup = tagWrappers.caption = tagWrappers.tfoot = tagWrappers.thead;\r\ntagWrappers.th = tagWrappers.td;\r\nvar parseHTML = function(html) {\r\n if (\"string\" !== typeof html) {\r\n return null\r\n }\r\n var fragment = _dom_adapter.default.createDocumentFragment();\r\n var container = fragment.appendChild(_dom_adapter.default.createElement(\"div\"));\r\n var tags = isTagName.exec(html);\r\n var firstRootTag = tags && tags[1].toLowerCase();\r\n var tagWrapper = tagWrappers[firstRootTag] || tagWrappers.default;\r\n container.innerHTML = tagWrapper.startTags + html + tagWrapper.endTags;\r\n for (var i = 0; i < tagWrapper.tagsCount; i++) {\r\n container = container.lastChild\r\n }\r\n return (0, _array.merge)([], container.childNodes)\r\n};\r\nexports.parseHTML = parseHTML;\r\nvar isTablePart = function(html) {\r\n var tags = isTagName.exec(html);\r\n return tags && tags[1] in tagWrappers\r\n};\r\nexports.isTablePart = isTablePart;\r\n","/**\r\n * DevExtreme (core/utils/storage.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.sessionStorage = void 0;\r\nvar _window = require(\"../../core/utils/window\");\r\nvar window = (0, _window.getWindow)();\r\nvar getSessionStorage = function() {\r\n var sessionStorage;\r\n try {\r\n sessionStorage = window.sessionStorage\r\n } catch (e) {}\r\n return sessionStorage\r\n};\r\nexports.sessionStorage = getSessionStorage;\r\n","/**\r\n * DevExtreme (core/utils/template_manager.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.validateTemplateSource = exports.templateKey = exports.suitableTemplatesByName = exports.getNormalizedTemplateArgs = exports.findTemplates = exports.defaultCreateElement = exports.addOneRenderedCall = exports.acquireTemplate = exports.acquireIntegrationTemplate = void 0;\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\nvar _devices = _interopRequireDefault(require(\"../devices\"));\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _child_default_template = require(\"../templates/child_default_template\");\r\nvar _empty_template = require(\"../templates/empty_template\");\r\nvar _template = require(\"../templates/template\");\r\nvar _template_base = require(\"../templates/template_base\");\r\nvar _array = require(\"./array\");\r\nvar _common = require(\"./common\");\r\nvar _dom = require(\"./dom\");\r\nvar _extend = require(\"./extend\");\r\nvar _type = require(\"./type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar findTemplates = function(element, name) {\r\n var optionsAttributeName = \"data-options\";\r\n var templates = (0, _renderer.default)(element).contents().filter(\"[\".concat(optionsAttributeName, '*=\"').concat(name, '\"]'));\r\n return [].slice.call(templates).map(function(element) {\r\n var optionsString = (0, _renderer.default)(element).attr(optionsAttributeName) || \"\";\r\n return {\r\n element: element,\r\n options: (0, _config.default)().optionsParser(optionsString)[name]\r\n }\r\n }).filter(function(template) {\r\n return !!template.options\r\n })\r\n};\r\nexports.findTemplates = findTemplates;\r\nvar suitableTemplatesByName = function(rawTemplates) {\r\n var templatesMap = (0, _array.groupBy)(rawTemplates, function(template) {\r\n return template.options.name\r\n });\r\n if (templatesMap[void 0]) {\r\n throw _errors.default.Error(\"E0023\")\r\n }\r\n var result = {};\r\n Object.keys(templatesMap).forEach(function(name) {\r\n var _findBestMatches$;\r\n var suitableTemplate = null === (_findBestMatches$ = (0, _common.findBestMatches)(_devices.default.current(), templatesMap[name], function(template) {\r\n return template.options\r\n })[0]) || void 0 === _findBestMatches$ ? void 0 : _findBestMatches$.element;\r\n if (suitableTemplate) {\r\n result[name] = suitableTemplate\r\n }\r\n });\r\n return result\r\n};\r\nexports.suitableTemplatesByName = suitableTemplatesByName;\r\nvar addOneRenderedCall = function(template) {\r\n var _render = template.render.bind(template);\r\n return (0, _extend.extend)({}, template, {\r\n render: function(options) {\r\n var templateResult = _render(options);\r\n options && options.onRendered && options.onRendered();\r\n return templateResult\r\n }\r\n })\r\n};\r\nexports.addOneRenderedCall = addOneRenderedCall;\r\nvar getNormalizedTemplateArgs = function(options) {\r\n var args = [];\r\n if (\"model\" in options) {\r\n args.push(options.model)\r\n }\r\n if (\"index\" in options) {\r\n args.push(options.index)\r\n }\r\n args.push(options.container);\r\n return args\r\n};\r\nexports.getNormalizedTemplateArgs = getNormalizedTemplateArgs;\r\nvar validateTemplateSource = function(templateSource) {\r\n return \"string\" === typeof templateSource ? (0, _dom.normalizeTemplateElement)(templateSource) : templateSource\r\n};\r\nexports.validateTemplateSource = validateTemplateSource;\r\nvar templateKey = function(templateSource) {\r\n return (0, _type.isRenderer)(templateSource) && templateSource[0] || templateSource\r\n};\r\nexports.templateKey = templateKey;\r\nvar defaultCreateElement = function(element) {\r\n return new _template.Template(element)\r\n};\r\nexports.defaultCreateElement = defaultCreateElement;\r\nvar acquireIntegrationTemplate = function(templateSource, templates, isAsyncTemplate, skipTemplates) {\r\n var integrationTemplate = null;\r\n if (!skipTemplates || skipTemplates.indexOf(templateSource) === -1) {\r\n integrationTemplate = templates[templateSource];\r\n if (integrationTemplate && !(integrationTemplate instanceof _template_base.TemplateBase) && !isAsyncTemplate) {\r\n integrationTemplate = addOneRenderedCall(integrationTemplate)\r\n }\r\n }\r\n return integrationTemplate\r\n};\r\nexports.acquireIntegrationTemplate = acquireIntegrationTemplate;\r\nvar acquireTemplate = function(templateSource, createTemplate, templates, isAsyncTemplate, skipTemplates, defaultTemplates) {\r\n if (null == templateSource) {\r\n return new _empty_template.EmptyTemplate\r\n }\r\n if (templateSource instanceof _child_default_template.ChildDefaultTemplate) {\r\n return defaultTemplates[templateSource.name]\r\n }\r\n if (templateSource instanceof _template_base.TemplateBase) {\r\n return templateSource\r\n }\r\n if ((0, _type.isFunction)(templateSource.render) && !(0, _type.isRenderer)(templateSource)) {\r\n return isAsyncTemplate ? templateSource : addOneRenderedCall(templateSource)\r\n }\r\n if (templateSource.nodeType || (0, _type.isRenderer)(templateSource)) {\r\n return createTemplate((0, _renderer.default)(templateSource))\r\n }\r\n return acquireIntegrationTemplate(templateSource, templates, isAsyncTemplate, skipTemplates) || defaultTemplates[templateSource] || createTemplate(templateSource)\r\n};\r\nexports.acquireTemplate = acquireTemplate;\r\n","/**\r\n * DevExtreme (core/templates/template_engine_registry.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getCurrentTemplateEngine = getCurrentTemplateEngine;\r\nexports.registerTemplateEngine = registerTemplateEngine;\r\nexports.setTemplateEngine = setTemplateEngine;\r\nvar _type = require(\"../utils/type\");\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar templateEngines = {};\r\nvar currentTemplateEngine;\r\n\r\nfunction registerTemplateEngine(name, templateEngine) {\r\n templateEngines[name] = templateEngine\r\n}\r\n\r\nfunction setTemplateEngine(templateEngine) {\r\n if ((0, _type.isString)(templateEngine)) {\r\n currentTemplateEngine = templateEngines[templateEngine];\r\n if (!currentTemplateEngine) {\r\n throw _errors.default.Error(\"E0020\", templateEngine)\r\n }\r\n } else {\r\n currentTemplateEngine = templateEngine\r\n }\r\n}\r\n\r\nfunction getCurrentTemplateEngine() {\r\n return currentTemplateEngine\r\n}\r\n","/**\r\n * DevExtreme (core/utils/selection_filter.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.SelectionFilterCreator = void 0;\r\nvar _common = require(\"./common\");\r\nvar _type = require(\"./type\");\r\nvar SelectionFilterCreator = function(selectedItemKeys, isSelectAll) {\r\n this.getLocalFilter = function(keyGetter, equalKeys, equalByReference, keyExpr) {\r\n equalKeys = void 0 === equalKeys ? _common.equalByValue : equalKeys;\r\n return functionFilter.bind(this, equalKeys, keyGetter, equalByReference, keyExpr)\r\n };\r\n this.getExpr = function(keyExpr) {\r\n if (!keyExpr) {\r\n return\r\n }\r\n var filterExpr;\r\n selectedItemKeys.forEach(function(key, index) {\r\n filterExpr = filterExpr || [];\r\n var filterExprPart;\r\n if (index > 0) {\r\n filterExpr.push(isSelectAll ? \"and\" : \"or\")\r\n }\r\n if ((0, _type.isString)(keyExpr)) {\r\n filterExprPart = getFilterForPlainKey(keyExpr, key)\r\n } else {\r\n filterExprPart = getFilterForCompositeKey(keyExpr, key)\r\n }\r\n filterExpr.push(filterExprPart)\r\n });\r\n if (filterExpr && 1 === filterExpr.length) {\r\n filterExpr = filterExpr[0]\r\n }\r\n return filterExpr\r\n };\r\n this.getCombinedFilter = function(keyExpr, dataSourceFilter) {\r\n var filterExpr = this.getExpr(keyExpr);\r\n var combinedFilter = filterExpr;\r\n if (isSelectAll && dataSourceFilter) {\r\n if (filterExpr) {\r\n combinedFilter = [];\r\n combinedFilter.push(filterExpr);\r\n combinedFilter.push(dataSourceFilter)\r\n } else {\r\n combinedFilter = dataSourceFilter\r\n }\r\n }\r\n return combinedFilter\r\n };\r\n var selectedItemKeyHashesMap;\r\n var getSelectedItemKeyHashesMap = function(selectedItemKeys) {\r\n if (!selectedItemKeyHashesMap) {\r\n selectedItemKeyHashesMap = {};\r\n for (var i = 0; i < selectedItemKeys.length; i++) {\r\n selectedItemKeyHashesMap[(0, _common.getKeyHash)(selectedItemKeys[i])] = true\r\n }\r\n }\r\n return selectedItemKeyHashesMap\r\n };\r\n var normalizeKeys = function(keys, keyOf, keyExpr) {\r\n return Array.isArray(keyExpr) ? keys.map(function(key) {\r\n return keyOf(key)\r\n }) : keys\r\n };\r\n\r\n function functionFilter(equalKeys, keyOf, equalByReference, keyExpr, item) {\r\n var key = keyOf(item);\r\n var keyHash;\r\n var i;\r\n if (!equalByReference) {\r\n keyHash = (0, _common.getKeyHash)(key);\r\n if (!(0, _type.isObject)(keyHash)) {\r\n var selectedKeyHashesMap = getSelectedItemKeyHashesMap(normalizeKeys(selectedItemKeys, keyOf, keyExpr));\r\n if (selectedKeyHashesMap[keyHash]) {\r\n return !isSelectAll\r\n }\r\n return !!isSelectAll\r\n }\r\n }\r\n for (i = 0; i < selectedItemKeys.length; i++) {\r\n if (equalKeys(selectedItemKeys[i], key)) {\r\n return !isSelectAll\r\n }\r\n }\r\n return !!isSelectAll\r\n }\r\n\r\n function getFilterForPlainKey(keyExpr, keyValue) {\r\n if (void 0 === keyValue) {\r\n return\r\n }\r\n return [keyExpr, isSelectAll ? \"<>\" : \"=\", keyValue]\r\n }\r\n\r\n function getFilterForCompositeKey(keyExpr, itemKeyValue) {\r\n var filterExpr = [];\r\n for (var i = 0, length = keyExpr.length; i < length; i++) {\r\n var currentKeyExpr = keyExpr[i];\r\n var currentKeyValue = itemKeyValue && itemKeyValue[currentKeyExpr];\r\n var filterExprPart = getFilterForPlainKey(currentKeyExpr, currentKeyValue);\r\n if (!filterExprPart) {\r\n break\r\n }\r\n if (i > 0) {\r\n filterExpr.push(isSelectAll ? \"or\" : \"and\")\r\n }\r\n filterExpr.push(filterExprPart)\r\n }\r\n return filterExpr\r\n }\r\n};\r\nexports.SelectionFilterCreator = SelectionFilterCreator;\r\n","/**\r\n * DevExtreme (core/utils/math.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.adjust = adjust;\r\nexports.fitIntoRange = void 0;\r\nexports.getExponent = getExponent;\r\nexports.getExponentLength = getExponentLength;\r\nexports.getPrecision = getPrecision;\r\nexports.getRemainderByDivision = getRemainderByDivision;\r\nexports.getRoot = getRoot;\r\nexports.inRange = void 0;\r\nexports.roundFloatPart = roundFloatPart;\r\nexports.sign = void 0;\r\nexports.solveCubicEquation = solveCubicEquation;\r\nexports.trunc = trunc;\r\nvar _type = require(\"./type\");\r\nvar sign = function(value) {\r\n if (0 === value) {\r\n return 0\r\n }\r\n return value / Math.abs(value)\r\n};\r\nexports.sign = sign;\r\nvar fitIntoRange = function(value, minValue, maxValue) {\r\n var isMinValueUndefined = !minValue && 0 !== minValue;\r\n var isMaxValueUndefined = !maxValue && 0 !== maxValue;\r\n isMinValueUndefined && (minValue = !isMaxValueUndefined ? Math.min(value, maxValue) : value);\r\n isMaxValueUndefined && (maxValue = !isMinValueUndefined ? Math.max(value, minValue) : value);\r\n return Math.min(Math.max(value, minValue), maxValue)\r\n};\r\nexports.fitIntoRange = fitIntoRange;\r\nvar inRange = function(value, minValue, maxValue) {\r\n return value >= minValue && value <= maxValue\r\n};\r\nexports.inRange = inRange;\r\n\r\nfunction getExponent(value) {\r\n return Math.abs(parseInt(value.toExponential().split(\"e\")[1]))\r\n}\r\n\r\nfunction _isEdgeBug() {\r\n var value = 3e-4;\r\n var correctValue = \"0.000300\";\r\n var precisionValue = 3;\r\n return correctValue !== value.toPrecision(precisionValue)\r\n}\r\n\r\nfunction adjust(value, interval) {\r\n var precision = getPrecision(interval || 0) + 2;\r\n var separatedValue = value.toString().split(\".\");\r\n var sourceValue = value;\r\n var absValue = Math.abs(value);\r\n var separatedAdjustedValue;\r\n var isExponentValue = (0, _type.isExponential)(value);\r\n var integerPart = absValue > 1 ? 10 : 0;\r\n if (1 === separatedValue.length) {\r\n return value\r\n }\r\n if (!isExponentValue) {\r\n if ((0, _type.isExponential)(interval)) {\r\n precision = separatedValue[0].length + getExponent(interval)\r\n }\r\n value = absValue;\r\n value = value - Math.floor(value) + integerPart\r\n }\r\n precision = _isEdgeBug() && getExponent(value) > 6 || precision > 7 ? 15 : 7;\r\n if (!isExponentValue) {\r\n separatedAdjustedValue = parseFloat(value.toPrecision(precision)).toString().split(\".\");\r\n if (separatedAdjustedValue[0] === integerPart.toString()) {\r\n return parseFloat(separatedValue[0] + \".\" + separatedAdjustedValue[1])\r\n }\r\n }\r\n return parseFloat(sourceValue.toPrecision(precision))\r\n}\r\n\r\nfunction getPrecision(value) {\r\n var str = value.toString();\r\n if (str.indexOf(\".\") < 0) {\r\n return 0\r\n }\r\n var mantissa = str.split(\".\");\r\n var positionOfDelimiter = mantissa[1].indexOf(\"e\");\r\n return positionOfDelimiter >= 0 ? positionOfDelimiter : mantissa[1].length\r\n}\r\n\r\nfunction getRoot(x, n) {\r\n if (x < 0 && n % 2 !== 1) {\r\n return NaN\r\n }\r\n var y = Math.pow(Math.abs(x), 1 / n);\r\n return n % 2 === 1 && x < 0 ? -y : y\r\n}\r\n\r\nfunction solveCubicEquation(a, b, c, d) {\r\n var min = 1e-8;\r\n if (Math.abs(a) < min) {\r\n a = b;\r\n b = c;\r\n c = d;\r\n if (Math.abs(a) < min) {\r\n a = b;\r\n b = c;\r\n if (Math.abs(a) < min) {\r\n return []\r\n }\r\n return [-b / a]\r\n }\r\n var D2 = b * b - 4 * a * c;\r\n if (Math.abs(D2) < min) {\r\n return [-b / (2 * a)]\r\n } else {\r\n if (D2 > 0) {\r\n return [(-b + Math.sqrt(D2)) / (2 * a), (-b - Math.sqrt(D2)) / (2 * a)]\r\n }\r\n }\r\n return []\r\n }\r\n var p = (3 * a * c - b * b) / (3 * a * a);\r\n var q = (2 * b * b * b - 9 * a * b * c + 27 * a * a * d) / (27 * a * a * a);\r\n var roots;\r\n var u;\r\n if (Math.abs(p) < min) {\r\n roots = [getRoot(-q, 3)]\r\n } else {\r\n if (Math.abs(q) < min) {\r\n roots = [0].concat(p < 0 ? [Math.sqrt(-p), -Math.sqrt(-p)] : [])\r\n } else {\r\n var D3 = q * q / 4 + p * p * p / 27;\r\n if (Math.abs(D3) < min) {\r\n roots = [-1.5 * q / p, 3 * q / p]\r\n } else {\r\n if (D3 > 0) {\r\n u = getRoot(-q / 2 - Math.sqrt(D3), 3);\r\n roots = [u - p / (3 * u)]\r\n } else {\r\n u = 2 * Math.sqrt(-p / 3);\r\n var t = Math.acos(3 * q / p / u) / 3;\r\n var k = 2 * Math.PI / 3;\r\n roots = [u * Math.cos(t), u * Math.cos(t - k), u * Math.cos(t - 2 * k)]\r\n }\r\n }\r\n }\r\n }\r\n for (var i = 0; i < roots.length; i++) {\r\n roots[i] -= b / (3 * a)\r\n }\r\n return roots\r\n}\r\n\r\nfunction trunc(value) {\r\n return Math.trunc ? Math.trunc(value) : value > 0 ? Math.floor(value) : Math.ceil(value)\r\n}\r\n\r\nfunction getRemainderByDivision(dividend, divider, digitsCount) {\r\n if (divider === parseInt(divider)) {\r\n return dividend % divider\r\n }\r\n var quotient = roundFloatPart(dividend / divider, digitsCount);\r\n return (quotient - parseInt(quotient)) * divider\r\n}\r\n\r\nfunction getExponentLength(value) {\r\n var _valueString$split$;\r\n var valueString = value.toString();\r\n return (null === (_valueString$split$ = valueString.split(\".\")[1]) || void 0 === _valueString$split$ ? void 0 : _valueString$split$.length) || parseInt(valueString.split(\"e-\")[1]) || 0\r\n}\r\n\r\nfunction roundFloatPart(value) {\r\n var digitsCount = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n return parseFloat(value.toFixed(digitsCount))\r\n}\r\n","/**\r\n * DevExtreme (core/utils/callbacks.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar Callback = function(options) {\r\n this._options = options || {};\r\n this._list = [];\r\n this._queue = [];\r\n this._firing = false;\r\n this._fired = false;\r\n this._firingIndexes = []\r\n};\r\nCallback.prototype._fireCore = function(context, args) {\r\n var firingIndexes = this._firingIndexes;\r\n var list = this._list;\r\n var stopOnFalse = this._options.stopOnFalse;\r\n var step = firingIndexes.length;\r\n for (firingIndexes[step] = 0; firingIndexes[step] < list.length; firingIndexes[step]++) {\r\n var result = list[firingIndexes[step]].apply(context, args);\r\n if (false === result && stopOnFalse) {\r\n break\r\n }\r\n }\r\n firingIndexes.pop()\r\n};\r\nCallback.prototype.add = function(fn) {\r\n if (\"function\" === typeof fn && (!this._options.unique || !this.has(fn))) {\r\n this._list.push(fn)\r\n }\r\n return this\r\n};\r\nCallback.prototype.remove = function(fn) {\r\n var list = this._list;\r\n var firingIndexes = this._firingIndexes;\r\n var index = list.indexOf(fn);\r\n if (index > -1) {\r\n list.splice(index, 1);\r\n if (this._firing && firingIndexes.length) {\r\n for (var step = 0; step < firingIndexes.length; step++) {\r\n if (index <= firingIndexes[step]) {\r\n firingIndexes[step]--\r\n }\r\n }\r\n }\r\n }\r\n return this\r\n};\r\nCallback.prototype.has = function(fn) {\r\n var list = this._list;\r\n return fn ? list.indexOf(fn) > -1 : !!list.length\r\n};\r\nCallback.prototype.empty = function(fn) {\r\n this._list = [];\r\n return this\r\n};\r\nCallback.prototype.fireWith = function(context, args) {\r\n var queue = this._queue;\r\n args = args || [];\r\n args = args.slice ? args.slice() : args;\r\n if (this._options.syncStrategy) {\r\n this._firing = true;\r\n this._fireCore(context, args)\r\n } else {\r\n queue.push([context, args]);\r\n if (this._firing) {\r\n return\r\n }\r\n this._firing = true;\r\n while (queue.length) {\r\n var memory = queue.shift();\r\n this._fireCore(memory[0], memory[1])\r\n }\r\n }\r\n this._firing = false;\r\n this._fired = true;\r\n return this\r\n};\r\nCallback.prototype.fire = function() {\r\n this.fireWith(this, arguments)\r\n};\r\nCallback.prototype.fired = function() {\r\n return this._fired\r\n};\r\nvar Callbacks = function(options) {\r\n return new Callback(options)\r\n};\r\nvar _default = Callbacks;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/errors.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _error = _interopRequireDefault(require(\"./utils/error\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _default = (0, _error.default)({\r\n E0001: \"Method is not implemented\",\r\n E0002: \"Member name collision: {0}\",\r\n E0003: \"A class must be instantiated using the 'new' keyword\",\r\n E0004: \"The NAME property of the component is not specified\",\r\n E0005: \"Unknown device\",\r\n E0006: \"Unknown endpoint key is requested\",\r\n E0007: \"'Invalidate' method is called outside the update transaction\",\r\n E0008: \"Type of the option name is not appropriate to create an action\",\r\n E0009: \"Component '{0}' has not been initialized for an element\",\r\n E0010: \"Animation configuration with the '{0}' type requires '{1}' configuration as {2}\",\r\n E0011: \"Unknown animation type '{0}'\",\r\n E0012: \"jQuery version is too old. Please upgrade jQuery to 1.10.0 or later\",\r\n E0013: \"KnockoutJS version is too old. Please upgrade KnockoutJS to 2.3.0 or later\",\r\n E0014: \"The 'release' method shouldn't be called for an unlocked Lock object\",\r\n E0015: \"Queued task returned an unexpected result\",\r\n E0017: \"Event namespace is not defined\",\r\n E0018: \"DevExpress.ui.DevExpressPopup widget is required\",\r\n E0020: \"Template engine '{0}' is not supported\",\r\n E0021: \"Unknown theme is set: {0}\",\r\n E0022: \"LINK[rel=DevExpress-theme] tags must go before DevExpress included scripts\",\r\n E0023: \"Template name is not specified\",\r\n E0024: \"DevExtreme bundle already included\",\r\n E0025: \"Unexpected argument type\",\r\n E0100: \"Unknown validation type is detected\",\r\n E0101: \"Misconfigured range validation rule is detected\",\r\n E0102: \"Misconfigured comparison validation rule is detected\",\r\n E0103: \"validationCallback of an asynchronous rule should return a jQuery or a native promise\",\r\n E0110: \"Unknown validation group is detected\",\r\n E0120: \"Adapter for a DevExpressValidator component cannot be configured\",\r\n E0121: \"The 'customItem' field of the 'onCustomItemCreating' function's parameter should contain a custom item or Promise that is resolved after the item is created.\",\r\n W0000: \"'{0}' is deprecated in {1}. {2}\",\r\n W0001: \"{0} - '{1}' option is deprecated in {2}. {3}\",\r\n W0002: \"{0} - '{1}' method is deprecated in {2}. {3}\",\r\n W0003: \"{0} - '{1}' property is deprecated in {2}. {3}\",\r\n W0004: \"Timeout for theme loading is over: {0}\",\r\n W0005: \"'{0}' event is deprecated in {1}. {2}\",\r\n W0006: \"Invalid recurrence rule: '{0}'\",\r\n W0007: \"'{0}' Globalize culture is not defined\",\r\n W0008: \"Invalid view name: '{0}'\",\r\n W0009: \"Invalid time zone name: '{0}'\",\r\n W0010: \"{0} is deprecated in {1}. {2}\",\r\n W0011: \"Number parsing is invoked while the parser is not defined\",\r\n W0012: \"Date parsing is invoked while the parser is not defined\",\r\n W0013: \"'{0}' file is deprecated in {1}. {2}\",\r\n W0014: \"{0} - '{1}' type is deprecated in {2}. {3}\",\r\n W0015: \"Instead of returning a value from the '{0}' function, write it into the '{1}' field of the function's parameter.\",\r\n W0016: 'The \"{0}\" option does not accept the \"{1}\" value since v.{2}. {3}.'\r\n});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/guid.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"./class\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar Guid = _class.default.inherit({\r\n ctor: function(value) {\r\n if (value) {\r\n value = String(value)\r\n }\r\n this._value = this._normalize(value || this._generate())\r\n },\r\n _normalize: function(value) {\r\n value = value.replace(/[^a-f0-9]/gi, \"\").toLowerCase();\r\n while (value.length < 32) {\r\n value += \"0\"\r\n }\r\n return [value.substr(0, 8), value.substr(8, 4), value.substr(12, 4), value.substr(16, 4), value.substr(20, 12)].join(\"-\")\r\n },\r\n _generate: function() {\r\n var value = \"\";\r\n for (var i = 0; i < 32; i++) {\r\n value += Math.round(15 * Math.random()).toString(16)\r\n }\r\n return value\r\n },\r\n toString: function() {\r\n return this._value\r\n },\r\n valueOf: function() {\r\n return this._value\r\n },\r\n toJSON: function() {\r\n return this._value\r\n }\r\n});\r\nvar _default = Guid;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/inflector.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.underscore = exports.titleize = exports.humanize = exports.dasherize = exports.captionize = exports.camelize = void 0;\r\nvar _iterator = require(\"./iterator\");\r\nvar _normalize = function(text) {\r\n if (void 0 === text || null === text) {\r\n return \"\"\r\n }\r\n return String(text)\r\n};\r\nvar _upperCaseFirst = function(text) {\r\n return _normalize(text).charAt(0).toUpperCase() + text.substr(1)\r\n};\r\nvar _chop = function(text) {\r\n return _normalize(text).replace(/([a-z\\d])([A-Z])/g, \"$1 $2\").split(/[\\s_-]+/)\r\n};\r\nvar dasherize = function(text) {\r\n return (0, _iterator.map)(_chop(text), function(p) {\r\n return p.toLowerCase()\r\n }).join(\"-\")\r\n};\r\nexports.dasherize = dasherize;\r\nvar underscore = function(text) {\r\n return dasherize(text).replace(/-/g, \"_\")\r\n};\r\nexports.underscore = underscore;\r\nvar camelize = function(text, upperFirst) {\r\n return (0, _iterator.map)(_chop(text), function(p, i) {\r\n p = p.toLowerCase();\r\n if (upperFirst || i > 0) {\r\n p = _upperCaseFirst(p)\r\n }\r\n return p\r\n }).join(\"\")\r\n};\r\nexports.camelize = camelize;\r\nvar humanize = function(text) {\r\n return _upperCaseFirst(dasherize(text).replace(/-/g, \" \"))\r\n};\r\nexports.humanize = humanize;\r\nvar titleize = function(text) {\r\n return (0, _iterator.map)(_chop(text), function(p) {\r\n return _upperCaseFirst(p.toLowerCase())\r\n }).join(\" \")\r\n};\r\nexports.titleize = titleize;\r\nvar DIGIT_CHARS = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"];\r\nvar captionize = function(name) {\r\n var captionList = [];\r\n var i;\r\n var char;\r\n var isPrevCharNewWord = false;\r\n var isNewWord = false;\r\n for (i = 0; i < name.length; i++) {\r\n char = name.charAt(i);\r\n isNewWord = char === char.toUpperCase() && \"-\" !== char && \")\" !== char && \"/\" !== char || char in DIGIT_CHARS;\r\n if (\"_\" === char || \".\" === char) {\r\n char = \" \";\r\n isNewWord = true\r\n } else {\r\n if (0 === i) {\r\n char = char.toUpperCase();\r\n isNewWord = true\r\n } else {\r\n if (!isPrevCharNewWord && isNewWord) {\r\n if (captionList.length > 0) {\r\n captionList.push(\" \")\r\n }\r\n }\r\n }\r\n }\r\n captionList.push(char);\r\n isPrevCharNewWord = isNewWord\r\n }\r\n return captionList.join(\"\")\r\n};\r\nexports.captionize = captionize;\r\n","/**\r\n * DevExtreme (core/utils/dom.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.resetActiveElement = exports.normalizeTemplateElement = exports.extractTemplateMarkup = exports.createTextElementHiddenCopy = exports.contains = exports.closestCommonParent = exports.clipboardText = exports.clearSelection = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _type = require(\"./type\");\r\nvar _window = require(\"./window\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar resetActiveElement = function() {\r\n var activeElement = _dom_adapter.default.getActiveElement();\r\n var body = _dom_adapter.default.getBody();\r\n if (activeElement && activeElement !== body && activeElement.blur) {\r\n try {\r\n activeElement.blur()\r\n } catch (e) {\r\n body.blur()\r\n }\r\n }\r\n};\r\nexports.resetActiveElement = resetActiveElement;\r\nvar clearSelection = function() {\r\n var selection = window.getSelection();\r\n if (!selection) {\r\n return\r\n }\r\n if (\"Caret\" === selection.type) {\r\n return\r\n }\r\n if (selection.empty) {\r\n selection.empty()\r\n } else {\r\n if (selection.removeAllRanges) {\r\n try {\r\n selection.removeAllRanges()\r\n } catch (e) {}\r\n }\r\n }\r\n};\r\nexports.clearSelection = clearSelection;\r\nvar closestCommonParent = function(startTarget, endTarget) {\r\n var $startTarget = (0, _renderer.default)(startTarget);\r\n var $endTarget = (0, _renderer.default)(endTarget);\r\n if ($startTarget[0] === $endTarget[0]) {\r\n return $startTarget[0]\r\n }\r\n var $startParents = $startTarget.parents();\r\n var $endParents = $endTarget.parents();\r\n var startingParent = Math.min($startParents.length, $endParents.length);\r\n for (var i = -startingParent; i < 0; i++) {\r\n if ($startParents.get(i) === $endParents.get(i)) {\r\n return $startParents.get(i)\r\n }\r\n }\r\n};\r\nexports.closestCommonParent = closestCommonParent;\r\nvar extractTemplateMarkup = function(element) {\r\n element = (0, _renderer.default)(element);\r\n var templateTag = element.length && element.filter(function() {\r\n var $node = (0, _renderer.default)(this);\r\n return $node.is(\"script[type]\") && $node.attr(\"type\").indexOf(\"script\") < 0\r\n });\r\n if (templateTag.length) {\r\n return templateTag.eq(0).html()\r\n } else {\r\n element = (0, _renderer.default)(\"
\").append(element);\r\n return element.html()\r\n }\r\n};\r\nexports.extractTemplateMarkup = extractTemplateMarkup;\r\nvar normalizeTemplateElement = function normalizeTemplateElement(element) {\r\n var $element = (0, _type.isDefined)(element) && (element.nodeType || (0, _type.isRenderer)(element)) ? (0, _renderer.default)(element) : (0, _renderer.default)(\"
\").html(element).contents();\r\n if (1 === $element.length) {\r\n if ($element.is(\"script\")) {\r\n $element = normalizeTemplateElement($element.html().trim())\r\n } else {\r\n if ($element.is(\"table\")) {\r\n $element = $element.children(\"tbody\").contents()\r\n }\r\n }\r\n }\r\n return $element\r\n};\r\nexports.normalizeTemplateElement = normalizeTemplateElement;\r\nvar clipboardText = function(event, text) {\r\n var clipboard = event.originalEvent && event.originalEvent.clipboardData || window.clipboardData;\r\n if (1 === arguments.length) {\r\n return clipboard && clipboard.getData(\"Text\")\r\n }\r\n clipboard && clipboard.setData(\"Text\", text)\r\n};\r\nexports.clipboardText = clipboardText;\r\nvar contains = function contains(container, element) {\r\n if (!element) {\r\n return false\r\n }\r\n if (_dom_adapter.default.isTextNode(element)) {\r\n element = element.parentNode\r\n }\r\n if (_dom_adapter.default.isDocument(container)) {\r\n return container.documentElement.contains(element)\r\n }\r\n if ((0, _type.isWindow)(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains ? container.contains(element) : !!(element.compareDocumentPosition(container) & element.DOCUMENT_POSITION_CONTAINS)\r\n};\r\nexports.contains = contains;\r\nvar createTextElementHiddenCopy = function(element, text, options) {\r\n var elementStyles = window.getComputedStyle((0, _renderer.default)(element).get(0));\r\n var includePaddings = options && options.includePaddings;\r\n return (0, _renderer.default)(\"
\").text(text).css({\r\n fontStyle: elementStyles.fontStyle,\r\n fontVariant: elementStyles.fontVariant,\r\n fontWeight: elementStyles.fontWeight,\r\n fontSize: elementStyles.fontSize,\r\n fontFamily: elementStyles.fontFamily,\r\n letterSpacing: elementStyles.letterSpacing,\r\n border: elementStyles.border,\r\n paddingTop: includePaddings ? elementStyles.paddingTop : \"\",\r\n paddingRight: includePaddings ? elementStyles.paddingRight : \"\",\r\n paddingBottom: includePaddings ? elementStyles.paddingBottom : \"\",\r\n paddingLeft: includePaddings ? elementStyles.paddingLeft : \"\",\r\n visibility: \"hidden\",\r\n whiteSpace: \"pre\",\r\n position: \"absolute\",\r\n \"float\": \"left\"\r\n })\r\n};\r\nexports.createTextElementHiddenCopy = createTextElementHiddenCopy;\r\n","/**\r\n * DevExtreme (core/config.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend = require(\"./utils/extend\");\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar config = {\r\n rtlEnabled: false,\r\n defaultCurrency: \"USD\",\r\n oDataFilterToLower: true,\r\n serverDecimalSeparator: \".\",\r\n decimalSeparator: \".\",\r\n thousandsSeparator: \",\",\r\n forceIsoDateParsing: true,\r\n wrapActionsBeforeExecute: true,\r\n useLegacyStoreResult: false,\r\n useJQuery: void 0,\r\n editorStylingMode: void 0,\r\n useLegacyVisibleIndex: false,\r\n floatingActionButtonConfig: {\r\n icon: \"add\",\r\n closeIcon: \"close\",\r\n label: \"\",\r\n position: {\r\n at: \"right bottom\",\r\n my: \"right bottom\",\r\n offset: {\r\n x: -16,\r\n y: -16\r\n }\r\n },\r\n maxSpeedDialActionCount: 5,\r\n shading: false,\r\n direction: \"auto\"\r\n },\r\n optionsParser: function(optionsString) {\r\n if (\"{\" !== optionsString.trim().charAt(0)) {\r\n optionsString = \"{\" + optionsString + \"}\"\r\n }\r\n try {\r\n return new Function(\"return \" + optionsString)()\r\n } catch (ex) {\r\n throw _errors.default.Error(\"E3018\", ex, optionsString)\r\n }\r\n }\r\n};\r\nvar deprecatedFields = [\"decimalSeparator\", \"thousandsSeparator\"];\r\nvar configMethod = function() {\r\n if (!arguments.length) {\r\n return config\r\n }\r\n var newConfig = arguments.length <= 0 ? void 0 : arguments[0];\r\n deprecatedFields.forEach(function(deprecatedField) {\r\n if (newConfig[deprecatedField]) {\r\n var message = \"Now, the \".concat(deprecatedField, \" is selected based on the specified locale.\");\r\n _errors.default.log(\"W0003\", \"config\", deprecatedField, \"19.2\", message)\r\n }\r\n });\r\n (0, _extend.extend)(config, newConfig)\r\n};\r\nif (\"undefined\" !== typeof DevExpress && DevExpress.config) {\r\n configMethod(DevExpress.config)\r\n}\r\nvar _default = configMethod;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/renderer_base.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _element_data = require(\"./element_data\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"./dom_adapter\"));\r\nvar _window = require(\"./utils/window\");\r\nvar _type = require(\"./utils/type\");\r\nvar _style = require(\"./utils/style\");\r\nvar _size = require(\"./utils/size\");\r\nvar _html_parser = require(\"./utils/html_parser\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar renderer;\r\nvar initRender = function(selector, context) {\r\n if (!selector) {\r\n this.length = 0;\r\n return this\r\n }\r\n if (\"string\" === typeof selector) {\r\n if (\"body\" === selector) {\r\n this[0] = context ? context.body : _dom_adapter.default.getBody();\r\n this.length = 1;\r\n return this\r\n }\r\n context = context || _dom_adapter.default.getDocument();\r\n if (\"<\" === selector[0]) {\r\n this[0] = _dom_adapter.default.createElement(selector.slice(1, -1), context);\r\n this.length = 1;\r\n return this\r\n } [].push.apply(this, _dom_adapter.default.querySelectorAll(context, selector));\r\n return this\r\n } else {\r\n if (_dom_adapter.default.isNode(selector) || (0, _type.isWindow)(selector)) {\r\n this[0] = selector;\r\n this.length = 1;\r\n return this\r\n } else {\r\n if (Array.isArray(selector)) {\r\n [].push.apply(this, selector);\r\n return this\r\n }\r\n }\r\n }\r\n return renderer(selector.toArray ? selector.toArray() : [selector])\r\n};\r\nrenderer = function(selector, context) {\r\n return new initRender(selector, context)\r\n};\r\nrenderer.fn = {\r\n dxRenderer: true\r\n};\r\ninitRender.prototype = renderer.fn;\r\nvar repeatMethod = function(methodName, args) {\r\n for (var i = 0; i < this.length; i++) {\r\n var item = renderer(this[i]);\r\n item[methodName].apply(item, args)\r\n }\r\n return this\r\n};\r\nvar setAttributeValue = function(element, attrName, value) {\r\n if (void 0 !== value && null !== value) {\r\n _dom_adapter.default.setAttribute(element, attrName, value)\r\n } else {\r\n _dom_adapter.default.removeAttribute(element, attrName)\r\n }\r\n};\r\ninitRender.prototype.show = function() {\r\n return this.toggle(true)\r\n};\r\ninitRender.prototype.hide = function() {\r\n return this.toggle(false)\r\n};\r\ninitRender.prototype.toggle = function(value) {\r\n if (this[0]) {\r\n this.toggleClass(\"dx-state-invisible\", !value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.attr = function(attrName, value) {\r\n if (this.length > 1 && arguments.length > 1) {\r\n return repeatMethod.call(this, \"attr\", arguments)\r\n }\r\n if (!this[0]) {\r\n if ((0, _type.isObject)(attrName) || void 0 !== value) {\r\n return this\r\n } else {\r\n return\r\n }\r\n }\r\n if (!this[0].getAttribute) {\r\n return this.prop(attrName, value)\r\n }\r\n if (\"string\" === typeof attrName && 1 === arguments.length) {\r\n var result = this[0].getAttribute(attrName);\r\n return null == result ? void 0 : result\r\n } else {\r\n if ((0, _type.isPlainObject)(attrName)) {\r\n for (var key in attrName) {\r\n this.attr(key, attrName[key])\r\n }\r\n } else {\r\n setAttributeValue(this[0], attrName, value)\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.removeAttr = function(attrName) {\r\n this[0] && _dom_adapter.default.removeAttribute(this[0], attrName);\r\n return this\r\n};\r\ninitRender.prototype.prop = function(propName, value) {\r\n if (!this[0]) {\r\n return this\r\n }\r\n if (\"string\" === typeof propName && 1 === arguments.length) {\r\n return this[0][propName]\r\n } else {\r\n if ((0, _type.isPlainObject)(propName)) {\r\n for (var key in propName) {\r\n this.prop(key, propName[key])\r\n }\r\n } else {\r\n _dom_adapter.default.setProperty(this[0], propName, value)\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.addClass = function(className) {\r\n return this.toggleClass(className, true)\r\n};\r\ninitRender.prototype.removeClass = function(className) {\r\n return this.toggleClass(className, false)\r\n};\r\ninitRender.prototype.hasClass = function(className) {\r\n if (!this[0] || void 0 === this[0].className) {\r\n return false\r\n }\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n if (this[0].classList) {\r\n if (this[0].classList.contains(classNames[i])) {\r\n return true\r\n }\r\n } else {\r\n var _className = (0, _type.isString)(this[0].className) ? this[0].className : _dom_adapter.default.getAttribute(this[0], \"class\");\r\n if ((_className || \"\").split(\" \").indexOf(classNames[i]) >= 0) {\r\n return true\r\n }\r\n }\r\n }\r\n return false\r\n};\r\ninitRender.prototype.toggleClass = function(className, value) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"toggleClass\", arguments)\r\n }\r\n if (!this[0] || !className) {\r\n return this\r\n }\r\n value = void 0 === value ? !this.hasClass(className) : value;\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n _dom_adapter.default.setClass(this[0], classNames[i], value)\r\n }\r\n return this\r\n};\r\n[\"width\", \"height\", \"outerWidth\", \"outerHeight\", \"innerWidth\", \"innerHeight\"].forEach(function(methodName) {\r\n var partialName = methodName.toLowerCase().indexOf(\"width\") >= 0 ? \"Width\" : \"Height\";\r\n var propName = partialName.toLowerCase();\r\n var isOuter = 0 === methodName.indexOf(\"outer\");\r\n var isInner = 0 === methodName.indexOf(\"inner\");\r\n initRender.prototype[methodName] = function(value) {\r\n if (this.length > 1 && arguments.length > 0) {\r\n return repeatMethod.call(this, methodName, arguments)\r\n }\r\n var element = this[0];\r\n if (!element) {\r\n return\r\n }\r\n if ((0, _type.isWindow)(element)) {\r\n return isOuter ? element[\"inner\" + partialName] : _dom_adapter.default.getDocumentElement()[\"client\" + partialName]\r\n }\r\n if (_dom_adapter.default.isDocument(element)) {\r\n var documentElement = _dom_adapter.default.getDocumentElement();\r\n var body = _dom_adapter.default.getBody();\r\n return Math.max(body[\"scroll\" + partialName], body[\"offset\" + partialName], documentElement[\"scroll\" + partialName], documentElement[\"offset\" + partialName], documentElement[\"client\" + partialName])\r\n }\r\n if (0 === arguments.length || \"boolean\" === typeof value) {\r\n var include = {\r\n paddings: isInner || isOuter,\r\n borders: isOuter,\r\n margins: value\r\n };\r\n return (0, _size.getSize)(element, propName, include)\r\n }\r\n if (void 0 === value || null === value) {\r\n return this\r\n }\r\n if ((0, _type.isNumeric)(value)) {\r\n var elementStyles = window.getComputedStyle(element);\r\n var sizeAdjustment = (0, _size.getElementBoxParams)(propName, elementStyles);\r\n var isBorderBox = \"border-box\" === elementStyles.boxSizing;\r\n value = Number(value);\r\n if (isOuter) {\r\n value -= isBorderBox ? 0 : sizeAdjustment.border + sizeAdjustment.padding\r\n } else {\r\n if (isInner) {\r\n value += isBorderBox ? sizeAdjustment.border : -sizeAdjustment.padding\r\n } else {\r\n if (isBorderBox) {\r\n value += sizeAdjustment.border + sizeAdjustment.padding\r\n }\r\n }\r\n }\r\n }\r\n value += (0, _type.isNumeric)(value) ? \"px\" : \"\";\r\n _dom_adapter.default.setStyle(element, propName, value);\r\n return this\r\n }\r\n});\r\ninitRender.prototype.html = function(value) {\r\n if (!arguments.length) {\r\n return this[0].innerHTML\r\n }\r\n this.empty();\r\n if (\"string\" === typeof value && !(0, _html_parser.isTablePart)(value) || \"number\" === typeof value) {\r\n this[0].innerHTML = value;\r\n return this\r\n }\r\n return this.append((0, _html_parser.parseHTML)(value))\r\n};\r\nvar appendElements = function(element, nextSibling) {\r\n if (!this[0] || !element) {\r\n return\r\n }\r\n if (\"string\" === typeof element) {\r\n element = (0, _html_parser.parseHTML)(element)\r\n } else {\r\n if (element.nodeType) {\r\n element = [element]\r\n } else {\r\n if ((0, _type.isNumeric)(element)) {\r\n element = [_dom_adapter.default.createTextNode(element)]\r\n }\r\n }\r\n }\r\n for (var i = 0; i < element.length; i++) {\r\n var item = element[i];\r\n var container = this[0];\r\n var wrapTR = \"TABLE\" === container.tagName && \"TR\" === item.tagName;\r\n if (wrapTR && container.tBodies && container.tBodies.length) {\r\n container = container.tBodies[0]\r\n }\r\n _dom_adapter.default.insertElement(container, item.nodeType ? item : item[0], nextSibling)\r\n }\r\n};\r\nvar setCss = function(name, value) {\r\n if (!this[0] || !this[0].style) {\r\n return\r\n }\r\n if (null === value || \"number\" === typeof value && isNaN(value)) {\r\n return\r\n }\r\n name = (0, _style.styleProp)(name);\r\n for (var i = 0; i < this.length; i++) {\r\n this[i].style[name] = (0, _style.normalizeStyleProp)(name, value)\r\n }\r\n};\r\ninitRender.prototype.css = function(name, value) {\r\n if ((0, _type.isString)(name)) {\r\n if (2 === arguments.length) {\r\n setCss.call(this, name, value)\r\n } else {\r\n if (!this[0]) {\r\n return\r\n }\r\n name = (0, _style.styleProp)(name);\r\n var result = window.getComputedStyle(this[0])[name] || this[0].style[name];\r\n return (0, _type.isNumeric)(result) ? result.toString() : result\r\n }\r\n } else {\r\n if ((0, _type.isPlainObject)(name)) {\r\n for (var key in name) {\r\n setCss.call(this, key, name[key])\r\n }\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.prepend = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.prepend(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element, this[0].firstChild]);\r\n return this\r\n};\r\ninitRender.prototype.append = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.append(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element]);\r\n return this\r\n};\r\ninitRender.prototype.prependTo = function(element) {\r\n if (this.length > 1) {\r\n for (var i = this.length - 1; i >= 0; i--) {\r\n renderer(this[i]).prependTo(element)\r\n }\r\n return this\r\n }\r\n element = renderer(element);\r\n if (element[0]) {\r\n _dom_adapter.default.insertElement(element[0], this[0], element[0].firstChild)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.appendTo = function(element) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"appendTo\", arguments)\r\n }\r\n _dom_adapter.default.insertElement(renderer(element)[0], this[0]);\r\n return this\r\n};\r\ninitRender.prototype.insertBefore = function(element) {\r\n if (element && element[0]) {\r\n _dom_adapter.default.insertElement(element[0].parentNode, this[0], element[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.insertAfter = function(element) {\r\n if (element && element[0]) {\r\n _dom_adapter.default.insertElement(element[0].parentNode, this[0], element[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.before = function(element) {\r\n if (this[0]) {\r\n _dom_adapter.default.insertElement(this[0].parentNode, element[0], this[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.after = function(element) {\r\n if (this[0]) {\r\n _dom_adapter.default.insertElement(this[0].parentNode, element[0], this[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrap = function(wrapper) {\r\n if (this[0]) {\r\n var wrap = renderer(wrapper);\r\n wrap.insertBefore(this);\r\n wrap.append(this)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrapInner = function(wrapper) {\r\n var contents = this.contents();\r\n if (contents.length) {\r\n contents.wrap(wrapper)\r\n } else {\r\n this.append(wrapper)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.replaceWith = function(element) {\r\n if (!(element && element[0])) {\r\n return\r\n }\r\n if (element.is(this)) {\r\n return this\r\n }\r\n element.insertBefore(this);\r\n this.remove();\r\n return element\r\n};\r\ninitRender.prototype.remove = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"remove\", arguments)\r\n }(0, _element_data.cleanDataRecursive)(this[0], true);\r\n _dom_adapter.default.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.detach = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"detach\", arguments)\r\n }\r\n _dom_adapter.default.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.empty = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"empty\", arguments)\r\n }(0, _element_data.cleanDataRecursive)(this[0]);\r\n _dom_adapter.default.setText(this[0], \"\");\r\n return this\r\n};\r\ninitRender.prototype.clone = function() {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n result.push(this[i].cloneNode(true))\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.text = function(value) {\r\n if (!arguments.length) {\r\n var result = \"\";\r\n for (var i = 0; i < this.length; i++) {\r\n result += this[i] && this[i].textContent || \"\"\r\n }\r\n return result\r\n }\r\n var text = (0, _type.isFunction)(value) ? value() : value;\r\n (0, _element_data.cleanDataRecursive)(this[0], false);\r\n _dom_adapter.default.setText(this[0], (0, _type.isDefined)(text) ? text : \"\");\r\n return this\r\n};\r\ninitRender.prototype.val = function(value) {\r\n if (1 === arguments.length) {\r\n return this.prop(\"value\", (0, _type.isDefined)(value) ? value : \"\")\r\n }\r\n return this.prop(\"value\")\r\n};\r\ninitRender.prototype.contents = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = [];\r\n result.push.apply(result, this[0].childNodes);\r\n return renderer(result)\r\n};\r\ninitRender.prototype.find = function(selector) {\r\n var result = renderer();\r\n if (!selector) {\r\n return result\r\n }\r\n var nodes = [];\r\n var i;\r\n if (\"string\" === typeof selector) {\r\n selector = selector.trim();\r\n for (i = 0; i < this.length; i++) {\r\n var element = this[i];\r\n if (_dom_adapter.default.isElementNode(element)) {\r\n var elementId = element.getAttribute(\"id\");\r\n var queryId = elementId || \"dx-query-children\";\r\n if (!elementId) {\r\n setAttributeValue(element, \"id\", queryId)\r\n }\r\n queryId = \"[id='\" + queryId + \"'] \";\r\n var querySelector = queryId + selector.replace(/([^\\\\])(,)/g, \"$1, \" + queryId);\r\n nodes.push.apply(nodes, _dom_adapter.default.querySelectorAll(element, querySelector));\r\n setAttributeValue(element, \"id\", elementId)\r\n } else {\r\n if (_dom_adapter.default.isDocument(element)) {\r\n nodes.push.apply(nodes, _dom_adapter.default.querySelectorAll(element, selector))\r\n }\r\n }\r\n }\r\n } else {\r\n for (i = 0; i < this.length; i++) {\r\n selector = _dom_adapter.default.isNode(selector) ? selector : selector[0];\r\n if (this[i] !== selector && this[i].contains(selector)) {\r\n nodes.push(selector)\r\n }\r\n }\r\n }\r\n return result.add(nodes)\r\n};\r\nvar isVisible = function(_, element) {\r\n if (!element.nodeType) {\r\n return true\r\n }\r\n return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length)\r\n};\r\ninitRender.prototype.filter = function(selector) {\r\n if (!selector) {\r\n return renderer()\r\n }\r\n if (\":visible\" === selector) {\r\n return this.filter(isVisible)\r\n } else {\r\n if (\":hidden\" === selector) {\r\n return this.filter(function(_, element) {\r\n return !isVisible(_, element)\r\n })\r\n }\r\n }\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var item = this[i];\r\n if (_dom_adapter.default.isElementNode(item) && \"string\" === (0, _type.type)(selector)) {\r\n _dom_adapter.default.elementMatches(item, selector) && result.push(item)\r\n } else {\r\n if (_dom_adapter.default.isNode(selector) || (0, _type.isWindow)(selector)) {\r\n selector === item && result.push(item)\r\n } else {\r\n if ((0, _type.isFunction)(selector)) {\r\n selector.call(item, i, item) && result.push(item)\r\n } else {\r\n for (var j = 0; j < selector.length; j++) {\r\n selector[j] === item && result.push(item)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.not = function(selector) {\r\n var result = [];\r\n var nodes = this.filter(selector).toArray();\r\n for (var i = 0; i < this.length; i++) {\r\n if (nodes.indexOf(this[i]) === -1) {\r\n result.push(this[i])\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.is = function(selector) {\r\n return !!this.filter(selector).length\r\n};\r\ninitRender.prototype.children = function(selector) {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var nodes = this[i] ? this[i].childNodes : [];\r\n for (var j = 0; j < nodes.length; j++) {\r\n if (_dom_adapter.default.isElementNode(nodes[j])) {\r\n result.push(nodes[j])\r\n }\r\n }\r\n }\r\n result = renderer(result);\r\n return selector ? result.filter(selector) : result\r\n};\r\ninitRender.prototype.siblings = function() {\r\n var element = this[0];\r\n if (!element || !element.parentNode) {\r\n return renderer()\r\n }\r\n var result = [];\r\n var parentChildNodes = element.parentNode.childNodes || [];\r\n for (var i = 0; i < parentChildNodes.length; i++) {\r\n var node = parentChildNodes[i];\r\n if (_dom_adapter.default.isElementNode(node) && node !== element) {\r\n result.push(node)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.each = function(callback) {\r\n for (var i = 0; i < this.length; i++) {\r\n if (false === callback.call(this[i], i, this[i])) {\r\n break\r\n }\r\n }\r\n};\r\ninitRender.prototype.index = function(element) {\r\n if (!element) {\r\n return this.parent().children().index(this)\r\n }\r\n element = renderer(element);\r\n return this.toArray().indexOf(element[0])\r\n};\r\ninitRender.prototype.get = function(index) {\r\n return this[index < 0 ? this.length + index : index]\r\n};\r\ninitRender.prototype.eq = function(index) {\r\n index = index < 0 ? this.length + index : index;\r\n return renderer(this[index])\r\n};\r\ninitRender.prototype.first = function() {\r\n return this.eq(0)\r\n};\r\ninitRender.prototype.last = function() {\r\n return this.eq(-1)\r\n};\r\ninitRender.prototype.parent = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = renderer(this[0].parentNode);\r\n return !selector || result.is(selector) ? result : renderer()\r\n};\r\ninitRender.prototype.parents = function(selector) {\r\n var result = [];\r\n var parent = this.parent();\r\n while (parent && parent[0] && !_dom_adapter.default.isDocument(parent[0])) {\r\n if (_dom_adapter.default.isElementNode(parent[0])) {\r\n if (!selector || selector && parent.is(selector)) {\r\n result.push(parent.get(0))\r\n }\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.closest = function(selector) {\r\n if (this.is(selector)) {\r\n return this\r\n }\r\n var parent = this.parent();\r\n while (parent && parent.length) {\r\n if (parent.is(selector)) {\r\n return parent\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.next = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var next = renderer(this[0].nextSibling);\r\n if (!arguments.length) {\r\n return next\r\n }\r\n while (next && next.length) {\r\n if (next.is(selector)) {\r\n return next\r\n }\r\n next = next.next()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.prev = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n return renderer(this[0].previousSibling)\r\n};\r\ninitRender.prototype.add = function(selector) {\r\n var targets = renderer(selector);\r\n var result = this.toArray();\r\n for (var i = 0; i < targets.length; i++) {\r\n var target = targets[i];\r\n if (result.indexOf(target) === -1) {\r\n result.push(target)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\nvar emptyArray = [];\r\ninitRender.prototype.splice = function() {\r\n return renderer(emptyArray.splice.apply(this, arguments))\r\n};\r\ninitRender.prototype.slice = function() {\r\n return renderer(emptyArray.slice.apply(this, arguments))\r\n};\r\ninitRender.prototype.toArray = function() {\r\n return emptyArray.slice.call(this)\r\n};\r\nvar getWindowByElement = function(element) {\r\n return (0, _type.isWindow)(element) ? element : element.defaultView\r\n};\r\ninitRender.prototype.offset = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n if (!this[0].getClientRects().length) {\r\n return {\r\n top: 0,\r\n left: 0\r\n }\r\n }\r\n var rect = this[0].getBoundingClientRect();\r\n var win = getWindowByElement(this[0].ownerDocument);\r\n var docElem = this[0].ownerDocument.documentElement;\r\n return {\r\n top: rect.top + win.pageYOffset - docElem.clientTop,\r\n left: rect.left + win.pageXOffset - docElem.clientLeft\r\n }\r\n};\r\ninitRender.prototype.offsetParent = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var offsetParent = renderer(this[0].offsetParent);\r\n while (offsetParent[0] && \"static\" === offsetParent.css(\"position\")) {\r\n offsetParent = renderer(offsetParent[0].offsetParent)\r\n }\r\n offsetParent = offsetParent[0] ? offsetParent : renderer(_dom_adapter.default.getDocumentElement());\r\n return offsetParent\r\n};\r\ninitRender.prototype.position = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n var offset;\r\n var marginTop = parseFloat(this.css(\"marginTop\"));\r\n var marginLeft = parseFloat(this.css(\"marginLeft\"));\r\n if (\"fixed\" === this.css(\"position\")) {\r\n offset = this[0].getBoundingClientRect();\r\n return {\r\n top: offset.top - marginTop,\r\n left: offset.left - marginLeft\r\n }\r\n }\r\n offset = this.offset();\r\n var offsetParent = this.offsetParent();\r\n var parentOffset = {\r\n top: 0,\r\n left: 0\r\n };\r\n if (\"HTML\" !== offsetParent[0].nodeName) {\r\n parentOffset = offsetParent.offset()\r\n }\r\n parentOffset = {\r\n top: parentOffset.top + parseFloat(offsetParent.css(\"borderTopWidth\")),\r\n left: parentOffset.left + parseFloat(offsetParent.css(\"borderLeftWidth\"))\r\n };\r\n return {\r\n top: offset.top - parentOffset.top - marginTop,\r\n left: offset.left - parentOffset.left - marginLeft\r\n }\r\n};\r\n[{\r\n name: \"scrollLeft\",\r\n offsetProp: \"pageXOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(value, win.pageYOffset)\r\n }\r\n}, {\r\n name: \"scrollTop\",\r\n offsetProp: \"pageYOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(win.pageXOffset, value)\r\n }\r\n}].forEach(function(directionStrategy) {\r\n var propName = directionStrategy.name;\r\n initRender.prototype[propName] = function(value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n var window = getWindowByElement(this[0]);\r\n if (void 0 === value) {\r\n return window ? window[directionStrategy.offsetProp] : this[0][propName]\r\n }\r\n if (window) {\r\n directionStrategy.scrollWindow(window, value)\r\n } else {\r\n this[0][propName] = value\r\n }\r\n return this\r\n }\r\n});\r\ninitRender.prototype.data = function(key, value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n if (arguments.length < 2) {\r\n return _element_data.data.call(renderer, this[0], key)\r\n }\r\n _element_data.data.call(renderer, this[0], key, value);\r\n return this\r\n};\r\ninitRender.prototype.removeData = function(key) {\r\n this[0] && (0, _element_data.removeData)(this[0], key);\r\n return this\r\n};\r\nvar rendererWrapper = function() {\r\n return renderer.apply(this, arguments)\r\n};\r\nObject.defineProperty(rendererWrapper, \"fn\", {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return renderer.fn\r\n },\r\n set: function(value) {\r\n renderer.fn = value\r\n }\r\n});\r\nvar _default = {\r\n set: function(strategy) {\r\n renderer = strategy\r\n },\r\n get: function() {\r\n return rendererWrapper\r\n }\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/support.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.pointerEvents = exports.nativeScrolling = exports.inputType = exports.animation = void 0;\r\nObject.defineProperty(exports, \"styleProp\", {\r\n enumerable: true,\r\n get: function() {\r\n return _style.styleProp\r\n }\r\n});\r\nObject.defineProperty(exports, \"stylePropPrefix\", {\r\n enumerable: true,\r\n get: function() {\r\n return _style.stylePropPrefix\r\n }\r\n});\r\nexports.transitionEndEventName = exports.transition = exports.touchEvents = exports.touch = exports.supportProp = void 0;\r\nvar _array = require(\"./array\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _common = require(\"./common\");\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\nvar _window = require(\"./window\");\r\nvar _devices = _interopRequireDefault(require(\"../devices\"));\r\nvar _style = require(\"./style\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _getNavigator = (0, _window.getNavigator)(),\r\n maxTouchPoints = _getNavigator.maxTouchPoints,\r\n msMaxTouchPoints = _getNavigator.msMaxTouchPoints,\r\n pointerEnabled = _getNavigator.pointerEnabled;\r\nvar transitionEndEventNames = {\r\n webkitTransition: \"webkitTransitionEnd\",\r\n MozTransition: \"transitionend\",\r\n OTransition: \"oTransitionEnd\",\r\n msTransition: \"MsTransitionEnd\",\r\n transition: \"transitionend\"\r\n};\r\nvar supportProp = function(prop) {\r\n return !!(0, _style.styleProp)(prop)\r\n};\r\nexports.supportProp = supportProp;\r\nvar isNativeScrollingSupported = function() {\r\n var _devices$real = _devices.default.real(),\r\n platform = _devices$real.platform,\r\n version = _devices$real.version,\r\n isMac = _devices$real.mac;\r\n var isObsoleteAndroid = version && version[0] < 4 && \"android\" === platform;\r\n var isNativeScrollDevice = !isObsoleteAndroid && (0, _array.inArray)(platform, [\"ios\", \"android\"]) > -1 || isMac;\r\n return isNativeScrollDevice\r\n};\r\nvar inputType = function(type) {\r\n if (\"text\" === type) {\r\n return true\r\n }\r\n var input = _dom_adapter.default.createElement(\"input\");\r\n try {\r\n input.setAttribute(\"type\", type);\r\n input.value = \"wrongValue\";\r\n return !input.value\r\n } catch (e) {\r\n return false\r\n }\r\n};\r\nexports.inputType = inputType;\r\nvar detectTouchEvents = function(hasWindowProperty, maxTouchPoints) {\r\n return (hasWindowProperty(\"ontouchstart\") || !!maxTouchPoints) && !hasWindowProperty(\"callPhantom\")\r\n};\r\nvar detectPointerEvent = function(hasWindowProperty, pointerEnabled) {\r\n var isPointerEnabled = (0, _common.ensureDefined)(pointerEnabled, true);\r\n var canUsePointerEvent = (0, _common.ensureDefined)(pointerEnabled, false);\r\n return hasWindowProperty(\"PointerEvent\") && isPointerEnabled || canUsePointerEvent\r\n};\r\nvar touchEvents = detectTouchEvents(_window.hasProperty, maxTouchPoints);\r\nexports.touchEvents = touchEvents;\r\nvar pointerEvents = detectPointerEvent(_window.hasProperty, pointerEnabled);\r\nexports.pointerEvents = pointerEvents;\r\nvar touchPointersPresent = !!maxTouchPoints || !!msMaxTouchPoints;\r\nvar touch = touchEvents || pointerEvents && touchPointersPresent;\r\nexports.touch = touch;\r\nvar transition = (0, _call_once.default)(function() {\r\n return supportProp(\"transition\")\r\n});\r\nexports.transition = transition;\r\nvar transitionEndEventName = (0, _call_once.default)(function() {\r\n return transitionEndEventNames[(0, _style.styleProp)(\"transition\")]\r\n});\r\nexports.transitionEndEventName = transitionEndEventName;\r\nvar animation = (0, _call_once.default)(function() {\r\n return supportProp(\"animation\")\r\n});\r\nexports.animation = animation;\r\nvar nativeScrolling = isNativeScrollingSupported();\r\nexports.nativeScrolling = nativeScrolling;\r\n","/**\r\n * DevExtreme (core/utils/queue.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.create = createQueue;\r\nexports.enqueue = void 0;\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction createQueue(discardPendingTasks) {\r\n var _tasks = [];\r\n var _busy = false;\r\n\r\n function exec() {\r\n while (_tasks.length) {\r\n _busy = true;\r\n var task = _tasks.shift();\r\n var result = task();\r\n if (void 0 === result) {\r\n continue\r\n }\r\n if (result.then) {\r\n (0, _deferred.when)(result).always(exec);\r\n return\r\n }\r\n throw _errors.default.Error(\"E0015\")\r\n }\r\n _busy = false\r\n }\r\n\r\n function add(task, removeTaskCallback) {\r\n if (!discardPendingTasks) {\r\n _tasks.push(task)\r\n } else {\r\n if (_tasks[0] && removeTaskCallback) {\r\n removeTaskCallback(_tasks[0])\r\n }\r\n _tasks = [task]\r\n }\r\n if (!_busy) {\r\n exec()\r\n }\r\n }\r\n\r\n function busy() {\r\n return _busy\r\n }\r\n return {\r\n add: add,\r\n busy: busy\r\n }\r\n}\r\nvar enqueue = createQueue().add;\r\nexports.enqueue = enqueue;\r\n","/**\r\n * DevExtreme (data/data_source/operation_manager.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _utils = require(\"./utils\");\r\nvar OperationManager = function() {\r\n function OperationManager() {\r\n this._counter = -1;\r\n this._deferreds = {}\r\n }\r\n var _proto = OperationManager.prototype;\r\n _proto.add = function(deferred) {\r\n this._counter++;\r\n this._deferreds[this._counter] = deferred;\r\n return this._counter\r\n };\r\n _proto.remove = function(operationId) {\r\n return delete this._deferreds[operationId]\r\n };\r\n _proto.cancel = function(operationId) {\r\n if (operationId in this._deferreds) {\r\n this._deferreds[operationId].reject(_utils.CANCELED_TOKEN);\r\n return true\r\n }\r\n return false\r\n };\r\n _proto.cancelAll = function() {\r\n while (this._counter > -1) {\r\n this.cancel(this._counter);\r\n this._counter--\r\n }\r\n };\r\n return OperationManager\r\n}();\r\nexports.default = OperationManager;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/http_request.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _window = require(\"./utils/window\");\r\nvar _dependency_injector = _interopRequireDefault(require(\"./utils/dependency_injector\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar nativeXMLHttpRequest = {\r\n getXhr: function() {\r\n return new window.XMLHttpRequest\r\n }\r\n};\r\nvar _default = (0, _dependency_injector.default)(nativeXMLHttpRequest);\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (data/query_implementation.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.queryImpl = void 0;\r\nvar _array_query = _interopRequireDefault(require(\"./array_query\"));\r\nvar _remote_query = _interopRequireDefault(require(\"./remote_query\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar queryImpl = {\r\n array: _array_query.default,\r\n remote: _remote_query.default\r\n};\r\nexports.queryImpl = queryImpl;\r\n","/**\r\n * DevExtreme (data/remote_query.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _query_adapters = _interopRequireDefault(require(\"./query_adapters\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _array_query = _interopRequireDefault(require(\"./array_query\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar remoteQueryImpl = function remoteQueryImpl(url, queryOptions, tasks) {\r\n tasks = tasks || [];\r\n queryOptions = queryOptions || {};\r\n var createTask = function(name, args) {\r\n return {\r\n name: name,\r\n args: args\r\n }\r\n };\r\n var exec = function(executorTask) {\r\n var d = new _deferred.Deferred;\r\n var _adapterFactory;\r\n var _adapter;\r\n var _taskQueue;\r\n var _currentTask;\r\n var _mergedSortArgs;\r\n var rejectWithNotify = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n _errors.default._errorHandler(error);\r\n d.reject(error)\r\n };\r\n\r\n function mergeSortTask(task) {\r\n switch (task.name) {\r\n case \"sortBy\":\r\n _mergedSortArgs = [task.args];\r\n return true;\r\n case \"thenBy\":\r\n if (!_mergedSortArgs) {\r\n throw _errors.default.errors.Error(\"E4004\")\r\n }\r\n _mergedSortArgs.push(task.args);\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n function unmergeSortTasks() {\r\n var head = _taskQueue[0];\r\n var unmergedTasks = [];\r\n if (head && \"multiSort\" === head.name) {\r\n _taskQueue.shift();\r\n (0, _iterator.each)(head.args[0], function() {\r\n unmergedTasks.push(createTask(unmergedTasks.length ? \"thenBy\" : \"sortBy\", this))\r\n })\r\n }\r\n _taskQueue = unmergedTasks.concat(_taskQueue)\r\n }\r\n try {\r\n _adapterFactory = queryOptions.adapter;\r\n if (!(0, _type.isFunction)(_adapterFactory)) {\r\n _adapterFactory = _query_adapters.default[_adapterFactory]\r\n }\r\n _adapter = _adapterFactory(queryOptions);\r\n _taskQueue = [].concat(tasks).concat(executorTask);\r\n var optimize = _adapter.optimize;\r\n if (optimize) {\r\n optimize(_taskQueue)\r\n }\r\n while (_taskQueue.length) {\r\n _currentTask = _taskQueue[0];\r\n if (!mergeSortTask(_currentTask)) {\r\n if (_mergedSortArgs) {\r\n _taskQueue.unshift(createTask(\"multiSort\", [_mergedSortArgs]));\r\n _mergedSortArgs = null;\r\n continue\r\n }\r\n if (\"enumerate\" !== String(_currentTask.name)) {\r\n if (!_adapter[_currentTask.name] || false === _adapter[_currentTask.name].apply(_adapter, _currentTask.args)) {\r\n break\r\n }\r\n }\r\n }\r\n _taskQueue.shift()\r\n }\r\n unmergeSortTasks();\r\n _adapter.exec(url).done(function(result, extra) {\r\n if (!_taskQueue.length) {\r\n d.resolve(result, extra)\r\n } else {\r\n var clientChain = (0, _array_query.default)(result, {\r\n errorHandler: queryOptions.errorHandler\r\n });\r\n (0, _iterator.each)(_taskQueue, function() {\r\n clientChain = clientChain[this.name].apply(clientChain, this.args)\r\n });\r\n clientChain.done(d.resolve).fail(d.reject)\r\n }\r\n }).fail(rejectWithNotify)\r\n } catch (x) {\r\n rejectWithNotify(x)\r\n }\r\n return d.promise()\r\n };\r\n var query = {};\r\n (0, _iterator.each)([\"sortBy\", \"thenBy\", \"filter\", \"slice\", \"select\", \"groupBy\"], function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return remoteQueryImpl(url, queryOptions, tasks.concat(createTask(name, arguments)))\r\n }\r\n });\r\n (0, _iterator.each)([\"count\", \"min\", \"max\", \"sum\", \"avg\", \"aggregate\", \"enumerate\"], function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return exec.call(this, createTask(name, arguments))\r\n }\r\n });\r\n return query\r\n};\r\nvar _default = remoteQueryImpl;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (data/query_adapters.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _default = {};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/string.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.encodeHtml = void 0;\r\nexports.format = format;\r\nexports.replaceAll = exports.quadToObject = exports.isEmpty = void 0;\r\nvar _type = require(\"./type\");\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar encodeHtml = function() {\r\n var encodeRegExp = [new RegExp(\"&\", \"g\"), new RegExp('\"', \"g\"), new RegExp(\"'\", \"g\"), new RegExp(\"<\", \"g\"), new RegExp(\">\", \"g\")];\r\n return function(str) {\r\n return String(str).replace(encodeRegExp[0], \"&\").replace(encodeRegExp[1], \""\").replace(encodeRegExp[2], \"'\").replace(encodeRegExp[3], \"<\").replace(encodeRegExp[4], \">\")\r\n }\r\n}();\r\nexports.encodeHtml = encodeHtml;\r\nvar splitQuad = function(raw) {\r\n switch (_typeof(raw)) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 4);\r\n case \"object\":\r\n return [raw.x || raw.h || raw.left, raw.y || raw.v || raw.top, raw.x || raw.h || raw.right, raw.y || raw.v || raw.bottom];\r\n case \"number\":\r\n return [raw];\r\n default:\r\n return raw\r\n }\r\n};\r\nvar quadToObject = function(raw) {\r\n var quad = splitQuad(raw);\r\n var left = parseInt(quad && quad[0], 10);\r\n var top = parseInt(quad && quad[1], 10);\r\n var right = parseInt(quad && quad[2], 10);\r\n var bottom = parseInt(quad && quad[3], 10);\r\n if (!isFinite(left)) {\r\n left = 0\r\n }\r\n if (!isFinite(top)) {\r\n top = left\r\n }\r\n if (!isFinite(right)) {\r\n right = left\r\n }\r\n if (!isFinite(bottom)) {\r\n bottom = top\r\n }\r\n return {\r\n top: top,\r\n right: right,\r\n bottom: bottom,\r\n left: left\r\n }\r\n};\r\nexports.quadToObject = quadToObject;\r\n\r\nfunction format(template) {\r\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\r\n values[_key - 1] = arguments[_key]\r\n }\r\n if ((0, _type.isFunction)(template)) {\r\n return template.apply(void 0, values)\r\n }\r\n values.forEach(function(value, index) {\r\n if ((0, _type.isString)(value)) {\r\n value = value.replace(/\\$/g, \"$$$$\")\r\n }\r\n var placeholderReg = new RegExp(\"\\\\{\" + index + \"\\\\}\", \"gm\");\r\n template = template.replace(placeholderReg, value)\r\n });\r\n return template\r\n}\r\nvar replaceAll = function() {\r\n var quote = function(str) {\r\n return (str + \"\").replace(/([+*?.[^\\]$(){}><|=!:])/g, \"\\\\$1\")\r\n };\r\n return function(text, searchToken, replacementToken) {\r\n return text.replace(new RegExp(\"(\" + quote(searchToken) + \")\", \"gi\"), replacementToken)\r\n }\r\n}();\r\nexports.replaceAll = replaceAll;\r\nvar isEmpty = function() {\r\n var SPACE_REGEXP = /\\s/g;\r\n return function(text) {\r\n return !text || !text.replace(SPACE_REGEXP, \"\")\r\n }\r\n}();\r\nexports.isEmpty = isEmpty;\r\n","/**\r\n * DevExtreme (core/component_registrator_callbacks.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _memorized_callbacks = _interopRequireDefault(require(\"./memorized_callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _default = new _memorized_callbacks.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/templates/template.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Template = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _template_base = require(\"./template_base\");\r\nvar _dom = require(\"../utils/dom\");\r\nvar _template_engine_registry = require(\"./template_engine_registry\");\r\nrequire(\"./template_engines\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}(0, _template_engine_registry.registerTemplateEngine)(\"default\", {\r\n compile: function(element) {\r\n return (0, _dom.normalizeTemplateElement)(element)\r\n },\r\n render: function(template, model, index) {\r\n return template.clone()\r\n }\r\n});\r\n(0, _template_engine_registry.setTemplateEngine)(\"default\");\r\nvar Template = function(_TemplateBase) {\r\n _inheritsLoose(Template, _TemplateBase);\r\n\r\n function Template(element) {\r\n var _this;\r\n _this = _TemplateBase.call(this) || this;\r\n _this._element = element;\r\n return _this\r\n }\r\n var _proto = Template.prototype;\r\n _proto._renderCore = function(options) {\r\n var transclude = options.transclude;\r\n if (!transclude && !this._compiledTemplate) {\r\n this._compiledTemplate = (0, _template_engine_registry.getCurrentTemplateEngine)().compile(this._element)\r\n }\r\n return (0, _renderer.default)(\"
\").append(transclude ? this._element : (0, _template_engine_registry.getCurrentTemplateEngine)().render(this._compiledTemplate, options.model, options.index)).contents()\r\n };\r\n _proto.source = function() {\r\n return (0, _renderer.default)(this._element).clone()\r\n };\r\n return Template\r\n}(_template_base.TemplateBase);\r\nexports.Template = Template;\r\n","/**\r\n * DevExtreme (core/templates/template_engines.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _dom = require(\"../utils/dom\");\r\nvar _template_engine_registry = require(\"./template_engine_registry\");\r\n(0, _template_engine_registry.registerTemplateEngine)(\"jquery-tmpl\", {\r\n compile: function(element) {\r\n return (0, _dom.extractTemplateMarkup)(element)\r\n },\r\n render: function(template, data) {\r\n return jQuery.tmpl(template, data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"jsrender\", {\r\n compile: function(element) {\r\n return (jQuery ? jQuery : jsrender).templates((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template.render(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"mustache\", {\r\n compile: function(element) {\r\n return (0, _dom.extractTemplateMarkup)(element)\r\n },\r\n render: function(template, data) {\r\n return Mustache.render(template, data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"hogan\", {\r\n compile: function(element) {\r\n return Hogan.compile((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template.render(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"underscore\", {\r\n compile: function(element) {\r\n return _.template((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"handlebars\", {\r\n compile: function(element) {\r\n return Handlebars.compile((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"doT\", {\r\n compile: function(element) {\r\n return doT.template((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template(data)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (core/options/index.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Options = void 0;\r\nvar _type = require(\"../utils/type\");\r\nvar _common = require(\"../utils/common\");\r\nvar _option_manager = require(\"./option_manager\");\r\nvar _utils = require(\"./utils\");\r\nvar _extend = require(\"../utils/extend\");\r\n\r\nfunction ownKeys(object, enumerableOnly) {\r\n var keys = Object.keys(object);\r\n if (Object.getOwnPropertySymbols) {\r\n var symbols = Object.getOwnPropertySymbols(object);\r\n enumerableOnly && (symbols = symbols.filter(function(sym) {\r\n return Object.getOwnPropertyDescriptor(object, sym).enumerable\r\n })), keys.push.apply(keys, symbols)\r\n }\r\n return keys\r\n}\r\n\r\nfunction _objectSpread(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = null != arguments[i] ? arguments[i] : {};\r\n i % 2 ? ownKeys(Object(source), !0).forEach(function(key) {\r\n _defineProperty(target, key, source[key])\r\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {\r\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key))\r\n })\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, descriptor.key, descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\nvar Options = function() {\r\n function Options(options, defaultOptions, optionsByReference, deprecatedOptions) {\r\n var _this = this;\r\n this._deprecatedCallback;\r\n this._startChangeCallback;\r\n this._endChangeCallback;\r\n this._default = defaultOptions;\r\n this._deprecated = deprecatedOptions;\r\n this._deprecatedNames = [];\r\n this._initDeprecatedNames();\r\n this._optionManager = new _option_manager.OptionManager(options, optionsByReference);\r\n this._optionManager.onRelevantNamesPrepared(function(options, name, value, silent) {\r\n return _this._setRelevantNames(options, name, value, silent)\r\n });\r\n this._cachedOptions = {};\r\n this._rules = []\r\n }\r\n var _proto = Options.prototype;\r\n _proto._initDeprecatedNames = function() {\r\n for (var optionName in this._deprecated) {\r\n this._deprecatedNames.push(optionName)\r\n }\r\n };\r\n _proto._getByRules = function(rules) {\r\n rules = Array.isArray(rules) ? this._rules.concat(rules) : this._rules;\r\n return (0, _utils.convertRulesToOptions)(rules)\r\n };\r\n _proto._notifyDeprecated = function(option) {\r\n var info = this._deprecated[option];\r\n if (info) {\r\n this._deprecatedCallback(option, info)\r\n }\r\n };\r\n _proto._setRelevantNames = function(options, name, value, silent) {\r\n if (name) {\r\n var normalizedName = this._normalizeName(name, silent);\r\n if (normalizedName && normalizedName !== name) {\r\n this._setField(options, normalizedName, value);\r\n this._clearField(options, name)\r\n }\r\n }\r\n };\r\n _proto._setField = function(options, fullName, value) {\r\n var fieldName = \"\";\r\n var fieldObject = null;\r\n do {\r\n fieldName = fieldName ? \".\".concat(fieldName) : \"\";\r\n fieldName = (0, _utils.getFieldName)(fullName) + fieldName;\r\n fullName = (0, _utils.getParentName)(fullName);\r\n fieldObject = fullName ? this._optionManager.get(options, fullName, false) : options\r\n } while (!fieldObject);\r\n fieldObject[fieldName] = value\r\n };\r\n _proto._clearField = function(options, name) {\r\n delete options[name];\r\n var previousFieldName = (0, _utils.getParentName)(name);\r\n var fieldObject = previousFieldName ? this._optionManager.get(options, previousFieldName, false) : options;\r\n if (fieldObject) {\r\n delete fieldObject[(0, _utils.getFieldName)(name)]\r\n }\r\n };\r\n _proto._normalizeName = function(name, silent) {\r\n if (this._deprecatedNames.length && name) {\r\n for (var i = 0; i < this._deprecatedNames.length; i++) {\r\n if (this._deprecatedNames[i] === name) {\r\n var deprecate = this._deprecated[name];\r\n if (deprecate) {\r\n !silent && this._notifyDeprecated(name);\r\n return deprecate.alias || name\r\n }\r\n }\r\n }\r\n }\r\n return name\r\n };\r\n _proto.addRules = function(rules) {\r\n this._rules = rules.concat(this._rules)\r\n };\r\n _proto.applyRules = function(rules) {\r\n var options = this._getByRules(rules);\r\n this.silent(options)\r\n };\r\n _proto.dispose = function() {\r\n this._deprecatedCallback = _common.noop;\r\n this._startChangeCallback = _common.noop;\r\n this._endChangeCallback = _common.noop;\r\n this._optionManager.dispose()\r\n };\r\n _proto.onChanging = function(callBack) {\r\n this._optionManager.onChanging(callBack)\r\n };\r\n _proto.onChanged = function(callBack) {\r\n this._optionManager.onChanged(callBack)\r\n };\r\n _proto.onDeprecated = function(callBack) {\r\n this._deprecatedCallback = callBack\r\n };\r\n _proto.onStartChange = function(callBack) {\r\n this._startChangeCallback = callBack\r\n };\r\n _proto.onEndChange = function(callBack) {\r\n this._endChangeCallback = callBack\r\n };\r\n _proto.isInitial = function(name) {\r\n var value = this.silent(name);\r\n var initialValue = this.initial(name);\r\n var areFunctions = (0, _type.isFunction)(value) && (0, _type.isFunction)(initialValue);\r\n return areFunctions ? value.toString() === initialValue.toString() : (0, _common.equalByValue)(value, initialValue)\r\n };\r\n _proto.initial = function(name) {\r\n return (0, _utils.getNestedOptionValue)(this._initial, name)\r\n };\r\n _proto.option = function(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== (0, _type.type)(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, this._normalizeName(options))\r\n } else {\r\n this._startChangeCallback();\r\n try {\r\n this._optionManager.set(options, value)\r\n } finally {\r\n this._endChangeCallback()\r\n }\r\n }\r\n };\r\n _proto.silent = function(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== (0, _type.type)(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, options, void 0, true)\r\n } else {\r\n this._optionManager.set(options, value, void 0, true)\r\n }\r\n };\r\n _proto.reset = function(name) {\r\n var _this2 = this;\r\n if (name) {\r\n var fullPath = name.replace(/\\[([^\\]])\\]/g, \".$1\").split(\".\");\r\n var value = fullPath.reduce(function(value, field) {\r\n return value ? value[field] : _this2.initial(field)\r\n }, null);\r\n var defaultValue = (0, _type.isObject)(value) ? _objectSpread({}, value) : value;\r\n this._optionManager.set(name, defaultValue, false)\r\n }\r\n };\r\n _proto.getAliasesByName = function(name) {\r\n var _this3 = this;\r\n return Object.keys(this._deprecated).filter(function(aliasName) {\r\n return name === _this3._deprecated[aliasName].alias\r\n })\r\n };\r\n _proto.isDeprecated = function(name) {\r\n return Object.prototype.hasOwnProperty.call(this._deprecated, name)\r\n };\r\n _proto.cache = function(name, options) {\r\n var isGetter = arguments.length < 2;\r\n if (isGetter) {\r\n return this._cachedOptions[name]\r\n } else {\r\n this._cachedOptions[name] = (0, _extend.extend)(this._cachedOptions[name], options)\r\n }\r\n };\r\n _createClass(Options, [{\r\n key: \"_initial\",\r\n get: function() {\r\n if (!this._initialOptions) {\r\n var rulesOptions = this._getByRules(this.silent(\"defaultOptionsRules\"));\r\n this._initialOptions = this._default;\r\n this._optionManager._setByReference(this._initialOptions, rulesOptions)\r\n }\r\n return this._initialOptions\r\n },\r\n set: function(value) {\r\n this._initialOptions = value\r\n }\r\n }]);\r\n return Options\r\n}();\r\nexports.Options = Options;\r\n","/**\r\n * DevExtreme (core/element_data.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.afterCleanData = afterCleanData;\r\nexports.beforeCleanData = beforeCleanData;\r\nexports.cleanData = cleanData;\r\nexports.cleanDataRecursive = cleanDataRecursive;\r\nexports.data = data;\r\nexports.getDataStrategy = getDataStrategy;\r\nexports.removeData = removeData;\r\nexports.strategyChanging = exports.setDataStrategy = void 0;\r\nvar _weak_map = _interopRequireDefault(require(\"./polyfills/weak_map\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"./dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _memorized_callbacks = _interopRequireDefault(require(\"./memorized_callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar dataMap = new _weak_map.default;\r\nvar strategy;\r\nvar strategyChanging = new _memorized_callbacks.default;\r\nexports.strategyChanging = strategyChanging;\r\nvar beforeCleanDataFunc = function() {};\r\nvar afterCleanDataFunc = function() {};\r\nvar setDataStrategy = function(value) {\r\n strategyChanging.fire(value);\r\n strategy = value;\r\n var cleanData = strategy.cleanData;\r\n strategy.cleanData = function(nodes) {\r\n beforeCleanDataFunc(nodes);\r\n var result = cleanData.call(this, nodes);\r\n afterCleanDataFunc(nodes);\r\n return result\r\n }\r\n};\r\nexports.setDataStrategy = setDataStrategy;\r\nsetDataStrategy({\r\n data: function() {\r\n var element = arguments[0];\r\n var key = arguments[1];\r\n var value = arguments[2];\r\n if (!element) {\r\n return\r\n }\r\n var elementData = dataMap.get(element);\r\n if (!elementData) {\r\n elementData = {};\r\n dataMap.set(element, elementData)\r\n }\r\n if (void 0 === key) {\r\n return elementData\r\n }\r\n if (2 === arguments.length) {\r\n return elementData[key]\r\n }\r\n elementData[key] = value;\r\n return value\r\n },\r\n removeData: function(element, key) {\r\n if (!element) {\r\n return\r\n }\r\n if (void 0 === key) {\r\n dataMap.delete(element)\r\n } else {\r\n var elementData = dataMap.get(element);\r\n if (elementData) {\r\n delete elementData[key]\r\n }\r\n }\r\n },\r\n cleanData: function(elements) {\r\n for (var i = 0; i < elements.length; i++) {\r\n _events_engine.default.off(elements[i]);\r\n dataMap.delete(elements[i])\r\n }\r\n }\r\n});\r\n\r\nfunction getDataStrategy() {\r\n return strategy\r\n}\r\n\r\nfunction data() {\r\n return strategy.data.apply(this, arguments)\r\n}\r\n\r\nfunction beforeCleanData(callback) {\r\n beforeCleanDataFunc = callback\r\n}\r\n\r\nfunction afterCleanData(callback) {\r\n afterCleanDataFunc = callback\r\n}\r\n\r\nfunction cleanData(nodes) {\r\n return strategy.cleanData.call(this, nodes)\r\n}\r\n\r\nfunction removeData(element, key) {\r\n return strategy.removeData.call(this, element, key)\r\n}\r\n\r\nfunction cleanDataRecursive(element, cleanSelf) {\r\n if (!_dom_adapter.default.isElementNode(element)) {\r\n return\r\n }\r\n var childElements = element.getElementsByTagName(\"*\");\r\n strategy.cleanData(childElements);\r\n if (cleanSelf) {\r\n strategy.cleanData([element])\r\n }\r\n}\r\n","/**\r\n * DevExtreme (core/options/option_manager.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.OptionManager = void 0;\r\nvar _data = require(\"../utils/data\");\r\nvar _common = require(\"../utils/common\");\r\nvar _comparator = require(\"../utils/comparator\");\r\nvar _extend = require(\"../utils/extend\");\r\nvar _type = require(\"../utils/type\");\r\nvar _utils = require(\"./utils\");\r\nvar cachedGetters = {};\r\nvar cachedSetters = {};\r\nvar OptionManager = function() {\r\n function OptionManager(options, optionsByReference) {\r\n this._options = options;\r\n this._optionsByReference = optionsByReference;\r\n this._changingCallback;\r\n this._changedCallback;\r\n this._namePreparedCallbacks\r\n }\r\n var _proto = OptionManager.prototype;\r\n _proto._setByReference = function(options, rulesOptions) {\r\n (0, _extend.extend)(true, options, rulesOptions);\r\n for (var fieldName in this._optionsByReference) {\r\n if (Object.prototype.hasOwnProperty.call(rulesOptions, fieldName)) {\r\n options[fieldName] = rulesOptions[fieldName]\r\n }\r\n }\r\n };\r\n _proto._setPreparedValue = function(name, value, merge, silent) {\r\n var previousValue = this.get(this._options, name, false);\r\n if (!(0, _comparator.equals)(previousValue, value)) {\r\n var path = name.split(/[.[]/);\r\n !silent && this._changingCallback(name, previousValue, value);\r\n cachedSetters[name] = cachedSetters[name] || (0, _data.compileSetter)(name);\r\n cachedSetters[name](this._options, value, {\r\n functionsAsIs: true,\r\n merge: (0, _type.isDefined)(merge) ? merge : !this._optionsByReference[name],\r\n unwrapObservables: path.length > 1 && !!this._optionsByReference[path[0]]\r\n });\r\n !silent && this._changedCallback(name, value, previousValue)\r\n }\r\n };\r\n _proto._prepareRelevantNames = function(options, name, value, silent) {\r\n if ((0, _type.isPlainObject)(value)) {\r\n for (var valueName in value) {\r\n this._prepareRelevantNames(options, \"\".concat(name, \".\").concat(valueName), value[valueName])\r\n }\r\n }\r\n this._namePreparedCallbacks(options, name, value, silent)\r\n };\r\n _proto.get = function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._options;\r\n var name = arguments.length > 1 ? arguments[1] : void 0;\r\n var unwrapObservables = arguments.length > 2 ? arguments[2] : void 0;\r\n cachedGetters[name] = cachedGetters[name] || (0, _data.compileGetter)(name);\r\n return cachedGetters[name](options, {\r\n functionsAsIs: true,\r\n unwrapObservables: unwrapObservables\r\n })\r\n };\r\n _proto.set = function(options, value, merge, silent) {\r\n options = (0, _utils.normalizeOptions)(options, value);\r\n for (var name in options) {\r\n this._prepareRelevantNames(options, name, options[name], silent)\r\n }\r\n for (var _name in options) {\r\n this._setPreparedValue(_name, options[_name], merge, silent)\r\n }\r\n };\r\n _proto.onRelevantNamesPrepared = function(callBack) {\r\n this._namePreparedCallbacks = callBack\r\n };\r\n _proto.onChanging = function(callBack) {\r\n this._changingCallback = callBack\r\n };\r\n _proto.onChanged = function(callBack) {\r\n this._changedCallback = callBack\r\n };\r\n _proto.dispose = function() {\r\n this._changingCallback = _common.noop;\r\n this._changedCallback = _common.noop\r\n };\r\n return OptionManager\r\n}();\r\nexports.OptionManager = OptionManager;\r\n","/**\r\n * DevExtreme (core/utils/comparator.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.equals = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _data = require(\"./data\");\r\nvar _type = require(\"./type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar hasNegation = function(oldValue, newValue) {\r\n return 1 / oldValue === 1 / newValue\r\n};\r\nvar equals = function(oldValue, newValue) {\r\n oldValue = (0, _data.toComparable)(oldValue, true);\r\n newValue = (0, _data.toComparable)(newValue, true);\r\n if (oldValue && newValue && (0, _type.isRenderer)(oldValue) && (0, _type.isRenderer)(newValue)) {\r\n return newValue.is(oldValue)\r\n }\r\n var oldValueIsNaN = oldValue !== oldValue;\r\n var newValueIsNaN = newValue !== newValue;\r\n if (oldValueIsNaN && newValueIsNaN) {\r\n return true\r\n }\r\n if (0 === oldValue && 0 === newValue) {\r\n return hasNegation(oldValue, newValue)\r\n }\r\n if (null === oldValue || \"object\" !== _typeof(oldValue) || _dom_adapter.default.isElementNode(oldValue)) {\r\n return oldValue === newValue\r\n }\r\n return false\r\n};\r\nexports.equals = equals;\r\n","/**\r\n * DevExtreme (core/postponed_operations.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.PostponedOperations = void 0;\r\nvar _deferred = require(\"./utils/deferred\");\r\nvar _type = require(\"./utils/type\");\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar PostponedOperations = function() {\r\n function PostponedOperations() {\r\n this._postponedOperations = {}\r\n }\r\n var _proto = PostponedOperations.prototype;\r\n _proto.add = function(key, fn, postponedPromise) {\r\n if (key in this._postponedOperations) {\r\n postponedPromise && this._postponedOperations[key].promises.push(postponedPromise)\r\n } else {\r\n var completePromise = new _deferred.Deferred;\r\n this._postponedOperations[key] = {\r\n fn: fn,\r\n completePromise: completePromise,\r\n promises: postponedPromise ? [postponedPromise] : []\r\n }\r\n }\r\n return this._postponedOperations[key].completePromise.promise()\r\n };\r\n _proto.callPostponedOperations = function() {\r\n for (var key in this._postponedOperations) {\r\n var operation = this._postponedOperations[key];\r\n if ((0, _type.isDefined)(operation)) {\r\n if (operation.promises && operation.promises.length) {\r\n _deferred.when.apply(void 0, _toConsumableArray(operation.promises)).done(operation.fn).then(operation.completePromise.resolve)\r\n } else {\r\n operation.fn().done(operation.completePromise.resolve)\r\n }\r\n }\r\n }\r\n this._postponedOperations = {}\r\n };\r\n return PostponedOperations\r\n}();\r\nexports.PostponedOperations = PostponedOperations;\r\n","/**\r\n * DevExtreme (core/template_manager.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TemplateManager = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"./renderer\"));\r\nvar _type = require(\"./utils/type\");\r\nvar _common = require(\"./utils/common\");\r\nvar _extend = require(\"./utils/extend\");\r\nvar _function_template = require(\"./templates/function_template\");\r\nvar _empty_template = require(\"./templates/empty_template\");\r\nvar _template_manager = require(\"./utils/template_manager\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, descriptor.key, descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\nvar TEXT_NODE = 3;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"template\";\r\nvar TEMPLATE_OPTIONS_NAME = \"dxTemplate\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar DX_POLYMORPH_WIDGET_TEMPLATE = new _function_template.FunctionTemplate(function(_ref) {\r\n var model = _ref.model,\r\n parent = _ref.parent;\r\n var widgetName = model.widget;\r\n if (!widgetName) {\r\n return (0, _renderer.default)()\r\n }\r\n var widgetElement = (0, _renderer.default)(\"
\");\r\n var widgetOptions = model.options || {};\r\n if (parent) {\r\n parent._createComponent(widgetElement, widgetName, widgetOptions)\r\n } else {\r\n widgetElement[widgetName](widgetOptions)\r\n }\r\n return widgetElement\r\n});\r\nvar TemplateManager = function() {\r\n function TemplateManager(createElement, anonymousTemplateName) {\r\n this._tempTemplates = [];\r\n this._defaultTemplates = {};\r\n this._anonymousTemplateName = anonymousTemplateName || ANONYMOUS_TEMPLATE_NAME;\r\n this._createElement = createElement || _template_manager.defaultCreateElement;\r\n this._createTemplateIfNeeded = this._createTemplateIfNeeded.bind(this)\r\n }\r\n TemplateManager.createDefaultOptions = function() {\r\n return {\r\n integrationOptions: {\r\n watchMethod: function(fn, callback) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n if (!options.skipImmediate) {\r\n callback(fn())\r\n }\r\n return _common.noop\r\n },\r\n templates: {\r\n \"dx-polymorph-widget\": DX_POLYMORPH_WIDGET_TEMPLATE\r\n },\r\n useDeferUpdateForTemplates: true\r\n }\r\n }\r\n };\r\n var _proto = TemplateManager.prototype;\r\n _proto.addDefaultTemplates = function(templates) {\r\n this._defaultTemplates = (0, _extend.extend)({}, this._defaultTemplates, templates)\r\n };\r\n _proto.dispose = function() {\r\n this._tempTemplates.forEach(function(tempTemplate) {\r\n tempTemplate.template.dispose && tempTemplate.template.dispose()\r\n });\r\n this._tempTemplates = []\r\n };\r\n _proto.extractTemplates = function($el) {\r\n var templates = this._extractTemplates($el);\r\n var anonymousTemplateMeta = this._extractAnonymousTemplate($el);\r\n return {\r\n templates: templates,\r\n anonymousTemplateMeta: anonymousTemplateMeta\r\n }\r\n };\r\n _proto._extractTemplates = function($el) {\r\n var _this = this;\r\n var templates = (0, _template_manager.findTemplates)($el, TEMPLATE_OPTIONS_NAME);\r\n var suitableTemplates = (0, _template_manager.suitableTemplatesByName)(templates);\r\n templates.forEach(function(_ref2) {\r\n var element = _ref2.element,\r\n name = _ref2.options.name;\r\n if (element === suitableTemplates[name]) {\r\n (0, _renderer.default)(element).addClass(TEMPLATE_WRAPPER_CLASS).detach()\r\n } else {\r\n (0, _renderer.default)(element).remove()\r\n }\r\n });\r\n return Object.keys(suitableTemplates).map(function(name) {\r\n return {\r\n name: name,\r\n template: _this._createTemplate(suitableTemplates[name])\r\n }\r\n })\r\n };\r\n _proto._extractAnonymousTemplate = function($el) {\r\n var $anonymousTemplate = $el.contents().detach();\r\n var $notJunkTemplateContent = $anonymousTemplate.filter(function(_, element) {\r\n var isTextNode = element.nodeType === TEXT_NODE;\r\n var isEmptyText = (0, _renderer.default)(element).text().trim().length < 1;\r\n return !(isTextNode && isEmptyText)\r\n });\r\n return $notJunkTemplateContent.length > 0 ? {\r\n template: this._createTemplate($anonymousTemplate),\r\n name: this._anonymousTemplateName\r\n } : {}\r\n };\r\n _proto._createTemplateIfNeeded = function(templateSource) {\r\n var cachedTemplate = this._tempTemplates.filter(function(tempTemplate) {\r\n return tempTemplate.source === (0, _template_manager.templateKey)(templateSource)\r\n })[0];\r\n if (cachedTemplate) {\r\n return cachedTemplate.template\r\n }\r\n var template = this._createTemplate(templateSource);\r\n this._tempTemplates.push({\r\n template: template,\r\n source: (0, _template_manager.templateKey)(templateSource)\r\n });\r\n return template\r\n };\r\n _proto._createTemplate = function(templateSource) {\r\n return this._createElement((0, _template_manager.validateTemplateSource)(templateSource))\r\n };\r\n _proto.getTemplate = function(templateSource, templates, _ref3, context) {\r\n var _this2 = this;\r\n var isAsyncTemplate = _ref3.isAsyncTemplate,\r\n skipTemplates = _ref3.skipTemplates;\r\n if (!(0, _type.isFunction)(templateSource)) {\r\n return (0, _template_manager.acquireTemplate)(templateSource, this._createTemplateIfNeeded, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates)\r\n }\r\n return new _function_template.FunctionTemplate(function(options) {\r\n var templateSourceResult = templateSource.apply(context, (0, _template_manager.getNormalizedTemplateArgs)(options));\r\n if (!(0, _type.isDefined)(templateSourceResult)) {\r\n return new _empty_template.EmptyTemplate\r\n }\r\n var dispose = false;\r\n var template = (0, _template_manager.acquireTemplate)(templateSourceResult, function(templateSource) {\r\n if (templateSource.nodeType || (0, _type.isRenderer)(templateSource) && !(0, _renderer.default)(templateSource).is(\"script\")) {\r\n return new _function_template.FunctionTemplate(function() {\r\n return templateSource\r\n })\r\n }\r\n dispose = true;\r\n return _this2._createTemplate(templateSource)\r\n }, templates, isAsyncTemplate, skipTemplates, _this2._defaultTemplates);\r\n var result = template.render(options);\r\n dispose && template.dispose && template.dispose();\r\n return result\r\n })\r\n };\r\n _createClass(TemplateManager, [{\r\n key: \"anonymousTemplateName\",\r\n get: function() {\r\n return this._anonymousTemplateName\r\n }\r\n }]);\r\n return TemplateManager\r\n}();\r\nexports.TemplateManager = TemplateManager;\r\n","/**\r\n * DevExtreme (core/utils/object.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.orderEach = exports.deepExtendArraySafe = exports.clone = void 0;\r\nvar _type = require(\"./type\");\r\nvar _variable_wrapper = _interopRequireDefault(require(\"./variable_wrapper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar clone = function() {\r\n function Clone() {}\r\n return function(obj) {\r\n Clone.prototype = obj;\r\n return new Clone\r\n }\r\n}();\r\nexports.clone = clone;\r\nvar orderEach = function(map, func) {\r\n var keys = [];\r\n var key;\r\n var i;\r\n for (key in map) {\r\n if (Object.prototype.hasOwnProperty.call(map, key)) {\r\n keys.push(key)\r\n }\r\n }\r\n keys.sort(function(x, y) {\r\n var isNumberX = (0, _type.isNumeric)(x);\r\n var isNumberY = (0, _type.isNumeric)(y);\r\n if (isNumberX && isNumberY) {\r\n return x - y\r\n }\r\n if (isNumberX && !isNumberY) {\r\n return -1\r\n }\r\n if (!isNumberX && isNumberY) {\r\n return 1\r\n }\r\n if (x < y) {\r\n return -1\r\n }\r\n if (x > y) {\r\n return 1\r\n }\r\n return 0\r\n });\r\n for (i = 0; i < keys.length; i++) {\r\n key = keys[i];\r\n func(key, map[key])\r\n }\r\n};\r\nexports.orderEach = orderEach;\r\nvar assignValueToProperty = function(target, property, value, assignByReference) {\r\n if (!assignByReference && _variable_wrapper.default.isWrapped(target[property])) {\r\n _variable_wrapper.default.assign(target[property], value)\r\n } else {\r\n target[property] = value\r\n }\r\n};\r\nvar deepExtendArraySafe = function deepExtendArraySafe(target, changes, extendComplexObject, assignByReference) {\r\n var prevValue;\r\n var newValue;\r\n for (var name in changes) {\r\n prevValue = target[name];\r\n newValue = changes[name];\r\n if (\"__proto__\" === name || \"constructor\" === name || target === newValue) {\r\n continue\r\n }\r\n if ((0, _type.isPlainObject)(newValue)) {\r\n var goDeeper = extendComplexObject ? (0, _type.isObject)(prevValue) : (0, _type.isPlainObject)(prevValue);\r\n newValue = deepExtendArraySafe(goDeeper ? prevValue : {}, newValue, extendComplexObject, assignByReference)\r\n }\r\n if (void 0 !== newValue && prevValue !== newValue) {\r\n assignValueToProperty(target, name, newValue, assignByReference)\r\n }\r\n }\r\n return target\r\n};\r\nexports.deepExtendArraySafe = deepExtendArraySafe;\r\n","/**\r\n * DevExtreme (data/utils.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"../core/utils/type\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../core/utils/ready_callbacks\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _common = require(\"../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar ready = _ready_callbacks.default.add;\r\nvar XHR_ERROR_UNLOAD = \"DEVEXTREME_XHR_ERROR_UNLOAD\";\r\nvar normalizeBinaryCriterion = function(crit) {\r\n return [crit[0], crit.length < 3 ? \"=\" : String(crit[1]).toLowerCase(), crit.length < 2 ? true : crit[crit.length - 1]]\r\n};\r\nvar normalizeSortingInfo = function(info) {\r\n if (!Array.isArray(info)) {\r\n info = [info]\r\n }\r\n return (0, _iterator.map)(info, function(i) {\r\n var result = {\r\n selector: (0, _type.isFunction)(i) || \"string\" === typeof i ? i : i.getter || i.field || i.selector,\r\n desc: !!(i.desc || \"d\" === String(i.dir).charAt(0).toLowerCase())\r\n };\r\n if (i.compare) {\r\n result.compare = i.compare\r\n }\r\n return result\r\n })\r\n};\r\nvar errorMessageFromXhr = function() {\r\n var textStatusMessages = {\r\n timeout: \"Network connection timeout\",\r\n error: \"Unspecified network error\",\r\n parsererror: \"Unexpected server response\"\r\n };\r\n var explainTextStatus = function(textStatus) {\r\n var result = textStatusMessages[textStatus];\r\n if (!result) {\r\n return textStatus\r\n }\r\n return result\r\n };\r\n var unloading;\r\n ready(function() {\r\n var window = (0, _window.getWindow)();\r\n _dom_adapter.default.listen(window, \"beforeunload\", function() {\r\n unloading = true\r\n })\r\n });\r\n return function(xhr, textStatus) {\r\n if (unloading) {\r\n return XHR_ERROR_UNLOAD\r\n }\r\n if (xhr.status < 400) {\r\n return explainTextStatus(textStatus)\r\n }\r\n return xhr.statusText\r\n }\r\n}();\r\nvar aggregators = {\r\n count: {\r\n seed: 0,\r\n step: function(count) {\r\n return 1 + count\r\n }\r\n },\r\n sum: {\r\n seed: 0,\r\n step: function(sum, item) {\r\n return sum + item\r\n }\r\n },\r\n min: {\r\n step: function(min, item) {\r\n return item < min ? item : min\r\n }\r\n },\r\n max: {\r\n step: function(max, item) {\r\n return item > max ? item : max\r\n }\r\n },\r\n avg: {\r\n seed: [0, 0],\r\n step: function(pair, value) {\r\n return [pair[0] + value, pair[1] + 1]\r\n },\r\n finalize: function(pair) {\r\n return pair[1] ? pair[0] / pair[1] : NaN\r\n }\r\n }\r\n};\r\nvar processRequestResultLock = function() {\r\n var lockCount = 0;\r\n var lockDeferred;\r\n var obtain = function() {\r\n if (0 === lockCount) {\r\n lockDeferred = new _deferred.Deferred\r\n }\r\n lockCount++\r\n };\r\n var release = function() {\r\n lockCount--;\r\n if (lockCount < 1) {\r\n lockDeferred.resolve()\r\n }\r\n };\r\n var promise = function() {\r\n var deferred = 0 === lockCount ? (new _deferred.Deferred).resolve() : lockDeferred;\r\n return deferred.promise()\r\n };\r\n var reset = function() {\r\n lockCount = 0;\r\n if (lockDeferred) {\r\n lockDeferred.resolve()\r\n }\r\n };\r\n return {\r\n obtain: obtain,\r\n release: release,\r\n promise: promise,\r\n reset: reset\r\n }\r\n}();\r\n\r\nfunction isDisjunctiveOperator(condition) {\r\n return /^(or|\\|\\||\\|)$/i.test(condition)\r\n}\r\n\r\nfunction isConjunctiveOperator(condition) {\r\n return /^(and|&&|&)$/i.test(condition)\r\n}\r\nvar keysEqual = function(keyExpr, key1, key2) {\r\n if (Array.isArray(keyExpr)) {\r\n var names = (0, _iterator.map)(key1, function(v, k) {\r\n return k\r\n });\r\n var name;\r\n for (var i = 0; i < names.length; i++) {\r\n name = names[i];\r\n if (!(0, _common.equalByValue)(key1[name], key2[name], 0, false)) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return (0, _common.equalByValue)(key1, key2, 0, false)\r\n};\r\nvar BASE64_CHARS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\nvar base64_encode = function(input) {\r\n if (!Array.isArray(input)) {\r\n input = stringToByteArray(String(input))\r\n }\r\n var result = \"\";\r\n\r\n function getBase64Char(index) {\r\n return BASE64_CHARS.charAt(index)\r\n }\r\n for (var i = 0; i < input.length; i += 3) {\r\n var octet1 = input[i];\r\n var octet2 = input[i + 1];\r\n var octet3 = input[i + 2];\r\n result += (0, _iterator.map)([octet1 >> 2, (3 & octet1) << 4 | octet2 >> 4, isNaN(octet2) ? 64 : (15 & octet2) << 2 | octet3 >> 6, isNaN(octet3) ? 64 : 63 & octet3], getBase64Char).join(\"\")\r\n }\r\n return result\r\n};\r\n\r\nfunction stringToByteArray(str) {\r\n var bytes = [];\r\n var code;\r\n var i;\r\n for (i = 0; i < str.length; i++) {\r\n code = str.charCodeAt(i);\r\n if (code < 128) {\r\n bytes.push(code)\r\n } else {\r\n if (code < 2048) {\r\n bytes.push(192 + (code >> 6), 128 + (63 & code))\r\n } else {\r\n if (code < 65536) {\r\n bytes.push(224 + (code >> 12), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n } else {\r\n if (code < 2097152) {\r\n bytes.push(240 + (code >> 18), 128 + (code >> 12 & 63), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return bytes\r\n}\r\nvar isUnaryOperation = function(crit) {\r\n return \"!\" === crit[0] && Array.isArray(crit[1])\r\n};\r\nvar isGroupOperator = function(value) {\r\n return \"and\" === value || \"or\" === value\r\n};\r\nvar isGroupCriterion = function(crit) {\r\n var first = crit[0];\r\n var second = crit[1];\r\n if (Array.isArray(first)) {\r\n return true\r\n }\r\n if ((0, _type.isFunction)(first)) {\r\n if (Array.isArray(second) || (0, _type.isFunction)(second) || isGroupOperator(second)) {\r\n return true\r\n }\r\n }\r\n return false\r\n};\r\nvar trivialPromise = function() {\r\n var d = new _deferred.Deferred;\r\n return d.resolve.apply(d, arguments).promise()\r\n};\r\nvar rejectedPromise = function() {\r\n var d = new _deferred.Deferred;\r\n return d.reject.apply(d, arguments).promise()\r\n};\r\n\r\nfunction throttle(func, timeout) {\r\n var timeoutId;\r\n var lastArgs;\r\n return function() {\r\n var _this = this;\r\n lastArgs = arguments;\r\n if (!timeoutId) {\r\n timeoutId = setTimeout(function() {\r\n timeoutId = void 0;\r\n if (lastArgs) {\r\n func.call(_this, lastArgs)\r\n }\r\n }, (0, _type.isFunction)(timeout) ? timeout() : timeout)\r\n }\r\n return timeoutId\r\n }\r\n}\r\n\r\nfunction throttleChanges(func, timeout) {\r\n var cache = [];\r\n var throttled = throttle(function() {\r\n func.call(this, cache);\r\n cache = []\r\n }, timeout);\r\n return function(changes) {\r\n if (Array.isArray(changes)) {\r\n var _cache;\r\n (_cache = cache).push.apply(_cache, _toConsumableArray(changes))\r\n }\r\n return throttled.call(this, cache)\r\n }\r\n}\r\nvar utils = {\r\n XHR_ERROR_UNLOAD: XHR_ERROR_UNLOAD,\r\n normalizeBinaryCriterion: normalizeBinaryCriterion,\r\n normalizeSortingInfo: normalizeSortingInfo,\r\n errorMessageFromXhr: errorMessageFromXhr,\r\n aggregators: aggregators,\r\n keysEqual: keysEqual,\r\n throttleChanges: throttleChanges,\r\n trivialPromise: trivialPromise,\r\n rejectedPromise: rejectedPromise,\r\n isDisjunctiveOperator: isDisjunctiveOperator,\r\n isConjunctiveOperator: isConjunctiveOperator,\r\n processRequestResultLock: processRequestResultLock,\r\n isUnaryOperation: isUnaryOperation,\r\n isGroupCriterion: isGroupCriterion,\r\n base64_encode: base64_encode\r\n};\r\nvar _default = utils;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (data/query.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _query_implementation = require(\"./query_implementation\");\r\nvar query = function() {\r\n var impl = Array.isArray(arguments[0]) ? \"array\" : \"remote\";\r\n return _query_implementation.queryImpl[impl].apply(this, arguments)\r\n};\r\nvar _default = query;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/extend.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.extendFromObject = exports.extend = void 0;\r\nvar _type = require(\"./type\");\r\nvar extendFromObject = function(target, source, overrideExistingValues) {\r\n target = target || {};\r\n for (var prop in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, prop)) {\r\n var value = source[prop];\r\n if (!(prop in target) || overrideExistingValues) {\r\n target[prop] = value\r\n }\r\n }\r\n }\r\n return target\r\n};\r\nexports.extendFromObject = extendFromObject;\r\nvar extend = function extend(target) {\r\n target = target || {};\r\n var i = 1;\r\n var deep = false;\r\n if (\"boolean\" === typeof target) {\r\n deep = target;\r\n target = arguments[1] || {};\r\n i++\r\n }\r\n for (; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n if (null == source) {\r\n continue\r\n }\r\n for (var key in source) {\r\n var targetValue = target[key];\r\n var sourceValue = source[key];\r\n var sourceValueIsArray = false;\r\n var clone = void 0;\r\n if (\"__proto__\" === key || \"constructor\" === key || target === sourceValue) {\r\n continue\r\n }\r\n if (deep && sourceValue && ((0, _type.isPlainObject)(sourceValue) || (sourceValueIsArray = Array.isArray(sourceValue)))) {\r\n if (sourceValueIsArray) {\r\n clone = targetValue && Array.isArray(targetValue) ? targetValue : []\r\n } else {\r\n clone = targetValue && (0, _type.isPlainObject)(targetValue) ? targetValue : {}\r\n }\r\n target[key] = extend(deep, clone, sourceValue)\r\n } else {\r\n if (void 0 !== sourceValue) {\r\n target[key] = sourceValue\r\n }\r\n }\r\n }\r\n }\r\n return target\r\n};\r\nexports.extend = extend;\r\n","/**\r\n * DevExtreme (core/utils/date_serialization.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\nvar _date = require(\"../../localization/ldml/date.formatter\");\r\nvar _default_date_names = _interopRequireDefault(require(\"../../localization/default_date_names\"));\r\nvar _type = require(\"./type\");\r\nvar _browser = _interopRequireDefault(require(\"./browser\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar NUMBER_SERIALIZATION_FORMAT = \"number\";\r\nvar DATE_SERIALIZATION_FORMAT = \"yyyy/MM/dd\";\r\nvar DATETIME_SERIALIZATION_FORMAT = \"yyyy/MM/dd HH:mm:ss\";\r\nvar ISO8601_PATTERN = /^(\\d{4,})(-)?(\\d{2})(-)?(\\d{2})(?:T(\\d{2})(:)?(\\d{2})?(:)?(\\d{2}(?:\\.(\\d{1,3})\\d*)?)?)?(Z|([+-])(\\d{2})(:)?(\\d{2})?)?$/;\r\nvar ISO8601_TIME_PATTERN = /^(\\d{2}):(\\d{2})(:(\\d{2}))?$/;\r\nvar ISO8601_PATTERN_PARTS = [\"\", \"yyyy\", \"\", \"MM\", \"\", \"dd\", \"THH\", \"\", \"mm\", \"\", \"ss\", \".SSS\"];\r\nvar DATE_SERIALIZATION_PATTERN = /^(\\d{4})\\/(\\d{2})\\/(\\d{2})$/;\r\nvar MILLISECOND_LENGHT = 3;\r\nvar isIE11 = _browser.default.msie && parseInt(_browser.default.version) <= 11;\r\nvar dateParser = function(text, skipISO8601Parsing) {\r\n var result;\r\n if ((0, _type.isString)(text) && !skipISO8601Parsing) {\r\n result = parseISO8601String(text)\r\n }\r\n return result || parseDate(text)\r\n};\r\n\r\nfunction getTimePart(part) {\r\n return +part || 0\r\n}\r\n\r\nfunction parseDate(text) {\r\n var isDefaultSerializationFormat = getDateSerializationFormat(text) === DATE_SERIALIZATION_FORMAT;\r\n var parsedValue = !(0, _type.isDate)(text) && Date.parse(text);\r\n if ((!parsedValue || isIE11) && isDefaultSerializationFormat) {\r\n var parts = text.match(DATE_SERIALIZATION_PATTERN);\r\n if (parts) {\r\n var newDate = new Date(getTimePart(parts[1]), getTimePart(parts[2]), getTimePart(parts[3]));\r\n newDate.setFullYear(getTimePart(parts[1]));\r\n newDate.setMonth(getTimePart(parts[2]) - 1);\r\n newDate.setDate(getTimePart(parts[3]));\r\n return newDate\r\n }\r\n }\r\n return (0, _type.isNumeric)(parsedValue) ? new Date(parsedValue) : text\r\n}\r\n\r\nfunction parseISO8601String(text) {\r\n var parts = text.match(ISO8601_PATTERN);\r\n if (!parts) {\r\n parts = text.match(ISO8601_TIME_PATTERN);\r\n if (parts) {\r\n return new Date(0, 0, 0, getTimePart(parts[1]), getTimePart(parts[2]), getTimePart(parts[4]))\r\n }\r\n return\r\n }\r\n var year = parts[1];\r\n var month = --parts[3];\r\n var day = parts[5];\r\n var timeZoneHour = 0;\r\n var timeZoneMinute = 0;\r\n timeZoneHour = getTimePart(parts[14]);\r\n timeZoneMinute = getTimePart(parts[16]);\r\n if (\"-\" === parts[13]) {\r\n timeZoneHour = -timeZoneHour;\r\n timeZoneMinute = -timeZoneMinute\r\n }\r\n var hour = getTimePart(parts[6]) - timeZoneHour;\r\n var minute = getTimePart(parts[8]) - timeZoneMinute;\r\n var second = getTimePart(parts[10]);\r\n var parseMilliseconds = function(part) {\r\n part = part || \"\";\r\n return getTimePart(part) * Math.pow(10, MILLISECOND_LENGHT - part.length)\r\n };\r\n var millisecond = parseMilliseconds(parts[11]);\r\n if (parts[12]) {\r\n return new Date(Date.UTC(year, month, day, hour, minute, second, millisecond))\r\n }\r\n return new Date(year, month, day, hour, minute, second, millisecond)\r\n}\r\nvar getIso8601Format = function(text, useUtc) {\r\n var parts = text.match(ISO8601_PATTERN);\r\n var result = \"\";\r\n if (!parts) {\r\n parts = text.match(ISO8601_TIME_PATTERN);\r\n if (parts) {\r\n return parts[3] ? \"HH:mm:ss\" : \"HH:mm\"\r\n }\r\n return\r\n }\r\n for (var i = 1; i < ISO8601_PATTERN_PARTS.length; i++) {\r\n if (parts[i]) {\r\n result += ISO8601_PATTERN_PARTS[i] || parts[i]\r\n }\r\n }\r\n if (\"Z\" === parts[12]) {\r\n result += \"'Z'\"\r\n }\r\n if (parts[14]) {\r\n if (parts[15]) {\r\n result += \"xxx\"\r\n } else {\r\n if (parts[16]) {\r\n result += \"xx\"\r\n } else {\r\n result += \"x\"\r\n }\r\n }\r\n }\r\n return result\r\n};\r\nvar deserializeDate = function(value) {\r\n if (\"number\" === typeof value) {\r\n return new Date(value)\r\n }\r\n return dateParser(value, !(0, _config.default)().forceIsoDateParsing)\r\n};\r\nvar serializeDate = function(value, serializationFormat) {\r\n if (!serializationFormat) {\r\n return value\r\n }\r\n if (!(0, _type.isDate)(value)) {\r\n return null\r\n }\r\n if (serializationFormat === NUMBER_SERIALIZATION_FORMAT) {\r\n return value && value.valueOf ? value.valueOf() : null\r\n }\r\n return (0, _date.getFormatter)(serializationFormat, _default_date_names.default)(value)\r\n};\r\nvar getDateSerializationFormat = function(value) {\r\n if (\"number\" === typeof value) {\r\n return NUMBER_SERIALIZATION_FORMAT\r\n } else {\r\n if ((0, _type.isString)(value)) {\r\n var format;\r\n if ((0, _config.default)().forceIsoDateParsing) {\r\n format = getIso8601Format(value)\r\n }\r\n if (format) {\r\n return format\r\n } else {\r\n if (value.indexOf(\":\") >= 0) {\r\n return DATETIME_SERIALIZATION_FORMAT\r\n } else {\r\n return DATE_SERIALIZATION_FORMAT\r\n }\r\n }\r\n } else {\r\n if (value) {\r\n return null\r\n }\r\n }\r\n }\r\n};\r\nvar _default = {\r\n dateParser: dateParser,\r\n deserializeDate: deserializeDate,\r\n serializeDate: serializeDate,\r\n getDateSerializationFormat: getDateSerializationFormat\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/icon.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getImageSourceType = exports.getImageContainer = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ICON_CLASS = \"dx-icon\";\r\nvar SVG_ICON_CLASS = \"dx-svg-icon\";\r\nvar getImageSourceType = function(source) {\r\n if (!source || \"string\" !== typeof source) {\r\n return false\r\n }\r\n if (/^\\s*]*>(.|\\r?\\n)*?<\\/svg>\\s*$/i.test(source)) {\r\n return \"svg\"\r\n }\r\n if (/data:.*base64|\\.|[^<\\s]\\//.test(source)) {\r\n return \"image\"\r\n }\r\n if (/^[\\w-_]+$/.test(source)) {\r\n return \"dxIcon\"\r\n }\r\n if (/^\\s?([\\w-_]\\s?)+$/.test(source)) {\r\n return \"fontIcon\"\r\n }\r\n return false\r\n};\r\nexports.getImageSourceType = getImageSourceType;\r\nvar getImageContainer = function(source) {\r\n switch (getImageSourceType(source)) {\r\n case \"image\":\r\n return (0, _renderer.default)(\"\").attr(\"src\", source).addClass(ICON_CLASS);\r\n case \"fontIcon\":\r\n return (0, _renderer.default)(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(source));\r\n case \"dxIcon\":\r\n return (0, _renderer.default)(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(ICON_CLASS, \"-\").concat(source));\r\n case \"svg\":\r\n return (0, _renderer.default)(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(SVG_ICON_CLASS)).append(source);\r\n default:\r\n return null\r\n }\r\n};\r\nexports.getImageContainer = getImageContainer;\r\n","/**\r\n * DevExtreme (data/data_source/data_source.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.DataSource = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _utils = _interopRequireDefault(require(\"../utils\"));\r\nvar _array_utils = require(\"../array_utils\");\r\nvar _custom_store = _interopRequireDefault(require(\"../custom_store\"));\r\nvar _events_strategy = require(\"../../core/events_strategy\");\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _queue = require(\"../../core/utils/queue\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _operation_manager = _interopRequireDefault(require(\"./operation_manager\"));\r\nvar _utils2 = require(\"./utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar DataSource = _class.default.inherit({\r\n ctor: function(options) {\r\n var _options$reshapeOnPus, _this = this;\r\n options = (0, _utils2.normalizeDataSourceOptions)(options);\r\n this._eventsStrategy = new _events_strategy.EventsStrategy(this, {\r\n syncStrategy: true\r\n });\r\n this._store = options.store;\r\n this._changedTime = 0;\r\n var needThrottling = 0 !== options.pushAggregationTimeout;\r\n if (needThrottling) {\r\n var throttlingTimeout = void 0 === options.pushAggregationTimeout ? function() {\r\n return 5 * _this._changedTime\r\n } : options.pushAggregationTimeout;\r\n var pushDeferred;\r\n var lastPushWaiters;\r\n var throttlingPushHandler = _utils.default.throttleChanges(function(changes) {\r\n pushDeferred.resolve();\r\n var storePushPending = _deferred.when.apply(void 0, _toConsumableArray(lastPushWaiters));\r\n storePushPending.done(function() {\r\n return _this._onPush(changes)\r\n });\r\n lastPushWaiters = void 0;\r\n pushDeferred = void 0\r\n }, throttlingTimeout);\r\n this._onPushHandler = function(args) {\r\n _this._aggregationTimeoutId = throttlingPushHandler(args.changes);\r\n if (!pushDeferred) {\r\n pushDeferred = new _deferred.Deferred\r\n }\r\n lastPushWaiters = args.waitFor;\r\n args.waitFor.push(pushDeferred.promise())\r\n };\r\n this._store.on(\"beforePush\", this._onPushHandler)\r\n } else {\r\n this._onPushHandler = function(changes) {\r\n return _this._onPush(changes)\r\n };\r\n this._store.on(\"push\", this._onPushHandler)\r\n }\r\n this._storeLoadOptions = this._extractLoadOptions(options);\r\n this._mapFunc = options.map;\r\n this._postProcessFunc = options.postProcess;\r\n this._pageIndex = void 0 !== options.pageIndex ? options.pageIndex : 0;\r\n this._pageSize = void 0 !== options.pageSize ? options.pageSize : 20;\r\n this._loadingCount = 0;\r\n this._loadQueue = this._createLoadQueue();\r\n this._searchValue = \"searchValue\" in options ? options.searchValue : null;\r\n this._searchOperation = options.searchOperation || \"contains\";\r\n this._searchExpr = options.searchExpr;\r\n this._paginate = options.paginate;\r\n this._reshapeOnPush = null !== (_options$reshapeOnPus = options.reshapeOnPush) && void 0 !== _options$reshapeOnPus ? _options$reshapeOnPus : false;\r\n (0, _iterator.each)([\"onChanged\", \"onLoadError\", \"onLoadingChanged\", \"onCustomizeLoadResult\", \"onCustomizeStoreLoadOptions\"], function(_, optionName) {\r\n if (optionName in options) {\r\n _this.on(optionName.substr(2, 1).toLowerCase() + optionName.substr(3), options[optionName])\r\n }\r\n });\r\n this._operationManager = new _operation_manager.default;\r\n this._init()\r\n },\r\n _init: function() {\r\n this._items = [];\r\n this._userData = {};\r\n this._totalCount = -1;\r\n this._isLoaded = false;\r\n if (!(0, _type.isDefined)(this._paginate)) {\r\n this._paginate = !this.group()\r\n }\r\n this._isLastPage = !this._paginate\r\n },\r\n dispose: function() {\r\n var _this$_delayedLoadTas;\r\n this._store.off(\"beforePush\", this._onPushHandler);\r\n this._store.off(\"push\", this._onPushHandler);\r\n this._eventsStrategy.dispose();\r\n clearTimeout(this._aggregationTimeoutId);\r\n delete this._store;\r\n null === (_this$_delayedLoadTas = this._delayedLoadTask) || void 0 === _this$_delayedLoadTas ? void 0 : _this$_delayedLoadTas.abort();\r\n this._operationManager.cancelAll();\r\n this._disposed = true\r\n },\r\n _extractLoadOptions: function(options) {\r\n var result = {};\r\n var names = [\"sort\", \"filter\", \"select\", \"group\", \"requireTotalCount\"];\r\n var customNames = this._store._customLoadOptions();\r\n if (customNames) {\r\n names = names.concat(customNames)\r\n }(0, _iterator.each)(names, function() {\r\n result[this] = options[this]\r\n });\r\n return result\r\n },\r\n loadOptions: function() {\r\n return this._storeLoadOptions\r\n },\r\n items: function() {\r\n return this._items\r\n },\r\n pageIndex: function(newIndex) {\r\n if (!(0, _type.isNumeric)(newIndex)) {\r\n return this._pageIndex\r\n }\r\n this._pageIndex = newIndex;\r\n this._isLastPage = !this._paginate\r\n },\r\n paginate: function(value) {\r\n if (!(0, _type.isBoolean)(value)) {\r\n return this._paginate\r\n }\r\n if (this._paginate !== value) {\r\n this._paginate = value;\r\n this.pageIndex(0)\r\n }\r\n },\r\n pageSize: function(value) {\r\n if (!(0, _type.isNumeric)(value)) {\r\n return this._pageSize\r\n }\r\n this._pageSize = value\r\n },\r\n isLastPage: function() {\r\n return this._isLastPage\r\n },\r\n generateStoreLoadOptionAccessor: function(optionName) {\r\n var _this2 = this;\r\n return function(args) {\r\n var normalizedArgs = (0, _utils2.normalizeStoreLoadOptionAccessorArguments)(args);\r\n if (void 0 === normalizedArgs) {\r\n return _this2._storeLoadOptions[optionName]\r\n }\r\n _this2._storeLoadOptions[optionName] = normalizedArgs\r\n }\r\n },\r\n sort: function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"sort\")(args)\r\n },\r\n filter: function() {\r\n var newFilter = (0, _utils2.normalizeStoreLoadOptionAccessorArguments)(arguments);\r\n if (void 0 === newFilter) {\r\n return this._storeLoadOptions.filter\r\n }\r\n this._storeLoadOptions.filter = newFilter;\r\n this.pageIndex(0)\r\n },\r\n group: function() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"group\")(args)\r\n },\r\n select: function() {\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"select\")(args)\r\n },\r\n requireTotalCount: function(value) {\r\n if (!(0, _type.isBoolean)(value)) {\r\n return this._storeLoadOptions.requireTotalCount\r\n }\r\n this._storeLoadOptions.requireTotalCount = value\r\n },\r\n searchValue: function(value) {\r\n if (arguments.length < 1) {\r\n return this._searchValue\r\n }\r\n this._searchValue = value;\r\n this.pageIndex(0)\r\n },\r\n searchOperation: function(op) {\r\n if (!(0, _type.isString)(op)) {\r\n return this._searchOperation\r\n }\r\n this._searchOperation = op;\r\n this.pageIndex(0)\r\n },\r\n searchExpr: function(expr) {\r\n var argc = arguments.length;\r\n if (0 === argc) {\r\n return this._searchExpr\r\n }\r\n if (argc > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n this._searchExpr = expr;\r\n this.pageIndex(0)\r\n },\r\n store: function() {\r\n return this._store\r\n },\r\n key: function() {\r\n var _this$_store;\r\n return null === (_this$_store = this._store) || void 0 === _this$_store ? void 0 : _this$_store.key()\r\n },\r\n totalCount: function() {\r\n return this._totalCount\r\n },\r\n isLoaded: function() {\r\n return this._isLoaded\r\n },\r\n isLoading: function() {\r\n return this._loadingCount > 0\r\n },\r\n beginLoading: function() {\r\n this._changeLoadingCount(1)\r\n },\r\n endLoading: function() {\r\n this._changeLoadingCount(-1)\r\n },\r\n _createLoadQueue: function() {\r\n return (0, _queue.create)()\r\n },\r\n _changeLoadingCount: function(increment) {\r\n var oldLoading = this.isLoading();\r\n this._loadingCount += increment;\r\n var newLoading = this.isLoading();\r\n if (oldLoading ^ newLoading) {\r\n this._eventsStrategy.fireEvent(\"loadingChanged\", [newLoading])\r\n }\r\n },\r\n _scheduleLoadCallbacks: function(deferred) {\r\n var _this3 = this;\r\n this.beginLoading();\r\n deferred.always(function() {\r\n _this3.endLoading()\r\n })\r\n },\r\n _scheduleFailCallbacks: function(deferred) {\r\n var _this4 = this;\r\n deferred.fail(function() {\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n if (args[0] === _utils2.CANCELED_TOKEN) {\r\n return\r\n }\r\n _this4._eventsStrategy.fireEvent(\"loadError\", args)\r\n })\r\n },\r\n _fireChanged: function(args) {\r\n var date = new Date;\r\n this._eventsStrategy.fireEvent(\"changed\", args);\r\n this._changedTime = new Date - date\r\n },\r\n _scheduleChangedCallbacks: function(deferred) {\r\n var _this5 = this;\r\n deferred.done(function() {\r\n return _this5._fireChanged()\r\n })\r\n },\r\n loadSingle: function(propName, propValue) {\r\n var _this6 = this;\r\n var d = new _deferred.Deferred;\r\n var key = this.key();\r\n var store = this._store;\r\n var options = this._createStoreLoadOptions();\r\n var handleDone = function(data) {\r\n if (!(0, _type.isDefined)(data) || (0, _array.isEmpty)(data)) {\r\n d.reject(new _errors.default.errors.Error(\"E4009\"))\r\n } else {\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n d.resolve(_this6._applyMapFunction(data)[0])\r\n }\r\n };\r\n this._scheduleFailCallbacks(d);\r\n if (arguments.length < 2) {\r\n propValue = propName;\r\n propName = key\r\n }\r\n delete options.skip;\r\n delete options.group;\r\n delete options.refresh;\r\n delete options.pageIndex;\r\n delete options.searchString;\r\n var shouldForceByKey = function() {\r\n return store instanceof _custom_store.default && !store._byKeyViaLoad()\r\n };\r\n (function() {\r\n if (propName === key || shouldForceByKey()) {\r\n return store.byKey(propValue, options)\r\n }\r\n options.take = 1;\r\n options.filter = options.filter ? [options.filter, [propName, propValue]] : [propName, propValue];\r\n return store.load(options)\r\n })().fail(d.reject).done(handleDone);\r\n return d.promise()\r\n },\r\n load: function() {\r\n var _this7 = this;\r\n var d = new _deferred.Deferred;\r\n var loadTask = function() {\r\n if (_this7._disposed) {\r\n return\r\n }\r\n if (!(0, _utils2.isPending)(d)) {\r\n return\r\n }\r\n return _this7._loadFromStore(loadOperation, d)\r\n };\r\n this._scheduleLoadCallbacks(d);\r\n this._scheduleFailCallbacks(d);\r\n this._scheduleChangedCallbacks(d);\r\n var loadOperation = this._createLoadOperation(d);\r\n this._eventsStrategy.fireEvent(\"customizeStoreLoadOptions\", [loadOperation]);\r\n this._loadQueue.add(function() {\r\n if (\"number\" === typeof loadOperation.delay) {\r\n _this7._delayedLoadTask = (0, _common.executeAsync)(loadTask, loadOperation.delay)\r\n } else {\r\n loadTask()\r\n }\r\n return d.promise()\r\n });\r\n return d.promise({\r\n operationId: loadOperation.operationId\r\n })\r\n },\r\n _onPush: function(changes) {\r\n var _this8 = this;\r\n if (this._reshapeOnPush) {\r\n this.load()\r\n } else {\r\n this._eventsStrategy.fireEvent(\"changing\", [{\r\n changes: changes\r\n }]);\r\n var group = this.group();\r\n var items = this.items();\r\n var groupLevel = 0;\r\n var dataSourceChanges = this.paginate() || group ? changes.filter(function(item) {\r\n return \"update\" === item.type\r\n }) : changes;\r\n if (group) {\r\n groupLevel = Array.isArray(group) ? group.length : 1\r\n }\r\n if (this._mapFunc) {\r\n dataSourceChanges.forEach(function(item) {\r\n if (\"insert\" === item.type) {\r\n item.data = _this8._mapFunc(item.data)\r\n }\r\n })\r\n }(0, _array_utils.applyBatch)({\r\n keyInfo: this.store(),\r\n data: items,\r\n changes: dataSourceChanges,\r\n groupCount: groupLevel,\r\n useInsertIndex: true\r\n });\r\n this._fireChanged([{\r\n changes: changes\r\n }])\r\n }\r\n },\r\n _createLoadOperation: function(deferred) {\r\n var _this9 = this;\r\n var operationId = this._operationManager.add(deferred);\r\n var storeLoadOptions = this._createStoreLoadOptions();\r\n deferred.always(function() {\r\n return _this9._operationManager.remove(operationId)\r\n });\r\n return {\r\n operationId: operationId,\r\n storeLoadOptions: storeLoadOptions\r\n }\r\n },\r\n reload: function() {\r\n var store = this.store();\r\n if (store instanceof _custom_store.default) {\r\n store.clearRawDataCache()\r\n }\r\n this._init();\r\n return this.load()\r\n },\r\n cancel: function(operationId) {\r\n return this._operationManager.cancel(operationId)\r\n },\r\n cancelAll: function() {\r\n return this._operationManager.cancelAll()\r\n },\r\n _addSearchOptions: function(storeLoadOptions) {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (this.store()._useDefaultSearch) {\r\n this._addSearchFilter(storeLoadOptions)\r\n } else {\r\n storeLoadOptions.searchOperation = this._searchOperation;\r\n storeLoadOptions.searchValue = this._searchValue;\r\n storeLoadOptions.searchExpr = this._searchExpr\r\n }\r\n },\r\n _createStoreLoadOptions: function() {\r\n var result = (0, _extend.extend)({}, this._storeLoadOptions);\r\n this._addSearchOptions(result);\r\n if (this._paginate) {\r\n if (this._pageSize) {\r\n result.skip = this._pageIndex * this._pageSize;\r\n result.take = this._pageSize\r\n }\r\n }\r\n result.userData = this._userData;\r\n return result\r\n },\r\n _addSearchFilter: function(storeLoadOptions) {\r\n var value = this._searchValue;\r\n var op = this._searchOperation;\r\n var selector = this._searchExpr;\r\n var searchFilter = [];\r\n if (!value) {\r\n return\r\n }\r\n if (!selector) {\r\n selector = \"this\"\r\n }\r\n if (!Array.isArray(selector)) {\r\n selector = [selector]\r\n }(0, _iterator.each)(selector, function(i, item) {\r\n if (searchFilter.length) {\r\n searchFilter.push(\"or\")\r\n }\r\n searchFilter.push([item, op, value])\r\n });\r\n if (storeLoadOptions.filter) {\r\n storeLoadOptions.filter = [searchFilter, storeLoadOptions.filter]\r\n } else {\r\n storeLoadOptions.filter = searchFilter\r\n }\r\n },\r\n _loadFromStore: function(loadOptions, pendingDeferred) {\r\n var _this10 = this;\r\n var handleSuccess = function(data, extra) {\r\n if (_this10._disposed) {\r\n return\r\n }\r\n if (!(0, _utils2.isPending)(pendingDeferred)) {\r\n return\r\n }\r\n var loadResult = (0, _extend.extend)((0, _utils2.normalizeLoadResult)(data, extra), loadOptions);\r\n _this10._eventsStrategy.fireEvent(\"customizeLoadResult\", [loadResult]);\r\n (0, _deferred.when)(loadResult.data).done(function(data) {\r\n loadResult.data = data;\r\n _this10._processStoreLoadResult(loadResult, pendingDeferred)\r\n }).fail(pendingDeferred.reject)\r\n };\r\n if (loadOptions.data) {\r\n return (new _deferred.Deferred).resolve(loadOptions.data).done(handleSuccess)\r\n }\r\n return this.store().load(loadOptions.storeLoadOptions).done(handleSuccess).fail(pendingDeferred.reject)\r\n },\r\n _processStoreLoadResult: function(loadResult, pendingDeferred) {\r\n var _this11 = this;\r\n var data = loadResult.data;\r\n var extra = loadResult.extra;\r\n var storeLoadOptions = loadResult.storeLoadOptions;\r\n var resolvePendingDeferred = function() {\r\n _this11._isLoaded = true;\r\n _this11._totalCount = isFinite(extra.totalCount) ? extra.totalCount : -1;\r\n return pendingDeferred.resolve(data, extra)\r\n };\r\n var proceedLoadingTotalCount = function() {\r\n _this11.store().totalCount(storeLoadOptions).done(function(count) {\r\n extra.totalCount = count;\r\n resolvePendingDeferred()\r\n }).fail(pendingDeferred.reject)\r\n };\r\n if (this._disposed) {\r\n return\r\n }\r\n data = this._applyPostProcessFunction(this._applyMapFunction(data));\r\n if (!(0, _type.isPlainObject)(extra)) {\r\n extra = {}\r\n }\r\n this._items = data;\r\n if (!data.length || !this._paginate || this._pageSize && data.length < this._pageSize) {\r\n this._isLastPage = true\r\n }\r\n if (storeLoadOptions.requireTotalCount && !isFinite(extra.totalCount)) {\r\n proceedLoadingTotalCount()\r\n } else {\r\n resolvePendingDeferred()\r\n }\r\n },\r\n _applyMapFunction: function(data) {\r\n if (this._mapFunc) {\r\n return (0, _utils2.mapDataRespectingGrouping)(data, this._mapFunc, this.group())\r\n }\r\n return data\r\n },\r\n _applyPostProcessFunction: function(data) {\r\n if (this._postProcessFunc) {\r\n return this._postProcessFunc(data)\r\n }\r\n return data\r\n },\r\n on: function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off: function(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nexports.DataSource = DataSource;\r\n","/**\r\n * DevExtreme (core/utils/ready_callbacks.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _dependency_injector = _interopRequireDefault(require(\"./dependency_injector\"));\r\nvar _window = require(\"./window\");\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar callbacks = [];\r\nvar isReady = function() {\r\n return \"complete\" === _dom_adapter.default.getReadyState() || \"loading\" !== _dom_adapter.default.getReadyState() && !_dom_adapter.default.getDocumentElement().doScroll\r\n};\r\nvar subscribeReady = (0, _call_once.default)(function() {\r\n var removeListener = _dom_adapter.default.listen(_dom_adapter.default.getDocument(), \"DOMContentLoaded\", function() {\r\n readyCallbacks.fire();\r\n removeListener()\r\n })\r\n});\r\nvar readyCallbacks = {\r\n add: function(callback) {\r\n var windowExists = (0, _window.hasWindow)();\r\n if (windowExists && isReady()) {\r\n callback()\r\n } else {\r\n callbacks.push(callback);\r\n windowExists && subscribeReady()\r\n }\r\n },\r\n fire: function() {\r\n callbacks.forEach(function(callback) {\r\n return callback()\r\n });\r\n callbacks = []\r\n }\r\n};\r\nvar _default = (0, _dependency_injector.default)(readyCallbacks);\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/templates/bindable_template.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.BindableTemplate = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _template_base = require(\"./template_base\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _remove_event = _interopRequireDefault(require(\"../remove_event\"));\r\nvar _type = require(\"../utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar watchChanges = function() {\r\n var globalWatch = function(data, watchMethod, callback) {\r\n return watchMethod(function() {\r\n return data\r\n }, callback)\r\n };\r\n var fieldsWatch = function(data, watchMethod, fields, fieldsMap, callback) {\r\n var resolvedData = {};\r\n var missedFields = fields.slice();\r\n var watchHandlers = fields.map(function(name) {\r\n var fieldGetter = fieldsMap[name];\r\n return watchMethod(fieldGetter ? function() {\r\n return fieldGetter(data)\r\n } : function() {\r\n return data[name]\r\n }, function(value) {\r\n resolvedData[name] = value;\r\n if (missedFields.length) {\r\n var index = missedFields.indexOf(name);\r\n if (index >= 0) {\r\n missedFields.splice(index, 1)\r\n }\r\n }\r\n if (!missedFields.length) {\r\n callback(resolvedData)\r\n }\r\n })\r\n });\r\n return function() {\r\n watchHandlers.forEach(function(dispose) {\r\n return dispose()\r\n })\r\n }\r\n };\r\n return function(rawData, watchMethod, fields, fieldsMap, callback) {\r\n var fieldsDispose;\r\n var globalDispose = globalWatch(rawData, watchMethod, function(dataWithRawFields) {\r\n fieldsDispose && fieldsDispose();\r\n if ((0, _type.isPrimitive)(dataWithRawFields)) {\r\n callback(dataWithRawFields);\r\n return\r\n }\r\n fieldsDispose = fieldsWatch(dataWithRawFields, watchMethod, fields, fieldsMap, callback)\r\n });\r\n return function() {\r\n fieldsDispose && fieldsDispose();\r\n globalDispose && globalDispose()\r\n }\r\n }\r\n}();\r\nvar BindableTemplate = function(_TemplateBase) {\r\n _inheritsLoose(BindableTemplate, _TemplateBase);\r\n\r\n function BindableTemplate(render, fields, watchMethod, fieldsMap) {\r\n var _this;\r\n _this = _TemplateBase.call(this) || this;\r\n _this._render = render;\r\n _this._fields = fields;\r\n _this._fieldsMap = fieldsMap || {};\r\n _this._watchMethod = watchMethod;\r\n return _this\r\n }\r\n var _proto = BindableTemplate.prototype;\r\n _proto._renderCore = function(options) {\r\n var _this2 = this;\r\n var $container = (0, _renderer.default)(options.container);\r\n var dispose = watchChanges(options.model, this._watchMethod, this._fields, this._fieldsMap, function(data) {\r\n $container.empty();\r\n _this2._render($container, data, options.model)\r\n });\r\n _events_engine.default.on($container, _remove_event.default, dispose);\r\n return $container.contents()\r\n };\r\n return BindableTemplate\r\n}(_template_base.TemplateBase);\r\nexports.BindableTemplate = BindableTemplate;\r\n","/**\r\n * DevExtreme (data/errors.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _error = _interopRequireDefault(require(\"../core/utils/error\"));\r\nvar _errors = _interopRequireDefault(require(\"../core/errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar handlers = {};\r\nvar errors = (0, _error.default)(_errors.default.ERROR_MESSAGES, {\r\n E4000: \"[DevExpress.data]: {0}\",\r\n E4001: \"Unknown aggregating function is detected: '{0}'\",\r\n E4002: \"Unsupported OData protocol version is used\",\r\n E4003: \"Unknown filter operation is used: {0}\",\r\n E4004: \"The thenby() method is called before the sortby() method\",\r\n E4005: \"Store requires a key expression for this operation\",\r\n E4006: \"ArrayStore 'data' option must be an array\",\r\n E4007: \"Compound keys cannot be auto-generated\",\r\n E4008: \"Attempt to insert an item with a duplicated key\",\r\n E4009: \"Data item cannot be found\",\r\n E4010: \"CustomStore does not support creating queries\",\r\n E4011: \"Custom Store method is not implemented or is not a function: {0}\",\r\n E4012: \"Custom Store method returns an invalid value: {0}\",\r\n E4013: \"Local Store requires the 'name' configuration option is specified\",\r\n E4014: \"Unknown data type is specified for ODataStore: {0}\",\r\n E4015: \"Unknown entity name or alias is used: {0}\",\r\n E4016: \"The compileSetter(expr) method is called with 'self' passed as a parameter\",\r\n E4017: \"Keys cannot be modified\",\r\n E4018: \"The server has returned a non-numeric value in a response to an item count request\",\r\n E4019: \"Mixing of group operators inside a single group of filter expression is not allowed\",\r\n E4020: \"Unknown store type is detected: {0}\",\r\n E4021: \"The server response does not provide the totalCount value\",\r\n E4022: \"The server response does not provide the groupCount value\",\r\n E4023: \"Could not parse the following XML: {0}\",\r\n E4024: \"String function {0} cannot be used with the data field {1} of type {2}.\",\r\n W4000: \"Data returned from the server has an incorrect structure\",\r\n W4001: 'The {0} field is listed in both \"keyType\" and \"fieldTypes\". The value of \"fieldTypes\" is used.',\r\n W4002: \"Data loading has failed for some cells due to the following error: {0}\"\r\n});\r\n\r\nfunction handleError(error) {\r\n var id = \"E4000\";\r\n if (error && \"__id\" in error) {\r\n id = error.__id\r\n }\r\n errors.log(id, error)\r\n}\r\nvar errorHandler = null;\r\nvar _errorHandler = function(error) {\r\n if (handlers.errorHandler) {\r\n handlers.errorHandler(error)\r\n }\r\n};\r\nhandlers = {\r\n errors: errors,\r\n errorHandler: errorHandler,\r\n _errorHandler: _errorHandler\r\n};\r\nvar _default = handlers;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/type.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.type = exports.isWindow = exports.isString = exports.isRenderer = exports.isPromise = exports.isPrimitive = exports.isPlainObject = exports.isObject = exports.isNumeric = exports.isFunction = exports.isExponential = exports.isEvent = exports.isEmptyObject = exports.isDefined = exports.isDeferred = exports.isDate = exports.isBoolean = void 0;\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar types = {\r\n \"[object Array]\": \"array\",\r\n \"[object Date]\": \"date\",\r\n \"[object Object]\": \"object\",\r\n \"[object String]\": \"string\",\r\n \"[object Null]\": \"null\"\r\n};\r\nvar type = function(object) {\r\n var typeOfObject = Object.prototype.toString.call(object);\r\n return \"object\" === _typeof(object) ? types[typeOfObject] || \"object\" : _typeof(object)\r\n};\r\nexports.type = type;\r\nvar isBoolean = function(object) {\r\n return \"boolean\" === typeof object\r\n};\r\nexports.isBoolean = isBoolean;\r\nvar isExponential = function(value) {\r\n return isNumeric(value) && value.toString().indexOf(\"e\") !== -1\r\n};\r\nexports.isExponential = isExponential;\r\nvar isDate = function(object) {\r\n return \"date\" === type(object)\r\n};\r\nexports.isDate = isDate;\r\nvar isDefined = function(object) {\r\n return null !== object && void 0 !== object\r\n};\r\nexports.isDefined = isDefined;\r\nvar isFunction = function(object) {\r\n return \"function\" === typeof object\r\n};\r\nexports.isFunction = isFunction;\r\nvar isString = function(object) {\r\n return \"string\" === typeof object\r\n};\r\nexports.isString = isString;\r\nvar isNumeric = function(object) {\r\n return \"number\" === typeof object && isFinite(object) || !isNaN(object - parseFloat(object))\r\n};\r\nexports.isNumeric = isNumeric;\r\nvar isObject = function(object) {\r\n return \"object\" === type(object)\r\n};\r\nexports.isObject = isObject;\r\nvar isEmptyObject = function(object) {\r\n var property;\r\n for (property in object) {\r\n return false\r\n }\r\n return true\r\n};\r\nexports.isEmptyObject = isEmptyObject;\r\nvar isPlainObject = function(object) {\r\n if (!object || \"[object Object]\" !== Object.prototype.toString.call(object)) {\r\n return false\r\n }\r\n var proto = Object.getPrototypeOf(object);\r\n var ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\r\n return \"function\" === typeof ctor && Object.toString.call(ctor) === Object.toString.call(Object)\r\n};\r\nexports.isPlainObject = isPlainObject;\r\nvar isPrimitive = function(value) {\r\n return [\"object\", \"array\", \"function\"].indexOf(type(value)) === -1\r\n};\r\nexports.isPrimitive = isPrimitive;\r\nvar isWindow = function(object) {\r\n return null != object && object === object.window\r\n};\r\nexports.isWindow = isWindow;\r\nvar isRenderer = function(object) {\r\n return !!(object.jquery || object.dxRenderer)\r\n};\r\nexports.isRenderer = isRenderer;\r\nvar isPromise = function(object) {\r\n return object && isFunction(object.then)\r\n};\r\nexports.isPromise = isPromise;\r\nvar isDeferred = function(object) {\r\n return object && isFunction(object.done) && isFunction(object.fail)\r\n};\r\nexports.isDeferred = isDeferred;\r\nvar isEvent = function(object) {\r\n return !!(object && object.preventDefault)\r\n};\r\nexports.isEvent = isEvent;\r\n","/**\r\n * DevExtreme (core/renderer.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer_base = _interopRequireDefault(require(\"./renderer_base\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _default = _renderer_base.default.get();\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/dependency_injector.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = _default;\r\nvar _extend = require(\"./extend\");\r\nvar _type = require(\"./type\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _class = _interopRequireDefault(require(\"../class\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _default(object) {\r\n var BaseClass = _class.default.inherit(object);\r\n var InjectedClass = BaseClass;\r\n var instance = new InjectedClass(object);\r\n var initialFields = {};\r\n var injectFields = function(injectionObject, initial) {\r\n (0, _iterator.each)(injectionObject, function(key) {\r\n if ((0, _type.isFunction)(instance[key])) {\r\n if (initial || !object[key]) {\r\n object[key] = function() {\r\n return instance[key].apply(object, arguments)\r\n }\r\n }\r\n } else {\r\n if (initial) {\r\n initialFields[key] = object[key]\r\n }\r\n object[key] = instance[key]\r\n }\r\n })\r\n };\r\n injectFields(object, true);\r\n object.inject = function(injectionObject) {\r\n InjectedClass = InjectedClass.inherit(injectionObject);\r\n instance = new InjectedClass;\r\n injectFields(injectionObject)\r\n };\r\n object.resetInjection = function() {\r\n (0, _extend.extend)(object, initialFields);\r\n InjectedClass = BaseClass;\r\n instance = new BaseClass\r\n };\r\n return object\r\n}\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (data/data_source/utils.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.normalizeStoreLoadOptionAccessorArguments = exports.normalizeLoadResult = exports.normalizeDataSourceOptions = exports.mapDataRespectingGrouping = exports.isPending = exports.CANCELED_TOKEN = void 0;\r\nvar _ajax = _interopRequireDefault(require(\"../../core/utils/ajax\"));\r\nvar _abstract_store = _interopRequireDefault(require(\"../abstract_store\"));\r\nvar _array_store = _interopRequireDefault(require(\"../array_store\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _custom_store = _interopRequireDefault(require(\"../custom_store\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _utils = _interopRequireDefault(require(\"../utils\"));\r\nvar _excluded = [\"items\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction ownKeys(object, enumerableOnly) {\r\n var keys = Object.keys(object);\r\n if (Object.getOwnPropertySymbols) {\r\n var symbols = Object.getOwnPropertySymbols(object);\r\n enumerableOnly && (symbols = symbols.filter(function(sym) {\r\n return Object.getOwnPropertyDescriptor(object, sym).enumerable\r\n })), keys.push.apply(keys, symbols)\r\n }\r\n return keys\r\n}\r\n\r\nfunction _objectSpread(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = null != arguments[i] ? arguments[i] : {};\r\n i % 2 ? ownKeys(Object(source), !0).forEach(function(key) {\r\n _defineProperty(target, key, source[key])\r\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {\r\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key))\r\n })\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\nvar CANCELED_TOKEN = \"canceled\";\r\nexports.CANCELED_TOKEN = CANCELED_TOKEN;\r\nvar isPending = function(deferred) {\r\n return \"pending\" === deferred.state()\r\n};\r\nexports.isPending = isPending;\r\nvar normalizeStoreLoadOptionAccessorArguments = function(originalArguments) {\r\n switch (originalArguments.length) {\r\n case 0:\r\n return;\r\n case 1:\r\n return originalArguments[0]\r\n }\r\n return [].slice.call(originalArguments)\r\n};\r\nexports.normalizeStoreLoadOptionAccessorArguments = normalizeStoreLoadOptionAccessorArguments;\r\nvar mapGroup = function(group, level, mapper) {\r\n return (0, _iterator.map)(group, function(item) {\r\n var restItem = (item.items, _objectWithoutProperties(item, _excluded));\r\n return _objectSpread(_objectSpread({}, restItem), {}, {\r\n items: mapRecursive(item.items, level - 1, mapper)\r\n })\r\n })\r\n};\r\nvar mapRecursive = function(items, level, mapper) {\r\n if (!Array.isArray(items)) {\r\n return items\r\n }\r\n return level ? mapGroup(items, level, mapper) : (0, _iterator.map)(items, mapper)\r\n};\r\nvar mapDataRespectingGrouping = function(items, mapper, groupInfo) {\r\n var level = groupInfo ? _utils.default.normalizeSortingInfo(groupInfo).length : 0;\r\n return mapRecursive(items, level, mapper)\r\n};\r\nexports.mapDataRespectingGrouping = mapDataRespectingGrouping;\r\nvar normalizeLoadResult = function(data, extra) {\r\n var _data;\r\n if (null !== (_data = data) && void 0 !== _data && _data.data) {\r\n extra = data;\r\n data = data.data\r\n }\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n return {\r\n data: data,\r\n extra: extra\r\n }\r\n};\r\nexports.normalizeLoadResult = normalizeLoadResult;\r\nvar createCustomStoreFromLoadFunc = function(options) {\r\n var storeConfig = {};\r\n (0, _iterator.each)([\"useDefaultSearch\", \"key\", \"load\", \"loadMode\", \"cacheRawData\", \"byKey\", \"lookup\", \"totalCount\", \"insert\", \"update\", \"remove\"], function() {\r\n storeConfig[this] = options[this];\r\n delete options[this]\r\n });\r\n return new _custom_store.default(storeConfig)\r\n};\r\nvar createStoreFromConfig = function(storeConfig) {\r\n var alias = storeConfig.type;\r\n delete storeConfig.type;\r\n return _abstract_store.default.create(alias, storeConfig)\r\n};\r\nvar createCustomStoreFromUrl = function(url, normalizationOptions) {\r\n return new _custom_store.default({\r\n load: function() {\r\n return _ajax.default.sendRequest({\r\n url: url,\r\n dataType: \"json\"\r\n })\r\n },\r\n loadMode: null === normalizationOptions || void 0 === normalizationOptions ? void 0 : normalizationOptions.fromUrlLoadMode\r\n })\r\n};\r\nvar normalizeDataSourceOptions = function(options, normalizationOptions) {\r\n var store;\r\n if (\"string\" === typeof options) {\r\n options = {\r\n paginate: false,\r\n store: createCustomStoreFromUrl(options, normalizationOptions)\r\n }\r\n }\r\n if (void 0 === options) {\r\n options = []\r\n }\r\n if (Array.isArray(options) || options instanceof _abstract_store.default) {\r\n options = {\r\n store: options\r\n }\r\n } else {\r\n options = (0, _extend.extend)({}, options)\r\n }\r\n if (void 0 === options.store) {\r\n options.store = []\r\n }\r\n store = options.store;\r\n if (\"load\" in options) {\r\n store = createCustomStoreFromLoadFunc(options)\r\n } else {\r\n if (Array.isArray(store)) {\r\n store = new _array_store.default(store)\r\n } else {\r\n if ((0, _type.isPlainObject)(store)) {\r\n store = createStoreFromConfig((0, _extend.extend)({}, store))\r\n }\r\n }\r\n }\r\n options.store = store;\r\n return options\r\n};\r\nexports.normalizeDataSourceOptions = normalizeDataSourceOptions;\r\n","/**\r\n * DevExtreme (core/polyfills/promise.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar promise = (0, _window.hasWindow)() ? (0, _window.getWindow)().Promise : Promise;\r\nif (!promise) {\r\n promise = function(resolver) {\r\n var d = new _deferred.Deferred;\r\n resolver(d.resolve.bind(this), d.reject.bind(this));\r\n return d.promise()\r\n };\r\n promise.resolve = function(val) {\r\n return (new _deferred.Deferred).resolve(val).promise()\r\n };\r\n promise.reject = function(val) {\r\n return (new _deferred.Deferred).reject(val).promise()\r\n };\r\n promise.all = function(promises) {\r\n return _deferred.when.apply(this, promises).then(function() {\r\n return [].slice.call(arguments)\r\n })\r\n }\r\n}\r\nvar _default = promise;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/dom_component.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _config = _interopRequireDefault(require(\"./config\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _resize_callbacks = _interopRequireDefault(require(\"../core/utils/resize_callbacks\"));\r\nvar _component = _interopRequireDefault(require(\"./component\"));\r\nvar _template_manager = require(\"./template_manager\");\r\nvar _public_component = require(\"./utils/public_component\");\r\nvar _element_data = require(\"./element_data\");\r\nvar _iterator = require(\"./utils/iterator\");\r\nvar _extend = require(\"./utils/extend\");\r\nvar _element = require(\"../core/element\");\r\nvar _common = require(\"./utils/common\");\r\nvar _array = require(\"./utils/array\");\r\nvar _type = require(\"./utils/type\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _short = require(\"../events/short\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar abstract = _component.default.abstract;\r\nvar DOMComponent = _component.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n width: void 0,\r\n height: void 0,\r\n rtlEnabled: (0, _config.default)().rtlEnabled,\r\n elementAttr: {},\r\n disabled: false,\r\n integrationOptions: {}\r\n }, this._useTemplates() ? _template_manager.TemplateManager.createDefaultOptions() : {})\r\n },\r\n ctor: function(element, options) {\r\n this._customClass = null;\r\n this._createElement(element);\r\n (0, _public_component.attachInstanceToElement)(this._$element, this, this._dispose);\r\n this.callBase(options)\r\n },\r\n _createElement: function(element) {\r\n this._$element = (0, _renderer.default)(element)\r\n },\r\n _getSynchronizableOptionsForCreateComponent: function() {\r\n return [\"rtlEnabled\", \"disabled\", \"templatesRenderAsynchronously\"]\r\n },\r\n _visibilityChanged: abstract,\r\n _dimensionChanged: abstract,\r\n _init: function() {\r\n this.callBase();\r\n this._attachWindowResizeCallback();\r\n this._initTemplateManager()\r\n },\r\n _setOptionsByDevice: function(instanceCustomRules) {\r\n this.callBase([].concat(this.constructor._classCustomRules || [], instanceCustomRules || []))\r\n },\r\n _isInitialOptionValue: function(name) {\r\n var isCustomOption = this.constructor._classCustomRules && Object.prototype.hasOwnProperty.call(this._convertRulesToOptions(this.constructor._classCustomRules), name);\r\n return !isCustomOption && this.callBase(name)\r\n },\r\n _attachWindowResizeCallback: function() {\r\n if (this._isDimensionChangeSupported()) {\r\n var windowResizeCallBack = this._windowResizeCallBack = this._dimensionChanged.bind(this);\r\n _resize_callbacks.default.add(windowResizeCallBack)\r\n }\r\n },\r\n _isDimensionChangeSupported: function() {\r\n return this._dimensionChanged !== abstract\r\n },\r\n _renderComponent: function() {\r\n this._initMarkup();\r\n (0, _window.hasWindow)() && this._render()\r\n },\r\n _initMarkup: function() {\r\n var _ref = this.option() || {},\r\n rtlEnabled = _ref.rtlEnabled;\r\n this._renderElementAttributes();\r\n this._toggleRTLDirection(rtlEnabled);\r\n this._renderVisibilityChange();\r\n this._renderDimensions()\r\n },\r\n _render: function() {\r\n this._attachVisibilityChangeHandlers()\r\n },\r\n _renderElementAttributes: function() {\r\n var _ref2 = this.option() || {},\r\n elementAttr = _ref2.elementAttr;\r\n var attributes = (0, _extend.extend)({}, elementAttr);\r\n var classNames = attributes.class;\r\n delete attributes.class;\r\n this.$element().attr(attributes).removeClass(this._customClass).addClass(classNames);\r\n this._customClass = classNames\r\n },\r\n _renderVisibilityChange: function() {\r\n if (this._isDimensionChangeSupported()) {\r\n this._attachDimensionChangeHandlers()\r\n }\r\n if (this._isVisibilityChangeSupported()) {\r\n var $element = this.$element();\r\n $element.addClass(\"dx-visibility-change-handler\")\r\n }\r\n },\r\n _renderDimensions: function() {\r\n var $element = this.$element();\r\n var element = $element.get(0);\r\n var width = this._getOptionValue(\"width\", element);\r\n var height = this._getOptionValue(\"height\", element);\r\n if (this._isCssUpdateRequired(element, height, width)) {\r\n $element.css({\r\n width: null === width ? \"\" : width,\r\n height: null === height ? \"\" : height\r\n })\r\n }\r\n },\r\n _isCssUpdateRequired: function(element, height, width) {\r\n return !!((0, _type.isDefined)(width) || (0, _type.isDefined)(height) || element.style.width || element.style.height)\r\n },\r\n _attachDimensionChangeHandlers: function() {\r\n var _this = this;\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n _short.resize.off($el, {\r\n namespace: namespace\r\n });\r\n _short.resize.on($el, function() {\r\n return _this._dimensionChanged()\r\n }, {\r\n namespace: namespace\r\n })\r\n },\r\n _attachVisibilityChangeHandlers: function() {\r\n var _this2 = this;\r\n if (this._isVisibilityChangeSupported()) {\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n this._isHidden = !this._isVisible();\r\n _short.visibility.off($el, {\r\n namespace: namespace\r\n });\r\n _short.visibility.on($el, function() {\r\n return _this2._checkVisibilityChanged(\"shown\")\r\n }, function() {\r\n return _this2._checkVisibilityChanged(\"hiding\")\r\n }, {\r\n namespace: namespace\r\n })\r\n }\r\n },\r\n _isVisible: function() {\r\n var $element = this.$element();\r\n return $element.is(\":visible\")\r\n },\r\n _checkVisibilityChanged: function(action) {\r\n var isVisible = this._isVisible();\r\n if (isVisible) {\r\n if (\"hiding\" === action && !this._isHidden) {\r\n this._visibilityChanged(false);\r\n this._isHidden = true\r\n } else {\r\n if (\"shown\" === action && this._isHidden) {\r\n this._isHidden = false;\r\n this._visibilityChanged(true)\r\n }\r\n }\r\n }\r\n },\r\n _isVisibilityChangeSupported: function() {\r\n return this._visibilityChanged !== abstract && (0, _window.hasWindow)()\r\n },\r\n _clean: _common.noop,\r\n _modelByElement: function() {\r\n var _this$option = this.option(),\r\n modelByElement = _this$option.modelByElement;\r\n var $element = this.$element();\r\n return modelByElement ? modelByElement($element) : void 0\r\n },\r\n _invalidate: function() {\r\n if (this._isUpdateAllowed()) {\r\n throw _errors.default.Error(\"E0007\")\r\n }\r\n this._requireRefresh = true\r\n },\r\n _refresh: function() {\r\n this._clean();\r\n this._renderComponent()\r\n },\r\n _dispose: function() {\r\n this._templateManager && this._templateManager.dispose();\r\n this.callBase();\r\n this._clean();\r\n this._detachWindowResizeCallback()\r\n },\r\n _detachWindowResizeCallback: function() {\r\n if (this._isDimensionChangeSupported()) {\r\n _resize_callbacks.default.remove(this._windowResizeCallBack)\r\n }\r\n },\r\n _toggleRTLDirection: function(rtl) {\r\n var $element = this.$element();\r\n $element.toggleClass(\"dx-rtl\", rtl)\r\n },\r\n _createComponent: function(element, component) {\r\n var _this3 = this;\r\n var config = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var synchronizableOptions = (0, _common.grep)(this._getSynchronizableOptionsForCreateComponent(), function(value) {\r\n return !(value in config)\r\n });\r\n var _this$option2 = this.option(),\r\n integrationOptions = _this$option2.integrationOptions;\r\n var _this$option3 = this.option(),\r\n nestedComponentOptions = _this$option3.nestedComponentOptions;\r\n nestedComponentOptions = nestedComponentOptions || _common.noop;\r\n var nestedComponentConfig = (0, _extend.extend)({\r\n integrationOptions: integrationOptions\r\n }, nestedComponentOptions(this));\r\n synchronizableOptions.forEach(function(optionName) {\r\n return nestedComponentConfig[optionName] = _this3.option(optionName)\r\n });\r\n this._extendConfig(config, nestedComponentConfig);\r\n var instance = void 0;\r\n if ((0, _type.isString)(component)) {\r\n var $element = (0, _renderer.default)(element)[component](config);\r\n instance = $element[component](\"instance\")\r\n } else {\r\n if (element) {\r\n instance = component.getInstance(element);\r\n if (instance) {\r\n instance.option(config)\r\n } else {\r\n instance = new component(element, config)\r\n }\r\n }\r\n }\r\n if (instance) {\r\n var optionChangedHandler = function(_ref3) {\r\n var name = _ref3.name,\r\n value = _ref3.value;\r\n if ((0, _array.inArray)(name, synchronizableOptions) >= 0) {\r\n instance.option(name, value)\r\n }\r\n };\r\n this.on(\"optionChanged\", optionChangedHandler);\r\n instance.on(\"disposing\", function() {\r\n return _this3.off(\"optionChanged\", optionChangedHandler)\r\n })\r\n }\r\n return instance\r\n },\r\n _extendConfig: function(config, extendConfig) {\r\n (0, _iterator.each)(extendConfig, function(key, value) {\r\n !Object.prototype.hasOwnProperty.call(config, key) && (config[key] = value)\r\n })\r\n },\r\n _defaultActionConfig: function() {\r\n var $element = this.$element();\r\n var context = this._modelByElement($element);\r\n return (0, _extend.extend)(this.callBase(), {\r\n context: context\r\n })\r\n },\r\n _defaultActionArgs: function() {\r\n var $element = this.$element();\r\n var model = this._modelByElement($element);\r\n var element = this.element();\r\n return (0, _extend.extend)(this.callBase(), {\r\n element: element,\r\n model: model\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this._renderDimensions();\r\n break;\r\n case \"rtlEnabled\":\r\n this._invalidate();\r\n break;\r\n case \"elementAttr\":\r\n this._renderElementAttributes();\r\n break;\r\n case \"disabled\":\r\n case \"integrationOptions\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _removeAttributes: function(element) {\r\n var attrs = element.attributes;\r\n for (var i = attrs.length - 1; i >= 0; i--) {\r\n var attr = attrs[i];\r\n if (attr) {\r\n var name = attr.name;\r\n if (!name.indexOf(\"aria-\") || name.indexOf(\"dx-\") !== -1 || \"role\" === name || \"style\" === name || \"tabindex\" === name) {\r\n element.removeAttribute(name)\r\n }\r\n }\r\n }\r\n },\r\n _removeClasses: function(element) {\r\n element.className = element.className.split(\" \").filter(function(cssClass) {\r\n return 0 !== cssClass.lastIndexOf(\"dx-\", 0)\r\n }).join(\" \")\r\n },\r\n _updateDOMComponent: function(renderRequired) {\r\n if (renderRequired) {\r\n this._renderComponent()\r\n } else {\r\n if (this._requireRefresh) {\r\n this._requireRefresh = false;\r\n this._refresh()\r\n }\r\n }\r\n },\r\n endUpdate: function() {\r\n var renderRequired = this._isInitializingRequired();\r\n this.callBase();\r\n this._isUpdateAllowed() && this._updateDOMComponent(renderRequired)\r\n },\r\n $element: function() {\r\n return this._$element\r\n },\r\n element: function() {\r\n var $element = this.$element();\r\n return (0, _element.getPublicElement)($element)\r\n },\r\n dispose: function() {\r\n var element = this.$element().get(0);\r\n (0, _element_data.cleanDataRecursive)(element, true);\r\n element.textContent = \"\";\r\n this._removeAttributes(element);\r\n this._removeClasses(element)\r\n },\r\n resetOption: function(optionName) {\r\n this.callBase(optionName);\r\n if (\"width\" === optionName || \"height\" === optionName) {\r\n var initialOption = this.initialOption(optionName);\r\n !(0, _type.isDefined)(initialOption) && this.$element().css(optionName, \"\")\r\n }\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return\r\n },\r\n _initTemplateManager: function() {\r\n if (this._templateManager || !this._useTemplates()) {\r\n return\r\n }\r\n var _this$option4 = this.option(),\r\n _this$option4$integra = _this$option4.integrationOptions,\r\n integrationOptions = void 0 === _this$option4$integra ? {} : _this$option4$integra;\r\n var createTemplate = integrationOptions.createTemplate;\r\n this._templateManager = new _template_manager.TemplateManager(createTemplate, this._getAnonymousTemplateName());\r\n this._initTemplates()\r\n },\r\n _initTemplates: function() {\r\n var _this4 = this;\r\n var _this$_templateManage = this._templateManager.extractTemplates(this.$element()),\r\n templates = _this$_templateManage.templates,\r\n anonymousTemplateMeta = _this$_templateManage.anonymousTemplateMeta;\r\n var anonymousTemplate = this.option(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name));\r\n templates.forEach(function(_ref4) {\r\n var name = _ref4.name,\r\n template = _ref4.template;\r\n _this4._options.silent(\"integrationOptions.templates.\".concat(name), template)\r\n });\r\n if (anonymousTemplateMeta.name && !anonymousTemplate) {\r\n this._options.silent(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name), anonymousTemplateMeta.template);\r\n this._options.silent(\"_hasAnonymousTemplateContent\", true)\r\n }\r\n },\r\n _getTemplateByOption: function(optionName) {\r\n return this._getTemplate(this.option(optionName))\r\n },\r\n _getTemplate: function(templateSource) {\r\n var templates = this.option(\"integrationOptions.templates\");\r\n var isAsyncTemplate = this.option(\"templatesRenderAsynchronously\");\r\n var skipTemplates = this.option(\"integrationOptions.skipTemplates\");\r\n return this._templateManager.getTemplate(templateSource, templates, {\r\n isAsyncTemplate: isAsyncTemplate,\r\n skipTemplates: skipTemplates\r\n }, this)\r\n },\r\n _saveTemplate: function(name, template) {\r\n this._setOptionWithoutOptionChange(\"integrationOptions.templates.\" + name, this._templateManager._createTemplate(template))\r\n },\r\n _useTemplates: function() {\r\n return true\r\n }\r\n});\r\nDOMComponent.getInstance = function(element) {\r\n return (0, _public_component.getInstanceByElement)((0, _renderer.default)(element), this)\r\n};\r\nDOMComponent.defaultOptions = function(rule) {\r\n this._classCustomRules = this._classCustomRules || [];\r\n this._classCustomRules.push(rule)\r\n};\r\nvar _default = DOMComponent;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/templates/empty_template.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.EmptyTemplate = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _template_base = require(\"./template_base\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar EmptyTemplate = function(_TemplateBase) {\r\n _inheritsLoose(EmptyTemplate, _TemplateBase);\r\n\r\n function EmptyTemplate() {\r\n return _TemplateBase.apply(this, arguments) || this\r\n }\r\n var _proto = EmptyTemplate.prototype;\r\n _proto._renderCore = function() {\r\n return (0, _renderer.default)()\r\n };\r\n return EmptyTemplate\r\n}(_template_base.TemplateBase);\r\nexports.EmptyTemplate = EmptyTemplate;\r\n","/**\r\n * DevExtreme (data_helper.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _data_source = require(\"./data/data_source/data_source\");\r\nvar _extend = require(\"./core/utils/extend\");\r\nvar _utils = require(\"./data/data_source/utils\");\r\nvar DATA_SOURCE_OPTIONS_METHOD = \"_dataSourceOptions\";\r\nvar DATA_SOURCE_CHANGED_METHOD = \"_dataSourceChangedHandler\";\r\nvar DATA_SOURCE_LOAD_ERROR_METHOD = \"_dataSourceLoadErrorHandler\";\r\nvar DATA_SOURCE_LOADING_CHANGED_METHOD = \"_dataSourceLoadingChangedHandler\";\r\nvar DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD = \"_dataSourceFromUrlLoadMode\";\r\nvar SPECIFIC_DATA_SOURCE_OPTION = \"_getSpecificDataSourceOption\";\r\nvar NORMALIZE_DATA_SOURCE = \"_normalizeDataSource\";\r\nvar DataHelperMixin = {\r\n postCtor: function() {\r\n this.on(\"disposing\", function() {\r\n this._disposeDataSource()\r\n }.bind(this))\r\n },\r\n _refreshDataSource: function() {\r\n this._initDataSource();\r\n this._loadDataSource()\r\n },\r\n _initDataSource: function() {\r\n var dataSourceOptions = SPECIFIC_DATA_SOURCE_OPTION in this ? this[SPECIFIC_DATA_SOURCE_OPTION]() : this.option(\"dataSource\");\r\n var widgetDataSourceOptions;\r\n var dataSourceType;\r\n this._disposeDataSource();\r\n if (dataSourceOptions) {\r\n if (dataSourceOptions instanceof _data_source.DataSource) {\r\n this._isSharedDataSource = true;\r\n this._dataSource = dataSourceOptions\r\n } else {\r\n widgetDataSourceOptions = DATA_SOURCE_OPTIONS_METHOD in this ? this[DATA_SOURCE_OPTIONS_METHOD]() : {};\r\n dataSourceType = this._dataSourceType ? this._dataSourceType() : _data_source.DataSource;\r\n dataSourceOptions = (0, _utils.normalizeDataSourceOptions)(dataSourceOptions, {\r\n fromUrlLoadMode: DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD in this && this[DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD]()\r\n });\r\n this._dataSource = new dataSourceType((0, _extend.extend)(true, {}, widgetDataSourceOptions, dataSourceOptions))\r\n }\r\n if (NORMALIZE_DATA_SOURCE in this) {\r\n this._dataSource = this[NORMALIZE_DATA_SOURCE](this._dataSource)\r\n }\r\n this._addDataSourceHandlers()\r\n }\r\n },\r\n _addDataSourceHandlers: function() {\r\n if (DATA_SOURCE_CHANGED_METHOD in this) {\r\n this._addDataSourceChangeHandler()\r\n }\r\n if (DATA_SOURCE_LOAD_ERROR_METHOD in this) {\r\n this._addDataSourceLoadErrorHandler()\r\n }\r\n if (DATA_SOURCE_LOADING_CHANGED_METHOD in this) {\r\n this._addDataSourceLoadingChangedHandler()\r\n }\r\n this._addReadyWatcher()\r\n },\r\n _addReadyWatcher: function() {\r\n this._dataSource.on(\"loadingChanged\", function(isLoading) {\r\n this._ready && this._ready(!isLoading)\r\n }.bind(this))\r\n },\r\n _addDataSourceChangeHandler: function() {\r\n var dataSource = this._dataSource;\r\n this._proxiedDataSourceChangedHandler = function(e) {\r\n this[DATA_SOURCE_CHANGED_METHOD](dataSource.items(), e)\r\n }.bind(this);\r\n dataSource.on(\"changed\", this._proxiedDataSourceChangedHandler)\r\n },\r\n _addDataSourceLoadErrorHandler: function() {\r\n this._proxiedDataSourceLoadErrorHandler = this[DATA_SOURCE_LOAD_ERROR_METHOD].bind(this);\r\n this._dataSource.on(\"loadError\", this._proxiedDataSourceLoadErrorHandler)\r\n },\r\n _addDataSourceLoadingChangedHandler: function() {\r\n this._proxiedDataSourceLoadingChangedHandler = this[DATA_SOURCE_LOADING_CHANGED_METHOD].bind(this);\r\n this._dataSource.on(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n },\r\n _loadDataSource: function() {\r\n if (this._dataSource) {\r\n var dataSource = this._dataSource;\r\n if (dataSource.isLoaded()) {\r\n this._proxiedDataSourceChangedHandler && this._proxiedDataSourceChangedHandler()\r\n } else {\r\n dataSource.load()\r\n }\r\n }\r\n },\r\n _loadSingle: function(key, value) {\r\n key = \"this\" === key ? this._dataSource.key() || \"this\" : key;\r\n return this._dataSource.loadSingle(key, value)\r\n },\r\n _isLastPage: function() {\r\n return !this._dataSource || this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n },\r\n _isDataSourceLoading: function() {\r\n return this._dataSource && this._dataSource.isLoading()\r\n },\r\n _disposeDataSource: function() {\r\n if (this._dataSource) {\r\n if (this._isSharedDataSource) {\r\n delete this._isSharedDataSource;\r\n this._proxiedDataSourceChangedHandler && this._dataSource.off(\"changed\", this._proxiedDataSourceChangedHandler);\r\n this._proxiedDataSourceLoadErrorHandler && this._dataSource.off(\"loadError\", this._proxiedDataSourceLoadErrorHandler);\r\n this._proxiedDataSourceLoadingChangedHandler && this._dataSource.off(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n } else {\r\n this._dataSource.dispose()\r\n }\r\n delete this._dataSource;\r\n delete this._proxiedDataSourceChangedHandler;\r\n delete this._proxiedDataSourceLoadErrorHandler;\r\n delete this._proxiedDataSourceLoadingChangedHandler\r\n }\r\n },\r\n getDataSource: function() {\r\n return this._dataSource || null\r\n }\r\n};\r\nvar _default = DataHelperMixin;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/call_once.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar callOnce = function(handler) {\r\n var result;\r\n var _wrappedHandler = function() {\r\n result = handler.apply(this, arguments);\r\n _wrappedHandler = function() {\r\n return result\r\n };\r\n return result\r\n };\r\n return function() {\r\n return _wrappedHandler.apply(this, arguments)\r\n }\r\n};\r\nvar _default = callOnce;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (data/array_store.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _utils = _interopRequireDefault(require(\"./utils\"));\r\nvar _query = _interopRequireDefault(require(\"./query\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _abstract_store = _interopRequireDefault(require(\"./abstract_store\"));\r\nvar _array_utils = require(\"./array_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ArrayStore = _abstract_store.default.inherit({\r\n ctor: function(options) {\r\n if (Array.isArray(options)) {\r\n options = {\r\n data: options\r\n }\r\n } else {\r\n options = options || {}\r\n }\r\n this.callBase(options);\r\n var initialArray = options.data;\r\n if (initialArray && !Array.isArray(initialArray)) {\r\n throw _errors.default.errors.Error(\"E4006\")\r\n }\r\n this._array = initialArray || []\r\n },\r\n createQuery: function() {\r\n return (0, _query.default)(this._array, {\r\n errorHandler: this._errorHandler\r\n })\r\n },\r\n _byKeyImpl: function(key) {\r\n var index = (0, _array_utils.indexByKey)(this, this._array, key);\r\n if (index === -1) {\r\n return _utils.default.rejectedPromise(_errors.default.errors.Error(\"E4009\"))\r\n }\r\n return _utils.default.trivialPromise(this._array[index])\r\n },\r\n _insertImpl: function(values) {\r\n return (0, _array_utils.insert)(this, this._array, values)\r\n },\r\n _pushImpl: function(changes) {\r\n (0, _array_utils.applyBatch)({\r\n keyInfo: this,\r\n data: this._array,\r\n changes: changes\r\n })\r\n },\r\n _updateImpl: function(key, values) {\r\n return (0, _array_utils.update)(this, this._array, key, values)\r\n },\r\n _removeImpl: function(key) {\r\n return (0, _array_utils.remove)(this, this._array, key)\r\n },\r\n clear: function() {\r\n this._eventsStrategy.fireEvent(\"modifying\");\r\n this._array = [];\r\n this._eventsStrategy.fireEvent(\"modified\")\r\n }\r\n}, \"array\");\r\nvar _default = ArrayStore;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/view_port.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.changeCallback = void 0;\r\nexports.originalViewPort = originalViewPort;\r\nexports.value = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"./ready_callbacks\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ready = _ready_callbacks.default.add;\r\nvar changeCallback = (0, _callbacks.default)();\r\nexports.changeCallback = changeCallback;\r\nvar $originalViewPort = (0, _renderer.default)();\r\nvar value = function() {\r\n var $current;\r\n return function(element) {\r\n if (!arguments.length) {\r\n return $current\r\n }\r\n var $element = (0, _renderer.default)(element);\r\n $originalViewPort = $element;\r\n var isNewViewportFound = !!$element.length;\r\n var prevViewPort = value();\r\n $current = isNewViewportFound ? $element : (0, _renderer.default)(\"body\");\r\n changeCallback.fire(isNewViewportFound ? value() : (0, _renderer.default)(), prevViewPort)\r\n }\r\n}();\r\nexports.value = value;\r\nready(function() {\r\n value(\".dx-viewport\")\r\n});\r\n\r\nfunction originalViewPort() {\r\n return $originalViewPort\r\n}\r\n","/**\r\n * DevExtreme (core/utils/style.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.stylePropPrefix = exports.styleProp = exports.setWidth = exports.setHeight = exports.normalizeStyleProp = void 0;\r\nvar _inflector = require(\"./inflector\");\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\nvar _type = require(\"./type\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar jsPrefixes = [\"\", \"Webkit\", \"Moz\", \"O\", \"Ms\"];\r\nvar cssPrefixes = {\r\n \"\": \"\",\r\n Webkit: \"-webkit-\",\r\n Moz: \"-moz-\",\r\n O: \"-o-\",\r\n ms: \"-ms-\"\r\n};\r\nvar getStyles = (0, _call_once.default)(function() {\r\n return _dom_adapter.default.createElement(\"dx\").style\r\n});\r\nvar forEachPrefixes = function(prop, callBack) {\r\n prop = (0, _inflector.camelize)(prop, true);\r\n var result;\r\n for (var i = 0, cssPrefixesCount = jsPrefixes.length; i < cssPrefixesCount; i++) {\r\n var jsPrefix = jsPrefixes[i];\r\n var prefixedProp = jsPrefix + prop;\r\n var lowerPrefixedProp = (0, _inflector.camelize)(prefixedProp);\r\n result = callBack(lowerPrefixedProp, jsPrefix);\r\n if (void 0 === result) {\r\n result = callBack(prefixedProp, jsPrefix)\r\n }\r\n if (void 0 !== result) {\r\n break\r\n }\r\n }\r\n return result || \"\"\r\n};\r\nvar styleProp = function(name) {\r\n if (name in getStyles()) {\r\n return name\r\n }\r\n var originalName = name;\r\n name = name.charAt(0).toUpperCase() + name.substr(1);\r\n for (var i = 1; i < jsPrefixes.length; i++) {\r\n var prefixedProp = jsPrefixes[i].toLowerCase() + name;\r\n if (prefixedProp in getStyles()) {\r\n return prefixedProp\r\n }\r\n }\r\n return originalName\r\n};\r\nexports.styleProp = styleProp;\r\nvar stylePropPrefix = function(prop) {\r\n return forEachPrefixes(prop, function(specific, jsPrefix) {\r\n if (specific in getStyles()) {\r\n return cssPrefixes[jsPrefix]\r\n }\r\n })\r\n};\r\nexports.stylePropPrefix = stylePropPrefix;\r\nvar pxExceptions = [\"fillOpacity\", \"columnCount\", \"flexGrow\", \"flexShrink\", \"fontWeight\", \"lineHeight\", \"opacity\", \"zIndex\", \"zoom\"];\r\nvar normalizeStyleProp = function(prop, value) {\r\n if ((0, _type.isNumeric)(value) && pxExceptions.indexOf(prop) === -1) {\r\n value += \"px\"\r\n }\r\n return value\r\n};\r\nexports.normalizeStyleProp = normalizeStyleProp;\r\nvar setDimensionProperty = function(elements, propertyName, value) {\r\n if (elements) {\r\n value = (0, _type.isNumeric)(value) ? value += \"px\" : value;\r\n for (var i = 0; i < elements.length; ++i) {\r\n elements[i].style[propertyName] = value\r\n }\r\n }\r\n};\r\nvar setWidth = function(elements, value) {\r\n setDimensionProperty(elements, \"width\", value)\r\n};\r\nexports.setWidth = setWidth;\r\nvar setHeight = function(elements, value) {\r\n setDimensionProperty(elements, \"height\", value)\r\n};\r\nexports.setHeight = setHeight;\r\n","/**\r\n * DevExtreme (data/array_utils.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.applyBatch = applyBatch;\r\nexports.applyChanges = applyChanges;\r\nexports.createObjectWithChanges = createObjectWithChanges;\r\nexports.indexByKey = indexByKey;\r\nexports.insert = insert;\r\nexports.remove = remove;\r\nexports.update = update;\r\nvar _type = require(\"../core/utils/type\");\r\nvar _config = _interopRequireDefault(require(\"../core/config\"));\r\nvar _guid = _interopRequireDefault(require(\"../core/guid\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _object = require(\"../core/utils/object\");\r\nvar _data = require(\"../core/utils/data\");\r\nvar _utils = _interopRequireDefault(require(\"./utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction hasKey(target, keyOrKeys) {\r\n var key;\r\n var keys = \"string\" === typeof keyOrKeys ? keyOrKeys.split() : keyOrKeys.slice();\r\n while (keys.length) {\r\n key = keys.shift();\r\n if (key in target) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction findItems(keyInfo, items, key, groupCount) {\r\n var childItems;\r\n var result;\r\n if (groupCount) {\r\n for (var i = 0; i < items.length; i++) {\r\n childItems = items[i].items || items[i].collapsedItems || [];\r\n result = findItems(keyInfo, childItems || [], key, groupCount - 1);\r\n if (result) {\r\n return result\r\n }\r\n }\r\n } else {\r\n if (indexByKey(keyInfo, items, key) >= 0) {\r\n return items\r\n }\r\n }\r\n}\r\n\r\nfunction getItems(keyInfo, items, key, groupCount) {\r\n if (groupCount) {\r\n return findItems(keyInfo, items, key, groupCount) || []\r\n }\r\n return items\r\n}\r\n\r\nfunction generateDataByKeyMap(keyInfo, array) {\r\n if (keyInfo.key() && (!array._dataByKeyMap || array._dataByKeyMapLength !== array.length)) {\r\n var dataByKeyMap = {};\r\n var arrayLength = array.length;\r\n for (var i = 0; i < arrayLength; i++) {\r\n dataByKeyMap[JSON.stringify(keyInfo.keyOf(array[i]))] = array[i]\r\n }\r\n array._dataByKeyMap = dataByKeyMap;\r\n array._dataByKeyMapLength = arrayLength\r\n }\r\n}\r\n\r\nfunction getCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n}\r\n\r\nfunction getHasKeyCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n return true\r\n}\r\n\r\nfunction setDataByKeyMapValue(array, key, data) {\r\n if (array._dataByKeyMap) {\r\n array._dataByKeyMap[JSON.stringify(key)] = data;\r\n array._dataByKeyMapLength += data ? 1 : -1\r\n }\r\n}\r\n\r\nfunction cloneInstance(instance) {\r\n var result = instance ? Object.create(Object.getPrototypeOf(instance)) : {};\r\n var instanceWithoutPrototype = (0, _extend.extendFromObject)({}, instance);\r\n for (var name in instanceWithoutPrototype) {\r\n var prop = instanceWithoutPrototype[name];\r\n if ((0, _type.isObject)(prop) && !(0, _type.isPlainObject)(prop)) {\r\n instanceWithoutPrototype[name] = cloneInstance(prop)\r\n }\r\n }(0, _object.deepExtendArraySafe)(result, instanceWithoutPrototype, true, true);\r\n return result\r\n}\r\n\r\nfunction createObjectWithChanges(target, changes) {\r\n var result = cloneInstance(target);\r\n return (0, _object.deepExtendArraySafe)(result, changes, true, true)\r\n}\r\n\r\nfunction applyBatch(_ref) {\r\n var keyInfo = _ref.keyInfo,\r\n data = _ref.data,\r\n changes = _ref.changes,\r\n groupCount = _ref.groupCount,\r\n useInsertIndex = _ref.useInsertIndex,\r\n immutable = _ref.immutable,\r\n disableCache = _ref.disableCache,\r\n logError = _ref.logError;\r\n var resultItems = true === immutable ? _toConsumableArray(data) : data;\r\n changes.forEach(function(item) {\r\n var items = \"insert\" === item.type ? resultItems : getItems(keyInfo, resultItems, item.key, groupCount);\r\n !disableCache && generateDataByKeyMap(keyInfo, items);\r\n switch (item.type) {\r\n case \"update\":\r\n update(keyInfo, items, item.key, item.data, true, immutable, logError);\r\n break;\r\n case \"insert\":\r\n insert(keyInfo, items, item.data, useInsertIndex && (0, _type.isDefined)(item.index) ? item.index : -1, true, logError);\r\n break;\r\n case \"remove\":\r\n remove(keyInfo, items, item.key, true, logError)\r\n }\r\n });\r\n return resultItems\r\n}\r\n\r\nfunction getErrorResult(isBatch, logError, errorCode) {\r\n return !isBatch ? _utils.default.rejectedPromise(_errors.default.errors.Error(errorCode)) : logError && _errors.default.errors.log(errorCode)\r\n}\r\n\r\nfunction applyChanges(data, changes) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var _options$keyExpr = options.keyExpr,\r\n keyExpr = void 0 === _options$keyExpr ? \"id\" : _options$keyExpr,\r\n _options$immutable = options.immutable,\r\n immutable = void 0 === _options$immutable ? true : _options$immutable;\r\n var keyGetter = (0, _data.compileGetter)(keyExpr);\r\n var keyInfo = {\r\n key: function() {\r\n return keyExpr\r\n },\r\n keyOf: function(obj) {\r\n return keyGetter(obj)\r\n }\r\n };\r\n return applyBatch({\r\n keyInfo: keyInfo,\r\n data: data,\r\n changes: changes,\r\n immutable: immutable,\r\n disableCache: true,\r\n logError: true\r\n })\r\n}\r\n\r\nfunction update(keyInfo, array, key, data, isBatch, immutable, logError) {\r\n var target;\r\n var extendComplexObject = true;\r\n var keyExpr = keyInfo.key();\r\n if (keyExpr) {\r\n if (hasKey(data, keyExpr) && !_utils.default.keysEqual(keyExpr, key, keyInfo.keyOf(data))) {\r\n return getErrorResult(isBatch, logError, \"E4017\")\r\n }\r\n target = getCacheValue(array, key);\r\n if (!target) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n target = array[index];\r\n if (true === immutable && (0, _type.isDefined)(target)) {\r\n var newTarget = createObjectWithChanges(target, data);\r\n array[index] = newTarget;\r\n return !isBatch && _utils.default.trivialPromise(newTarget, key)\r\n }\r\n }\r\n } else {\r\n target = key\r\n }(0, _object.deepExtendArraySafe)(target, data, extendComplexObject);\r\n if (!isBatch) {\r\n if ((0, _config.default)().useLegacyStoreResult) {\r\n return _utils.default.trivialPromise(key, data)\r\n } else {\r\n return _utils.default.trivialPromise(target, key)\r\n }\r\n }\r\n}\r\n\r\nfunction insert(keyInfo, array, data, index, isBatch, logError) {\r\n var keyValue;\r\n var keyExpr = keyInfo.key();\r\n var obj = (0, _type.isPlainObject)(data) ? (0, _extend.extend)({}, data) : data;\r\n if (keyExpr) {\r\n keyValue = keyInfo.keyOf(obj);\r\n if (void 0 === keyValue || \"object\" === _typeof(keyValue) && (0, _type.isEmptyObject)(keyValue)) {\r\n if (Array.isArray(keyExpr)) {\r\n throw _errors.default.errors.Error(\"E4007\")\r\n }\r\n keyValue = obj[keyExpr] = String(new _guid.default)\r\n } else {\r\n if (void 0 !== array[indexByKey(keyInfo, array, keyValue)]) {\r\n return getErrorResult(isBatch, logError, \"E4008\")\r\n }\r\n }\r\n } else {\r\n keyValue = obj\r\n }\r\n if (index >= 0) {\r\n array.splice(index, 0, obj)\r\n } else {\r\n array.push(obj)\r\n }\r\n setDataByKeyMapValue(array, keyValue, obj);\r\n if (!isBatch) {\r\n return _utils.default.trivialPromise((0, _config.default)().useLegacyStoreResult ? data : obj, keyValue)\r\n }\r\n}\r\n\r\nfunction remove(keyInfo, array, key, isBatch, logError) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index > -1) {\r\n array.splice(index, 1);\r\n setDataByKeyMapValue(array, key, null)\r\n }\r\n if (!isBatch) {\r\n return _utils.default.trivialPromise(key)\r\n } else {\r\n if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n }\r\n}\r\n\r\nfunction indexByKey(keyInfo, array, key) {\r\n var keyExpr = keyInfo.key();\r\n if (!getHasKeyCacheValue(array, key)) {\r\n return -1\r\n }\r\n for (var i = 0, arrayLength = array.length; i < arrayLength; i++) {\r\n if (_utils.default.keysEqual(keyExpr, keyInfo.keyOf(array[i]), key)) {\r\n return i\r\n }\r\n }\r\n return -1\r\n}\r\n","/**\r\n * DevExtreme (core/utils/common.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.splitPair = exports.pairToObject = exports.normalizeKey = exports.noop = exports.grep = exports.getKeyHash = exports.findBestMatches = exports.executeAsync = exports.escapeRegExp = exports.equalByValue = exports.ensureDefined = exports.denormalizeKey = exports.deferUpdater = exports.deferUpdate = exports.deferRenderer = exports.deferRender = exports.asyncNoop = exports.applyServerDecimalSeparator = void 0;\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\nvar _guid = _interopRequireDefault(require(\"../guid\"));\r\nvar _deferred = require(\"../utils/deferred\");\r\nvar _data = require(\"./data\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _type = require(\"./type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ensureDefined = function(value, defaultValue) {\r\n return (0, _type.isDefined)(value) ? value : defaultValue\r\n};\r\nexports.ensureDefined = ensureDefined;\r\nvar executeAsync = function(action, context) {\r\n var deferred = new _deferred.Deferred;\r\n var normalizedContext = context || this;\r\n var task = {\r\n promise: deferred.promise(),\r\n abort: function() {\r\n clearTimeout(timerId);\r\n deferred.rejectWith(normalizedContext)\r\n }\r\n };\r\n var callback = function() {\r\n var result = action.call(normalizedContext);\r\n if (result && result.done && (0, _type.isFunction)(result.done)) {\r\n result.done(function() {\r\n deferred.resolveWith(normalizedContext)\r\n })\r\n } else {\r\n deferred.resolveWith(normalizedContext)\r\n }\r\n };\r\n var timerId = (arguments[2] || setTimeout)(callback, \"number\" === typeof context ? context : 0);\r\n return task\r\n};\r\nexports.executeAsync = executeAsync;\r\nvar delayedFuncs = [];\r\nvar delayedNames = [];\r\nvar delayedDeferreds = [];\r\nvar executingName;\r\nvar deferExecute = function(name, func, deferred) {\r\n if (executingName && executingName !== name) {\r\n delayedFuncs.push(func);\r\n delayedNames.push(name);\r\n deferred = deferred || new _deferred.Deferred;\r\n delayedDeferreds.push(deferred);\r\n return deferred\r\n } else {\r\n var oldExecutingName = executingName;\r\n var currentDelayedCount = delayedDeferreds.length;\r\n executingName = name;\r\n var result = func();\r\n if (!result) {\r\n if (delayedDeferreds.length > currentDelayedCount) {\r\n result = _deferred.when.apply(this, delayedDeferreds.slice(currentDelayedCount))\r\n } else {\r\n if (deferred) {\r\n deferred.resolve()\r\n }\r\n }\r\n }\r\n executingName = oldExecutingName;\r\n if (deferred && result && result.done) {\r\n result.done(deferred.resolve).fail(deferred.reject)\r\n }\r\n if (!executingName && delayedFuncs.length) {\r\n (\"render\" === delayedNames.shift() ? deferRender : deferUpdate)(delayedFuncs.shift(), delayedDeferreds.shift())\r\n }\r\n return result || (0, _deferred.when)()\r\n }\r\n};\r\nvar deferRender = function(func, deferred) {\r\n return deferExecute(\"render\", func, deferred)\r\n};\r\nexports.deferRender = deferRender;\r\nvar deferUpdate = function(func, deferred) {\r\n return deferExecute(\"update\", func, deferred)\r\n};\r\nexports.deferUpdate = deferUpdate;\r\nvar deferRenderer = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"render\", function() {\r\n return func.call(that)\r\n })\r\n }\r\n};\r\nexports.deferRenderer = deferRenderer;\r\nvar deferUpdater = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"update\", function() {\r\n return func.call(that)\r\n })\r\n }\r\n};\r\nexports.deferUpdater = deferUpdater;\r\nvar findBestMatches = function(targetFilter, items, mapFn) {\r\n var bestMatches = [];\r\n var maxMatchCount = 0;\r\n (0, _iterator.each)(items, function(index, itemSrc) {\r\n var matchCount = 0;\r\n var item = mapFn ? mapFn(itemSrc) : itemSrc;\r\n (0, _iterator.each)(targetFilter, function(paramName, targetValue) {\r\n var value = item[paramName];\r\n if (void 0 === value) {\r\n return\r\n }\r\n if (match(value, targetValue)) {\r\n matchCount++;\r\n return\r\n }\r\n matchCount = -1;\r\n return false\r\n });\r\n if (matchCount < maxMatchCount) {\r\n return\r\n }\r\n if (matchCount > maxMatchCount) {\r\n bestMatches.length = 0;\r\n maxMatchCount = matchCount\r\n }\r\n bestMatches.push(itemSrc)\r\n });\r\n return bestMatches\r\n};\r\nexports.findBestMatches = findBestMatches;\r\nvar match = function(value, targetValue) {\r\n if (Array.isArray(value) && Array.isArray(targetValue)) {\r\n var mismatch = false;\r\n (0, _iterator.each)(value, function(index, valueItem) {\r\n if (valueItem !== targetValue[index]) {\r\n mismatch = true;\r\n return false\r\n }\r\n });\r\n if (mismatch) {\r\n return false\r\n }\r\n return true\r\n }\r\n if (value === targetValue) {\r\n return true\r\n }\r\n return false\r\n};\r\nvar splitPair = function(raw) {\r\n var _raw$x, _raw$y;\r\n switch ((0, _type.type)(raw)) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 2);\r\n case \"object\":\r\n return [null !== (_raw$x = raw.x) && void 0 !== _raw$x ? _raw$x : raw.h, null !== (_raw$y = raw.y) && void 0 !== _raw$y ? _raw$y : raw.v];\r\n case \"number\":\r\n return [raw];\r\n case \"array\":\r\n return raw;\r\n default:\r\n return null\r\n }\r\n};\r\nexports.splitPair = splitPair;\r\nvar normalizeKey = function(id) {\r\n var key = (0, _type.isString)(id) ? id : id.toString();\r\n var arr = key.match(/[^a-zA-Z0-9_]/g);\r\n arr && (0, _iterator.each)(arr, function(_, sign) {\r\n key = key.replace(sign, \"__\" + sign.charCodeAt() + \"__\")\r\n });\r\n return key\r\n};\r\nexports.normalizeKey = normalizeKey;\r\nvar denormalizeKey = function(key) {\r\n var arr = key.match(/__\\d+__/g);\r\n arr && arr.forEach(function(char) {\r\n var charCode = parseInt(char.replace(\"__\", \"\"));\r\n key = key.replace(char, String.fromCharCode(charCode))\r\n });\r\n return key\r\n};\r\nexports.denormalizeKey = denormalizeKey;\r\nvar pairToObject = function(raw, preventRound) {\r\n var pair = splitPair(raw);\r\n var h = preventRound ? parseFloat(pair && pair[0]) : parseInt(pair && pair[0], 10);\r\n var v = preventRound ? parseFloat(pair && pair[1]) : parseInt(pair && pair[1], 10);\r\n if (!isFinite(h)) {\r\n h = 0\r\n }\r\n if (!isFinite(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nexports.pairToObject = pairToObject;\r\nvar getKeyHash = function(key) {\r\n if (key instanceof _guid.default) {\r\n return key.toString()\r\n } else {\r\n if ((0, _type.isObject)(key) || Array.isArray(key)) {\r\n try {\r\n var keyHash = JSON.stringify(key);\r\n return \"{}\" === keyHash ? key : keyHash\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n }\r\n return key\r\n};\r\nexports.getKeyHash = getKeyHash;\r\nvar escapeRegExp = function(string) {\r\n return string.replace(/[[\\]{}\\-()*+?.\\\\^$|\\s]/g, \"\\\\$&\")\r\n};\r\nexports.escapeRegExp = escapeRegExp;\r\nvar applyServerDecimalSeparator = function(value) {\r\n var separator = (0, _config.default)().serverDecimalSeparator;\r\n if ((0, _type.isDefined)(value)) {\r\n value = value.toString().replace(\".\", separator)\r\n }\r\n return value\r\n};\r\nexports.applyServerDecimalSeparator = applyServerDecimalSeparator;\r\nvar noop = function() {};\r\nexports.noop = noop;\r\nvar asyncNoop = function() {\r\n return (new _deferred.Deferred).resolve().promise()\r\n};\r\nexports.asyncNoop = asyncNoop;\r\nvar grep = function(elements, checkFunction, invert) {\r\n var result = [];\r\n var check;\r\n var expectedCheck = !invert;\r\n for (var i = 0; i < elements.length; i++) {\r\n check = !!checkFunction(elements[i], i);\r\n if (check === expectedCheck) {\r\n result.push(elements[i])\r\n }\r\n }\r\n return result\r\n};\r\nexports.grep = grep;\r\nvar arraysEqualByValue = function(array1, array2, depth) {\r\n if (array1.length !== array2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < array1.length; i++) {\r\n if (!equalByValue(array1[i], array2[i], depth + 1)) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nvar objectsEqualByValue = function(object1, object2, depth, strict) {\r\n for (var propertyName in object1) {\r\n if (Object.prototype.hasOwnProperty.call(object1, propertyName) && !equalByValue(object1[propertyName], object2[propertyName], depth + 1, strict)) {\r\n return false\r\n }\r\n }\r\n for (var _propertyName in object2) {\r\n if (!(_propertyName in object1)) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nvar maxEqualityDepth = 3;\r\nvar equalByValue = function(object1, object2) {\r\n var depth = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0;\r\n var strict = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : true;\r\n object1 = (0, _data.toComparable)(object1, true);\r\n object2 = (0, _data.toComparable)(object2, true);\r\n var comparisonResult = strict ? object1 === object2 : object1 == object2;\r\n if (comparisonResult || depth >= maxEqualityDepth) {\r\n return true\r\n }\r\n if ((0, _type.isObject)(object1) && (0, _type.isObject)(object2)) {\r\n return objectsEqualByValue(object1, object2, depth, strict)\r\n } else {\r\n if (Array.isArray(object1) && Array.isArray(object2)) {\r\n return arraysEqualByValue(object1, object2, depth)\r\n }\r\n }\r\n return false\r\n};\r\nexports.equalByValue = equalByValue;\r\n","/**\r\n * DevExtreme (core/utils/iterator.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.reverseEach = exports.map = exports.each = void 0;\r\nvar map = function(values, callback) {\r\n if (Array.isArray(values)) {\r\n return values.map(callback)\r\n }\r\n var result = [];\r\n for (var key in values) {\r\n result.push(callback(values[key], key))\r\n }\r\n return result\r\n};\r\nexports.map = map;\r\nvar each = function(values, callback) {\r\n if (!values) {\r\n return\r\n }\r\n if (\"length\" in values) {\r\n for (var i = 0; i < values.length; i++) {\r\n if (false === callback.call(values[i], i, values[i])) {\r\n break\r\n }\r\n }\r\n } else {\r\n for (var key in values) {\r\n if (false === callback.call(values[key], key, values[key])) {\r\n break\r\n }\r\n }\r\n }\r\n return values\r\n};\r\nexports.each = each;\r\nvar reverseEach = function(array, callback) {\r\n if (!array || !(\"length\" in array) || 0 === array.length) {\r\n return\r\n }\r\n for (var i = array.length - 1; i >= 0; i--) {\r\n if (false === callback.call(array[i], i, array[i])) {\r\n break\r\n }\r\n }\r\n};\r\nexports.reverseEach = reverseEach;\r\n","/**\r\n * DevExtreme (core/utils/console.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.logger = exports.debug = void 0;\r\nvar _type = require(\"./type\");\r\nvar noop = function() {};\r\nvar getConsoleMethod = function(method) {\r\n if (\"undefined\" === typeof console || !(0, _type.isFunction)(console[method])) {\r\n return noop\r\n }\r\n return console[method].bind(console)\r\n};\r\nvar logger = {\r\n info: getConsoleMethod(\"info\"),\r\n warn: getConsoleMethod(\"warn\"),\r\n error: getConsoleMethod(\"error\")\r\n};\r\nexports.logger = logger;\r\nvar debug = function() {\r\n function assert(condition, message) {\r\n if (!condition) {\r\n throw new Error(message)\r\n }\r\n }\r\n\r\n function assertParam(parameter, message) {\r\n assert(null !== parameter && void 0 !== parameter, message)\r\n }\r\n return {\r\n assert: assert,\r\n assertParam: assertParam\r\n }\r\n}();\r\nexports.debug = debug;\r\n","/**\r\n * DevExtreme (core/utils/variable_wrapper.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _console = require(\"./console\");\r\nvar _dependency_injector = _interopRequireDefault(require(\"./dependency_injector\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _default = (0, _dependency_injector.default)({\r\n isWrapped: function() {\r\n return false\r\n },\r\n isWritableWrapped: function() {\r\n return false\r\n },\r\n wrap: function(value) {\r\n return value\r\n },\r\n unwrap: function(value) {\r\n return value\r\n },\r\n assign: function() {\r\n _console.logger.error(\"Method 'assign' should not be used for not wrapped variables. Use 'isWrapped' method for ensuring.\")\r\n }\r\n});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (data/store_helper.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"../core/utils/common\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _array_query = _interopRequireDefault(require(\"./array_query\"));\r\nvar _utils = _interopRequireDefault(require(\"./utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction multiLevelGroup(query, groupInfo) {\r\n query = query.groupBy(groupInfo[0].selector);\r\n if (groupInfo.length > 1) {\r\n query = query.select(function(g) {\r\n return (0, _extend.extend)({}, g, {\r\n items: multiLevelGroup((0, _array_query.default)(g.items), groupInfo.slice(1)).toArray()\r\n })\r\n })\r\n }\r\n return query\r\n}\r\n\r\nfunction arrangeSortingInfo(groupInfo, sortInfo) {\r\n var filteredGroup = [];\r\n (0, _iterator.each)(groupInfo, function(_, group) {\r\n var collision = (0, _common.grep)(sortInfo, function(sort) {\r\n return group.selector === sort.selector\r\n });\r\n if (collision.length < 1) {\r\n filteredGroup.push(group)\r\n }\r\n });\r\n return filteredGroup.concat(sortInfo)\r\n}\r\n\r\nfunction queryByOptions(query, options, isCountQuery) {\r\n options = options || {};\r\n var filter = options.filter;\r\n if (filter) {\r\n query = query.filter(filter)\r\n }\r\n if (isCountQuery) {\r\n return query\r\n }\r\n var sort = options.sort;\r\n var select = options.select;\r\n var group = options.group;\r\n var skip = options.skip;\r\n var take = options.take;\r\n if (group) {\r\n group = _utils.default.normalizeSortingInfo(group);\r\n group.keepInitialKeyOrder = !!options.group.keepInitialKeyOrder\r\n }\r\n if (sort || group) {\r\n sort = _utils.default.normalizeSortingInfo(sort || []);\r\n if (group && !group.keepInitialKeyOrder) {\r\n sort = arrangeSortingInfo(group, sort)\r\n }(0, _iterator.each)(sort, function(index) {\r\n query = query[index ? \"thenBy\" : \"sortBy\"](this.selector, this.desc, this.compare)\r\n })\r\n }\r\n if (select) {\r\n query = query.select(select)\r\n }\r\n if (group) {\r\n query = multiLevelGroup(query, group)\r\n }\r\n if (take || skip) {\r\n query = query.slice(skip || 0, take)\r\n }\r\n return query\r\n}\r\nvar _default = {\r\n multiLevelGroup: multiLevelGroup,\r\n arrangeSortingInfo: arrangeSortingInfo,\r\n queryByOptions: queryByOptions\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/ajax.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _deferred = require(\"./deferred\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _http_request = _interopRequireDefault(require(\"../../core/http_request\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _extend = require(\"./extend\");\r\nvar _type = require(\"./type\");\r\nvar _promise = _interopRequireDefault(require(\"../polyfills/promise\"));\r\nvar _dependency_injector = _interopRequireDefault(require(\"./dependency_injector\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar SUCCESS = \"success\";\r\nvar ERROR = \"error\";\r\nvar TIMEOUT = \"timeout\";\r\nvar NO_CONTENT = \"nocontent\";\r\nvar PARSER_ERROR = \"parsererror\";\r\nvar isStatusSuccess = function(status) {\r\n return 200 <= status && status < 300\r\n};\r\nvar hasContent = function(status) {\r\n return 204 !== status\r\n};\r\nvar paramsConvert = function(params) {\r\n var result = [];\r\n for (var name in params) {\r\n var value = params[name];\r\n if (void 0 === value) {\r\n continue\r\n }\r\n if (null === value) {\r\n value = \"\"\r\n }\r\n if (\"function\" === typeof value) {\r\n value = value()\r\n }\r\n result.push(encodeURIComponent(name) + \"=\" + encodeURIComponent(value))\r\n }\r\n return result.join(\"&\")\r\n};\r\nvar createScript = function(options) {\r\n var script = _dom_adapter.default.createElement(\"script\");\r\n for (var name in options) {\r\n script[name] = options[name]\r\n }\r\n return script\r\n};\r\nvar removeScript = function(scriptNode) {\r\n scriptNode.parentNode.removeChild(scriptNode)\r\n};\r\nvar appendToHead = function(element) {\r\n return _dom_adapter.default.getHead().appendChild(element)\r\n};\r\nvar evalScript = function(code) {\r\n var script = createScript({\r\n text: code\r\n });\r\n appendToHead(script);\r\n removeScript(script)\r\n};\r\nvar evalCrossDomainScript = function(url) {\r\n var script = createScript({\r\n src: url\r\n });\r\n return new _promise.default(function(resolve, reject) {\r\n var events = {\r\n load: resolve,\r\n error: reject\r\n };\r\n var loadHandler = function(e) {\r\n events[e.type]();\r\n removeScript(script)\r\n };\r\n for (var event in events) {\r\n _dom_adapter.default.listen(script, event, loadHandler)\r\n }\r\n appendToHead(script)\r\n })\r\n};\r\nvar getAcceptHeader = function(options) {\r\n var dataType = options.dataType || \"*\";\r\n var scriptAccept = \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\";\r\n var accepts = {\r\n \"*\": \"*/*\",\r\n text: \"text/plain\",\r\n html: \"text/html\",\r\n xml: \"application/xml, text/xml\",\r\n json: \"application/json, text/javascript\",\r\n jsonp: scriptAccept,\r\n script: scriptAccept\r\n };\r\n (0, _extend.extendFromObject)(accepts, options.accepts, true);\r\n return accepts[dataType] ? accepts[dataType] + (\"*\" !== dataType ? \", */*; q=0.01\" : \"\") : accepts[\"*\"]\r\n};\r\nvar getContentTypeHeader = function(options) {\r\n var defaultContentType;\r\n if (options.data && !options.upload && \"GET\" !== getMethod(options)) {\r\n defaultContentType = \"application/x-www-form-urlencoded;charset=utf-8\"\r\n }\r\n return options.contentType || defaultContentType\r\n};\r\nvar getDataFromResponse = function(xhr) {\r\n return xhr.responseType && \"text\" !== xhr.responseType || \"string\" !== typeof xhr.responseText ? xhr.response : xhr.responseText\r\n};\r\nvar postProcess = function(deferred, xhr, dataType) {\r\n var data = getDataFromResponse(xhr);\r\n switch (dataType) {\r\n case \"jsonp\":\r\n evalScript(data);\r\n break;\r\n case \"script\":\r\n evalScript(data);\r\n deferred.resolve(data, SUCCESS, xhr);\r\n break;\r\n case \"json\":\r\n try {\r\n deferred.resolve(JSON.parse(data), SUCCESS, xhr)\r\n } catch (e) {\r\n deferred.reject(xhr, PARSER_ERROR, e)\r\n }\r\n break;\r\n default:\r\n deferred.resolve(data, SUCCESS, xhr)\r\n }\r\n};\r\nvar isCrossDomain = function(url) {\r\n if (!(0, _window.hasWindow)()) {\r\n return true\r\n }\r\n var crossDomain = false;\r\n var originAnchor = _dom_adapter.default.createElement(\"a\");\r\n var urlAnchor = _dom_adapter.default.createElement(\"a\");\r\n originAnchor.href = window.location.href;\r\n try {\r\n urlAnchor.href = url;\r\n urlAnchor.href = urlAnchor.href;\r\n crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !== urlAnchor.protocol + \"//\" + urlAnchor.host\r\n } catch (e) {\r\n crossDomain = true\r\n }\r\n return crossDomain\r\n};\r\nvar setHttpTimeout = function(timeout, xhr) {\r\n return timeout && setTimeout(function() {\r\n xhr.customStatus = TIMEOUT;\r\n xhr.abort()\r\n }, timeout)\r\n};\r\nvar getJsonpOptions = function(options) {\r\n if (\"jsonp\" === options.dataType) {\r\n var random = Math.random().toString().replace(/\\D/g, \"\");\r\n var callbackName = options.jsonpCallback || \"dxCallback\" + Date.now() + \"_\" + random;\r\n var callbackParameter = options.jsonp || \"callback\";\r\n options.data = options.data || {};\r\n options.data[callbackParameter] = callbackName;\r\n return callbackName\r\n }\r\n};\r\nvar getRequestOptions = function(options, headers) {\r\n var params = options.data;\r\n var paramsAlreadyString = \"string\" === typeof params;\r\n var url = options.url || window.location.href;\r\n if (!paramsAlreadyString && !options.cache) {\r\n params = params || {};\r\n params._ = Date.now()\r\n }\r\n if (params && !options.upload) {\r\n if (!paramsAlreadyString) {\r\n params = paramsConvert(params)\r\n }\r\n if (\"GET\" === getMethod(options)) {\r\n if (\"\" !== params) {\r\n url += (url.indexOf(\"?\") > -1 ? \"&\" : \"?\") + params\r\n }\r\n params = null\r\n } else {\r\n if (headers[\"Content-Type\"] && headers[\"Content-Type\"].indexOf(\"application/x-www-form-urlencoded\") > -1) {\r\n params = params.replace(/%20/g, \"+\")\r\n }\r\n }\r\n }\r\n return {\r\n url: url,\r\n parameters: params\r\n }\r\n};\r\n\r\nfunction getMethod(options) {\r\n return (options.method || \"GET\").toUpperCase()\r\n}\r\nvar getRequestHeaders = function(options) {\r\n var headers = options.headers || {};\r\n headers[\"Content-Type\"] = headers[\"Content-Type\"] || getContentTypeHeader(options);\r\n headers.Accept = headers.Accept || getAcceptHeader(options);\r\n if (!options.crossDomain && !headers[\"X-Requested-With\"]) {\r\n headers[\"X-Requested-With\"] = \"XMLHttpRequest\"\r\n }\r\n return headers\r\n};\r\nvar sendRequest = function(options) {\r\n var xhr = _http_request.default.getXhr();\r\n var d = new _deferred.Deferred;\r\n var result = d.promise();\r\n var async = (0, _type.isDefined)(options.async) ? options.async : true;\r\n var dataType = options.dataType;\r\n var timeout = options.timeout || 0;\r\n var timeoutId;\r\n options.crossDomain = isCrossDomain(options.url);\r\n var needScriptEvaluation = \"jsonp\" === dataType || \"script\" === dataType;\r\n if (void 0 === options.cache) {\r\n options.cache = !needScriptEvaluation\r\n }\r\n var callbackName = getJsonpOptions(options);\r\n var headers = getRequestHeaders(options);\r\n var requestOptions = getRequestOptions(options, headers);\r\n var url = requestOptions.url;\r\n var parameters = requestOptions.parameters;\r\n if (callbackName) {\r\n window[callbackName] = function(data) {\r\n d.resolve(data, SUCCESS, xhr)\r\n }\r\n }\r\n if (options.crossDomain && needScriptEvaluation) {\r\n var reject = function() {\r\n d.reject(xhr, ERROR)\r\n };\r\n var resolve = function() {\r\n if (\"jsonp\" === dataType) {\r\n return\r\n }\r\n d.resolve(null, SUCCESS, xhr)\r\n };\r\n evalCrossDomainScript(url).then(resolve, reject);\r\n return result\r\n }\r\n if (options.crossDomain && !(\"withCredentials\" in xhr)) {\r\n d.reject(xhr, ERROR);\r\n return result\r\n }\r\n xhr.open(getMethod(options), url, async, options.username, options.password);\r\n if (async) {\r\n xhr.timeout = timeout;\r\n timeoutId = setHttpTimeout(timeout, xhr, d)\r\n }\r\n xhr.onreadystatechange = function(e) {\r\n if (4 === xhr.readyState) {\r\n clearTimeout(timeoutId);\r\n if (isStatusSuccess(xhr.status)) {\r\n if (hasContent(xhr.status)) {\r\n postProcess(d, xhr, dataType)\r\n } else {\r\n d.resolve(null, NO_CONTENT, xhr)\r\n }\r\n } else {\r\n d.reject(xhr, xhr.customStatus || ERROR)\r\n }\r\n }\r\n };\r\n if (options.upload) {\r\n xhr.upload.onprogress = options.upload.onprogress;\r\n xhr.upload.onloadstart = options.upload.onloadstart;\r\n xhr.upload.onabort = options.upload.onabort\r\n }\r\n if (options.xhrFields) {\r\n for (var field in options.xhrFields) {\r\n xhr[field] = options.xhrFields[field]\r\n }\r\n }\r\n if (\"arraybuffer\" === options.responseType) {\r\n xhr.responseType = options.responseType\r\n }\r\n for (var name in headers) {\r\n if (Object.prototype.hasOwnProperty.call(headers, name) && (0, _type.isDefined)(headers[name])) {\r\n xhr.setRequestHeader(name, headers[name])\r\n }\r\n }\r\n if (options.beforeSend) {\r\n options.beforeSend(xhr)\r\n }\r\n xhr.send(parameters);\r\n result.abort = function() {\r\n xhr.abort()\r\n };\r\n return result\r\n};\r\nvar _default = (0, _dependency_injector.default)({\r\n sendRequest: sendRequest\r\n});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/templates/function_template.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.FunctionTemplate = void 0;\r\nvar _template_base = require(\"./template_base\");\r\nvar _dom = require(\"../utils/dom\");\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar FunctionTemplate = function(_TemplateBase) {\r\n _inheritsLoose(FunctionTemplate, _TemplateBase);\r\n\r\n function FunctionTemplate(render) {\r\n var _this;\r\n _this = _TemplateBase.call(this) || this;\r\n _this._render = render;\r\n return _this\r\n }\r\n var _proto = FunctionTemplate.prototype;\r\n _proto._renderCore = function(options) {\r\n return (0, _dom.normalizeTemplateElement)(this._render(options))\r\n };\r\n return FunctionTemplate\r\n}(_template_base.TemplateBase);\r\nexports.FunctionTemplate = FunctionTemplate;\r\n","/**\r\n * DevExtreme (core/events_strategy.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.EventsStrategy = void 0;\r\nvar _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\nvar _iterator = require(\"./utils/iterator\");\r\nvar _type = require(\"./utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar EventsStrategy = function() {\r\n function EventsStrategy(owner) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n this._events = {};\r\n this._owner = owner;\r\n this._options = options\r\n }\r\n EventsStrategy.create = function(owner, strategy) {\r\n if (strategy) {\r\n return (0, _type.isFunction)(strategy) ? strategy(owner) : strategy\r\n } else {\r\n return new EventsStrategy(owner)\r\n }\r\n };\r\n var _proto = EventsStrategy.prototype;\r\n _proto.hasEvent = function(eventName) {\r\n var callbacks = this._events[eventName];\r\n return callbacks ? callbacks.has() : false\r\n };\r\n _proto.fireEvent = function(eventName, eventArgs) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n callbacks.fireWith(this._owner, eventArgs)\r\n }\r\n return this._owner\r\n };\r\n _proto.on = function(eventName, eventHandler) {\r\n var _this = this;\r\n if ((0, _type.isPlainObject)(eventName)) {\r\n (0, _iterator.each)(eventName, function(e, h) {\r\n _this.on(e, h)\r\n })\r\n } else {\r\n var callbacks = this._events[eventName];\r\n if (!callbacks) {\r\n callbacks = (0, _callbacks.default)({\r\n syncStrategy: this._options.syncStrategy\r\n });\r\n this._events[eventName] = callbacks\r\n }\r\n var addFn = callbacks.originalAdd || callbacks.add;\r\n addFn.call(callbacks, eventHandler)\r\n }\r\n };\r\n _proto.off = function(eventName, eventHandler) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n if ((0, _type.isFunction)(eventHandler)) {\r\n callbacks.remove(eventHandler)\r\n } else {\r\n callbacks.empty()\r\n }\r\n }\r\n };\r\n _proto.dispose = function() {\r\n (0, _iterator.each)(this._events, function(eventName, event) {\r\n event.empty()\r\n })\r\n };\r\n return EventsStrategy\r\n}();\r\nexports.EventsStrategy = EventsStrategy;\r\n","/**\r\n * DevExtreme (core/templates/child_default_template.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ChildDefaultTemplate = void 0;\r\nvar _template_base = require(\"./template_base\");\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ChildDefaultTemplate = function(_TemplateBase) {\r\n _inheritsLoose(ChildDefaultTemplate, _TemplateBase);\r\n\r\n function ChildDefaultTemplate(name) {\r\n var _this;\r\n _this = _TemplateBase.call(this) || this;\r\n _this.name = name;\r\n return _this\r\n }\r\n return ChildDefaultTemplate\r\n}(_template_base.TemplateBase);\r\nexports.ChildDefaultTemplate = ChildDefaultTemplate;\r\n","/**\r\n * DevExtreme (core/templates/template_base.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.renderedCallbacks = exports.TemplateBase = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../utils/callbacks\"));\r\nvar _dom = require(\"../utils/dom\");\r\nvar _visibility_change = require(\"../../events/visibility_change\");\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar renderedCallbacks = (0, _callbacks.default)({\r\n syncStrategy: true\r\n});\r\nexports.renderedCallbacks = renderedCallbacks;\r\nvar TemplateBase = function() {\r\n function TemplateBase() {}\r\n var _proto = TemplateBase.prototype;\r\n _proto.render = function(options) {\r\n options = options || {};\r\n var onRendered = options.onRendered;\r\n delete options.onRendered;\r\n var $result = this._renderCore(options);\r\n this._ensureResultInContainer($result, options.container);\r\n renderedCallbacks.fire($result, options.container);\r\n onRendered && onRendered();\r\n return $result\r\n };\r\n _proto._ensureResultInContainer = function($result, container) {\r\n if (!container) {\r\n return\r\n }\r\n var $container = (0, _renderer.default)(container);\r\n var resultInContainer = (0, _dom.contains)($container.get(0), $result.get(0));\r\n $container.append($result);\r\n if (resultInContainer) {\r\n return\r\n }\r\n var resultInBody = _dom_adapter.default.getBody().contains($container.get(0));\r\n if (!resultInBody) {\r\n return\r\n }(0, _visibility_change.triggerShownEvent)($result)\r\n };\r\n _proto._renderCore = function() {\r\n throw _errors.default.Error(\"E0001\")\r\n };\r\n return TemplateBase\r\n}();\r\nexports.TemplateBase = TemplateBase;\r\n","/**\r\n * DevExtreme (core/action.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"./renderer\"));\r\nvar _window = require(\"./utils/window\");\r\nvar _type = require(\"./utils/type\");\r\nvar _iterator = require(\"./utils/iterator\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar Action = function() {\r\n function Action(action, config) {\r\n config = config || {};\r\n this._action = action;\r\n this._context = config.context || (0, _window.getWindow)();\r\n this._beforeExecute = config.beforeExecute;\r\n this._afterExecute = config.afterExecute;\r\n this._component = config.component;\r\n this._validatingTargetName = config.validatingTargetName;\r\n var excludeValidators = this._excludeValidators = {};\r\n if (config.excludeValidators) {\r\n for (var i = 0; i < config.excludeValidators.length; i++) {\r\n excludeValidators[config.excludeValidators[i]] = true\r\n }\r\n }\r\n }\r\n var _proto = Action.prototype;\r\n _proto.execute = function() {\r\n var e = {\r\n action: this._action,\r\n args: Array.prototype.slice.call(arguments),\r\n context: this._context,\r\n component: this._component,\r\n validatingTargetName: this._validatingTargetName,\r\n cancel: false,\r\n handled: false\r\n };\r\n var beforeExecute = this._beforeExecute;\r\n var afterExecute = this._afterExecute;\r\n var argsBag = e.args[0] || {};\r\n if (!this._validateAction(e)) {\r\n return\r\n }\r\n null === beforeExecute || void 0 === beforeExecute ? void 0 : beforeExecute.call(this._context, e);\r\n if (e.cancel) {\r\n return\r\n }\r\n var result = this._executeAction(e);\r\n if (argsBag.cancel) {\r\n return\r\n }\r\n null === afterExecute || void 0 === afterExecute ? void 0 : afterExecute.call(this._context, e);\r\n return result\r\n };\r\n _proto._validateAction = function(e) {\r\n var excludeValidators = this._excludeValidators;\r\n var executors = Action.executors;\r\n for (var name in executors) {\r\n if (!excludeValidators[name]) {\r\n var _executor$validate;\r\n var executor = executors[name];\r\n null === (_executor$validate = executor.validate) || void 0 === _executor$validate ? void 0 : _executor$validate.call(executor, e);\r\n if (e.cancel) {\r\n return false\r\n }\r\n }\r\n }\r\n return true\r\n };\r\n _proto._executeAction = function(e) {\r\n var result;\r\n var executors = Action.executors;\r\n for (var name in executors) {\r\n var _executor$execute;\r\n var executor = executors[name];\r\n null === (_executor$execute = executor.execute) || void 0 === _executor$execute ? void 0 : _executor$execute.call(executor, e);\r\n if (e.handled) {\r\n result = e.result;\r\n break\r\n }\r\n }\r\n return result\r\n };\r\n Action.registerExecutor = function(name, executor) {\r\n if ((0, _type.isPlainObject)(name)) {\r\n (0, _iterator.each)(name, Action.registerExecutor);\r\n return\r\n }\r\n Action.executors[name] = executor\r\n };\r\n Action.unregisterExecutor = function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }(0, _iterator.each)(args, function() {\r\n delete Action.executors[this]\r\n })\r\n };\r\n return Action\r\n}();\r\nexports.default = Action;\r\nAction.executors = {};\r\nvar createValidatorByTargetElement = function(condition) {\r\n return function(e) {\r\n if (!e.args.length) {\r\n return\r\n }\r\n var args = e.args[0];\r\n var element = args[e.validatingTargetName] || args.element;\r\n if (element && condition((0, _renderer.default)(element))) {\r\n e.cancel = true\r\n }\r\n }\r\n};\r\nAction.registerExecutor({\r\n disabled: {\r\n validate: createValidatorByTargetElement(function($target) {\r\n return $target.is(\".dx-state-disabled, .dx-state-disabled *\")\r\n })\r\n },\r\n readOnly: {\r\n validate: createValidatorByTargetElement(function($target) {\r\n return $target.is(\".dx-state-readonly, .dx-state-readonly *:not(.dx-state-independent)\")\r\n })\r\n },\r\n undefined: {\r\n execute: function(e) {\r\n if (!e.action) {\r\n e.result = void 0;\r\n e.handled = true\r\n }\r\n }\r\n },\r\n func: {\r\n execute: function(e) {\r\n if ((0, _type.isFunction)(e.action)) {\r\n e.result = e.action.call(e.context, e.args[0]);\r\n e.handled = true\r\n }\r\n }\r\n }\r\n});\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/deferred.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Deferred = Deferred;\r\nexports.fromPromise = fromPromise;\r\nexports.setStrategy = setStrategy;\r\nexports.when = when;\r\nvar _type = require(\"../utils/type\");\r\nvar _extend = require(\"../utils/extend\");\r\nvar _callbacks = _interopRequireDefault(require(\"../utils/callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar deferredConfig = [{\r\n method: \"resolve\",\r\n handler: \"done\",\r\n state: \"resolved\"\r\n}, {\r\n method: \"reject\",\r\n handler: \"fail\",\r\n state: \"rejected\"\r\n}, {\r\n method: \"notify\",\r\n handler: \"progress\"\r\n}];\r\nvar _DeferredObj = function() {\r\n var that = this;\r\n this._state = \"pending\";\r\n this._promise = {};\r\n deferredConfig.forEach(function(config) {\r\n var methodName = config.method;\r\n this[methodName + \"Callbacks\"] = new _callbacks.default;\r\n this[methodName] = function() {\r\n return this[methodName + \"With\"](this._promise, arguments)\r\n }.bind(this);\r\n this._promise[config.handler] = function(handler) {\r\n if (!handler) {\r\n return this\r\n }\r\n var callbacks = that[methodName + \"Callbacks\"];\r\n if (callbacks.fired()) {\r\n handler.apply(that[methodName + \"Context\"], that[methodName + \"Args\"])\r\n } else {\r\n callbacks.add(function(context, args) {\r\n handler.apply(context, args)\r\n }.bind(this))\r\n }\r\n return this\r\n }\r\n }.bind(this));\r\n this._promise.always = function(handler) {\r\n return this.done(handler).fail(handler)\r\n };\r\n this._promise.catch = function(handler) {\r\n return this.then(null, handler)\r\n };\r\n this._promise.then = function(resolve, reject) {\r\n var result = new _DeferredObj;\r\n [\"done\", \"fail\"].forEach(function(method) {\r\n var callback = \"done\" === method ? resolve : reject;\r\n this[method](function() {\r\n if (!callback) {\r\n result[\"done\" === method ? \"resolve\" : \"reject\"].apply(this, arguments);\r\n return\r\n }\r\n var callbackResult = callback && callback.apply(this, arguments);\r\n if ((0, _type.isDeferred)(callbackResult)) {\r\n callbackResult.done(result.resolve).fail(result.reject)\r\n } else {\r\n if ((0, _type.isPromise)(callbackResult)) {\r\n callbackResult.then(result.resolve, result.reject)\r\n } else {\r\n result.resolve.apply(this, (0, _type.isDefined)(callbackResult) ? [callbackResult] : arguments)\r\n }\r\n }\r\n })\r\n }.bind(this));\r\n return result.promise()\r\n };\r\n this._promise.state = function() {\r\n return that._state\r\n };\r\n this._promise.promise = function(args) {\r\n return args ? (0, _extend.extend)(args, that._promise) : that._promise\r\n };\r\n this._promise.promise(this)\r\n};\r\ndeferredConfig.forEach(function(config) {\r\n var methodName = config.method;\r\n var state = config.state;\r\n _DeferredObj.prototype[methodName + \"With\"] = function(context, args) {\r\n var callbacks = this[methodName + \"Callbacks\"];\r\n if (\"pending\" === this.state()) {\r\n this[methodName + \"Args\"] = args;\r\n this[methodName + \"Context\"] = context;\r\n if (state) {\r\n this._state = state\r\n }\r\n callbacks.fire(context, args)\r\n }\r\n return this\r\n }\r\n});\r\n\r\nfunction fromPromise(promise, context) {\r\n if ((0, _type.isDeferred)(promise)) {\r\n return promise\r\n } else {\r\n if ((0, _type.isPromise)(promise)) {\r\n var d = new _DeferredObj;\r\n promise.then(function() {\r\n d.resolveWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }, function() {\r\n d.rejectWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n });\r\n return d\r\n }\r\n }\r\n return (new _DeferredObj).resolveWith(context, [promise])\r\n}\r\nvar whenFunc = function() {\r\n if (1 === arguments.length) {\r\n return fromPromise(arguments[0])\r\n }\r\n var values = [].slice.call(arguments);\r\n var contexts = [];\r\n var resolvedCount = 0;\r\n var deferred = new _DeferredObj;\r\n var updateState = function(i) {\r\n return function(value) {\r\n contexts[i] = this;\r\n values[i] = arguments.length > 1 ? [].slice.call(arguments) : value;\r\n resolvedCount++;\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n }\r\n };\r\n for (var i = 0; i < values.length; i++) {\r\n if ((0, _type.isDeferred)(values[i])) {\r\n values[i].promise().done(updateState(i)).fail(deferred.reject)\r\n } else {\r\n resolvedCount++\r\n }\r\n }\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n return deferred.promise()\r\n};\r\n\r\nfunction setStrategy(value) {\r\n _DeferredObj = value.Deferred;\r\n whenFunc = value.when\r\n}\r\n\r\nfunction Deferred() {\r\n return new _DeferredObj\r\n}\r\n\r\nfunction when() {\r\n return whenFunc.apply(this, arguments)\r\n}\r\n","/**\r\n * DevExtreme (core/utils/window.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.hasWindow = exports.hasProperty = exports.getWindow = exports.getNavigator = exports.getCurrentScreenFactor = exports.defaultScreenFactorFunc = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar hasWindow = function() {\r\n return \"undefined\" !== typeof window\r\n};\r\nexports.hasWindow = hasWindow;\r\nvar windowObject = hasWindow() && window;\r\nif (!windowObject) {\r\n windowObject = {};\r\n windowObject.window = windowObject\r\n}\r\nvar getWindow = function() {\r\n return windowObject\r\n};\r\nexports.getWindow = getWindow;\r\nvar hasProperty = function(prop) {\r\n return hasWindow() && prop in windowObject\r\n};\r\nexports.hasProperty = hasProperty;\r\nvar defaultScreenFactorFunc = function(width) {\r\n if (width < 768) {\r\n return \"xs\"\r\n } else {\r\n if (width < 992) {\r\n return \"sm\"\r\n } else {\r\n if (width < 1200) {\r\n return \"md\"\r\n } else {\r\n return \"lg\"\r\n }\r\n }\r\n }\r\n};\r\nexports.defaultScreenFactorFunc = defaultScreenFactorFunc;\r\nvar getCurrentScreenFactor = function(screenFactorCallback) {\r\n var screenFactorFunc = screenFactorCallback || defaultScreenFactorFunc;\r\n var windowWidth = _dom_adapter.default.getDocumentElement().clientWidth;\r\n return screenFactorFunc(windowWidth)\r\n};\r\nexports.getCurrentScreenFactor = getCurrentScreenFactor;\r\nvar getNavigator = function() {\r\n return hasWindow() ? windowObject.navigator : {\r\n userAgent: \"\"\r\n }\r\n};\r\nexports.getNavigator = getNavigator;\r\n","/**\r\n * DevExtreme (data/custom_store.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _utils = _interopRequireDefault(require(\"./utils\"));\r\nvar _array_utils = require(\"./array_utils\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _config = _interopRequireDefault(require(\"../core/config\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _abstract_store = _interopRequireDefault(require(\"./abstract_store\"));\r\nvar _array_query = _interopRequireDefault(require(\"./array_query\"));\r\nvar _store_helper = _interopRequireDefault(require(\"./store_helper\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar TOTAL_COUNT = \"totalCount\";\r\nvar LOAD = \"load\";\r\nvar BY_KEY = \"byKey\";\r\nvar INSERT = \"insert\";\r\nvar UPDATE = \"update\";\r\nvar REMOVE = \"remove\";\r\n\r\nfunction isPromise(obj) {\r\n return obj && (0, _type.isFunction)(obj.then)\r\n}\r\n\r\nfunction trivialPromise(value) {\r\n return (new _deferred.Deferred).resolve(value).promise()\r\n}\r\n\r\nfunction ensureRequiredFuncOption(name, obj) {\r\n if (!(0, _type.isFunction)(obj)) {\r\n throw _errors.default.errors.Error(\"E4011\", name)\r\n }\r\n}\r\n\r\nfunction throwInvalidUserFuncResult(name) {\r\n throw _errors.default.errors.Error(\"E4012\", name)\r\n}\r\n\r\nfunction createUserFuncFailureHandler(pendingDeferred) {\r\n function errorMessageFromXhr(promiseArguments) {\r\n var xhr = promiseArguments[0];\r\n var textStatus = promiseArguments[1];\r\n if (!xhr || !xhr.getResponseHeader) {\r\n return null\r\n }\r\n return _utils.default.errorMessageFromXhr(xhr, textStatus)\r\n }\r\n return function(arg) {\r\n var error;\r\n if (arg instanceof Error) {\r\n error = arg\r\n } else {\r\n error = new Error(errorMessageFromXhr(arguments) || arg && String(arg) || \"Unknown error\")\r\n }\r\n if (error.message !== _utils.default.XHR_ERROR_UNLOAD) {\r\n pendingDeferred.reject(error)\r\n }\r\n }\r\n}\r\n\r\nfunction invokeUserLoad(store, options) {\r\n var userFunc = store._loadFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(LOAD, userFunc);\r\n userResult = userFunc.apply(store, [options]);\r\n if (Array.isArray(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n } else {\r\n if (null === userResult || void 0 === userResult) {\r\n userResult = trivialPromise([])\r\n } else {\r\n if (!isPromise(userResult)) {\r\n throwInvalidUserFuncResult(LOAD)\r\n }\r\n }\r\n }\r\n return (0, _deferred.fromPromise)(userResult)\r\n}\r\n\r\nfunction invokeUserTotalCountFunc(store, options) {\r\n var userFunc = store._totalCountFunc;\r\n var userResult;\r\n if (!(0, _type.isFunction)(userFunc)) {\r\n throw _errors.default.errors.Error(\"E4021\")\r\n }\r\n userResult = userFunc.apply(store, [options]);\r\n if (!isPromise(userResult)) {\r\n userResult = Number(userResult);\r\n if (!isFinite(userResult)) {\r\n throwInvalidUserFuncResult(TOTAL_COUNT)\r\n }\r\n userResult = trivialPromise(userResult)\r\n }\r\n return (0, _deferred.fromPromise)(userResult)\r\n}\r\n\r\nfunction invokeUserByKeyFunc(store, key, extraOptions) {\r\n var userFunc = store._byKeyFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(BY_KEY, userFunc);\r\n userResult = userFunc.apply(store, [key, extraOptions]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n return (0, _deferred.fromPromise)(userResult)\r\n}\r\n\r\nfunction runRawLoad(pendingDeferred, store, userFuncOptions, continuation) {\r\n if (store.__rawData) {\r\n continuation(store.__rawData)\r\n } else {\r\n var loadPromise = store.__rawDataPromise || invokeUserLoad(store, userFuncOptions);\r\n if (store._cacheRawData) {\r\n store.__rawDataPromise = loadPromise\r\n }\r\n loadPromise.always(function() {\r\n delete store.__rawDataPromise\r\n }).done(function(rawData) {\r\n if (store._cacheRawData) {\r\n store.__rawData = rawData\r\n }\r\n continuation(rawData)\r\n }).fail(createUserFuncFailureHandler(pendingDeferred))\r\n }\r\n}\r\n\r\nfunction runRawLoadWithQuery(pendingDeferred, store, options, countOnly) {\r\n options = options || {};\r\n var userFuncOptions = {};\r\n if (\"userData\" in options) {\r\n userFuncOptions.userData = options.userData\r\n }\r\n runRawLoad(pendingDeferred, store, userFuncOptions, function(rawData) {\r\n var rawDataQuery = (0, _array_query.default)(rawData, {\r\n errorHandler: store._errorHandler\r\n });\r\n var itemsQuery;\r\n var totalCountQuery;\r\n var waitList = [];\r\n var items;\r\n var totalCount;\r\n if (!countOnly) {\r\n itemsQuery = _store_helper.default.queryByOptions(rawDataQuery, options);\r\n if (itemsQuery === rawDataQuery) {\r\n items = rawData.slice(0)\r\n } else {\r\n waitList.push(itemsQuery.enumerate().done(function(asyncResult) {\r\n items = asyncResult\r\n }))\r\n }\r\n }\r\n if (options.requireTotalCount || countOnly) {\r\n totalCountQuery = _store_helper.default.queryByOptions(rawDataQuery, options, true);\r\n if (totalCountQuery === rawDataQuery) {\r\n totalCount = rawData.length\r\n } else {\r\n waitList.push(totalCountQuery.count().done(function(asyncResult) {\r\n totalCount = asyncResult\r\n }))\r\n }\r\n }\r\n _deferred.when.apply(_renderer.default, waitList).done(function() {\r\n if (countOnly) {\r\n pendingDeferred.resolve(totalCount)\r\n } else {\r\n if (options.requireTotalCount) {\r\n pendingDeferred.resolve(items, {\r\n totalCount: totalCount\r\n })\r\n } else {\r\n pendingDeferred.resolve(items)\r\n }\r\n }\r\n }).fail(function(x) {\r\n pendingDeferred.reject(x)\r\n })\r\n })\r\n}\r\n\r\nfunction runRawLoadWithKey(pendingDeferred, store, key) {\r\n runRawLoad(pendingDeferred, store, {}, function(rawData) {\r\n var keyExpr = store.key();\r\n var item;\r\n for (var i = 0, len = rawData.length; i < len; i++) {\r\n item = rawData[i];\r\n if (_utils.default.keysEqual(keyExpr, store.keyOf(rawData[i]), key)) {\r\n pendingDeferred.resolve(item);\r\n return\r\n }\r\n }\r\n pendingDeferred.reject(_errors.default.errors.Error(\"E4009\"))\r\n })\r\n}\r\nvar CustomStore = _abstract_store.default.inherit({\r\n ctor: function(options) {\r\n options = options || {};\r\n this.callBase(options);\r\n this._useDefaultSearch = !!options.useDefaultSearch || \"raw\" === options.loadMode;\r\n this._loadMode = options.loadMode;\r\n this._cacheRawData = false !== options.cacheRawData;\r\n this._loadFunc = options[LOAD];\r\n this._totalCountFunc = options[TOTAL_COUNT];\r\n this._byKeyFunc = options[BY_KEY];\r\n this._insertFunc = options[INSERT];\r\n this._updateFunc = options[UPDATE];\r\n this._removeFunc = options[REMOVE]\r\n },\r\n createQuery: function() {\r\n throw _errors.default.errors.Error(\"E4010\")\r\n },\r\n clearRawDataCache: function() {\r\n delete this.__rawData\r\n },\r\n _totalCountImpl: function(options) {\r\n var d = new _deferred.Deferred;\r\n if (\"raw\" === this._loadMode && !this._totalCountFunc) {\r\n runRawLoadWithQuery(d, this, options, true)\r\n } else {\r\n invokeUserTotalCountFunc(this, options).done(function(count) {\r\n d.resolve(Number(count))\r\n }).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _pushImpl: function(changes) {\r\n if (this.__rawData) {\r\n (0, _array_utils.applyBatch)({\r\n keyInfo: this,\r\n data: this.__rawData,\r\n changes: changes\r\n })\r\n }\r\n },\r\n _loadImpl: function(options) {\r\n var d = new _deferred.Deferred;\r\n if (\"raw\" === this._loadMode) {\r\n runRawLoadWithQuery(d, this, options, false)\r\n } else {\r\n invokeUserLoad(this, options).done(function(data, extra) {\r\n d.resolve(data, extra)\r\n }).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _byKeyImpl: function(key, extraOptions) {\r\n var d = new _deferred.Deferred;\r\n if (this._byKeyViaLoad()) {\r\n this._requireKey();\r\n runRawLoadWithKey(d, this, key)\r\n } else {\r\n invokeUserByKeyFunc(this, key, extraOptions).done(function(obj) {\r\n d.resolve(obj)\r\n }).fail(createUserFuncFailureHandler(d))\r\n }\r\n return d.promise()\r\n },\r\n _byKeyViaLoad: function() {\r\n return \"raw\" === this._loadMode && !this._byKeyFunc\r\n },\r\n _insertImpl: function(values) {\r\n var that = this;\r\n var userFunc = that._insertFunc;\r\n var userResult;\r\n var d = new _deferred.Deferred;\r\n ensureRequiredFuncOption(INSERT, userFunc);\r\n userResult = userFunc.apply(that, [values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }(0, _deferred.fromPromise)(userResult).done(function(serverResponse) {\r\n if ((0, _config.default)().useLegacyStoreResult) {\r\n d.resolve(values, serverResponse)\r\n } else {\r\n d.resolve(serverResponse || values, that.keyOf(serverResponse))\r\n }\r\n }).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _updateImpl: function(key, values) {\r\n var userFunc = this._updateFunc;\r\n var userResult;\r\n var d = new _deferred.Deferred;\r\n ensureRequiredFuncOption(UPDATE, userFunc);\r\n userResult = userFunc.apply(this, [key, values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }(0, _deferred.fromPromise)(userResult).done(function(serverResponse) {\r\n if ((0, _config.default)().useLegacyStoreResult) {\r\n d.resolve(key, values)\r\n } else {\r\n d.resolve(serverResponse || values, key)\r\n }\r\n }).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _removeImpl: function(key) {\r\n var userFunc = this._removeFunc;\r\n var userResult;\r\n var d = new _deferred.Deferred;\r\n ensureRequiredFuncOption(REMOVE, userFunc);\r\n userResult = userFunc.apply(this, [key]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise()\r\n }(0, _deferred.fromPromise)(userResult).done(function() {\r\n d.resolve(key)\r\n }).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n }\r\n});\r\nvar _default = CustomStore;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (data/abstract_store.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"../core/class\"));\r\nvar _events_strategy = require(\"../core/events_strategy\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _utils = _interopRequireDefault(require(\"./utils\"));\r\nvar _data = require(\"../core/utils/data\");\r\nvar _store_helper = _interopRequireDefault(require(\"./store_helper\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _common = require(\"../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar abstract = _class.default.abstract;\r\nvar queryByOptions = _store_helper.default.queryByOptions;\r\nvar storeImpl = {};\r\nvar Store = _class.default.inherit({\r\n ctor: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy = new _events_strategy.EventsStrategy(this);\r\n (0, _iterator.each)([\"onLoaded\", \"onLoading\", \"onInserted\", \"onInserting\", \"onUpdated\", \"onUpdating\", \"onPush\", \"onRemoved\", \"onRemoving\", \"onModified\", \"onModifying\"], function(_, optionName) {\r\n if (optionName in options) {\r\n that.on(optionName.slice(2).toLowerCase(), options[optionName])\r\n }\r\n });\r\n this._key = options.key;\r\n this._errorHandler = options.errorHandler;\r\n this._useDefaultSearch = true\r\n },\r\n _customLoadOptions: function() {\r\n return null\r\n },\r\n key: function() {\r\n return this._key\r\n },\r\n keyOf: function(obj) {\r\n if (!this._keyGetter) {\r\n this._keyGetter = (0, _data.compileGetter)(this.key())\r\n }\r\n return this._keyGetter(obj)\r\n },\r\n _requireKey: function() {\r\n if (!this.key()) {\r\n throw _errors.default.errors.Error(\"E4005\")\r\n }\r\n },\r\n load: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy.fireEvent(\"loading\", [options]);\r\n return this._withLock(this._loadImpl(options)).done(function(result) {\r\n that._eventsStrategy.fireEvent(\"loaded\", [result, options])\r\n })\r\n },\r\n _loadImpl: function(options) {\r\n return queryByOptions(this.createQuery(options), options).enumerate()\r\n },\r\n _withLock: function(task) {\r\n var result = new _deferred.Deferred;\r\n task.done(function() {\r\n var that = this;\r\n var args = arguments;\r\n _utils.default.processRequestResultLock.promise().done(function() {\r\n result.resolveWith(that, args)\r\n })\r\n }).fail(function() {\r\n result.rejectWith(this, arguments)\r\n });\r\n return result\r\n },\r\n createQuery: abstract,\r\n totalCount: function(options) {\r\n return this._totalCountImpl(options)\r\n },\r\n _totalCountImpl: function(options) {\r\n return queryByOptions(this.createQuery(options), options, true).count()\r\n },\r\n byKey: function(key, extraOptions) {\r\n return this._addFailHandlers(this._withLock(this._byKeyImpl(key, extraOptions)))\r\n },\r\n _byKeyImpl: abstract,\r\n insert: function(values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"inserting\", [values]);\r\n return that._addFailHandlers(that._insertImpl(values).done(function(callbackValues, callbackKey) {\r\n that._eventsStrategy.fireEvent(\"inserted\", [callbackValues, callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n }))\r\n },\r\n _insertImpl: abstract,\r\n update: function(key, values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"updating\", [key, values]);\r\n return that._addFailHandlers(that._updateImpl(key, values).done(function() {\r\n that._eventsStrategy.fireEvent(\"updated\", [key, values]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n }))\r\n },\r\n _updateImpl: abstract,\r\n push: function(changes) {\r\n var _this = this;\r\n var beforePushArgs = {\r\n changes: changes,\r\n waitFor: []\r\n };\r\n this._eventsStrategy.fireEvent(\"beforePush\", [beforePushArgs]);\r\n _deferred.when.apply(void 0, _toConsumableArray(beforePushArgs.waitFor)).done(function() {\r\n _this._pushImpl(changes);\r\n _this._eventsStrategy.fireEvent(\"push\", [changes])\r\n })\r\n },\r\n _pushImpl: _common.noop,\r\n remove: function(key) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"removing\", [key]);\r\n return that._addFailHandlers(that._removeImpl(key).done(function(callbackKey) {\r\n that._eventsStrategy.fireEvent(\"removed\", [callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n }))\r\n },\r\n _removeImpl: abstract,\r\n _addFailHandlers: function(deferred) {\r\n return deferred.fail(this._errorHandler).fail(_errors.default._errorHandler)\r\n },\r\n on: function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off: function(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nStore.create = function(alias, options) {\r\n if (!(alias in storeImpl)) {\r\n throw _errors.default.errors.Error(\"E4020\", alias)\r\n }\r\n return new storeImpl[alias](options)\r\n};\r\nStore.registerClass = function(type, alias) {\r\n if (alias) {\r\n storeImpl[alias] = type\r\n }\r\n return type\r\n};\r\nStore.inherit = function(inheritor) {\r\n return function(members, alias) {\r\n var type = inheritor.apply(this, [members]);\r\n Store.registerClass(type, alias);\r\n return type\r\n }\r\n}(Store.inherit);\r\nvar _default = Store;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/component_registrator.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"./renderer\"));\r\nvar _component_registrator_callbacks = _interopRequireDefault(require(\"./component_registrator_callbacks\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _public_component = require(\"./utils/public_component\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar registerComponent = function(name, namespace, componentClass) {\r\n if (!componentClass) {\r\n componentClass = namespace\r\n } else {\r\n namespace[name] = componentClass\r\n }(0, _public_component.name)(componentClass, name);\r\n _component_registrator_callbacks.default.fire(name, componentClass)\r\n};\r\nvar registerRendererComponent = function(name, componentClass) {\r\n _renderer.default.fn[name] = function(options) {\r\n var isMemberInvoke = \"string\" === typeof options;\r\n var result;\r\n if (isMemberInvoke) {\r\n var memberName = options;\r\n var memberArgs = [].slice.call(arguments).slice(1);\r\n this.each(function() {\r\n var instance = componentClass.getInstance(this);\r\n if (!instance) {\r\n throw _errors.default.Error(\"E0009\", name)\r\n }\r\n var member = instance[memberName];\r\n var memberValue = member.apply(instance, memberArgs);\r\n if (void 0 === result) {\r\n result = memberValue\r\n }\r\n })\r\n } else {\r\n this.each(function() {\r\n var instance = componentClass.getInstance(this);\r\n if (instance) {\r\n instance.option(options)\r\n } else {\r\n new componentClass(this, options)\r\n }\r\n });\r\n result = this\r\n }\r\n return result\r\n }\r\n};\r\n_component_registrator_callbacks.default.add(registerRendererComponent);\r\nvar _default = registerComponent;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/remove_event.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"./renderer\"));\r\nvar _element_data = require(\"./element_data\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _event_registrator = _interopRequireDefault(require(\"../events/core/event_registrator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar eventName = \"dxremove\";\r\nvar eventPropName = \"dxRemoveEvent\";\r\n(0, _element_data.beforeCleanData)(function(elements) {\r\n elements = [].slice.call(elements);\r\n for (var i = 0; i < elements.length; i++) {\r\n var $element = (0, _renderer.default)(elements[i]);\r\n if ($element.prop(eventPropName)) {\r\n $element[0][eventPropName] = null;\r\n _events_engine.default.triggerHandler($element, eventName)\r\n }\r\n }\r\n});\r\n(0, _event_registrator.default)(eventName, {\r\n noBubble: true,\r\n setup: function(element) {\r\n (0, _renderer.default)(element).prop(eventPropName, true)\r\n }\r\n});\r\nvar _default = eventName;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/public_component.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.attachInstanceToElement = attachInstanceToElement;\r\nexports.getInstanceByElement = getInstanceByElement;\r\nexports.name = void 0;\r\nvar _element_data = require(\"../../core/element_data\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _weak_map = _interopRequireDefault(require(\"../polyfills/weak_map\"));\r\nvar _type = require(\"./type\");\r\nvar _remove_event = _interopRequireDefault(require(\"../remove_event\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar COMPONENT_NAMES_DATA_KEY = \"dxComponents\";\r\nvar ANONYMOUS_COMPONENT_DATA_KEY = \"dxPrivateComponent\";\r\nvar componentNames = new _weak_map.default;\r\nvar nextAnonymousComponent = 0;\r\nvar getName = function(componentClass, newName) {\r\n if ((0, _type.isDefined)(newName)) {\r\n componentNames.set(componentClass, newName);\r\n return\r\n }\r\n if (!componentNames.has(componentClass)) {\r\n var generatedName = ANONYMOUS_COMPONENT_DATA_KEY + nextAnonymousComponent++;\r\n componentNames.set(componentClass, generatedName);\r\n return generatedName\r\n }\r\n return componentNames.get(componentClass)\r\n};\r\nexports.name = getName;\r\n\r\nfunction attachInstanceToElement($element, componentInstance, disposeFn) {\r\n var data = (0, _element_data.data)($element.get(0));\r\n var name = getName(componentInstance.constructor);\r\n data[name] = componentInstance;\r\n if (disposeFn) {\r\n _events_engine.default.one($element, _remove_event.default, function() {\r\n disposeFn.call(componentInstance)\r\n })\r\n }\r\n if (!data[COMPONENT_NAMES_DATA_KEY]) {\r\n data[COMPONENT_NAMES_DATA_KEY] = []\r\n }\r\n data[COMPONENT_NAMES_DATA_KEY].push(name)\r\n}\r\n\r\nfunction getInstanceByElement($element, componentClass) {\r\n var name = getName(componentClass);\r\n return (0, _element_data.data)($element.get(0), name)\r\n}\r\n","/**\r\n * DevExtreme (core/component.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _config = _interopRequireDefault(require(\"./config\"));\r\nvar _extend = require(\"./utils/extend\");\r\nvar _index = require(\"./options/index\");\r\nvar _utils = require(\"./options/utils\");\r\nvar _class = _interopRequireDefault(require(\"./class\"));\r\nvar _action = _interopRequireDefault(require(\"./action\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\nvar _events_strategy = require(\"./events_strategy\");\r\nvar _public_component = require(\"./utils/public_component\");\r\nvar _postponed_operations = require(\"./postponed_operations\");\r\nvar _type = require(\"./utils/type\");\r\nvar _common = require(\"./utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar getEventName = function(actionName) {\r\n return actionName.charAt(2).toLowerCase() + actionName.substr(3)\r\n};\r\nvar isInnerOption = function(optionName) {\r\n return 0 === optionName.indexOf(\"_\", 0)\r\n};\r\nvar Component = _class.default.inherit({\r\n _setDeprecatedOptions: function() {\r\n this._deprecatedOptions = {}\r\n },\r\n _getDeprecatedOptions: function() {\r\n return this._deprecatedOptions\r\n },\r\n _getDefaultOptions: function() {\r\n return {\r\n onInitialized: null,\r\n onOptionChanged: null,\r\n onDisposing: null,\r\n defaultOptionsRules: null\r\n }\r\n },\r\n _defaultOptionsRules: function() {\r\n return []\r\n },\r\n _setOptionsByDevice: function(rules) {\r\n this._options.applyRules(rules)\r\n },\r\n _convertRulesToOptions: function(rules) {\r\n return (0, _utils.convertRulesToOptions)(rules)\r\n },\r\n _isInitialOptionValue: function(name) {\r\n return this._options.isInitial(name)\r\n },\r\n _setOptionsByReference: function() {\r\n this._optionsByReference = {}\r\n },\r\n _getOptionsByReference: function() {\r\n return this._optionsByReference\r\n },\r\n ctor: function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var _optionChangedCallbacks = options._optionChangedCallbacks,\r\n _disposingCallbacks = options._disposingCallbacks;\r\n this.NAME = (0, _public_component.name)(this.constructor);\r\n this._eventsStrategy = _events_strategy.EventsStrategy.create(this, options.eventsStrategy);\r\n this._updateLockCount = 0;\r\n this._optionChangedCallbacks = _optionChangedCallbacks || (0, _callbacks.default)();\r\n this._disposingCallbacks = _disposingCallbacks || (0, _callbacks.default)();\r\n this.postponedOperations = new _postponed_operations.PostponedOperations;\r\n this._createOptions(options)\r\n },\r\n _createOptions: function(options) {\r\n var _this = this;\r\n this.beginUpdate();\r\n try {\r\n this._setOptionsByReference();\r\n this._setDeprecatedOptions();\r\n this._options = new _index.Options(this._getDefaultOptions(), this._getDefaultOptions(), this._getOptionsByReference(), this._getDeprecatedOptions());\r\n this._options.onChanging(function(name, previousValue, value) {\r\n return _this._initialized && _this._optionChanging(name, previousValue, value)\r\n });\r\n this._options.onDeprecated(function(option, info) {\r\n return _this._logDeprecatedOptionWarning(option, info)\r\n });\r\n this._options.onChanged(function(name, value, previousValue) {\r\n return _this._notifyOptionChanged(name, value, previousValue)\r\n });\r\n this._options.onStartChange(function() {\r\n return _this.beginUpdate()\r\n });\r\n this._options.onEndChange(function() {\r\n return _this.endUpdate()\r\n });\r\n this._options.addRules(this._defaultOptionsRules());\r\n if (options && options.onInitializing) {\r\n options.onInitializing.apply(this, [options])\r\n }\r\n this._setOptionsByDevice(options.defaultOptionsRules);\r\n this._initOptions(options)\r\n } finally {\r\n this.endUpdate()\r\n }\r\n },\r\n _initOptions: function(options) {\r\n this.option(options)\r\n },\r\n _init: function() {\r\n var _this2 = this;\r\n this._createOptionChangedAction();\r\n this.on(\"disposing\", function(args) {\r\n _this2._disposingCallbacks.fireWith(_this2, [args])\r\n })\r\n },\r\n _logDeprecatedOptionWarning: function(option, info) {\r\n var message = info.message || \"Use the '\".concat(info.alias, \"' option instead\");\r\n _errors.default.log(\"W0001\", this.NAME, option, info.since, message)\r\n },\r\n _logDeprecatedComponentWarning: function(since, alias) {\r\n _errors.default.log(\"W0000\", this.NAME, since, \"Use the '\".concat(alias, \"' widget instead\"))\r\n },\r\n _createOptionChangedAction: function() {\r\n this._optionChangedAction = this._createActionByOption(\"onOptionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _createDisposingAction: function() {\r\n this._disposingAction = this._createActionByOption(\"onDisposing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onDisposing\":\r\n case \"onInitialized\":\r\n break;\r\n case \"onOptionChanged\":\r\n this._createOptionChangedAction();\r\n break;\r\n case \"defaultOptionsRules\":\r\n }\r\n },\r\n _dispose: function() {\r\n this._optionChangedCallbacks.empty();\r\n this._createDisposingAction();\r\n this._disposingAction();\r\n this._eventsStrategy.dispose();\r\n this._options.dispose();\r\n this._disposed = true\r\n },\r\n _lockUpdate: function() {\r\n this._updateLockCount++\r\n },\r\n _unlockUpdate: function() {\r\n this._updateLockCount = Math.max(this._updateLockCount - 1, 0)\r\n },\r\n _isUpdateAllowed: function() {\r\n return 0 === this._updateLockCount\r\n },\r\n _isInitializingRequired: function() {\r\n return !this._initializing && !this._initialized\r\n },\r\n isInitialized: function() {\r\n return this._initialized\r\n },\r\n _commitUpdate: function() {\r\n this.postponedOperations.callPostponedOperations();\r\n this._isInitializingRequired() && this._initializeComponent()\r\n },\r\n _initializeComponent: function() {\r\n this._initializing = true;\r\n try {\r\n this._init()\r\n } finally {\r\n this._initializing = false;\r\n this._lockUpdate();\r\n this._createActionByOption(\"onInitialized\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })();\r\n this._unlockUpdate();\r\n this._initialized = true\r\n }\r\n },\r\n instance: function() {\r\n return this\r\n },\r\n beginUpdate: function() {\r\n this._lockUpdate()\r\n },\r\n endUpdate: function() {\r\n this._unlockUpdate();\r\n this._isUpdateAllowed() && this._commitUpdate()\r\n },\r\n _optionChanging: _common.noop,\r\n _notifyOptionChanged: function(option, value, previousValue) {\r\n if (this._initialized) {\r\n var optionNames = [option].concat(this._options.getAliasesByName(option));\r\n for (var i = 0; i < optionNames.length; i++) {\r\n var name = optionNames[i];\r\n var args = {\r\n name: name.split(/[.[]/)[0],\r\n fullName: name,\r\n value: value,\r\n previousValue: previousValue\r\n };\r\n if (!isInnerOption(name)) {\r\n this._optionChangedCallbacks.fireWith(this, [(0, _extend.extend)(this._defaultActionArgs(), args)]);\r\n this._optionChangedAction((0, _extend.extend)({}, args))\r\n }\r\n if (!this._disposed && this._cancelOptionChange !== name) {\r\n this._optionChanged(args)\r\n }\r\n }\r\n }\r\n },\r\n initialOption: function(name) {\r\n return this._options.initial(name)\r\n },\r\n _defaultActionConfig: function() {\r\n return {\r\n context: this,\r\n component: this\r\n }\r\n },\r\n _defaultActionArgs: function() {\r\n return {\r\n component: this\r\n }\r\n },\r\n _createAction: function(actionSource, config) {\r\n var _this3 = this;\r\n var action;\r\n return function(e) {\r\n if (!(0, _type.isDefined)(e)) {\r\n e = {}\r\n }\r\n if (!(0, _type.isPlainObject)(e)) {\r\n e = {\r\n actionValue: e\r\n }\r\n }\r\n action = action || new _action.default(actionSource, (0, _extend.extend)(config, _this3._defaultActionConfig()));\r\n return action.execute.call(action, (0, _extend.extend)(e, _this3._defaultActionArgs()))\r\n }\r\n },\r\n _createActionByOption: function(optionName, config) {\r\n var _this4 = this;\r\n var action;\r\n var eventName;\r\n var actionFunc;\r\n var result = function() {\r\n if (!eventName) {\r\n config = config || {};\r\n if (\"string\" !== typeof optionName) {\r\n throw _errors.default.Error(\"E0008\")\r\n }\r\n if (0 === optionName.indexOf(\"on\")) {\r\n eventName = getEventName(optionName)\r\n }\r\n actionFunc = _this4.option(optionName)\r\n }\r\n if (!action && !actionFunc && !config.beforeExecute && !config.afterExecute && !_this4._eventsStrategy.hasEvent(eventName)) {\r\n return\r\n }\r\n if (!action) {\r\n var beforeExecute = config.beforeExecute;\r\n config.beforeExecute = function() {\r\n for (var _len2 = arguments.length, props = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n props[_key2] = arguments[_key2]\r\n }\r\n beforeExecute && beforeExecute.apply(_this4, props);\r\n _this4._eventsStrategy.fireEvent(eventName, props[0].args)\r\n };\r\n action = _this4._createAction(actionFunc, config)\r\n }\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n if ((0, _config.default)().wrapActionsBeforeExecute) {\r\n var beforeActionExecute = _this4.option(\"beforeActionExecute\") || _common.noop;\r\n var wrappedAction = beforeActionExecute(_this4, action, config) || action;\r\n return wrappedAction.apply(_this4, args)\r\n }\r\n return action.apply(_this4, args)\r\n };\r\n if ((0, _config.default)().wrapActionsBeforeExecute) {\r\n return result\r\n }\r\n var onActionCreated = this.option(\"onActionCreated\") || _common.noop;\r\n return onActionCreated(this, result, config) || result\r\n },\r\n on: function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off: function(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n },\r\n hasActionSubscription: function(actionName) {\r\n return !!this._options.silent(actionName) || this._eventsStrategy.hasEvent(getEventName(actionName))\r\n },\r\n isOptionDeprecated: function(name) {\r\n return this._options.isDeprecated(name)\r\n },\r\n _setOptionWithoutOptionChange: function(name, value) {\r\n this._cancelOptionChange = name;\r\n this.option(name, value);\r\n this._cancelOptionChange = false\r\n },\r\n _getOptionValue: function(name, context) {\r\n var value = this.option(name);\r\n if ((0, _type.isFunction)(value)) {\r\n return value.bind(context)()\r\n }\r\n return value\r\n },\r\n option: function() {\r\n var _this$_options;\r\n return (_this$_options = this._options).option.apply(_this$_options, arguments)\r\n },\r\n resetOption: function(name) {\r\n this.beginUpdate();\r\n this._options.reset(name);\r\n this.endUpdate()\r\n }\r\n});\r\nvar _default = Component;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/error.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = _default;\r\nvar _extend = require(\"./extend\");\r\nvar _console = require(\"./console\");\r\nvar _string = require(\"./string\");\r\nvar _version = _interopRequireDefault(require(\"../version\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ERROR_URL = \"http://js.devexpress.com/error/\" + _version.default.split(\".\").slice(0, 2).join(\"_\") + \"/\";\r\n\r\nfunction _default(baseErrors, errors) {\r\n var exports = {\r\n ERROR_MESSAGES: (0, _extend.extend)(errors, baseErrors),\r\n Error: function() {\r\n return makeError([].slice.call(arguments))\r\n },\r\n log: function(id) {\r\n var method = \"log\";\r\n if (/^E\\d+$/.test(id)) {\r\n method = \"error\"\r\n } else {\r\n if (/^W\\d+$/.test(id)) {\r\n method = \"warn\"\r\n }\r\n }\r\n _console.logger[method](\"log\" === method ? id : combineMessage([].slice.call(arguments)))\r\n }\r\n };\r\n\r\n function combineMessage(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n return formatMessage(id, formatDetails(id, args))\r\n }\r\n\r\n function formatDetails(id, args) {\r\n args = [exports.ERROR_MESSAGES[id]].concat(args);\r\n return _string.format.apply(this, args).replace(/\\.*\\s*?$/, \"\")\r\n }\r\n\r\n function formatMessage(id, details) {\r\n return _string.format.apply(this, [\"{0} - {1}. See:\\n{2}\", id, details, getErrorUrl(id)])\r\n }\r\n\r\n function makeError(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n var details = formatDetails(id, args);\r\n var url = getErrorUrl(id);\r\n var message = formatMessage(id, details);\r\n return (0, _extend.extend)(new Error(message), {\r\n __id: id,\r\n __details: details,\r\n url: url\r\n })\r\n }\r\n\r\n function getErrorUrl(id) {\r\n return ERROR_URL + id\r\n }\r\n return exports\r\n}\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/version.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _default = \"20.2.11\";\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/size.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.parseHeight = exports.getVisibleHeight = exports.getVerticalOffsets = exports.getSize = exports.getElementBoxParams = exports.addOffsetToMinHeight = exports.addOffsetToMaxHeight = void 0;\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _type = require(\"../utils/type\");\r\nvar window = (0, _window.getWindow)();\r\nvar SPECIAL_HEIGHT_VALUES = [\"auto\", \"none\", \"inherit\", \"initial\"];\r\nvar getSizeByStyles = function(elementStyles, styles) {\r\n var result = 0;\r\n styles.forEach(function(style) {\r\n result += parseFloat(elementStyles[style]) || 0\r\n });\r\n return result\r\n};\r\nvar getElementBoxParams = function(name, elementStyles) {\r\n var beforeName = \"width\" === name ? \"Left\" : \"Top\";\r\n var afterName = \"width\" === name ? \"Right\" : \"Bottom\";\r\n return {\r\n padding: getSizeByStyles(elementStyles, [\"padding\" + beforeName, \"padding\" + afterName]),\r\n border: getSizeByStyles(elementStyles, [\"border\" + beforeName + \"Width\", \"border\" + afterName + \"Width\"]),\r\n margin: getSizeByStyles(elementStyles, [\"margin\" + beforeName, \"margin\" + afterName])\r\n }\r\n};\r\nexports.getElementBoxParams = getElementBoxParams;\r\nvar getBoxSizingOffset = function(name, elementStyles, boxParams) {\r\n var size = elementStyles[name];\r\n if (\"border-box\" === elementStyles.boxSizing && size.length && \"%\" !== size[size.length - 1]) {\r\n return boxParams.border + boxParams.padding\r\n }\r\n return 0\r\n};\r\nvar getSize = function(element, name, include) {\r\n var elementStyles = window.getComputedStyle(element);\r\n var boxParams = getElementBoxParams(name, elementStyles);\r\n var clientRect = element.getClientRects().length;\r\n var boundingClientRect = element.getBoundingClientRect()[name];\r\n var result = clientRect ? boundingClientRect : 0;\r\n if (result <= 0) {\r\n result = parseFloat(elementStyles[name] || element.style[name]) || 0;\r\n result -= getBoxSizingOffset(name, elementStyles, boxParams)\r\n } else {\r\n result -= boxParams.padding + boxParams.border\r\n }\r\n if (include.paddings) {\r\n result += boxParams.padding\r\n }\r\n if (include.borders) {\r\n result += boxParams.border\r\n }\r\n if (include.margins) {\r\n result += boxParams.margin\r\n }\r\n return result\r\n};\r\nexports.getSize = getSize;\r\nvar getContainerHeight = function(container) {\r\n return (0, _type.isWindow)(container) ? container.innerHeight : container.offsetHeight\r\n};\r\nvar parseHeight = function(value, container) {\r\n if (value.indexOf(\"px\") > 0) {\r\n value = parseInt(value.replace(\"px\", \"\"))\r\n } else {\r\n if (value.indexOf(\"%\") > 0) {\r\n value = parseInt(value.replace(\"%\", \"\")) * getContainerHeight(container) / 100\r\n } else {\r\n if (!isNaN(value)) {\r\n value = parseInt(value)\r\n }\r\n }\r\n }\r\n return value\r\n};\r\nexports.parseHeight = parseHeight;\r\nvar getHeightWithOffset = function(value, offset, container) {\r\n if (!value) {\r\n return null\r\n }\r\n if (SPECIAL_HEIGHT_VALUES.indexOf(value) > -1) {\r\n return offset ? null : value\r\n }\r\n if ((0, _type.isString)(value)) {\r\n value = parseHeight(value, container)\r\n }\r\n if ((0, _type.isNumeric)(value)) {\r\n return Math.max(0, value + offset)\r\n }\r\n var operationString = offset < 0 ? \" - \" : \" \";\r\n return \"calc(\" + value + operationString + Math.abs(offset) + \"px)\"\r\n};\r\nvar addOffsetToMaxHeight = function(value, offset, container) {\r\n var maxHeight = getHeightWithOffset(value, offset, container);\r\n return null !== maxHeight ? maxHeight : \"none\"\r\n};\r\nexports.addOffsetToMaxHeight = addOffsetToMaxHeight;\r\nvar addOffsetToMinHeight = function(value, offset, container) {\r\n var minHeight = getHeightWithOffset(value, offset, container);\r\n return null !== minHeight ? minHeight : 0\r\n};\r\nexports.addOffsetToMinHeight = addOffsetToMinHeight;\r\nvar getVerticalOffsets = function(element, withMargins) {\r\n if (!element) {\r\n return 0\r\n }\r\n var boxParams = getElementBoxParams(\"height\", window.getComputedStyle(element));\r\n return boxParams.padding + boxParams.border + (withMargins ? boxParams.margin : 0)\r\n};\r\nexports.getVerticalOffsets = getVerticalOffsets;\r\nvar getVisibleHeight = function(element) {\r\n if (element) {\r\n var boundingClientRect = element.getBoundingClientRect();\r\n if (boundingClientRect.height) {\r\n return boundingClientRect.height\r\n }\r\n }\r\n return 0\r\n};\r\nexports.getVisibleHeight = getVisibleHeight;\r\n","/**\r\n * DevExtreme (data/array_query.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"../core/class\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _data = require(\"../core/utils/data\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _utils = _interopRequireDefault(require(\"./utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar Iterator = _class.default.inherit({\r\n toArray: function() {\r\n var result = [];\r\n this.reset();\r\n while (this.next()) {\r\n result.push(this.current())\r\n }\r\n return result\r\n },\r\n countable: function() {\r\n return false\r\n }\r\n});\r\nvar ArrayIterator = Iterator.inherit({\r\n ctor: function(array) {\r\n this.array = array;\r\n this.index = -1\r\n },\r\n next: function() {\r\n if (this.index + 1 < this.array.length) {\r\n this.index++;\r\n return true\r\n }\r\n return false\r\n },\r\n current: function() {\r\n return this.array[this.index]\r\n },\r\n reset: function() {\r\n this.index = -1\r\n },\r\n toArray: function() {\r\n return this.array.slice(0)\r\n },\r\n countable: function() {\r\n return true\r\n },\r\n count: function() {\r\n return this.array.length\r\n }\r\n});\r\nvar WrappedIterator = Iterator.inherit({\r\n ctor: function(iter) {\r\n this.iter = iter\r\n },\r\n next: function() {\r\n return this.iter.next()\r\n },\r\n current: function() {\r\n return this.iter.current()\r\n },\r\n reset: function() {\r\n return this.iter.reset()\r\n }\r\n});\r\nvar MapIterator = WrappedIterator.inherit({\r\n ctor: function(iter, mapper) {\r\n this.callBase(iter);\r\n this.index = -1;\r\n this.mapper = mapper\r\n },\r\n current: function() {\r\n return this.mapper(this.callBase(), this.index)\r\n },\r\n next: function() {\r\n var hasNext = this.callBase();\r\n if (hasNext) {\r\n this.index++\r\n }\r\n return hasNext\r\n }\r\n});\r\nvar defaultCompare = function(xValue, yValue) {\r\n xValue = (0, _data.toComparable)(xValue);\r\n yValue = (0, _data.toComparable)(yValue);\r\n if (null === xValue && null !== yValue) {\r\n return -1\r\n }\r\n if (null !== xValue && null === yValue) {\r\n return 1\r\n }\r\n if (void 0 === xValue && void 0 !== yValue) {\r\n return 1\r\n }\r\n if (void 0 !== xValue && void 0 === yValue) {\r\n return -1\r\n }\r\n if (xValue < yValue) {\r\n return -1\r\n }\r\n if (xValue > yValue) {\r\n return 1\r\n }\r\n return 0\r\n};\r\nvar SortIterator = Iterator.inherit({\r\n ctor: function(iter, getter, desc, compare) {\r\n if (!(iter instanceof MapIterator)) {\r\n iter = new MapIterator(iter, this._wrap)\r\n }\r\n this.iter = iter;\r\n this.rules = [{\r\n getter: getter,\r\n desc: desc,\r\n compare: compare\r\n }]\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n var result = new SortIterator(this.sortedIter || this.iter, getter, desc, compare);\r\n if (!this.sortedIter) {\r\n result.rules = this.rules.concat(result.rules)\r\n }\r\n return result\r\n },\r\n next: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.next()\r\n },\r\n current: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.current()\r\n },\r\n reset: function() {\r\n delete this.sortedIter\r\n },\r\n countable: function() {\r\n return this.sortedIter || this.iter.countable()\r\n },\r\n count: function() {\r\n if (this.sortedIter) {\r\n return this.sortedIter.count()\r\n }\r\n return this.iter.count()\r\n },\r\n _ensureSorted: function() {\r\n var that = this;\r\n if (that.sortedIter) {\r\n return\r\n }(0, _iterator.each)(that.rules, function() {\r\n this.getter = (0, _data.compileGetter)(this.getter)\r\n });\r\n that.sortedIter = new MapIterator(new ArrayIterator(this.iter.toArray().sort(function(x, y) {\r\n return that._compare(x, y)\r\n })), that._unwrap)\r\n },\r\n _wrap: function(record, index) {\r\n return {\r\n index: index,\r\n value: record\r\n }\r\n },\r\n _unwrap: function(wrappedItem) {\r\n return wrappedItem.value\r\n },\r\n _compare: function(x, y) {\r\n var xIndex = x.index;\r\n var yIndex = y.index;\r\n x = x.value;\r\n y = y.value;\r\n if (x === y) {\r\n return xIndex - yIndex\r\n }\r\n for (var i = 0, rulesCount = this.rules.length; i < rulesCount; i++) {\r\n var rule = this.rules[i];\r\n var xValue = rule.getter(x);\r\n var yValue = rule.getter(y);\r\n var compare = rule.compare || defaultCompare;\r\n var compareResult = compare(xValue, yValue);\r\n if (compareResult) {\r\n return rule.desc ? -compareResult : compareResult\r\n }\r\n }\r\n return xIndex - yIndex\r\n }\r\n});\r\nvar compileCriteria = function() {\r\n var compileGroup = function(crit) {\r\n var ops = [];\r\n var isConjunctiveOperator = false;\r\n var isConjunctiveNextOperator = false;\r\n (0, _iterator.each)(crit, function() {\r\n if (Array.isArray(this) || (0, _type.isFunction)(this)) {\r\n if (ops.length > 1 && isConjunctiveOperator !== isConjunctiveNextOperator) {\r\n throw new _errors.default.errors.Error(\"E4019\")\r\n }\r\n ops.push(compileCriteria(this));\r\n isConjunctiveOperator = isConjunctiveNextOperator;\r\n isConjunctiveNextOperator = true\r\n } else {\r\n isConjunctiveNextOperator = _utils.default.isConjunctiveOperator(this)\r\n }\r\n });\r\n return function(d) {\r\n var result = isConjunctiveOperator;\r\n for (var i = 0; i < ops.length; i++) {\r\n if (ops[i](d) !== isConjunctiveOperator) {\r\n result = !isConjunctiveOperator;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n };\r\n var toString = function(value) {\r\n return (0, _type.isDefined)(value) ? value.toString() : \"\"\r\n };\r\n var compileBinary = function(crit) {\r\n crit = _utils.default.normalizeBinaryCriterion(crit);\r\n var getter = (0, _data.compileGetter)(crit[0]);\r\n var op = crit[1];\r\n var value = crit[2];\r\n value = (0, _data.toComparable)(value);\r\n switch (op.toLowerCase()) {\r\n case \"=\":\r\n return compileEquals(getter, value);\r\n case \"<>\":\r\n return compileEquals(getter, value, true);\r\n case \">\":\r\n return function(obj) {\r\n return (0, _data.toComparable)(getter(obj)) > value\r\n };\r\n case \"<\":\r\n return function(obj) {\r\n return (0, _data.toComparable)(getter(obj)) < value\r\n };\r\n case \">=\":\r\n return function(obj) {\r\n return (0, _data.toComparable)(getter(obj)) >= value\r\n };\r\n case \"<=\":\r\n return function(obj) {\r\n return (0, _data.toComparable)(getter(obj)) <= value\r\n };\r\n case \"startswith\":\r\n return function(obj) {\r\n return 0 === (0, _data.toComparable)(toString(getter(obj))).indexOf(value)\r\n };\r\n case \"endswith\":\r\n return function(obj) {\r\n var getterValue = (0, _data.toComparable)(toString(getter(obj)));\r\n var searchValue = toString(value);\r\n if (getterValue.length < searchValue.length) {\r\n return false\r\n }\r\n var index = getterValue.lastIndexOf(value);\r\n return index !== -1 && index === getterValue.length - value.length\r\n };\r\n case \"contains\":\r\n return function(obj) {\r\n return (0, _data.toComparable)(toString(getter(obj))).indexOf(value) > -1\r\n };\r\n case \"notcontains\":\r\n return function(obj) {\r\n return (0, _data.toComparable)(toString(getter(obj))).indexOf(value) === -1\r\n }\r\n }\r\n throw _errors.default.errors.Error(\"E4003\", op)\r\n };\r\n\r\n function compileEquals(getter, value, negate) {\r\n return function(obj) {\r\n obj = (0, _data.toComparable)(getter(obj));\r\n var result = useStrictComparison(value) ? obj === value : obj == value;\r\n if (negate) {\r\n result = !result\r\n }\r\n return result\r\n }\r\n }\r\n\r\n function useStrictComparison(value) {\r\n return \"\" === value || 0 === value || false === value\r\n }\r\n\r\n function compileUnary(crit) {\r\n var op = crit[0];\r\n var criteria = compileCriteria(crit[1]);\r\n if (\"!\" === op) {\r\n return function(obj) {\r\n return !criteria(obj)\r\n }\r\n }\r\n throw _errors.default.errors.Error(\"E4003\", op)\r\n }\r\n return function(crit) {\r\n if ((0, _type.isFunction)(crit)) {\r\n return crit\r\n }\r\n if (_utils.default.isGroupCriterion(crit)) {\r\n return compileGroup(crit)\r\n }\r\n if (_utils.default.isUnaryOperation(crit)) {\r\n return compileUnary(crit)\r\n }\r\n return compileBinary(crit)\r\n }\r\n}();\r\nvar FilterIterator = WrappedIterator.inherit({\r\n ctor: function(iter, criteria) {\r\n this.callBase(iter);\r\n this.criteria = compileCriteria(criteria)\r\n },\r\n next: function() {\r\n while (this.iter.next()) {\r\n if (this.criteria(this.current())) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n});\r\nvar GroupIterator = Iterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.iter = iter;\r\n this.getter = getter\r\n },\r\n next: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.next()\r\n },\r\n current: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.current()\r\n },\r\n reset: function() {\r\n delete this.groupedIter\r\n },\r\n countable: function() {\r\n return !!this.groupedIter\r\n },\r\n count: function() {\r\n return this.groupedIter.count()\r\n },\r\n _ensureGrouped: function() {\r\n if (this.groupedIter) {\r\n return\r\n }\r\n var hash = {};\r\n var keys = [];\r\n var iter = this.iter;\r\n var getter = (0, _data.compileGetter)(this.getter);\r\n iter.reset();\r\n while (iter.next()) {\r\n var current = iter.current();\r\n var key = getter(current);\r\n if (key in hash) {\r\n hash[key].push(current)\r\n } else {\r\n hash[key] = [current];\r\n keys.push(key)\r\n }\r\n }\r\n this.groupedIter = new ArrayIterator((0, _iterator.map)(keys, function(key) {\r\n return {\r\n key: key,\r\n items: hash[key]\r\n }\r\n }))\r\n }\r\n});\r\nvar SelectIterator = WrappedIterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.callBase(iter);\r\n this.getter = (0, _data.compileGetter)(getter)\r\n },\r\n current: function() {\r\n return this.getter(this.callBase())\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return this.iter.count()\r\n }\r\n});\r\nvar SliceIterator = WrappedIterator.inherit({\r\n ctor: function(iter, skip, take) {\r\n this.callBase(iter);\r\n this.skip = Math.max(0, skip);\r\n this.take = Math.max(0, take);\r\n this.pos = 0\r\n },\r\n next: function() {\r\n if (this.pos >= this.skip + this.take) {\r\n return false\r\n }\r\n while (this.pos < this.skip && this.iter.next()) {\r\n this.pos++\r\n }\r\n this.pos++;\r\n return this.iter.next()\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this.pos = 0\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return Math.min(this.iter.count() - this.skip, this.take)\r\n }\r\n});\r\nvar arrayQueryImpl = function arrayQueryImpl(iter, queryOptions) {\r\n queryOptions = queryOptions || {};\r\n if (!(iter instanceof Iterator)) {\r\n iter = new ArrayIterator(iter)\r\n }\r\n var handleError = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n _errors.default._errorHandler(error)\r\n };\r\n var aggregateCore = function(aggregator) {\r\n var d = (new _deferred.Deferred).fail(handleError);\r\n var seed;\r\n var step = aggregator.step;\r\n var finalize = aggregator.finalize;\r\n try {\r\n iter.reset();\r\n if (\"seed\" in aggregator) {\r\n seed = aggregator.seed\r\n } else {\r\n seed = iter.next() ? iter.current() : NaN\r\n }\r\n var accumulator = seed;\r\n while (iter.next()) {\r\n accumulator = step(accumulator, iter.current())\r\n }\r\n d.resolve(finalize ? finalize(accumulator) : accumulator)\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n };\r\n var aggregate = function(seed, step, finalize) {\r\n if (arguments.length < 2) {\r\n return aggregateCore({\r\n step: arguments[0]\r\n })\r\n }\r\n return aggregateCore({\r\n seed: seed,\r\n step: step,\r\n finalize: finalize\r\n })\r\n };\r\n var standardAggregate = function(name) {\r\n return aggregateCore(_utils.default.aggregators[name])\r\n };\r\n var select = function(getter) {\r\n if (!(0, _type.isFunction)(getter) && !Array.isArray(getter)) {\r\n getter = [].slice.call(arguments)\r\n }\r\n return chainQuery(new SelectIterator(iter, getter))\r\n };\r\n var selectProp = function(name) {\r\n return select((0, _data.compileGetter)(name))\r\n };\r\n\r\n function chainQuery(iter) {\r\n return arrayQueryImpl(iter, queryOptions)\r\n }\r\n return {\r\n toArray: function() {\r\n return iter.toArray()\r\n },\r\n enumerate: function() {\r\n var d = (new _deferred.Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.toArray())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n },\r\n sortBy: function(getter, desc, compare) {\r\n return chainQuery(new SortIterator(iter, getter, desc, compare))\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n if (iter instanceof SortIterator) {\r\n return chainQuery(iter.thenBy(getter, desc, compare))\r\n }\r\n throw _errors.default.errors.Error(\"E4004\")\r\n },\r\n filter: function(criteria) {\r\n if (!Array.isArray(criteria)) {\r\n criteria = [].slice.call(arguments)\r\n }\r\n return chainQuery(new FilterIterator(iter, criteria))\r\n },\r\n slice: function(skip, take) {\r\n if (void 0 === take) {\r\n take = Number.MAX_VALUE\r\n }\r\n return chainQuery(new SliceIterator(iter, skip, take))\r\n },\r\n select: select,\r\n groupBy: function(getter) {\r\n return chainQuery(new GroupIterator(iter, getter))\r\n },\r\n aggregate: aggregate,\r\n count: function() {\r\n if (iter.countable()) {\r\n var d = (new _deferred.Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.count())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n }\r\n return standardAggregate(\"count\")\r\n },\r\n sum: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).sum()\r\n }\r\n return standardAggregate(\"sum\")\r\n },\r\n min: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).min()\r\n }\r\n return standardAggregate(\"min\")\r\n },\r\n max: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).max()\r\n }\r\n return standardAggregate(\"max\")\r\n },\r\n avg: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).avg()\r\n }\r\n return standardAggregate(\"avg\")\r\n }\r\n }\r\n};\r\nvar _default = arrayQueryImpl;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/version.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.compare = compare;\r\n\r\nfunction compare(x, y, maxLevel) {\r\n function normalizeArg(value) {\r\n if (\"string\" === typeof value) {\r\n return value.split(\".\")\r\n }\r\n if (\"number\" === typeof value) {\r\n return [value]\r\n }\r\n return value\r\n }\r\n x = normalizeArg(x);\r\n y = normalizeArg(y);\r\n var length = Math.max(x.length, y.length);\r\n if (isFinite(maxLevel)) {\r\n length = Math.min(length, maxLevel)\r\n }\r\n for (var i = 0; i < length; i++) {\r\n var xItem = parseInt(x[i] || 0, 10);\r\n var yItem = parseInt(y[i] || 0, 10);\r\n if (xItem < yItem) {\r\n return -1\r\n }\r\n if (xItem > yItem) {\r\n return 1\r\n }\r\n }\r\n return 0\r\n}\r\n","/**\r\n * DevExtreme (core/dom_adapter.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _dependency_injector = _interopRequireDefault(require(\"./utils/dependency_injector\"));\r\nvar _common = require(\"./utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar ELEMENT_NODE = 1;\r\nvar TEXT_NODE = 3;\r\nvar DOCUMENT_NODE = 9;\r\nvar nativeDOMAdapterStrategy = {\r\n querySelectorAll: function(element, selector) {\r\n return element.querySelectorAll(selector)\r\n },\r\n elementMatches: function(element, selector) {\r\n var _this = this;\r\n var matches = element.matches || element.matchesSelector || element.mozMatchesSelector || element.msMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector || function(selector) {\r\n var doc = element.document || element.ownerDocument;\r\n if (!doc) {\r\n return false\r\n }\r\n var items = _this.querySelectorAll(doc, selector);\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] === element) {\r\n return true\r\n }\r\n }\r\n };\r\n return matches.call(element, selector)\r\n },\r\n createElement: function(tagName, context) {\r\n context = context || this._document;\r\n return context.createElement(tagName)\r\n },\r\n createElementNS: function(ns, tagName, context) {\r\n context = context || this._document;\r\n return context.createElementNS(ns, tagName)\r\n },\r\n createTextNode: function(text, context) {\r\n context = context || this._document;\r\n return context.createTextNode(text)\r\n },\r\n isNode: function(element) {\r\n return element && \"object\" === _typeof(element) && \"nodeType\" in element && \"nodeName\" in element\r\n },\r\n isElementNode: function(element) {\r\n return element && element.nodeType === ELEMENT_NODE\r\n },\r\n isTextNode: function(element) {\r\n return element && element.nodeType === TEXT_NODE\r\n },\r\n isDocument: function(element) {\r\n return element && element.nodeType === DOCUMENT_NODE\r\n },\r\n removeElement: function(element) {\r\n var parentNode = element && element.parentNode;\r\n if (parentNode) {\r\n parentNode.removeChild(element)\r\n }\r\n },\r\n insertElement: function(parentElement, newElement, nextSiblingElement) {\r\n if (parentElement && newElement && parentElement !== newElement) {\r\n if (nextSiblingElement) {\r\n parentElement.insertBefore(newElement, nextSiblingElement)\r\n } else {\r\n parentElement.appendChild(newElement)\r\n }\r\n }\r\n },\r\n getAttribute: function(element, name) {\r\n return element.getAttribute(name)\r\n },\r\n setAttribute: function(element, name, value) {\r\n element.setAttribute(name, value)\r\n },\r\n removeAttribute: function(element, name) {\r\n element.removeAttribute(name)\r\n },\r\n setProperty: function(element, name, value) {\r\n element[name] = value\r\n },\r\n setText: function(element, text) {\r\n if (element) {\r\n element.textContent = text\r\n }\r\n },\r\n setClass: function(element, className, isAdd) {\r\n if (1 === element.nodeType && className) {\r\n if (element.classList) {\r\n if (isAdd) {\r\n element.classList.add(className)\r\n } else {\r\n element.classList.remove(className)\r\n }\r\n } else {\r\n var classNameSupported = \"string\" === typeof element.className;\r\n var elementClass = classNameSupported ? element.className : this.getAttribute(element, \"class\") || \"\";\r\n var classNames = elementClass.split(\" \");\r\n var classIndex = classNames.indexOf(className);\r\n var resultClassName;\r\n if (isAdd && classIndex < 0) {\r\n resultClassName = elementClass ? elementClass + \" \" + className : className\r\n }\r\n if (!isAdd && classIndex >= 0) {\r\n classNames.splice(classIndex, 1);\r\n resultClassName = classNames.join(\" \")\r\n }\r\n if (void 0 !== resultClassName) {\r\n if (classNameSupported) {\r\n element.className = resultClassName\r\n } else {\r\n this.setAttribute(element, \"class\", resultClassName)\r\n }\r\n }\r\n }\r\n }\r\n },\r\n setStyle: function(element, name, value) {\r\n element.style[name] = value || \"\"\r\n },\r\n _document: \"undefined\" === typeof document ? void 0 : document,\r\n getDocument: function() {\r\n return this._document\r\n },\r\n getActiveElement: function() {\r\n return this._document.activeElement\r\n },\r\n getBody: function() {\r\n return this._document.body\r\n },\r\n createDocumentFragment: function() {\r\n return this._document.createDocumentFragment()\r\n },\r\n getDocumentElement: function() {\r\n return this._document.documentElement\r\n },\r\n getLocation: function() {\r\n return this._document.location\r\n },\r\n getSelection: function() {\r\n return this._document.selection\r\n },\r\n getReadyState: function() {\r\n return this._document.readyState\r\n },\r\n getHead: function() {\r\n return this._document.head\r\n },\r\n hasDocumentProperty: function(property) {\r\n return property in this._document\r\n },\r\n listen: function(element, event, callback, options) {\r\n if (!element || !(\"addEventListener\" in element)) {\r\n return _common.noop\r\n }\r\n element.addEventListener(event, callback, options);\r\n return function() {\r\n element.removeEventListener(event, callback)\r\n }\r\n }\r\n};\r\nvar _default = (0, _dependency_injector.default)(nativeDOMAdapterStrategy);\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/devices.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _window = require(\"./utils/window\");\r\nvar _extend = require(\"./utils/extend\");\r\nvar _type = require(\"./utils/type\");\r\nvar _iterator = require(\"./utils/iterator\");\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"./utils/ready_callbacks\"));\r\nvar _resize_callbacks = _interopRequireDefault(require(\"./utils/resize_callbacks\"));\r\nvar _events_strategy = require(\"./events_strategy\");\r\nvar _storage = require(\"./utils/storage\");\r\nvar _view_port = require(\"./utils/view_port\");\r\nvar _config = _interopRequireDefault(require(\"./config\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar navigator = (0, _window.getNavigator)();\r\nvar window = (0, _window.getWindow)();\r\nvar KNOWN_UA_TABLE = {\r\n iPhone: \"iPhone\",\r\n iPhone5: \"iPhone\",\r\n iPhone6: \"iPhone\",\r\n iPhone6plus: \"iPhone\",\r\n iPad: \"iPad\",\r\n iPadMini: \"iPad Mini\",\r\n androidPhone: \"Android Mobile\",\r\n androidTablet: \"Android\",\r\n msSurface: \"Windows ARM Tablet PC\",\r\n desktop: \"desktop\"\r\n};\r\nvar DEFAULT_DEVICE = {\r\n deviceType: \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n phone: false,\r\n tablet: false,\r\n android: false,\r\n ios: false,\r\n generic: true,\r\n grade: \"A\",\r\n mac: false\r\n};\r\nvar uaParsers = {\r\n generic: function(userAgent) {\r\n var isPhone = /windows phone/i.test(userAgent) || userAgent.match(/WPDesktop/);\r\n var isTablet = !isPhone && /Windows(.*)arm(.*)Tablet PC/i.test(userAgent);\r\n var isDesktop = !isPhone && !isTablet && /msapphost/i.test(userAgent);\r\n var isMac = /((intel|ppc) mac os x)/.test(userAgent.toLowerCase());\r\n if (!(isPhone || isTablet || isDesktop || isMac)) {\r\n return\r\n }\r\n return {\r\n deviceType: isPhone ? \"phone\" : isTablet ? \"tablet\" : \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n grade: \"A\",\r\n mac: isMac\r\n }\r\n },\r\n ios: function(userAgent) {\r\n if (!/ip(hone|od|ad)/i.test(userAgent)) {\r\n return\r\n }\r\n var isPhone = /ip(hone|od)/i.test(userAgent);\r\n var matches = userAgent.match(/os (\\d+)_(\\d+)_?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2], 10), parseInt(matches[3] || 0, 10)] : [];\r\n var isIPhone4 = 480 === window.screen.height;\r\n var grade = isIPhone4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"ios\",\r\n version: version,\r\n grade: grade\r\n }\r\n },\r\n android: function(userAgent) {\r\n if (!/android|htc_|silk/i.test(userAgent)) {\r\n return\r\n }\r\n var isPhone = /mobile/i.test(userAgent);\r\n var matches = userAgent.match(/android (\\d+)\\.?(\\d+)?\\.?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2] || 0, 10), parseInt(matches[3] || 0, 10)] : [];\r\n var worseThan4_4 = version.length > 1 && (version[0] < 4 || 4 === version[0] && version[1] < 4);\r\n var grade = worseThan4_4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"android\",\r\n version: version,\r\n grade: grade\r\n }\r\n }\r\n};\r\nvar Devices = function() {\r\n function Devices(options) {\r\n this._window = (null === options || void 0 === options ? void 0 : options.window) || window;\r\n this._realDevice = this._getDevice();\r\n this._currentDevice = void 0;\r\n this._currentOrientation = void 0;\r\n this._eventsStrategy = new _events_strategy.EventsStrategy(this);\r\n this.changed = (0, _callbacks.default)();\r\n if ((0, _window.hasWindow)()) {\r\n _ready_callbacks.default.add(this._recalculateOrientation.bind(this));\r\n _resize_callbacks.default.add(this._recalculateOrientation.bind(this))\r\n }\r\n }\r\n var _proto = Devices.prototype;\r\n _proto.current = function(deviceOrName) {\r\n if (deviceOrName) {\r\n this._currentDevice = this._getDevice(deviceOrName);\r\n this._forced = true;\r\n this.changed.fire();\r\n return\r\n }\r\n if (!this._currentDevice) {\r\n deviceOrName = void 0;\r\n try {\r\n deviceOrName = this._getDeviceOrNameFromWindowScope()\r\n } catch (e) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n } finally {\r\n if (!deviceOrName) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n }\r\n if (deviceOrName) {\r\n this._forced = true\r\n }\r\n }\r\n this._currentDevice = this._getDevice(deviceOrName)\r\n }\r\n return this._currentDevice\r\n };\r\n _proto.real = function(forceDevice) {\r\n return (0, _extend.extend)({}, this._realDevice)\r\n };\r\n _proto.orientation = function() {\r\n return this._currentOrientation\r\n };\r\n _proto.isForced = function() {\r\n return this._forced\r\n };\r\n _proto.isRippleEmulator = function() {\r\n return !!this._window.tinyHippos\r\n };\r\n _proto._getCssClasses = function(device) {\r\n var result = [];\r\n var realDevice = this._realDevice;\r\n device = device || this.current();\r\n if (device.deviceType) {\r\n result.push(\"dx-device-\".concat(device.deviceType));\r\n if (\"desktop\" !== device.deviceType) {\r\n result.push(\"dx-device-mobile\")\r\n }\r\n }\r\n result.push(\"dx-device-\".concat(realDevice.platform));\r\n if (realDevice.version && realDevice.version.length) {\r\n result.push(\"dx-device-\".concat(realDevice.platform, \"-\").concat(realDevice.version[0]))\r\n }\r\n if (this.isSimulator()) {\r\n result.push(\"dx-simulator\")\r\n }\r\n if ((0, _config.default)().rtlEnabled) {\r\n result.push(\"dx-rtl\")\r\n }\r\n return result\r\n };\r\n _proto.attachCssClasses = function(element, device) {\r\n this._deviceClasses = this._getCssClasses(device).join(\" \");\r\n (0, _renderer.default)(element).addClass(this._deviceClasses)\r\n };\r\n _proto.detachCssClasses = function(element) {\r\n (0, _renderer.default)(element).removeClass(this._deviceClasses)\r\n };\r\n _proto.isSimulator = function() {\r\n try {\r\n return this._isSimulator || (0, _window.hasWindow)() && this._window.top !== this._window.self && this._window.top[\"dx-force-device\"] || this.isRippleEmulator()\r\n } catch (e) {\r\n return false\r\n }\r\n };\r\n _proto.forceSimulator = function() {\r\n this._isSimulator = true\r\n };\r\n _proto._getDevice = function(deviceName) {\r\n if (\"genericPhone\" === deviceName) {\r\n deviceName = {\r\n deviceType: \"phone\",\r\n platform: \"generic\",\r\n generic: true\r\n }\r\n }\r\n if ((0, _type.isPlainObject)(deviceName)) {\r\n return this._fromConfig(deviceName)\r\n } else {\r\n var ua;\r\n if (deviceName) {\r\n ua = KNOWN_UA_TABLE[deviceName];\r\n if (!ua) {\r\n throw _errors.default.Error(\"E0005\")\r\n }\r\n } else {\r\n ua = navigator.userAgent\r\n }\r\n return this._fromUA(ua)\r\n }\r\n };\r\n _proto._getDeviceOrNameFromWindowScope = function() {\r\n var result;\r\n if ((0, _window.hasWindow)() && (this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"])) {\r\n result = this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"]\r\n }\r\n return result\r\n };\r\n _proto._getDeviceNameFromSessionStorage = function() {\r\n var sessionStorage = (0, _storage.sessionStorage)();\r\n if (!sessionStorage) {\r\n return\r\n }\r\n var deviceOrName = sessionStorage.getItem(\"dx-force-device\");\r\n try {\r\n return JSON.parse(deviceOrName)\r\n } catch (ex) {\r\n return deviceOrName\r\n }\r\n };\r\n _proto._fromConfig = function(config) {\r\n var result = (0, _extend.extend)({}, DEFAULT_DEVICE, this._currentDevice, config);\r\n var shortcuts = {\r\n phone: \"phone\" === result.deviceType,\r\n tablet: \"tablet\" === result.deviceType,\r\n android: \"android\" === result.platform,\r\n ios: \"ios\" === result.platform,\r\n generic: \"generic\" === result.platform\r\n };\r\n return (0, _extend.extend)(result, shortcuts)\r\n };\r\n _proto._fromUA = function(ua) {\r\n var config;\r\n (0, _iterator.each)(uaParsers, function(platform, parser) {\r\n config = parser(ua);\r\n return !config\r\n });\r\n if (config) {\r\n return this._fromConfig(config)\r\n }\r\n return DEFAULT_DEVICE\r\n };\r\n _proto._changeOrientation = function() {\r\n var $window = (0, _renderer.default)(this._window);\r\n var orientation = $window.height() > $window.width() ? \"portrait\" : \"landscape\";\r\n if (this._currentOrientation === orientation) {\r\n return\r\n }\r\n this._currentOrientation = orientation;\r\n this._eventsStrategy.fireEvent(\"orientationChanged\", [{\r\n orientation: orientation\r\n }])\r\n };\r\n _proto._recalculateOrientation = function() {\r\n var windowWidth = (0, _renderer.default)(this._window).width();\r\n if (this._currentWidth === windowWidth) {\r\n return\r\n }\r\n this._currentWidth = windowWidth;\r\n this._changeOrientation()\r\n };\r\n _proto.on = function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n };\r\n _proto.off = function(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n };\r\n return Devices\r\n}();\r\nvar devices = new Devices;\r\nvar viewPortElement = (0, _view_port.value)();\r\nif (viewPortElement) {\r\n devices.attachCssClasses(viewPortElement)\r\n}\r\n_view_port.changeCallback.add(function(viewPort, prevViewport) {\r\n devices.detachCssClasses(prevViewport);\r\n devices.attachCssClasses(viewPort)\r\n});\r\nvar _default = devices;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/array.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.wrapToArray = exports.uniqueValues = exports.removeDuplicates = exports.normalizeIndexes = exports.merge = exports.isEmpty = exports.intersection = exports.inArray = exports.groupBy = exports.find = void 0;\r\nvar _type = require(\"./type\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _object = require(\"./object\");\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\nvar _browser = _interopRequireDefault(require(\"./browser\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction ownKeys(object, enumerableOnly) {\r\n var keys = Object.keys(object);\r\n if (Object.getOwnPropertySymbols) {\r\n var symbols = Object.getOwnPropertySymbols(object);\r\n enumerableOnly && (symbols = symbols.filter(function(sym) {\r\n return Object.getOwnPropertyDescriptor(object, sym).enumerable\r\n })), keys.push.apply(keys, symbols)\r\n }\r\n return keys\r\n}\r\n\r\nfunction _objectSpread(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = null != arguments[i] ? arguments[i] : {};\r\n i % 2 ? ownKeys(Object(source), !0).forEach(function(key) {\r\n _defineProperty(target, key, source[key])\r\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {\r\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key))\r\n })\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar isIE11 = _browser.default.msie && parseInt(_browser.default.version) <= 11;\r\nvar isEmpty = function(entity) {\r\n return Array.isArray(entity) && !entity.length\r\n};\r\nexports.isEmpty = isEmpty;\r\nvar wrapToArray = function(entity) {\r\n return Array.isArray(entity) ? entity : [entity]\r\n};\r\nexports.wrapToArray = wrapToArray;\r\nvar inArray = function(value, object) {\r\n if (!object) {\r\n return -1\r\n }\r\n var array = Array.isArray(object) ? object : object.toArray();\r\n return array.indexOf(value)\r\n};\r\nexports.inArray = inArray;\r\nvar intersection = function(a, b) {\r\n if (!Array.isArray(a) || 0 === a.length || !Array.isArray(b) || 0 === b.length) {\r\n return []\r\n }\r\n var result = [];\r\n (0, _iterator.each)(a, function(_, value) {\r\n var index = inArray(value, b);\r\n if (index !== -1) {\r\n result.push(value)\r\n }\r\n });\r\n return result\r\n};\r\nexports.intersection = intersection;\r\nvar uniqueValues = function(data) {\r\n if (isIE11) {\r\n return data.filter(function(item, position) {\r\n return data.indexOf(item) === position\r\n })\r\n }\r\n return _toConsumableArray(new Set(data))\r\n};\r\nexports.uniqueValues = uniqueValues;\r\nvar removeDuplicates = function(from, what) {\r\n if (!Array.isArray(from) || 0 === from.length) {\r\n return []\r\n }\r\n var result = from.slice();\r\n if (!Array.isArray(what) || 0 === what.length) {\r\n return result\r\n }(0, _iterator.each)(what, function(_, value) {\r\n var index = inArray(value, result);\r\n result.splice(index, 1)\r\n });\r\n return result\r\n};\r\nexports.removeDuplicates = removeDuplicates;\r\nvar normalizeIndexes = function(items, indexParameterName, currentItem, needIndexCallback) {\r\n var indexedItems = {};\r\n var parameterIndex = 0;\r\n var useLegacyVisibleIndex = (0, _config.default)().useLegacyVisibleIndex;\r\n (0, _iterator.each)(items, function(index, item) {\r\n index = item[indexParameterName];\r\n if (index >= 0) {\r\n indexedItems[index] = indexedItems[index] || [];\r\n if (item === currentItem) {\r\n indexedItems[index].unshift(item)\r\n } else {\r\n indexedItems[index].push(item)\r\n }\r\n } else {\r\n item[indexParameterName] = void 0\r\n }\r\n });\r\n if (!useLegacyVisibleIndex) {\r\n (0, _iterator.each)(items, function() {\r\n if (!(0, _type.isDefined)(this[indexParameterName]) && (!needIndexCallback || needIndexCallback(this))) {\r\n while (indexedItems[parameterIndex]) {\r\n parameterIndex++\r\n }\r\n indexedItems[parameterIndex] = [this];\r\n parameterIndex++\r\n }\r\n })\r\n }\r\n parameterIndex = 0;\r\n (0, _object.orderEach)(indexedItems, function(index, items) {\r\n (0, _iterator.each)(items, function() {\r\n if (index >= 0) {\r\n this[indexParameterName] = parameterIndex++\r\n }\r\n })\r\n });\r\n if (useLegacyVisibleIndex) {\r\n (0, _iterator.each)(items, function() {\r\n if (!(0, _type.isDefined)(this[indexParameterName]) && (!needIndexCallback || needIndexCallback(this))) {\r\n this[indexParameterName] = parameterIndex++\r\n }\r\n })\r\n }\r\n return parameterIndex\r\n};\r\nexports.normalizeIndexes = normalizeIndexes;\r\nvar merge = function(array1, array2) {\r\n for (var i = 0; i < array2.length; i++) {\r\n array1[array1.length] = array2[i]\r\n }\r\n return array1\r\n};\r\nexports.merge = merge;\r\nvar find = function(array, condition) {\r\n for (var i = 0; i < array.length; i++) {\r\n if (condition(array[i])) {\r\n return array[i]\r\n }\r\n }\r\n};\r\nexports.find = find;\r\nvar groupBy = function(array, cb) {\r\n return array.reduce(function(result, item) {\r\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, cb(item), [].concat(_toConsumableArray(result[cb(item)] || []), [item])))\r\n }, {})\r\n};\r\nexports.groupBy = groupBy;\r\n"],"sourceRoot":""}