diff --git a/HISTORY.md b/HISTORY.md index 9b992295..9c4d32bb 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -8,6 +8,8 @@ http://visjs.org - Fixed #761: Timeline and Graph2d throwing an error when locale is not found. Gives a warning message instead. +- Fixed #782: Contents of items created from a template being unnecessary + recreated on click, causing mouse events to get lost. ### Network diff --git a/dist/vis.js b/dist/vis.js index bd094411..bf86c2eb 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 3.12.1-SNAPSHOT - * @date 2015-04-07 + * @date 2015-04-17 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -9531,7 +9531,8 @@ return /******/ (function(modules) { // webpackBootstrap content = this.data.content; } - if(content !== this.content) { + var changed = this._contentToString(this.content) !== this._contentToString(content); + if (changed) { // only replace the content when changed if (content instanceof Element) { element.innerHTML = ''; @@ -9616,6 +9617,18 @@ return /******/ (function(modules) { // webpackBootstrap } }; + /** + * Stringify the items contents + * @param {string | Element | undefined} content + * @returns {string | undefined} + * @private + */ + Item.prototype._contentToString = function (content) { + if (typeof content === 'string') return content; + if (content && 'outerHTML' in content) return content.outerHTML; + return content; + }; + module.exports = Item; @@ -13563,12 +13576,13 @@ return /******/ (function(modules) { // webpackBootstrap */ ItemSet.prototype._updateItem = function(item, itemData) { var oldGroupId = item.data.group; + var oldSubGroupId = item.data.subgroup; // update the items data (will redraw the item when displayed) item.setData(itemData); // update group - if (oldGroupId != item.data.group) { + if (oldGroupId != item.data.group || oldSubGroupId != item.data.subgroup) { var oldGroup = this.groups[oldGroupId]; if (oldGroup) oldGroup.remove(item); @@ -17279,7 +17293,7 @@ return /******/ (function(modules) { // webpackBootstrap }; var id; - var previousPopupObjId = this.popupObj === undefined ? "" : this.popupObj.id; + var previousPopupObjId = this.popupObj === undefined ? undefined : this.popupObj.id; var nodeUnderCursor = false; var popupType = "node"; @@ -25315,7 +25329,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {//! moment.js - //! version : 2.10.0 + //! version : 2.10.2 //! authors : Tim Wood, Iskren Chernev, Moment.js contributors //! license : MIT //! momentjs.com @@ -25328,7 +25342,7 @@ return /******/ (function(modules) { // webpackBootstrap var hookCallback; - function hooks__hooks () { + function utils_hooks__hooks () { return hookCallback.apply(null, arguments); } @@ -25392,7 +25406,7 @@ return /******/ (function(modules) { // webpackBootstrap return a; } - function utc__createUTC (input, format, locale, strict) { + function create_utc__createUTC (input, format, locale, strict) { return createLocalOrUTC(input, format, locale, strict, true).utc(); } @@ -25417,7 +25431,7 @@ return /******/ (function(modules) { // webpackBootstrap } function valid__createInvalid (flags) { - var m = utc__createUTC(NaN); + var m = create_utc__createUTC(NaN); if (flags != null) { extend(m._pf, flags); } @@ -25428,7 +25442,7 @@ return /******/ (function(modules) { // webpackBootstrap return m; } - var momentProperties = hooks__hooks.momentProperties = []; + var momentProperties = utils_hooks__hooks.momentProperties = []; function copyConfig(to, from) { var i, prop, val; @@ -25487,7 +25501,7 @@ return /******/ (function(modules) { // webpackBootstrap // objects. if (updateInProgress === false) { updateInProgress = true; - hooks__hooks.updateOffset(this); + utils_hooks__hooks.updateOffset(this); updateInProgress = false; } } @@ -25572,7 +25586,7 @@ return /******/ (function(modules) { // webpackBootstrap !(function webpackMissingModule() { var e = new Error("Cannot find module \"./locale\""); e.code = 'MODULE_NOT_FOUND'; throw e; }()); // because defineLocale currently also sets the global locale, we // want to undo that for lazy loaded locales - locales__getSetGlobalLocale(oldLocale); + locale_locales__getSetGlobalLocale(oldLocale); } catch (e) { } } return locales[name]; @@ -25581,11 +25595,11 @@ return /******/ (function(modules) { // webpackBootstrap // This function will load locale and then set the global locale. If // no arguments are passed in, it will simply return the current global // locale key. - function locales__getSetGlobalLocale (key, values) { + function locale_locales__getSetGlobalLocale (key, values) { var data; if (key) { if (typeof values === 'undefined') { - data = locales__getLocale(key); + data = locale_locales__getLocale(key); } else { data = defineLocale(key, values); @@ -25609,7 +25623,7 @@ return /******/ (function(modules) { // webpackBootstrap locales[name].set(values); // backwards compat for now: also set the locale - locales__getSetGlobalLocale(name); + locale_locales__getSetGlobalLocale(name); return locales[name]; } else { @@ -25620,7 +25634,7 @@ return /******/ (function(modules) { // webpackBootstrap } // returns locale data - function locales__getLocale (key) { + function locale_locales__getLocale (key) { var locale; if (key && key._locale && key._locale._abbr) { @@ -25675,7 +25689,7 @@ return /******/ (function(modules) { // webpackBootstrap return function (value) { if (value != null) { get_set__set(this, unit, value); - hooks__hooks.updateOffset(this, keepTime); + utils_hooks__hooks.updateOffset(this, keepTime); return this; } else { return get_set__get(this, unit); @@ -25958,7 +25972,7 @@ return /******/ (function(modules) { // webpackBootstrap for (i = 0; i < 12; i++) { // make the regex if we don't have it already - mom = utc__createUTC([2000, i]); + mom = create_utc__createUTC([2000, i]); if (strict && !this._longMonthsParse[i]) { this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i'); this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i'); @@ -26000,7 +26014,7 @@ return /******/ (function(modules) { // webpackBootstrap function getSetMonth (value) { if (value != null) { setMonth(this, value); - hooks__hooks.updateOffset(this, true); + utils_hooks__hooks.updateOffset(this, true); return this; } else { return get_set__get(this, 'Month'); @@ -26036,7 +26050,7 @@ return /******/ (function(modules) { // webpackBootstrap } function warn(msg) { - if (hooks__hooks.suppressDeprecationWarnings === false && typeof console !== 'undefined' && console.warn) { + if (utils_hooks__hooks.suppressDeprecationWarnings === false && typeof console !== 'undefined' && console.warn) { console.warn('Deprecation warning: ' + msg); } } @@ -26061,7 +26075,7 @@ return /******/ (function(modules) { // webpackBootstrap } } - hooks__hooks.suppressDeprecationWarnings = false; + utils_hooks__hooks.suppressDeprecationWarnings = false; var from_string__isoRegex = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; @@ -26125,11 +26139,11 @@ return /******/ (function(modules) { // webpackBootstrap configFromISO(config); if (config._isValid === false) { delete config._isValid; - hooks__hooks.createFromInputFallback(config); + utils_hooks__hooks.createFromInputFallback(config); } } - hooks__hooks.createFromInputFallback = deprecate( + utils_hooks__hooks.createFromInputFallback = deprecate( 'moment construction falls back to js Date. This is ' + 'discouraged and will be removed in upcoming major ' + 'release. Please refer to ' + @@ -26181,7 +26195,7 @@ return /******/ (function(modules) { // webpackBootstrap addParseToken(['YYYY', 'YYYYY', 'YYYYYY'], YEAR); addParseToken('YY', function (input, array) { - array[YEAR] = hooks__hooks.parseTwoDigitYear(input); + array[YEAR] = utils_hooks__hooks.parseTwoDigitYear(input); }); // HELPERS @@ -26196,7 +26210,7 @@ return /******/ (function(modules) { // webpackBootstrap // HOOKS - hooks__hooks.parseTwoDigitYear = function (input) { + utils_hooks__hooks.parseTwoDigitYear = function (input) { return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); }; @@ -26455,12 +26469,12 @@ return /******/ (function(modules) { // webpackBootstrap config._dayOfYear = temp.dayOfYear; } - hooks__hooks.ISO_8601 = function () {}; + utils_hooks__hooks.ISO_8601 = function () {}; // date from string and format string function configFromStringAndFormat(config) { // TODO: Move this to another part of the creation flow to prevent circular deps - if (config._f === hooks__hooks.ISO_8601) { + if (config._f === utils_hooks__hooks.ISO_8601) { configFromISO(config); return; } @@ -26606,7 +26620,7 @@ return /******/ (function(modules) { // webpackBootstrap format = config._f, res; - config._locale = config._locale || locales__getLocale(config._l); + config._locale = config._locale || locale_locales__getLocale(config._l); if (input === null || (format === undefined && input === '')) { return valid__createInvalid({nullInput: true}); @@ -26655,7 +26669,7 @@ return /******/ (function(modules) { // webpackBootstrap // from milliseconds config._d = new Date(input); } else { - hooks__hooks.createFromInputFallback(config); + utils_hooks__hooks.createFromInputFallback(config); } } @@ -26764,7 +26778,7 @@ return /******/ (function(modules) { // webpackBootstrap this._data = {}; - this._locale = locales__getLocale(); + this._locale = locale_locales__getLocale(); this._bubble(); } @@ -26821,7 +26835,7 @@ return /******/ (function(modules) { // webpackBootstrap diff = (isMoment(input) || isDate(input) ? +input : +local__createLocal(input)) - (+res); // Use low-level api, because this fn is low-level api. res._d.setTime(+res._d + diff); - hooks__hooks.updateOffset(res, false); + utils_hooks__hooks.updateOffset(res, false); return res; } else { return local__createLocal(input).local(); @@ -26839,7 +26853,7 @@ return /******/ (function(modules) { // webpackBootstrap // This function will be called whenever a moment is mutated. // It is intended to keep the offset in sync with the timezone. - hooks__hooks.updateOffset = function () {}; + utils_hooks__hooks.updateOffset = function () {}; // MOMENTS @@ -26876,7 +26890,7 @@ return /******/ (function(modules) { // webpackBootstrap add_subtract__addSubtract(this, create__createDuration(input - offset, 'm'), 1, false); } else if (!this._changeInProgress) { this._changeInProgress = true; - hooks__hooks.updateOffset(this, true); + utils_hooks__hooks.updateOffset(this, true); this._changeInProgress = null; } } @@ -26945,7 +26959,7 @@ return /******/ (function(modules) { // webpackBootstrap function isDaylightSavingTimeShifted () { if (this._a) { - var other = this._isUTC ? utc__createUTC(this._a) : local__createLocal(this._a); + var other = this._isUTC ? create_utc__createUTC(this._a) : local__createLocal(this._a); return this.isValid() && compareArrays(this._a, other.toArray()) > 0; } @@ -27031,6 +27045,8 @@ return /******/ (function(modules) { // webpackBootstrap return ret; } + create__createDuration.fn = Duration.prototype; + function parseIso (inp, sign) { // We'd normally use ~~inp for this, but unfortunately it also // converts floats to ints. @@ -27100,14 +27116,14 @@ return /******/ (function(modules) { // webpackBootstrap setMonth(mom, get_set__get(mom, 'Month') + months * isAdding); } if (updateOffset) { - hooks__hooks.updateOffset(mom, days || months); + utils_hooks__hooks.updateOffset(mom, days || months); } } var add_subtract__add = createAdder(1, 'add'); var add_subtract__subtract = createAdder(-1, 'subtract'); - function calendar__calendar (time) { + function moment_calendar__calendar (time) { // We want to compare the start of today, vs this. // Getting start-of-today depends on whether we're local/utc/offset or not. var now = time || local__createLocal(), @@ -27220,7 +27236,7 @@ return /******/ (function(modules) { // webpackBootstrap return -(wholeMonthDiff + adjust); } - hooks__hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; + utils_hooks__hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; function toString () { return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); @@ -27241,7 +27257,7 @@ return /******/ (function(modules) { // webpackBootstrap } function format (inputString) { - var output = formatMoment(this, inputString || hooks__hooks.defaultFormat); + var output = formatMoment(this, inputString || utils_hooks__hooks.defaultFormat); return this.localeData().postformat(output); } @@ -27259,7 +27275,7 @@ return /******/ (function(modules) { // webpackBootstrap if (key === undefined) { return this._locale._abbr; } else { - newLocaleData = locales__getLocale(key); + newLocaleData = locale_locales__getLocale(key); if (newLocaleData != null) { this._locale = newLocaleData; } @@ -27307,7 +27323,6 @@ return /******/ (function(modules) { // webpackBootstrap /* falls through */ case 'second': this.milliseconds(0); - /* falls through */ } // weeks are a special case @@ -27401,7 +27416,7 @@ return /******/ (function(modules) { // webpackBootstrap }); addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { - week[token] = hooks__hooks.parseTwoDigitYear(input); + week[token] = utils_hooks__hooks.parseTwoDigitYear(input); }); // HELPERS @@ -27746,7 +27761,7 @@ return /******/ (function(modules) { // webpackBootstrap var momentPrototype__proto = Moment.prototype; momentPrototype__proto.add = add_subtract__add; - momentPrototype__proto.calendar = calendar__calendar; + momentPrototype__proto.calendar = moment_calendar__calendar; momentPrototype__proto.clone = clone; momentPrototype__proto.diff = diff; momentPrototype__proto.endOf = endOf; @@ -27929,7 +27944,7 @@ return /******/ (function(modules) { // webpackBootstrap return typeof format === 'function' ? format(output) : format.replace(/%s/i, output); } - function set__set (config) { + function locale_set__set (config) { var prop, i; for (i in config) { prop = config[i]; @@ -27960,7 +27975,7 @@ return /******/ (function(modules) { // webpackBootstrap prototype__proto._relativeTime = defaultRelativeTime; prototype__proto.relativeTime = relative__relativeTime; prototype__proto.pastFuture = pastFuture; - prototype__proto.set = set__set; + prototype__proto.set = locale_set__set; // Month prototype__proto.months = localeMonths; @@ -27990,8 +28005,8 @@ return /******/ (function(modules) { // webpackBootstrap prototype__proto.meridiem = localeMeridiem; function lists__get (format, index, field, setter) { - var locale = locales__getLocale(); - var utc = utc__createUTC().set(setter, index); + var locale = locale_locales__getLocale(); + var utc = create_utc__createUTC().set(setter, index); return locale[field](utc, format); } @@ -28035,7 +28050,7 @@ return /******/ (function(modules) { // webpackBootstrap return list(format, index, 'weekdaysMin', 7, 'day'); } - locales__getSetGlobalLocale('en', { + locale_locales__getSetGlobalLocale('en', { ordinalParse: /\d{1,2}(th|st|nd|rd)/, ordinal : function (number) { var b = number % 10, @@ -28048,12 +28063,12 @@ return /******/ (function(modules) { // webpackBootstrap }); // Side effect imports - hooks__hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', locales__getSetGlobalLocale); - hooks__hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', locales__getLocale); + utils_hooks__hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', locale_locales__getSetGlobalLocale); + utils_hooks__hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', locale_locales__getLocale); var mathAbs = Math.abs; - function abs__abs () { + function duration_abs__abs () { var data = this._data; this._milliseconds = mathAbs(this._milliseconds); @@ -28171,7 +28186,7 @@ return /******/ (function(modules) { // webpackBootstrap } // TODO: Use this.as('ms')? - function as__valueOf () { + function duration_as__valueOf () { return ( this._milliseconds + this._days * 864e5 + @@ -28195,7 +28210,7 @@ return /******/ (function(modules) { // webpackBootstrap var asMonths = makeAs('M'); var asYears = makeAs('y'); - function get__get (units) { + function duration_get__get (units) { units = normalizeUnits(units); return this[units + 's'](); } @@ -28206,7 +28221,7 @@ return /******/ (function(modules) { // webpackBootstrap }; } - var get__milliseconds = makeGetter('milliseconds'); + var duration_get__milliseconds = makeGetter('milliseconds'); var seconds = makeGetter('seconds'); var minutes = makeGetter('minutes'); var hours = makeGetter('hours'); @@ -28232,7 +28247,7 @@ return /******/ (function(modules) { // webpackBootstrap return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); } - function humanize__relativeTime (posNegDuration, withoutSuffix, locale) { + function duration_humanize__relativeTime (posNegDuration, withoutSuffix, locale) { var duration = create__createDuration(posNegDuration).abs(); var seconds = round(duration.as('s')); var minutes = round(duration.as('m')); @@ -28259,7 +28274,7 @@ return /******/ (function(modules) { // webpackBootstrap } // This function allows you to set a threshold for relative time strings - function humanize__getSetRelativeTimeThreshold (threshold, limit) { + function duration_humanize__getSetRelativeTimeThreshold (threshold, limit) { if (thresholds[threshold] === undefined) { return false; } @@ -28272,7 +28287,7 @@ return /******/ (function(modules) { // webpackBootstrap function humanize (withSuffix) { var locale = this.localeData(); - var output = humanize__relativeTime(this, !withSuffix, locale); + var output = duration_humanize__relativeTime(this, !withSuffix, locale); if (withSuffix) { output = locale.pastFuture(+this, output); @@ -28312,7 +28327,7 @@ return /******/ (function(modules) { // webpackBootstrap var duration_prototype__proto = Duration.prototype; - duration_prototype__proto.abs = abs__abs; + duration_prototype__proto.abs = duration_abs__abs; duration_prototype__proto.add = duration_add_subtract__add; duration_prototype__proto.subtract = duration_add_subtract__subtract; duration_prototype__proto.as = as; @@ -28324,10 +28339,10 @@ return /******/ (function(modules) { // webpackBootstrap duration_prototype__proto.asWeeks = asWeeks; duration_prototype__proto.asMonths = asMonths; duration_prototype__proto.asYears = asYears; - duration_prototype__proto.valueOf = as__valueOf; + duration_prototype__proto.valueOf = duration_as__valueOf; duration_prototype__proto._bubble = bubble; - duration_prototype__proto.get = get__get; - duration_prototype__proto.milliseconds = get__milliseconds; + duration_prototype__proto.get = duration_get__get; + duration_prototype__proto.milliseconds = duration_get__milliseconds; duration_prototype__proto.seconds = seconds; duration_prototype__proto.minutes = minutes; duration_prototype__proto.hours = hours; @@ -28365,33 +28380,33 @@ return /******/ (function(modules) { // webpackBootstrap // Side effect imports - hooks__hooks.version = '2.10.0'; + utils_hooks__hooks.version = '2.10.2'; setHookCallback(local__createLocal); - hooks__hooks.fn = momentPrototype; - hooks__hooks.min = min; - hooks__hooks.max = max; - hooks__hooks.utc = utc__createUTC; - hooks__hooks.unix = moment__createUnix; - hooks__hooks.months = lists__listMonths; - hooks__hooks.isDate = isDate; - hooks__hooks.locale = locales__getSetGlobalLocale; - hooks__hooks.invalid = valid__createInvalid; - hooks__hooks.duration = create__createDuration; - hooks__hooks.isMoment = isMoment; - hooks__hooks.weekdays = lists__listWeekdays; - hooks__hooks.parseZone = moment__createInZone; - hooks__hooks.localeData = locales__getLocale; - hooks__hooks.isDuration = isDuration; - hooks__hooks.monthsShort = lists__listMonthsShort; - hooks__hooks.weekdaysMin = lists__listWeekdaysMin; - hooks__hooks.defineLocale = defineLocale; - hooks__hooks.weekdaysShort = lists__listWeekdaysShort; - hooks__hooks.normalizeUnits = normalizeUnits; - hooks__hooks.relativeTimeThreshold = humanize__getSetRelativeTimeThreshold; - - var _moment = hooks__hooks; + utils_hooks__hooks.fn = momentPrototype; + utils_hooks__hooks.min = min; + utils_hooks__hooks.max = max; + utils_hooks__hooks.utc = create_utc__createUTC; + utils_hooks__hooks.unix = moment__createUnix; + utils_hooks__hooks.months = lists__listMonths; + utils_hooks__hooks.isDate = isDate; + utils_hooks__hooks.locale = locale_locales__getSetGlobalLocale; + utils_hooks__hooks.invalid = valid__createInvalid; + utils_hooks__hooks.duration = create__createDuration; + utils_hooks__hooks.isMoment = isMoment; + utils_hooks__hooks.weekdays = lists__listWeekdays; + utils_hooks__hooks.parseZone = moment__createInZone; + utils_hooks__hooks.localeData = locale_locales__getLocale; + utils_hooks__hooks.isDuration = isDuration; + utils_hooks__hooks.monthsShort = lists__listMonthsShort; + utils_hooks__hooks.weekdaysMin = lists__listWeekdaysMin; + utils_hooks__hooks.defineLocale = defineLocale; + utils_hooks__hooks.weekdaysShort = lists__listWeekdaysShort; + utils_hooks__hooks.normalizeUnits = normalizeUnits; + utils_hooks__hooks.relativeTimeThreshold = duration_humanize__getSetRelativeTimeThreshold; + + var _moment = utils_hooks__hooks; return _moment; diff --git a/dist/vis.map b/dist/vis.map index ce3f7ed9..bd5f105d 100644 --- a/dist/vis.map +++ b/dist/vis.map @@ -1 +1 @@ -{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","gephiParser","Graph","Error","moment","hammer","isNumber","object","Number","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","floor","random","toString","extend","a","b","i","len","arguments","length","other","prop","hasOwnProperty","selectiveExtend","props","Array","isArray","selectiveDeepExtend","TypeError","constructor","Object","undefined","deepExtend","selectiveNotDeepExtend","indexOf","equalArray","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","getAbsoluteLeft","elem","getBoundingClientRect","left","window","pageXOffset","getAbsoluteTop","top","pageYOffset","addClassName","className","classes","split","push","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","returnValue","getTarget","target","srcElement","nodeType","parentNode","hasParent","parent","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","slice","parseColor","isValidRGB","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","f","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easeInOutQuad","start","end","duration","change","easingFunctions","linear","easeInQuad","easeOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","labelObj","point","drawPoints","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","prototype","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","col","cols","getValue","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","args","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","refresh","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","fn","context","entry","clearTimeout","setTimeout","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","_setScale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","obj","sortNumber","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","hasChildNodes","firstChild","position","overflow","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","pos","horizontal","vertical","setArmRotation","distance","setArmLength","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","getCurrent","next","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","j","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","getScale","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis2","currentTime","customTime","itemSet","itemsData","groupsData","getEventProperties","oncontextmenu","setGroups","setItems","_redraw","Core","markDirty","refreshItems","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animate","fit","setSelection","focus","getSelection","itemData","getItemRange","dataset","minItem","maxStartItem","maxEndItem","itemFromTarget","groupFromTarget","pageX","gesture","pageY","centerContainer","snap","time","snappedTime","what","foreground","labelSet","groupId","linegraph","getLegend","isGroupVisible","visibility","yAxisLeft","yAxisRight","legendLeft","legendRight","hidden","screenToValue","convertHiddenOptions","repeat","dateItem","updateHiddenDates","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","console","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","alignZeros","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","decimals","exp","cnt","isMajor","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","hammerUtil","byUser","_cancelAnimation","initStart","initEnd","initTime","anyChanged","dragging","done","changed","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","format","FORMAT","minorLabels","millisecond","second","minute","hour","weekday","majorLabels","setFormat","defaultFormat","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","getLabelMinor","getLabelMajor","getClassName","even","today","isSame","currentWeek","currentMonth","currentYear","locale","lang","toLowerCase","selected","displayed","dirty","Hammer","select","unselect","groupChanged","_moveToGroup","setParent","hide","show","isVisible","repositionX","repositionY","_repaintDeleteButton","anchor","editable","deleteButton","title","stopPropagation","removeFromDataSet","_updateContents","template","Element","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","emptyContent","baseClassName","box","getComputedStyle","onTop","itemSubgroup","subgroupIndex","totalHeight","newHeight","align","itemSetHeight","marginLeft","maxWidth","_repaintDragLeft","_repaintDragRight","limitSize","contentLeft","parentWidth","boxWidth","updateTime","dragLeft","dragLeftItem","dragRight","dragRightItem","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","backgroundVertical","warned","toUpperCase","substring","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","drag","prevent_default","setCustomTime","getCustomTime","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","zeroCrossing","lineOffset","master","svgElements","iconsRemoved","amountOfGroups","lineContainer","scrollTop","addGroup","graphOptions","updateGroup","removeGroup","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","_cleanupIcons","backgroundHorizontal","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","_redrawTitle","amountOfSteps","stepDifference","zeroStepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","textTitle","measureCharTitle","titleCharWidth","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","Line","Bar","Points","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","getYRange","groupData","draw","framework","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","checkRangedItems","inner","marker","getLabelWidth","restack","markerHeight","lastMarkerHeight","customOrderedItems","_updateVisibleItems","_calculateHeight","offsetTop","offsetLeft","ii","resetSubgroups","orderSubgroups","_checkIfVisible","sortArray","sortField","removeItem","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","groupOrder","selectable","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupOptions","oldGroupId","oldGroup","_constructByEndArray","initialX","itemProps","srcEvent","ctrlKey","_onDragStartAddItem","xAbs","newItem","initial","initialStart","initialEnd","changes","shiftKey","oldSelection","newSelection","_getItemRange","_item","itemSetFromTarget","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","COUNTER","BarGraphFunctions","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedDataLeft","barCombinedDataRight","getStackedBarYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","labelValue","majorTexts","minorTexts","lineTop","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","cur","prevLine","xPrev","xFirstMajorLabel","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_determineBrowserMethod","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","physicsTime","runDoubleSpeed","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","customScalingFunction","nodes","mass","radiusMin","radiusMax","shape","image","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","fontDrawThreshold","scaleFontWithValue","fontSizeMin","fontSizeMax","fontSizeMaxVisible","level","borderWidthSelected","edges","widthSelectionMultiplier","hoverWidth","labelAlignment","arrowScaleFactor","dash","gap","altLength","inheritColor","useGradients","configurePhysics","physics","barnesHut","thetaInverted","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","clustering","initialMaxNodes","clusterThreshold","reduceToNodes","chainThreshold","clusterEdgeThreshold","sectorThreshold","screenSizeThreshold","fontSizeMultiplier","maxFontSize","forceAmplification","distanceAmplification","edgeGrowth","nodeScaling","maxNodeSizeIncrements","activeAreaBoxSize","clusterLevelDifference","clusterByZoom","navigation","keyboard","speed","bindToWindow","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","layout","freezeForStabilization","smoothCurves","dynamic","roundness","maxVelocity","minVelocity","stabilize","stabilizationIterations","zoomExtentOnStabilize","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","useDefaultGroups","constants","pixelRatio","hoverObj","controlNodesActive","navigationHammers","manipulationHammers","animationSpeed","animationEasingFunction","animating","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","redrawRequested","images","setOnloadCallback","status","_requestRedraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulationEnabled","cachedFunctions","startedStabilization","stabilized","draggingNodes","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","keycharm","MixinLoader","Activator","browserType","requiresTimeout","_getScriptPath","scripts","getElementsByTagName","src","_getRange","specificNodes","node","minY","maxY","minX","maxX","boundingBox","nodeId","_findCenter","initialZoom","disableStart","zoomLevel","positionDefined","predefinedPosition","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","animation","_updateNodeIndexList","_clearNodeIndexList","idx","_unselectAll","_createManipulatorBar","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_resetLevels","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","clickToUse","activator","_createKeyBinds","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","_bindHammer","_markAllEdgesAsDirty","tabIndex","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","dispose","pinch","_onTap","_onDoubleTap","_onMouseMoveTitle","hammerFrame","_onRelease","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_deleteSelected","_cleanupPhysicsConfiguration","_recursiveDOMDelete","DOMobject","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","nodeIds","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","releaseNode","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleDragEnd","_handleTap","_handleDoubleTap","_handleOnHold","_handleOnRelease","_zoom","scaleOld","preScaleDragPointer","DOMtoCanvas","scaleFrac","tx","ty","updateClustersDefault","postScaleDragPointer","canvasToDOM","popupVisible","popup","_checkHidePopup","setPosition","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","previousPopupObjId","popupObj","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","edge","connected","popupTargetType","popupTargetId","setText","pointerObj","stillOnObj","overNode","emitEvent","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","setProperties","properties","colorDirty","_removeFromSelection","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","valueTotal","setValueRange","requestAnimationFrame","requested","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","_revertPhysicsState","revertPosition","_revertPhysicsTick","_doInAllActiveSectors","_doInSupportSector","mainMovingStatus","supportMovingStatus","mainMoving","_animationStep","_handleNavigation","startTime","renderStartTime","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","iterations","freezeSimulation","freeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","storePositions","dataArray","allowedToMoveX","allowedToMoveY","getPositions","focusOnNode","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","_lockedRedraw","active","getCenterCoordinates","getBoundingBox","getConnectedNodes","nodeList","nodeObj","toId","fromId","getEdgesFromNode","edgesList","generateColorObject","networkConstants","widthSelected","labelDimensions","yLine","dirtyLabel","fromBackup","toBackup","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","widthDiff","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","fromColor","toColor","grd","createLinearGradient","addColorStop","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","pi","originalAngle","atan2","myAngle","quadraticCurveTo","lineCount","measureText","_rotateForLabelAlignment","_drawLabelRect","_drawLabelText","angleInDegrees","rotate","lineMargin","fillRect","lineJoin","strokeText","setLineDash","pattern","lineDashOffset","lineCap","dashedLine","percentage","arrow","_pointOnBezier","_findBorderPosition","distanceToBorder","distanceToNodes","difference","threshold","arrowPos","guidePos","edgeSegmentLength","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodeFromPosition","getControlNodeToPosition","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","controlnodeFromPos","fromBorderDist","fromBorderPoint","controlnodeToPos","defaultIndex","groupsArray","groupIndex","DEFAULT","groupName","imageBroken","load","url","brokenUrl","img","Image","onload","onerror","error","imagelist","grouplist","reroutedEdges","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","hierarchyEnumerated","fx","fy","vx","vy","previousState","resetCluster","clusterSession","clusterSizeWidthFactor","clusterSizeHeightFactor","clusterSizeRadiusFactor","growthIndicator","networkScale","formationScale","clusterSize","containedNodes","containedEdges","clusterSessions","originalLabel","triggerFunction","groupObj","imageObj","brokenImage","_drawDatabase","_resizeDatabase","_drawBox","_resizeBox","_drawCircle","_resizeCircle","_drawEllipse","_resizeEllipse","_drawImage","_resizeImage","_drawCircularImage","_resizeCircularImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_drawIcon","_resizeIcon","_reset","clearSizeCache","_setForce","_addForce","storeState","isFixed","velocity","getDistance","radiusDiff","fontDiff","_drawImageAtPosition","globalAlpha","drawImage","_drawImageLabel","getTextSize","_swapToImageResizeWhenImageLoaded","diameter","centerX","centerY","_drawRawCircle","circle","clip","textSize","clusterLineWidth","selectionLineWidth","roundRect","database","defaultSize","ellipse","_drawShape","radiusMultiplier","_icon","iconTextSpacing","relativeIconSize","iconFontFace","iconColor","baseline","labelUnderNode","relativeFontSize","strokecolor","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","fontFamily","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","o","addNode","graphs","attr","addEdge","createEdge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","array1","array2","elem1","elem2","graphData","dotNode","graphNode","convertEdge","dotEdge","graphEdge","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","listeners","events","scrollTopMin","redrawCount","_initAutoResize","component","_stopAutoResize","barId","addCustomTime","numIds","customBarId","ts","customBarIds","removeCustomTime","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","barCombinedData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","accumulated","groupLabel","_getStackedBarYRange","xpos","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","manipulationDiv","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","overlay","_onTapOverlay","windowHammer","_hasParent","deactivate","escListener","activate","unbind","back","editNode","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","n","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","dashArray","dashLength","dashCount","slope","distRemaining","dashIndex","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","code","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","global","hooks__hooks","hookCallback","setHookCallback","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","input","res","hasOwnProp","utc__createUTC","createLocalOrUTC","utc","valid__isValid","_isValid","getTime","_pf","_strict","bigHour","valid__createInvalid","flags","NaN","copyConfig","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","dontConvert","lengthDiff","diffs","Locale","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","globalLocale","_abbr","locales__getSetGlobalLocale","locales__getLocale","defineLocale","abbr","set","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","makeGetSet","keepTime","get_set__set","get_set__get","mom","getSet","zeroFill","number","targetLength","forceSign","output","addFormatToken","padded","ordinal","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","isValid","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","unescapeFormat","matched","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","UTC","getUTCDate","localeMonths","_months","localeMonthsShort","_monthsShort","localeMonthsParse","monthName","_monthsParse","_longMonthsParse","_shortMonthsParse","months","monthsShort","dayOfMonth","monthsParse","getSetMonth","getDaysInMonth","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","warn","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecateSimple","deprecations","configFromISO","l","string","from_string__isoRegex","isoDates","isoTimes","matchOffset","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","createDate","ms","createUTCDate","setUTCFullYear","daysInYear","isLeapYear","getIsLeapYear","weekOfYear","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","local__createLocal","week","localeWeek","_week","dow","doy","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","dayOfYearFromWeeks","daysToAdd","getUTCDay","getSetDayOfYear","startOf","defaults","currentDateArray","_useUTC","getUTCFullYear","getUTCMonth","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","temp","GG","W","E","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","_meridiem","meridiem","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","createFromConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","years","quarters","quarter","weeks","days","_milliseconds","_days","_bubble","isDuration","separator","utcOffset","offsetFromString","matches","chunk","chunkOffset","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","_changeInProgress","add_subtract__addSubtract","create__createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","create__isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","base","isAfter","isBefore","createAdder","period","dur","tmp","isAdding","calendar__calendar","sod","calendar","inputMs","endOf","isBetween","absFloor","asFloat","that","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","moment_format__toISOString","inputString","postformat","withoutSuffix","humanize","fromNow","newLocaleData","isoWeekday","to_type__valueOf","unix","moment_valid__isValid","parsingFlags","invalidAt","addWeekYearFormatToken","getter","weeksInYear","getSetWeekYear","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","getSetQuarter","parseWeekday","weekdaysParse","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","localeWeekdaysParse","weekdayName","_weekdaysParse","weekdays","weekdaysShort","weekdaysMin","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","lowercase","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","millisecond__milliseconds","getZoneAbbr","getZoneName","moment__createUnix","moment__createInZone","parseZone","locale_calendar__calendar","_calendar","_longDateFormat","_invalidDate","_ordinal","preParsePostFormat","relative__relativeTime","isFuture","_relativeTime","pastFuture","set__set","_ordinalParseLenient","_ordinalParse","lists__get","setter","list","out","lists__listMonths","lists__listMonthsShort","lists__listWeekdays","lists__listWeekdaysShort","lists__listWeekdaysMin","abs__abs","mathAbs","duration_add_subtract__addSubtract","duration_add_subtract__add","duration_add_subtract__subtract","bubble","daysToYears","yearsToDays","as__valueOf","makeAs","alias","get__get","makeGetter","substituteTimeAgo","relativeTime","humanize__relativeTime","posNegDuration","thresholds","humanize__getSetRelativeTimeThreshold","limit","withSuffix","iso_string__toISOString","Y","iso_string__abs","D","asSeconds","match1","match2","match3","match4","match6","match1to2","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","prototypeMin","prototypeMax","add_subtract__add","add_subtract__subtract","isoWeekYear","getSetDayOfMonth","invalidWeekday","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","defaultLocaleMeridiemParse","getSetHour","getSetMinute","getSetSecond","getSetMillisecond","momentPrototype__proto","toJSON","isoWeek","isoWeeks","isoWeeksInYear","isDST","isDSTShifted","zoneAbbr","zoneName","zone","momentPrototype","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","prototype__proto","firstDayOfYear","ordinalParse","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","get__milliseconds","duration_prototype__proto","toIsoString","version","invalid","relativeTimeThreshold","_moment","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","VERSION","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","inStr","find","inArray","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","trigger","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","graphToggleSmoothCurves","graph_toggleSmooth","getElementById","graphRepositionNodes","showValueOfRange","repositionNodes","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","_restoreNodes","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","clusterToFit","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodes","supportNodeId","gravity","gravityForce","_sector","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","maxGravitational","maxSpring","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","dynamicSmoothCurves","nameArray","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_addSector","decreaseClusterLevel","_expandClusterNode","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","detectedZoomingIn","detectedZoomingOut","_collapseSector","_formClusters","_openClusters","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","_openClustersBySize","openAll","containedNodeId","childNode","_expelChildFromParent","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","children","childrenIds","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","_switchToSector","sectorId","sectorType","_switchToActiveSector","_switchToFrozenSector","_switchToSupportSector","_loadLatestSector","_previousSector","_setActiveSector","newId","_forgetLastSector","_createNewSector","_deleteActiveSector","_deleteFrozenSector","_freezeSector","_activateSector","_mergeThisWithFrozen","_collapseThisToSingleCluster","sector","unqiueIdentifier","previousSector","runFunction","argument","returnValues","_doInAllFrozenSectors","_drawSectorNodes","_drawAllSectorNodes","_getNodesOverlappingWith","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","overrideSelectable","DOM","_manipulationReleaseOverload","_navigationReleaseOverload","getSelectedNodes","edgeIds","getSelectedEdges","idArray","selectNodes","RangeError","selectEdges","_clearManipulatorBar","manipulationDOM","_cleanManipulatorHammers","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","_bindHammerToDiv","boundFunction","edgeBeingEdited","selectedControlNode","domElement","funct","_createAddNodeToolbar","_addNode","_createAddEdgeToolbar","_handleConnect","_finishConnect","_createEditEdgeToolbar","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","_editNode","selectedNodes","selectedEdges","navigationDOM","navigationDivs","navigationDivActions","_stopMovement","_zoomExtent","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","firstNode","_setLevelDirected","parentId","parentLevel","nodeMoved","webpackContext","req","resolve","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","_updateBranchMass","totalMass","totalMassInv","biggestSize","skipMassUpdate","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawTree","_drawBranch","branch","webpackPolyfill","paths"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","gephiParser","Graph","Error","moment","hammer","isNumber","object","Number","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","floor","random","toString","extend","a","b","i","len","arguments","length","other","prop","hasOwnProperty","selectiveExtend","props","Array","isArray","selectiveDeepExtend","TypeError","constructor","Object","undefined","deepExtend","selectiveNotDeepExtend","indexOf","equalArray","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","getAbsoluteLeft","elem","getBoundingClientRect","left","window","pageXOffset","getAbsoluteTop","top","pageYOffset","addClassName","className","classes","split","push","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","returnValue","getTarget","target","srcElement","nodeType","parentNode","hasParent","parent","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","slice","parseColor","isValidRGB","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","f","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easeInOutQuad","start","end","duration","change","easingFunctions","linear","easeInQuad","easeOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","labelObj","point","drawPoints","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","prototype","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","col","cols","getValue","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","args","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","refresh","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","fn","context","entry","clearTimeout","setTimeout","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","_setScale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","obj","sortNumber","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","hasChildNodes","firstChild","position","overflow","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","pos","horizontal","vertical","setArmRotation","distance","setArmLength","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","getCurrent","next","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","j","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","getScale","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis2","currentTime","customTime","itemSet","itemsData","groupsData","getEventProperties","oncontextmenu","setGroups","setItems","_redraw","Core","markDirty","refreshItems","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animate","fit","setSelection","focus","getSelection","itemData","getItemRange","dataset","minItem","maxStartItem","maxEndItem","itemFromTarget","groupFromTarget","pageX","gesture","pageY","centerContainer","snap","time","snappedTime","what","foreground","labelSet","groupId","linegraph","getLegend","isGroupVisible","visibility","yAxisLeft","yAxisRight","legendLeft","legendRight","hidden","screenToValue","convertHiddenOptions","repeat","dateItem","updateHiddenDates","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","console","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","alignZeros","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","decimals","exp","cnt","isMajor","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","hammerUtil","byUser","_cancelAnimation","initStart","initEnd","initTime","anyChanged","dragging","done","changed","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","format","FORMAT","minorLabels","millisecond","second","minute","hour","weekday","majorLabels","setFormat","defaultFormat","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","getLabelMinor","getLabelMajor","getClassName","even","today","isSame","currentWeek","currentMonth","currentYear","locale","lang","toLowerCase","selected","displayed","dirty","Hammer","select","unselect","groupChanged","_moveToGroup","setParent","hide","show","isVisible","repositionX","repositionY","_repaintDeleteButton","anchor","editable","deleteButton","title","stopPropagation","removeFromDataSet","_updateContents","template","_contentToString","Element","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","outerHTML","emptyContent","baseClassName","box","getComputedStyle","onTop","itemSubgroup","subgroupIndex","totalHeight","newHeight","align","itemSetHeight","marginLeft","maxWidth","_repaintDragLeft","_repaintDragRight","limitSize","contentLeft","parentWidth","boxWidth","updateTime","dragLeft","dragLeftItem","dragRight","dragRightItem","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","backgroundVertical","warned","toUpperCase","substring","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","drag","prevent_default","setCustomTime","getCustomTime","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","zeroCrossing","lineOffset","master","svgElements","iconsRemoved","amountOfGroups","lineContainer","scrollTop","addGroup","graphOptions","updateGroup","removeGroup","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","_cleanupIcons","backgroundHorizontal","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","_redrawTitle","amountOfSteps","stepDifference","zeroStepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","textTitle","measureCharTitle","titleCharWidth","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","Line","Bar","Points","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","getYRange","groupData","draw","framework","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","checkRangedItems","inner","marker","getLabelWidth","restack","markerHeight","lastMarkerHeight","customOrderedItems","_updateVisibleItems","_calculateHeight","offsetTop","offsetLeft","ii","resetSubgroups","orderSubgroups","_checkIfVisible","sortArray","sortField","removeItem","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","groupOrder","selectable","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupOptions","oldGroupId","oldSubGroupId","oldGroup","_constructByEndArray","initialX","itemProps","srcEvent","ctrlKey","_onDragStartAddItem","xAbs","newItem","initial","initialStart","initialEnd","changes","shiftKey","oldSelection","newSelection","_getItemRange","_item","itemSetFromTarget","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","COUNTER","BarGraphFunctions","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedDataLeft","barCombinedDataRight","getStackedBarYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","labelValue","majorTexts","minorTexts","lineTop","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","cur","prevLine","xPrev","xFirstMajorLabel","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_determineBrowserMethod","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","physicsTime","runDoubleSpeed","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","customScalingFunction","nodes","mass","radiusMin","radiusMax","shape","image","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","fontDrawThreshold","scaleFontWithValue","fontSizeMin","fontSizeMax","fontSizeMaxVisible","level","borderWidthSelected","edges","widthSelectionMultiplier","hoverWidth","labelAlignment","arrowScaleFactor","dash","gap","altLength","inheritColor","useGradients","configurePhysics","physics","barnesHut","thetaInverted","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","clustering","initialMaxNodes","clusterThreshold","reduceToNodes","chainThreshold","clusterEdgeThreshold","sectorThreshold","screenSizeThreshold","fontSizeMultiplier","maxFontSize","forceAmplification","distanceAmplification","edgeGrowth","nodeScaling","maxNodeSizeIncrements","activeAreaBoxSize","clusterLevelDifference","clusterByZoom","navigation","keyboard","speed","bindToWindow","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","layout","freezeForStabilization","smoothCurves","dynamic","roundness","maxVelocity","minVelocity","stabilize","stabilizationIterations","zoomExtentOnStabilize","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","useDefaultGroups","constants","pixelRatio","hoverObj","controlNodesActive","navigationHammers","manipulationHammers","animationSpeed","animationEasingFunction","animating","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","redrawRequested","images","setOnloadCallback","status","_requestRedraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulationEnabled","cachedFunctions","startedStabilization","stabilized","draggingNodes","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","keycharm","MixinLoader","Activator","browserType","requiresTimeout","_getScriptPath","scripts","getElementsByTagName","src","_getRange","specificNodes","node","minY","maxY","minX","maxX","boundingBox","nodeId","_findCenter","initialZoom","disableStart","zoomLevel","positionDefined","predefinedPosition","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","animation","_updateNodeIndexList","_clearNodeIndexList","idx","_unselectAll","_createManipulatorBar","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_resetLevels","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","clickToUse","activator","_createKeyBinds","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","_bindHammer","_markAllEdgesAsDirty","tabIndex","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","dispose","pinch","_onTap","_onDoubleTap","_onMouseMoveTitle","hammerFrame","_onRelease","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_deleteSelected","_cleanupPhysicsConfiguration","_recursiveDOMDelete","DOMobject","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","nodeIds","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","releaseNode","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleDragEnd","_handleTap","_handleDoubleTap","_handleOnHold","_handleOnRelease","_zoom","scaleOld","preScaleDragPointer","DOMtoCanvas","scaleFrac","tx","ty","updateClustersDefault","postScaleDragPointer","canvasToDOM","popupVisible","popup","_checkHidePopup","setPosition","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","previousPopupObjId","popupObj","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","edge","connected","popupTargetType","popupTargetId","setText","pointerObj","stillOnObj","overNode","emitEvent","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","setProperties","properties","colorDirty","_removeFromSelection","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","valueTotal","setValueRange","requestAnimationFrame","requested","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","_revertPhysicsState","revertPosition","_revertPhysicsTick","_doInAllActiveSectors","_doInSupportSector","mainMovingStatus","supportMovingStatus","mainMoving","_animationStep","_handleNavigation","startTime","renderStartTime","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","iterations","freezeSimulation","freeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","storePositions","dataArray","allowedToMoveX","allowedToMoveY","getPositions","focusOnNode","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","_lockedRedraw","active","getCenterCoordinates","getBoundingBox","getConnectedNodes","nodeList","nodeObj","toId","fromId","getEdgesFromNode","edgesList","generateColorObject","networkConstants","widthSelected","labelDimensions","yLine","dirtyLabel","fromBackup","toBackup","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","widthDiff","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","fromColor","toColor","grd","createLinearGradient","addColorStop","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","pi","originalAngle","atan2","myAngle","quadraticCurveTo","lineCount","measureText","_rotateForLabelAlignment","_drawLabelRect","_drawLabelText","angleInDegrees","rotate","lineMargin","fillRect","lineJoin","strokeText","setLineDash","pattern","lineDashOffset","lineCap","dashedLine","percentage","arrow","_pointOnBezier","_findBorderPosition","distanceToBorder","distanceToNodes","difference","threshold","arrowPos","guidePos","edgeSegmentLength","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodeFromPosition","getControlNodeToPosition","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","controlnodeFromPos","fromBorderDist","fromBorderPoint","controlnodeToPos","defaultIndex","groupsArray","groupIndex","DEFAULT","groupName","imageBroken","load","url","brokenUrl","img","Image","onload","onerror","error","imagelist","grouplist","reroutedEdges","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","hierarchyEnumerated","fx","fy","vx","vy","previousState","resetCluster","clusterSession","clusterSizeWidthFactor","clusterSizeHeightFactor","clusterSizeRadiusFactor","growthIndicator","networkScale","formationScale","clusterSize","containedNodes","containedEdges","clusterSessions","originalLabel","triggerFunction","groupObj","imageObj","brokenImage","_drawDatabase","_resizeDatabase","_drawBox","_resizeBox","_drawCircle","_resizeCircle","_drawEllipse","_resizeEllipse","_drawImage","_resizeImage","_drawCircularImage","_resizeCircularImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_drawIcon","_resizeIcon","_reset","clearSizeCache","_setForce","_addForce","storeState","isFixed","velocity","getDistance","radiusDiff","fontDiff","_drawImageAtPosition","globalAlpha","drawImage","_drawImageLabel","getTextSize","_swapToImageResizeWhenImageLoaded","diameter","centerX","centerY","_drawRawCircle","circle","clip","textSize","clusterLineWidth","selectionLineWidth","roundRect","database","defaultSize","ellipse","_drawShape","radiusMultiplier","_icon","iconTextSpacing","relativeIconSize","iconFontFace","iconColor","baseline","labelUnderNode","relativeFontSize","strokecolor","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","fontFamily","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","o","addNode","graphs","attr","addEdge","createEdge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","array1","array2","elem1","elem2","graphData","dotNode","graphNode","convertEdge","dotEdge","graphEdge","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","listeners","events","scrollTopMin","redrawCount","_initAutoResize","component","_stopAutoResize","barId","addCustomTime","numIds","customBarId","ts","customBarIds","removeCustomTime","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","barCombinedData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","accumulated","groupLabel","_getStackedBarYRange","xpos","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","manipulationDiv","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","overlay","_onTapOverlay","windowHammer","_hasParent","deactivate","escListener","activate","unbind","back","editNode","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","n","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","dashArray","dashLength","dashCount","slope","distRemaining","dashIndex","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","code","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","global","utils_hooks__hooks","hookCallback","setHookCallback","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","input","res","hasOwnProp","create_utc__createUTC","createLocalOrUTC","utc","valid__isValid","_isValid","getTime","_pf","_strict","bigHour","valid__createInvalid","flags","NaN","copyConfig","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","dontConvert","lengthDiff","diffs","Locale","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","globalLocale","_abbr","locale_locales__getSetGlobalLocale","locale_locales__getLocale","defineLocale","abbr","set","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","makeGetSet","keepTime","get_set__set","get_set__get","mom","getSet","zeroFill","number","targetLength","forceSign","output","addFormatToken","padded","ordinal","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","isValid","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","unescapeFormat","matched","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","UTC","getUTCDate","localeMonths","_months","localeMonthsShort","_monthsShort","localeMonthsParse","monthName","_monthsParse","_longMonthsParse","_shortMonthsParse","months","monthsShort","dayOfMonth","monthsParse","getSetMonth","getDaysInMonth","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","warn","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecateSimple","deprecations","configFromISO","l","string","from_string__isoRegex","isoDates","isoTimes","matchOffset","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","createDate","ms","createUTCDate","setUTCFullYear","daysInYear","isLeapYear","getIsLeapYear","weekOfYear","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","local__createLocal","week","localeWeek","_week","dow","doy","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","dayOfYearFromWeeks","daysToAdd","getUTCDay","getSetDayOfYear","startOf","defaults","currentDateArray","_useUTC","getUTCFullYear","getUTCMonth","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","temp","GG","W","E","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","_meridiem","meridiem","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","createFromConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","years","quarters","quarter","weeks","days","_milliseconds","_days","_bubble","isDuration","separator","utcOffset","offsetFromString","matches","chunk","chunkOffset","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","_changeInProgress","add_subtract__addSubtract","create__createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","create__isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","base","isAfter","isBefore","createAdder","period","dur","tmp","isAdding","moment_calendar__calendar","sod","calendar","inputMs","endOf","isBetween","absFloor","asFloat","that","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","moment_format__toISOString","inputString","postformat","withoutSuffix","humanize","fromNow","newLocaleData","isoWeekday","to_type__valueOf","unix","moment_valid__isValid","parsingFlags","invalidAt","addWeekYearFormatToken","getter","weeksInYear","getSetWeekYear","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","getSetQuarter","parseWeekday","weekdaysParse","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","localeWeekdaysParse","weekdayName","_weekdaysParse","weekdays","weekdaysShort","weekdaysMin","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","lowercase","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","millisecond__milliseconds","getZoneAbbr","getZoneName","moment__createUnix","moment__createInZone","parseZone","locale_calendar__calendar","_calendar","_longDateFormat","_invalidDate","_ordinal","preParsePostFormat","relative__relativeTime","isFuture","_relativeTime","pastFuture","locale_set__set","_ordinalParseLenient","_ordinalParse","lists__get","setter","list","out","lists__listMonths","lists__listMonthsShort","lists__listWeekdays","lists__listWeekdaysShort","lists__listWeekdaysMin","duration_abs__abs","mathAbs","duration_add_subtract__addSubtract","duration_add_subtract__add","duration_add_subtract__subtract","bubble","daysToYears","yearsToDays","duration_as__valueOf","makeAs","alias","duration_get__get","makeGetter","substituteTimeAgo","relativeTime","duration_humanize__relativeTime","posNegDuration","thresholds","duration_humanize__getSetRelativeTimeThreshold","limit","withSuffix","iso_string__toISOString","Y","iso_string__abs","D","asSeconds","match1","match2","match3","match4","match6","match1to2","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","prototypeMin","prototypeMax","add_subtract__add","add_subtract__subtract","isoWeekYear","getSetDayOfMonth","invalidWeekday","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","defaultLocaleMeridiemParse","getSetHour","getSetMinute","getSetSecond","getSetMillisecond","momentPrototype__proto","toJSON","isoWeek","isoWeeks","isoWeeksInYear","isDST","isDSTShifted","zoneAbbr","zoneName","zone","momentPrototype","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","prototype__proto","firstDayOfYear","ordinalParse","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","duration_get__milliseconds","duration_prototype__proto","toIsoString","version","invalid","relativeTimeThreshold","_moment","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","VERSION","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","inStr","find","inArray","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","trigger","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","graphToggleSmoothCurves","graph_toggleSmooth","getElementById","graphRepositionNodes","showValueOfRange","repositionNodes","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","_restoreNodes","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","clusterToFit","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodes","supportNodeId","gravity","gravityForce","_sector","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","maxGravitational","maxSpring","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","dynamicSmoothCurves","nameArray","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_addSector","decreaseClusterLevel","_expandClusterNode","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","detectedZoomingIn","detectedZoomingOut","_collapseSector","_formClusters","_openClusters","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","_openClustersBySize","openAll","containedNodeId","childNode","_expelChildFromParent","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","children","childrenIds","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","_switchToSector","sectorId","sectorType","_switchToActiveSector","_switchToFrozenSector","_switchToSupportSector","_loadLatestSector","_previousSector","_setActiveSector","newId","_forgetLastSector","_createNewSector","_deleteActiveSector","_deleteFrozenSector","_freezeSector","_activateSector","_mergeThisWithFrozen","_collapseThisToSingleCluster","sector","unqiueIdentifier","previousSector","runFunction","argument","returnValues","_doInAllFrozenSectors","_drawSectorNodes","_drawAllSectorNodes","_getNodesOverlappingWith","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","overrideSelectable","DOM","_manipulationReleaseOverload","_navigationReleaseOverload","getSelectedNodes","edgeIds","getSelectedEdges","idArray","selectNodes","RangeError","selectEdges","_clearManipulatorBar","manipulationDOM","_cleanManipulatorHammers","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","_bindHammerToDiv","boundFunction","edgeBeingEdited","selectedControlNode","domElement","funct","_createAddNodeToolbar","_addNode","_createAddEdgeToolbar","_handleConnect","_finishConnect","_createEditEdgeToolbar","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","_editNode","selectedNodes","selectedEdges","navigationDOM","navigationDivs","navigationDivActions","_stopMovement","_zoomExtent","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","firstNode","_setLevelDirected","parentId","parentLevel","nodeMoved","webpackContext","req","resolve","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","_updateBranchMass","totalMass","totalMassInv","biggestSize","skipMassUpdate","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawTree","_drawBranch","branch","webpackPolyfill","paths"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAyBA,cAEA,SAA2CA,EAAMC,GAC1B,gBAAZC,UAA0C,gBAAXC,QACxCA,OAAOD,QAAUD,IACQ,kBAAXG,SAAyBA,OAAOC,IAC9CD,OAAOH,GACmB,gBAAZC,SACdA,QAAa,IAAID,IAEjBD,EAAU,IAAIC,KACbK,KAAM,WACT,MAAgB,UAAUC,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BP,WACAS,GAAIF,EACJG,QAAQ,EAUT,OANAL,GAAQE,GAAUI,KAAKV,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOS,QAAS,EAGTT,EAAOD,QAvBf,GAAIQ,KAqCJ,OATAF,GAAoBM,EAAIP,EAGxBC,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,GAGjBR,EAAoB,KAK/B,SAASL,EAAQD,EAASM,GAG9BN,EAAQe,KAAOT,EAAoB,GACnCN,EAAQgB,QAAUV,EAAoB,GAGtCN,EAAQiB,QAAUX,EAAoB,GACtCN,EAAQkB,SAAWZ,EAAoB,GACvCN,EAAQmB,MAAQb,EAAoB,GAGpCN,EAAQoB,QAAUd,EAAoB,GACtCN,EAAQqB,SACNC,OAAQhB,EAAoB,GAC5BiB,OAAQjB,EAAoB,GAC5BkB,QAASlB,EAAoB,GAC7BmB,QAASnB,EAAoB,IAC7BoB,OAAQpB,EAAoB,IAC5BqB,WAAYrB,EAAoB,KAIlCN,EAAQ4B,SAAWtB,EAAoB,IACvCN,EAAQ6B,QAAUvB,EAAoB,IACtCN,EAAQ8B,UACNC,SAAUzB,EAAoB,IAC9B0B,SAAU1B,EAAoB,IAC9B2B,MAAO3B,EAAoB,IAC3B4B,MAAO5B,EAAoB,IAC3B6B,SAAU7B,EAAoB,IAE9B8B,YACEC,OACEC,KAAMhC,EAAoB,IAC1BiC,eAAgBjC,EAAoB,IACpCkC,QAASlC,EAAoB,IAC7BmC,UAAWnC,EAAoB,IAC/BoC,UAAWpC,EAAoB,KAGjCqC,UAAWrC,EAAoB,IAC/BsC,YAAatC,EAAoB,IACjCuC,WAAYvC,EAAoB,IAChCwC,SAAUxC,EAAoB,IAC9ByC,WAAYzC,EAAoB,IAChC0C,MAAO1C,EAAoB,IAC3B2C,gBAAiB3C,EAAoB,IACrC4C,QAAS5C,EAAoB,IAC7B6C,OAAQ7C,EAAoB,IAC5B8C,UAAW9C,EAAoB,IAC/B+C,SAAU/C,EAAoB,MAKlCN,EAAQsD,QAAUhD,EAAoB,IACtCN,EAAQuD,SACNC,KAAMlD,EAAoB,IAC1BmD,OAAQnD,EAAoB,IAC5BoD,OAAQpD,EAAoB,IAC5BqD,KAAMrD,EAAoB,IAC1BsD,MAAOtD,EAAoB,IAC3BuD,UAAWvD,EAAoB,IAC/BwD,YAAaxD,EAAoB,KAInCN,EAAQ+D,MAAQ,WACd,KAAM,IAAIC,OAAM,+EAIlBhE,EAAQiE,OAAS3D,EAAoB,IACrCN,EAAQkE,OAAS5D,EAAoB,KAKjC,SAASL,EAAQD,EAASM,GAM9B,GAAI2D,GAAS3D,EAAoB,GAOjCN,GAAQmE,SAAW,SAASC,GAC1B,MAAQA,aAAkBC,SAA2B,gBAAVD,IAa7CpE,EAAQsE,UAAY,SAASC,EAAIC,EAAIC,EAAMC,GACzC,GAAIF,GAAOD,EACT,MAAO,EAGP,IAAII,GAAQ,GAAKH,EAAMD,EACvB,OAAOK,MAAKJ,IAAI,GAAGE,EAAQH,GAAKI,IASpC3E,EAAQ6E,SAAW,SAAST,GAC1B,MAAQA,aAAkBU,SAA2B,gBAAVV,IAQ7CpE,EAAQ+E,OAAS,SAASX,GACxB,GAAIA,YAAkBY,MACpB,OAAO,CAEJ,IAAIhF,EAAQ6E,SAAST,GAAS,CAEjC,GAAIa,GAAQC,EAAaC,KAAKf,EAC9B,IAAIa,EACF,OAAO,CAEJ,KAAKG,MAAMJ,KAAKK,MAAMjB,IACzB,OAAO,EAIX,OAAO,GAQTpE,EAAQsF,YAAc,SAASlB,GAC7B,MAA4B,mBAAb,SACVmB,OAAoB,eACpBA,OAAOC,cAAuB,WAC9BpB,YAAkBmB,QAAOC,cAAcC,WAQ9CzF,EAAQ0F,WAAa,WACnB,GAAIC,GAAK,WACP,MAAOf,MAAKgB,MACQ,MAAhBhB,KAAKiB,UACPC,SAAS,IAGb,OACIH,KAAOA,IAAO,IACVA,IAAO,IACPA,IAAO,IACPA,IAAO,IACPA,IAAOA,IAAOA,KAWxB3F,EAAQ+F,OAAS,SAAUC,EAAGC,GAC5B,IAAK,GAAIC,GAAI,EAAGC,EAAMC,UAAUC,OAAYF,EAAJD,EAASA,IAAK,CACpD,GAAII,GAAQF,UAAUF,EACtB,KAAK,GAAIK,KAAQD,GACXA,EAAME,eAAeD,KACvBP,EAAEO,GAAQD,EAAMC,IAKtB,MAAOP,IAWThG,EAAQyG,gBAAkB,SAAUC,EAAOV,EAAGC,GAC5C,IAAKU,MAAMC,QAAQF,GACjB,KAAM,IAAI1C,OAAM,uDAGlB,KAAK,GAAIkC,GAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAGpC,IAAK,GAFDI,GAAQF,UAAUF,GAEbpF,EAAI,EAAGA,EAAI4F,EAAML,OAAQvF,IAAK,CACrC,GAAIyF,GAAOG,EAAM5F,EACbwF,GAAME,eAAeD,KACvBP,EAAEO,GAAQD,EAAMC,IAItB,MAAOP,IAWThG,EAAQ6G,oBAAsB,SAAUH,EAAOV,EAAGC,GAEhD,GAAIU,MAAMC,QAAQX,GAChB,KAAM,IAAIa,WAAU,yCAEtB,KAAK,GAAIZ,GAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAEpC,IAAK,GADDI,GAAQF,UAAUF,GACbpF,EAAI,EAAGA,EAAI4F,EAAML,OAAQvF,IAAK,CACrC,GAAIyF,GAAOG,EAAM5F,EACjB,IAAIwF,EAAME,eAAeD,GACvB,GAAIN,EAAEM,IAASN,EAAEM,GAAMQ,cAAgBC,OACrBC,SAAZjB,EAAEO,KACJP,EAAEO,OAEAP,EAAEO,GAAMQ,cAAgBC,OAC1BhH,EAAQkH,WAAWlB,EAAEO,GAAON,EAAEM,IAG9BP,EAAEO,GAAQN,EAAEM,OAET,CAAA,GAAII,MAAMC,QAAQX,EAAEM,IACzB,KAAM,IAAIO,WAAU,yCAEpBd,GAAEO,GAAQN,EAAEM,IAMpB,MAAOP,IAWThG,EAAQmH,uBAAyB,SAAUT,EAAOV,EAAGC,GAEnD,GAAIU,MAAMC,QAAQX,GAChB,KAAM,IAAIa,WAAU,yCAEtB,KAAK,GAAIP,KAAQN,GACf,GAAIA,EAAEO,eAAeD,IACQ,IAAvBG,EAAMU,QAAQb,GAChB,GAAIN,EAAEM,IAASN,EAAEM,GAAMQ,cAAgBC,OACrBC,SAAZjB,EAAEO,KACJP,EAAEO,OAEAP,EAAEO,GAAMQ,cAAgBC,OAC1BhH,EAAQkH,WAAWlB,EAAEO,GAAON,EAAEM,IAG9BP,EAAEO,GAAQN,EAAEM,OAET,CAAA,GAAII,MAAMC,QAAQX,EAAEM,IACzB,KAAM,IAAIO,WAAU,yCAEpBd,GAAEO,GAAQN,EAAEM,GAKpB,MAAOP,IASThG,EAAQkH,WAAa,SAASlB,EAAGC,GAE/B,GAAIU,MAAMC,QAAQX,GAChB,KAAM,IAAIa,WAAU,yCAGtB,KAAK,GAAIP,KAAQN,GACf,GAAIA,EAAEO,eAAeD,GACnB,GAAIN,EAAEM,IAASN,EAAEM,GAAMQ,cAAgBC,OACrBC,SAAZjB,EAAEO,KACJP,EAAEO,OAEAP,EAAEO,GAAMQ,cAAgBC,OAC1BhH,EAAQkH,WAAWlB,EAAEO,GAAON,EAAEM,IAG9BP,EAAEO,GAAQN,EAAEM,OAET,CAAA,GAAII,MAAMC,QAAQX,EAAEM,IACzB,KAAM,IAAIO,WAAU,yCAEpBd,GAAEO,GAAQN,EAAEM,GAIlB,MAAOP,IAUThG,EAAQqH,WAAa,SAAUrB,EAAGC,GAChC,GAAID,EAAEK,QAAUJ,EAAEI,OAAQ,OAAO,CAEjC,KAAK,GAAIH,GAAI,EAAGC,EAAMH,EAAEK,OAAYF,EAAJD,EAASA,IACvC,GAAIF,EAAEE,IAAMD,EAAEC,GAAI,OAAO,CAG3B,QAAO,GAYTlG,EAAQsH,QAAU,SAASlD,EAAQmD,GACjC,GAAItC,EAEJ,IAAegC,SAAX7C,EACF,MAAO6C,OAET,IAAe,OAAX7C,EACF,MAAO,KAGT,KAAKmD,EACH,MAAOnD,EAET,IAAsB,gBAATmD,MAAwBA,YAAgBzC,SACnD,KAAM,IAAId,OAAM,wBAIlB,QAAQuD,GACN,IAAK,UACL,IAAK,UACH,MAAOC,SAAQpD,EAEjB,KAAK,SACL,IAAK,SACH,MAAOC,QAAOD,EAAOqD,UAEvB,KAAK,SACL,IAAK,SACH,MAAO3C,QAAOV,EAEhB,KAAK,OACH,GAAIpE,EAAQmE,SAASC,GACnB,MAAO,IAAIY,MAAKZ,EAElB,IAAIA,YAAkBY,MACpB,MAAO,IAAIA,MAAKZ,EAAOqD,UAEpB,IAAIxD,EAAOyD,SAAStD,GACvB,MAAO,IAAIY,MAAKZ,EAAOqD,UAEzB,IAAIzH,EAAQ6E,SAAST,GAEnB,MADAa,GAAQC,EAAaC,KAAKf,GACtBa,EAEK,GAAID,MAAKX,OAAOY,EAAM,KAGtBhB,EAAOG,GAAQuD,QAIxB,MAAM,IAAI3D,OACN,iCAAmChE,EAAQ4H,QAAQxD,GAC/C,gBAGZ,KAAK,SACH,GAAIpE,EAAQmE,SAASC,GACnB,MAAOH,GAAOG,EAEhB,IAAIA,YAAkBY,MACpB,MAAOf,GAAOG,EAAOqD,UAElB,IAAIxD,EAAOyD,SAAStD,GACvB,MAAOH,GAAOG,EAEhB,IAAIpE,EAAQ6E,SAAST,GAEnB,MADAa,GAAQC,EAAaC,KAAKf,GAGjBH,EAFLgB,EAEYZ,OAAOY,EAAM,IAGbb,EAIhB,MAAM,IAAIJ,OACN,iCAAmChE,EAAQ4H,QAAQxD,GAC/C,gBAGZ,KAAK,UACH,GAAIpE,EAAQmE,SAASC,GACnB,MAAO,IAAIY,MAAKZ,EAEb,IAAIA,YAAkBY,MACzB,MAAOZ,GAAOyD,aAEX,IAAI5D,EAAOyD,SAAStD,GACvB,MAAOA,GAAOuD,SAASE,aAEpB,IAAI7H,EAAQ6E,SAAST,GAExB,MADAa,GAAQC,EAAaC,KAAKf,GACtBa,EAEK,GAAID,MAAKX,OAAOY,EAAM,KAAK4C,cAG3B,GAAI7C,MAAKZ,GAAQyD,aAI1B,MAAM,IAAI7D,OACN,iCAAmChE,EAAQ4H,QAAQxD,GAC/C,mBAGZ,KAAK,UACH,GAAIpE,EAAQmE,SAASC,GACnB,MAAO,SAAWA,EAAS,IAExB,IAAIA,YAAkBY,MACzB,MAAO,SAAWZ,EAAOqD,UAAY,IAElC,IAAIzH,EAAQ6E,SAAST,GAAS,CACjCa,EAAQC,EAAaC,KAAKf,EAC1B,IAAIM,EAQJ,OALEA,GAFEO,EAEM,GAAID,MAAKX,OAAOY,EAAM,KAAKwC,UAG3B,GAAIzC,MAAKZ,GAAQqD,UAEpB,SAAW/C,EAAQ,KAG1B,KAAM,IAAIV,OACN,iCAAmChE,EAAQ4H,QAAQxD,GAC/C,mBAGZ,SACE,KAAM,IAAIJ,OAAM,iBAAmBuD,EAAO,MAOhD,IAAIrC,GAAe,qBAOnBlF,GAAQ4H,QAAU,SAASxD,GACzB,GAAImD,SAAcnD,EAElB,OAAY,UAARmD,EACY,MAAVnD,EACK,OAELA,YAAkBoD,SACb,UAELpD,YAAkBC,QACb,SAELD,YAAkBU,QACb,SAEL6B,MAAMC,QAAQxC,GACT,QAELA,YAAkBY,MACb,OAEF,SAEQ,UAARuC,EACA,SAEQ,WAARA,EACA,UAEQ,UAARA,EACA,SAGFA,GASTvH,EAAQ8H,gBAAkB,SAASC,GACjC,MAAOA,GAAKC,wBAAwBC,KAAOC,OAAOC,aASpDnI,EAAQoI,eAAiB,SAASL,GAChC,MAAOA,GAAKC,wBAAwBK,IAAMH,OAAOI,aAQnDtI,EAAQuI,aAAe,SAASR,EAAMS,GACpC,GAAIC,GAAUV,EAAKS,UAAUE,MAAM,IACD,KAA9BD,EAAQrB,QAAQoB,KAClBC,EAAQE,KAAKH,GACbT,EAAKS,UAAYC,EAAQG,KAAK,OASlC5I,EAAQ6I,gBAAkB,SAASd,EAAMS,GACvC,GAAIC,GAAUV,EAAKS,UAAUE,MAAM,KAC/BI,EAAQL,EAAQrB,QAAQoB,EACf,KAATM,IACFL,EAAQM,OAAOD,EAAO,GACtBf,EAAKS,UAAYC,EAAQG,KAAK,OAalC5I,EAAQgJ,QAAU,SAAS5E,EAAQ6E,GACjC,GAAI/C,GACAC,CACJ,IAAIQ,MAAMC,QAAQxC,GAEhB,IAAK8B,EAAI,EAAGC,EAAM/B,EAAOiC,OAAYF,EAAJD,EAASA,IACxC+C,EAAS7E,EAAO8B,GAAIA,EAAG9B,OAKzB,KAAK8B,IAAK9B,GACJA,EAAOoC,eAAeN,IACxB+C,EAAS7E,EAAO8B,GAAIA,EAAG9B,IAY/BpE,EAAQkJ,QAAU,SAAS9E,GACzB,GAAI+E,KAEJ,KAAK,GAAI5C,KAAQnC,GACXA,EAAOoC,eAAeD,IAAO4C,EAAMR,KAAKvE,EAAOmC,GAGrD,OAAO4C,IAUTnJ,EAAQoJ,eAAiB,SAAShF,EAAQiF,EAAK3E,GAC7C,MAAIN,GAAOiF,KAAS3E,GAClBN,EAAOiF,GAAO3E,GACP,IAGA,GAYX1E,EAAQsJ,iBAAmB,SAASC,EAASC,EAAQC,EAAUC,GACzDH,EAAQD,kBACSrC,SAAfyC,IACFA,GAAa,GAEA,eAAXF,GAA2BG,UAAUC,UAAUxC,QAAQ,YAAc,IACvEoC,EAAS,kBAGXD,EAAQD,iBAAiBE,EAAQC,EAAUC,IAE3CH,EAAQM,YAAY,KAAOL,EAAQC,IAWvCzJ,EAAQ8J,oBAAsB,SAASP,EAASC,EAAQC,EAAUC,GAC5DH,EAAQO,qBAES7C,SAAfyC,IACFA,GAAa,GAEA,eAAXF,GAA2BG,UAAUC,UAAUxC,QAAQ,YAAc,IACvEoC,EAAS,kBAGXD,EAAQO,oBAAoBN,EAAQC,EAAUC,IAG9CH,EAAQQ,YAAY,KAAOP,EAAQC,IAOvCzJ,EAAQgK,eAAiB,SAAUC,GAC5BA,IACHA,EAAQ/B,OAAO+B,OAEbA,EAAMD,eACRC,EAAMD,iBAGNC,EAAMC,aAAc,GASxBlK,EAAQmK,UAAY,SAASF,GAEtBA,IACHA,EAAQ/B,OAAO+B,MAGjB,IAAIG,EAcJ,OAZIH,GAAMG,OACRA,EAASH,EAAMG,OAERH,EAAMI,aACbD,EAASH,EAAMI,YAGMpD,QAAnBmD,EAAOE,UAA4C,GAAnBF,EAAOE,WAEzCF,EAASA,EAAOG,YAGXH,GAQTpK,EAAQwK,UAAY,SAAUjB,EAASkB,GAGrC,IAFA,GAAIC,GAAInB,EAEDmB,GAAG,CACR,GAAIA,IAAMD,EACR,OAAO,CAETC,GAAIA,EAAEH,WAGR,OAAO,GAGTvK,EAAQ2K,UAQR3K,EAAQ2K,OAAOC,UAAY,SAAUlG,EAAOmG,GAK1C,MAJoB,kBAATnG,KACTA,EAAQA,KAGG,MAATA,EACe,GAATA,EAGHmG,GAAgB,MASzB7K,EAAQ2K,OAAOG,SAAW,SAAUpG,EAAOmG,GAKzC,MAJoB,kBAATnG,KACTA,EAAQA,KAGG,MAATA,EACKL,OAAOK,IAAUmG,GAAgB,KAGnCA,GAAgB,MASzB7K,EAAQ2K,OAAOI,SAAW,SAAUrG,EAAOmG,GAKzC,MAJoB,kBAATnG,KACTA,EAAQA,KAGG,MAATA,EACKI,OAAOJ,GAGTmG,GAAgB,MASzB7K,EAAQ2K,OAAOK,OAAS,SAAUtG,EAAOmG,GAKvC,MAJoB,kBAATnG,KACTA,EAAQA,KAGN1E,EAAQ6E,SAASH,GACZA,EAEA1E,EAAQmE,SAASO,GACjBA,EAAQ,KAGRmG,GAAgB,MAU3B7K,EAAQ2K,OAAOM,UAAY,SAAUvG,EAAOmG,GAK1C,MAJoB,kBAATnG,KACTA,EAAQA,KAGHA,GAASmG,GAAgB,MASlC7K,EAAQkL,SAAW,SAASC,GAE1B,GAAIC,GAAiB,kCACrBD,GAAMA,EAAIE,QAAQD,EAAgB,SAASxK,EAAG0K,EAAGC,EAAGtF,GAChD,MAAOqF,GAAIA,EAAIC,EAAIA,EAAItF,EAAIA,GAE/B,IAAIuF,GAAS,4CAA4CrG,KAAKgG,EAC9D,OAAOK,IACHF,EAAGG,SAASD,EAAO,GAAI,IACvBD,EAAGE,SAASD,EAAO,GAAI,IACvBvF,EAAGwF,SAASD,EAAO,GAAI,KACvB,MASNxL,EAAQ0L,gBAAkB,SAASC,EAAMC,GACvC,GAA4B,IAAxBD,EAAMvE,QAAQ,OAAc,CAC9B,GAAIyE,GAAMF,EAAMG,OAAOH,EAAMvE,QAAQ,KAAK,GAAGiE,QAAQ,IAAI,IAAI3C,MAAM,IACnE,OAAO,QAAUmD,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMD,EAAU,IAGxE,GAAIC,GAAM7L,EAAQkL,SAASS,EAC3B,OAAW,OAAPE,EACKF,EAGA,QAAUE,EAAIP,EAAI,IAAMO,EAAIN,EAAI,IAAMM,EAAI5F,EAAI,IAAM2F,EAAU,KAa3E5L,EAAQ+L,SAAW,SAASC,EAAIC,EAAMC,GACpC,MAAO,MAAQ,GAAK,KAAOF,GAAO,KAAOC,GAAS,GAAKC,GAAMpG,SAAS,IAAIqG,MAAM,IASlFnM,EAAQoM,WAAa,SAAST,GAC5B,GAAI9K,EACJ,IAAIb,EAAQ6E,SAAS8G,GAAQ,CAC3B,GAAI3L,EAAQqM,WAAWV,GAAQ,CAC7B,GAAIE,GAAMF,EAAMG,OAAO,GAAGA,OAAO,EAAEH,EAAMtF,OAAO,GAAGqC,MAAM,IACzDiD,GAAQ3L,EAAQ+L,SAASF,EAAI,GAAGA,EAAI,GAAGA,EAAI,IAE7C,GAAI7L,EAAQsM,WAAWX,GAAQ,CAC7B,GAAIY,GAAMvM,EAAQwM,SAASb,GACvBc,GAAmBC,EAAEH,EAAIG,EAAEC,EAAU,IAARJ,EAAII,EAASC,EAAEhI,KAAKL,IAAI,EAAU,KAARgI,EAAIK,IAC3DC,GAAmBH,EAAEH,EAAIG,EAAEC,EAAE/H,KAAKL,IAAI,EAAU,KAARgI,EAAIK,GAAUA,EAAQ,GAANL,EAAIK,GAC5DE,EAAkB9M,EAAQ+M,SAASF,EAAeH,EAAGG,EAAeH,EAAGG,EAAeD,GACtFI,EAAkBhN,EAAQ+M,SAASN,EAAgBC,EAAED,EAAgBE,EAAEF,EAAgBG,EAE3F/L,IACEoM,WAAYtB,EACZuB,OAAOJ,EACPK,WACEF,WAAWD,EACXE,OAAOJ,GAETM,OACEH,WAAWD,EACXE,OAAOJ,QAKXjM,IACEoM,WAAWtB,EACXuB,OAAOvB,EACPwB,WACEF,WAAWtB,EACXuB,OAAOvB,GAETyB,OACEH,WAAWtB,EACXuB,OAAOvB,QAMb9K,MACAA,EAAEoM,WAAatB,EAAMsB,YAAc,QACnCpM,EAAEqM,OAASvB,EAAMuB,QAAUrM,EAAEoM,WAEzBjN,EAAQ6E,SAAS8G,EAAMwB,WACzBtM,EAAEsM,WACAD,OAAQvB,EAAMwB,UACdF,WAAYtB,EAAMwB,YAIpBtM,EAAEsM,aACFtM,EAAEsM,UAAUF,WAAatB,EAAMwB,WAAaxB,EAAMwB,UAAUF,YAAcpM,EAAEoM,WAC5EpM,EAAEsM,UAAUD,OAASvB,EAAMwB,WAAaxB,EAAMwB,UAAUD,QAAUrM,EAAEqM,QAGlElN,EAAQ6E,SAAS8G,EAAMyB,OACzBvM,EAAEuM,OACAF,OAAQvB,EAAMyB,MACdH,WAAYtB,EAAMyB,QAIpBvM,EAAEuM,SACFvM,EAAEuM,MAAMH,WAAatB,EAAMyB,OAASzB,EAAMyB,MAAMH,YAAcpM,EAAEoM,WAChEpM,EAAEuM,MAAMF,OAASvB,EAAMyB,OAASzB,EAAMyB,MAAMF,QAAUrM,EAAEqM,OAI5D,OAAOrM,IAYTb,EAAQqN,SAAW,SAASrB,EAAIC,EAAMC,GACpCF,GAAQ,IAAKC,GAAY,IAAKC,GAAU,GACxC,IAAIoB,GAAS1I,KAAKL,IAAIyH,EAAIpH,KAAKL,IAAI0H,EAAMC,IACrCqB,EAAS3I,KAAKJ,IAAIwH,EAAIpH,KAAKJ,IAAIyH,EAAMC,GAGzC,IAAIoB,GAAUC,EACZ,OAAQb,EAAE,EAAEC,EAAE,EAAEC,EAAEU,EAIpB,IAAIE,GAAKxB,GAAKsB,EAAUrB,EAAMC,EAASA,GAAMoB,EAAUtB,EAAIC,EAAQC,EAAKF,EACpEU,EAAKV,GAAKsB,EAAU,EAAMpB,GAAMoB,EAAU,EAAI,EAC9CG,EAAM,IAAIf,EAAIc,GAAGD,EAASD,IAAS,IACnCI,GAAcH,EAASD,GAAQC,EAC/B7I,EAAQ6I,CACZ,QAAQb,EAAEe,EAAId,EAAEe,EAAWd,EAAElI,GAG/B,IAAIiJ,IAEFjF,MAAO,SAAUkF,GACf,GAAIC,KAWJ,OATAD,GAAQlF,MAAM,KAAKM,QAAQ,SAAU8E,GACnC,GAAoB,IAAhBA,EAAMC,OAAc,CACtB,GAAIC,GAAQF,EAAMpF,MAAM,KACpBW,EAAM2E,EAAM,GAAGD,OACfrJ,EAAQsJ,EAAM,GAAGD,MACrBF,GAAOxE,GAAO3E,KAIXmJ,GAITjF,KAAM,SAAUiF,GACd,MAAO7G,QAAOiH,KAAKJ,GACdK,IAAI,SAAU7E,GACb,MAAOA,GAAM,KAAOwE,EAAOxE,KAE5BT,KAAK,OASd5I,GAAQmO,WAAa,SAAU5E,EAASqE,GACtC,GAAIQ,GAAgBT,EAAQjF,MAAMa,EAAQuE,MAAMF,SAC5CS,EAAYV,EAAQjF,MAAMkF,GAC1BC,EAAS7N,EAAQ+F,OAAOqI,EAAeC,EAE3C9E,GAAQuE,MAAMF,QAAUD,EAAQ/E,KAAKiF,IAQvC7N,EAAQsO,cAAgB,SAAU/E,EAASqE,GACzC,GAAIC,GAASF,EAAQjF,MAAMa,EAAQuE,MAAMF,SACrCW,EAAeZ,EAAQjF,MAAMkF,EAEjC,KAAK,GAAIvE,KAAOkF,GACVA,EAAa/H,eAAe6C,UACvBwE,GAAOxE,EAIlBE,GAAQuE,MAAMF,QAAUD,EAAQ/E,KAAKiF,IAWvC7N,EAAQwO,SAAW,SAAS9B,EAAGC,EAAGC,GAChC,GAAItB,GAAGC,EAAGtF,EAENC,EAAItB,KAAKgB,MAAU,EAAJ8G,GACf+B,EAAQ,EAAJ/B,EAAQxG,EACZpF,EAAI8L,GAAK,EAAID,GACb+B,EAAI9B,GAAK,EAAI6B,EAAI9B,GACjBgC,EAAI/B,GAAK,GAAK,EAAI6B,GAAK9B,EAE3B,QAAQzG,EAAI,GACV,IAAK,GAAGoF,EAAIsB,EAAGrB,EAAIoD,EAAG1I,EAAInF,CAAG,MAC7B,KAAK,GAAGwK,EAAIoD,EAAGnD,EAAIqB,EAAG3G,EAAInF,CAAG,MAC7B,KAAK,GAAGwK,EAAIxK,EAAGyK,EAAIqB,EAAG3G,EAAI0I,CAAG,MAC7B,KAAK,GAAGrD,EAAIxK,EAAGyK,EAAImD,EAAGzI,EAAI2G,CAAG,MAC7B,KAAK,GAAGtB,EAAIqD,EAAGpD,EAAIzK,EAAGmF,EAAI2G,CAAG,MAC7B,KAAK,GAAGtB,EAAIsB,EAAGrB,EAAIzK,EAAGmF,EAAIyI,EAG5B,OAAQpD,EAAE1G,KAAKgB,MAAU,IAAJ0F,GAAUC,EAAE3G,KAAKgB,MAAU,IAAJ2F,GAAUtF,EAAErB,KAAKgB,MAAU,IAAJK,KAGrEjG,EAAQ+M,SAAW,SAASL,EAAGC,EAAGC,GAChC,GAAIf,GAAM7L,EAAQwO,SAAS9B,EAAGC,EAAGC,EACjC,OAAO5M,GAAQ+L,SAASF,EAAIP,EAAGO,EAAIN,EAAGM,EAAI5F,IAG5CjG,EAAQwM,SAAW,SAASrB,GAC1B,GAAIU,GAAM7L,EAAQkL,SAASC,EAC3B,OAAOnL,GAAQqN,SAASxB,EAAIP,EAAGO,EAAIN,EAAGM,EAAI5F,IAG5CjG,EAAQsM,WAAa,SAASnB,GAC5B,GAAIyD,GAAO,qCAAqCC,KAAK1D,EACrD,OAAOyD,IAGT5O,EAAQqM,WAAa,SAASR,GAC5BA,EAAMA,EAAIR,QAAQ,IAAI,GACtB,IAAIuD,GAAO,wCAAwCC,KAAKhD,EACxD,OAAO+C,IAUT5O,EAAQ8O,sBAAwB,SAASC,EAAQC,GAC/C,GAA8B,gBAAnBA,GAA6B,CAEtC,IAAK,GADDC,GAAWjI,OAAOkI,OAAOF,GACpB9I,EAAI,EAAGA,EAAI6I,EAAO1I,OAAQH,IAC7B8I,EAAgBxI,eAAeuI,EAAO7I,KACC,gBAA9B8I,GAAgBD,EAAO7I,MAChC+I,EAASF,EAAO7I,IAAMlG,EAAQmP,aAAaH,EAAgBD,EAAO7I,KAIxE,OAAO+I,GAGP,MAAO,OAWXjP,EAAQmP,aAAe,SAASH,GAC9B,GAA8B,gBAAnBA,GAA6B,CACtC,GAAIC,GAAWjI,OAAOkI,OAAOF,EAC7B,KAAK,GAAI9I,KAAK8I,GACRA,EAAgBxI,eAAeN,IACA,gBAAtB8I,GAAgB9I,KACzB+I,EAAS/I,GAAKlG,EAAQmP,aAAaH,EAAgB9I,IAIzD,OAAO+I,GAGP,MAAO,OAcXjP,EAAQoP,aAAe,SAAUC,EAAaC,EAAS3E,GACrD,GAAwB1D,SAApBqI,EAAQ3E,GACV,GAA8B,iBAAnB2E,GAAQ3E,GACjB0E,EAAY1E,GAAQ4E,QAAUD,EAAQ3E,OAEnC,CACH0E,EAAY1E,GAAQ4E,SAAU,CAC9B,KAAK,GAAIhJ,KAAQ+I,GAAQ3E,GACnB2E,EAAQ3E,GAAQnE,eAAeD,KACjC8I,EAAY1E,GAAQpE,GAAQ+I,EAAQ3E,GAAQpE,MAmBtDvG,EAAQwP,mBAAqB,SAASC,EAAcC,EAAgBC,EAAOC,GAMzE,IALA,GAAIC,GAAgB,IAChBC,EAAY,EACZC,EAAM,EACNC,EAAOP,EAAapJ,OAAS,EAEnB2J,GAAPD,GAA2BF,EAAZC,GAA2B,CAC/C,GAAIG,GAASrL,KAAKgB,OAAOmK,EAAMC,GAAQ,GAEnCE,EAAOT,EAAaQ,GACpBvL,EAAoBuC,SAAX2I,EAAwBM,EAAKP,GAASO,EAAKP,GAAOC,GAE3DO,EAAeT,EAAehL,EAClC,IAAoB,GAAhByL,EACF,MAAOF,EAEgB,KAAhBE,EACPJ,EAAME,EAAS,EAGfD,EAAOC,EAAS,EAGlBH,IAGF,MAAO,IAeT9P,EAAQoQ,kBAAoB,SAASX,EAAcrF,EAAQuF,EAAOU,GAOhE,IANA,GAIIC,GAAW5L,EAAO6L,EAAWN,EAJ7BJ,EAAgB,IAChBC,EAAY,EACZC,EAAM,EACNC,EAAOP,EAAapJ,OAAS,EAGnB2J,GAAPD,GAA2BF,EAAZC,GAA2B,CAO/C,GALAG,EAASrL,KAAKgB,MAAM,IAAKoK,EAAKD,IAC9BO,EAAYb,EAAa7K,KAAKJ,IAAI,EAAEyL,EAAS,IAAIN,GACjDjL,EAAY+K,EAAaQ,GAAQN,GACjCY,EAAYd,EAAa7K,KAAKL,IAAIkL,EAAapJ,OAAO,EAAE4J,EAAS,IAAIN,GAEjEjL,GAAS0F,EACX,MAAO6F,EAEJ,IAAgB7F,EAAZkG,GAAsB5L,EAAQ0F,EACrC,MAAyB,UAAlBiG,EAA6BzL,KAAKJ,IAAI,EAAEyL,EAAS,GAAKA,CAE1D,IAAY7F,EAAR1F,GAAkB6L,EAAYnG,EACrC,MAAyB,UAAlBiG,EAA6BJ,EAASrL,KAAKL,IAAIkL,EAAapJ,OAAO,EAAE4J,EAAS,EAGzE7F,GAAR1F,EACFqL,EAAME,EAAS,EAGfD,EAAOC,EAAS,EAGpBH,IAIF,MAAO,IAYT9P,EAAQwQ,cAAgB,SAAU7B,EAAG8B,EAAOC,EAAKC,GAC/C,GAAIC,GAASF,EAAMD,CAEnB,OADA9B,IAAKgC,EAAS,EACN,EAAJhC,EAAciC,EAAO,EAAEjC,EAAEA,EAAI8B,GACjC9B,KACQiC,EAAO,GAAKjC,GAAGA,EAAE,GAAK,GAAK8B,IAUrCzQ,EAAQ6Q,iBAENC,OAAQ,SAAUnC,GAChB,MAAOA,IAGToC,WAAY,SAAUpC,GACpB,MAAOA,GAAIA,GAGbqC,YAAa,SAAUrC,GACrB,MAAOA,IAAK,EAAIA,IAGlB6B,cAAe,SAAU7B,GACvB,MAAW,GAAJA,EAAS,EAAIA,EAAIA,EAAI,IAAM,EAAI,EAAIA,GAAKA,GAGjDsC,YAAa,SAAUtC,GACrB,MAAOA,GAAIA,EAAIA,GAGjBuC,aAAc,SAAUvC,GACtB,QAAUA,EAAKA,EAAIA,EAAI,GAGzBwC,eAAgB,SAAUxC,GACxB,MAAW,GAAJA,EAAS,EAAIA,EAAIA,EAAIA,GAAKA,EAAI,IAAM,EAAIA,EAAI,IAAM,EAAIA,EAAI,GAAK,GAGxEyC,YAAa,SAAUzC,GACrB,MAAOA,GAAIA,EAAIA,EAAIA,GAGrB0C,aAAc,SAAU1C,GACtB,MAAO,MAAOA,EAAKA,EAAIA,EAAIA,GAG7B2C,eAAgB,SAAU3C,GACxB,MAAW,GAAJA,EAAS,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,EAAI,IAAOA,EAAKA,EAAIA,EAAIA,GAG9D4C,YAAa,SAAU5C,GACrB,MAAOA,GAAIA,EAAIA,EAAIA,EAAIA,GAGzB6C,aAAc,SAAU7C,GACtB,MAAO,KAAOA,EAAKA,EAAIA,EAAIA,EAAIA,GAGjC8C,eAAgB,SAAU9C,GACxB,MAAW,GAAJA,EAAS,GAAKA,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,EAAI,KAAQA,EAAKA,EAAIA,EAAIA,EAAIA,KAMtE,SAAS1O,EAAQD,EAASM,GAS9BN,EAAQ0R,gBAAkB,SAASC,GAEjC,IAAK,GAAIC,KAAeD,GAClBA,EAAcnL,eAAeoL,KAC/BD,EAAcC,GAAaC,UAAYF,EAAcC,GAAaE,KAClEH,EAAcC,GAAaE,UAYjC9R,EAAQ+R,gBAAkB,SAASJ,GAEjC,IAAK,GAAIC,KAAeD,GACtB,GAAIA,EAAcnL,eAAeoL,IAC3BD,EAAcC,GAAaC,UAAW,CACxC,IAAK,GAAI3L,GAAI,EAAGA,EAAIyL,EAAcC,GAAaC,UAAUxL,OAAQH,IAC/DyL,EAAcC,GAAaC,UAAU3L,GAAGqE,WAAWyH,YAAYL,EAAcC,GAAaC,UAAU3L,GAEtGyL,GAAcC,GAAaC,eAgBnC7R,EAAQiS,cAAgB,SAAUL,EAAaD,EAAeO,GAC5D,GAAI3I,EAqBJ,OAnBIoI,GAAcnL,eAAeoL,GAE3BD,EAAcC,GAAaC,UAAUxL,OAAS,GAChDkD,EAAUoI,EAAcC,GAAaC,UAAU,GAC/CF,EAAcC,GAAaC,UAAUM,UAIrC5I,EAAU6I,SAASC,gBAAgB,6BAA8BT,GACjEM,EAAaI,YAAY/I,KAK3BA,EAAU6I,SAASC,gBAAgB,6BAA8BT,GACjED,EAAcC,IAAgBE,QAAUD,cACxCK,EAAaI,YAAY/I,IAE3BoI,EAAcC,GAAaE,KAAKnJ,KAAKY,GAC9BA,GAcTvJ,EAAQuS,cAAgB,SAAUX,EAAaD,EAAea,EAAcC,GAC1E,GAAIlJ,EA+BJ,OA7BIoI,GAAcnL,eAAeoL,GAE3BD,EAAcC,GAAaC,UAAUxL,OAAS,GAChDkD,EAAUoI,EAAcC,GAAaC,UAAU,GAC/CF,EAAcC,GAAaC,UAAUM,UAIrC5I,EAAU6I,SAASM,cAAcd,GACZ3K,SAAjBwL,EACFD,EAAaC,aAAalJ,EAASkJ,GAGnCD,EAAaF,YAAY/I,KAM7BA,EAAU6I,SAASM,cAAcd,GACjCD,EAAcC,IAAgBE,QAAUD,cACnB5K,SAAjBwL,EACFD,EAAaC,aAAalJ,EAASkJ,GAGnCD,EAAaF,YAAY/I,IAG7BoI,EAAcC,GAAaE,KAAKnJ,KAAKY,GAC9BA,GAmBTvJ,EAAQ2S,UAAY,SAASC,EAAGC,EAAGC,EAAOnB,EAAeO,EAAca,GACrE,GAAIC,EACkC,WAAlCF,EAAMxD,QAAQ2D,WAAWnF,OAC3BkF,EAAQhT,EAAQiS,cAAc,SAASN,EAAcO,GACrDc,EAAME,eAAe,KAAM,KAAMN,GACjCI,EAAME,eAAe,KAAM,KAAML,GACjCG,EAAME,eAAe,KAAM,IAAK,GAAMJ,EAAMxD,QAAQ2D,WAAWE,QAG/DH,EAAQhT,EAAQiS,cAAc,OAAON,EAAcO,GACnDc,EAAME,eAAe,KAAM,IAAKN,EAAI,GAAIE,EAAMxD,QAAQ2D,WAAWE,MACjEH,EAAME,eAAe,KAAM,IAAKL,EAAI,GAAIC,EAAMxD,QAAQ2D,WAAWE,MACjEH,EAAME,eAAe,KAAM,QAASJ,EAAMxD,QAAQ2D,WAAWE,MAC7DH,EAAME,eAAe,KAAM,SAAUJ,EAAMxD,QAAQ2D,WAAWE,OAGzBlM,SAApC6L,EAAMxD,QAAQ2D,WAAWpF,QAC1BmF,EAAME,eAAe,KAAM,QAASJ,EAAMA,MAAMxD,QAAQ2D,WAAWpF,QAErEmF,EAAME,eAAe,KAAM,QAASJ,EAAMtK,UAAY,SAEtD,IAAI4K,GAAQpT,EAAQiS,cAAc,OAAON,EAAcO,EAqBvD,OApBIa,KACIA,EAASM,UACXT,GAAQG,EAASM,SAGfN,EAASO,UACXT,GAAQE,EAASO,SAEfP,EAASQ,UACXH,EAAMI,YAAcT,EAASQ,SAG3BR,EAASvK,WACX4K,EAAMF,eAAe,KAAM,QAASH,EAASvK,UAAa,WAKhE4K,EAAMF,eAAe,KAAM,IAAKN,GAChCQ,EAAMF,eAAe,KAAM,IAAKL,GACzBG,GAUThT,EAAQyT,QAAU,SAAUb,EAAGC,EAAGa,EAAOC,EAAQnL,EAAWmJ,EAAeO,GACzE,GAAc,GAAVyB,EAAa,CACF,EAATA,IACFA,GAAU,GACVd,GAAKc,EAEP,IAAIC,GAAO5T,EAAQiS,cAAc,OAAON,EAAeO,EACvD0B,GAAKV,eAAe,KAAM,IAAKN,EAAI,GAAMc,GACzCE,EAAKV,eAAe,KAAM,IAAKL,GAC/Be,EAAKV,eAAe,KAAM,QAASQ,GACnCE,EAAKV,eAAe,KAAM,SAAUS,GACpCC,EAAKV,eAAe,KAAM,QAAS1K,MAMnC,SAASvI,EAAQD,EAASM,GAgD9B,QAASW,GAAS4S,EAAMvE,GAetB,IAbIuE,GAASlN,MAAMC,QAAQiN,IAAU9S,EAAKuE,YAAYuO,KACpDvE,EAAUuE,EACVA,EAAO,MAGTzT,KAAK0T,SAAWxE,MAChBlP,KAAK2T,SACL3T,KAAKiG,OAAS,EACdjG,KAAK4T,SAAW5T,KAAK0T,SAASG,SAAW,KACzC7T,KAAK8T,SAID9T,KAAK0T,SAASvM,KAChB,IAAK,GAAIoI,KAASvP,MAAK0T,SAASvM,KAC9B,GAAInH,KAAK0T,SAASvM,KAAKf,eAAemJ,GAAQ,CAC5C,GAAIjL,GAAQtE,KAAK0T,SAASvM,KAAKoI,EAClB,SAATjL,GAA4B,WAATA,GAA+B,WAATA,EAC3CtE,KAAK8T,MAAMvE,GAAS,OAGpBvP,KAAK8T,MAAMvE,GAASjL,EAO5B,GAAItE,KAAK0T,SAASxM,QAChB,KAAM,IAAItD,OAAM,sDAGlB5D,MAAK+T,gBAGDN,GACFzT,KAAKgU,IAAIP,GAGXzT,KAAKiU,WAAW/E,GAvFlB,GAAIvO,GAAOT,EAAoB,GAC3Ba,EAAQb,EAAoB,EAkGhCW,GAAQqT,UAAUD,WAAa,SAAS/E,GAClCA,GAA6BrI,SAAlBqI,EAAQiF,QACjBjF,EAAQiF,SAAU,EAEhBnU,KAAKoU,SACPpU,KAAKoU,OAAOC,gBACLrU,MAAKoU,SAKTpU,KAAKoU,SACRpU,KAAKoU,OAASrT,EAAM4E,OAAO3F,MACzBiL,SAAU,MAAO,SAAU,aAIF,gBAAlBiE,GAAQiF,OACjBnU,KAAKoU,OAAOH,WAAW/E,EAAQiF,UAevCtT,EAAQqT,UAAUI,GAAK,SAASzK,EAAOhB,GACrC,GAAI0L,GAAcvU,KAAK+T,aAAalK,EAC/B0K,KACHA,KACAvU,KAAK+T,aAAalK,GAAS0K,GAG7BA,EAAYhM,MACVM,SAAUA,KAKdhI,EAAQqT,UAAUM,UAAY3T,EAAQqT,UAAUI,GAOhDzT,EAAQqT,UAAUO,IAAM,SAAS5K,EAAOhB,GACtC,GAAI0L,GAAcvU,KAAK+T,aAAalK,EAChC0K,KACFvU,KAAK+T,aAAalK,GAAS0K,EAAYG,OAAO,SAAUrL,GACtD,MAAQA,GAASR,UAAYA,MAMnChI,EAAQqT,UAAUS,YAAc9T,EAAQqT,UAAUO,IASlD5T,EAAQqT,UAAUU,SAAW,SAAU/K,EAAOgL,EAAQC,GACpD,GAAa,KAATjL,EACF,KAAM,IAAIjG,OAAM,yBAGlB,IAAI2Q,KACA1K,KAAS7J,MAAK+T,eAChBQ,EAAcA,EAAYQ,OAAO/U,KAAK+T,aAAalK,KAEjD,KAAO7J,MAAK+T,eACdQ,EAAcA,EAAYQ,OAAO/U,KAAK+T,aAAa,MAGrD,KAAK,GAAIjO,GAAI,EAAGA,EAAIyO,EAAYtO,OAAQH,IAAK,CAC3C,GAAIkP,GAAaT,EAAYzO,EACzBkP,GAAWnM,UACbmM,EAAWnM,SAASgB,EAAOgL,EAAQC,GAAY,QAYrDjU,EAAQqT,UAAUF,IAAM,SAAUP,EAAMqB,GACtC,GACIzU,GADA4U,KAEAC,EAAKlV,IAET,IAAIuG,MAAMC,QAAQiN,GAEhB,IAAK,GAAI3N,GAAI,EAAGC,EAAM0N,EAAKxN,OAAYF,EAAJD,EAASA,IAC1CzF,EAAK6U,EAAGC,SAAS1B,EAAK3N,IACtBmP,EAAS1M,KAAKlI,OAGb,IAAIM,EAAKuE,YAAYuO,GAGxB,IAAK,GADD2B,GAAUpV,KAAKqV,gBAAgB5B,GAC1B6B,EAAM,EAAGC,EAAO9B,EAAK+B,kBAAyBD,EAAND,EAAYA,IAAO,CAElE,IAAK,GADDxF,MACK2F,EAAM,EAAGC,EAAON,EAAQnP,OAAcyP,EAAND,EAAYA,IAAO,CAC1D,GAAIlG,GAAQ6F,EAAQK,EACpB3F,GAAKP,GAASkE,EAAKkC,SAASL,EAAKG,GAGnCpV,EAAK6U,EAAGC,SAASrF,GACjBmF,EAAS1M,KAAKlI,OAGb,CAAA,KAAIoT,YAAgB7M,SAMvB,KAAM,IAAIhD,OAAM,mBAJhBvD,GAAK6U,EAAGC,SAAS1B,GACjBwB,EAAS1M,KAAKlI,GAUhB,MAJI4U,GAAShP,QACXjG,KAAK4U,SAAS,OAAQ3S,MAAOgT,GAAWH,GAGnCG,GASTpU,EAAQqT,UAAU0B,OAAS,SAAUnC,EAAMqB,GACzC,GAAIG,MACAY,KACAC,KACAZ,EAAKlV,KACL6T,EAAUqB,EAAGtB,SAEbmC,EAAc,SAAUjG,GAC1B,GAAIzP,GAAKyP,EAAK+D,EACVqB,GAAGvB,MAAMtT,IAEXA,EAAK6U,EAAGc,YAAYlG,GACpB+F,EAAWtN,KAAKlI,GAChByV,EAAYvN,KAAKuH,KAIjBzP,EAAK6U,EAAGC,SAASrF,GACjBmF,EAAS1M,KAAKlI,IAIlB,IAAIkG,MAAMC,QAAQiN,GAEhB,IAAK,GAAI3N,GAAI,EAAGC,EAAM0N,EAAKxN,OAAYF,EAAJD,EAASA,IAC1CiQ,EAAYtC,EAAK3N,QAGhB,IAAInF,EAAKuE,YAAYuO,GAGxB,IAAK,GADD2B,GAAUpV,KAAKqV,gBAAgB5B,GAC1B6B,EAAM,EAAGC,EAAO9B,EAAK+B,kBAAyBD,EAAND,EAAYA,IAAO,CAElE,IAAK,GADDxF,MACK2F,EAAM,EAAGC,EAAON,EAAQnP,OAAcyP,EAAND,EAAYA,IAAO,CAC1D,GAAIlG,GAAQ6F,EAAQK,EACpB3F,GAAKP,GAASkE,EAAKkC,SAASL,EAAKG,GAGnCM,EAAYjG,OAGX,CAAA,KAAI2D,YAAgB7M,SAKvB,KAAM,IAAIhD,OAAM,mBAHhBmS,GAAYtC,GAad,MAPIwB,GAAShP,QACXjG,KAAK4U,SAAS,OAAQ3S,MAAOgT,GAAWH,GAEtCe,EAAW5P,QACbjG,KAAK4U,SAAS,UAAW3S,MAAO4T,EAAYpC,KAAMqC,GAAchB,GAG3DG,EAASF,OAAOc,IAsCzBhV,EAAQqT,UAAU+B,IAAM,SAAUC,GAChC,GAGI7V,GAAI8V,EAAKjH,EAASuE,EAHlByB,EAAKlV,KAILoW,EAAYzV,EAAK6G,QAAQxB,UAAU,GACtB,WAAboQ,GAAsC,UAAbA,GAE3B/V,EAAK2F,UAAU,GACfkJ,EAAUlJ,UAAU,GACpByN,EAAOzN,UAAU,IAEG,SAAboQ,GAEPD,EAAMnQ,UAAU,GAChBkJ,EAAUlJ,UAAU,GACpByN,EAAOzN,UAAU,KAIjBkJ,EAAUlJ,UAAU,GACpByN,EAAOzN,UAAU,GAInB,IAAIqQ,EACJ,IAAInH,GAAWA,EAAQmH,WAAY,CACjC,GAAIC,IAAiB,YAAa,QAAS,SAG3C,IAFAD,EAA0D,IAA7CC,EAActP,QAAQkI,EAAQmH,YAAoB,QAAUnH,EAAQmH,WAE7E5C,GAAS4C,GAAc1V,EAAK6G,QAAQiM,GACtC,KAAM,IAAI7P,OAAM,6BAA+BjD,EAAK6G,QAAQiM,GAAQ,sDACVvE,EAAQ/H,KAAO,IAE3E,IAAkB,aAAdkP,IAA8B1V,EAAKuE,YAAYuO,GACjD,KAAM,IAAI7P,OAAM,6EAKlByS,GADO5C,GAC6B,aAAtB9S,EAAK6G,QAAQiM,GAAwB,YAGtC,OAIf,IAEgB3D,GAAMyG,EAAQzQ,EAAGC,EAF7BoB,EAAO+H,GAAWA,EAAQ/H,MAAQnH,KAAK0T,SAASvM,KAChDuN,EAASxF,GAAWA,EAAQwF,OAC5BzS,IAGJ,IAAU4E,QAANxG,EAEFyP,EAAOoF,EAAGsB,SAASnW,EAAI8G,GACnBuN,IAAWA,EAAO5E,KACpBA,EAAO,UAGN,IAAWjJ,QAAPsP,EAEP,IAAKrQ,EAAI,EAAGC,EAAMoQ,EAAIlQ,OAAYF,EAAJD,EAASA,IACrCgK,EAAOoF,EAAGsB,SAASL,EAAIrQ,GAAIqB,KACtBuN,GAAUA,EAAO5E,KACpB7N,EAAMsG,KAAKuH,OAMf,KAAKyG,IAAUvW,MAAK2T,MACd3T,KAAK2T,MAAMvN,eAAemQ,KAC5BzG,EAAOoF,EAAGsB,SAASD,EAAQpP,KACtBuN,GAAUA,EAAO5E,KACpB7N,EAAMsG,KAAKuH,GAYnB,IALIZ,GAAWA,EAAQuH,OAAe5P,QAANxG,GAC9BL,KAAK0W,MAAMzU,EAAOiN,EAAQuH,OAIxBvH,GAAWA,EAAQP,OAAQ,CAC7B,GAAIA,GAASO,EAAQP,MACrB,IAAU9H,QAANxG,EACFyP,EAAO9P,KAAK2W,cAAc7G,EAAMnB,OAGhC,KAAK7I,EAAI,EAAGC,EAAM9D,EAAMgE,OAAYF,EAAJD,EAASA,IACvC7D,EAAM6D,GAAK9F,KAAK2W,cAAc1U,EAAM6D,GAAI6I,GAM9C,GAAkB,aAAd0H,EAA2B,CAC7B,GAAIjB,GAAUpV,KAAKqV,gBAAgB5B,EACnC,IAAU5M,QAANxG,EAEF6U,EAAG0B,WAAWnD,EAAM2B,EAAStF,OAI7B,KAAKhK,EAAI,EAAGA,EAAI7D,EAAMgE,OAAQH,IAC5BoP,EAAG0B,WAAWnD,EAAM2B,EAASnT,EAAM6D,GAGvC,OAAO2N,GAEJ,GAAkB,UAAd4C,EAAwB,CAC/B,GAAIjL,KACJ,KAAKtF,EAAI,EAAGA,EAAI7D,EAAMgE,OAAQH,IAC5BsF,EAAOnJ,EAAM6D,GAAGzF,IAAM4B,EAAM6D,EAE9B,OAAOsF,GAIP,GAAUvE,QAANxG,EAEF,MAAOyP,EAIP,IAAI2D,EAAM,CAER,IAAK3N,EAAI,EAAGC,EAAM9D,EAAMgE,OAAYF,EAAJD,EAASA,IACvC2N,EAAKlL,KAAKtG,EAAM6D,GAElB,OAAO2N,GAIP,MAAOxR,IAcfpB,EAAQqT,UAAU2C,OAAS,SAAU3H,GACnC,GAIIpJ,GACAC,EACA1F,EACAyP,EACA7N,EARAwR,EAAOzT,KAAK2T,MACZe,EAASxF,GAAWA,EAAQwF,OAC5B+B,EAAQvH,GAAWA,EAAQuH,MAC3BtP,EAAO+H,GAAWA,EAAQ/H,MAAQnH,KAAK0T,SAASvM,KAMhDgP,IAEJ,IAAIzB,EAEF,GAAI+B,EAAO,CAETxU,IACA,KAAK5B,IAAMoT,GACLA,EAAKrN,eAAe/F,KACtByP,EAAO9P,KAAKwW,SAASnW,EAAI8G,GACrBuN,EAAO5E,IACT7N,EAAMsG,KAAKuH,GAOjB,KAFA9P,KAAK0W,MAAMzU,EAAOwU,GAEb3Q,EAAI,EAAGC,EAAM9D,EAAMgE,OAAYF,EAAJD,EAASA,IACvCqQ,EAAIrQ,GAAK7D,EAAM6D,GAAG9F,KAAK4T,cAKzB,KAAKvT,IAAMoT,GACLA,EAAKrN,eAAe/F,KACtByP,EAAO9P,KAAKwW,SAASnW,EAAI8G,GACrBuN,EAAO5E,IACTqG,EAAI5N,KAAKuH,EAAK9P,KAAK4T,gBAQ3B,IAAI6C,EAAO,CAETxU,IACA,KAAK5B,IAAMoT,GACLA,EAAKrN,eAAe/F,IACtB4B,EAAMsG,KAAKkL,EAAKpT,GAMpB,KAFAL,KAAK0W,MAAMzU,EAAOwU,GAEb3Q,EAAI,EAAGC,EAAM9D,EAAMgE,OAAYF,EAAJD,EAASA,IACvCqQ,EAAIrQ,GAAK7D,EAAM6D,GAAG9F,KAAK4T,cAKzB,KAAKvT,IAAMoT,GACLA,EAAKrN,eAAe/F,KACtByP,EAAO2D,EAAKpT,GACZ8V,EAAI5N,KAAKuH,EAAK9P,KAAK4T,WAM3B,OAAOuC,IAOTtV,EAAQqT,UAAU4C,WAAa,WAC7B,MAAO9W,OAaTa,EAAQqT,UAAUtL,QAAU,SAAUC,EAAUqG,GAC9C,GAGIY,GACAzP,EAJAqU,EAASxF,GAAWA,EAAQwF,OAC5BvN,EAAO+H,GAAWA,EAAQ/H,MAAQnH,KAAK0T,SAASvM,KAChDsM,EAAOzT,KAAK2T,KAIhB,IAAIzE,GAAWA,EAAQuH,MAIrB,IAAK,GAFDxU,GAAQjC,KAAKiW,IAAI/G,GAEZpJ,EAAI,EAAGC,EAAM9D,EAAMgE,OAAYF,EAAJD,EAASA,IAC3CgK,EAAO7N,EAAM6D,GACbzF,EAAKyP,EAAK9P,KAAK4T,UACf/K,EAASiH,EAAMzP,OAKjB,KAAKA,IAAMoT,GACLA,EAAKrN,eAAe/F,KACtByP,EAAO9P,KAAKwW,SAASnW,EAAI8G,KACpBuN,GAAUA,EAAO5E,KACpBjH,EAASiH,EAAMzP,KAkBzBQ,EAAQqT,UAAUpG,IAAM,SAAUjF,EAAUqG,GAC1C,GAIIY,GAJA4E,EAASxF,GAAWA,EAAQwF,OAC5BvN,EAAO+H,GAAWA,EAAQ/H,MAAQnH,KAAK0T,SAASvM,KAChD4P,KACAtD,EAAOzT,KAAK2T,KAIhB,KAAK,GAAItT,KAAMoT,GACTA,EAAKrN,eAAe/F,KACtByP,EAAO9P,KAAKwW,SAASnW,EAAI8G,KACpBuN,GAAUA,EAAO5E,KACpBiH,EAAYxO,KAAKM,EAASiH,EAAMzP,IAUtC,OAJI6O,IAAWA,EAAQuH,OACrBzW,KAAK0W,MAAMK,EAAa7H,EAAQuH,OAG3BM,GAUTlW,EAAQqT,UAAUyC,cAAgB,SAAU7G,EAAMnB,GAChD,IAAKmB,EACH,MAAOA,EAGT,IAAIkH,KAEJ,IAAGzQ,MAAMC,QAAQmI,GACf,IAAK,GAAIY,KAASO,GACZA,EAAK1J,eAAemJ,IAAoC,IAAzBZ,EAAO3H,QAAQuI,KAChDyH,EAAazH,GAASO,EAAKP,QAI/B,KAAK,GAAIA,KAASO,GACZA,EAAK1J,eAAemJ,IAAUZ,EAAOvI,eAAemJ,KACtDyH,EAAarI,EAAOY,IAAUO,EAAKP,GAKzC,OAAOyH,IASTnW,EAAQqT,UAAUwC,MAAQ,SAAUzU,EAAOwU,GACzC,GAAI9V,EAAK8D,SAASgS,GAAQ,CAExB,GAAIQ,GAAOR,CACXxU,GAAMiV,KAAK,SAAUtR,EAAGC,GACtB,GAAIsR,GAAKvR,EAAEqR,GACPG,EAAKvR,EAAEoR,EACX,OAAQE,GAAKC,EAAM,EAAWA,EAALD,EAAW,GAAK,QAGxC,CAAA,GAAqB,kBAAVV,GAOd,KAAM,IAAI/P,WAAU,uCALpBzE,GAAMiV,KAAKT,KAgBf5V,EAAQqT,UAAUmD,OAAS,SAAUhX,EAAIyU,GACvC,GACIhP,GAAGC,EAAKuR,EADRC,IAGJ,IAAIhR,MAAMC,QAAQnG,GAChB,IAAKyF,EAAI,EAAGC,EAAM1F,EAAG4F,OAAYF,EAAJD,EAASA,IACpCwR,EAAYtX,KAAKwX,QAAQnX,EAAGyF,IACX,MAAbwR,GACFC,EAAWhP,KAAK+O,OAKpBA,GAAYtX,KAAKwX,QAAQnX,GACR,MAAbiX,GACFC,EAAWhP,KAAK+O,EAQpB,OAJIC,GAAWtR,QACbjG,KAAK4U,SAAS,UAAW3S,MAAOsV,GAAazC,GAGxCyC,GAST1W,EAAQqT,UAAUsD,QAAU,SAAUnX,GACpC,GAAIM,EAAKoD,SAAS1D,IAAOM,EAAK8D,SAASpE,IACrC,GAAIL,KAAK2T,MAAMtT,GAGb,aAFOL,MAAK2T,MAAMtT,GAClBL,KAAKiG,SACE5F,MAGN,IAAIA,YAAcuG,QAAQ,CAC7B,GAAI2P,GAASlW,EAAGL,KAAK4T,SACrB,IAAI2C,GAAUvW,KAAK2T,MAAM4C,GAGvB,aAFOvW,MAAK2T,MAAM4C,GAClBvW,KAAKiG,SACEsQ,EAGX,MAAO,OAQT1V,EAAQqT,UAAUuD,MAAQ,SAAU3C,GAClC,GAAIqB,GAAMvP,OAAOiH,KAAK7N,KAAK2T,MAO3B,OALA3T,MAAK2T,SACL3T,KAAKiG,OAAS,EAEdjG,KAAK4U,SAAS,UAAW3S,MAAOkU,GAAMrB,GAE/BqB,GAQTtV,EAAQqT,UAAU9P,IAAM,SAAUmL,GAChC,GAAIkE,GAAOzT,KAAK2T,MACZvP,EAAM,KACNsT,EAAW,IAEf,KAAK,GAAIrX,KAAMoT,GACb,GAAIA,EAAKrN,eAAe/F,GAAK,CAC3B,GAAIyP,GAAO2D,EAAKpT,GACZsX,EAAY7H,EAAKP,EACJ,OAAboI,KAAuBvT,GAAOuT,EAAYD,KAC5CtT,EAAM0L,EACN4H,EAAWC,GAKjB,MAAOvT,IAQTvD,EAAQqT,UAAU/P,IAAM,SAAUoL,GAChC,GAAIkE,GAAOzT,KAAK2T,MACZxP,EAAM,KACNyT,EAAW,IAEf,KAAK,GAAIvX,KAAMoT,GACb,GAAIA,EAAKrN,eAAe/F,GAAK,CAC3B,GAAIyP,GAAO2D,EAAKpT,GACZsX,EAAY7H,EAAKP,EACJ,OAAboI,KAAuBxT,GAAmByT,EAAZD,KAChCxT,EAAM2L,EACN8H,EAAWD,GAKjB,MAAOxT,IAUTtD,EAAQqT,UAAU2D,SAAW,SAAUtI,GACrC,GAIIzJ,GAJA2N,EAAOzT,KAAK2T,MACZmE,KACAC,EAAY/X,KAAK0T,SAASvM,MAAQnH,KAAK0T,SAASvM,KAAKoI,IAAU,KAC/DyI,EAAQ,CAGZ,KAAK,GAAI7R,KAAQsN,GACf,GAAIA,EAAKrN,eAAeD,GAAO,CAC7B,GAAI2J,GAAO2D,EAAKtN,GACZ7B,EAAQwL,EAAKP,GACb0I,GAAS,CACb,KAAKnS,EAAI,EAAOkS,EAAJlS,EAAWA,IACrB,GAAIgS,EAAOhS,IAAMxB,EAAO,CACtB2T,GAAS,CACT,OAGCA,GAAqBpR,SAAVvC,IACdwT,EAAOE,GAAS1T,EAChB0T,KAKN,GAAID,EACF,IAAKjS,EAAI,EAAGA,EAAIgS,EAAO7R,OAAQH,IAC7BgS,EAAOhS,GAAKnF,EAAKuG,QAAQ4Q,EAAOhS,GAAIiS,EAIxC,OAAOD,IASTjX,EAAQqT,UAAUiB,SAAW,SAAUrF,GACrC,GAAIzP,GAAKyP,EAAK9P,KAAK4T,SAEnB,IAAU/M,QAANxG,GAEF,GAAIL,KAAK2T,MAAMtT,GAEb,KAAM,IAAIuD,OAAM,iCAAmCvD,EAAK,uBAK1DA,GAAKM,EAAK2E,aACVwK,EAAK9P,KAAK4T,UAAYvT,CAGxB,IAAI+M,KACJ,KAAK,GAAImC,KAASO,GAChB,GAAIA,EAAK1J,eAAemJ,GAAQ,CAC9B,GAAIwI,GAAY/X,KAAK8T,MAAMvE,EAC3BnC,GAAEmC,GAAS5O,EAAKuG,QAAQ4I,EAAKP,GAAQwI,GAMzC,MAHA/X,MAAK2T,MAAMtT,GAAM+M,EACjBpN,KAAKiG,SAEE5F,GAUTQ,EAAQqT,UAAUsC,SAAW,SAAUnW,EAAI6X,GACzC,GAAI3I,GAAOjL,EAGP6T,EAAMnY,KAAK2T,MAAMtT,EACrB,KAAK8X,EACH,MAAO,KAIT,IAAIC,KACJ,IAAIF,EACF,IAAK3I,IAAS4I,GACRA,EAAI/R,eAAemJ,KACrBjL,EAAQ6T,EAAI5I,GACZ6I,EAAU7I,GAAS5O,EAAKuG,QAAQ5C,EAAO4T,EAAM3I,SAMjD,KAAKA,IAAS4I,GACRA,EAAI/R,eAAemJ,KACrBjL,EAAQ6T,EAAI5I,GACZ6I,EAAU7I,GAASjL,EAIzB,OAAO8T,IAWTvX,EAAQqT,UAAU8B,YAAc,SAAUlG,GACxC,GAAIzP,GAAKyP,EAAK9P,KAAK4T,SACnB,IAAU/M,QAANxG,EACF,KAAM,IAAIuD,OAAM,6CAA+CyU,KAAKC,UAAUxI,GAAQ,IAExF,IAAI1C,GAAIpN,KAAK2T,MAAMtT,EACnB,KAAK+M,EAEH,KAAM,IAAIxJ,OAAM,uCAAyCvD,EAAK,SAIhE,KAAK,GAAIkP,KAASO,GAChB,GAAIA,EAAK1J,eAAemJ,GAAQ,CAC9B,GAAIwI,GAAY/X,KAAK8T,MAAMvE,EAC3BnC,GAAEmC,GAAS5O,EAAKuG,QAAQ4I,EAAKP,GAAQwI,GAIzC,MAAO1X,IASTQ,EAAQqT,UAAUmB,gBAAkB,SAAUkD,GAE5C,IAAK,GADDnD,MACKK,EAAM,EAAGC,EAAO6C,EAAUC,qBAA4B9C,EAAND,EAAYA,IACnEL,EAAQK,GAAO8C,EAAUE,YAAYhD,IAAQ8C,EAAUG,eAAejD,EAExE,OAAOL,IAUTvU,EAAQqT,UAAU0C,WAAa,SAAU2B,EAAWnD,EAAStF,GAG3D,IAAK,GAFDwF,GAAMiD,EAAUI,SAEXlD,EAAM,EAAGC,EAAON,EAAQnP,OAAcyP,EAAND,EAAYA,IAAO,CAC1D,GAAIlG,GAAQ6F,EAAQK,EACpB8C,GAAUK,SAAStD,EAAKG,EAAK3F,EAAKP,MAItC1P,EAAOD,QAAUiB,GAKb,SAAShB,EAAQD,EAASM,GAe9B,QAASY,GAAU2S,EAAMvE,GACvBlP,KAAK2T,MAAQ,KACb3T,KAAK6Y,QACL7Y,KAAKiG,OAAS,EACdjG,KAAK0T,SAAWxE,MAChBlP,KAAK4T,SAAW,KAChB5T,KAAK+T,eAEL,IAAImB,GAAKlV,IACTA,MAAKqJ,SAAW,WACd6L,EAAG4D,SAASC,MAAM7D,EAAIlP,YAGxBhG,KAAKgZ,QAAQvF,GA1Bf,GAAI9S,GAAOT,EAAoB,GAC3BW,EAAUX,EAAoB,EAmClCY,GAASoT,UAAU8E,QAAU,SAAUvF,GACrC,GAAI0C,GAAKrQ,EAAGC,CAEZ,IAAI/F,KAAK2T,MAAO,CAEV3T,KAAK2T,MAAMgB,aACb3U,KAAK2T,MAAMgB,YAAY,IAAK3U,KAAKqJ,UAInC8M,IACA,KAAK,GAAI9V,KAAML,MAAK6Y,KACd7Y,KAAK6Y,KAAKzS,eAAe/F,IAC3B8V,EAAI5N,KAAKlI,EAGbL,MAAK6Y,QACL7Y,KAAKiG,OAAS,EACdjG,KAAK4U,SAAS,UAAW3S,MAAOkU,IAKlC,GAFAnW,KAAK2T,MAAQF,EAETzT,KAAK2T,MAAO,CAQd,IANA3T,KAAK4T,SAAW5T,KAAK0T,SAASG,SACzB7T,KAAK2T,OAAS3T,KAAK2T,MAAMzE,SAAWlP,KAAK2T,MAAMzE,QAAQ2E,SACxD,KAGJsC,EAAMnW,KAAK2T,MAAMkD,QAAQnC,OAAQ1U,KAAK0T,UAAY1T,KAAK0T,SAASgB,SAC3D5O,EAAI,EAAGC,EAAMoQ,EAAIlQ,OAAYF,EAAJD,EAASA,IACrCzF,EAAK8V,EAAIrQ,GACT9F,KAAK6Y,KAAKxY,IAAM,CAElBL,MAAKiG,OAASkQ,EAAIlQ,OAClBjG,KAAK4U,SAAS,OAAQ3S,MAAOkU,IAGzBnW,KAAK2T,MAAMW,IACbtU,KAAK2T,MAAMW,GAAG,IAAKtU,KAAKqJ,YAS9BvI,EAASoT,UAAU+E,QAAU,WAQ3B,IAAK,GAPD5Y,GACA8V,EAAMnW,KAAK2T,MAAMkD,QAAQnC,OAAQ1U,KAAK0T,UAAY1T,KAAK0T,SAASgB,SAChEwE,KACAC,KACAC,KAGKtT,EAAI,EAAGA,EAAIqQ,EAAIlQ,OAAQH,IAC9BzF,EAAK8V,EAAIrQ,GACToT,EAAO7Y,IAAM,EACRL,KAAK6Y,KAAKxY,KACb8Y,EAAM5Q,KAAKlI,GACXL,KAAK6Y,KAAKxY,IAAM,EAChBL,KAAKiG,SAKT,KAAK5F,IAAML,MAAK6Y,KACV7Y,KAAK6Y,KAAKzS,eAAe/F,KACtB6Y,EAAO7Y,KACV+Y,EAAQ7Q,KAAKlI,SACNL,MAAK6Y,KAAKxY,GACjBL,KAAKiG,UAMPkT,GAAMlT,QACRjG,KAAK4U,SAAS,OAAQ3S,MAAOkX,IAE3BC,EAAQnT,QACVjG,KAAK4U,SAAS,UAAW3S,MAAOmX,KAsCpCtY,EAASoT,UAAU+B,IAAM,SAAUC,GACjC,GAGIC,GAAKjH,EAASuE,EAHdyB,EAAKlV,KAILoW,EAAYzV,EAAK6G,QAAQxB,UAAU,GACtB,WAAboQ,GAAsC,UAAbA,GAAsC,SAAbA,GAEpDD,EAAMnQ,UAAU,GAChBkJ,EAAUlJ,UAAU,GACpByN,EAAOzN,UAAU,KAIjBkJ,EAAUlJ,UAAU,GACpByN,EAAOzN,UAAU,GAInB,IAAIqT,GAAc1Y,EAAKgF,UAAW3F,KAAK0T,SAAUxE,EAG7ClP,MAAK0T,SAASgB,QAAUxF,GAAWA,EAAQwF,SAC7C2E,EAAY3E,OAAS,SAAU5E,GAC7B,MAAOoF,GAAGxB,SAASgB,OAAO5E,IAASZ,EAAQwF,OAAO5E,IAKtD,IAAIwJ,KAOJ,OANWzS,SAAPsP,GACFmD,EAAa/Q,KAAK4N,GAEpBmD,EAAa/Q,KAAK8Q,GAClBC,EAAa/Q,KAAKkL,GAEXzT,KAAK2T,OAAS3T,KAAK2T,MAAMsC,IAAI8C,MAAM/Y,KAAK2T,MAAO2F,IAWxDxY,EAASoT,UAAU2C,OAAS,SAAU3H,GACpC,GAAIiH,EAEJ,IAAInW,KAAK2T,MAAO,CACd,GACIe,GADA6E,EAAgBvZ,KAAK0T,SAASgB,MAK9BA,GAFAxF,GAAWA,EAAQwF,OACjB6E,EACO,SAAUzJ,GACjB,MAAOyJ,GAAczJ,IAASZ,EAAQwF,OAAO5E,IAItCZ,EAAQwF,OAIV6E,EAGXpD,EAAMnW,KAAK2T,MAAMkD,QACfnC,OAAQA,EACR+B,MAAOvH,GAAWA,EAAQuH,YAI5BN,KAGF,OAAOA,IAQTrV,EAASoT,UAAU4C,WAAa,WAE9B,IADA,GAAI0C,GAAUxZ,KACPwZ,YAAmB1Y,IACxB0Y,EAAUA,EAAQ7F,KAEpB,OAAO6F,IAAW,MAYpB1Y,EAASoT,UAAU4E,SAAW,SAAUjP,EAAOgL,EAAQC,GACrD,GAAIhP,GAAGC,EAAK1F,EAAIyP,EACZqG,EAAMtB,GAAUA,EAAO5S,MACvBwR,EAAOzT,KAAK2T,MACZmC,KACAqD,KACAM,KACAL,IAEJ,IAAIjD,GAAO1C,EAAM,CACf,OAAQ5J,GACN,IAAK,MAEH,IAAK/D,EAAI,EAAGC,EAAMoQ,EAAIlQ,OAAYF,EAAJD,EAASA,IACrCzF,EAAK8V,EAAIrQ,GACTgK,EAAO9P,KAAKiW,IAAI5V,GACZyP,IACF9P,KAAK6Y,KAAKxY,IAAM,EAChB8Y,EAAM5Q,KAAKlI,GAIf,MAEF,KAAK,SAGH,IAAKyF,EAAI,EAAGC,EAAMoQ,EAAIlQ,OAAYF,EAAJD,EAASA,IACrCzF,EAAK8V,EAAIrQ,GACTgK,EAAO9P,KAAKiW,IAAI5V,GAEZyP,EACE9P,KAAK6Y,KAAKxY,IACZoZ,EAAQlR,KAAKlI,GACbyV,EAAYvN,KAAKsM,EAAOpB,KAAK3N,MAG7B9F,KAAK6Y,KAAKxY,IAAM,EAChB8Y,EAAM5Q,KAAKlI,IAITL,KAAK6Y,KAAKxY,WACLL,MAAK6Y,KAAKxY,GACjB+Y,EAAQ7Q,KAAKlI,GAQnB,MAEF,KAAK,SAEH,IAAKyF,EAAI,EAAGC,EAAMoQ,EAAIlQ,OAAYF,EAAJD,EAASA,IACrCzF,EAAK8V,EAAIrQ,GACL9F,KAAK6Y,KAAKxY,WACLL,MAAK6Y,KAAKxY,GACjB+Y,EAAQ7Q,KAAKlI,IAOrBL,KAAKiG,QAAUkT,EAAMlT,OAASmT,EAAQnT,OAElCkT,EAAMlT,QACRjG,KAAK4U,SAAS,OAAQ3S,MAAOkX,GAAQrE,GAEnC2E,EAAQxT,QACVjG,KAAK4U,SAAS,UAAW3S,MAAOwX,EAAShG,KAAMqC,GAAchB,GAE3DsE,EAAQnT,QACVjG,KAAK4U,SAAS,UAAW3S,MAAOmX,GAAUtE,KAMhDhU,EAASoT,UAAUI,GAAKzT,EAAQqT,UAAUI,GAC1CxT,EAASoT,UAAUO,IAAM5T,EAAQqT,UAAUO,IAC3C3T,EAASoT,UAAUU,SAAW/T,EAAQqT,UAAUU,SAGhD9T,EAASoT,UAAUM,UAAY1T,EAASoT,UAAUI,GAClDxT,EAASoT,UAAUS,YAAc7T,EAASoT,UAAUO,IAEpD5U,EAAOD,QAAUkB,GAIb,SAASjB,EAAQD,EAASM,GAe9B,QAASa,GAAMmO,GAEblP,KAAK0Z,MAAQ,KACb1Z,KAAKoE,IAAMuV,EAAAA,EAGX3Z,KAAKoU,UACLpU,KAAK4Z,SAAW,KAChB5Z,KAAK6Z,UAAY,KAEjB7Z,KAAKiU,WAAW/E,GAgBlBnO,EAAMmT,UAAUD,WAAa,SAAU/E,GACjCA,GAAoC,mBAAlBA,GAAQwK,QAC5B1Z,KAAK0Z,MAAQxK,EAAQwK,OAEnBxK,GAAkC,mBAAhBA,GAAQ9K,MAC5BpE,KAAKoE,IAAM8K,EAAQ9K,KAGrBpE,KAAK8Z,kBAsBP/Y,EAAM4E,OAAS,SAAU3B,EAAQkL,GAC/B,GAAIiF,GAAQ,GAAIpT,GAAMmO,EAEtB,IAAqBrI,SAAjB7C,EAAO+V,MACT,KAAM,IAAInW,OAAM,6CAElBI,GAAO+V,MAAQ,WACb5F,EAAM4F,QAGR,IAAIC,KACF/C,KAAM,QACNgD,SAAUpT,QAGZ,IAAIqI,GAAWA,EAAQjE,QACrB,IAAK,GAAInF,GAAI,EAAGA,EAAIoJ,EAAQjE,QAAQhF,OAAQH,IAAK,CAC/C,GAAImR,GAAO/H,EAAQjE,QAAQnF,EAC3BkU,GAAQzR,MACN0O,KAAMA,EACNgD,SAAUjW,EAAOiT,KAEnB9C,EAAMlJ,QAAQjH,EAAQiT,GAS1B,MALA9C,GAAM0F,WACJ7V,OAAQA,EACRgW,QAASA,GAGJ7F,GAOTpT,EAAMmT,UAAUG,QAAU,WAGxB,GAFArU,KAAK+Z,QAED/Z,KAAK6Z,UAAW,CAGlB,IAAK,GAFD7V,GAAShE,KAAK6Z,UAAU7V,OACxBgW,EAAUha,KAAK6Z,UAAUG,QACpBlU,EAAI,EAAGA,EAAIkU,EAAQ/T,OAAQH,IAAK,CACvC,GAAIoU,GAASF,EAAQlU,EACjBoU,GAAOD,SACTjW,EAAOkW,EAAOjD,MAAQiD,EAAOD,eAGtBjW,GAAOkW,EAAOjD,MAGzBjX,KAAK6Z,UAAY,OASrB9Y,EAAMmT,UAAUjJ,QAAU,SAASjH,EAAQkW,GACzC,GAAIhF,GAAKlV,KACLia,EAAWjW,EAAOkW,EACtB,KAAKD,EACH,KAAM,IAAIrW,OAAM,UAAYsW,EAAS,aAGvClW,GAAOkW,GAAU,WAGf,IAAK,GADDhE,MACKpQ,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IACpCoQ,EAAKpQ,GAAKE,UAAUF,EAItBoP,GAAGf,OACD+B,KAAMA,EACNiE,GAAIF,EACJG,QAASpa,SASfe,EAAMmT,UAAUC,MAAQ,SAASkG,GAE7Bra,KAAKoU,OAAO7L,KADO,kBAAV8R,IACSF,GAAIE,GAGLA,GAGnBra,KAAK8Z,kBAOP/Y,EAAMmT,UAAU4F,eAAiB,WAQ/B,GANI9Z,KAAKoU,OAAOnO,OAASjG,KAAKoE,KAC5BpE,KAAK+Z,QAIPO,aAAata,KAAK4Z,UACd5Z,KAAKmU,MAAMlO,OAAS,GAA2B,gBAAfjG,MAAK0Z,MAAoB,CAC3D,GAAIxE,GAAKlV,IACTA,MAAK4Z,SAAWW,WAAW,WACzBrF,EAAG6E,SACF/Z,KAAK0Z,SAOZ3Y,EAAMmT,UAAU6F,MAAQ,WACtB,KAAO/Z,KAAKoU,OAAOnO,OAAS,GAAG,CAC7B,GAAIoU,GAAQra,KAAKoU,OAAOrC,OACxBsI,GAAMF,GAAGpB,MAAMsB,EAAMD,SAAWC,EAAMF,GAAIE,EAAMnE,YAIpDrW,EAAOD,QAAUmB,GAKb,SAASlB,EAAQD,EAASM,GAwB9B,QAASc,GAAQwZ,EAAW/G,EAAMvE,GAChC,KAAMlP,eAAgBgB,IACpB,KAAM,IAAIyZ,aAAY,mDAIxBza,MAAK0a,iBAAmBF,EACxBxa,KAAKsT,MAAQ,QACbtT,KAAKuT,OAAS,QACdvT,KAAK2a,OAAS,GACd3a,KAAK4a,eAAiB,MACtB5a,KAAK6a,eAAiB,MAEtB7a,KAAK8a,OAAS,IACd9a,KAAK+a,OAAS,IACd/a,KAAKgb,OAAS,GAEd,IAAIC,GAAc,SAASzO,GAAK,MAAOA,GACvCxM,MAAKkb,YAAcD,EACnBjb,KAAKmb,YAAcF,EACnBjb,KAAKob,YAAcH,EAEnBjb,KAAKqb,YAAc,OACnBrb,KAAKsb,YAAc,QAEnBtb,KAAK0N,MAAQ1M,EAAQua,MAAMC,IAC3Bxb,KAAKyb,iBAAkB,EACvBzb,KAAK0b,UAAW,EAChB1b,KAAK2b,iBAAkB,EACvB3b,KAAK4b,YAAa,EAClB5b,KAAK6b,gBAAiB,EACtB7b,KAAK8b,aAAc,EACnB9b,KAAK+b,cAAgB,GAErB/b,KAAKgc,kBAAoB,IACzBhc,KAAKic,kBAAmB,EAExBjc,KAAKkc,OAAS,GAAIhb,GAClBlB,KAAKmc,IAAM,GAAI9a,GAAQ,EAAG,EAAG,IAE7BrB,KAAKuY,UAAY,KACjBvY,KAAKoc,WAAa,KAGlBpc,KAAKqc,KAAOxV,OACZ7G,KAAKsc,KAAOzV,OACZ7G,KAAKuc,KAAO1V,OACZ7G,KAAKwc,SAAW3V,OAChB7G,KAAKyc,UAAY5V,OAEjB7G,KAAK0c,KAAO,EACZ1c,KAAK2c,MAAQ9V,OACb7G,KAAK4c,KAAO,EACZ5c,KAAK6c,KAAO,EACZ7c,KAAK8c,MAAQjW,OACb7G,KAAK+c,KAAO,EACZ/c,KAAKgd,KAAO,EACZhd,KAAKid,MAAQpW,OACb7G,KAAKkd,KAAO,EACZld,KAAKmd,SAAW,EAChBnd,KAAKod,SAAW,EAChBpd,KAAKqd,UAAY,EACjBrd,KAAKsd,UAAY,EAIjBtd,KAAKud,UAAY,UACjBvd,KAAKwd,UAAY,UACjBxd,KAAKyd,SAAW,UAChBzd,KAAK0d,eAAiB,UAGtB1d,KAAK8O,SAGL9O,KAAKiU,WAAW/E,GAGZuE,GACFzT,KAAKgZ,QAAQvF,GAknEjB,QAASkK,GAAW9T,GAClB,MAAI,WAAaA,GAAcA,EAAM+T,QAC9B/T,EAAMgU,cAAc,IAAMhU,EAAMgU,cAAc,GAAGD,SAAW,EAQrE,QAASE,GAAWjU,GAClB,MAAI,WAAaA,GAAcA,EAAMkU,QAC9BlU,EAAMgU,cAAc,IAAMhU,EAAMgU,cAAc,GAAGE,SAAW,EAnuErE,GAAIC,GAAU9d,EAAoB,IAC9BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/BS,EAAOT,EAAoB,GAC3BmB,EAAUnB,EAAoB,IAC9BkB,EAAUlB,EAAoB,GAC9BgB,EAAShB,EAAoB,GAC7BiB,EAASjB,EAAoB,GAC7BoB,EAASpB,EAAoB,IAC7BqB,EAAarB,EAAoB,GAiGrC8d,GAAQhd,EAAQkT,WAKhBlT,EAAQkT,UAAU+J,UAAY,WAC5Bje,KAAKuE,MAAQ,GAAIlD,GAAQ,GAAKrB,KAAK4c,KAAO5c,KAAK0c,MAC7C,GAAK1c,KAAK+c,KAAO/c,KAAK6c,MACtB,GAAK7c,KAAKkd,KAAOld,KAAKgd,OAGpBhd,KAAK2b,kBACH3b,KAAKuE,MAAMiO,EAAIxS,KAAKuE,MAAMkO,EAE5BzS,KAAKuE,MAAMkO,EAAIzS,KAAKuE,MAAMiO,EAI1BxS,KAAKuE,MAAMiO,EAAIxS,KAAKuE,MAAMkO,GAK9BzS,KAAKuE,MAAM2Z,GAAKle,KAAK+b,cAIrB/b,KAAKuE,MAAMD,MAAQ,GAAKtE,KAAKod,SAAWpd,KAAKmd,SAG7C,IAAIgB,IAAWne,KAAK4c,KAAO5c,KAAK0c,MAAQ,EAAI1c,KAAKuE,MAAMiO,EACnD4L,GAAWpe,KAAK+c,KAAO/c,KAAK6c,MAAQ,EAAI7c,KAAKuE,MAAMkO,EACnD4L,GAAWre,KAAKkd,KAAOld,KAAKgd,MAAQ,EAAIhd,KAAKuE,MAAM2Z,CACvDle,MAAKkc,OAAOoC,eAAeH,EAASC,EAASC,IAU/Crd,EAAQkT,UAAUqK,eAAiB,SAASC,GAC1C,GAAIC,GAAcze,KAAK0e,2BAA2BF,EAClD,OAAOxe,MAAK2e,4BAA4BF,IAW1Czd,EAAQkT,UAAUwK,2BAA6B,SAASF,GACtD,GAAII,GAAKJ,EAAQhM,EAAIxS,KAAKuE,MAAMiO,EAC9BqM,EAAKL,EAAQ/L,EAAIzS,KAAKuE,MAAMkO,EAC5BqM,EAAKN,EAAQN,EAAIle,KAAKuE,MAAM2Z,EAE5Ba,EAAK/e,KAAKkc,OAAO8C,oBAAoBxM,EACrCyM,EAAKjf,KAAKkc,OAAO8C,oBAAoBvM,EACrCyM,EAAKlf,KAAKkc,OAAO8C,oBAAoBd,EAGrCiB,EAAQ3a,KAAK4a,IAAIpf,KAAKkc,OAAOmD,oBAAoB7M,GACjD8M,EAAQ9a,KAAK+a,IAAIvf,KAAKkc,OAAOmD,oBAAoB7M,GACjDgN,EAAQhb,KAAK4a,IAAIpf,KAAKkc,OAAOmD,oBAAoB5M,GACjDgN,EAAQjb,KAAK+a,IAAIvf,KAAKkc,OAAOmD,oBAAoB5M,GACjDiN,EAAQlb,KAAK4a,IAAIpf,KAAKkc,OAAOmD,oBAAoBnB,GACjDyB,EAAQnb,KAAK+a,IAAIvf,KAAKkc,OAAOmD,oBAAoBnB,GAGjD0B,EAAKH,GAASC,GAASb,EAAKI,GAAMU,GAASf,EAAKG,IAAOS,GAASV,EAAKI,GACrEW,EAAKV,GAASM,GAASX,EAAKI,GAAMM,GAASE,GAASb,EAAKI,GAAMU,GAASf,EAAKG,KAAQO,GAASK,GAASd,EAAKI,GAAMS,GAASd,EAAGG,IAC9He,EAAKR,GAASG,GAASX,EAAKI,GAAMM,GAASE,GAASb,EAAKI,GAAMU,GAASf,EAAKG,KAAQI,GAASQ,GAASd,EAAKI,GAAMS,GAASd,EAAGG,GAEhI,OAAO,IAAI1d,GAAQue,EAAIC,EAAIC,IAU7B9e,EAAQkT,UAAUyK,4BAA8B,SAASF,GACvD,GAQIsB,GACAC,EATAC,EAAKjgB,KAAKmc,IAAI3J,EAChB0N,EAAKlgB,KAAKmc,IAAI1J,EACd0N,EAAKngB,KAAKmc,IAAI+B,EACd0B,EAAKnB,EAAYjM,EACjBqN,EAAKpB,EAAYhM,EACjBqN,EAAKrB,EAAYP,CAgBnB,OAXIle,MAAKyb,iBACPsE,GAAMH,EAAKK,IAAOE,EAAKL,GACvBE,GAAMH,EAAKK,IAAOC,EAAKL,KAGvBC,EAAKH,IAAOO,EAAKngB,KAAKkc,OAAOkE,gBAC7BJ,EAAKH,IAAOM,EAAKngB,KAAKkc,OAAOkE,iBAKxB,GAAIhf,GACTpB,KAAKqgB,QAAUN,EAAK/f,KAAKsgB,MAAMC,OAAOC,YACtCxgB,KAAKygB,QAAUT,EAAKhgB,KAAKsgB,MAAMC,OAAOC,cAO1Cxf,EAAQkT,UAAUwM,oBAAsB,SAASC,GAC/C,GAAIC,GAAO,QACPC,EAAS,OACTC,EAAc,CAElB,IAAgC,gBAAtB,GACRF,EAAOD,EACPE,EAAS,OACTC,EAAc,MAEX,IAAgC,gBAAtB,GACgBja,SAAzB8Z,EAAgBC,OAAuBA,EAAOD,EAAgBC,MACnC/Z,SAA3B8Z,EAAgBE,SAAyBA,EAASF,EAAgBE,QAClCha,SAAhC8Z,EAAgBG,cAA2BA,EAAcH,EAAgBG,iBAE1E,IAAyBja,SAApB8Z,EAIR,KAAM,qCAGR3gB,MAAKsgB,MAAM5S,MAAMiT,gBAAkBC,EACnC5gB,KAAKsgB,MAAM5S,MAAMqT,YAAcF,EAC/B7gB,KAAKsgB,MAAM5S,MAAMsT,YAAcF,EAAc,KAC7C9gB,KAAKsgB,MAAM5S,MAAMuT,YAAc,SAKjCjgB,EAAQua,OACN2F,IAAK,EACLC,SAAU,EACVC,QAAS,EACT5F,IAAM,EACN6F,QAAU,EACVC,SAAU,EACVC,QAAS,EACTC,KAAO,EACPC,KAAM,EACNC,QAAU,GASZ1gB,EAAQkT,UAAUyN,gBAAkB,SAASC,GAC3C,OAAQA,GACN,IAAK,MAAW,MAAO5gB,GAAQua,MAAMC,GACrC,KAAK,WAAa,MAAOxa,GAAQua,MAAM8F,OACvC,KAAK,YAAe,MAAOrgB,GAAQua,MAAM+F,QACzC,KAAK,WAAa,MAAOtgB,GAAQua,MAAMgG,OACvC,KAAK,OAAW,MAAOvgB,GAAQua,MAAMkG,IACrC,KAAK,OAAW,MAAOzgB,GAAQua,MAAMiG,IACrC,KAAK,UAAa,MAAOxgB,GAAQua,MAAMmG,OACvC,KAAK,MAAW,MAAO1gB,GAAQua,MAAM2F,GACrC,KAAK,YAAe,MAAOlgB,GAAQua,MAAM4F,QACzC,KAAK,WAAa,MAAOngB,GAAQua,MAAM6F,QAGzC,MAAO,IAQTpgB,EAAQkT,UAAU2N,wBAA0B,SAASpO,EAAM/F,GACzD,GAAI1N,KAAK0N,QAAU1M,EAAQua,MAAMC,KAC/Bxb,KAAK0N,QAAU1M,EAAQua,MAAM8F,SAC7BrhB,KAAK0N,QAAU1M,EAAQua,MAAMkG,MAC7BzhB,KAAK0N,QAAU1M,EAAQua,MAAMiG,MAC7BxhB,KAAK0N,QAAU1M,EAAQua,MAAMmG,SAC7B1hB,KAAK0N,QAAU1M,EAAQua,MAAM2F,IAE7BlhB,KAAKqc,KAAO,EACZrc,KAAKsc,KAAO,EACZtc,KAAKuc,KAAO,EACZvc,KAAKwc,SAAW3V,OAEZ4M,EAAK+E,qBAAuB,IAC9BxY,KAAKyc,UAAY,OAGhB,CAAA,GAAIzc,KAAK0N,QAAU1M,EAAQua,MAAM+F,UACpCthB,KAAK0N,QAAU1M,EAAQua,MAAMgG,SAC7BvhB,KAAK0N,QAAU1M,EAAQua,MAAM4F,UAC7BnhB,KAAK0N,QAAU1M,EAAQua,MAAM6F,QAY7B,KAAM,kBAAoBphB,KAAK0N,MAAQ,GAVvC1N,MAAKqc,KAAO,EACZrc,KAAKsc,KAAO,EACZtc,KAAKuc,KAAO,EACZvc,KAAKwc,SAAW,EAEZ/I,EAAK+E,qBAAuB,IAC9BxY,KAAKyc,UAAY,KAQvBzb,EAAQkT,UAAUsB,gBAAkB,SAAS/B,GAC3C,MAAOA,GAAKxN,QAIdjF,EAAQkT,UAAUsE,mBAAqB,SAAS/E,GAC9C,GAAIqO,GAAU,CACd,KAAK,GAAIC,KAAUtO,GAAK,GAClBA,EAAK,GAAGrN,eAAe2b,IACzBD,GAGJ,OAAOA,IAIT9gB,EAAQkT,UAAU8N,kBAAoB,SAASvO,EAAMsO,GAEnD,IAAK,GADDE,MACKnc,EAAI,EAAGA,EAAI2N,EAAKxN,OAAQH,IACgB,IAA3Cmc,EAAejb,QAAQyM,EAAK3N,GAAGic,KACjCE,EAAe1Z,KAAKkL,EAAK3N,GAAGic,GAGhC,OAAOE,IAITjhB,EAAQkT,UAAUgO,eAAiB,SAASzO,EAAKsO,GAE/C,IAAK,GADDI,IAAUhe,IAAIsP,EAAK,GAAGsO,GAAQ3d,IAAIqP,EAAK,GAAGsO,IACrCjc,EAAI,EAAGA,EAAI2N,EAAKxN,OAAQH,IAC3Bqc,EAAOhe,IAAMsP,EAAK3N,GAAGic,KAAWI,EAAOhe,IAAMsP,EAAK3N,GAAGic,IACrDI,EAAO/d,IAAMqP,EAAK3N,GAAGic,KAAWI,EAAO/d,IAAMqP,EAAK3N,GAAGic,GAE3D,OAAOI,IASTnhB,EAAQkT,UAAUkO,gBAAkB,SAAUC,EAAS3U;AACrD,GAAIwH,GAAKlV,IAOT,IAJIA,KAAKwZ,SACPxZ,KAAKwZ,QAAQ/E,IAAI,IAAKzU,KAAKsiB,WAGbzb,SAAZwb,EAAJ,CAGI9b,MAAMC,QAAQ6b,KAChBA,EAAU,GAAIxhB,GAAQwhB,GAGxB,IAAI5O,EACJ,MAAI4O,YAAmBxhB,IAAWwhB,YAAmBvhB,IAInD,KAAM,IAAI8C,OAAM,uCAGlB,IANE6P,EAAO4O,EAAQpM,MAME,GAAfxC,EAAKxN,OAAT,CAGAjG,KAAKwZ,QAAU6I,EACfriB,KAAKuY,UAAY9E,EAGjBzT,KAAKsiB,UAAY,WACfpN,EAAG8D,QAAQ9D,EAAGsE,UAEhBxZ,KAAKwZ,QAAQlF,GAAG,IAAKtU,KAAKsiB,WAS1BtiB,KAAKqc,KAAO,IACZrc,KAAKsc,KAAO,IACZtc,KAAKuc,KAAO,IACZvc,KAAKwc,SAAW,QAChBxc,KAAKyc,UAAY,SAKbhJ,EAAK,GAAGrN,eAAe,WACDS,SAApB7G,KAAKuiB,aACPviB,KAAKuiB,WAAa,GAAIphB,GAAOkhB,EAASriB,KAAKyc,UAAWzc,MACtDA,KAAKuiB,WAAWC,kBAAkB,WAAYtN,EAAGuN,WAKrD,IAAIC,GAAW1iB,KAAK0N,OAAS1M,EAAQua,MAAM2F,KACzClhB,KAAK0N,OAAS1M,EAAQua,MAAM4F,UAC5BnhB,KAAK0N,OAAS1M,EAAQua,MAAM6F,OAG9B,IAAIsB,EAAU,CACZ,GAA8B7b,SAA1B7G,KAAK2iB,iBACP3iB,KAAKqd,UAAYrd,KAAK2iB,qBAEnB,CACH,GAAIC,GAAQ5iB,KAAKgiB,kBAAkBvO,EAAKzT,KAAKqc,KAC7Crc,MAAKqd,UAAauF,EAAM,GAAKA,EAAM,IAAO,EAG5C,GAA8B/b,SAA1B7G,KAAK6iB,iBACP7iB,KAAKsd,UAAYtd,KAAK6iB,qBAEnB,CACH,GAAIC,GAAQ9iB,KAAKgiB,kBAAkBvO,EAAKzT,KAAKsc,KAC7Ctc,MAAKsd,UAAawF,EAAM,GAAKA,EAAM,IAAO,GAK9C,GAAIC,GAAS/iB,KAAKkiB,eAAezO,EAAKzT,KAAKqc,KACvCqG,KACFK,EAAO5e,KAAOnE,KAAKqd,UAAY,EAC/B0F,EAAO3e,KAAOpE,KAAKqd,UAAY,GAEjCrd,KAAK0c,KAA6B7V,SAArB7G,KAAKgjB,YAA6BhjB,KAAKgjB,YAAcD,EAAO5e,IACzEnE,KAAK4c,KAA6B/V,SAArB7G,KAAKijB,YAA6BjjB,KAAKijB,YAAcF,EAAO3e,IACrEpE,KAAK4c,MAAQ5c,KAAK0c,OAAM1c,KAAK4c,KAAO5c,KAAK0c,KAAO,GACpD1c,KAAK2c,MAA+B9V,SAAtB7G,KAAKkjB,aAA8BljB,KAAKkjB,cAAgBljB,KAAK4c,KAAK5c,KAAK0c,MAAM,CAE3F,IAAIyG,GAASnjB,KAAKkiB,eAAezO,EAAKzT,KAAKsc,KACvCoG,KACFS,EAAOhf,KAAOnE,KAAKsd,UAAY,EAC/B6F,EAAO/e,KAAOpE,KAAKsd,UAAY,GAEjCtd,KAAK6c,KAA6BhW,SAArB7G,KAAKojB,YAA6BpjB,KAAKojB,YAAcD,EAAOhf,IACzEnE,KAAK+c,KAA6BlW,SAArB7G,KAAKqjB,YAA6BrjB,KAAKqjB,YAAcF,EAAO/e,IACrEpE,KAAK+c,MAAQ/c,KAAK6c,OAAM7c,KAAK+c,KAAO/c,KAAK6c,KAAO,GACpD7c,KAAK8c,MAA+BjW,SAAtB7G,KAAKsjB,aAA8BtjB,KAAKsjB,cAAgBtjB,KAAK+c,KAAK/c,KAAK6c,MAAM,CAE3F,IAAI0G,GAASvjB,KAAKkiB,eAAezO,EAAKzT,KAAKuc,KAM3C,IALAvc,KAAKgd,KAA6BnW,SAArB7G,KAAKwjB,YAA6BxjB,KAAKwjB,YAAcD,EAAOpf,IACzEnE,KAAKkd,KAA6BrW,SAArB7G,KAAKyjB,YAA6BzjB,KAAKyjB,YAAcF,EAAOnf,IACrEpE,KAAKkd,MAAQld,KAAKgd,OAAMhd,KAAKkd,KAAOld,KAAKgd,KAAO,GACpDhd,KAAKid,MAA+BpW,SAAtB7G,KAAK0jB,aAA8B1jB,KAAK0jB,cAAgB1jB,KAAKkd,KAAKld,KAAKgd,MAAM,EAErEnW,SAAlB7G,KAAKwc,SAAwB,CAC/B,GAAImH,GAAa3jB,KAAKkiB,eAAezO,EAAKzT,KAAKwc,SAC/Cxc,MAAKmd,SAAqCtW,SAAzB7G,KAAK4jB,gBAAiC5jB,KAAK4jB,gBAAkBD,EAAWxf,IACzFnE,KAAKod,SAAqCvW,SAAzB7G,KAAK6jB,gBAAiC7jB,KAAK6jB,gBAAkBF,EAAWvf,IACrFpE,KAAKod,UAAYpd,KAAKmd,WAAUnd,KAAKod,SAAWpd,KAAKmd,SAAW,GAItEnd,KAAKie,eAUPjd,EAAQkT,UAAU4P,eAAiB,SAAUrQ,GAE3C,GAAIjB,GAAGC,EAAG3M,EAAGoY,EAAG6F,EAAKnR,EAEjBwJ,IAEJ,IAAIpc,KAAK0N,QAAU1M,EAAQua,MAAMiG,MAC/BxhB,KAAK0N,QAAU1M,EAAQua,MAAMmG,QAAS,CAKtC,GAAIkB,MACAE,IACJ,KAAKhd,EAAI,EAAGA,EAAI9F,KAAKwV,gBAAgB/B,GAAO3N,IAC1C0M,EAAIiB,EAAK3N,GAAG9F,KAAKqc,OAAS,EAC1B5J,EAAIgB,EAAK3N,GAAG9F,KAAKsc,OAAS,EAED,KAArBsG,EAAM5b,QAAQwL,IAChBoQ,EAAMra,KAAKiK,GAEY,KAArBsQ,EAAM9b,QAAQyL,IAChBqQ,EAAMva,KAAKkK,EAIf,IAAIuR,GAAa,SAAUpe,EAAGC,GAC5B,MAAOD,GAAIC,EAEb+c,GAAM1L,KAAK8M,GACXlB,EAAM5L,KAAK8M,EAGX,IAAIC,KACJ,KAAKne,EAAI,EAAGA,EAAI2N,EAAKxN,OAAQH,IAAK,CAChC0M,EAAIiB,EAAK3N,GAAG9F,KAAKqc,OAAS,EAC1B5J,EAAIgB,EAAK3N,GAAG9F,KAAKsc,OAAS,EAC1B4B,EAAIzK,EAAK3N,GAAG9F,KAAKuc,OAAS,CAE1B,IAAI2H,GAAStB,EAAM5b,QAAQwL,GACvB2R,EAASrB,EAAM9b,QAAQyL,EAEA5L,UAAvBod,EAAWC,KACbD,EAAWC,MAGb,IAAI1F,GAAU,GAAInd,EAClBmd,GAAQhM,EAAIA,EACZgM,EAAQ/L,EAAIA,EACZ+L,EAAQN,EAAIA,EAEZ6F,KACAA,EAAInR,MAAQ4L,EACZuF,EAAIK,MAAQvd,OACZkd,EAAIM,OAASxd,OACbkd,EAAIO,OAAS,GAAIjjB,GAAQmR,EAAGC,EAAGzS,KAAKgd,MAEpCiH,EAAWC,GAAQC,GAAUJ,EAE7B3H,EAAW7T,KAAKwb,GAIlB,IAAKvR,EAAI,EAAGA,EAAIyR,EAAWhe,OAAQuM,IACjC,IAAKC,EAAI,EAAGA,EAAIwR,EAAWzR,GAAGvM,OAAQwM,IAChCwR,EAAWzR,GAAGC,KAChBwR,EAAWzR,GAAGC,GAAG8R,WAAc/R,EAAIyR,EAAWhe,OAAO,EAAKge,EAAWzR,EAAE,GAAGC,GAAK5L,OAC/Eod,EAAWzR,GAAGC,GAAG+R,SAAc/R,EAAIwR,EAAWzR,GAAGvM,OAAO,EAAKge,EAAWzR,GAAGC,EAAE,GAAK5L,OAClFod,EAAWzR,GAAGC,GAAGgS,WACdjS,EAAIyR,EAAWhe,OAAO,GAAKwM,EAAIwR,EAAWzR,GAAGvM,OAAO,EACnDge,EAAWzR,EAAE,GAAGC,EAAE,GAClB5L,YAOV,KAAKf,EAAI,EAAGA,EAAI2N,EAAKxN,OAAQH,IAC3B8M,EAAQ,GAAIvR,GACZuR,EAAMJ,EAAIiB,EAAK3N,GAAG9F,KAAKqc,OAAS,EAChCzJ,EAAMH,EAAIgB,EAAK3N,GAAG9F,KAAKsc,OAAS,EAChC1J,EAAMsL,EAAIzK,EAAK3N,GAAG9F,KAAKuc,OAAS,EAEV1V,SAAlB7G,KAAKwc,WACP5J,EAAMtO,MAAQmP,EAAK3N,GAAG9F,KAAKwc,WAAa,GAG1CuH,KACAA,EAAInR,MAAQA,EACZmR,EAAIO,OAAS,GAAIjjB,GAAQuR,EAAMJ,EAAGI,EAAMH,EAAGzS,KAAKgd,MAChD+G,EAAIK,MAAQvd,OACZkd,EAAIM,OAASxd,OAEbuV,EAAW7T,KAAKwb,EAIpB,OAAO3H,IASTpb,EAAQkT,UAAUpF,OAAS,WAEzB,KAAO9O,KAAK0a,iBAAiBgK,iBAC3B1kB,KAAK0a,iBAAiB9I,YAAY5R,KAAK0a,iBAAiBiK,WAG1D3kB,MAAKsgB,MAAQtO,SAASM,cAAc,OACpCtS,KAAKsgB,MAAM5S,MAAMkX,SAAW,WAC5B5kB,KAAKsgB,MAAM5S,MAAMmX,SAAW,SAG5B7kB,KAAKsgB,MAAMC,OAASvO,SAASM,cAAe,UAC5CtS,KAAKsgB,MAAMC,OAAO7S,MAAMkX,SAAW,WACnC5kB,KAAKsgB,MAAMpO,YAAYlS,KAAKsgB,MAAMC,OAGhC,IAAIuE,GAAW9S,SAASM,cAAe,MACvCwS,GAASpX,MAAMnC,MAAQ,MACvBuZ,EAASpX,MAAMqX,WAAc,OAC7BD,EAASpX,MAAMsX,QAAW,OAC1BF,EAASG,UAAa,mDACtBjlB,KAAKsgB,MAAMC,OAAOrO,YAAY4S,GAGhC9kB,KAAKsgB,MAAM5L,OAAS1C,SAASM,cAAe,OAC5CtS,KAAKsgB,MAAM5L,OAAOhH,MAAMkX,SAAW,WACnC5kB,KAAKsgB,MAAM5L,OAAOhH,MAAM4W,OAAS,MACjCtkB,KAAKsgB,MAAM5L,OAAOhH,MAAM7F,KAAO,MAC/B7H,KAAKsgB,MAAM5L,OAAOhH,MAAM4F,MAAQ,OAChCtT,KAAKsgB,MAAMpO,YAAYlS,KAAKsgB,MAAM5L,OAGlC,IAAIQ,GAAKlV,KACLklB,EAAc,SAAUrb,GAAQqL,EAAGiQ,aAAatb,IAChDub,EAAe,SAAUvb,GAAQqL,EAAGmQ,cAAcxb,IAClDyb,EAAe,SAAUzb,GAAQqL,EAAGqQ,SAAS1b,IAC7C2b,EAAY,SAAU3b,GAAQqL,EAAGuQ,WAAW5b,GAGhDlJ,GAAKuI,iBAAiBlJ,KAAKsgB,MAAMC,OAAQ,UAAWmF,WACpD/kB,EAAKuI,iBAAiBlJ,KAAKsgB,MAAMC,OAAQ,YAAa2E,GACtDvkB,EAAKuI,iBAAiBlJ,KAAKsgB,MAAMC,OAAQ,aAAc6E,GACvDzkB,EAAKuI,iBAAiBlJ,KAAKsgB,MAAMC,OAAQ,aAAc+E,GACvD3kB,EAAKuI,iBAAiBlJ,KAAKsgB,MAAMC,OAAQ,YAAaiF,GAGtDxlB,KAAK0a,iBAAiBxI,YAAYlS,KAAKsgB,QAWzCtf,EAAQkT,UAAUyR,QAAU,SAASrS,EAAOC,GAC1CvT,KAAKsgB,MAAM5S,MAAM4F,MAAQA,EACzBtT,KAAKsgB,MAAM5S,MAAM6F,OAASA,EAE1BvT,KAAK4lB,iBAMP5kB,EAAQkT,UAAU0R,cAAgB,WAChC5lB,KAAKsgB,MAAMC,OAAO7S,MAAM4F,MAAQ,OAChCtT,KAAKsgB,MAAMC,OAAO7S,MAAM6F,OAAS,OAEjCvT,KAAKsgB,MAAMC,OAAOjN,MAAQtT,KAAKsgB,MAAMC,OAAOC,YAC5CxgB,KAAKsgB,MAAMC,OAAOhN,OAASvT,KAAKsgB,MAAMC,OAAOsF,aAG7C7lB,KAAKsgB,MAAM5L,OAAOhH,MAAM4F,MAAStT,KAAKsgB,MAAMC,OAAOC,YAAc,GAAU,MAM7Exf,EAAQkT,UAAU4R,eAAiB,WACjC,IAAK9lB,KAAKsgB,MAAM5L,SAAW1U,KAAKsgB,MAAM5L,OAAOqR,OAC3C,KAAM,wBAER/lB,MAAKsgB,MAAM5L,OAAOqR,OAAOC,QAO3BhlB,EAAQkT,UAAU+R,cAAgB,WAC3BjmB,KAAKsgB,MAAM5L,QAAW1U,KAAKsgB,MAAM5L,OAAOqR,QAE7C/lB,KAAKsgB,MAAM5L,OAAOqR,OAAOG,QAU3BllB,EAAQkT,UAAUiS,cAAgB,WAEiC,MAA7DnmB,KAAK4a,eAAewL,OAAOpmB,KAAK4a,eAAe3U,OAAO,GACxDjG,KAAKqgB,QACHgG,WAAWrmB,KAAK4a,gBAAkB,IAChC5a,KAAKsgB,MAAMC,OAAOC,YAGtBxgB,KAAKqgB,QAAUgG,WAAWrmB,KAAK4a,gBAIgC,MAA7D5a,KAAK6a,eAAeuL,OAAOpmB,KAAK6a,eAAe5U,OAAO,GACxDjG,KAAKygB,QACH4F,WAAWrmB,KAAK6a,gBAAkB,KAC/B7a,KAAKsgB,MAAMC,OAAOsF,aAAe7lB,KAAKsgB,MAAM5L,OAAOmR,cAGxD7lB,KAAKygB,QAAU4F,WAAWrmB,KAAK6a,iBAoBnC7Z,EAAQkT,UAAUoS,kBAAoB,SAASC,GACjC1f,SAAR0f,IAImB1f,SAAnB0f,EAAIC,YAA6C3f,SAAjB0f,EAAIE,UACtCzmB,KAAKkc,OAAOwK,eAAeH,EAAIC,WAAYD,EAAIE,UAG5B5f,SAAjB0f,EAAII,UACN3mB,KAAKkc,OAAO0K,aAAaL,EAAII,UAG/B3mB,KAAKyiB,WASPzhB,EAAQkT,UAAU2S,kBAAoB,WACpC,GAAIN,GAAMvmB,KAAKkc,OAAO4K,gBAEtB,OADAP,GAAII,SAAW3mB,KAAKkc,OAAOkE,eACpBmG,GAMTvlB,EAAQkT,UAAU6S,UAAY,SAAStT,GAErCzT,KAAKoiB,gBAAgB3O,EAAMzT,KAAK0N,OAG5B1N,KAAKuiB,WAEPviB,KAAKoc,WAAapc,KAAKuiB,WAAWuB,iBAIlC9jB,KAAKoc,WAAapc,KAAK8jB,eAAe9jB,KAAKuY,WAI7CvY,KAAKgnB,iBAOPhmB,EAAQkT,UAAU8E,QAAU,SAAUvF,GACpCzT,KAAK+mB,UAAUtT,GACfzT,KAAKyiB,SAGDziB,KAAKinB,oBAAsBjnB,KAAKuiB,YAClCviB,KAAK8lB,kBAQT9kB,EAAQkT,UAAUD,WAAa,SAAU/E,GACvC,GAAIgY,GAAiBrgB,MAIrB,IAFA7G,KAAKimB,gBAEWpf,SAAZqI,EAAuB,CAkBzB,GAhBsBrI,SAAlBqI,EAAQoE,QAA2BtT,KAAKsT,MAAQpE,EAAQoE,OACrCzM,SAAnBqI,EAAQqE,SAA2BvT,KAAKuT,OAASrE,EAAQqE,QAErC1M,SAApBqI,EAAQiP,UAA2Bne,KAAK4a,eAAiB1L,EAAQiP,SAC7CtX,SAApBqI,EAAQkP,UAA2Bpe,KAAK6a,eAAiB3L,EAAQkP,SAEzCvX,SAAxBqI,EAAQmM,cAA+Brb,KAAKqb,YAAcnM,EAAQmM,aAC1CxU,SAAxBqI,EAAQoM,cAA+Btb,KAAKsb,YAAcpM,EAAQoM,aAC/CzU,SAAnBqI,EAAQ4L,SAA0B9a,KAAK8a,OAAS5L,EAAQ4L,QACrCjU,SAAnBqI,EAAQ6L,SAA0B/a,KAAK+a,OAAS7L,EAAQ6L,QACrClU,SAAnBqI,EAAQ8L,SAA0Bhb,KAAKgb,OAAS9L,EAAQ8L,QAEhCnU,SAAxBqI,EAAQgM,cAA+Blb,KAAKkb,YAAchM,EAAQgM,aAC1CrU,SAAxBqI,EAAQiM,cAA+Bnb,KAAKmb,YAAcjM,EAAQiM,aAC1CtU,SAAxBqI,EAAQkM,cAA+Bpb,KAAKob,YAAclM,EAAQkM,aAEhDvU,SAAlBqI,EAAQxB,MAAqB,CAC/B,GAAIyZ,GAAcnnB,KAAK2hB,gBAAgBzS,EAAQxB,MAC3B,MAAhByZ,IACFnnB,KAAK0N,MAAQyZ,GAGQtgB,SAArBqI,EAAQwM,WAA6B1b,KAAK0b,SAAWxM,EAAQwM,UACjC7U,SAA5BqI,EAAQuM,kBAAiCzb,KAAKyb,gBAAkBvM,EAAQuM,iBACjD5U,SAAvBqI,EAAQ0M,aAA6B5b,KAAK4b,WAAa1M,EAAQ0M,YAC3C/U,SAApBqI,EAAQkY,UAA6BpnB,KAAK8b,YAAc5M,EAAQkY,SAC9BvgB,SAAlCqI,EAAQmY,wBAAqCrnB,KAAKqnB,sBAAwBnY,EAAQmY,uBACtDxgB,SAA5BqI,EAAQyM,kBAAiC3b,KAAK2b,gBAAkBzM,EAAQyM,iBAC9C9U,SAA1BqI,EAAQ6M,gBAA+B/b,KAAK+b,cAAgB7M,EAAQ6M,eAEtClV,SAA9BqI,EAAQ8M,oBAAiChc,KAAKgc,kBAAoB9M,EAAQ8M,mBAC7CnV,SAA7BqI,EAAQ+M,mBAAiCjc,KAAKic,iBAAmB/M,EAAQ+M,kBAC1CpV,SAA/BqI,EAAQ+X,qBAAiCjnB,KAAKinB,mBAAqB/X,EAAQ+X,oBAErDpgB,SAAtBqI,EAAQmO,YAAyBrd,KAAK2iB,iBAAmBzT,EAAQmO,WAC3CxW,SAAtBqI,EAAQoO,YAAyBtd,KAAK6iB,iBAAmB3T,EAAQoO,WAEhDzW,SAAjBqI,EAAQwN,OAAoB1c,KAAKgjB,YAAc9T,EAAQwN,MACrC7V,SAAlBqI,EAAQyN,QAAqB3c,KAAKkjB,aAAehU,EAAQyN,OACxC9V,SAAjBqI,EAAQ0N,OAAoB5c,KAAKijB,YAAc/T,EAAQ0N,MACtC/V,SAAjBqI,EAAQ2N,OAAoB7c,KAAKojB,YAAclU,EAAQ2N,MACrChW,SAAlBqI,EAAQ4N,QAAqB9c,KAAKsjB,aAAepU,EAAQ4N,OACxCjW,SAAjBqI,EAAQ6N,OAAoB/c,KAAKqjB,YAAcnU,EAAQ6N,MACtClW,SAAjBqI,EAAQ8N,OAAoBhd,KAAKwjB,YAActU,EAAQ8N,MACrCnW,SAAlBqI,EAAQ+N,QAAqBjd,KAAK0jB,aAAexU,EAAQ+N,OACxCpW,SAAjBqI,EAAQgO,OAAoBld,KAAKyjB,YAAcvU,EAAQgO,MAClCrW,SAArBqI,EAAQiO,WAAwBnd,KAAK4jB,gBAAkB1U,EAAQiO,UAC1CtW,SAArBqI,EAAQkO,WAAwBpd,KAAK6jB,gBAAkB3U,EAAQkO,UAEpCvW,SAA3BqI,EAAQgY,iBAA8BA,EAAiBhY,EAAQgY,gBAE5CrgB,SAAnBqgB,GACFlnB,KAAKkc,OAAOwK,eAAeQ,EAAeV,WAAYU,EAAeT,UACrEzmB,KAAKkc,OAAO0K,aAAaM,EAAeP,YAGxC3mB,KAAKkc,OAAOwK,eAAe,EAAK,IAChC1mB,KAAKkc,OAAO0K,aAAa,MAI7B5mB,KAAK0gB,oBAAoBxR,GAAWA,EAAQyR,iBAE5C3gB,KAAK2lB,QAAQ3lB,KAAKsT,MAAOtT,KAAKuT,QAG1BvT,KAAKuY,WACPvY,KAAKgZ,QAAQhZ,KAAKuY,WAIhBvY,KAAKinB,oBAAsBjnB,KAAKuiB,YAClCviB,KAAK8lB,kBAOT9kB,EAAQkT,UAAUuO,OAAS,WACzB,GAAwB5b,SAApB7G,KAAKoc,WACP,KAAM,mCAGRpc,MAAK4lB,gBACL5lB,KAAKmmB,gBACLnmB,KAAKsnB,gBACLtnB,KAAKunB,eACLvnB,KAAKwnB,cAEDxnB,KAAK0N,QAAU1M,EAAQua,MAAMiG,MAC/BxhB,KAAK0N,QAAU1M,EAAQua,MAAMmG,QAC7B1hB,KAAKynB,kBAEEznB,KAAK0N,QAAU1M,EAAQua,MAAMkG,KACpCzhB,KAAK0nB,kBAEE1nB,KAAK0N,QAAU1M,EAAQua,MAAM2F,KACpClhB,KAAK0N,QAAU1M,EAAQua,MAAM4F,UAC7BnhB,KAAK0N,QAAU1M,EAAQua,MAAM6F,QAC7BphB,KAAK2nB,iBAIL3nB,KAAK4nB,iBAGP5nB,KAAK6nB,cACL7nB,KAAK8nB,iBAMP9mB,EAAQkT,UAAUqT,aAAe,WAC/B,GAAIhH,GAASvgB,KAAKsgB,MAAMC,OACpBwH,EAAMxH,EAAOyH,WAAW,KAE5BD,GAAIE,UAAU,EAAG,EAAG1H,EAAOjN,MAAOiN,EAAOhN,SAO3CvS,EAAQkT,UAAU4T,cAAgB,WAChC,GAAIrV,EAEJ,IAAIzS,KAAK0N,QAAU1M,EAAQua,MAAM+F,UAC/BthB,KAAK0N,QAAU1M,EAAQua,MAAMgG,QAAS,CAEtC,GAEI2G,GAAUC,EAFVC,EAAmC,IAAzBpoB,KAAKsgB,MAAME,WAGrBxgB,MAAK0N,QAAU1M,EAAQua,MAAMgG,SAC/B2G,EAAWE,EAAU,EACrBD,EAAWC,EAAU,EAAc,EAAVA,IAGzBF,EAAW,GACXC,EAAW,GAGb,IAAI5U,GAAS/O,KAAKJ,IAA8B,IAA1BpE,KAAKsgB,MAAMuF,aAAqB,KAClD5d,EAAMjI,KAAK2a,OACX0N,EAAQroB,KAAKsgB,MAAME,YAAcxgB,KAAK2a,OACtC9S,EAAOwgB,EAAQF,EACf7D,EAASrc,EAAMsL,EAGrB,GAAIgN,GAASvgB,KAAKsgB,MAAMC,OACpBwH,EAAMxH,EAAOyH,WAAW,KAI5B,IAHAD,EAAIO,UAAY,EAChBP,EAAIQ,KAAO,aAEPvoB,KAAK0N,QAAU1M,EAAQua,MAAM+F,SAAU,CAEzC,GAAIkH,GAAO,EACPC,EAAOlV,CACX,KAAKd,EAAI+V,EAAUC,EAAJhW,EAAUA,IAAK,CAC5B,GAAIpE,IAAKoE,EAAI+V,IAASC,EAAOD,GAGzBnb,EAAU,IAAJgB,EACN9C,EAAQvL,KAAK0oB,SAASrb,EAAK,EAAG,EAElC0a,GAAIY,YAAcpd,EAClBwc,EAAIa,YACJb,EAAIc,OAAOhhB,EAAMI,EAAMwK,GACvBsV,EAAIe,OAAOT,EAAOpgB,EAAMwK,GACxBsV,EAAIlH,SAGNkH,EAAIY,YAAe3oB,KAAKud,UACxBwK,EAAIgB,WAAWlhB,EAAMI,EAAKkgB,EAAU5U,GAiBtC,GAdIvT,KAAK0N,QAAU1M,EAAQua,MAAMgG,UAE/BwG,EAAIY,YAAe3oB,KAAKud,UACxBwK,EAAIiB,UAAahpB,KAAKyd,SACtBsK,EAAIa,YACJb,EAAIc,OAAOhhB,EAAMI,GACjB8f,EAAIe,OAAOT,EAAOpgB,GAClB8f,EAAIe,OAAOT,EAAQF,EAAWD,EAAU5D,GACxCyD,EAAIe,OAAOjhB,EAAMyc,GACjByD,EAAIkB,YACJlB,EAAInH,OACJmH,EAAIlH,UAGF7gB,KAAK0N,QAAU1M,EAAQua,MAAM+F,UAC/BthB,KAAK0N,QAAU1M,EAAQua,MAAMgG,QAAS,CAEtC,GAAI2H,GAAc,EACdC,EAAO,GAAI5nB,GAAWvB,KAAKmd,SAAUnd,KAAKod,UAAWpd,KAAKod,SAASpd,KAAKmd,UAAU,GAAG,EAKzF,KAJAgM,EAAK9Y,QACD8Y,EAAKC,aAAeppB,KAAKmd,UAC3BgM,EAAKE,QAECF,EAAK7Y,OACXmC,EAAI6R,GAAU6E,EAAKC,aAAeppB,KAAKmd,WAAand,KAAKod,SAAWpd,KAAKmd,UAAY5J,EAErFwU,EAAIa,YACJb,EAAIc,OAAOhhB,EAAOqhB,EAAazW,GAC/BsV,EAAIe,OAAOjhB,EAAM4K,GACjBsV,EAAIlH,SAEJkH,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,SACnBxB,EAAIiB,UAAYhpB,KAAKud,UACrBwK,EAAIyB,SAASL,EAAKC,aAAcvhB,EAAO,EAAIqhB,EAAazW,GAExD0W,EAAKE,MAGPtB,GAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,KACnB,IAAIvW,GAAQhT,KAAKsb,WACjByM,GAAIyB,SAASxW,EAAOqV,EAAO/D,EAAStkB,KAAK2a,UAO7C3Z,EAAQkT,UAAU8S,cAAgB,WAGhC,GAFAhnB,KAAKsgB,MAAM5L,OAAOuQ,UAAY,GAE1BjlB,KAAKuiB,WAAY,CACnB,GAAIrT,IACFua,QAAWzpB,KAAKqnB,uBAEdtB,EAAS,GAAIzkB,GAAOtB,KAAKsgB,MAAM5L,OAAQxF,EAC3ClP,MAAKsgB,MAAM5L,OAAOqR,OAASA,EAG3B/lB,KAAKsgB,MAAM5L,OAAOhH,MAAMsX,QAAU,OAGlCe,EAAO2D,UAAU1pB,KAAKuiB,WAAWzK,QACjCiO,EAAO4D,gBAAgB3pB,KAAKgc,kBAG5B,IAAI9G,GAAKlV,KACL4pB,EAAW,WACb,GAAIlhB,GAAQqd,EAAO8D,UAEnB3U,GAAGqN,WAAWuH,YAAYphB,GAC1BwM,EAAGkH,WAAalH,EAAGqN,WAAWuB,iBAE9B5O,EAAGuN,SAELsD,GAAOgE,oBAAoBH,OAG3B5pB,MAAKsgB,MAAM5L,OAAOqR,OAASlf,QAO/B7F,EAAQkT,UAAUoT,cAAgB,WACEzgB,SAA7B7G,KAAKsgB,MAAM5L,OAAOqR,QACrB/lB,KAAKsgB,MAAM5L,OAAOqR,OAAOtD,UAQ7BzhB,EAAQkT,UAAU2T,YAAc,WAC9B,GAAI7nB,KAAKuiB,WAAY,CACnB,GAAIhC,GAASvgB,KAAKsgB,MAAMC,OACpBwH,EAAMxH,EAAOyH,WAAW,KAE5BD,GAAIQ,KAAO,aACXR,EAAIiC,UAAY,OAChBjC,EAAIiB,UAAY,OAChBjB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,KAEnB,IAAI/W,GAAIxS,KAAK2a,OACTlI,EAAIzS,KAAK2a,MACboN,GAAIyB,SAASxpB,KAAKuiB,WAAW0H,WAAa,KAAOjqB,KAAKuiB,WAAW2H,mBAAoB1X,EAAGC,KAQ5FzR,EAAQkT,UAAUsT,YAAc,WAC9B,GAEE2C,GAAMC,EAAIjB,EAAMkB,EAChBC,EAAMC,EAAOC,EAAOC,EACpBC,EAAQzX,EAASC,EACjByX,EAAQC,EALNrK,EAASvgB,KAAKsgB,MAAMC,OACtBwH,EAAMxH,EAAOyH,WAAW,KAQ1BD,GAAIQ,KAAO,GAAKvoB,KAAKkc,OAAOkE,eAAiB,UAG7C,IAAIyK,GAAW,KAAQ7qB,KAAKuE,MAAMiO,EAC9BsY,EAAW,KAAQ9qB,KAAKuE,MAAMkO,EAC9BsY,EAAa,EAAI/qB,KAAKkc,OAAOkE,eAC7B4K,EAAWhrB,KAAKkc,OAAO4K,iBAAiBN,UAU5C,KAPAuB,EAAIO,UAAY,EAChB+B,EAAoCxjB,SAAtB7G,KAAKkjB,aACnBiG,EAAO,GAAI5nB,GAAWvB,KAAK0c,KAAM1c,KAAK4c,KAAM5c,KAAK2c,MAAO0N,GACxDlB,EAAK9Y,QACD8Y,EAAKC,aAAeppB,KAAK0c,MAC3ByM,EAAKE,QAECF,EAAK7Y,OAAO,CAClB,GAAIkC,GAAI2W,EAAKC,YAETppB,MAAK0b,UACPyO,EAAOnqB,KAAKue,eAAe,GAAIld,GAAQmR,EAAGxS,KAAK6c,KAAM7c,KAAKgd,OAC1DoN,EAAKpqB,KAAKue,eAAe,GAAIld,GAAQmR,EAAGxS,KAAK+c,KAAM/c,KAAKgd,OACxD+K,EAAIY,YAAc3oB,KAAKwd,UACvBuK,EAAIa,YACJb,EAAIc,OAAOsB,EAAK3X,EAAG2X,EAAK1X,GACxBsV,EAAIe,OAAOsB,EAAG5X,EAAG4X,EAAG3X,GACpBsV,EAAIlH,WAGJsJ,EAAOnqB,KAAKue,eAAe,GAAIld,GAAQmR,EAAGxS,KAAK6c,KAAM7c,KAAKgd,OAC1DoN,EAAKpqB,KAAKue,eAAe,GAAIld,GAAQmR,EAAGxS,KAAK6c,KAAKgO,EAAU7qB,KAAKgd,OACjE+K,EAAIY,YAAc3oB,KAAKud,UACvBwK,EAAIa,YACJb,EAAIc,OAAOsB,EAAK3X,EAAG2X,EAAK1X,GACxBsV,EAAIe,OAAOsB,EAAG5X,EAAG4X,EAAG3X,GACpBsV,EAAIlH,SAEJsJ,EAAOnqB,KAAKue,eAAe,GAAIld,GAAQmR,EAAGxS,KAAK+c,KAAM/c,KAAKgd,OAC1DoN,EAAKpqB,KAAKue,eAAe,GAAIld,GAAQmR,EAAGxS,KAAK+c,KAAK8N,EAAU7qB,KAAKgd,OACjE+K,EAAIY,YAAc3oB,KAAKud,UACvBwK,EAAIa,YACJb,EAAIc,OAAOsB,EAAK3X,EAAG2X,EAAK1X,GACxBsV,EAAIe,OAAOsB,EAAG5X,EAAG4X,EAAG3X,GACpBsV,EAAIlH,UAGN2J,EAAShmB,KAAK+a,IAAIyL,GAAY,EAAKhrB,KAAK6c,KAAO7c,KAAK+c,KACpDuN,EAAOtqB,KAAKue,eAAe,GAAIld,GAAQmR,EAAGgY,EAAOxqB,KAAKgd,OAClDxY,KAAK+a,IAAe,EAAXyL,GAAgB,GAC3BjD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,MACnBe,EAAK7X,GAAKsY,GAEHvmB,KAAK4a,IAAe,EAAX4L,GAAgB,GAChCjD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAGnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYhpB,KAAKud,UACrBwK,EAAIyB,SAAS,KAAOxpB,KAAKkb,YAAYiO,EAAKC,cAAgB,KAAMkB,EAAK9X,EAAG8X,EAAK7X,GAE7E0W,EAAKE,OAWP,IAPAtB,EAAIO,UAAY,EAChB+B,EAAoCxjB,SAAtB7G,KAAKsjB,aACnB6F,EAAO,GAAI5nB,GAAWvB,KAAK6c,KAAM7c,KAAK+c,KAAM/c,KAAK8c,MAAOuN,GACxDlB,EAAK9Y,QACD8Y,EAAKC,aAAeppB,KAAK6c,MAC3BsM,EAAKE,QAECF,EAAK7Y,OACPtQ,KAAK0b,UACPyO,EAAOnqB,KAAKue,eAAe,GAAIld,GAAQrB,KAAK0c,KAAMyM,EAAKC,aAAcppB,KAAKgd,OAC1EoN,EAAKpqB,KAAKue,eAAe,GAAIld,GAAQrB,KAAK4c,KAAMuM,EAAKC,aAAcppB,KAAKgd,OACxE+K,EAAIY,YAAc3oB,KAAKwd,UACvBuK,EAAIa,YACJb,EAAIc,OAAOsB,EAAK3X,EAAG2X,EAAK1X,GACxBsV,EAAIe,OAAOsB,EAAG5X,EAAG4X,EAAG3X,GACpBsV,EAAIlH,WAGJsJ,EAAOnqB,KAAKue,eAAe,GAAIld,GAAQrB,KAAK0c,KAAMyM,EAAKC,aAAcppB,KAAKgd,OAC1EoN,EAAKpqB,KAAKue,eAAe,GAAIld,GAAQrB,KAAK0c,KAAKoO,EAAU3B,EAAKC,aAAcppB,KAAKgd,OACjF+K,EAAIY,YAAc3oB,KAAKud,UACvBwK,EAAIa,YACJb,EAAIc,OAAOsB,EAAK3X,EAAG2X,EAAK1X,GACxBsV,EAAIe,OAAOsB,EAAG5X,EAAG4X,EAAG3X,GACpBsV,EAAIlH,SAEJsJ,EAAOnqB,KAAKue,eAAe,GAAIld,GAAQrB,KAAK4c,KAAMuM,EAAKC,aAAcppB,KAAKgd,OAC1EoN,EAAKpqB,KAAKue,eAAe,GAAIld,GAAQrB,KAAK4c,KAAKkO,EAAU3B,EAAKC,aAAcppB,KAAKgd,OACjF+K,EAAIY,YAAc3oB,KAAKud,UACvBwK,EAAIa,YACJb,EAAIc,OAAOsB,EAAK3X,EAAG2X,EAAK1X,GACxBsV,EAAIe,OAAOsB,EAAG5X,EAAG4X,EAAG3X,GACpBsV,EAAIlH,UAGN0J,EAAS/lB,KAAK4a,IAAI4L,GAAa,EAAKhrB,KAAK0c,KAAO1c,KAAK4c,KACrD0N,EAAOtqB,KAAKue,eAAe,GAAIld,GAAQkpB,EAAOpB,EAAKC,aAAcppB,KAAKgd,OAClExY,KAAK+a,IAAe,EAAXyL,GAAgB,GAC3BjD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,MACnBe,EAAK7X,GAAKsY,GAEHvmB,KAAK4a,IAAe,EAAX4L,GAAgB,GAChCjD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAGnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYhpB,KAAKud,UACrBwK,EAAIyB,SAAS,KAAOxpB,KAAKmb,YAAYgO,EAAKC,cAAgB,KAAMkB,EAAK9X,EAAG8X,EAAK7X,GAE7E0W,EAAKE,MAaP,KATAtB,EAAIO,UAAY,EAChB+B,EAAoCxjB,SAAtB7G,KAAK0jB,aACnByF,EAAO,GAAI5nB,GAAWvB,KAAKgd,KAAMhd,KAAKkd,KAAMld,KAAKid,MAAOoN,GACxDlB,EAAK9Y,QACD8Y,EAAKC,aAAeppB,KAAKgd,MAC3BmM,EAAKE,OAEPkB,EAAS/lB,KAAK+a,IAAIyL,GAAa,EAAKhrB,KAAK0c,KAAO1c,KAAK4c,KACrD4N,EAAShmB,KAAK4a,IAAI4L,GAAa,EAAKhrB,KAAK6c,KAAO7c,KAAK+c,MAC7CoM,EAAK7Y,OAEX6Z,EAAOnqB,KAAKue,eAAe,GAAIld,GAAQkpB,EAAOC,EAAOrB,EAAKC,eAC1DrB,EAAIY,YAAc3oB,KAAKud,UACvBwK,EAAIa,YACJb,EAAIc,OAAOsB,EAAK3X,EAAG2X,EAAK1X,GACxBsV,EAAIe,OAAOqB,EAAK3X,EAAIuY,EAAYZ,EAAK1X,GACrCsV,EAAIlH,SAEJkH,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,SACnBxB,EAAIiB,UAAYhpB,KAAKud,UACrBwK,EAAIyB,SAASxpB,KAAKob,YAAY+N,EAAKC,cAAgB,IAAKe,EAAK3X,EAAI,EAAG2X,EAAK1X,GAEzE0W,EAAKE,MAEPtB,GAAIO,UAAY,EAChB6B,EAAOnqB,KAAKue,eAAe,GAAIld,GAAQkpB,EAAOC,EAAOxqB,KAAKgd,OAC1DoN,EAAKpqB,KAAKue,eAAe,GAAIld,GAAQkpB,EAAOC,EAAOxqB,KAAKkd,OACxD6K,EAAIY,YAAc3oB,KAAKud,UACvBwK,EAAIa,YACJb,EAAIc,OAAOsB,EAAK3X,EAAG2X,EAAK1X,GACxBsV,EAAIe,OAAOsB,EAAG5X,EAAG4X,EAAG3X,GACpBsV,EAAIlH,SAGJkH,EAAIO,UAAY,EAEhBqC,EAAS3qB,KAAKue,eAAe,GAAIld,GAAQrB,KAAK0c,KAAM1c,KAAK6c,KAAM7c,KAAKgd,OACpE4N,EAAS5qB,KAAKue,eAAe,GAAIld,GAAQrB,KAAK4c,KAAM5c,KAAK6c,KAAM7c,KAAKgd,OACpE+K,EAAIY,YAAc3oB,KAAKud,UACvBwK,EAAIa,YACJb,EAAIc,OAAO8B,EAAOnY,EAAGmY,EAAOlY,GAC5BsV,EAAIe,OAAO8B,EAAOpY,EAAGoY,EAAOnY,GAC5BsV,EAAIlH,SAEJ8J,EAAS3qB,KAAKue,eAAe,GAAIld,GAAQrB,KAAK0c,KAAM1c,KAAK+c,KAAM/c,KAAKgd,OACpE4N,EAAS5qB,KAAKue,eAAe,GAAIld,GAAQrB,KAAK4c,KAAM5c,KAAK+c,KAAM/c,KAAKgd,OACpE+K,EAAIY,YAAc3oB,KAAKud,UACvBwK,EAAIa,YACJb,EAAIc,OAAO8B,EAAOnY,EAAGmY,EAAOlY,GAC5BsV,EAAIe,OAAO8B,EAAOpY,EAAGoY,EAAOnY,GAC5BsV,EAAIlH,SAGJkH,EAAIO,UAAY,EAEhB6B,EAAOnqB,KAAKue,eAAe,GAAIld,GAAQrB,KAAK0c,KAAM1c,KAAK6c,KAAM7c,KAAKgd,OAClEoN,EAAKpqB,KAAKue,eAAe,GAAIld,GAAQrB,KAAK0c,KAAM1c,KAAK+c,KAAM/c,KAAKgd,OAChE+K,EAAIY,YAAc3oB,KAAKud,UACvBwK,EAAIa,YACJb,EAAIc,OAAOsB,EAAK3X,EAAG2X,EAAK1X,GACxBsV,EAAIe,OAAOsB,EAAG5X,EAAG4X,EAAG3X,GACpBsV,EAAIlH,SAEJsJ,EAAOnqB,KAAKue,eAAe,GAAIld,GAAQrB,KAAK4c,KAAM5c,KAAK6c,KAAM7c,KAAKgd,OAClEoN,EAAKpqB,KAAKue,eAAe,GAAIld,GAAQrB,KAAK4c,KAAM5c,KAAK+c,KAAM/c,KAAKgd,OAChE+K,EAAIY,YAAc3oB,KAAKud,UACvBwK,EAAIa,YACJb,EAAIc,OAAOsB,EAAK3X,EAAG2X,EAAK1X,GACxBsV,EAAIe,OAAOsB,EAAG5X,EAAG4X,EAAG3X,GACpBsV,EAAIlH,QAGJ,IAAI/F,GAAS9a,KAAK8a,MACdA,GAAO7U,OAAS,IAClBiN,EAAU,GAAMlT,KAAKuE,MAAMkO,EAC3B8X,GAASvqB,KAAK0c,KAAO1c,KAAK4c,MAAQ,EAClC4N,EAAShmB,KAAK+a,IAAIyL,GAAY,EAAKhrB,KAAK6c,KAAO3J,EAASlT,KAAK+c,KAAO7J,EACpEoX,EAAOtqB,KAAKue,eAAe,GAAIld,GAAQkpB,EAAOC,EAAOxqB,KAAKgd,OACtDxY,KAAK+a,IAAe,EAAXyL,GAAgB,GAC3BjD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,OAEZ/kB,KAAK4a,IAAe,EAAX4L,GAAgB,GAChCjD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAGnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYhpB,KAAKud,UACrBwK,EAAIyB,SAAS1O,EAAQwP,EAAK9X,EAAG8X,EAAK7X,GAIpC,IAAIsI,GAAS/a,KAAK+a,MACdA,GAAO9U,OAAS,IAClBgN,EAAU,GAAMjT,KAAKuE,MAAMiO,EAC3B+X,EAAS/lB,KAAK4a,IAAI4L,GAAa,EAAKhrB,KAAK0c,KAAOzJ,EAAUjT,KAAK4c,KAAO3J,EACtEuX,GAASxqB,KAAK6c,KAAO7c,KAAK+c,MAAQ,EAClCuN,EAAOtqB,KAAKue,eAAe,GAAIld,GAAQkpB,EAAOC,EAAOxqB,KAAKgd,OACtDxY,KAAK+a,IAAe,EAAXyL,GAAgB,GAC3BjD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,OAEZ/kB,KAAK4a,IAAe,EAAX4L,GAAgB,GAChCjD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAGnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYhpB,KAAKud,UACrBwK,EAAIyB,SAASzO,EAAQuP,EAAK9X,EAAG8X,EAAK7X,GAIpC,IAAIuI,GAAShb,KAAKgb,MACdA,GAAO/U,OAAS,IAClBykB,EAAS,GACTH,EAAS/lB,KAAK+a,IAAIyL,GAAa,EAAKhrB,KAAK0c,KAAO1c,KAAK4c,KACrD4N,EAAShmB,KAAK4a,IAAI4L,GAAa,EAAKhrB,KAAK6c,KAAO7c,KAAK+c,KACrD0N,GAASzqB,KAAKgd,KAAOhd,KAAKkd,MAAQ,EAClCoN,EAAOtqB,KAAKue,eAAe,GAAIld,GAAQkpB,EAAOC,EAAOC,IACrD1C,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,SACnBxB,EAAIiB,UAAYhpB,KAAKud,UACrBwK,EAAIyB,SAASxO,EAAQsP,EAAK9X,EAAIkY,EAAQJ,EAAK7X,KAU/CzR,EAAQkT,UAAUwU,SAAW,SAASuC,EAAGC,EAAGC,GAC1C,GAAIC,GAAGC,EAAGC,EAAGC,EAAGC,EAAIC,CAMpB,QAJAF,EAAIJ,EAAID,EACRM,EAAKhnB,KAAKgB,MAAMylB,EAAE,IAClBQ,EAAIF,GAAK,EAAI/mB,KAAKknB,IAAMT,EAAE,GAAM,EAAK,IAE7BO,GACN,IAAK,GAAGJ,EAAIG,EAAGF,EAAII,EAAGH,EAAI,CAAG,MAC7B,KAAK,GAAGF,EAAIK,EAAGJ,EAAIE,EAAGD,EAAI,CAAG,MAC7B,KAAK,GAAGF,EAAI,EAAGC,EAAIE,EAAGD,EAAIG,CAAG,MAC7B,KAAK,GAAGL,EAAI,EAAGC,EAAII,EAAGH,EAAIC,CAAG,MAC7B,KAAK,GAAGH,EAAIK,EAAGJ,EAAI,EAAGC,EAAIC,CAAG,MAC7B,KAAK,GAAGH,EAAIG,EAAGF,EAAI,EAAGC,EAAIG,CAAG,MAE7B,SAASL,EAAI,EAAGC,EAAI,EAAGC,EAAI,EAG7B,MAAO,OAASjgB,SAAW,IAAF+f,GAAS,IAAM/f,SAAW,IAAFggB,GAAS,IAAMhgB,SAAW,IAAFigB,GAAS,KAQpFtqB,EAAQkT,UAAUuT,gBAAkB,WAClC,GAEE7U,GAAOyV,EAAOpgB,EAAK0jB,EACnB7lB,EACA8lB,EAAgB5C,EAAWL,EAAaL,EACxChc,EAAGC,EAAGC,EAAGqf,EALPtL,EAASvgB,KAAKsgB,MAAMC,OACtBwH,EAAMxH,EAAOyH,WAAW,KAO1B,MAAwBnhB,SAApB7G,KAAKoc,YAA4Bpc,KAAKoc,WAAWnW,QAAU,GAA/D,CAIA,IAAKH,EAAI,EAAGA,EAAI9F,KAAKoc,WAAWnW,OAAQH,IAAK,CAC3C,GAAIse,GAAQpkB,KAAK0e,2BAA2B1e,KAAKoc,WAAWtW,GAAG8M,OAC3DyR,EAASrkB,KAAK2e,4BAA4ByF,EAE9CpkB,MAAKoc,WAAWtW,GAAGse,MAAQA,EAC3BpkB,KAAKoc,WAAWtW,GAAGue,OAASA,CAG5B,IAAIyH,GAAc9rB,KAAK0e,2BAA2B1e,KAAKoc,WAAWtW,GAAGwe,OACrEtkB,MAAKoc,WAAWtW,GAAGimB,KAAO/rB,KAAKyb,gBAAkBqQ,EAAY7lB,UAAY6lB,EAAY5N,EAIvF,GAAI8N,GAAY,SAAUpmB,EAAGC,GAC3B,MAAOA,GAAEkmB,KAAOnmB,EAAEmmB,KAIpB,IAFA/rB,KAAKoc,WAAWlF,KAAK8U,GAEjBhsB,KAAK0N,QAAU1M,EAAQua,MAAMmG,SAC/B,IAAK5b,EAAI,EAAGA,EAAI9F,KAAKoc,WAAWnW,OAAQH,IAMtC,GALA8M,EAAQ5S,KAAKoc,WAAWtW,GACxBuiB,EAAQroB,KAAKoc,WAAWtW,GAAGye,WAC3Btc,EAAQjI,KAAKoc,WAAWtW,GAAG0e,SAC3BmH,EAAQ3rB,KAAKoc,WAAWtW,GAAG2e,WAEb5d,SAAV+L,GAAiC/L,SAAVwhB,GAA+BxhB,SAARoB,GAA+BpB,SAAV8kB,EAAqB,CAE1F,GAAI3rB,KAAK6b,gBAAkB7b,KAAK4b,WAAY,CAK1C,GAAIqQ,GAAQ5qB,EAAQ6qB,SAASP,EAAMvH,MAAOxR,EAAMwR,OAC5C+H,EAAQ9qB,EAAQ6qB,SAASjkB,EAAImc,MAAOiE,EAAMjE,OAC1CgI,EAAe/qB,EAAQgrB,aAAaJ,EAAOE,GAC3CpmB,EAAMqmB,EAAanmB,QAGvB2lB,GAAkBQ,EAAalO,EAAI,MAGnC0N,IAAiB,CAGfA,IAEFC,GAAQjZ,EAAMA,MAAMsL,EAAImK,EAAMzV,MAAMsL,EAAIjW,EAAI2K,MAAMsL,EAAIyN,EAAM/Y,MAAMsL,GAAK,EACvE5R,EAAoE,KAA/D,GAAKuf,EAAO7rB,KAAKgd,MAAQhd,KAAKuE,MAAM2Z,EAAKle,KAAK+b,eACnDxP,EAAI,EAEAvM,KAAK4b,YACPpP,EAAIhI,KAAKL,IAAI,EAAKioB,EAAa5Z,EAAIzM,EAAO,EAAG,GAC7CijB,EAAYhpB,KAAK0oB,SAASpc,EAAGC,EAAGC,GAChCmc,EAAcK,IAGdxc,EAAI,EACJwc,EAAYhpB,KAAK0oB,SAASpc,EAAGC,EAAGC,GAChCmc,EAAc3oB,KAAKud,aAIrByL,EAAY,OACZL,EAAc3oB,KAAKud,WAErB+K,EAAY,GAEZP,EAAIO,UAAYA,EAChBP,EAAIiB,UAAYA,EAChBjB,EAAIY,YAAcA,EAClBZ,EAAIa,YACJb,EAAIc,OAAOjW,EAAMyR,OAAO7R,EAAGI,EAAMyR,OAAO5R,GACxCsV,EAAIe,OAAOT,EAAMhE,OAAO7R,EAAG6V,EAAMhE,OAAO5R,GACxCsV,EAAIe,OAAO6C,EAAMtH,OAAO7R,EAAGmZ,EAAMtH,OAAO5R,GACxCsV,EAAIe,OAAO7gB,EAAIoc,OAAO7R,EAAGvK,EAAIoc,OAAO5R,GACpCsV,EAAIkB,YACJlB,EAAInH,OACJmH,EAAIlH,cAKR,KAAK/a,EAAI,EAAGA,EAAI9F,KAAKoc,WAAWnW,OAAQH,IACtC8M,EAAQ5S,KAAKoc,WAAWtW,GACxBuiB,EAAQroB,KAAKoc,WAAWtW,GAAGye,WAC3Btc,EAAQjI,KAAKoc,WAAWtW,GAAG0e,SAEb3d,SAAV+L,IAEA0V,EADEtoB,KAAKyb,gBACK,GAAK7I,EAAMwR,MAAMlG,EAGjB,IAAMle,KAAKmc,IAAI+B,EAAIle,KAAKkc,OAAOkE,iBAIjCvZ,SAAV+L,GAAiC/L,SAAVwhB,IAEzBwD,GAAQjZ,EAAMA,MAAMsL,EAAImK,EAAMzV,MAAMsL,GAAK,EACzC5R,EAAoE,KAA/D,GAAKuf,EAAO7rB,KAAKgd,MAAQhd,KAAKuE,MAAM2Z,EAAKle,KAAK+b,eAEnDgM,EAAIO,UAAYA,EAChBP,EAAIY,YAAc3oB,KAAK0oB,SAASpc,EAAG,EAAG,GACtCyb,EAAIa,YACJb,EAAIc,OAAOjW,EAAMyR,OAAO7R,EAAGI,EAAMyR,OAAO5R,GACxCsV,EAAIe,OAAOT,EAAMhE,OAAO7R,EAAG6V,EAAMhE,OAAO5R,GACxCsV,EAAIlH,UAGQha,SAAV+L,GAA+B/L,SAARoB,IAEzB4jB,GAAQjZ,EAAMA,MAAMsL,EAAIjW,EAAI2K,MAAMsL,GAAK,EACvC5R,EAAoE,KAA/D,GAAKuf,EAAO7rB,KAAKgd,MAAQhd,KAAKuE,MAAM2Z,EAAKle,KAAK+b,eAEnDgM,EAAIO,UAAYA,EAChBP,EAAIY,YAAc3oB,KAAK0oB,SAASpc,EAAG,EAAG,GACtCyb,EAAIa,YACJb,EAAIc,OAAOjW,EAAMyR,OAAO7R,EAAGI,EAAMyR,OAAO5R,GACxCsV,EAAIe,OAAO7gB,EAAIoc,OAAO7R,EAAGvK,EAAIoc,OAAO5R,GACpCsV,EAAIlH,YAWZ7f,EAAQkT,UAAU0T,eAAiB,WACjC,GAEI9hB,GAFAya,EAASvgB,KAAKsgB,MAAMC,OACpBwH,EAAMxH,EAAOyH,WAAW,KAG5B,MAAwBnhB,SAApB7G,KAAKoc,YAA4Bpc,KAAKoc,WAAWnW,QAAU,GAA/D,CAIA,IAAKH,EAAI,EAAGA,EAAI9F,KAAKoc,WAAWnW,OAAQH,IAAK,CAC3C,GAAIse,GAAQpkB,KAAK0e,2BAA2B1e,KAAKoc,WAAWtW,GAAG8M,OAC3DyR,EAASrkB,KAAK2e,4BAA4ByF,EAC9CpkB,MAAKoc,WAAWtW,GAAGse,MAAQA,EAC3BpkB,KAAKoc,WAAWtW,GAAGue,OAASA,CAG5B,IAAIyH,GAAc9rB,KAAK0e,2BAA2B1e,KAAKoc,WAAWtW,GAAGwe,OACrEtkB,MAAKoc,WAAWtW,GAAGimB,KAAO/rB,KAAKyb,gBAAkBqQ,EAAY7lB,UAAY6lB,EAAY5N,EAIvF,GAAI8N,GAAY,SAAUpmB,EAAGC,GAC3B,MAAOA,GAAEkmB,KAAOnmB,EAAEmmB,KAEpB/rB,MAAKoc,WAAWlF,KAAK8U,EAGrB,IAAI5D,GAAmC,IAAzBpoB,KAAKsgB,MAAME,WACzB,KAAK1a,EAAI,EAAGA,EAAI9F,KAAKoc,WAAWnW,OAAQH,IAAK,CAC3C,GAAI8M,GAAQ5S,KAAKoc,WAAWtW,EAE5B,IAAI9F,KAAK0N,QAAU1M,EAAQua,MAAM8F,QAAS,CAGxC,GAAI8I,GAAOnqB,KAAKue,eAAe3L,EAAM0R,OACrCyD,GAAIO,UAAY,EAChBP,EAAIY,YAAc3oB,KAAKwd,UACvBuK,EAAIa,YACJb,EAAIc,OAAOsB,EAAK3X,EAAG2X,EAAK1X,GACxBsV,EAAIe,OAAOlW,EAAMyR,OAAO7R,EAAGI,EAAMyR,OAAO5R,GACxCsV,EAAIlH,SAIN,GAAI9N,EAEFA,GADE/S,KAAK0N,QAAU1M,EAAQua,MAAMgG,QACxB6G,EAAQ,EAAI,EAAEA,GAAWxV,EAAMA,MAAMtO,MAAQtE,KAAKmd,WAAand,KAAKod,SAAWpd,KAAKmd,UAGpFiL,CAGT,IAAIkE,EAEFA,GADEtsB,KAAKyb,gBACE1I,GAAQH,EAAMwR,MAAMlG,EAGpBnL,IAAS/S,KAAKmc,IAAI+B,EAAIle,KAAKkc,OAAOkE,gBAEhC,EAATkM,IACFA,EAAS,EAGX,IAAIjf,GAAK9B,EAAOwV,CACZ/gB,MAAK0N,QAAU1M,EAAQua,MAAM+F,UAE/BjU,EAAqE,KAA9D,GAAKuF,EAAMA,MAAMtO,MAAQtE,KAAKmd,UAAYnd,KAAKuE,MAAMD,OAC5DiH,EAAQvL,KAAK0oB,SAASrb,EAAK,EAAG,GAC9B0T,EAAc/gB,KAAK0oB,SAASrb,EAAK,EAAG,KAE7BrN,KAAK0N,QAAU1M,EAAQua,MAAMgG,SACpChW,EAAQvL,KAAKyd,SACbsD,EAAc/gB,KAAK0d,iBAInBrQ,EAA+E,KAAxE,GAAKuF,EAAMA,MAAMsL,EAAIle,KAAKgd,MAAQhd,KAAKuE,MAAM2Z,EAAKle,KAAK+b,eAC9DxQ,EAAQvL,KAAK0oB,SAASrb,EAAK,EAAG,GAC9B0T,EAAc/gB,KAAK0oB,SAASrb,EAAK,EAAG,KAItC0a,EAAIO,UAAY,EAChBP,EAAIY,YAAc5H,EAClBgH,EAAIiB,UAAYzd,EAChBwc,EAAIa,YACJb,EAAIwE,IAAI3Z,EAAMyR,OAAO7R,EAAGI,EAAMyR,OAAO5R,EAAG6Z,EAAQ,EAAW,EAAR9nB,KAAKgoB,IAAM,GAC9DzE,EAAInH,OACJmH,EAAIlH,YAQR7f,EAAQkT,UAAUyT,eAAiB,WACjC,GAEI7hB,GAAG2mB,EAAGC,EAASC,EAFfpM,EAASvgB,KAAKsgB,MAAMC,OACpBwH,EAAMxH,EAAOyH,WAAW,KAG5B,MAAwBnhB,SAApB7G,KAAKoc,YAA4Bpc,KAAKoc,WAAWnW,QAAU,GAA/D,CAIA,IAAKH,EAAI,EAAGA,EAAI9F,KAAKoc,WAAWnW,OAAQH,IAAK,CAC3C,GAAIse,GAAQpkB,KAAK0e,2BAA2B1e,KAAKoc,WAAWtW,GAAG8M,OAC3DyR,EAASrkB,KAAK2e,4BAA4ByF,EAC9CpkB,MAAKoc,WAAWtW,GAAGse,MAAQA,EAC3BpkB,KAAKoc,WAAWtW,GAAGue,OAASA,CAG5B,IAAIyH,GAAc9rB,KAAK0e,2BAA2B1e,KAAKoc,WAAWtW,GAAGwe,OACrEtkB,MAAKoc,WAAWtW,GAAGimB,KAAO/rB,KAAKyb,gBAAkBqQ,EAAY7lB,UAAY6lB,EAAY5N,EAIvF,GAAI8N,GAAY,SAAUpmB,EAAGC,GAC3B,MAAOA,GAAEkmB,KAAOnmB,EAAEmmB,KAEpB/rB,MAAKoc,WAAWlF,KAAK8U,EAGrB,IAAIY,GAAS5sB,KAAKqd,UAAY,EAC1BwP,EAAS7sB,KAAKsd,UAAY,CAC9B,KAAKxX,EAAI,EAAGA,EAAI9F,KAAKoc,WAAWnW,OAAQH,IAAK,CAC3C,GAGIuH,GAAK9B,EAAOwV,EAHZnO,EAAQ5S,KAAKoc,WAAWtW,EAIxB9F,MAAK0N,QAAU1M,EAAQua,MAAM4F,UAE/B9T,EAAqE,KAA9D,GAAKuF,EAAMA,MAAMtO,MAAQtE,KAAKmd,UAAYnd,KAAKuE,MAAMD,OAC5DiH,EAAQvL,KAAK0oB,SAASrb,EAAK,EAAG,GAC9B0T,EAAc/gB,KAAK0oB,SAASrb,EAAK,EAAG,KAE7BrN,KAAK0N,QAAU1M,EAAQua,MAAM6F,SACpC7V,EAAQvL,KAAKyd,SACbsD,EAAc/gB,KAAK0d,iBAInBrQ,EAA+E,KAAxE,GAAKuF,EAAMA,MAAMsL,EAAIle,KAAKgd,MAAQhd,KAAKuE,MAAM2Z,EAAKle,KAAK+b,eAC9DxQ,EAAQvL,KAAK0oB,SAASrb,EAAK,EAAG,GAC9B0T,EAAc/gB,KAAK0oB,SAASrb,EAAK,EAAG,KAIlCrN,KAAK0N,QAAU1M,EAAQua,MAAM6F,UAC/BwL,EAAU5sB,KAAKqd,UAAY,IAAOzK,EAAMA,MAAMtO,MAAQtE,KAAKmd,WAAand,KAAKod,SAAWpd,KAAKmd,UAAY,GAAM,IAC/G0P,EAAU7sB,KAAKsd,UAAY,IAAO1K,EAAMA,MAAMtO,MAAQtE,KAAKmd,WAAand,KAAKod,SAAWpd,KAAKmd,UAAY,GAAM,IAIjH,IAAIjI,GAAKlV,KACLwe,EAAU5L,EAAMA,MAChB3K,IACD2K,MAAO,GAAIvR,GAAQmd,EAAQhM,EAAIoa,EAAQpO,EAAQ/L,EAAIoa,EAAQrO,EAAQN,KACnEtL,MAAO,GAAIvR,GAAQmd,EAAQhM,EAAIoa,EAAQpO,EAAQ/L,EAAIoa,EAAQrO,EAAQN,KACnEtL,MAAO,GAAIvR,GAAQmd,EAAQhM,EAAIoa,EAAQpO,EAAQ/L,EAAIoa,EAAQrO,EAAQN,KACnEtL,MAAO,GAAIvR,GAAQmd,EAAQhM,EAAIoa,EAAQpO,EAAQ/L,EAAIoa,EAAQrO,EAAQN,KAElEoG,IACD1R,MAAO,GAAIvR,GAAQmd,EAAQhM,EAAIoa,EAAQpO,EAAQ/L,EAAIoa,EAAQ7sB,KAAKgd,QAChEpK,MAAO,GAAIvR,GAAQmd,EAAQhM,EAAIoa,EAAQpO,EAAQ/L,EAAIoa,EAAQ7sB,KAAKgd,QAChEpK,MAAO,GAAIvR,GAAQmd,EAAQhM,EAAIoa,EAAQpO,EAAQ/L,EAAIoa,EAAQ7sB,KAAKgd,QAChEpK,MAAO,GAAIvR,GAAQmd,EAAQhM,EAAIoa,EAAQpO,EAAQ/L,EAAIoa,EAAQ7sB,KAAKgd,OAInE/U,GAAIW,QAAQ,SAAUmb,GACpBA,EAAIM,OAASnP,EAAGqJ,eAAewF,EAAInR,SAErC0R,EAAO1b,QAAQ,SAAUmb,GACvBA,EAAIM,OAASnP,EAAGqJ,eAAewF,EAAInR,QAIrC,IAAIka,KACDH,QAAS1kB,EAAK8kB,OAAQ1rB,EAAQ2rB,IAAI1I,EAAO,GAAG1R,MAAO0R,EAAO,GAAG1R,SAC7D+Z,SAAU1kB,EAAI,GAAIA,EAAI,GAAIqc,EAAO,GAAIA,EAAO,IAAKyI,OAAQ1rB,EAAQ2rB,IAAI1I,EAAO,GAAG1R,MAAO0R,EAAO,GAAG1R,SAChG+Z,SAAU1kB,EAAI,GAAIA,EAAI,GAAIqc,EAAO,GAAIA,EAAO,IAAKyI,OAAQ1rB,EAAQ2rB,IAAI1I,EAAO,GAAG1R,MAAO0R,EAAO,GAAG1R,SAChG+Z,SAAU1kB,EAAI,GAAIA,EAAI,GAAIqc,EAAO,GAAIA,EAAO,IAAKyI,OAAQ1rB,EAAQ2rB,IAAI1I,EAAO,GAAG1R,MAAO0R,EAAO,GAAG1R,SAChG+Z,SAAU1kB,EAAI,GAAIA,EAAI,GAAIqc,EAAO,GAAIA,EAAO,IAAKyI,OAAQ1rB,EAAQ2rB,IAAI1I,EAAO,GAAG1R,MAAO0R,EAAO,GAAG1R,QAKnG,KAHAA,EAAMka,SAAWA,EAGZL,EAAI,EAAGA,EAAIK,EAAS7mB,OAAQwmB,IAAK,CACpCC,EAAUI,EAASL,EACnB,IAAIQ,GAAcjtB,KAAK0e,2BAA2BgO,EAAQK,OAC1DL,GAAQX,KAAO/rB,KAAKyb,gBAAkBwR,EAAYhnB,UAAYgnB,EAAY/O,EAwB5E,IAjBA4O,EAAS5V,KAAK,SAAUtR,EAAGC,GACzB,GAAIqnB,GAAOrnB,EAAEkmB,KAAOnmB,EAAEmmB,IACtB,OAAImB,GAAaA,EAGbtnB,EAAE+mB,UAAY1kB,EAAY,EAC1BpC,EAAE8mB,UAAY1kB,EAAY,GAGvB,IAIT8f,EAAIO,UAAY,EAChBP,EAAIY,YAAc5H,EAClBgH,EAAIiB,UAAYzd,EAEXkhB,EAAI,EAAGA,EAAIK,EAAS7mB,OAAQwmB,IAC/BC,EAAUI,EAASL,GACnBE,EAAUD,EAAQC,QAClB5E,EAAIa,YACJb,EAAIc,OAAO8D,EAAQ,GAAGtI,OAAO7R,EAAGma,EAAQ,GAAGtI,OAAO5R,GAClDsV,EAAIe,OAAO6D,EAAQ,GAAGtI,OAAO7R,EAAGma,EAAQ,GAAGtI,OAAO5R,GAClDsV,EAAIe,OAAO6D,EAAQ,GAAGtI,OAAO7R,EAAGma,EAAQ,GAAGtI,OAAO5R,GAClDsV,EAAIe,OAAO6D,EAAQ,GAAGtI,OAAO7R,EAAGma,EAAQ,GAAGtI,OAAO5R,GAClDsV,EAAIe,OAAO6D,EAAQ,GAAGtI,OAAO7R,EAAGma,EAAQ,GAAGtI,OAAO5R,GAClDsV,EAAInH,OACJmH,EAAIlH,YAUV7f,EAAQkT,UAAUwT,gBAAkB,WAClC,GAEE9U,GAAO9M,EAFLya,EAASvgB,KAAKsgB,MAAMC,OACtBwH,EAAMxH,EAAOyH,WAAW,KAG1B,MAAwBnhB,SAApB7G,KAAKoc,YAA4Bpc,KAAKoc,WAAWnW,QAAU,GAA/D,CAIA,IAAKH,EAAI,EAAGA,EAAI9F,KAAKoc,WAAWnW,OAAQH,IAAK,CAC3C,GAAIse,GAAQpkB,KAAK0e,2BAA2B1e,KAAKoc,WAAWtW,GAAG8M,OAC3DyR,EAASrkB,KAAK2e,4BAA4ByF,EAE9CpkB,MAAKoc,WAAWtW,GAAGse,MAAQA,EAC3BpkB,KAAKoc,WAAWtW,GAAGue,OAASA,EAc9B,IAVIrkB,KAAKoc,WAAWnW,OAAS,IAC3B2M,EAAQ5S,KAAKoc,WAAW,GAExB2L,EAAIO,UAAY,EAChBP,EAAIY,YAAc,OAClBZ,EAAIa,YACJb,EAAIc,OAAOjW,EAAMyR,OAAO7R,EAAGI,EAAMyR,OAAO5R,IAIrC3M,EAAI,EAAGA,EAAI9F,KAAKoc,WAAWnW,OAAQH,IACtC8M,EAAQ5S,KAAKoc,WAAWtW,GACxBiiB,EAAIe,OAAOlW,EAAMyR,OAAO7R,EAAGI,EAAMyR,OAAO5R,EAItCzS,MAAKoc,WAAWnW,OAAS,GAC3B8hB,EAAIlH,WASR7f,EAAQkT,UAAUiR,aAAe,SAAStb,GAWxC,GAVAA,EAAQA,GAAS/B,OAAO+B,MAIpB7J,KAAKmtB,gBACPntB,KAAKotB,WAAWvjB,GAIlB7J,KAAKmtB,eAAiBtjB,EAAMwjB,MAAyB,IAAhBxjB,EAAMwjB,MAAiC,IAAjBxjB,EAAMyjB,OAC5DttB,KAAKmtB,gBAAmBntB,KAAKutB,UAAlC,CAGAvtB,KAAKwtB,YAAc7P,EAAU9T,GAC7B7J,KAAKytB,YAAc3P,EAAUjU,GAE7B7J,KAAK0tB,WAAa,GAAI9oB,MAAK5E,KAAKqQ,OAChCrQ,KAAK2tB,SAAW,GAAI/oB,MAAK5E,KAAKsQ,KAC9BtQ,KAAK4tB,iBAAmB5tB,KAAKkc,OAAO4K,iBAEpC9mB,KAAKsgB,MAAM5S,MAAMmgB,OAAS,MAK1B,IAAI3Y,GAAKlV,IACTA,MAAK8tB,YAAc,SAAUjkB,GAAQqL,EAAG6Y,aAAalkB,IACrD7J,KAAKguB,UAAc,SAAUnkB,GAAQqL,EAAGkY,WAAWvjB,IACnDlJ,EAAKuI,iBAAiB8I,SAAU,YAAakD,EAAG4Y,aAChDntB,EAAKuI,iBAAiB8I,SAAU,UAAWkD,EAAG8Y,WAC9CrtB,EAAKiJ,eAAeC,KAStB7I,EAAQkT,UAAU6Z,aAAe,SAAUlkB,GACzCA,EAAQA,GAAS/B,OAAO+B,KAGxB,IAAIokB,GAAQ5H,WAAW1I,EAAU9T,IAAU7J,KAAKwtB,YAC5CU,EAAQ7H,WAAWvI,EAAUjU,IAAU7J,KAAKytB,YAE5CU,EAAgBnuB,KAAK4tB,iBAAiBpH,WAAayH,EAAQ,IAC3DG,EAAcpuB,KAAK4tB,iBAAiBnH,SAAWyH,EAAQ,IAEvDG,EAAY,EACZC,EAAY9pB,KAAK4a,IAAIiP,EAAY,IAAM,EAAI7pB,KAAKgoB,GAIhDhoB,MAAKknB,IAAIlnB,KAAK4a,IAAI+O,IAAkBG,IACtCH,EAAgB3pB,KAAK+pB,MAAOJ,EAAgB3pB,KAAKgoB,IAAOhoB,KAAKgoB,GAAK,MAEhEhoB,KAAKknB,IAAIlnB,KAAK+a,IAAI4O,IAAkBG,IACtCH,GAAiB3pB,KAAK+pB,MAAOJ,EAAe3pB,KAAKgoB,GAAK,IAAQ,IAAOhoB,KAAKgoB,GAAK,MAI7EhoB,KAAKknB,IAAIlnB,KAAK4a,IAAIgP,IAAgBE,IACpCF,EAAc5pB,KAAK+pB,MAAOH,EAAc5pB,KAAKgoB,IAAOhoB,KAAKgoB,IAEvDhoB,KAAKknB,IAAIlnB,KAAK+a,IAAI6O,IAAgBE,IACpCF,GAAe5pB,KAAK+pB,MAAOH,EAAa5pB,KAAKgoB,GAAK,IAAQ,IAAOhoB,KAAKgoB,IAGxExsB,KAAKkc,OAAOwK,eAAeyH,EAAeC,GAC1CpuB,KAAKyiB,QAGL,IAAI+L,GAAaxuB,KAAK6mB,mBACtB7mB,MAAKyuB,KAAK,uBAAwBD,GAElC7tB,EAAKiJ,eAAeC,IAStB7I,EAAQkT,UAAUkZ,WAAa,SAAUvjB,GACvC7J,KAAKsgB,MAAM5S,MAAMmgB,OAAS,OAC1B7tB,KAAKmtB,gBAAiB,EAGtBxsB,EAAK+I,oBAAoBsI,SAAU,YAAahS,KAAK8tB,aACrDntB,EAAK+I,oBAAoBsI,SAAU,UAAahS,KAAKguB,WACrDrtB,EAAKiJ,eAAeC,IAOtB7I,EAAQkT,UAAUuR,WAAa,SAAU5b,GACvC,GAAI6P,GAAQ,IACRgV,EAAe1uB,KAAKsgB,MAAM1Y,wBAC1B+mB,EAAShR,EAAU9T,GAAS6kB,EAAa7mB,KACzC+mB,EAAS9Q,EAAUjU,GAAS6kB,EAAazmB,GAE7C,IAAKjI,KAAK8b,YAAV,CASA,GALI9b,KAAK6uB,gBACPvU,aAAata,KAAK6uB,gBAIhB7uB,KAAKmtB,eAEP,WADAntB,MAAK8uB,cAIP,IAAI9uB,KAAKonB,SAAWpnB,KAAKonB,QAAQ2H,UAAW,CAE1C,GAAIA,GAAY/uB,KAAKgvB,iBAAiBL,EAAQC,EAC1CG,KAAc/uB,KAAKonB,QAAQ2H,YAEzBA,EACF/uB,KAAKivB,aAAaF,GAGlB/uB,KAAK8uB,oBAIN,CAEH,GAAI5Z,GAAKlV,IACTA,MAAK6uB,eAAiBtU,WAAW,WAC/BrF,EAAG2Z,eAAiB,IAGpB,IAAIE,GAAY7Z,EAAG8Z,iBAAiBL,EAAQC,EACxCG,IACF7Z,EAAG+Z,aAAaF,IAEjBrV,MAOP1Y,EAAQkT,UAAUmR,cAAgB,SAASxb,GACzC7J,KAAKutB,WAAY,CAEjB,IAAIrY,GAAKlV,IACTA,MAAKkvB,YAAc,SAAUrlB,GAAQqL,EAAGia,aAAatlB,IACrD7J,KAAKovB,WAAc,SAAUvlB,GAAQqL,EAAGma,YAAYxlB,IACpDlJ,EAAKuI,iBAAiB8I,SAAU,YAAakD,EAAGga,aAChDvuB,EAAKuI,iBAAiB8I,SAAU,WAAYkD,EAAGka,YAE/CpvB,KAAKmlB,aAAatb,IAMpB7I,EAAQkT,UAAUib,aAAe,SAAStlB,GACxC7J,KAAK+tB,aAAalkB,IAMpB7I,EAAQkT,UAAUmb,YAAc,SAASxlB,GACvC7J,KAAKutB,WAAY,EAEjB5sB,EAAK+I,oBAAoBsI,SAAU,YAAahS,KAAKkvB,aACrDvuB,EAAK+I,oBAAoBsI,SAAU,WAAchS,KAAKovB,YAEtDpvB,KAAKotB,WAAWvjB,IASlB7I,EAAQkT,UAAUqR,SAAW,SAAS1b,GAC/BA,IACHA,EAAQ/B,OAAO+B,MAGjB,IAAIylB,GAAQ,CAYZ,IAXIzlB,EAAM0lB,WACRD,EAAQzlB,EAAM0lB,WAAW,IAChB1lB,EAAM2lB,SAGfF,GAASzlB,EAAM2lB,OAAO,GAMpBF,EAAO,CACT,GAAIG,GAAYzvB,KAAKkc,OAAOkE,eACxBsP,EAAYD,GAAa,EAAIH,EAAQ,GAEzCtvB,MAAKkc,OAAO0K,aAAa8I,GACzB1vB,KAAKyiB,SAELziB,KAAK8uB,eAIP,GAAIN,GAAaxuB,KAAK6mB,mBACtB7mB,MAAKyuB,KAAK,uBAAwBD,GAKlC7tB,EAAKiJ,eAAeC,IAUtB7I,EAAQkT,UAAUyb,gBAAkB,SAAU/c,EAAOgd,GAKnD,QAASC,GAAMrd,GACb,MAAOA,GAAI,EAAI,EAAQ,EAAJA,EAAQ,GAAK,EALlC,GAAI5M,GAAIgqB,EAAS,GACf/pB,EAAI+pB,EAAS,GACbnvB,EAAImvB,EAAS,GAMXE,EAAKD,GAAMhqB,EAAE2M,EAAI5M,EAAE4M,IAAMI,EAAMH,EAAI7M,EAAE6M,IAAM5M,EAAE4M,EAAI7M,EAAE6M,IAAMG,EAAMJ,EAAI5M,EAAE4M,IACrEud,EAAKF,GAAMpvB,EAAE+R,EAAI3M,EAAE2M,IAAMI,EAAMH,EAAI5M,EAAE4M,IAAMhS,EAAEgS,EAAI5M,EAAE4M,IAAMG,EAAMJ,EAAI3M,EAAE2M,IACrEwd,EAAKH,GAAMjqB,EAAE4M,EAAI/R,EAAE+R,IAAMI,EAAMH,EAAIhS,EAAEgS,IAAM7M,EAAE6M,EAAIhS,EAAEgS,IAAMG,EAAMJ,EAAI/R,EAAE+R,GAGzE,SAAc,GAANsd,GAAiB,GAANC,GAAWD,GAAMC,GAC3B,GAANA,GAAiB,GAANC,GAAWD,GAAMC,GACtB,GAANF,GAAiB,GAANE,GAAWF,GAAME,IAUjChvB,EAAQkT,UAAU8a,iBAAmB,SAAUxc,EAAGC,GAChD,GAAI3M,GACFmqB,EAAU,IACVlB,EAAY,KACZmB,EAAmB,KACnBC,EAAc,KACdpD,EAAS,GAAI3rB,GAAQoR,EAAGC,EAE1B,IAAIzS,KAAK0N,QAAU1M,EAAQua,MAAM2F,KAC/BlhB,KAAK0N,QAAU1M,EAAQua,MAAM4F,UAC7BnhB,KAAK0N,QAAU1M,EAAQua,MAAM6F,QAE7B,IAAKtb,EAAI9F,KAAKoc,WAAWnW,OAAS,EAAGH,GAAK,EAAGA,IAAK,CAChDipB,EAAY/uB,KAAKoc,WAAWtW,EAC5B,IAAIgnB,GAAYiC,EAAUjC,QAC1B,IAAIA,EACF,IAAK,GAAIvgB,GAAIugB,EAAS7mB,OAAS,EAAGsG,GAAK,EAAGA,IAAK,CAE7C,GAAImgB,GAAUI,EAASvgB,GACnBogB,EAAUD,EAAQC,QAClByD,GAAazD,EAAQ,GAAGtI,OAAQsI,EAAQ,GAAGtI,OAAQsI,EAAQ,GAAGtI,QAC9DgM,GAAa1D,EAAQ,GAAGtI,OAAQsI,EAAQ,GAAGtI,OAAQsI,EAAQ,GAAGtI,OAClE,IAAIrkB,KAAK2vB,gBAAgB5C,EAAQqD,IAC/BpwB,KAAK2vB,gBAAgB5C,EAAQsD,GAE7B,MAAOtB,QAQf,KAAKjpB,EAAI,EAAGA,EAAI9F,KAAKoc,WAAWnW,OAAQH,IAAK,CAC3CipB,EAAY/uB,KAAKoc,WAAWtW,EAC5B,IAAI8M,GAAQmc,EAAU1K,MACtB,IAAIzR,EAAO,CACT,GAAI0d,GAAQ9rB,KAAKknB,IAAIlZ,EAAII,EAAMJ,GAC3B+d,EAAQ/rB,KAAKknB,IAAIjZ,EAAIG,EAAMH,GAC3BsZ,EAAQvnB,KAAKgsB,KAAKF,EAAQA,EAAQC,EAAQA,IAEzB,OAAhBJ,GAA+BA,EAAPpE,IAA8BkE,EAAPlE,IAClDoE,EAAcpE,EACdmE,EAAmBnB,IAO3B,MAAOmB,IAQTlvB,EAAQkT,UAAU+a,aAAe,SAAUF,GACzC,GAAI5b,GAASsd,EAAMC,CAEd1wB,MAAKonB,SAiCRjU,EAAUnT,KAAKonB,QAAQuJ,IAAIxd,QAC3Bsd,EAAQzwB,KAAKonB,QAAQuJ,IAAIF,KACzBC,EAAQ1wB,KAAKonB,QAAQuJ,IAAID,MAlCzBvd,EAAUnB,SAASM,cAAc,OACjCa,EAAQzF,MAAMkX,SAAW,WACzBzR,EAAQzF,MAAMsX,QAAU,OACxB7R,EAAQzF,MAAMZ,OAAS,oBACvBqG,EAAQzF,MAAMnC,MAAQ,UACtB4H,EAAQzF,MAAMb,WAAa,wBAC3BsG,EAAQzF,MAAMkjB,aAAe,MAC7Bzd,EAAQzF,MAAMmjB,UAAY,qCAE1BJ,EAAOze,SAASM,cAAc,OAC9Bme,EAAK/iB,MAAMkX,SAAW,WACtB6L,EAAK/iB,MAAM6F,OAAS,OACpBkd,EAAK/iB,MAAM4F,MAAQ,IACnBmd,EAAK/iB,MAAMojB,WAAa,oBAExBJ,EAAM1e,SAASM,cAAc,OAC7Boe,EAAIhjB,MAAMkX,SAAW,WACrB8L,EAAIhjB,MAAM6F,OAAS,IACnBmd,EAAIhjB,MAAM4F,MAAQ,IAClBod,EAAIhjB,MAAMZ,OAAS,oBACnB4jB,EAAIhjB,MAAMkjB,aAAe,MAEzB5wB,KAAKonB,SACH2H,UAAW,KACX4B,KACExd,QAASA,EACTsd,KAAMA,EACNC,IAAKA,KAUX1wB,KAAK8uB,eAEL9uB,KAAKonB,QAAQ2H,UAAYA,EACO,kBAArB/uB,MAAK8b,YACd3I,EAAQ8R,UAAYjlB,KAAK8b,YAAYiT,EAAUnc,OAG/CO,EAAQ8R,UAAY,6BACM8J,EAAUnc,MAAMJ,EAAI,gCACpBuc,EAAUnc,MAAMH,EAAI,gCACpBsc,EAAUnc,MAAMsL,EAAI,qBAIhD/K,EAAQzF,MAAM7F,KAAQ,IACtBsL,EAAQzF,MAAMzF,IAAQ,IACtBjI,KAAKsgB,MAAMpO,YAAYiB,GACvBnT,KAAKsgB,MAAMpO,YAAYue,GACvBzwB,KAAKsgB,MAAMpO,YAAYwe,EAGvB,IAAIK,GAAgB5d,EAAQ6d,YACxBC,EAAkB9d,EAAQ+d,aAC1BC,EAAgBV,EAAKS,aACrBE,EAAcV,EAAIM,YAClBK,EAAgBX,EAAIQ,aAEpBrpB,EAAOknB,EAAU1K,OAAO7R,EAAIue,EAAe,CAC/ClpB,GAAOrD,KAAKL,IAAIK,KAAKJ,IAAIyD,EAAM,IAAK7H,KAAKsgB,MAAME,YAAc,GAAKuQ,GAElEN,EAAK/iB,MAAM7F,KAASknB,EAAU1K,OAAO7R,EAAI,KACzCie,EAAK/iB,MAAMzF,IAAU8mB,EAAU1K,OAAO5R,EAAI0e,EAAc,KACxDhe,EAAQzF,MAAM7F,KAAQA,EAAO,KAC7BsL,EAAQzF,MAAMzF,IAAS8mB,EAAU1K,OAAO5R,EAAI0e,EAAaF,EAAiB,KAC1EP,EAAIhjB,MAAM7F,KAAWknB,EAAU1K,OAAO7R,EAAI4e,EAAW,EAAK,KAC1DV,EAAIhjB,MAAMzF,IAAW8mB,EAAU1K,OAAO5R,EAAI4e,EAAY,EAAK,MAO7DrwB,EAAQkT,UAAU4a,aAAe,WAC/B,GAAI9uB,KAAKonB,QAAS,CAChBpnB,KAAKonB,QAAQ2H,UAAY,IAEzB,KAAK,GAAI5oB,KAAQnG,MAAKonB,QAAQuJ,IAC5B,GAAI3wB,KAAKonB,QAAQuJ,IAAIvqB,eAAeD,GAAO,CACzC,GAAIwB,GAAO3H,KAAKonB,QAAQuJ,IAAIxqB,EACxBwB,IAAQA,EAAKwC,YACfxC,EAAKwC,WAAWyH,YAAYjK,MA8BtC9H,EAAOD,QAAUoB,GAKb,SAASnB,EAAQD,EAASM,GAc9B,QAASgB,KACPlB,KAAKsxB,YAAc,GAAIjwB,GACvBrB,KAAKuxB,eACLvxB,KAAKuxB,YAAY/K,WAAa,EAC9BxmB,KAAKuxB,YAAY9K,SAAW,EAC5BzmB,KAAKwxB,UAAY,IAEjBxxB,KAAKyxB,eAAiB,GAAIpwB,GAC1BrB,KAAK0xB,eAAkB,GAAIrwB,GAAQ,GAAImD,KAAKgoB,GAAI,EAAG,GAEnDxsB,KAAK2xB,6BAtBP,GAAItwB,GAAUnB,EAAoB,GA+BlCgB,GAAOgT,UAAUoK,eAAiB,SAAS9L,EAAGC,EAAGyL,GAC/Cle,KAAKsxB,YAAY9e,EAAIA,EACrBxS,KAAKsxB,YAAY7e,EAAIA,EACrBzS,KAAKsxB,YAAYpT,EAAIA,EAErBle,KAAK2xB,8BAWPzwB,EAAOgT,UAAUwS,eAAiB,SAASF,EAAYC,GAClC5f,SAAf2f,IACFxmB,KAAKuxB,YAAY/K,WAAaA,GAGf3f,SAAb4f,IACFzmB,KAAKuxB,YAAY9K,SAAWA,EACxBzmB,KAAKuxB,YAAY9K,SAAW,IAAGzmB,KAAKuxB,YAAY9K,SAAW,GAC3DzmB,KAAKuxB,YAAY9K,SAAW,GAAIjiB,KAAKgoB,KAAIxsB,KAAKuxB,YAAY9K,SAAW,GAAIjiB,KAAKgoB,MAGjE3lB,SAAf2f,GAAyC3f,SAAb4f,IAC9BzmB,KAAK2xB,8BAQTzwB,EAAOgT,UAAU4S,eAAiB,WAChC,GAAI8K,KAIJ,OAHAA,GAAIpL,WAAaxmB,KAAKuxB,YAAY/K,WAClCoL,EAAInL,SAAWzmB,KAAKuxB,YAAY9K,SAEzBmL,GAOT1wB,EAAOgT,UAAU0S,aAAe,SAAS3gB,GACxBY,SAAXZ,IAGJjG,KAAKwxB,UAAYvrB,EAKbjG,KAAKwxB,UAAY,MAAMxxB,KAAKwxB,UAAY,KACxCxxB,KAAKwxB,UAAY,IAAKxxB,KAAKwxB,UAAY,GAE3CxxB,KAAK2xB,+BAOPzwB,EAAOgT,UAAUkM,aAAe,WAC9B,MAAOpgB,MAAKwxB,WAOdtwB,EAAOgT,UAAU8K,kBAAoB,WACnC,MAAOhf,MAAKyxB,gBAOdvwB,EAAOgT,UAAUmL,kBAAoB,WACnC,MAAOrf,MAAK0xB,gBAOdxwB,EAAOgT,UAAUyd,2BAA6B,WAE5C3xB,KAAKyxB,eAAejf,EAAIxS,KAAKsxB,YAAY9e,EAAIxS,KAAKwxB,UAAYhtB,KAAK4a,IAAIpf,KAAKuxB,YAAY/K,YAAchiB,KAAK+a,IAAIvf,KAAKuxB,YAAY9K,UAChIzmB,KAAKyxB,eAAehf,EAAIzS,KAAKsxB,YAAY7e,EAAIzS,KAAKwxB,UAAYhtB,KAAK+a,IAAIvf,KAAKuxB,YAAY/K,YAAchiB,KAAK+a,IAAIvf,KAAKuxB,YAAY9K,UAChIzmB,KAAKyxB,eAAevT,EAAIle,KAAKsxB,YAAYpT,EAAIle,KAAKwxB,UAAYhtB,KAAK4a,IAAIpf,KAAKuxB,YAAY9K,UAGxFzmB,KAAK0xB,eAAelf,EAAIhO,KAAKgoB,GAAG,EAAIxsB,KAAKuxB,YAAY9K,SACrDzmB,KAAK0xB,eAAejf,EAAI,EACxBzS,KAAK0xB,eAAexT,GAAKle,KAAKuxB,YAAY/K,YAG5C3mB,EAAOD,QAAUsB,GAIb,SAASrB,EAAQD,EAASM,GAW9B,QAASiB,GAAQsS,EAAMsO,EAAQ8P,GAC7B7xB,KAAKyT,KAAOA,EACZzT,KAAK+hB,OAASA,EACd/hB,KAAK6xB,MAAQA,EAEb7xB,KAAK0I,MAAQ7B,OACb7G,KAAKsE,MAAQuC,OAGb7G,KAAK8X,OAAS+Z,EAAM7P,kBAAkBvO,EAAKwC,MAAOjW,KAAK+hB,QAGvD/hB,KAAK8X,OAAOZ,KAAK,SAAUtR,EAAGC,GAC5B,MAAOD,GAAIC,EAAI,EAAQA,EAAJD,EAAQ,GAAK,IAG9B5F,KAAK8X,OAAO7R,OAAS,GACvBjG,KAAK8pB,YAAY,GAInB9pB,KAAKoc,cAELpc,KAAKM,QAAS,EACdN,KAAK8xB,eAAiBjrB,OAElBgrB,EAAM5V,kBACRjc,KAAKM,QAAS,EACdN,KAAK+xB,oBAGL/xB,KAAKM,QAAS,EAxClB,GAAIQ,GAAWZ,EAAoB,EAiDnCiB,GAAO+S,UAAU8d,SAAW,WAC1B,MAAOhyB,MAAKM,QAQda,EAAO+S,UAAU+d,kBAAoB,WAInC,IAHA,GAAIlsB,GAAM/F,KAAK8X,OAAO7R,OAElBH,EAAI,EACD9F,KAAKoc,WAAWtW,IACrBA,GAGF,OAAOtB,MAAK+pB,MAAMzoB,EAAIC,EAAM,MAQ9B5E,EAAO+S,UAAU+V,SAAW,WAC1B,MAAOjqB,MAAK6xB,MAAMxW,aAQpBla,EAAO+S,UAAUge,UAAY,WAC3B,MAAOlyB,MAAK+hB,QAOd5gB,EAAO+S,UAAUgW,iBAAmB;AAClC,MAAmBrjB,UAAf7G,KAAK0I,MACA7B,OAEF7G,KAAK8X,OAAO9X,KAAK0I,QAO1BvH,EAAO+S,UAAUie,UAAY,WAC3B,MAAOnyB,MAAK8X,QAQd3W,EAAO+S,UAAUyB,SAAW,SAASjN,GACnC,GAAIA,GAAS1I,KAAK8X,OAAO7R,OACvB,KAAM,2BAER,OAAOjG,MAAK8X,OAAOpP,IASrBvH,EAAO+S,UAAU4P,eAAiB,SAASpb,GAIzC,GAHc7B,SAAV6B,IACFA,EAAQ1I,KAAK0I,OAED7B,SAAV6B,EACF,QAEF,IAAI0T,EACJ,IAAIpc,KAAKoc,WAAW1T,GAClB0T,EAAapc,KAAKoc,WAAW1T,OAE1B,CACH,GAAI2F,KACJA,GAAE0T,OAAS/hB,KAAK+hB,OAChB1T,EAAE/J,MAAQtE,KAAK8X,OAAOpP,EAEtB,IAAI0pB,GAAW,GAAItxB,GAASd,KAAKyT,MAAMiB,OAAQ,SAAU5E,GAAO,MAAQA,GAAKzB,EAAE0T,SAAW1T,EAAE/J,SAAW2R,KACvGmG,GAAapc,KAAK6xB,MAAM/N,eAAesO,GAEvCpyB,KAAKoc,WAAW1T,GAAS0T,EAG3B,MAAOA,IAQTjb,EAAO+S,UAAUsO,kBAAoB,SAAS3Z,GAC5C7I,KAAK8xB,eAAiBjpB,GASxB1H,EAAO+S,UAAU4V,YAAc,SAASphB,GACtC,GAAIA,GAAS1I,KAAK8X,OAAO7R,OACvB,KAAM,2BAERjG,MAAK0I,MAAQA,EACb1I,KAAKsE,MAAQtE,KAAK8X,OAAOpP,IAO3BvH,EAAO+S,UAAU6d,iBAAmB,SAASrpB,GAC7B7B,SAAV6B,IACFA,EAAQ,EAEV,IAAI4X,GAAQtgB,KAAK6xB,MAAMvR,KAEvB,IAAI5X,EAAQ1I,KAAK8X,OAAO7R,OAAQ,CAC9B,CAAqBjG,KAAK8jB,eAAepb,GAIlB7B,SAAnByZ,EAAM+R,WACR/R,EAAM+R,SAAWrgB,SAASM,cAAc,OACxCgO,EAAM+R,SAAS3kB,MAAMkX,SAAW,WAChCtE,EAAM+R,SAAS3kB,MAAMnC,MAAQ,OAC7B+U,EAAMpO,YAAYoO,EAAM+R,UAE1B,IAAIA,GAAWryB,KAAKiyB,mBACpB3R,GAAM+R,SAASpN,UAAY,wBAA0BoN,EAAW,IAEhE/R,EAAM+R,SAAS3kB,MAAM4W,OAAS,OAC9BhE,EAAM+R,SAAS3kB,MAAM7F,KAAO,MAE5B,IAAIqN,GAAKlV,IACTua,YAAW,WAAYrF,EAAG6c,iBAAiBrpB,EAAM,IAAM,IACvD1I,KAAKM,QAAS,MAGdN,MAAKM,QAAS,EAGSuG,SAAnByZ,EAAM+R,WACR/R,EAAM1O,YAAY0O,EAAM+R,UACxB/R,EAAM+R,SAAWxrB,QAGf7G,KAAK8xB,gBACP9xB,KAAK8xB,kBAIXjyB,EAAOD,QAAUuB,GAKb,SAAStB,EAAQD,EAASM,GAO9B,QAASkB,GAASoR,EAAGC,GACnBzS,KAAKwS,EAAU3L,SAAN2L,EAAkBA,EAAI,EAC/BxS,KAAKyS,EAAU5L,SAAN4L,EAAkBA,EAAI,EAGjC5S,EAAOD,QAAUwB,GAKb,SAASvB,EAAQD,EAASM,GAQ9B,QAASmB,GAAQmR,EAAGC,EAAGyL,GACrBle,KAAKwS,EAAU3L,SAAN2L,EAAkBA,EAAI,EAC/BxS,KAAKyS,EAAU5L,SAAN4L,EAAkBA,EAAI,EAC/BzS,KAAKke,EAAUrX,SAANqX,EAAkBA,EAAI,EASjC7c,EAAQ6qB,SAAW,SAAStmB,EAAGC,GAC7B,GAAIysB,GAAM,GAAIjxB,EAId,OAHAixB,GAAI9f,EAAI5M,EAAE4M,EAAI3M,EAAE2M,EAChB8f,EAAI7f,EAAI7M,EAAE6M,EAAI5M,EAAE4M,EAChB6f,EAAIpU,EAAItY,EAAEsY,EAAIrY,EAAEqY,EACToU,GASTjxB,EAAQ2S,IAAM,SAASpO,EAAGC,GACxB,GAAI0sB,GAAM,GAAIlxB,EAId,OAHAkxB,GAAI/f,EAAI5M,EAAE4M,EAAI3M,EAAE2M,EAChB+f,EAAI9f,EAAI7M,EAAE6M,EAAI5M,EAAE4M,EAChB8f,EAAIrU,EAAItY,EAAEsY,EAAIrY,EAAEqY,EACTqU,GASTlxB,EAAQ2rB,IAAM,SAASpnB,EAAGC,GACxB,MAAO,IAAIxE,IACFuE,EAAE4M,EAAI3M,EAAE2M,GAAK,GACb5M,EAAE6M,EAAI5M,EAAE4M,GAAK,GACb7M,EAAEsY,EAAIrY,EAAEqY,GAAK,IAWxB7c,EAAQgrB,aAAe,SAASzmB,EAAGC,GACjC,GAAIumB,GAAe,GAAI/qB,EAMvB,OAJA+qB,GAAa5Z,EAAI5M,EAAE6M,EAAI5M,EAAEqY,EAAItY,EAAEsY,EAAIrY,EAAE4M,EACrC2Z,EAAa3Z,EAAI7M,EAAEsY,EAAIrY,EAAE2M,EAAI5M,EAAE4M,EAAI3M,EAAEqY,EACrCkO,EAAalO,EAAItY,EAAE4M,EAAI3M,EAAE4M,EAAI7M,EAAE6M,EAAI5M,EAAE2M,EAE9B4Z,GAQT/qB,EAAQ6S,UAAUjO,OAAS,WACzB,MAAOzB,MAAKgsB,KACJxwB,KAAKwS,EAAIxS,KAAKwS,EACdxS,KAAKyS,EAAIzS,KAAKyS,EACdzS,KAAKke,EAAIle,KAAKke,IAIxBre,EAAOD,QAAUyB,GAKb,SAASxB,EAAQD,EAASM,GAa9B,QAASoB,GAAOkZ,EAAWtL,GACzB,GAAkBrI,SAAd2T,EACF,KAAM,qCAKR,IAHAxa,KAAKwa,UAAYA,EACjBxa,KAAKypB,QAAWva,GAA8BrI,QAAnBqI,EAAQua,QAAwBva,EAAQua,SAAU,EAEzEzpB,KAAKypB,QAAS,CAChBzpB,KAAKsgB,MAAQtO,SAASM,cAAc,OAEpCtS,KAAKsgB,MAAM5S,MAAM4F,MAAQ,OACzBtT,KAAKsgB,MAAM5S,MAAMkX,SAAW,WAC5B5kB,KAAKwa,UAAUtI,YAAYlS,KAAKsgB,OAEhCtgB,KAAKsgB,MAAMkS,KAAOxgB,SAASM,cAAc,SACzCtS,KAAKsgB,MAAMkS,KAAKrrB,KAAO,SACvBnH,KAAKsgB,MAAMkS,KAAKluB,MAAQ,OACxBtE,KAAKsgB,MAAMpO,YAAYlS,KAAKsgB,MAAMkS,MAElCxyB,KAAKsgB,MAAM0F,KAAOhU,SAASM,cAAc,SACzCtS,KAAKsgB,MAAM0F,KAAK7e,KAAO,SACvBnH,KAAKsgB,MAAM0F,KAAK1hB,MAAQ,OACxBtE,KAAKsgB,MAAMpO,YAAYlS,KAAKsgB,MAAM0F,MAElChmB,KAAKsgB,MAAM+I,KAAOrX,SAASM,cAAc,SACzCtS,KAAKsgB,MAAM+I,KAAKliB,KAAO,SACvBnH,KAAKsgB,MAAM+I,KAAK/kB,MAAQ,OACxBtE,KAAKsgB,MAAMpO,YAAYlS,KAAKsgB,MAAM+I,MAElCrpB,KAAKsgB,MAAMmS,IAAMzgB,SAASM,cAAc,SACxCtS,KAAKsgB,MAAMmS,IAAItrB,KAAO,SACtBnH,KAAKsgB,MAAMmS,IAAI/kB,MAAMkX,SAAW,WAChC5kB,KAAKsgB,MAAMmS,IAAI/kB,MAAMZ,OAAS,gBAC9B9M,KAAKsgB,MAAMmS,IAAI/kB,MAAM4F,MAAQ,QAC7BtT,KAAKsgB,MAAMmS,IAAI/kB,MAAM6F,OAAS,MAC9BvT,KAAKsgB,MAAMmS,IAAI/kB,MAAMkjB,aAAe,MACpC5wB,KAAKsgB,MAAMmS,IAAI/kB,MAAMglB,gBAAkB,MACvC1yB,KAAKsgB,MAAMmS,IAAI/kB,MAAMZ,OAAS,oBAC9B9M,KAAKsgB,MAAMmS,IAAI/kB,MAAMiT,gBAAkB,UACvC3gB,KAAKsgB,MAAMpO,YAAYlS,KAAKsgB,MAAMmS,KAElCzyB,KAAKsgB,MAAMqS,MAAQ3gB,SAASM,cAAc,SAC1CtS,KAAKsgB,MAAMqS,MAAMxrB,KAAO,SACxBnH,KAAKsgB,MAAMqS,MAAMjlB,MAAMiN,OAAS,MAChC3a,KAAKsgB,MAAMqS,MAAMruB,MAAQ,IACzBtE,KAAKsgB,MAAMqS,MAAMjlB,MAAMkX,SAAW,WAClC5kB,KAAKsgB,MAAMqS,MAAMjlB,MAAM7F,KAAO,SAC9B7H,KAAKsgB,MAAMpO,YAAYlS,KAAKsgB,MAAMqS,MAGlC,IAAIzd,GAAKlV,IACTA,MAAKsgB,MAAMqS,MAAMzN,YAAc,SAAUrb,GAAQqL,EAAGiQ,aAAatb,IACjE7J,KAAKsgB,MAAMkS,KAAKI,QAAU,SAAU/oB,GAAQqL,EAAGsd,KAAK3oB,IACpD7J,KAAKsgB,MAAM0F,KAAK4M,QAAU,SAAU/oB,GAAQqL,EAAG2d,WAAWhpB,IAC1D7J,KAAKsgB,MAAM+I,KAAKuJ,QAAU,SAAU/oB,GAAQqL,EAAGmU,KAAKxf,IAGtD7J,KAAK8yB,iBAAmBjsB,OAExB7G,KAAK8X,UACL9X,KAAK0I,MAAQ7B,OAEb7G,KAAK+yB,YAAclsB,OACnB7G,KAAKgzB,aAAe,IACpBhzB,KAAKizB,UAAW,EA3ElB,GAAItyB,GAAOT,EAAoB,EAiF/BoB,GAAO4S,UAAUse,KAAO,WACtB,GAAI9pB,GAAQ1I,KAAK6pB,UACbnhB,GAAQ,IACVA,IACA1I,KAAKkzB,SAASxqB,KAOlBpH,EAAO4S,UAAUmV,KAAO,WACtB,GAAI3gB,GAAQ1I,KAAK6pB,UACbnhB,GAAQ1I,KAAK8X,OAAO7R,OAAS,IAC/ByC,IACA1I,KAAKkzB,SAASxqB,KAOlBpH,EAAO4S,UAAUif,SAAW,WAC1B,GAAI9iB,GAAQ,GAAIzL,MAEZ8D,EAAQ1I,KAAK6pB,UACbnhB,GAAQ1I,KAAK8X,OAAO7R,OAAS,GAC/ByC,IACA1I,KAAKkzB,SAASxqB,IAEP1I,KAAKizB,WAEZvqB,EAAQ,EACR1I,KAAKkzB,SAASxqB,GAGhB,IAAI4H,GAAM,GAAI1L,MACVsoB,EAAQ5c,EAAMD,EAId+iB,EAAW5uB,KAAKJ,IAAIpE,KAAKgzB,aAAe9F,EAAM,GAG9ChY,EAAKlV,IACTA,MAAK+yB,YAAcxY,WAAW,WAAYrF,EAAGie,YAAcC,IAM7D9xB,EAAO4S,UAAU2e,WAAa,WACHhsB,SAArB7G,KAAK+yB,YACP/yB,KAAKgmB,OAELhmB,KAAKkmB,QAOT5kB,EAAO4S,UAAU8R,KAAO,WAElBhmB,KAAK+yB,cAET/yB,KAAKmzB,WAEDnzB,KAAKsgB,QACPtgB,KAAKsgB,MAAM0F,KAAK1hB,MAAQ,UAO5BhD,EAAO4S,UAAUgS,KAAO,WACtBmN,cAAcrzB,KAAK+yB,aACnB/yB,KAAK+yB,YAAclsB,OAEf7G,KAAKsgB,QACPtgB,KAAKsgB,MAAM0F,KAAK1hB,MAAQ,SAQ5BhD,EAAO4S,UAAU6V,oBAAsB,SAASlhB,GAC9C7I,KAAK8yB,iBAAmBjqB,GAO1BvH,EAAO4S,UAAUyV,gBAAkB,SAASyJ,GAC1CpzB,KAAKgzB,aAAeI,GAOtB9xB,EAAO4S,UAAUof,gBAAkB,SAASF,GAC1C,MAAOpzB,MAAKgzB,cASd1xB,EAAO4S,UAAUqf,YAAc,SAASC,GACtCxzB,KAAKizB,SAAWO,GAOlBlyB,EAAO4S,UAAUuf,SAAW,WACI5sB,SAA1B7G,KAAK8yB,kBACP9yB,KAAK8yB,oBAOTxxB,EAAO4S,UAAUuO,OAAS,WACxB,GAAIziB,KAAKsgB,MAAO,CAEdtgB,KAAKsgB,MAAMmS,IAAI/kB,MAAMzF,IAAOjI,KAAKsgB,MAAMuF,aAAa,EAChD7lB,KAAKsgB,MAAMmS,IAAIvB,aAAa,EAAK,KACrClxB,KAAKsgB,MAAMmS,IAAI/kB,MAAM4F,MAAStT,KAAKsgB,MAAME,YACrCxgB,KAAKsgB,MAAMkS,KAAKhS,YAChBxgB,KAAKsgB,MAAM0F,KAAKxF,YAChBxgB,KAAKsgB,MAAM+I,KAAK7I,YAAc,GAAO,IAGzC,IAAI3Y,GAAO7H,KAAK0zB,YAAY1zB,KAAK0I,MACjC1I,MAAKsgB,MAAMqS,MAAMjlB,MAAM7F,KAAO,EAAS,OAS3CvG,EAAO4S,UAAUwV,UAAY,SAAS5R,GACpC9X,KAAK8X,OAASA,EAEV9X,KAAK8X,OAAO7R,OAAS,EACvBjG,KAAKkzB,SAAS,GAEdlzB,KAAK0I,MAAQ7B,QAOjBvF,EAAO4S,UAAUgf,SAAW,SAASxqB,GACnC,KAAIA,EAAQ1I,KAAK8X,OAAO7R,QAOtB,KAAM,2BANNjG,MAAK0I,MAAQA,EAEb1I,KAAKyiB,SACLziB,KAAKyzB,YAWTnyB,EAAO4S,UAAU2V,SAAW,WAC1B,MAAO7pB,MAAK0I,OAQdpH,EAAO4S,UAAU+B,IAAM,WACrB,MAAOjW,MAAK8X,OAAO9X,KAAK0I,QAI1BpH,EAAO4S,UAAUiR,aAAe,SAAStb,GAEvC,GAAIsjB,GAAiBtjB,EAAMwjB,MAAyB,IAAhBxjB,EAAMwjB,MAAiC,IAAjBxjB,EAAMyjB,MAChE,IAAKH,EAAL,CAEAntB,KAAK2zB,aAAe9pB,EAAM+T,QAC1B5d,KAAK4zB,YAAcvN,WAAWrmB,KAAKsgB,MAAMqS,MAAMjlB,MAAM7F,MAErD7H,KAAKsgB,MAAM5S,MAAMmgB,OAAS,MAK1B,IAAI3Y,GAAKlV,IACTA,MAAK8tB,YAAc,SAAUjkB,GAAQqL,EAAG6Y,aAAalkB,IACrD7J,KAAKguB,UAAc,SAAUnkB,GAAQqL,EAAGkY,WAAWvjB,IACnDlJ,EAAKuI,iBAAiB8I,SAAU,YAAahS,KAAK8tB,aAClDntB,EAAKuI,iBAAiB8I,SAAU,UAAahS,KAAKguB,WAClDrtB,EAAKiJ,eAAeC,KAItBvI,EAAO4S,UAAU2f,YAAc,SAAUhsB,GACvC,GAAIyL,GAAQ+S,WAAWrmB,KAAKsgB,MAAMmS,IAAI/kB,MAAM4F,OACxCtT,KAAKsgB,MAAMqS,MAAMnS,YAAc,GAC/BhO,EAAI3K,EAAO,EAEXa,EAAQlE,KAAK+pB,MAAM/b,EAAIc,GAAStT,KAAK8X,OAAO7R,OAAO,GAIvD,OAHY,GAARyC,IAAWA,EAAQ,GACnBA,EAAQ1I,KAAK8X,OAAO7R,OAAO,IAAGyC,EAAQ1I,KAAK8X,OAAO7R,OAAO,GAEtDyC,GAGTpH,EAAO4S,UAAUwf,YAAc,SAAUhrB,GACvC,GAAI4K,GAAQ+S,WAAWrmB,KAAKsgB,MAAMmS,IAAI/kB,MAAM4F,OACxCtT,KAAKsgB,MAAMqS,MAAMnS,YAAc,GAE/BhO,EAAI9J,GAAS1I,KAAK8X,OAAO7R,OAAO,GAAKqN,EACrCzL,EAAO2K,EAAI,CAEf,OAAO3K,IAKTvG,EAAO4S,UAAU6Z,aAAe,SAAUlkB,GACxC,GAAIqjB,GAAOrjB,EAAM+T,QAAU5d,KAAK2zB,aAC5BnhB,EAAIxS,KAAK4zB,YAAc1G,EAEvBxkB,EAAQ1I,KAAK6zB,YAAYrhB,EAE7BxS,MAAKkzB,SAASxqB,GAEd/H,EAAKiJ,kBAIPtI,EAAO4S,UAAUkZ,WAAa,SAAUvjB,GACtC7J,KAAKsgB,MAAM5S,MAAMmgB,OAAS,OAG1BltB,EAAK+I,oBAAoBsI,SAAU,YAAahS,KAAK8tB,aACrDntB,EAAK+I,oBAAoBsI,SAAU,UAAWhS,KAAKguB,WAEnDrtB,EAAKiJ,kBAGP/J,EAAOD,QAAU0B,GAKb,SAASzB,EAAQD,EAASM,GA2B9B,QAASqB,GAAW8O,EAAOC,EAAK6Y,EAAMkB,GAEpCrqB,KAAK8zB,OAAS,EACd9zB,KAAK+zB,KAAO,EACZ/zB,KAAKg0B,MAAQ,EACbh0B,KAAKqqB,YAAa,EAClBrqB,KAAKi0B,UAAY,EAEjBj0B,KAAKk0B,SAAW,EAChBl0B,KAAKm0B,SAAS9jB,EAAOC,EAAK6Y,EAAMkB,GAYlC9oB,EAAW2S,UAAUigB,SAAW,SAAS9jB,EAAOC,EAAK6Y,EAAMkB,GACzDrqB,KAAK8zB,OAASzjB,EAAQA,EAAQ,EAC9BrQ,KAAK+zB,KAAOzjB,EAAMA,EAAM,EAExBtQ,KAAKo0B,QAAQjL,EAAMkB,IASrB9oB,EAAW2S,UAAUkgB,QAAU,SAASjL,EAAMkB,GAC/BxjB,SAATsiB,GAA8B,GAARA,IAGPtiB,SAAfwjB,IACFrqB,KAAKqqB,WAAaA,GAEhBrqB,KAAKqqB,cAAe,EACtBrqB,KAAKg0B,MAAQzyB,EAAW8yB,oBAAoBlL,GAE5CnpB,KAAKg0B,MAAQ7K,IAUjB5nB,EAAW8yB,oBAAsB,SAAUlL,GACzC,GAAImL,GAAQ,SAAU9hB,GAAI,MAAOhO,MAAK+vB,IAAI/hB,GAAKhO,KAAKgwB,MAGhDC,EAAQjwB,KAAKkwB,IAAI,GAAIlwB,KAAK+pB,MAAM+F,EAAMnL,KACtCwL,EAAQ,EAAInwB,KAAKkwB,IAAI,GAAIlwB,KAAK+pB,MAAM+F,EAAMnL,EAAO,KACjDyL,EAAQ,EAAIpwB,KAAKkwB,IAAI,GAAIlwB,KAAK+pB,MAAM+F,EAAMnL,EAAO,KAGjDkB,EAAaoK,CASjB,OARIjwB,MAAKknB,IAAIiJ,EAAQxL,IAAS3kB,KAAKknB,IAAIrB,EAAalB,KAAOkB,EAAasK,GACpEnwB,KAAKknB,IAAIkJ,EAAQzL,IAAS3kB,KAAKknB,IAAIrB,EAAalB,KAAOkB,EAAauK,GAGtD,GAAdvK,IACFA,EAAa,GAGRA,GAOT9oB,EAAW2S,UAAUkV,WAAa,WAChC,MAAO/C,YAAWrmB,KAAKk0B,SAASW,YAAY70B,KAAKi0B,aAOnD1yB,EAAW2S,UAAU4gB,QAAU,WAC7B,MAAO90B,MAAKg0B,OAOdzyB,EAAW2S,UAAU7D,MAAQ,WAC3BrQ,KAAKk0B,SAAWl0B,KAAK8zB,OAAS9zB,KAAK8zB,OAAS9zB,KAAKg0B,OAMnDzyB,EAAW2S,UAAUmV,KAAO,WAC1BrpB,KAAKk0B,UAAYl0B,KAAKg0B,OAOxBzyB,EAAW2S,UAAU5D,IAAM,WACzB,MAAQtQ,MAAKk0B,SAAWl0B,KAAK+zB,MAG/Bl0B,EAAOD,QAAU2B,GAKb,SAAS1B,EAAQD,EAASM,GAuB9B,QAASsB,GAAUgZ,EAAWvY,EAAO8yB,EAAQ7lB,GAC3C,KAAMlP,eAAgBwB,IACpB,KAAM,IAAIiZ,aAAY,mDAIxB,MAAMlU,MAAMC,QAAQuuB,IAAWA,YAAkBl0B,IAAWk0B,YAAkBj0B,KAAai0B,YAAkBnuB,QAAQ,CACnH,GAAIouB,GAAgB9lB,CACpBA,GAAU6lB,EACVA,EAASC,EAGX,GAAI9f,GAAKlV,IACTA,MAAKi1B,gBACH5kB,MAAO,KACPC,IAAO,KAEP4kB,YAAY,EAEZC,YAAa,SACb7hB,MAAO,KACPC,OAAQ,KACR6hB,UAAW,KACXC,UAAW,MAEbr1B,KAAKkP,QAAUvO,EAAKmG,cAAe9G,KAAKi1B,gBAGxCj1B,KAAKs1B,QAAQ9a,GAGbxa,KAAKgC,cAELhC,KAAKu1B,MACH5E,IAAK3wB,KAAK2wB,IACV6E,SAAUx1B,KAAKsG,MACfmvB,SACEnhB,GAAItU,KAAKsU,GAAGohB,KAAK11B,MACjByU,IAAKzU,KAAKyU,IAAIihB,KAAK11B,MACnByuB,KAAMzuB,KAAKyuB,KAAKiH,KAAK11B,OAEvB21B,eACAh1B,MACEi1B,SAAU,WACR,MAAO1gB,GAAG2gB,SAAS1M,KAAK5kB,OAE1BuwB,QAAS,WACP,MAAO5f,GAAG2gB,SAAS1M,KAAKA,MAG1B2M,SAAU5gB,EAAG6gB,UAAUL,KAAKxgB,GAC5B8gB,eAAgB9gB,EAAG+gB,gBAAgBP,KAAKxgB,GACxCghB,OAAQhhB,EAAGihB,QAAQT,KAAKxgB,GACxBkhB,aAAelhB,EAAGmhB,cAAcX,KAAKxgB,KAKzClV,KAAKs2B,MAAQ,GAAIz0B,GAAM7B,KAAKu1B,MAC5Bv1B,KAAKgC,WAAWuG,KAAKvI,KAAKs2B,OAC1Bt2B,KAAKu1B,KAAKe,MAAQt2B,KAAKs2B,MAGvBt2B,KAAK61B,SAAW,GAAI5yB,GAASjD,KAAKu1B,MAClCv1B,KAAKu2B,UAAY,KACjBv2B,KAAKgC,WAAWuG,KAAKvI,KAAK61B,UAG1B71B,KAAKw2B,YAAc,GAAIh0B,GAAYxC,KAAKu1B,MACxCv1B,KAAKgC,WAAWuG,KAAKvI,KAAKw2B,aAI1Bx2B,KAAKy2B,WAAa,GAAIh0B,GAAWzC,KAAKu1B,MACtCv1B,KAAKgC,WAAWuG,KAAKvI,KAAKy2B,YAG1Bz2B,KAAK02B,QAAU,GAAI5zB,GAAQ9C,KAAKu1B,MAChCv1B,KAAKgC,WAAWuG,KAAKvI,KAAK02B,SAE1B12B,KAAK22B,UAAY,KACjB32B,KAAK42B,WAAa,KAElB52B,KAAKsU,GAAG,MAAO,SAAUzK,GACvBqL,EAAGuZ,KAAK,QAASvZ,EAAG2hB,mBAAmBhtB,MAEzC7J,KAAKsU,GAAG,YAAa,SAAUzK,GAC7BqL,EAAGuZ,KAAK,cAAevZ,EAAG2hB,mBAAmBhtB,MAE/C7J,KAAK2wB,IAAIjxB,KAAKo3B,cAAgB,SAAUjtB,GACtCqL,EAAGuZ,KAAK,cAAevZ,EAAG2hB,mBAAmBhtB,KAI3CqF,GACFlP,KAAKiU,WAAW/E,GAId6lB,GACF/0B,KAAK+2B,UAAUhC,GAIb9yB,EACFjC,KAAKg3B,SAAS/0B,GAGdjC,KAAKi3B,UAjIT,GAEIt2B,IAFUT,EAAoB,IACrBA,EAAoB,IACtBA,EAAoB,IAC3BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/B2B,EAAQ3B,EAAoB,IAC5Bg3B,EAAOh3B,EAAoB,IAC3B+C,EAAW/C,EAAoB,IAC/BsC,EAActC,EAAoB,IAClCuC,EAAavC,EAAoB,IACjC4C,EAAU5C,EAAoB,GA4HlCsB,GAAS0S,UAAY,GAAIgjB,GAOzB11B,EAAS0S,UAAUuO,OAAS,WAC1BziB,KAAK02B,SAAW12B,KAAK02B,QAAQS,WAAWC,cAAc,IACtDp3B,KAAKi3B,WAOPz1B,EAAS0S,UAAU8iB,SAAW,SAAS/0B,GACrC,GAGIo1B,GAHAC,EAAiC,MAAlBt3B,KAAK22B,SAwBxB,IAhBEU,EAJGp1B,EAGIA,YAAiBpB,IAAWoB,YAAiBnB,GACvCmB,EAIA,GAAIpB,GAAQoB,GACvBkF,MACEkJ,MAAO,OACPC,IAAK,UAVI,KAgBftQ,KAAK22B,UAAYU,EACjBr3B,KAAK02B,SAAW12B,KAAK02B,QAAQM,SAASK,GAElCC,EACF,GAA0BzwB,QAAtB7G,KAAKkP,QAAQmB,OAA0CxJ,QAApB7G,KAAKkP,QAAQoB,IAAkB,CACpE,GAA0BzJ,QAAtB7G,KAAKkP,QAAQmB,OAA0CxJ,QAApB7G,KAAKkP,QAAQoB,IAClD,GAAIinB,GAAYv3B,KAAKw3B,eAGvB,IAAInnB,GAA8BxJ,QAAtB7G,KAAKkP,QAAQmB,MAAqBrQ,KAAKkP,QAAQmB,MAAQknB,EAAUlnB,MACzEC,EAA4BzJ,QAApB7G,KAAKkP,QAAQoB,IAAqBtQ,KAAKkP,QAAQoB,IAAQinB,EAAUjnB,GAE7EtQ,MAAKy3B,UAAUpnB,EAAOC,GAAMonB,SAAS,QAGrC13B,MAAK23B,KAAKD,SAAS,KASzBl2B,EAAS0S,UAAU6iB,UAAY,SAAShC,GAEtC,GAAIsC,EAKFA,GAJGtC,EAGIA,YAAkBl0B,IAAWk0B,YAAkBj0B,GACzCi0B,EAIA,GAAIl0B,GAAQk0B,GAPZ,KAUf/0B,KAAK42B,WAAaS,EAClBr3B,KAAK02B,QAAQK,UAAUM,IAmBzB71B,EAAS0S,UAAU0jB,aAAe,SAASzhB,EAAKjH,GAC9ClP,KAAK02B,SAAW12B,KAAK02B,QAAQkB,aAAazhB,GAEtCjH,GAAWA,EAAQ2oB,OACrB73B,KAAK63B,MAAM1hB,EAAKjH,IAQpB1N,EAAS0S,UAAU4jB,aAAe,WAChC,MAAO93B,MAAK02B,SAAW12B,KAAK02B,QAAQoB,oBAetCt2B,EAAS0S,UAAU2jB,MAAQ,SAASx3B,EAAI6O,GACtC,GAAKlP,KAAK22B,WAAmB9vB,QAANxG,EAAvB,CAEA,GAAI8V,GAAM5P,MAAMC,QAAQnG,GAAMA,GAAMA,GAGhCs2B,EAAY32B,KAAK22B,UAAU7f,aAAab,IAAIE,GAC9ChP,MACEkJ,MAAO,OACPC,IAAK,UAKLD,EAAQ,KACRC,EAAM,IAcV,IAbAqmB,EAAU/tB,QAAQ,SAAUmvB,GAC1B,GAAIxrB,GAAIwrB,EAAS1nB,MAAMhJ,UACnBiD,EAAI,OAASytB,GAAWA,EAASznB,IAAIjJ,UAAY0wB,EAAS1nB,MAAMhJ,WAEtD,OAAVgJ,GAAsBA,EAAJ9D,KACpB8D,EAAQ9D,IAGE,OAAR+D,GAAgBhG,EAAIgG,KACtBA,EAAMhG,KAII,OAAV+F,GAA0B,OAARC,EAAc,CAElC,GAAIT,IAAUQ,EAAQC,GAAO,EACzB8iB,EAAW5uB,KAAKJ,IAAKpE,KAAKs2B,MAAMhmB,IAAMtQ,KAAKs2B,MAAMjmB,MAAwB,KAAfC,EAAMD,IAEhEqnB,EAAWxoB,GAA+BrI,SAApBqI,EAAQwoB,QAAyBxoB,EAAQwoB,SAAU,CAC7E13B,MAAKs2B,MAAMnC,SAAStkB,EAASujB,EAAW,EAAGvjB,EAASujB,EAAW,EAAGsE,MAUtEl2B,EAAS0S,UAAU8jB,aAAe,WAEhC,GAAIC,GAAUj4B,KAAK22B,UAAU7f,aAC3B3S,EAAM,KACNC,EAAM,IAER,IAAI6zB,EAAS,CAEX,GAAIC,GAAUD,EAAQ9zB,IAAI,QAC1BA,GAAM+zB,EAAUv3B,EAAKuG,QAAQgxB,EAAQ7nB,MAAO,QAAQhJ,UAAY,IAKhE,IAAI8wB,GAAeF,EAAQ7zB,IAAI,QAC3B+zB,KACF/zB,EAAMzD,EAAKuG,QAAQixB,EAAa9nB,MAAO,QAAQhJ,UAEjD,IAAI+wB,GAAaH,EAAQ7zB,IAAI,MACzBg0B,KAEAh0B,EADS,MAAPA,EACIzD,EAAKuG,QAAQkxB,EAAW9nB,IAAK,QAAQjJ,UAGrC7C,KAAKJ,IAAIA,EAAKzD,EAAKuG,QAAQkxB,EAAW9nB,IAAK,QAAQjJ,YAK/D,OACElD,IAAa,MAAPA,EAAe,GAAIS,MAAKT,GAAO,KACrCC,IAAa,MAAPA,EAAe,GAAIQ,MAAKR,GAAO,OAUzC5C,EAAS0S,UAAU2iB,mBAAqB,SAAUhtB,GAChD,GAAIiG,GAAQ9P,KAAK02B,QAAQ2B,eAAexuB,GACpC6I,EAAQ1S,KAAK02B,QAAQ4B,gBAAgBzuB,GACrC0uB,EAAQ1uB,EAAM2uB,QAAU3uB,EAAM2uB,QAAQzL,OAAOwL,MAAQ1uB,EAAM0uB,MAC3DE,EAAQ5uB,EAAM2uB,QAAU3uB,EAAM2uB,QAAQzL,OAAO0L,MAAQ5uB,EAAM4uB,MAC3DjmB,EAAI+lB,EAAQ53B,EAAK+G,gBAAgB1H,KAAK2wB,IAAI+H,iBAC1CjmB,EAAIgmB,EAAQ93B,EAAKqH,eAAehI,KAAK2wB,IAAI+H,iBAEzCC,EAAO34B,KAAK02B,QAAQxnB,QAAQypB,MAAQ,KACpCp0B,EAAQvE,KAAKu1B,KAAK50B,KAAKi1B,WACvBzM,EAAOnpB,KAAKu1B,KAAK50B,KAAKm0B,UACtB8D,EAAO54B,KAAKm2B,QAAQ3jB,GACpBqmB,EAAcF,EAAOA,EAAKC,EAAMr0B,EAAO4kB,GAAQyP,EAE/CzvB,EAAUxI,EAAKoJ,UAAUF,GACzBivB,EAAO,IASX,OARY,OAARhpB,EAAkEgpB,EAAO,OACpEn4B,EAAKyJ,UAAUjB,EAASnJ,KAAK61B,SAASlF,IAAIoI,YAAmBD,EAAO,OACpE94B,KAAKu2B,WAAa51B,EAAKyJ,UAAUjB,EAASnJ,KAAKu2B,UAAU5F,IAAIoI,YAAcD,EAAO,OAClFn4B,EAAKyJ,UAAUjB,EAASnJ,KAAK02B,QAAQ/F,IAAIqI,UAAoBF,EAAO,cACpEn4B,EAAKyJ,UAAUjB,EAASnJ,KAAKy2B,WAAWhE,KAAqBqG,EAAO,cACpEn4B,EAAKyJ,UAAUjB,EAASnJ,KAAKw2B,YAAY/D,KAAoBqG,EAAO,eACpEn4B,EAAKyJ,UAAUjB,EAASnJ,KAAK2wB,IAAI5D,UAA4B+L,EAAO,eAG3EjvB,MAAOA,EACPiG,KAAMA,EAAOA,EAAKzP,GAAK,KACvBqS,MAAOA,EAAQA,EAAMumB,QAAU,KAC/BH,KAAMA,EACNP,MAAOA,EACPE,MAAOA,EACPjmB,EAAGA,EACHC,EAAGA,EACHmmB,KAAMA,EACNC,YAAaA,IAIjBh5B,EAAOD,QAAU4B,GAKb,SAAS3B,EAAQD,EAASM,GAsB9B,QAASuB,GAAS+Y,EAAWvY,EAAO8yB,EAAQ7lB,GAE1C,KAAM3I,MAAMC,QAAQuuB,IAAWA,YAAkBl0B,KAAYk0B,YAAkBnuB,QAAQ,CACrF,GAAIouB,GAAgB9lB,CACpBA,GAAU6lB,EACVA,EAASC,EAGX,GAAI9f,GAAKlV,IACTA,MAAKi1B,gBACH5kB,MAAO,KACPC,IAAO,KAEP4kB,YAAY,EAEZC,YAAa,SACb7hB,MAAO,KACPC,OAAQ,KACR6hB,UAAW,KACXC,UAAW,MAEbr1B,KAAKkP,QAAUvO,EAAKmG,cAAe9G,KAAKi1B,gBAGxCj1B,KAAKs1B,QAAQ9a,GAGbxa,KAAKgC,cAELhC,KAAKu1B,MACH5E,IAAK3wB,KAAK2wB,IACV6E,SAAUx1B,KAAKsG,MACfmvB,SACEnhB,GAAItU,KAAKsU,GAAGohB,KAAK11B,MACjByU,IAAKzU,KAAKyU,IAAIihB,KAAK11B,MACnByuB,KAAMzuB,KAAKyuB,KAAKiH,KAAK11B,OAEvB21B,eACAh1B,MACEm1B,SAAU5gB,EAAG6gB,UAAUL,KAAKxgB,GAC5B8gB,eAAgB9gB,EAAG+gB,gBAAgBP,KAAKxgB,GACxCghB,OAAQhhB,EAAGihB,QAAQT,KAAKxgB,GACxBkhB,aAAelhB,EAAGmhB,cAAcX,KAAKxgB,KAKzClV,KAAKs2B,MAAQ,GAAIz0B,GAAM7B,KAAKu1B,MAC5Bv1B,KAAKgC,WAAWuG,KAAKvI,KAAKs2B,OAC1Bt2B,KAAKu1B,KAAKe,MAAQt2B,KAAKs2B,MAGvBt2B,KAAK61B,SAAW,GAAI5yB,GAASjD,KAAKu1B,MAClCv1B,KAAKgC,WAAWuG,KAAKvI,KAAK61B,UAI1B71B,KAAKw2B,YAAc,GAAIh0B,GAAYxC,KAAKu1B,MACxCv1B,KAAKgC,WAAWuG,KAAKvI,KAAKw2B,aAI1Bx2B,KAAKy2B,WAAa,GAAIh0B,GAAWzC,KAAKu1B,MACtCv1B,KAAKgC,WAAWuG,KAAKvI,KAAKy2B,YAG1Bz2B,KAAKk5B,UAAY,GAAIl2B,GAAUhD,KAAKu1B,MACpCv1B,KAAKgC,WAAWuG,KAAKvI,KAAKk5B,WAE1Bl5B,KAAK22B,UAAY,KACjB32B,KAAK42B,WAAa,KAElB52B,KAAKsU,GAAG,MAAO,SAAUzK,GACvBqL,EAAGuZ,KAAK,QAASvZ,EAAG2hB,mBAAmBhtB,MAEzC7J,KAAKsU,GAAG,YAAa,SAAUzK,GAC7BqL,EAAGuZ,KAAK,cAAevZ,EAAG2hB,mBAAmBhtB,MAE/C7J,KAAK2wB,IAAIjxB,KAAKo3B,cAAgB,SAAUjtB,GACtCqL,EAAGuZ,KAAK,cAAevZ,EAAG2hB,mBAAmBhtB,KAI3CqF,GACFlP,KAAKiU,WAAW/E,GAId6lB,GACF/0B,KAAK+2B,UAAUhC,GAIb9yB,EACFjC,KAAKg3B,SAAS/0B,GAGdjC,KAAKi3B,UArHT,GAEIt2B,IAFUT,EAAoB,IACrBA,EAAoB,IACtBA,EAAoB,IAC3BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/B2B,EAAQ3B,EAAoB,IAC5Bg3B,EAAOh3B,EAAoB,IAC3B+C,EAAW/C,EAAoB,IAC/BsC,EAActC,EAAoB,IAClCuC,EAAavC,EAAoB,IACjC8C,EAAY9C,EAAoB,GAgHpCuB,GAAQyS,UAAY,GAAIgjB,GAMxBz1B,EAAQyS,UAAU8iB,SAAW,SAAS/0B,GACpC,GAGIo1B,GAHAC,EAAiC,MAAlBt3B,KAAK22B,SAwBxB,IAhBEU,EAJGp1B,EAGIA,YAAiBpB,IAAWoB,YAAiBnB,GACvCmB,EAIA,GAAIpB,GAAQoB,GACvBkF,MACEkJ,MAAO,OACPC,IAAK,UAVI,KAgBftQ,KAAK22B,UAAYU,EACjBr3B,KAAKk5B,WAAal5B,KAAKk5B,UAAUlC,SAASK,GAEtCC,EACF,GAA0BzwB,QAAtB7G,KAAKkP,QAAQmB,OAA0CxJ,QAApB7G,KAAKkP,QAAQoB,IAAkB,CACpE,GAAID,GAA8BxJ,QAAtB7G,KAAKkP,QAAQmB,MAAqBrQ,KAAKkP,QAAQmB,MAAQ,KAC/DC,EAA4BzJ,QAApB7G,KAAKkP,QAAQoB,IAAqBtQ,KAAKkP,QAAQoB,IAAM,IAEjEtQ,MAAKy3B,UAAUpnB,EAAOC,GAAMonB,SAAS,QAGrC13B,MAAK23B,KAAKD,SAAS,KASzBj2B,EAAQyS,UAAU6iB,UAAY,SAAShC,GAErC,GAAIsC,EAKFA,GAJGtC,EAGIA,YAAkBl0B,IAAWk0B,YAAkBj0B,GACzCi0B,EAIA,GAAIl0B,GAAQk0B,GAPZ,KAUf/0B,KAAK42B,WAAaS,EAClBr3B,KAAKk5B,UAAUnC,UAAUM,IAS3B51B,EAAQyS,UAAUilB,UAAY,SAASF,EAAS3lB,EAAOC,GAGrD,MAFe1M,UAAXyM,IAAuBA,EAAS,IACrBzM,SAAX0M,IAAuBA,EAAS,IACG1M,SAAnC7G,KAAKk5B,UAAUnE,OAAOkE,GACjBj5B,KAAKk5B,UAAUnE,OAAOkE,GAASE,UAAU7lB,EAAMC,GAG/C,qBAAwB0lB,GASnCx3B,EAAQyS,UAAUklB,eAAiB,SAASH,GAC1C,MAAuCpyB,UAAnC7G,KAAKk5B,UAAUnE,OAAOkE,GAChBj5B,KAAKk5B,UAAUnE,OAAOkE,GAASxP,UAAkE5iB,SAAtD7G,KAAKk5B,UAAUhqB,QAAQ6lB,OAAOsE,WAAWJ,IAA+E,GAArDj5B,KAAKk5B,UAAUhqB,QAAQ6lB,OAAOsE,WAAWJ,KAGxJ,GAWXx3B,EAAQyS,UAAU8jB,aAAe,WAC/B,GAAI7zB,GAAM,KACNC,EAAM,IAGV,KAAK,GAAI60B,KAAWj5B,MAAKk5B,UAAUnE,OACjC,GAAI/0B,KAAKk5B,UAAUnE,OAAO3uB,eAAe6yB,IACO,GAA1Cj5B,KAAKk5B,UAAUnE,OAAOkE,GAASxP,QACjC,IAAK,GAAI3jB,GAAI,EAAGA,EAAI9F,KAAKk5B,UAAUnE,OAAOkE,GAAStC,UAAU1wB,OAAQH,IAAK,CACxE,GAAIgK,GAAO9P,KAAKk5B,UAAUnE,OAAOkE,GAAStC,UAAU7wB,GAChDxB,EAAQ3D,EAAKuG,QAAQ4I,EAAK0C,EAAG,QAAQnL,SACzClD,GAAa,MAAPA,EAAcG,EAAQH,EAAMG,EAAQA,EAAQH,EAClDC,EAAa,MAAPA,EAAcE,EAAcA,EAANF,EAAcE,EAAQF,EAM1D,OACED,IAAa,MAAPA,EAAe,GAAIS,MAAKT,GAAO,KACrCC,IAAa,MAAPA,EAAe,GAAIQ,MAAKR,GAAO,OAWzC3C,EAAQyS,UAAU2iB,mBAAqB,SAAUhtB,GAC/C,GAAI0uB,GAAQ1uB,EAAM2uB,QAAU3uB,EAAM2uB,QAAQzL,OAAOwL,MAAQ1uB,EAAM0uB,MAC3DE,EAAQ5uB,EAAM2uB,QAAU3uB,EAAM2uB,QAAQzL,OAAO0L,MAAQ5uB,EAAM4uB,MAC3DjmB,EAAI+lB,EAAQ53B,EAAK+G,gBAAgB1H,KAAK2wB,IAAI+H,iBAC1CjmB,EAAIgmB,EAAQ93B,EAAKqH,eAAehI,KAAK2wB,IAAI+H,iBACzCE,EAAO54B,KAAKm2B,QAAQ3jB,GAEpBrJ,EAAUxI,EAAKoJ,UAAUF,GACzBivB,EAAO,IACPn4B,GAAKyJ,UAAUjB,EAASnJ,KAAK61B,SAASlF,IAAIoI,YAA2BD,EAAO,OACvE94B,KAAKu2B,WAAa51B,EAAKyJ,UAAUjB,EAASnJ,KAAKu2B,UAAU5F,IAAIoI,YAAcD,EAAO,OAClFn4B,EAAKyJ,UAAUjB,EAASnJ,KAAKk5B,UAAUI,UAAU3I,IAAIrQ,OAAWwY,EAAO,YACvEn4B,EAAKyJ,UAAUjB,EAASnJ,KAAKk5B,UAAUK,WAAW5I,IAAIrQ,OAAUwY,EAAO,YACvEn4B,EAAKyJ,UAAUjB,EAASnJ,KAAKk5B,UAAUM,WAAW7I,IAAIrQ,OAAUwY,EAAO,SACvEn4B,EAAKyJ,UAAUjB,EAASnJ,KAAKk5B,UAAUO,YAAY9I,IAAIrQ,OAASwY,EAAO,SACvEn4B,EAAKyJ,UAAUjB,EAASnJ,KAAKy2B,WAAWhE,KAAwBqG,EAAO,cACvEn4B,EAAKyJ,UAAUjB,EAASnJ,KAAKw2B,YAAY/D,KAAuBqG,EAAO,eACvEn4B,EAAKyJ,UAAUjB,EAASnJ,KAAK2wB,IAAI5D,UAA+B+L,EAAO,aAEhF,IAAIx0B,MACAg1B,EAAYt5B,KAAKk5B,UAAUI,UAC3BC,EAAav5B,KAAKk5B,UAAUK,UAQhC,OAPKD,GAAUI,QACbp1B,EAAMiE,KAAK+wB,EAAUK,cAAclnB,IAEhC8mB,EAAWG,QACdp1B,EAAMiE,KAAKgxB,EAAWI,cAAclnB,KAIpC5I,MAAOA,EACPivB,KAAMA,EACNP,MAAOA,EACPE,MAAOA,EACPjmB,EAAGA,EACHC,EAAGA,EACHmmB,KAAMA,EACNt0B,MAAOA,IAKXzE,EAAOD,QAAU6B,GAKb,SAAS5B,EAAQD,EAASM,GAK9B,GAAI2D,GAAS3D,EAAoB,GAQjCN,GAAQg6B,qBAAuB,SAASrE,EAAMI,GAE5C,GADAJ,EAAKI,eACDA,GACgC,GAA9BpvB,MAAMC,QAAQmvB,GAAsB,CACtC,IAAK,GAAI7vB,GAAI,EAAGA,EAAI6vB,EAAY1vB,OAAQH,IACtC,GAA8Be,SAA1B8uB,EAAY7vB,GAAG+zB,OAAsB,CACvC,GAAIC,KACJA,GAASzpB,MAAQxM,EAAO8xB,EAAY7vB,GAAGuK,OAAO9I,SAASF,UACvDyyB,EAASxpB,IAAMzM,EAAO8xB,EAAY7vB,GAAGwK,KAAK/I,SAASF,UACnDkuB,EAAKI,YAAYptB,KAAKuxB,GAG1BvE,EAAKI,YAAYze,KAAK,SAAUtR,EAAGC,GACjC,MAAOD,GAAEyK,MAAQxK,EAAEwK,UAY3BzQ,EAAQm6B,kBAAoB,SAAUxE,EAAMI,GAC1C,GAAIA,GAAuD9uB,SAAxC0uB,EAAKC,SAASkD,gBAAgBplB,MAAqB,CACpE1T,EAAQg6B,qBAAqBrE,EAAMI,EAQnC,KAAK,GANDtlB,GAAQxM,EAAO0xB,EAAKe,MAAMjmB,OAC1BC,EAAMzM,EAAO0xB,EAAKe,MAAMhmB,KAExB0pB,EAAczE,EAAKe,MAAMhmB,IAAMilB,EAAKe,MAAMjmB,MAC1C4pB,EAAYD,EAAazE,EAAKC,SAASkD,gBAAgBplB,MAElDxN,EAAI,EAAGA,EAAI6vB,EAAY1vB,OAAQH,IACtC,GAA8Be,SAA1B8uB,EAAY7vB,GAAG+zB,OAAsB,CACvC,GAAIK,GAAYr2B,EAAO8xB,EAAY7vB,GAAGuK,OAClC8pB,EAAUt2B,EAAO8xB,EAAY7vB,GAAGwK,IAEpC,IAAoB,gBAAhB4pB,EAAUE,GACZ,KAAM,IAAIx2B,OAAM,qCAAuC+xB,EAAY7vB,GAAGuK,MAExE,IAAkB,gBAAd8pB,EAAQC,GACV,KAAM,IAAIx2B,OAAM,mCAAqC+xB,EAAY7vB,GAAGwK,IAGtE,IAAIC,GAAW4pB,EAAUD,CACzB,IAAI3pB,GAAY,EAAI0pB,EAAW,CAE7B,GAAIvP,GAAS,EACT2P,EAAW/pB,EAAIgqB,OACnB,QAAQ3E,EAAY7vB,GAAG+zB,QACrB,IAAK,QACCK,EAAUK,OAASJ,EAAQI,QAC7B7P,EAAS,GAEXwP,EAAUM,UAAUnqB,EAAMmqB,aAC1BN,EAAUO,KAAKpqB,EAAMoqB,QACrBP,EAAUhO,SAAS,EAAE,QAErBiO,EAAQK,UAAUnqB,EAAMmqB,aACxBL,EAAQM,KAAKpqB,EAAMoqB,QACnBN,EAAQjO,SAAS,EAAIxB,EAAO,QAE5B2P,EAASrmB,IAAI,EAAG,QAChB,MACF,KAAK,SACH,GAAI0mB,GAAYP,EAAQjN,KAAKgN,EAAU,QACnCK,EAAML,EAAUK,KAGpBL,GAAUS,KAAKtqB,EAAMsqB,QACrBT,EAAUU,MAAMvqB,EAAMuqB,SACtBV,EAAUO,KAAKpqB,EAAMoqB,QACrBN,EAAUD,EAAUI,QAGpBJ,EAAUK,IAAIA,GACdJ,EAAQI,IAAIA,GACZJ,EAAQnmB,IAAI0mB,EAAU,QAEtBR,EAAUhO,SAAS,EAAE,SACrBiO,EAAQjO,SAAS,EAAE,SAEnBmO,EAASrmB,IAAI,EAAG,QAChB,MACF,KAAK,UACCkmB,EAAUU,SAAWT,EAAQS,UAC/BlQ,EAAS,GAEXwP,EAAUU,MAAMvqB,EAAMuqB,SACtBV,EAAUO,KAAKpqB,EAAMoqB,QACrBP,EAAUhO,SAAS,EAAE,UAErBiO,EAAQS,MAAMvqB,EAAMuqB,SACpBT,EAAQM,KAAKpqB,EAAMoqB,QACnBN,EAAQjO,SAAS,EAAE,UACnBiO,EAAQnmB,IAAI0W,EAAO,UAEnB2P,EAASrmB,IAAI,EAAG,SAChB,MACF,KAAK,SACCkmB,EAAUO,QAAUN,EAAQM,SAC9B/P,EAAS,GAEXwP,EAAUO,KAAKpqB,EAAMoqB,QACrBP,EAAUhO,SAAS,EAAE,SACrBiO,EAAQM,KAAKpqB,EAAMoqB,QACnBN,EAAQjO,SAAS,EAAE,SACnBiO,EAAQnmB,IAAI0W,EAAO,SAEnB2P,EAASrmB,IAAI,EAAG,QAChB,MACF,SAEE,WADA6mB,SAAQtG,IAAI,2EAA4EoB,EAAY7vB,GAAG+zB,QAG3G,KAAmBQ,EAAZH,GAEL,OADA3E,EAAKI,YAAYptB,MAAM8H,MAAO6pB,EAAU7yB,UAAWiJ,IAAK6pB,EAAQ9yB,YACxDsuB,EAAY7vB,GAAG+zB,QACrB,IAAK,QACHK,EAAUlmB,IAAI,EAAG,QACjBmmB,EAAQnmB,IAAI,EAAG,OACf,MACF,KAAK,SACHkmB,EAAUlmB,IAAI,EAAG,SACjBmmB,EAAQnmB,IAAI,EAAG,QACf,MACF,KAAK,UACHkmB,EAAUlmB,IAAI,EAAG,UACjBmmB,EAAQnmB,IAAI,EAAG,SACf,MACF,KAAK,SACHkmB,EAAUlmB,IAAI,EAAG,KACjBmmB,EAAQnmB,IAAI,EAAG,IACf,MACF,SAEE,WADA6mB,SAAQtG,IAAI,2EAA4EoB,EAAY7vB,GAAG+zB,QAI7GtE,EAAKI,YAAYptB,MAAM8H,MAAO6pB,EAAU7yB,UAAWiJ,IAAK6pB,EAAQ9yB,aAKtEzH,EAAQk7B,iBAAiBvF,EAEzB,IAAIwF,GAAcn7B,EAAQo7B,SAASzF,EAAKe,MAAMjmB,MAAOklB,EAAKI,aACtDsF,EAAYr7B,EAAQo7B,SAASzF,EAAKe,MAAMhmB,IAAIilB,EAAKI,aACjDuF,EAAa3F,EAAKe,MAAMjmB,MACxB8qB,EAAW5F,EAAKe,MAAMhmB,GACA,IAAtByqB,EAAYrB,SAAiBwB,EAAwC,GAA3B3F,EAAKe,MAAM8E,aAAuBL,EAAYb,UAAY,EAAIa,EAAYZ,QAAU,GAC1G,GAApBc,EAAUvB,SAAmByB,EAAsC,GAAzB5F,EAAKe,MAAM+E,WAAuBJ,EAAUf,UAAY,EAAMe,EAAUd,QAAU,IACtG,GAAtBY,EAAYrB,QAAsC,GAApBuB,EAAUvB,SAC1CnE,EAAKe,MAAMgF,YAAYJ,EAAYC,KAYzCv7B,EAAQk7B,iBAAmB,SAASvF,GAGlC,IAAK,GAFDI,GAAcJ,EAAKI,YACnB4F,KACKz1B,EAAI,EAAGA,EAAI6vB,EAAY1vB,OAAQH,IACtC,IAAK,GAAI2mB,GAAI,EAAGA,EAAIkJ,EAAY1vB,OAAQwmB,IAClC3mB,GAAK2mB,GAA8B,GAAzBkJ,EAAYlJ,GAAGpV,QAA2C,GAAzBse,EAAY7vB,GAAGuR,SAExDse,EAAYlJ,GAAGpc,OAASslB,EAAY7vB,GAAGuK,OAASslB,EAAYlJ,GAAGnc,KAAOqlB,EAAY7vB,GAAGwK,IACvFqlB,EAAYlJ,GAAGpV,QAAS,EAGjBse,EAAYlJ,GAAGpc,OAASslB,EAAY7vB,GAAGuK,OAASslB,EAAYlJ,GAAGpc,OAASslB,EAAY7vB,GAAGwK,KAC9FqlB,EAAY7vB,GAAGwK,IAAMqlB,EAAYlJ,GAAGnc,IACpCqlB,EAAYlJ,GAAGpV,QAAS,GAGjBse,EAAYlJ,GAAGnc,KAAOqlB,EAAY7vB,GAAGuK,OAASslB,EAAYlJ,GAAGnc,KAAOqlB,EAAY7vB,GAAGwK,MAC1FqlB,EAAY7vB,GAAGuK,MAAQslB,EAAYlJ,GAAGpc,MACtCslB,EAAYlJ,GAAGpV,QAAS,GAMhC,KAAK,GAAIvR,GAAI,EAAGA,EAAI6vB,EAAY1vB,OAAQH,IAClC6vB,EAAY7vB,GAAGuR,UAAW,GAC5BkkB,EAAUhzB,KAAKotB,EAAY7vB,GAI/ByvB,GAAKI,YAAc4F,EACnBhG,EAAKI,YAAYze,KAAK,SAAUtR,EAAGC,GACjC,MAAOD,GAAEyK,MAAQxK,EAAEwK,SAIvBzQ,EAAQ47B,WAAa,SAASC,GAC5B,IAAK,GAAI31B,GAAG,EAAGA,EAAI21B,EAAMx1B,OAAQH,IAC/B+0B,QAAQtG,IAAIzuB,EAAG,GAAIlB,MAAK62B,EAAM31B,GAAGuK,OAAO,GAAIzL,MAAK62B,EAAM31B,GAAGwK,KAAMmrB,EAAM31B,GAAGuK,MAAOorB,EAAM31B,GAAGwK,IAAKmrB,EAAM31B,GAAGuR,SAS3GzX,EAAQ87B,oBAAsB,SAASC,EAAUC,GAG/C,IAAK,GAFDC,IAAe,EACfC,EAAeH,EAASI,QAAQ10B,UAC3BvB,EAAI,EAAGA,EAAI61B,EAAShG,YAAY1vB,OAAQH,IAAK,CACpD,GAAIo0B,GAAYyB,EAAShG,YAAY7vB,GAAGuK,MACpC8pB,EAAUwB,EAAShG,YAAY7vB,GAAGwK,GACtC,IAAIwrB,GAAgB5B,GAA4BC,EAAf2B,EAAwB,CACvDD,GAAe,CACf,QAIJ,GAAoB,GAAhBA,GAAwBC,EAAeH,EAAS5H,KAAK1sB,WAAay0B,GAAgBF,EAAc,CAClG,GAAI1rB,GAAYrM,EAAO+3B,GACnBI,EAAWn4B,EAAOs2B,EAElBjqB,GAAUuqB,QAAUuB,EAASvB,OAASkB,EAASM,cAAe,EACzD/rB,EAAU0qB,SAAWoB,EAASpB,QAAUe,EAASO,eAAgB,EACjEhsB,EAAUsqB,aAAewB,EAASxB,cAAcmB,EAASQ,aAAc,GAEhFR,EAASI,QAAUC,EAASz0B,WAmChC3H,EAAQk2B,SAAW,SAASoB,EAAM0B,EAAMtlB,GACtC,GAAoC,GAAhC4jB,EAAK3B,KAAKI,YAAY1vB,OAAa,CACrC,GAAIm2B,GAAalF,EAAKZ,MAAM8F,WAAW9oB,EACvC,QAAQslB,EAAKvxB,UAAY+0B,EAAW1R,QAAU0R,EAAW73B,MAGzD,GAAIm1B,GAAS95B,EAAQo7B,SAASpC,EAAM1B,EAAK3B,KAAKI,YACzB,IAAjB+D,EAAOA,SACTd,EAAOc,EAAOQ,UAGhB,IAAI3pB,GAAW3Q,EAAQy8B,yBAAyBnF,EAAK3B,KAAKI,YAAauB,EAAKZ,MAAMjmB,MAAO6mB,EAAKZ,MAAMhmB,IACpGsoB,GAAOh5B,EAAQ08B,qBAAqBpF,EAAK3B,KAAKI,YAAauB,EAAKZ,MAAOsC,EAEvE,IAAIwD,GAAalF,EAAKZ,MAAM8F,WAAW9oB,EAAO/C,EAC9C,QAAQqoB,EAAKvxB,UAAY+0B,EAAW1R,QAAU0R,EAAW73B,OAa7D3E,EAAQs2B,OAAS,SAASgB,EAAM1kB,EAAGc,GACjC,GAAoC,GAAhC4jB,EAAK3B,KAAKI,YAAY1vB,OAAa,CACrC,GAAIm2B,GAAalF,EAAKZ,MAAM8F,WAAW9oB,EACvC,OAAO,IAAI1O,MAAK4N,EAAI4pB,EAAW73B,MAAQ63B,EAAW1R,QAGlD,GAAI6R,GAAiB38B,EAAQy8B,yBAAyBnF,EAAK3B,KAAKI,YAAauB,EAAKZ,MAAMjmB,MAAO6mB,EAAKZ,MAAMhmB,KACtGksB,EAAgBtF,EAAKZ,MAAMhmB,IAAM4mB,EAAKZ,MAAMjmB,MAAQksB,EACpDE,EAAkBD,EAAgBhqB,EAAIc,EACtCopB,EAA4B98B,EAAQ+8B,6BAA6BzF,EAAK3B,KAAKI,YAAauB,EAAKZ,MAAOmG,GAEpGG,EAAU,GAAIh4B,MAAK83B,EAA4BD,EAAkBvF,EAAKZ,MAAMjmB,MAChF,OAAOusB,IAYXh9B,EAAQy8B,yBAA2B,SAAS1G,EAAatlB,EAAOC,GAE9D,IAAK,GADDC,GAAW,EACNzK,EAAI,EAAGA,EAAI6vB,EAAY1vB,OAAQH,IAAK,CAC3C,GAAIo0B,GAAYvE,EAAY7vB,GAAGuK,MAC3B8pB,EAAUxE,EAAY7vB,GAAGwK,GAEzB4pB,IAAa7pB,GAAmBC,EAAV6pB,IACxB5pB,GAAY4pB,EAAUD,GAG1B,MAAO3pB,IAWT3Q,EAAQ08B,qBAAuB,SAAS3G,EAAaW,EAAOsC,GAG1D,MAFAA,GAAO/0B,EAAO+0B,GAAMrxB,SAASF,UAC7BuxB,GAAQh5B,EAAQi9B,wBAAwBlH,EAAYW,EAAMsC,IAI5Dh5B,EAAQi9B,wBAA0B,SAASlH,EAAaW,EAAOsC,GAC7D,GAAIkE,GAAa,CACjBlE,GAAO/0B,EAAO+0B,GAAMrxB,SAASF,SAE7B,KAAK,GAAIvB,GAAI,EAAGA,EAAI6vB,EAAY1vB,OAAQH,IAAK,CAC3C,GAAIo0B,GAAYvE,EAAY7vB,GAAGuK,MAC3B8pB,EAAUxE,EAAY7vB,GAAGwK,GAEzB4pB,IAAa5D,EAAMjmB,OAAS8pB,EAAU7D,EAAMhmB,KAC1CsoB,GAAQuB,IACV2C,GAAe3C,EAAUD,GAI/B,MAAO4C,IAWTl9B,EAAQ+8B,6BAA+B,SAAShH,EAAaW,EAAOyG,GAKlE,IAAK,GAJDR,GAAiB,EACjBhsB,EAAW,EACXysB,EAAgB1G,EAAMjmB,MAEjBvK,EAAI,EAAGA,EAAI6vB,EAAY1vB,OAAQH,IAAK,CAC3C,GAAIo0B,GAAYvE,EAAY7vB,GAAGuK,MAC3B8pB,EAAUxE,EAAY7vB,GAAGwK,GAE7B,IAAI4pB,GAAa5D,EAAMjmB,OAAS8pB,EAAU7D,EAAMhmB,IAAK,CAGnD,GAFAC,GAAY2pB,EAAY8C,EACxBA,EAAgB7C,EACZ5pB,GAAYwsB,EACd,KAGAR,IAAkBpC,EAAUD,GAKlC,MAAOqC,IAaT38B,EAAQq9B,mBAAqB,SAAStH,EAAaiD,EAAMsE,EAAWC,GAClE,GAAInC,GAAWp7B,EAAQo7B,SAASpC,EAAMjD,EACtC,OAAuB,IAAnBqF,EAAStB,OACK,EAAZwD,EACuB,GAArBC,EACKnC,EAASd,WAAac,EAASb,QAAUvB,GAAQ,EAGjDoC,EAASd,UAAY,EAIL,GAArBiD,EACKnC,EAASb,SAAWvB,EAAOoC,EAASd,WAAa,EAGjDc,EAASb,QAAU,EAKvBvB,GAaXh5B,EAAQo7B,SAAW,SAASpC,EAAMjD,GAChC,IAAK,GAAI7vB,GAAI,EAAGA,EAAI6vB,EAAY1vB,OAAQH,IAAK,CAC3C,GAAIo0B,GAAYvE,EAAY7vB,GAAGuK,MAC3B8pB,EAAUxE,EAAY7vB,GAAGwK,GAE7B,IAAIsoB,GAAQsB,GAAoBC,EAAPvB,EACvB,OAAQc,QAAQ,EAAMQ,UAAWA,EAAWC,QAASA,GAIzD,OAAQT,QAAQ,EAAOQ,UAAWA,EAAWC,QAASA,KAKpD,SAASt6B,EAAQD,EAASM,GA4B9B,QAAS0B,GAASyO,EAAOC,EAAK8sB,EAAaC,EAAiBC,EAAaC,GAEvEv9B,KAAK+7B,QAAU,EAEf/7B,KAAKw9B,WAAY,EACjBx9B,KAAKy9B,UAAY,EACjBz9B,KAAKmpB,KAAO,EACZnpB,KAAKuE,MAAQ,EAEbvE,KAAK09B,YACL19B,KAAK29B,UACL39B,KAAK49B,UAAY,EAEjB59B,KAAK69B,YAAc,EAAO,EAAM,EAAI,IACpC79B,KAAK89B,YAAc,IAAO,GAAM,EAAI,GAEpC99B,KAAKu9B,WAAaA,EAElBv9B,KAAKm0B,SAAS9jB,EAAOC,EAAK8sB,EAAaC,EAAiBC,GAe1D17B,EAASsS,UAAUigB,SAAW,SAAS9jB,EAAOC,EAAK8sB,EAAaC,EAAiBC,GAC/Et9B,KAAK8zB,OAA6BjtB,SAApBy2B,EAAYn5B,IAAoBkM,EAAQitB,EAAYn5B,IAClEnE,KAAK+zB,KAA2BltB,SAApBy2B,EAAYl5B,IAAoBkM,EAAMgtB,EAAYl5B,IAE1DpE,KAAK8zB,QAAU9zB,KAAK+zB,OACtB/zB,KAAK8zB,QAAU,IACf9zB,KAAK+zB,MAAQ,GAGO,GAAlB/zB,KAAKw9B,WACPx9B,KAAK+9B,eAAeX,EAAaC,GAGnCr9B,KAAKg+B,SAASV,IAOhB17B,EAASsS,UAAU6pB,eAAiB,SAASX,EAAaC,GAExD,GAAItqB,GAAO/S,KAAK+zB,KAAO/zB,KAAK8zB,OACxBmK,EAAkB,IAAPlrB,EACXmrB,EAAmBd,GAAea,EAAWZ,GAC7Cc,EAAmB35B,KAAK+pB,MAAM/pB,KAAK+vB,IAAI0J,GAAUz5B,KAAKgwB,MAEtD4J,EAAe,GACfC,EAAkB75B,KAAKkwB,IAAI,GAAGyJ,GAE9B9tB,EAAQ,CACW,GAAnB8tB,IACF9tB,EAAQ8tB,EAIV,KAAK,GADDG,IAAgB,EACXx4B,EAAIuK,EAAO7L,KAAKknB,IAAI5lB,IAAMtB,KAAKknB,IAAIyS,GAAmBr4B,IAAK,CAClEu4B,EAAkB75B,KAAKkwB,IAAI,GAAG5uB,EAC9B,KAAK,GAAI2mB,GAAI,EAAGA,EAAIzsB,KAAK89B,WAAW73B,OAAQwmB,IAAK,CAC/C,GAAI8R,GAAWF,EAAkBr+B,KAAK89B,WAAWrR,EACjD,IAAI8R,GAAYL,EAAkB,CAChCI,GAAgB,EAChBF,EAAe3R,CACf,QAGJ,GAAqB,GAAjB6R,EACF,MAGJt+B,KAAKy9B,UAAYW,EACjBp+B,KAAKuE,MAAQ85B,EACbr+B,KAAKmpB,KAAOkV,EAAkBr+B,KAAK89B,WAAWM,IAShDx8B,EAASsS,UAAU8pB,SAAW,SAASV,GACjBz2B,SAAhBy2B,IACFA,KAGF,IAAIkB,GAAgC33B,SAApBy2B,EAAYn5B,IAAoBnE,KAAK8zB,OAAuB,EAAb9zB,KAAKuE,MAAYvE,KAAK89B,WAAW99B,KAAKy9B,WAAcH,EAAYn5B,IAC3Hs6B,EAA8B53B,SAApBy2B,EAAYl5B,IAAoBpE,KAAK+zB,KAAQ/zB,KAAKuE,MAAQvE,KAAK89B,WAAW99B,KAAKy9B,WAAcH,EAAYl5B,GAEvHpE,MAAK29B,UAAgC92B,SAApBy2B,EAAYl5B,IAAoBpE,KAAK0+B,aAAaD,GAAWnB,EAAYl5B,IAC1FpE,KAAK09B,YAAkC72B,SAApBy2B,EAAYn5B,IAAoBnE,KAAK0+B,aAAaF,GAAalB,EAAYn5B,IAGvE,GAAnBnE,KAAKu9B,aAAuBv9B,KAAK29B,UAAY39B,KAAK09B,aAAe19B,KAAKmpB,MAAQ,IAChFnpB,KAAK29B,WAAa39B,KAAK29B,UAAY39B,KAAKmpB,MAG1CnpB,KAAK49B,UAAY59B,KAAK0+B,aAAaD,GAAWA,EAAUz+B,KAAK0+B,aAAaF,GAAaA,EACvFx+B,KAAK2+B,YAAc3+B,KAAK29B,UAAY39B,KAAK09B,YAGzC19B,KAAK+7B,QAAU/7B,KAAK29B,WAGtB/7B,EAASsS,UAAUwqB,aAAe,SAASp6B,GACzC,GAAIs6B,GAAUt6B,EAASA,GAAStE,KAAKuE,MAAQvE,KAAK89B,WAAW99B,KAAKy9B,WAClE,OAAIn5B,IAAStE,KAAKuE,MAAQvE,KAAK89B,WAAW99B,KAAKy9B,YAAc,GAAOz9B,KAAKuE,MAAQvE,KAAK89B,WAAW99B,KAAKy9B,WAC7FmB,EAAW5+B,KAAKuE,MAAQvE,KAAK89B,WAAW99B,KAAKy9B,WAG7CmB,GASXh9B,EAASsS,UAAU2qB,QAAU,WAC3B,MAAQ7+B,MAAK+7B,SAAW/7B,KAAK09B,aAM/B97B,EAASsS,UAAUmV,KAAO,WACxB,GAAImJ,GAAOxyB,KAAK+7B,OAChB/7B,MAAK+7B,SAAW/7B,KAAKmpB,KAGjBnpB,KAAK+7B,SAAWvJ,IAClBxyB,KAAK+7B,QAAU/7B,KAAK+zB,OAOxBnyB,EAASsS,UAAU4qB,SAAW,WAC5B9+B,KAAK+7B,SAAW/7B,KAAKmpB,KACrBnpB,KAAK29B,WAAa39B,KAAKmpB,KACvBnpB,KAAK2+B,YAAc3+B,KAAK29B,UAAY39B,KAAK09B,aAS3C97B,EAASsS,UAAUkV,WAAa,SAAS2V,GAEvC,GAAIhD,GAAWv3B,KAAKknB,IAAI1rB,KAAK+7B,SAAW/7B,KAAKmpB,KAAO,EAAK,EAAInpB,KAAK+7B,QAC9DlH,EAAc,GAAK5wB,OAAO83B,GAASlH,YAAY,EAGnD,IAAgBhuB,SAAbk4B,GAA2B/5B,MAAMf,OAAO86B,KAqCzC,GAAgC,IAA5BlK,EAAY7tB,QAAQ,MAA0C,IAA5B6tB,EAAY7tB,QAAQ,KAExD,IAAK,GAAIlB,GAAI+uB,EAAY5uB,OAAS,EAAGH,EAAI,EAAGA,IAAK,CAC/C,GAAsB,KAAlB+uB,EAAY/uB,GAGX,CAAA,GAAsB,KAAlB+uB,EAAY/uB,IAA+B,KAAlB+uB,EAAY/uB,GAAW,CACvD+uB,EAAcA,EAAY9oB,MAAM,EAAGjG,EACnC,OAGA,MAPA+uB,EAAcA,EAAY9oB,MAAM,EAAGjG,QAzCY,CAErD,GAAIk5B,GAAM,GACNt2B,EAAQmsB,EAAY7tB,QAAQ,IAoBhC,IAnBY,IAAT0B,IAEDs2B,EAAMnK,EAAY9oB,MAAMrD,GAExBmsB,EAAcA,EAAY9oB,MAAM,EAAGrD,IAErCA,EAAQlE,KAAKJ,IAAIywB,EAAY7tB,QAAQ,KAAM6tB,EAAY7tB,QAAQ,MAClD,KAAV0B,GAEe,IAAbq2B,IACDlK,GAAe,KAGjBnsB,EAAQmsB,EAAY5uB,OAAS84B,GAEV,IAAbA,IAENr2B,GAASq2B,EAAW,GAEnBr2B,EAAQmsB,EAAY5uB,OAErB,IAAI,GAAIg5B,GAAMv2B,EAAQmsB,EAAY5uB,OAAQg5B,EAAM,EAAGA,IACjDpK,GAAe,QAKjBA,GAAcA,EAAY9oB,MAAM,EAAGrD,EAGrCmsB,IAAemK,EAoBjB,MAAOnK,IAQTjzB,EAASsS,UAAUgrB,QAAU,WAC3B,MAAQl/B,MAAK+7B,SAAW/7B,KAAKuE,MAAQvE,KAAK69B,WAAW79B,KAAKy9B,aAAe,GAG3E59B,EAAOD,QAAUgC,GAKb,SAAS/B,EAAQD,EAASM,GAgB9B,QAAS2B,GAAM0zB,EAAMrmB,GACnB,GAAIiwB,GAAMt7B,IAASu7B,MAAM,GAAGC,QAAQ,GAAGC,QAAQ,GAAGC,aAAa,EAC/Dv/B,MAAKqQ,MAAQ8uB,EAAI7E,QAAQtmB,IAAI,GAAI,QAAQ3M,UACzCrH,KAAKsQ,IAAM6uB,EAAI7E,QAAQtmB,IAAI,EAAG,QAAQ3M,UAEtCrH,KAAKu1B,KAAOA,EACZv1B,KAAKw/B,gBAAkB,EACvBx/B,KAAKy/B,YAAc,EACnBz/B,KAAKo7B,cAAe,EACpBp7B,KAAKq7B,YAAa,EAGlBr7B,KAAKi1B,gBACH5kB,MAAO,KACPC,IAAK,KACL4sB,UAAW,aACXwC,UAAU,EACVC,UAAU,EACVx7B,IAAK,KACLC,IAAK,KACLw7B,QAAS,GACTC,QAAS,UAEX7/B,KAAKkP,QAAUvO,EAAKgF,UAAW3F,KAAKi1B,gBAEpCj1B,KAAKsG,OACHw5B,UAEF9/B,KAAK+/B,aAAe,KAGpB//B,KAAKu1B,KAAKE,QAAQnhB,GAAG,YAAatU,KAAKggC,aAAatK,KAAK11B,OACzDA,KAAKu1B,KAAKE,QAAQnhB,GAAG,OAAatU,KAAKigC,QAAQvK,KAAK11B,OACpDA,KAAKu1B,KAAKE,QAAQnhB,GAAG,UAAatU,KAAKkgC,WAAWxK,KAAK11B,OAGvDA,KAAKu1B,KAAKE,QAAQnhB,GAAG,OAAQtU,KAAKmgC,QAAQzK,KAAK11B,OAG/CA,KAAKu1B,KAAKE,QAAQnhB,GAAG,aAAmBtU,KAAKogC,cAAc1K,KAAK11B,OAChEA,KAAKu1B,KAAKE,QAAQnhB,GAAG,iBAAmBtU,KAAKogC,cAAc1K,KAAK11B,OAGhEA,KAAKu1B,KAAKE,QAAQnhB,GAAG,QAAStU,KAAKqgC,SAAS3K,KAAK11B,OACjDA,KAAKu1B,KAAKE,QAAQnhB,GAAG,QAAStU,KAAKsgC,SAAS5K,KAAK11B,OAEjDA,KAAKiU,WAAW/E,GAsClB,QAASqxB,GAAmBrD,GAC1B,GAAiB,cAAbA,GAA0C,YAAbA,EAC/B,KAAM,IAAIx2B,WAAU,sBAAwBw2B,EAAY,yCAif5D,QAASsD,GAAYV,EAAO32B,GAC1B,OACEqJ,EAAGstB,EAAMvH,MAAQ53B,EAAK+G,gBAAgByB,GACtCsJ,EAAGqtB,EAAMrH,MAAQ93B,EAAKqH,eAAemB,IAxlBzC,GAAIxI,GAAOT,EAAoB,GAC3BugC,EAAavgC,EAAoB,IACjC2D,EAAS3D,EAAoB,IAC7BqC,EAAYrC,EAAoB,IAChCyB,EAAWzB,EAAoB,GA2DnC2B,GAAMqS,UAAY,GAAI3R,GAkBtBV,EAAMqS,UAAUD,WAAa,SAAU/E,GACrC,GAAIA,EAAS,CAEX,GAAIP,IAAU,YAAa,MAAO,MAAO,UAAW,UAAW,WAAY,WAAY,WAAY,cACnGhO,GAAK0F,gBAAgBsI,EAAQ3O,KAAKkP,QAASA,IAEvC,SAAWA,IAAW,OAASA,KAEjClP,KAAKm0B,SAASjlB,EAAQmB,MAAOnB,EAAQoB,OA4B3CzO,EAAMqS,UAAUigB,SAAW,SAAS9jB,EAAOC,EAAKonB,EAASgJ,GACnDA,KAAW,IACbA,GAAS,EAEX,IAAI5M,GAAkBjtB,QAATwJ,EAAqB1P,EAAKuG,QAAQmJ,EAAO,QAAQhJ,UAAY,KACtE0sB,EAAgBltB,QAAPyJ,EAAqB3P,EAAKuG,QAAQoJ,EAAK,QAAQjJ,UAAc,IAG1E,IAFArH,KAAK2gC,mBAEDjJ,EAAS,CACX,GAAIxiB,GAAKlV,KACL4gC,EAAY5gC,KAAKqQ,MACjBwwB,EAAU7gC,KAAKsQ,IACfC,EAA8B,gBAAZmnB,GAAuBA,EAAU,IACnDoJ,GAAW,GAAIl8B,OAAOyC,UACtB05B,GAAa,EAEb1X,EAAO,WACT,IAAKnU,EAAG5O,MAAMw5B,MAAMkB,SAAU,CAC5B,GAAI7B,IAAM,GAAIv6B,OAAOyC,UACjBuxB,EAAOuG,EAAM2B,EACbG,EAAOrI,EAAOroB,EACdhE,EAAK00B,GAAmB,OAAXnN,EAAmBA,EAASnzB,EAAKyP,cAAcwoB,EAAMgI,EAAW9M,EAAQvjB,GACrFjG,EAAK22B,GAAiB,OAATlN,EAAmBA,EAASpzB,EAAKyP,cAAcwoB,EAAMiI,EAAS9M,EAAMxjB,EAErF2wB,GAAUhsB,EAAGomB,YAAY/uB,EAAGjC,GAC5B3I,EAASo4B,kBAAkB7kB,EAAGqgB,KAAMrgB,EAAGhG,QAAQymB,aAC/CoL,EAAaA,GAAcG,EACvBA,GACFhsB,EAAGqgB,KAAKE,QAAQhH,KAAK,eAAgBpe,MAAO,GAAIzL,MAAKsQ,EAAG7E,OAAQC,IAAK,GAAI1L,MAAKsQ,EAAG5E,KAAMowB,OAAOA,IAG5FO,EACEF,GACF7rB,EAAGqgB,KAAKE,QAAQhH,KAAK,gBAAiBpe,MAAO,GAAIzL,MAAKsQ,EAAG7E,OAAQC,IAAK,GAAI1L,MAAKsQ,EAAG5E,KAAMowB,OAAOA,IAMjGxrB,EAAG6qB,aAAexlB,WAAW8O,EAAM,KAKzC,OAAOA,KAGP,GAAI6X,GAAUlhC,KAAKs7B,YAAYxH,EAAQC,EAEvC,IADApyB,EAASo4B,kBAAkB/5B,KAAKu1B,KAAMv1B,KAAKkP,QAAQymB,aAC/CuL,EAAS,CACX,GAAIrsB,IAAUxE,MAAO,GAAIzL,MAAK5E,KAAKqQ,OAAQC,IAAK,GAAI1L,MAAK5E,KAAKsQ,KAAMowB,OAAOA,EAC3E1gC,MAAKu1B,KAAKE,QAAQhH,KAAK,cAAe5Z,GACtC7U,KAAKu1B,KAAKE,QAAQhH,KAAK,eAAgB5Z,KAS7ChT,EAAMqS,UAAUysB,iBAAmB,WAC7B3gC,KAAK+/B,eACPzlB,aAAata,KAAK+/B,cAClB//B,KAAK+/B,aAAe,OAaxBl+B,EAAMqS,UAAUonB,YAAc,SAASjrB,EAAOC,GAC5C,GAII4c,GAJAiU,EAAqB,MAAT9wB,EAAiB1P,EAAKuG,QAAQmJ,EAAO,QAAQhJ,UAAYrH,KAAKqQ,MAC1E+wB,EAAmB,MAAP9wB,EAAiB3P,EAAKuG,QAAQoJ,EAAK,QAAQjJ,UAAcrH,KAAKsQ,IAC1ElM,EAA2B,MAApBpE,KAAKkP,QAAQ9K,IAAezD,EAAKuG,QAAQlH,KAAKkP,QAAQ9K,IAAK,QAAQiD,UAAY,KACtFlD,EAA2B,MAApBnE,KAAKkP,QAAQ/K,IAAexD,EAAKuG,QAAQlH,KAAKkP,QAAQ/K,IAAK,QAAQkD,UAAY,IAI1F,IAAIrC,MAAMm8B,IAA0B,OAAbA,EACrB,KAAM,IAAIv9B,OAAM,kBAAoByM,EAAQ,IAE9C,IAAIrL,MAAMo8B,IAAsB,OAAXA,EACnB,KAAM,IAAIx9B,OAAM,gBAAkB0M,EAAM,IAyC1C,IArCa6wB,EAATC,IACFA,EAASD,GAIC,OAARh9B,GACaA,EAAXg9B,IACFjU,EAAQ/oB,EAAMg9B,EACdA,GAAYjU,EACZkU,GAAUlU,EAGC,MAAP9oB,GACEg9B,EAASh9B,IACXg9B,EAASh9B,IAOL,OAARA,GACEg9B,EAASh9B,IACX8oB,EAAQkU,EAASh9B,EACjB+8B,GAAYjU,EACZkU,GAAUlU,EAGC,MAAP/oB,GACaA,EAAXg9B,IACFA,EAAWh9B,IAOU,OAAzBnE,KAAKkP,QAAQ0wB,QAAkB,CACjC,GAAIA,GAAUvZ,WAAWrmB,KAAKkP,QAAQ0wB,QACxB,GAAVA,IACFA,EAAU,GAEcA,EAArBwB,EAASD,IACPnhC,KAAKsQ,IAAMtQ,KAAKqQ,QAAWuvB,GAAWuB,EAAWnhC,KAAKqQ,OAAS+wB,EAASphC,KAAKsQ,KAEhF6wB,EAAWnhC,KAAKqQ,MAChB+wB,EAASphC,KAAKsQ,MAId4c,EAAQ0S,GAAWwB,EAASD,GAC5BA,GAAYjU,EAAO,EACnBkU,GAAUlU,EAAO,IAMvB,GAA6B,OAAzBltB,KAAKkP,QAAQ2wB,QAAkB,CACjC,GAAIA,GAAUxZ,WAAWrmB,KAAKkP,QAAQ2wB,QACxB,GAAVA,IACFA,EAAU,GAGPuB,EAASD,EAAYtB,IACnB7/B,KAAKsQ,IAAMtQ,KAAKqQ,QAAWwvB,GAAWsB,EAAWnhC,KAAKqQ,OAAS+wB,EAASphC,KAAKsQ,KAEhF6wB,EAAWnhC,KAAKqQ,MAChB+wB,EAASphC,KAAKsQ,MAId4c,EAASkU,EAASD,EAAYtB,EAC9BsB,GAAYjU,EAAO,EACnBkU,GAAUlU,EAAO,IAKvB,GAAIgU,GAAWlhC,KAAKqQ,OAAS8wB,GAAYnhC,KAAKsQ,KAAO8wB,CAUrD,OAPOD,IAAYnhC,KAAKqQ,OAAS8wB,GAAcnhC,KAAKsQ,KAAS8wB,GAAYphC,KAAKqQ,OAAS+wB,GAAYphC,KAAKsQ,KACjGtQ,KAAKqQ,OAAS8wB,GAAYnhC,KAAKqQ,OAAS+wB,GAAcphC,KAAKsQ,KAAO6wB,GAAcnhC,KAAKsQ,KAAO8wB,GACjGphC,KAAKu1B,KAAKE,QAAQhH,KAAK,oBAGzBzuB,KAAKqQ,MAAQ8wB,EACbnhC,KAAKsQ,IAAM8wB,EACJF,GAOTr/B,EAAMqS,UAAUmtB,SAAW,WACzB,OACEhxB,MAAOrQ,KAAKqQ,MACZC,IAAKtQ,KAAKsQ,MAUdzO,EAAMqS,UAAUkoB,WAAa,SAAU9oB,EAAOguB,GAC5C,MAAOz/B,GAAMu6B,WAAWp8B,KAAKqQ,MAAOrQ,KAAKsQ,IAAKgD,EAAOguB,IAWvDz/B,EAAMu6B,WAAa,SAAU/rB,EAAOC,EAAKgD,EAAOguB,GAI9C,MAHoBz6B,UAAhBy6B,IACFA,EAAc,GAEH,GAAThuB,GAAehD,EAAMD,GAAS,GAE9Bqa,OAAQra,EACR9L,MAAO+O,GAAShD,EAAMD,EAAQixB,KAK9B5W,OAAQ,EACRnmB,MAAO,IAUb1C,EAAMqS,UAAU8rB,aAAe,SAASn2B,GACtC7J,KAAKw/B,gBAAkB,EACvBx/B,KAAKuhC,cAAgB,EAEhBvhC,KAAKkP,QAAQwwB,UAIb1/B,KAAKsG,MAAMw5B,MAAM0B,gBAEtBxhC,KAAKsG,MAAMw5B,MAAMzvB,MAAQrQ,KAAKqQ,MAC9BrQ,KAAKsG,MAAMw5B,MAAMxvB,IAAMtQ,KAAKsQ,IAC5BtQ,KAAKsG,MAAMw5B,MAAMkB,UAAW,EAExBhhC,KAAKu1B,KAAK5E,IAAIjxB,OAChBM,KAAKu1B,KAAK5E,IAAIjxB,KAAKgO,MAAMmgB,OAAS,UAStChsB,EAAMqS,UAAU+rB,QAAU,SAAUp2B,GAElC,GAAK7J,KAAKkP,QAAQwwB,UAGb1/B,KAAKsG,MAAMw5B,MAAM0B,cAAtB,CAEA,GAAItE,GAAYl9B,KAAKkP,QAAQguB,SAC7BqD,GAAkBrD,EAElB,IAAI5N,GAAsB,cAAb4N,EAA6BrzB,EAAM2uB,QAAQiJ,OAAS53B,EAAM2uB,QAAQkJ,MAC/EpS,IAAStvB,KAAKw/B,eACd,IAAIpM,GAAYpzB,KAAKsG,MAAMw5B,MAAMxvB,IAAMtQ,KAAKsG,MAAMw5B,MAAMzvB,MAGpDE,EAAW5O,EAAS06B,yBAAyBr8B,KAAKu1B,KAAKI,YAAa31B,KAAKqQ,MAAOrQ,KAAKsQ,IACzF8iB,IAAY7iB,CAEZ,IAAI+C,GAAsB,cAAb4pB,EAA6Bl9B,KAAKu1B,KAAKC,SAASzI,OAAOzZ,MAAQtT,KAAKu1B,KAAKC,SAASzI,OAAOxZ,OAClGouB,GAAarS,EAAQhc,EAAQ8f,EAC7B+N,EAAWnhC,KAAKsG,MAAMw5B,MAAMzvB,MAAQsxB,EACpCP,EAASphC,KAAKsG,MAAMw5B,MAAMxvB,IAAMqxB,EAIhCC,EAAYjgC,EAASs7B,mBAAmBj9B,KAAKu1B,KAAKI,YAAawL,EAAUnhC,KAAKuhC,cAAcjS,GAAO,GACnGuS,EAAUlgC,EAASs7B,mBAAmBj9B,KAAKu1B,KAAKI,YAAayL,EAAQphC,KAAKuhC,cAAcjS,GAAO,EACnG,IAAIsS,GAAaT,GAAYU,GAAWT,EAKtC,MAJAphC,MAAKw/B,iBAAmBlQ,EACxBtvB,KAAKsG,MAAMw5B,MAAMzvB,MAAQuxB,EACzB5hC,KAAKsG,MAAMw5B,MAAMxvB,IAAMuxB,MACvB7hC,MAAKigC,QAAQp2B,EAIf7J,MAAKuhC,cAAgBjS,EACrBtvB,KAAKs7B,YAAY6F,EAAUC,GAG3BphC,KAAKu1B,KAAKE,QAAQhH,KAAK,eACrBpe,MAAO,GAAIzL,MAAK5E,KAAKqQ,OACrBC,IAAO,GAAI1L,MAAK5E,KAAKsQ,KACrBowB,QAAQ,MASZ7+B,EAAMqS,UAAUgsB,WAAa,SAAUr2B,GAEhC7J,KAAKkP,QAAQwwB,UAIb1/B,KAAKsG,MAAMw5B,MAAM0B,gBAEtBxhC,KAAKsG,MAAMw5B,MAAMkB,UAAW,EACxBhhC,KAAKu1B,KAAK5E,IAAIjxB,OAChBM,KAAKu1B,KAAK5E,IAAIjxB,KAAKgO,MAAMmgB,OAAS,QAIpC7tB,KAAKu1B,KAAKE,QAAQhH,KAAK,gBACrBpe,MAAO,GAAIzL,MAAK5E,KAAKqQ,OACrBC,IAAO,GAAI1L,MAAK5E,KAAKsQ,KACrBowB,QAAQ,MAUZ7+B,EAAMqS,UAAUksB,cAAgB,SAASv2B,GAEvC,GAAM7J,KAAKkP,QAAQywB,UAAY3/B,KAAKkP,QAAQwwB,SAA5C,CAGA,GAAIpQ,GAAQ,CAYZ,IAXIzlB,EAAM0lB,WACRD,EAAQzlB,EAAM0lB,WAAa,IAClB1lB,EAAM2lB,SAGfF,GAASzlB,EAAM2lB,OAAS,GAMtBF,EAAO,CAKT,GAAI/qB,EAEFA,GADU,EAAR+qB,EACM,EAAKA,EAAQ,EAGb,GAAK,EAAKA,EAAQ,EAI5B,IAAIkJ,GAAUiI,EAAWqB,YAAY9hC,KAAM6J,GACvCk4B,EAAUvB,EAAWhI,EAAQzL,OAAQ/sB,KAAKu1B,KAAK5E,IAAI5D,QACnDiV,EAAchiC,KAAKiiC,eAAeF,EAEtC/hC,MAAKkiC,KAAK39B,EAAOy9B,EAAa1S,GAKhCzlB,EAAMD,mBAOR/H,EAAMqS,UAAUmsB,SAAW,SAAUx2B,GACnC7J,KAAKsG,MAAMw5B,MAAMzvB,MAAQrQ,KAAKqQ,MAC9BrQ,KAAKsG,MAAMw5B,MAAMxvB,IAAMtQ,KAAKsQ,IAC5BtQ,KAAKsG,MAAMw5B,MAAM0B,eAAgB,EACjCxhC,KAAKsG,MAAMw5B,MAAM/S,OAAS,KAC1B/sB,KAAKy/B,YAAc,EACnBz/B,KAAKw/B,gBAAkB,GAOzB39B,EAAMqS,UAAUisB,QAAU,WACxBngC,KAAKsG,MAAMw5B,MAAM0B,eAAgB,GAQnC3/B,EAAMqS,UAAUosB,SAAW,SAAUz2B,GAEnC,GAAM7J,KAAKkP,QAAQywB,UAAY3/B,KAAKkP,QAAQwwB,WAE5C1/B,KAAKsG,MAAMw5B,MAAM0B,eAAgB,EAE7B33B,EAAM2uB,QAAQ2J,QAAQl8B,OAAS,GAAG,CAC/BjG,KAAKsG,MAAMw5B,MAAM/S,SACpB/sB,KAAKsG,MAAMw5B,MAAM/S,OAASyT,EAAW32B,EAAM2uB,QAAQzL,OAAQ/sB,KAAKu1B,KAAK5E,IAAI5D,QAG3E,IAAIxoB,GAAQ,GAAKsF,EAAM2uB,QAAQj0B,MAAQvE,KAAKy/B,aACxC2C,EAAapiC,KAAKiiC,eAAejiC,KAAKsG,MAAMw5B,MAAM/S,QAElDwP,EAAiB56B,EAAS06B,yBAAyBr8B,KAAKu1B,KAAKI,YAAa31B,KAAKqQ,MAAOrQ,KAAKsQ,KAC3F+xB,EAAuB1gC,EAASk7B,wBAAwB78B,KAAKu1B,KAAKI,YAAa31B,KAAMoiC,GACrFE,EAAsB/F,EAAiB8F,EAGvClB,EAAYiB,EAAaC,GAAyBriC,KAAKsG,MAAMw5B,MAAMzvB,OAAS+xB,EAAaC,IAAyB99B,EAClH68B,EAAUgB,EAAaE,GAAwBtiC,KAAKsG,MAAMw5B,MAAMxvB,KAAO8xB,EAAaE,IAAwB/9B,CAGhHvE,MAAKo7B,aAAe,EAAI72B,EAAQ,GAAI,GAAQ,EAC5CvE,KAAKq7B,WAAa92B,EAAQ,EAAI,GAAI,GAAQ,CAE1C,IAAIq9B,GAAYjgC,EAASs7B,mBAAmBj9B,KAAKu1B,KAAKI,YAAawL,EAAU,EAAI58B,GAAO,GACpFs9B,EAAUlgC,EAASs7B,mBAAmBj9B,KAAKu1B,KAAKI,YAAayL,EAAQ78B,EAAQ,GAAG,IAChFq9B,GAAaT,GAAYU,GAAWT,KACtCphC,KAAKsG,MAAMw5B,MAAMzvB,MAAQuxB,EACzB5hC,KAAKsG,MAAMw5B,MAAMxvB,IAAMuxB,EACvB7hC,KAAKy/B,YAAc,EAAI51B,EAAM2uB,QAAQj0B,MACrC48B,EAAWS,EACXR,EAASS,GAGX7hC,KAAKm0B,SAASgN,EAAUC,GAAQ,GAAO,GAEvCphC,KAAKo7B,cAAe,EACpBp7B,KAAKq7B,YAAa,IAUtBx5B,EAAMqS,UAAU+tB,eAAiB,SAAUF,GACzC,GAAI3F,GACAc,EAAYl9B,KAAKkP,QAAQguB,SAI7B,IAFAqD,EAAkBrD,GAED,cAAbA,EACF,MAAOl9B,MAAKu1B,KAAK50B,KAAKu1B,OAAO6L,EAAQvvB,GAAGnL,SAGxC,IAAIkM,GAASvT,KAAKu1B,KAAKC,SAASzI,OAAOxZ,MAEvC,OADA6oB,GAAap8B,KAAKo8B,WAAW7oB,GACtBwuB,EAAQtvB,EAAI2pB,EAAW73B,MAAQ63B,EAAW1R,QA4BrD7oB,EAAMqS,UAAUguB,KAAO,SAAS39B,EAAOwoB,EAAQuC,GAE/B,MAAVvC,IACFA,GAAU/sB,KAAKqQ,MAAQrQ,KAAKsQ,KAAO,EAGrC,IAAIisB,GAAiB56B,EAAS06B,yBAAyBr8B,KAAKu1B,KAAKI,YAAa31B,KAAKqQ,MAAOrQ,KAAKsQ,KAC3F+xB,EAAuB1gC,EAASk7B,wBAAwB78B,KAAKu1B,KAAKI,YAAa31B,KAAM+sB,GACrFuV,EAAsB/F,EAAiB8F,EAGvClB,EAAYpU,EAAOsV,GAAyBriC,KAAKqQ,OAAS0c,EAAOsV,IAAyB99B,EAC1F68B,EAAYrU,EAAOuV,GAAwBtiC,KAAKsQ,KAAOyc,EAAOuV,IAAwB/9B,CAG1FvE,MAAKo7B,aAAe9L,EAAQ,GAAI,GAAQ,EACxCtvB,KAAKq7B,YAAc/L,EAAS,GAAI,GAAQ,CACxC,IAAIsS,GAAYjgC,EAASs7B,mBAAmBj9B,KAAKu1B,KAAKI,YAAawL,EAAU7R,GAAO,GAChFuS,EAAUlgC,EAASs7B,mBAAmBj9B,KAAKu1B,KAAKI,YAAayL,GAAS9R,GAAO,IAC7EsS,GAAaT,GAAYU,GAAWT,KACtCD,EAAWS,EACXR,EAASS,GAGX7hC,KAAKm0B,SAASgN,EAAUC,GAAQ,GAAO,GAEvCphC,KAAKo7B,cAAe,EACpBp7B,KAAKq7B,YAAa,GAWpBx5B,EAAMqS,UAAUquB,KAAO,SAASjT,GAE9B,GAAIpC,GAAQltB,KAAKsQ,IAAMtQ,KAAKqQ,MAGxB8wB,EAAWnhC,KAAKqQ,MAAQ6c,EAAOoC,EAC/B8R,EAASphC,KAAKsQ,IAAM4c,EAAOoC,CAI/BtvB,MAAKqQ,MAAQ8wB,EACbnhC,KAAKsQ,IAAM8wB,GAObv/B,EAAMqS,UAAU2U,OAAS,SAASA,GAChC,GAAIkE,IAAU/sB,KAAKqQ,MAAQrQ,KAAKsQ,KAAO,EAEnC4c,EAAOH,EAASlE,EAGhBsY,EAAWnhC,KAAKqQ,MAAQ6c,EACxBkU,EAASphC,KAAKsQ,IAAM4c;;AAExBltB,KAAKm0B,SAASgN,EAAUC,IAG1BvhC,EAAOD,QAAUiC,GAKb,SAAShC,EAAQD,EAASM,GAG9B,GAAIsiC,GAAU,IAMd5iC,GAAQ6iC,aAAe,SAASxgC,GAC9BA,EAAMiV,KAAK,SAAUtR,EAAGC,GACtB,MAAOD,GAAE6N,KAAKpD,MAAQxK,EAAE4N,KAAKpD,SASjCzQ,EAAQ8iC,WAAa,SAASzgC,GAC5BA,EAAMiV,KAAK,SAAUtR,EAAGC,GACtB,GAAI88B,GAAS,OAAS/8B,GAAE6N,KAAQ7N,EAAE6N,KAAKnD,IAAM1K,EAAE6N,KAAKpD,MAChDuyB,EAAS,OAAS/8B,GAAE4N,KAAQ5N,EAAE4N,KAAKnD,IAAMzK,EAAE4N,KAAKpD,KAEpD,OAAOsyB,GAAQC,KAenBhjC,EAAQkC,MAAQ,SAASG,EAAO0Y,EAAQkoB,GACtC,GAAI/8B,GAAGg9B,CAEP,IAAID,EAEF,IAAK/8B,EAAI,EAAGg9B,EAAO7gC,EAAMgE,OAAY68B,EAAJh9B,EAAUA,IACzC7D,EAAM6D,GAAGmC,IAAM,IAKnB,KAAKnC,EAAI,EAAGg9B,EAAO7gC,EAAMgE,OAAY68B,EAAJh9B,EAAUA,IAAK,CAC9C,GAAIgK,GAAO7N,EAAM6D,EACjB,IAAIgK,EAAKhO,OAAsB,OAAbgO,EAAK7H,IAAc,CAEnC6H,EAAK7H,IAAM0S,EAAOooB,IAElB,GAAG,CAID,IAAK,GADDC,GAAgB,KACXvW,EAAI,EAAGwW,EAAKhhC,EAAMgE,OAAYg9B,EAAJxW,EAAQA,IAAK,CAC9C,GAAIvmB,GAAQjE,EAAMwqB,EAClB,IAAkB,OAAdvmB,EAAM+B,KAAgB/B,IAAU4J,GAAQ5J,EAAMpE,OAASlC,EAAQsjC,UAAUpzB,EAAM5J,EAAOyU,EAAO7K,MAAO,CACtGkzB,EAAgB98B,CAChB,QAIiB,MAAjB88B,IAEFlzB,EAAK7H,IAAM+6B,EAAc/6B,IAAM+6B,EAAczvB,OAASoH,EAAO7K,KAAK2W,gBAE7Duc,MAafpjC,EAAQujC,QAAU,SAASlhC,EAAO0Y,EAAQyoB,GACxC,GAAIt9B,GAAGg9B,EAAMO,CAGb,KAAKv9B,EAAI,EAAGg9B,EAAO7gC,EAAMgE,OAAY68B,EAAJh9B,EAAUA,IACzC,GAA+Be,SAA3B5E,EAAM6D,GAAG2N,KAAK6vB,SAAwB,CACxCD,EAAS1oB,EAAOooB,IAChB,KAAK,GAAIO,KAAYF,GACfA,EAAUh9B,eAAek9B,IACQ,GAA/BF,EAAUE,GAAU7Z,SAAmB2Z,EAAUE,GAAU56B,MAAQ06B,EAAUnhC,EAAM6D,GAAG2N,KAAK6vB,UAAU56B,QACvG26B,GAAUD,EAAUE,GAAU/vB,OAASoH,EAAO7K,KAAK2W,SAIzDxkB,GAAM6D,GAAGmC,IAAMo7B,MAGfphC,GAAM6D,GAAGmC,IAAM0S,EAAOooB,MAe5BnjC,EAAQsjC,UAAY,SAASt9B,EAAGC,EAAG8U,GACjC,MAAS/U,GAAEiC,KAAO8S,EAAO6L,WAAagc,EAAkB38B,EAAEgC,KAAOhC,EAAEyN,OAC9D1N,EAAEiC,KAAOjC,EAAE0N,MAAQqH,EAAO6L,WAAagc,EAAW38B,EAAEgC,MACpDjC,EAAEqC,IAAM0S,EAAO8L,SAAW+b,EAAyB38B,EAAEoC,IAAMpC,EAAE0N,QAC7D3N,EAAEqC,IAAMrC,EAAE2N,OAASoH,EAAO8L,SAAW+b,EAAa38B,EAAEoC,MAMvD,SAASpI,EAAQD,EAASM,GAgC9B,QAAS6B,GAASsO,EAAOC,EAAK8sB,EAAazH,GAEzC31B,KAAK+7B,QAAU,GAAIn3B,MACnB5E,KAAK8zB,OAAS,GAAIlvB,MAClB5E,KAAK+zB,KAAO,GAAInvB,MAEhB5E,KAAKw9B,WAAa,EAClBx9B,KAAKuE,MAAQ,MACbvE,KAAKmpB,KAAO,EAGZnpB,KAAKm0B,SAAS9jB,EAAOC,EAAK8sB,GAG1Bp9B,KAAKm8B,aAAc,EACnBn8B,KAAKk8B,eAAgB,EACrBl8B,KAAKi8B,cAAe,EACpBj8B,KAAK21B,YAAcA,EACC9uB,SAAhB8uB,IACF31B,KAAK21B,gBAGP31B,KAAKujC,OAASxhC,EAASyhC,OApDzB,GAAI3/B,GAAS3D,EAAoB,IAC7ByB,EAAWzB,EAAoB,IAC/BS,EAAOT,EAAoB,EAsD/B6B,GAASyhC,QACPC,aACEC,YAAY,MACZC,OAAY,IACZC,OAAY,QACZC,KAAY,QACZC,QAAY,QACZvJ,IAAY,IACZK,MAAY,MACZH,KAAY,QAEdsJ,aACEL,YAAY,WACZC,OAAY,eACZC,OAAY,aACZC,KAAY,aACZC,QAAY,YACZvJ,IAAY,YACZK,MAAY,OACZH,KAAY,KAUhB14B,EAASmS,UAAU8vB,UAAY,SAAUT,GACvC,GAAIU,GAAgBtjC,EAAKmG,cAAe/E,EAASyhC,OACjDxjC,MAAKujC,OAAS5iC,EAAKmG,WAAWm9B,EAAeV,IAa/CxhC,EAASmS,UAAUigB,SAAW,SAAS9jB,EAAOC,EAAK8sB,GACjD,KAAM/sB,YAAiBzL,OAAW0L,YAAe1L,OAC/C,KAAO,+CAGT5E,MAAK8zB,OAAmBjtB,QAATwJ,EAAsB,GAAIzL,MAAKyL,EAAMhJ,WAAa,GAAIzC,MACrE5E,KAAK+zB,KAAeltB,QAAPyJ,EAAoB,GAAI1L,MAAK0L,EAAIjJ,WAAa,GAAIzC,MAE3D5E,KAAKw9B,WACPx9B,KAAK+9B,eAAeX,IAOxBr7B,EAASmS,UAAUgwB,MAAQ,WACzBlkC,KAAK+7B,QAAU,GAAIn3B,MAAK5E,KAAK8zB,OAAOzsB,WACpCrH,KAAK0+B,gBAOP38B,EAASmS,UAAUwqB,aAAe,WAIhC,OAAQ1+B,KAAKuE,OACX,IAAK,OACHvE,KAAK+7B,QAAQoI,YAAYnkC,KAAKmpB,KAAO3kB,KAAKgB,MAAMxF,KAAK+7B,QAAQqI,cAAgBpkC,KAAKmpB,OAClFnpB,KAAK+7B,QAAQsI,SAAS,EACxB,KAAK,QAAgBrkC,KAAK+7B,QAAQuI,QAAQ,EAC1C,KAAK,MACL,IAAK,UAAgBtkC,KAAK+7B,QAAQwI,SAAS,EAC3C,KAAK,OAAgBvkC,KAAK+7B,QAAQyI,WAAW,EAC7C,KAAK,SAAgBxkC,KAAK+7B,QAAQ0I,WAAW,EAC7C,KAAK,SAAgBzkC,KAAK+7B,QAAQ2I,gBAAgB,GAIpD,GAAiB,GAAb1kC,KAAKmpB,KAEP,OAAQnpB,KAAKuE,OACX,IAAK,cAAgBvE,KAAK+7B,QAAQ2I,gBAAgB1kC,KAAK+7B,QAAQ4I,kBAAoB3kC,KAAK+7B,QAAQ4I,kBAAoB3kC,KAAKmpB,KAAQ,MACjI,KAAK,SAAgBnpB,KAAK+7B,QAAQ0I,WAAWzkC,KAAK+7B,QAAQ6I,aAAe5kC,KAAK+7B,QAAQ6I,aAAe5kC,KAAKmpB,KAAO,MACjH,KAAK,SAAgBnpB,KAAK+7B,QAAQyI,WAAWxkC,KAAK+7B,QAAQ8I,aAAe7kC,KAAK+7B,QAAQ8I,aAAe7kC,KAAKmpB,KAAO,MACjH,KAAK,OAAgBnpB,KAAK+7B,QAAQwI,SAASvkC,KAAK+7B,QAAQ+I,WAAa9kC,KAAK+7B,QAAQ+I,WAAa9kC,KAAKmpB,KAAO,MAC3G,KAAK,UACL,IAAK,MAAgBnpB,KAAK+7B,QAAQuI,QAAStkC,KAAK+7B,QAAQgJ,UAAU,GAAM/kC,KAAK+7B,QAAQgJ,UAAU,GAAK/kC,KAAKmpB,KAAO,EAAI,MACpH,KAAK,QAAgBnpB,KAAK+7B,QAAQsI,SAASrkC,KAAK+7B,QAAQiJ,WAAahlC,KAAK+7B,QAAQiJ,WAAahlC,KAAKmpB,KAAQ,MAC5G,KAAK,OAAgBnpB,KAAK+7B,QAAQoI,YAAYnkC,KAAK+7B,QAAQqI,cAAgBpkC,KAAK+7B,QAAQqI,cAAgBpkC,KAAKmpB,QAUnHpnB,EAASmS,UAAU2qB,QAAU,WAC3B,MAAQ7+B,MAAK+7B,QAAQ10B,WAAarH,KAAK+zB,KAAK1sB,WAM9CtF,EAASmS,UAAUmV,KAAO,WACxB,GAAImJ,GAAOxyB,KAAK+7B,QAAQ10B,SAIxB,IAAIrH,KAAK+7B,QAAQiJ,WAAa,EAC5B,OAAQhlC,KAAKuE,OACX,IAAK,cAEHvE,KAAK+7B,QAAU,GAAIn3B,MAAK5E,KAAK+7B,QAAQ10B,UAAYrH,KAAKmpB,KAAO,MAC/D,KAAK,SAAgBnpB,KAAK+7B,QAAU,GAAIn3B,MAAK5E,KAAK+7B,QAAQ10B,UAAwB,IAAZrH,KAAKmpB,KAAc,MACzF,KAAK,SAAgBnpB,KAAK+7B,QAAU,GAAIn3B,MAAK5E,KAAK+7B,QAAQ10B,UAAwB,IAAZrH,KAAKmpB,KAAc,GAAK,MAC9F,KAAK,OACHnpB,KAAK+7B,QAAU,GAAIn3B,MAAK5E,KAAK+7B,QAAQ10B,UAAwB,IAAZrH,KAAKmpB,KAAc,GAAK,GAEzE,IAAI7c,GAAItM,KAAK+7B,QAAQ+I,UACrB9kC,MAAK+7B,QAAQwI,SAASj4B,EAAKA,EAAItM,KAAKmpB,KACpC,MACF,KAAK,UACL,IAAK,MAAgBnpB,KAAK+7B,QAAQuI,QAAQtkC,KAAK+7B,QAAQgJ,UAAY/kC,KAAKmpB,KAAO,MAC/E,KAAK,QAAgBnpB,KAAK+7B,QAAQsI,SAASrkC,KAAK+7B,QAAQiJ,WAAahlC,KAAKmpB,KAAO,MACjF,KAAK,OAAgBnpB,KAAK+7B,QAAQoI,YAAYnkC,KAAK+7B,QAAQqI,cAAgBpkC,KAAKmpB,UAKlF,QAAQnpB,KAAKuE,OACX,IAAK,cAAgBvE,KAAK+7B,QAAU,GAAIn3B,MAAK5E,KAAK+7B,QAAQ10B,UAAYrH,KAAKmpB,KAAO,MAClF,KAAK,SAAgBnpB,KAAK+7B,QAAQ0I,WAAWzkC,KAAK+7B,QAAQ6I,aAAe5kC,KAAKmpB,KAAO,MACrF,KAAK,SAAgBnpB,KAAK+7B,QAAQyI,WAAWxkC,KAAK+7B,QAAQ8I,aAAe7kC,KAAKmpB,KAAO,MACrF,KAAK,OAAgBnpB,KAAK+7B,QAAQwI,SAASvkC,KAAK+7B,QAAQ+I,WAAa9kC,KAAKmpB,KAAO,MACjF,KAAK,UACL,IAAK,MAAgBnpB,KAAK+7B,QAAQuI,QAAQtkC,KAAK+7B,QAAQgJ,UAAY/kC,KAAKmpB,KAAO,MAC/E,KAAK,QAAgBnpB,KAAK+7B,QAAQsI,SAASrkC,KAAK+7B,QAAQiJ,WAAahlC,KAAKmpB,KAAO,MACjF,KAAK,OAAgBnpB,KAAK+7B,QAAQoI,YAAYnkC,KAAK+7B,QAAQqI,cAAgBpkC,KAAKmpB,MAKpF,GAAiB,GAAbnpB,KAAKmpB,KAEP,OAAQnpB,KAAKuE,OACX,IAAK,cAAmBvE,KAAK+7B,QAAQ4I,kBAAoB3kC,KAAKmpB,MAAMnpB,KAAK+7B,QAAQ2I,gBAAgB,EAAK,MACtG,KAAK,SAAmB1kC,KAAK+7B,QAAQ6I,aAAe5kC,KAAKmpB,MAAMnpB,KAAK+7B,QAAQ0I,WAAW,EAAK,MAC5F,KAAK,SAAmBzkC,KAAK+7B,QAAQ8I,aAAe7kC,KAAKmpB,MAAMnpB,KAAK+7B,QAAQyI,WAAW,EAAK,MAC5F,KAAK,OAAmBxkC,KAAK+7B,QAAQ+I,WAAa9kC,KAAKmpB,MAAMnpB,KAAK+7B,QAAQwI,SAAS,EAAK,MACxF,KAAK,UACL,IAAK,MAAmBvkC,KAAK+7B,QAAQgJ,UAAY/kC,KAAKmpB,KAAK,GAAGnpB,KAAK+7B,QAAQuI,QAAQ,EAAI,MACvF,KAAK,QAAmBtkC,KAAK+7B,QAAQiJ,WAAahlC,KAAKmpB,MAAMnpB,KAAK+7B,QAAQsI,SAAS,EAAK,MACxF,KAAK,QAMLrkC,KAAK+7B,QAAQ10B,WAAamrB,IAC5BxyB,KAAK+7B,QAAU,GAAIn3B,MAAK5E,KAAK+zB,KAAK1sB,YAGpC1F,EAAS+5B,oBAAoB17B,KAAMwyB,IAQrCzwB,EAASmS,UAAUkV,WAAa,WAC9B,MAAOppB,MAAK+7B,SAedh6B,EAASmS,UAAU+wB,SAAW,SAASpwB,GACjCA,GAAiC,gBAAhBA,GAAOtQ,QAC1BvE,KAAKuE,MAAQsQ,EAAOtQ,MACpBvE,KAAKmpB,KAAOtU,EAAOsU,KAAO,EAAItU,EAAOsU,KAAO,EAC5CnpB,KAAKw9B,WAAY,IAQrBz7B,EAASmS,UAAUgxB,aAAe,SAAUC,GAC1CnlC,KAAKw9B,UAAY2H,GAQnBpjC,EAASmS,UAAU6pB,eAAiB,SAASX,GAC3C,GAAmBv2B,QAAfu2B,EAAJ,CAMA,GAAIgI,GAAiB,QACjBC,EAAiB,OACjBC,EAAiB,MACjBC,EAAiB,KACjBC,EAAiB,IACjBC,EAAiB,IACjBC,EAAiB,CAGR,KAATN,EAAgBhI,IAAqBp9B,KAAKuE,MAAQ,OAAevE,KAAKmpB,KAAO,KACpE,IAATic,EAAehI,IAAsBp9B,KAAKuE,MAAQ,OAAevE,KAAKmpB,KAAO,KACpE,IAATic,EAAehI,IAAsBp9B,KAAKuE,MAAQ,OAAevE,KAAKmpB,KAAO,KACpE,GAATic,EAAchI,IAAuBp9B,KAAKuE,MAAQ,OAAevE,KAAKmpB,KAAO,IACpE,GAATic,EAAchI,IAAuBp9B,KAAKuE,MAAQ,OAAevE,KAAKmpB,KAAO,IACpE,EAATic,EAAahI,IAAwBp9B,KAAKuE,MAAQ,OAAevE,KAAKmpB,KAAO,GAC7Eic,EAAWhI,IAA0Bp9B,KAAKuE,MAAQ,OAAevE,KAAKmpB,KAAO,GACnE,EAAVkc,EAAcjI,IAAuBp9B,KAAKuE,MAAQ,QAAevE,KAAKmpB,KAAO,GAC7Ekc,EAAYjI,IAAyBp9B,KAAKuE,MAAQ,QAAevE,KAAKmpB,KAAO,GACrE,EAARmc,EAAYlI,IAAyBp9B,KAAKuE,MAAQ,MAAevE,KAAKmpB,KAAO,GACrE,EAARmc,EAAYlI,IAAyBp9B,KAAKuE,MAAQ,MAAevE,KAAKmpB,KAAO,GAC7Emc,EAAUlI,IAA2Bp9B,KAAKuE,MAAQ,MAAevE,KAAKmpB,KAAO,GAC7Emc,EAAQ,EAAIlI,IAAyBp9B,KAAKuE,MAAQ,UAAevE,KAAKmpB,KAAO,GACpE,EAAToc,EAAanI,IAAwBp9B,KAAKuE,MAAQ,OAAevE,KAAKmpB,KAAO,GAC7Eoc,EAAWnI,IAA0Bp9B,KAAKuE,MAAQ,OAAevE,KAAKmpB,KAAO,GAClE,GAAXqc,EAAgBpI,IAAqBp9B,KAAKuE,MAAQ,SAAevE,KAAKmpB,KAAO,IAClE,GAAXqc,EAAgBpI,IAAqBp9B,KAAKuE,MAAQ,SAAevE,KAAKmpB,KAAO,IAClE,EAAXqc,EAAepI,IAAsBp9B,KAAKuE,MAAQ,SAAevE,KAAKmpB,KAAO,GAC7Eqc,EAAapI,IAAwBp9B,KAAKuE,MAAQ,SAAevE,KAAKmpB,KAAO,GAClE,GAAXsc,EAAgBrI,IAAqBp9B,KAAKuE,MAAQ,SAAevE,KAAKmpB,KAAO,IAClE,GAAXsc,EAAgBrI,IAAqBp9B,KAAKuE,MAAQ,SAAevE,KAAKmpB,KAAO,IAClE,EAAXsc,EAAerI,IAAsBp9B,KAAKuE,MAAQ,SAAevE,KAAKmpB,KAAO,GAC7Esc,EAAarI,IAAwBp9B,KAAKuE,MAAQ,SAAevE,KAAKmpB,KAAO,GAC7D,IAAhBuc,EAAsBtI,IAAep9B,KAAKuE,MAAQ,cAAevE,KAAKmpB,KAAO,KAC7D,IAAhBuc,EAAsBtI,IAAep9B,KAAKuE,MAAQ,cAAevE,KAAKmpB,KAAO,KAC7D,GAAhBuc,EAAqBtI,IAAgBp9B,KAAKuE,MAAQ,cAAevE,KAAKmpB,KAAO,IAC7D,GAAhBuc,EAAqBtI,IAAgBp9B,KAAKuE,MAAQ,cAAevE,KAAKmpB,KAAO,IAC7D,EAAhBuc,EAAoBtI,IAAiBp9B,KAAKuE,MAAQ,cAAevE,KAAKmpB,KAAO,GAC7Euc,EAAkBtI,IAAmBp9B,KAAKuE,MAAQ,cAAevE,KAAKmpB,KAAO,KAanFpnB,EAAS42B,KAAO,SAASgC,EAAMp2B,EAAO4kB,GACpC,GAAImR,GAAQ,GAAI11B,MAAK+1B,EAAKtzB,UAE1B,IAAa,QAAT9C,EAAiB,CACnB,GAAIk2B,GAAOH,EAAM8J,cAAgB5/B,KAAK+pB,MAAM+L,EAAM0K,WAAa,GAC/D1K,GAAM6J,YAAY3/B,KAAK+pB,MAAMkM,EAAOtR,GAAQA,GAC5CmR,EAAM+J,SAAS,GACf/J,EAAMgK,QAAQ,GACdhK,EAAMiK,SAAS,GACfjK,EAAMkK,WAAW,GACjBlK,EAAMmK,WAAW,GACjBnK,EAAMoK,gBAAgB,OAEnB,IAAa,SAATngC,EACH+1B,EAAMyK,UAAY,IACpBzK,EAAMgK,QAAQ,GACdhK,EAAM+J,SAAS/J,EAAM0K,WAAa,IAIlC1K,EAAMgK,QAAQ,GAGhBhK,EAAMiK,SAAS,GACfjK,EAAMkK,WAAW,GACjBlK,EAAMmK,WAAW,GACjBnK,EAAMoK,gBAAgB,OAEnB,IAAa,OAATngC,EAAgB,CAEvB,OAAQ4kB,GACN,IAAK,GACL,IAAK,GACHmR,EAAMiK,SAA6C,GAApC//B,KAAK+pB,MAAM+L,EAAMwK,WAAa,IAAW,MAC1D,SACExK,EAAMiK,SAA6C,GAApC//B,KAAK+pB,MAAM+L,EAAMwK,WAAa,KAEjDxK,EAAMkK,WAAW,GACjBlK,EAAMmK,WAAW,GACjBnK,EAAMoK,gBAAgB,OAEnB,IAAa,WAATngC,EAAoB,CAE3B,OAAQ4kB,GACN,IAAK,GACL,IAAK,GACHmR,EAAMiK,SAA6C,GAApC//B,KAAK+pB,MAAM+L,EAAMwK,WAAa,IAAW,MAC1D,SACExK,EAAMiK,SAA4C,EAAnC//B,KAAK+pB,MAAM+L,EAAMwK,WAAa,IAEjDxK,EAAMkK,WAAW,GACjBlK,EAAMmK,WAAW,GACjBnK,EAAMoK,gBAAgB,OAEnB,IAAa,QAATngC,EAAiB,CACxB,OAAQ4kB,GACN,IAAK,GACHmR,EAAMkK,WAAiD,GAAtChgC,KAAK+pB,MAAM+L,EAAMuK,aAAe,IAAW,MAC9D,SACEvK,EAAMkK,WAAiD,GAAtChgC,KAAK+pB,MAAM+L,EAAMuK,aAAe,KAErDvK,EAAMmK,WAAW,GACjBnK,EAAMoK,gBAAgB,OACjB,IAAa,UAATngC,EAAmB,CAE5B,OAAQ4kB,GACN,IAAK,IACL,IAAK,IACHmR,EAAMkK,WAAgD,EAArChgC,KAAK+pB,MAAM+L,EAAMuK,aAAe,IACjDvK,EAAMmK,WAAW,EACjB,MACF,KAAK,GACHnK,EAAMmK,WAAiD,GAAtCjgC,KAAK+pB,MAAM+L,EAAMsK,aAAe,IAAW,MAC9D,SACEtK,EAAMmK,WAAiD,GAAtCjgC,KAAK+pB,MAAM+L,EAAMsK,aAAe,KAErDtK,EAAMoK,gBAAgB,OAEnB,IAAa,UAATngC,EAEP,OAAQ4kB,GACN,IAAK,IACL,IAAK,IACHmR,EAAMmK,WAAgD,EAArCjgC,KAAK+pB,MAAM+L,EAAMsK,aAAe,IACjDtK,EAAMoK,gBAAgB,EACtB,MACF,KAAK,GACHpK,EAAMoK,gBAA6D,IAA7ClgC,KAAK+pB,MAAM+L,EAAMqK,kBAAoB,KAAe,MAC5E,SACErK,EAAMoK,gBAA4D,IAA5ClgC,KAAK+pB,MAAM+L,EAAMqK,kBAAoB,UAG5D,IAAa,eAATpgC,EAAwB,CAC/B,GAAIyvB,GAAQ7K,EAAO,EAAIA,EAAO,EAAI,CAClCmR,GAAMoK,gBAAgBlgC,KAAK+pB,MAAM+L,EAAMqK,kBAAoB3Q,GAASA,GAGtE,MAAOsG,IAQTv4B,EAASmS,UAAUgrB,QAAU,WAC3B,GAAyB,GAArBl/B,KAAKi8B,aAEP,OADAj8B,KAAKi8B,cAAe,EACZj8B,KAAKuE,OACX,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,MACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,cACH,OAAO,CACT,SACE,OAAO,MAGR,IAA0B,GAAtBvE,KAAKk8B,cAEZ,OADAl8B,KAAKk8B,eAAgB,EACbl8B,KAAKuE,OACX,IAAK,UACL,IAAK,MACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,cACH,OAAO,CACT,SACE,OAAO,MAGR,IAAwB,GAApBvE,KAAKm8B,YAEZ,OADAn8B,KAAKm8B,aAAc,EACXn8B,KAAKuE,OACX,IAAK,cACL,IAAK,SACL,IAAK,SACL,IAAK,OACH,OAAO,CACT,SACE,OAAO,EAIb,OAAQvE,KAAKuE,OACX,IAAK,cACH,MAA0C,IAAlCvE,KAAK+7B,QAAQ4I,iBACvB,KAAK,SACH,MAAqC,IAA7B3kC,KAAK+7B,QAAQ6I,YACvB,KAAK,SACH,MAAmC,IAA3B5kC,KAAK+7B,QAAQ+I,YAAkD,GAA7B9kC,KAAK+7B,QAAQ8I,YACzD,KAAK,OACH,MAAmC,IAA3B7kC,KAAK+7B,QAAQ+I,UACvB,KAAK,UACL,IAAK,MACH,MAAkC,IAA1B9kC,KAAK+7B,QAAQgJ,SACvB,KAAK,QACH,MAAmC,IAA3B/kC,KAAK+7B,QAAQiJ,UACvB,KAAK,OACH,OAAO,CACT,SACE,OAAO,IAWbjjC,EAASmS,UAAUyxB,cAAgB,SAAShL,GAC9B9zB,QAAR8zB,IACFA,EAAO36B,KAAK+7B,QAGd,IAAIwH,GAASvjC,KAAKujC,OAAOE,YAAYzjC,KAAKuE,MAC1C,OAAQg/B,IAAUA,EAAOt9B,OAAS,EAAKpC,EAAO82B,GAAM4I,OAAOA,GAAU,IASvExhC,EAASmS,UAAU0xB,cAAgB,SAASjL,GAC9B9zB,QAAR8zB,IACFA,EAAO36B,KAAK+7B,QAGd,IAAIwH,GAASvjC,KAAKujC,OAAOQ,YAAY/jC,KAAKuE,MAC1C,OAAQg/B,IAAUA,EAAOt9B,OAAS,EAAKpC,EAAO82B,GAAM4I,OAAOA,GAAU,IAGvExhC,EAASmS,UAAU2xB,aAAe,WAKhC,QAASC,GAAKxhC,GACZ,MAAQA,GAAQ6kB,EAAO,GAAK,EAAK,QAAU,OAG7C,QAAS4c,GAAMpL,GACb,MAAIA,GAAKqL,OAAO,GAAIphC,MAAQ,OACnB,SAEL+1B,EAAKqL,OAAOniC,IAASmQ,IAAI,EAAG,OAAQ,OAC/B,YAEL2mB,EAAKqL,OAAOniC,IAASmQ,IAAI,GAAI,OAAQ,OAChC,aAEF,GAGT,QAASiyB,GAAYtL,GACnB,MAAOA,GAAKqL,OAAO,GAAIphC,MAAQ,QAAU,gBAAkB,GAG7D,QAASshC,GAAavL,GACpB,MAAOA,GAAKqL,OAAO,GAAIphC,MAAQ,SAAW,iBAAmB,GAG/D,QAASuhC,GAAYxL,GACnB,MAAOA,GAAKqL,OAAO,GAAIphC,MAAQ,QAAU,gBAAkB,GA9B7D,GAAIpE,GAAIqD,EAAO7D,KAAK+7B,SAChBpB,EAAOn6B,EAAE4lC,OAAS5lC,EAAE4lC,OAAO,MAAQ5lC,EAAE6lC,KAAK,MAC1Cld,EAAOnpB,KAAKmpB,IA+BhB,QAAQnpB,KAAKuE,OACX,IAAK,cACH,MAAOuhC,GAAKnL,EAAK4E,gBAAgB5xB,MAEnC,KAAK,SACH,MAAOm4B,GAAKnL,EAAK2E,WAAW3xB,MAE9B,KAAK,SACH,MAAOm4B,GAAKnL,EAAK0E,WAAW1xB,MAE9B,KAAK,OACH,GAAIyxB,GAAQzE,EAAKyE,OAIjB,OAHiB,IAAbp/B,KAAKmpB,OACPiW,EAAQA,EAAQ,KAAOA,EAAQ,IAE1BA,EAAQ,IAAM2G,EAAMpL,GAAQmL,EAAKnL,EAAKyE,QAE/C,KAAK,UACH,MAAOzE,GAAK4I,OAAO,QAAQ+C,cACvBP,EAAMpL,GAAQsL,EAAYtL,GAAQmL,EAAKnL,EAAKA,OAElD,KAAK,MACH,GAAIJ,GAAMI,EAAKA,OACXC,EAAQD,EAAK4I,OAAO,QAAQ+C,aAChC,OAAO,MAAQ/L,EAAM,IAAMK,EAAQsL,EAAavL,GAAQmL,EAAKvL,EAAM,EAErE,KAAK,QACH,MAAOI,GAAK4I,OAAO,QAAQ+C,cACvBJ,EAAavL,GAAQmL,EAAKnL,EAAKC,QAErC,KAAK,OACH,GAAIH,GAAOE,EAAKF,MAChB,OAAO,OAASA,EAAO0L,EAAYxL,GAAOmL,EAAKrL,EAEjD,SACE,MAAO,KAIb56B,EAAOD,QAAUmC,GAKb,SAASlC,EAAQD,EAASM,GAc9B,QAASgC,GAAMuR,EAAM2oB,EAAYltB,GAC/BlP,KAAKK,GAAK,KACVL,KAAKqK,OAAS,KACdrK,KAAKyT,KAAOA,EACZzT,KAAK2wB,IAAM,KACX3wB,KAAKo8B,WAAaA,MAClBp8B,KAAKkP,QAAUA,MAEflP,KAAKumC,UAAW,EAChBvmC,KAAKwmC,WAAY,EACjBxmC,KAAKymC,OAAQ,EAEbzmC,KAAKiI,IAAM,KACXjI,KAAK6H,KAAO,KACZ7H,KAAKsT,MAAQ,KACbtT,KAAKuT,OAAS,KA3BhB,GAAImzB,GAASxmC,EAAoB,IAC7BS,EAAOT,EAAoB,EA6B/BgC,GAAKgS,UAAUpS,OAAQ,EAKvBI,EAAKgS,UAAUyyB,OAAS,WACtB3mC,KAAKumC,UAAW,EAChBvmC,KAAKymC,OAAQ,EACTzmC,KAAKwmC,WAAWxmC,KAAKyiB,UAM3BvgB,EAAKgS,UAAU0yB,SAAW,WACxB5mC,KAAKumC,UAAW,EAChBvmC,KAAKymC,OAAQ,EACTzmC,KAAKwmC,WAAWxmC,KAAKyiB,UAQ3BvgB,EAAKgS,UAAU8E,QAAU,SAASvF,GAChC,GAAIozB,GAA6BhgC,QAAd4M,EAAKf,OAAsB1S,KAAKyT,KAAKf,OAASe,EAAKf,KAClEm0B,IACF7mC,KAAKqK,OAAOqsB,QAAQoQ,aAAa9mC,KAAMyT,EAAKf,OAG9C1S,KAAKyT,KAAOA,EACZzT,KAAKymC,OAAQ,EACTzmC,KAAKwmC,WAAWxmC,KAAKyiB,UAO3BvgB,EAAKgS,UAAU6yB,UAAY,SAAS18B,GAC9BrK,KAAKwmC,WACPxmC,KAAKgnC,OACLhnC,KAAKqK,OAASA,EACVrK,KAAKqK,QACPrK,KAAKinC,QAIPjnC,KAAKqK,OAASA,GASlBnI,EAAKgS,UAAUgzB,UAAY,SAAS5Q,GAElC,OAAO,GAOTp0B,EAAKgS,UAAU+yB,KAAO,WACpB,OAAO,GAOT/kC,EAAKgS,UAAU8yB,KAAO,WACpB,OAAO,GAMT9kC,EAAKgS,UAAUuO,OAAS,aAOxBvgB,EAAKgS,UAAUizB,YAAc,aAO7BjlC,EAAKgS,UAAUkzB,YAAc,aAS7BllC,EAAKgS,UAAUmzB,qBAAuB,SAAUC,GAC9C,GAAItnC,KAAKumC,UAAYvmC,KAAKkP,QAAQq4B,SAASlwB,SAAWrX,KAAK2wB,IAAI6W,aAAc,CAE3E,GAAItyB,GAAKlV,KAELwnC,EAAex1B,SAASM,cAAc,MAC1Ck1B,GAAap/B,UAAY,SACzBo/B,EAAaC,MAAQ,mBAErBf,EAAOc,GACL59B,gBAAgB,IACf0K,GAAG,MAAO,SAAUzK,GACrBA,EAAMD,iBACNC,EAAM69B,kBACNxyB,EAAG7K,OAAOs9B,kBAAkBzyB,KAG9BoyB,EAAOp1B,YAAYs1B,GACnBxnC,KAAK2wB,IAAI6W,aAAeA,OAEhBxnC,KAAKumC,UAAYvmC,KAAK2wB,IAAI6W,eAE9BxnC,KAAK2wB,IAAI6W,aAAar9B,YACxBnK,KAAK2wB,IAAI6W,aAAar9B,WAAWyH,YAAY5R,KAAK2wB,IAAI6W,cAExDxnC,KAAK2wB,IAAI6W,aAAe,OAS5BtlC,EAAKgS,UAAU0zB,gBAAkB,SAAUz+B,GACzC,GAAIgK,EACJ,IAAInT,KAAKkP,QAAQ24B,SAAU,CACzB,GAAI9P,GAAW/3B,KAAKqK,OAAOqsB,QAAQC,UAAU1gB,IAAIjW,KAAKK,GACtD8S,GAAUnT,KAAKkP,QAAQ24B,SAAS9P,OAGhC5kB,GAAUnT,KAAKyT,KAAKN,OAGtB,IAAI+tB,GAAUlhC,KAAK8nC,iBAAiB9nC,KAAKmT,WAAanT,KAAK8nC,iBAAiB30B,EAC5E,IAAI+tB,EAAS,CAEX,GAAI/tB,YAAmB40B,SACrB5+B,EAAQ8b,UAAY,GACpB9b,EAAQ+I,YAAYiB,OAEjB,IAAetM,QAAXsM,EACPhK,EAAQ8b,UAAY9R,MAGpB,IAAwB,cAAlBnT,KAAKyT,KAAKtM,MAA8CN,SAAtB7G,KAAKyT,KAAKN,QAChD,KAAM,IAAIvP,OAAM,sCAAwC5D,KAAKK,GAIjEL,MAAKmT,QAAUA,IASnBjR,EAAKgS,UAAU8zB,aAAe,SAAU7+B,GACf,MAAnBnJ,KAAKyT,KAAKg0B,MACZt+B,EAAQs+B,MAAQznC,KAAKyT,KAAKg0B,OAAS,GAGnCt+B,EAAQ8+B,gBAAgB,UAS3B/lC,EAAKgS,UAAUg0B,sBAAwB,SAAS/+B,GAC/C,GAAInJ,KAAKkP,QAAQi5B,gBAAkBnoC,KAAKkP,QAAQi5B,eAAeliC,OAAS,EAAG,CACzE,GAAImiC,KAEJ,IAAI7hC,MAAMC,QAAQxG,KAAKkP,QAAQi5B,gBAC7BC,EAAapoC,KAAKkP,QAAQi5B,mBAEvB,CAAA,GAAmC,OAA/BnoC,KAAKkP,QAAQi5B,eAIpB,MAHAC,GAAaxhC,OAAOiH,KAAK7N,KAAKyT,MAMhC,IAAK,GAAI3N,GAAI,EAAGA,EAAIsiC,EAAWniC,OAAQH,IAAK,CAC1C,GAAImR,GAAOmxB,EAAWtiC,GAClBxB,EAAQtE,KAAKyT,KAAKwD,EAET,OAAT3S,EACF6E,EAAQk/B,aAAa,QAAUpxB,EAAM3S,GAGrC6E,EAAQ8+B,gBAAgB,QAAUhxB,MAW1C/U,EAAKgS,UAAUo0B,aAAe,SAASn/B,GAEjCnJ,KAAK0N,QACP/M,EAAKuN,cAAc/E,EAASnJ,KAAK0N,OACjC1N,KAAK0N,MAAQ,MAIX1N,KAAKyT,KAAK/F,QACZ/M,EAAKoN,WAAW5E,EAASnJ,KAAKyT,KAAK/F,OACnC1N,KAAK0N,MAAQ1N,KAAKyT,KAAK/F,QAU3BxL,EAAKgS,UAAU4zB,iBAAmB,SAAU30B,GAC1C,MAAuB,gBAAZA,GAA6BA,EACpCA,GAAW,aAAeA,GAAgBA,EAAQo1B,UAC/Cp1B,GAGTtT,EAAOD,QAAUsC,GAKb,SAASrC,EAAQD,EAASM,GAkB9B,QAASiC,GAAgBsR,EAAM2oB,EAAYltB,GASzC,GARAlP,KAAKsG,OACH6M,SACEG,MAAO,IAGXtT,KAAK6kB,UAAW,EAGZpR,EAAM,CACR,GAAkB5M,QAAd4M,EAAKpD,MACP,KAAM,IAAIzM,OAAM,oCAAsC6P,EAAKpT,GAE7D,IAAgBwG,QAAZ4M,EAAKnD,IACP,KAAM,IAAI1M,OAAM,kCAAoC6P,EAAKpT,IAI7D6B,EAAK3B,KAAKP,KAAMyT,EAAM2oB,EAAYltB,GAElClP,KAAKwoC,cAAe,EApCtB,GACItmC,IADShC,EAAoB,IACtBA,EAAoB,KAC3B2C,EAAkB3C,EAAoB,IACtCoC,EAAYpC,EAAoB,GAoCpCiC,GAAe+R,UAAY,GAAIhS,GAAM,KAAM,KAAM,MAEjDC,EAAe+R,UAAUu0B,cAAgB,kBACzCtmC,EAAe+R,UAAUpS,OAAQ,EAOjCK,EAAe+R,UAAUgzB,UAAY,SAAS5Q,GAE5C,MAAQt2B,MAAKyT,KAAKpD,MAAQimB,EAAMhmB,KAAStQ,KAAKyT,KAAKnD,IAAMgmB,EAAMjmB,OAMjElO,EAAe+R,UAAUuO,OAAS,WAChC,GAAIkO,GAAM3wB,KAAK2wB,GAuBf,IAtBKA,IAEH3wB,KAAK2wB,OACLA,EAAM3wB,KAAK2wB,IAGXA,EAAI+X,IAAM12B,SAASM,cAAc,OAIjCqe,EAAIxd,QAAUnB,SAASM,cAAc,OACrCqe,EAAIxd,QAAQ/K,UAAY,UACxBuoB,EAAI+X,IAAIx2B,YAAYye,EAAIxd,SAMxBnT,KAAKymC,OAAQ,IAIVzmC,KAAKqK,OACR,KAAM,IAAIzG,OAAM,yCAElB,KAAK+sB,EAAI+X,IAAIv+B,WAAY,CACvB,GAAI0C,GAAa7M,KAAKqK,OAAOsmB,IAAI9jB,UACjC,KAAKA,EACH,KAAM,IAAIjJ,OAAM,iEAElBiJ,GAAWqF,YAAYye,EAAI+X,KAQ7B,GANA1oC,KAAKwmC,WAAY,EAMbxmC,KAAKymC,MAAO,CACdzmC,KAAK4nC,gBAAgB5nC,KAAK2wB,IAAIxd,SAC9BnT,KAAKgoC,aAAahoC,KAAK2wB,IAAIxd,SAC3BnT,KAAKkoC,sBAAsBloC,KAAK2wB,IAAIxd,SACpCnT,KAAKsoC,aAAatoC,KAAK2wB,IAAI+X,IAG3B,IAAItgC,IAAapI,KAAKyT,KAAKrL,UAAa,IAAMpI,KAAKyT,KAAKrL,UAAa,KAChEpI,KAAKumC,SAAW,YAAc,GACnC5V,GAAI+X,IAAItgC,UAAYpI,KAAKyoC,cAAgBrgC,EAGzCpI,KAAK6kB,SAA6D,WAAlD/c,OAAO6gC,iBAAiBhY,EAAIxd,SAAS0R,SAGrD7kB,KAAKsG,MAAM6M,QAAQG,MAAQtT,KAAK2wB,IAAIxd,QAAQ6d,YAC5ChxB,KAAKuT,OAAS,EAEdvT,KAAKymC,OAAQ,IAQjBtkC,EAAe+R,UAAU+yB,KAAO3kC,EAAU4R,UAAU+yB,KAMpD9kC,EAAe+R,UAAU8yB,KAAO1kC,EAAU4R,UAAU8yB,KAMpD7kC,EAAe+R,UAAUizB,YAAc7kC,EAAU4R,UAAUizB,YAM3DhlC,EAAe+R,UAAUkzB,YAAc,SAASzsB,GAC9C,GAAIiuB,GAAqC,QAA7B5oC,KAAKkP,QAAQimB,WACzBn1B,MAAK2wB,IAAIxd,QAAQzF,MAAMzF,IAAM2gC,EAAQ,GAAK,IAC1C5oC,KAAK2wB,IAAIxd,QAAQzF,MAAM4W,OAASskB,EAAQ,IAAM,EAC9C,IAAIr1B,EAGJ,IAA2B1M,SAAvB7G,KAAKyT,KAAK6vB,SAAwB,CAGpC,GAAIuF,GAAe7oC,KAAKyT,KAAK6vB,SACzBF,EAAYpjC,KAAKqK,OAAO+4B,UACxB0F,EAAgB1F,EAAUyF,GAAcngC,KAE5C,IAAa,GAATkgC,EAAe,CAEjBr1B,EAASvT,KAAKqK,OAAO+4B,UAAUyF,GAAct1B,OAASoH,EAAO7K,KAAK2W,SAClElT,GAA2B,GAAjBu1B,EAAqBnuB,EAAOooB,KAAO,GAAIpoB,EAAO7K,KAAK2W,SAAW,CACxE,IAAI4c,GAASrjC,KAAKqK,OAAOpC,GACzB,KAAK,GAAIq7B,KAAYF,GACfA,EAAUh9B,eAAek9B,IACQ,GAA/BF,EAAUE,GAAU7Z,SAAmB2Z,EAAUE,GAAU56B,MAAQogC,IACrEzF,GAAUD,EAAUE,GAAU/vB,OAASoH,EAAO7K,KAAK2W,SAMzD4c,IAA2B,GAAjByF,EAAqBnuB,EAAOooB,KAAO,GAAMpoB,EAAO7K,KAAK2W,SAAW,EAC1EzmB,KAAK2wB,IAAI+X,IAAIh7B,MAAMzF,IAAMo7B,EAAS,KAClCrjC,KAAK2wB,IAAI+X,IAAIh7B,MAAM4W,OAAS,OAGzB,CACH,GAAI+e,GAASrjC,KAAKqK,OAAOpC,IACrB8gC,EAAc,CAClB,KAAK,GAAIzF,KAAYF,GACnB,GAAIA,EAAUh9B,eAAek9B,IACQ,GAA/BF,EAAUE,GAAU7Z,QAAiB,CACvC,GAAIuf,GAAY5F,EAAUE,GAAU/vB,OAASoH,EAAO7K,KAAK2W,QACzDsiB,IAAeC,EACX5F,EAAUE,GAAU56B,MAAQogC,IAC9BzF,GAAU2F,GAKlBz1B,EAASvT,KAAKqK,OAAO+4B,UAAUyF,GAAct1B,OAASoH,EAAO7K,KAAK2W,SAClEzmB,KAAK2wB,IAAI+X,IAAIh7B,MAAMzF,IAAOjI,KAAKqK,OAAOkJ,OAASw1B,EAAc1F,EAAU,KACvErjC,KAAK2wB,IAAI+X,IAAIh7B,MAAM4W,OAAS,QAM1BtkB,MAAKqK,iBAAkBxH,IAEzB0Q,EAAS/O,KAAKJ,IAAIpE,KAAKqK,OAAOkJ,OAC1BvT,KAAKqK,OAAOqsB,QAAQnB,KAAKC,SAASzI,OAAOxZ,OACzCvT,KAAKqK,OAAOqsB,QAAQnB,KAAKC,SAASkD,gBAAgBnlB,QACtDvT,KAAK2wB,IAAI+X,IAAIh7B,MAAMzF,IAAM2gC,EAAQ,IAAM,GACvC5oC,KAAK2wB,IAAI+X,IAAIh7B,MAAM4W,OAASskB,EAAQ,GAAK,MAGzCr1B,EAASvT,KAAKqK,OAAOkJ,OAErBvT,KAAK2wB,IAAI+X,IAAIh7B,MAAMzF,IAAMjI,KAAKqK,OAAOpC,IAAM,KAC3CjI,KAAK2wB,IAAI+X,IAAIh7B,MAAM4W,OAAS,GAGhCtkB,MAAK2wB,IAAI+X,IAAIh7B,MAAM6F,OAASA,EAAS,MAGvC1T,EAAOD,QAAUuC,GAKb,SAAStC,EAAQD,EAASM,GAe9B,QAASkC,GAASqR,EAAM2oB,EAAYltB,GAalC,GAZAlP,KAAKsG,OACHoqB,KACEpd,MAAO,EACPC,OAAQ,GAEVkd,MACEnd,MAAO,EACPC,OAAQ,IAKRE,GACgB5M,QAAd4M,EAAKpD,MACP,KAAM,IAAIzM,OAAM,oCAAsC6P,EAI1DvR,GAAK3B,KAAKP,KAAMyT,EAAM2oB,EAAYltB,GAhCpC,CAAA,GAAIhN,GAAOhC,EAAoB,GACpBA,GAAoB,GAkC/BkC,EAAQ8R,UAAY,GAAIhS,GAAM,KAAM,KAAM,MAO1CE,EAAQ8R,UAAUgzB,UAAY,SAAS5Q,GAGrC,GAAIlD,IAAYkD,EAAMhmB,IAAMgmB,EAAMjmB,OAAS,CAC3C,OAAQrQ,MAAKyT,KAAKpD,MAAQimB,EAAMjmB,MAAQ+iB,GAAcpzB,KAAKyT,KAAKpD,MAAQimB,EAAMhmB,IAAM8iB,GAMtFhxB,EAAQ8R,UAAUuO,OAAS,WACzB,GAAIkO,GAAM3wB,KAAK2wB,GA6Bf,IA5BKA,IAEH3wB,KAAK2wB,OACLA,EAAM3wB,KAAK2wB,IAGXA,EAAI+X,IAAM12B,SAASM,cAAc,OAGjCqe,EAAIxd,QAAUnB,SAASM,cAAc,OACrCqe,EAAIxd,QAAQ/K,UAAY,UACxBuoB,EAAI+X,IAAIx2B,YAAYye,EAAIxd,SAGxBwd,EAAIF,KAAOze,SAASM,cAAc,OAClCqe,EAAIF,KAAKroB,UAAY,OAGrBuoB,EAAID,IAAM1e,SAASM,cAAc,OACjCqe,EAAID,IAAItoB,UAAY,MAGpBuoB,EAAI+X,IAAI,iBAAmB1oC,KAE3BA,KAAKymC,OAAQ,IAIVzmC,KAAKqK,OACR,KAAM,IAAIzG,OAAM,yCAElB,KAAK+sB,EAAI+X,IAAIv+B,WAAY,CACvB,GAAI4uB,GAAa/4B,KAAKqK,OAAOsmB,IAAIoI,UACjC,KAAKA,EAAY,KAAM,IAAIn1B,OAAM,iEACjCm1B,GAAW7mB,YAAYye,EAAI+X,KAE7B,IAAK/X,EAAIF,KAAKtmB,WAAY,CACxB,GAAI0C,GAAa7M,KAAKqK,OAAOsmB,IAAI9jB,UACjC,KAAKA,EAAY,KAAM,IAAIjJ,OAAM,iEACjCiJ,GAAWqF,YAAYye,EAAIF,MAE7B,IAAKE,EAAID,IAAIvmB,WAAY,CACvB,GAAI44B,GAAO/iC,KAAKqK,OAAOsmB,IAAIoS,IAC3B,KAAKl2B,EAAY,KAAM,IAAIjJ,OAAM,2DACjCm/B,GAAK7wB,YAAYye,EAAID,KAQvB,GANA1wB,KAAKwmC,WAAY,EAMbxmC,KAAKymC,MAAO,CACdzmC,KAAK4nC,gBAAgB5nC,KAAK2wB,IAAIxd,SAC9BnT,KAAKgoC,aAAahoC,KAAK2wB,IAAI+X,KAC3B1oC,KAAKkoC,sBAAsBloC,KAAK2wB,IAAI+X,KACpC1oC,KAAKsoC,aAAatoC,KAAK2wB,IAAI+X,IAG3B,IAAItgC,IAAapI,KAAKyT,KAAKrL,UAAW,IAAMpI,KAAKyT,KAAKrL,UAAY,KAC7DpI,KAAKumC,SAAW,YAAc,GACnC5V,GAAI+X,IAAItgC,UAAY,WAAaA,EACjCuoB,EAAIF,KAAKroB,UAAY,YAAcA,EACnCuoB,EAAID,IAAItoB,UAAa,WAAaA,EAGlCpI,KAAKsG,MAAMoqB,IAAInd,OAASod,EAAID,IAAIQ,aAChClxB,KAAKsG,MAAMoqB,IAAIpd,MAAQqd,EAAID,IAAIM,YAC/BhxB,KAAKsG,MAAMmqB,KAAKnd,MAAQqd,EAAIF,KAAKO,YACjChxB,KAAKsT,MAAQqd,EAAI+X,IAAI1X,YACrBhxB,KAAKuT,OAASod,EAAI+X,IAAIxX,aAEtBlxB,KAAKymC,OAAQ,EAGfzmC,KAAKqnC,qBAAqB1W,EAAI+X,MAOhCtmC,EAAQ8R,UAAU+yB,KAAO,WAClBjnC,KAAKwmC,WACRxmC,KAAKyiB,UAOTrgB,EAAQ8R,UAAU8yB,KAAO,WACvB,GAAIhnC,KAAKwmC,UAAW,CAClB,GAAI7V,GAAM3wB,KAAK2wB,GAEXA,GAAI+X,IAAIv+B,YAAcwmB,EAAI+X,IAAIv+B,WAAWyH,YAAY+e,EAAI+X,KACzD/X,EAAIF,KAAKtmB,YAAawmB,EAAIF,KAAKtmB,WAAWyH,YAAY+e,EAAIF,MAC1DE,EAAID,IAAIvmB,YAAcwmB,EAAID,IAAIvmB,WAAWyH,YAAY+e,EAAID,KAE7D1wB,KAAKwmC,WAAY,IAQrBpkC,EAAQ8R,UAAUizB,YAAc,WAC9B,GAAI92B,GAAQrQ,KAAKo8B,WAAWtG,SAAS91B,KAAKyT,KAAKpD,OAC3C44B,EAAQjpC,KAAKkP,QAAQ+5B,KAIZ,UAATA,EACFjpC,KAAK6H,KAAOwI,EAAQrQ,KAAKsT,MAET,QAAT21B,EACPjpC,KAAK6H,KAAOwI,EAIZrQ,KAAK6H,KAAOwI,EAAQrQ,KAAKsT,MAAQ,EAInCtT,KAAK2wB,IAAI+X,IAAIh7B,MAAM7F,KAAO7H,KAAK6H,KAAO,KAGtC7H,KAAK2wB,IAAIF,KAAK/iB,MAAM7F,KAAQwI,EAAQrQ,KAAKsG,MAAMmqB,KAAKnd,MAAQ,EAAK,KAGjEtT,KAAK2wB,IAAID,IAAIhjB,MAAM7F,KAAQwI,EAAQrQ,KAAKsG,MAAMoqB,IAAIpd,MAAQ,EAAK,MAOjElR,EAAQ8R,UAAUkzB,YAAc,WAC9B,GAAIjS,GAAcn1B,KAAKkP,QAAQimB,YAC3BuT,EAAM1oC,KAAK2wB,IAAI+X,IACfjY,EAAOzwB,KAAK2wB,IAAIF,KAChBC,EAAM1wB,KAAK2wB,IAAID,GAEnB,IAAmB,OAAfyE,EACFuT,EAAIh7B,MAAMzF,KAAWjI,KAAKiI,KAAO,GAAK,KAEtCwoB,EAAK/iB,MAAMzF,IAAS,IACpBwoB,EAAK/iB,MAAM6F,OAAUvT,KAAKqK,OAAOpC,IAAMjI,KAAKiI,IAAM,EAAK,KACvDwoB,EAAK/iB,MAAM4W,OAAS,OAEjB,CACH,GAAI4kB,GAAgBlpC,KAAKqK,OAAOqsB,QAAQpwB,MAAMiN,OAC1C4d,EAAa+X,EAAgBlpC,KAAKqK,OAAOpC,IAAMjI,KAAKqK,OAAOkJ,OAASvT,KAAKiI,GAE7EygC,GAAIh7B,MAAMzF,KAAWjI,KAAKqK,OAAOkJ,OAASvT,KAAKiI,IAAMjI,KAAKuT,QAAU,GAAK,KACzEkd,EAAK/iB,MAAMzF,IAAUihC,EAAgB/X,EAAc,KACnDV,EAAK/iB,MAAM4W,OAAS,IAGtBoM,EAAIhjB,MAAMzF,KAAQjI,KAAKsG,MAAMoqB,IAAInd,OAAS,EAAK,MAGjD1T,EAAOD,QAAUwC,GAKb,SAASvC,EAAQD,EAASM,GAc9B,QAASmC,GAAWoR,EAAM2oB,EAAYltB,GAcpC,GAbAlP,KAAKsG,OACHoqB,KACEzoB,IAAK,EACLqL,MAAO,EACPC,OAAQ,GAEVJ,SACEI,OAAQ,EACR41B,WAAY,IAKZ11B,GACgB5M,QAAd4M,EAAKpD,MACP,KAAM,IAAIzM,OAAM,oCAAsC6P,EAI1DvR,GAAK3B,KAAKP,KAAMyT,EAAM2oB,EAAYltB,GAhCpC,GAAIhN,GAAOhC,EAAoB,GAmC/BmC,GAAU6R,UAAY,GAAIhS,GAAM,KAAM,KAAM,MAO5CG,EAAU6R,UAAUgzB,UAAY,SAAS5Q,GAGvC,GAAIlD,IAAYkD,EAAMhmB,IAAMgmB,EAAMjmB,OAAS,CAC3C,OAAQrQ,MAAKyT,KAAKpD,MAAQimB,EAAMjmB,MAAQ+iB,GAAcpzB,KAAKyT,KAAKpD,MAAQimB,EAAMhmB,IAAM8iB,GAMtF/wB,EAAU6R,UAAUuO,OAAS,WAC3B,GAAIkO,GAAM3wB,KAAK2wB,GA0Bf,IAzBKA,IAEH3wB,KAAK2wB,OACLA,EAAM3wB,KAAK2wB,IAGXA,EAAI/d,MAAQZ,SAASM,cAAc,OAInCqe,EAAIxd,QAAUnB,SAASM,cAAc,OACrCqe,EAAIxd,QAAQ/K,UAAY,UACxBuoB,EAAI/d,MAAMV,YAAYye,EAAIxd,SAG1Bwd,EAAID,IAAM1e,SAASM,cAAc,OACjCqe,EAAI/d,MAAMV,YAAYye,EAAID,KAG1BC,EAAI/d,MAAM,iBAAmB5S,KAE7BA,KAAKymC,OAAQ,IAIVzmC,KAAKqK,OACR,KAAM,IAAIzG,OAAM,yCAElB,KAAK+sB,EAAI/d,MAAMzI,WAAY,CACzB,GAAI4uB,GAAa/4B,KAAKqK,OAAOsmB,IAAIoI,UACjC,KAAKA,EACH,KAAM,IAAIn1B,OAAM,iEAElBm1B,GAAW7mB,YAAYye,EAAI/d,OAQ7B,GANA5S,KAAKwmC,WAAY,EAMbxmC,KAAKymC,MAAO,CACdzmC,KAAK4nC,gBAAgB5nC,KAAK2wB,IAAIxd,SAC9BnT,KAAKgoC,aAAahoC,KAAK2wB,IAAI/d,OAC3B5S,KAAKkoC,sBAAsBloC,KAAK2wB,IAAI/d,OACpC5S,KAAKsoC,aAAatoC,KAAK2wB,IAAI/d,MAG3B,IAAIxK,IAAapI,KAAKyT,KAAKrL,UAAW,IAAMpI,KAAKyT,KAAKrL,UAAY,KAC7DpI,KAAKumC,SAAW,YAAc,GACnC5V,GAAI/d,MAAMxK,UAAa,aAAeA,EACtCuoB,EAAID,IAAItoB,UAAa,WAAaA,EAGlCpI,KAAKsT,MAAQqd,EAAI/d,MAAMoe,YACvBhxB,KAAKuT,OAASod,EAAI/d,MAAMse,aACxBlxB,KAAKsG,MAAMoqB,IAAIpd,MAAQqd,EAAID,IAAIM,YAC/BhxB,KAAKsG,MAAMoqB,IAAInd,OAASod,EAAID,IAAIQ,aAChClxB,KAAKsG,MAAM6M,QAAQI,OAASod,EAAIxd,QAAQ+d,aAGxCP,EAAIxd,QAAQzF,MAAMy7B,WAAa,EAAInpC,KAAKsG,MAAMoqB,IAAIpd,MAAQ,KAG1Dqd,EAAID,IAAIhjB,MAAMzF,KAAQjI,KAAKuT,OAASvT,KAAKsG,MAAMoqB,IAAInd,QAAU,EAAK,KAClEod,EAAID,IAAIhjB,MAAM7F,KAAQ7H,KAAKsG,MAAMoqB,IAAIpd,MAAQ,EAAK,KAElDtT,KAAKymC,OAAQ,EAGfzmC,KAAKqnC,qBAAqB1W,EAAI/d,QAOhCvQ,EAAU6R,UAAU+yB,KAAO,WACpBjnC,KAAKwmC,WACRxmC,KAAKyiB,UAOTpgB,EAAU6R,UAAU8yB,KAAO,WACrBhnC,KAAKwmC,YACHxmC,KAAK2wB,IAAI/d,MAAMzI,YACjBnK,KAAK2wB,IAAI/d,MAAMzI,WAAWyH,YAAY5R,KAAK2wB,IAAI/d,OAGjD5S,KAAKwmC,WAAY,IAQrBnkC,EAAU6R,UAAUizB,YAAc,WAChC,GAAI92B,GAAQrQ,KAAKo8B,WAAWtG,SAAS91B,KAAKyT,KAAKpD,MAE/CrQ,MAAK6H,KAAOwI,EAAQrQ,KAAKsG,MAAMoqB,IAAIpd,MAGnCtT,KAAK2wB,IAAI/d,MAAMlF,MAAM7F,KAAO7H,KAAK6H,KAAO,MAO1CxF,EAAU6R,UAAUkzB,YAAc,WAChC,GAAIjS,GAAcn1B,KAAKkP,QAAQimB,YAC3BviB,EAAQ5S,KAAK2wB,IAAI/d,KAEF,QAAfuiB,EACFviB,EAAMlF,MAAMzF,IAAMjI,KAAKiI,IAAM,KAG7B2K,EAAMlF,MAAMzF,IAAOjI,KAAKqK,OAAOkJ,OAASvT,KAAKiI,IAAMjI,KAAKuT,OAAU,MAItE1T,EAAOD,QAAUyC,GAKb,SAASxC,EAAQD,EAASM,GAe9B,QAASoC,GAAWmR,EAAM2oB,EAAYltB,GASpC,GARAlP,KAAKsG,OACH6M,SACEG,MAAO,IAGXtT,KAAK6kB,UAAW,EAGZpR,EAAM,CACR,GAAkB5M,QAAd4M,EAAKpD,MACP,KAAM,IAAIzM,OAAM,oCAAsC6P,EAAKpT,GAE7D,IAAgBwG,QAAZ4M,EAAKnD,IACP,KAAM,IAAI1M,OAAM,kCAAoC6P,EAAKpT,IAI7D6B,EAAK3B,KAAKP,KAAMyT,EAAM2oB,EAAYltB,GA/BpC,GAAIw3B,GAASxmC,EAAoB,IAC7BgC,EAAOhC,EAAoB,GAiC/BoC,GAAU4R,UAAY,GAAIhS,GAAM,KAAM,KAAM,MAE5CI,EAAU4R,UAAUu0B,cAAgB,aAOpCnmC,EAAU4R,UAAUgzB,UAAY,SAAS5Q,GAEvC,MAAQt2B,MAAKyT,KAAKpD,MAAQimB,EAAMhmB,KAAStQ,KAAKyT,KAAKnD,IAAMgmB,EAAMjmB,OAMjE/N,EAAU4R,UAAUuO,OAAS,WAC3B,GAAIkO,GAAM3wB,KAAK2wB,GAsBf,IArBKA,IAEH3wB,KAAK2wB,OACLA,EAAM3wB,KAAK2wB,IAGXA,EAAI+X,IAAM12B,SAASM,cAAc,OAIjCqe,EAAIxd,QAAUnB,SAASM,cAAc,OACrCqe,EAAIxd,QAAQ/K,UAAY,UACxBuoB,EAAI+X,IAAIx2B,YAAYye,EAAIxd,SAGxBwd,EAAI+X,IAAI,iBAAmB1oC,KAE3BA,KAAKymC,OAAQ,IAIVzmC,KAAKqK,OACR,KAAM,IAAIzG,OAAM,yCAElB,KAAK+sB,EAAI+X,IAAIv+B,WAAY,CACvB,GAAI4uB,GAAa/4B,KAAKqK,OAAOsmB,IAAIoI,UACjC,KAAKA,EACH,KAAM,IAAIn1B,OAAM,iEAElBm1B,GAAW7mB,YAAYye,EAAI+X,KAQ7B,GANA1oC,KAAKwmC,WAAY,EAMbxmC,KAAKymC,MAAO,CACdzmC,KAAK4nC,gBAAgB5nC,KAAK2wB,IAAIxd,SAC9BnT,KAAKgoC,aAAahoC,KAAK2wB,IAAI+X,KAC3B1oC,KAAKkoC,sBAAsBloC,KAAK2wB,IAAI+X,KACpC1oC,KAAKsoC,aAAatoC,KAAK2wB,IAAI+X,IAG3B,IAAItgC,IAAapI,KAAKyT,KAAKrL,UAAa,IAAMpI,KAAKyT,KAAKrL,UAAa,KAChEpI,KAAKumC,SAAW,YAAc,GACnC5V,GAAI+X,IAAItgC,UAAYpI,KAAKyoC,cAAgBrgC,EAGzCpI,KAAK6kB,SAA6D,WAAlD/c,OAAO6gC,iBAAiBhY,EAAIxd,SAAS0R,SAKrD7kB,KAAK2wB,IAAIxd,QAAQzF,MAAM07B,SAAW,OAClCppC,KAAKsG,MAAM6M,QAAQG,MAAQtT,KAAK2wB,IAAIxd,QAAQ6d,YAC5ChxB,KAAKuT,OAASvT,KAAK2wB,IAAI+X,IAAIxX,aAC3BlxB,KAAK2wB,IAAIxd,QAAQzF,MAAM07B,SAAW,GAElCppC,KAAKymC,OAAQ,EAGfzmC,KAAKqnC,qBAAqB1W,EAAI+X,KAC9B1oC,KAAKqpC,mBACLrpC,KAAKspC,qBAOPhnC,EAAU4R,UAAU+yB,KAAO,WACpBjnC,KAAKwmC,WACRxmC,KAAKyiB,UAQTngB,EAAU4R,UAAU8yB,KAAO,WACzB,GAAIhnC,KAAKwmC,UAAW,CAClB,GAAIkC,GAAM1oC,KAAK2wB,IAAI+X,GAEfA,GAAIv+B,YACNu+B,EAAIv+B,WAAWyH,YAAY82B,GAG7B1oC,KAAKwmC,WAAY,IAarBlkC,EAAU4R,UAAUizB,YAAc,SAASoC,GACzC,GAGIC,GACAzY,EAJA0Y,EAAczpC,KAAKqK,OAAOiJ,MAC1BjD,EAAQrQ,KAAKo8B,WAAWtG,SAAS91B,KAAKyT,KAAKpD,OAC3CC,EAAMtQ,KAAKo8B,WAAWtG,SAAS91B,KAAKyT,KAAKnD,MAK3BzJ,SAAd0iC,GAA2BA,KAAc,MAC9BE,EAATp5B,IACFA,GAASo5B,GAEPn5B,EAAM,EAAIm5B,IACZn5B,EAAM,EAAIm5B,GAGd,IAAIC,GAAWllC,KAAKJ,IAAIkM,EAAMD,EAAO,EAoBrC,QAlBIrQ,KAAK6kB,UACP7kB,KAAK6H,KAAOwI,EACZrQ,KAAKsT,MAAQo2B,EAAW1pC,KAAKsG,MAAM6M,QAAQG,MAC3Cyd,EAAe/wB,KAAKsG,MAAM6M,QAAQG,QAOlCtT,KAAK6H,KAAOwI,EACZrQ,KAAKsT,MAAQo2B,EACb3Y,EAAevsB,KAAKL,IAAImM,EAAMD,EAAQ,EAAIrQ,KAAKkP,QAAQ8V,QAAShlB,KAAKsG,MAAM6M,QAAQG,QAGrFtT,KAAK2wB,IAAI+X,IAAIh7B,MAAM7F,KAAO7H,KAAK6H,KAAO,KACtC7H,KAAK2wB,IAAI+X,IAAIh7B,MAAM4F,MAAQo2B,EAAW,KAE9B1pC,KAAKkP,QAAQ+5B,OACnB,IAAK,OACHjpC,KAAK2wB,IAAIxd,QAAQzF,MAAM7F,KAAO,GAC9B,MAEF,KAAK,QACH7H,KAAK2wB,IAAIxd,QAAQzF,MAAM7F,KAAOrD,KAAKJ,IAAKslC,EAAW3Y,EAAe,EAAI/wB,KAAKkP,QAAQ8V,QAAU,GAAK,IAClG,MAEF,KAAK,SACHhlB,KAAK2wB,IAAIxd,QAAQzF,MAAM7F,KAAOrD,KAAKJ,KAAKslC,EAAW3Y,EAAe,EAAI/wB,KAAKkP,QAAQ8V,SAAW,EAAG,GAAK,IACtG,MAEF,SAIMwkB,EAFAxpC,KAAK6kB,SACHvU,EAAM,EACM9L,KAAKJ,KAAKiM,EAAO,IAGhB0gB,EAIL,EAAR1gB,EACY7L,KAAKL,KAAKkM,EACnBC,EAAMD,EAAQ0gB,EAAe,EAAI/wB,KAAKkP,QAAQ8V,SAIrC,EAGlBhlB,KAAK2wB,IAAIxd,QAAQzF,MAAM7F,KAAO2hC,EAAc,OAQlDlnC,EAAU4R,UAAUkzB,YAAc,WAChC,GAAIjS,GAAcn1B,KAAKkP,QAAQimB,YAC3BuT,EAAM1oC,KAAK2wB,IAAI+X,GAEA,QAAfvT,EACFuT,EAAIh7B,MAAMzF,IAAMjI,KAAKiI,IAAM,KAG3BygC,EAAIh7B,MAAMzF,IAAOjI,KAAKqK,OAAOkJ,OAASvT,KAAKiI,IAAMjI,KAAKuT,OAAU,MAQpEjR,EAAU4R,UAAUm1B,iBAAmB,WACrC,GAAIrpC,KAAKumC,UAAYvmC,KAAKkP,QAAQq4B,SAASoC,aAAe3pC,KAAK2wB,IAAIiZ,SAAU,CAE3E,GAAIA,GAAW53B,SAASM,cAAc,MACtCs3B,GAASxhC,UAAY,YACrBwhC,EAASC,aAAe7pC,KAGxB0mC,EAAOkD,GACLhgC,gBAAgB,IACf0K,GAAG,OAAQ,cAIdtU,KAAK2wB,IAAI+X,IAAIx2B,YAAY03B,GACzB5pC,KAAK2wB,IAAIiZ,SAAWA,OAEZ5pC,KAAKumC,UAAYvmC,KAAK2wB,IAAIiZ,WAE9B5pC,KAAK2wB,IAAIiZ,SAASz/B,YACpBnK,KAAK2wB,IAAIiZ,SAASz/B,WAAWyH,YAAY5R,KAAK2wB,IAAIiZ,UAEpD5pC,KAAK2wB,IAAIiZ,SAAW,OAQxBtnC,EAAU4R,UAAUo1B,kBAAoB,WACtC,GAAItpC,KAAKumC,UAAYvmC,KAAKkP,QAAQq4B,SAASoC,aAAe3pC,KAAK2wB,IAAImZ,UAAW,CAE5E,GAAIA,GAAY93B,SAASM,cAAc,MACvCw3B,GAAU1hC,UAAY,aACtB0hC,EAAUC,cAAgB/pC,KAG1B0mC,EAAOoD,GACLlgC,gBAAgB,IACf0K,GAAG,OAAQ,cAIdtU,KAAK2wB,IAAI+X,IAAIx2B,YAAY43B,GACzB9pC,KAAK2wB,IAAImZ,UAAYA,OAEb9pC,KAAKumC,UAAYvmC,KAAK2wB,IAAImZ,YAE9B9pC,KAAK2wB,IAAImZ,UAAU3/B,YACrBnK,KAAK2wB,IAAImZ,UAAU3/B,WAAWyH,YAAY5R,KAAK2wB,IAAImZ,WAErD9pC,KAAK2wB,IAAImZ,UAAY,OAIzBjqC,EAAOD,QAAU0C,GAKb,SAASzC,EAAQD,EAASM,GAO9B,QAASqC,GAAWgzB,EAAMrmB,GACxBlP,KAAKkP,QAAU,KACflP,KAAKsG,MAAQ,KAQf/D,EAAU2R,UAAUD,WAAa,SAAS/E,GACpCA,GACFvO,KAAKgF,OAAO3F,KAAKkP,QAASA,IAQ9B3M,EAAU2R,UAAUuO,OAAS,WAE3B,OAAO,GAMTlgB,EAAU2R,UAAUG,QAAU,aAU9B9R,EAAU2R,UAAU81B,WAAa,WAC/B,GAAIC,GAAWjqC,KAAKsG,MAAM4jC,iBAAmBlqC,KAAKsG,MAAMgN,OACpDtT,KAAKsG,MAAM6jC,kBAAoBnqC,KAAKsG,MAAMiN,MAK9C,OAHAvT,MAAKsG,MAAM4jC,eAAiBlqC,KAAKsG,MAAMgN,MACvCtT,KAAKsG,MAAM6jC,gBAAkBnqC,KAAKsG,MAAMiN,OAEjC02B,GAGTpqC,EAAOD,QAAU2C,GAKb,SAAS1C,EAAQD,EAASM,GAe9B,QAASsC,GAAa+yB,EAAMrmB,GAC1BlP,KAAKu1B,KAAOA,EAGZv1B,KAAKi1B,gBACHmV,iBAAiB,EAEjBC,QAASA,EACTjE,OAAQ,MAEVpmC,KAAKkP,QAAUvO,EAAKgF,UAAW3F,KAAKi1B,gBACpCj1B,KAAK0qB,OAAS,EAEd1qB,KAAKs1B,UAELt1B,KAAKiU,WAAW/E,GA5BlB,GAAIvO,GAAOT,EAAoB,GAC3BqC,EAAYrC,EAAoB,IAChC2D,EAAS3D,EAAoB,IAC7BmqC,EAAUnqC,EAAoB,GA4BlCsC,GAAY0R,UAAY,GAAI3R,GAM5BC,EAAY0R,UAAUohB,QAAU,WAC9B,GAAI7C,GAAMzgB,SAASM,cAAc,MACjCmgB,GAAIrqB,UAAY,cAChBqqB,EAAI/kB,MAAMkX,SAAW,WACrB6N,EAAI/kB,MAAMzF,IAAM,MAChBwqB,EAAI/kB,MAAM6F,OAAS,OAEnBvT,KAAKyyB,IAAMA,GAMbjwB,EAAY0R,UAAUG,QAAU,WAC9BrU,KAAKkP,QAAQk7B,iBAAkB,EAC/BpqC,KAAKyiB,SAELziB,KAAKu1B,KAAO,MAQd/yB,EAAY0R,UAAUD,WAAa,SAAS/E,GACtCA,GAEFvO,EAAK0F,iBAAiB,kBAAmB,SAAU,WAAYrG,KAAKkP,QAASA,IAQjF1M,EAAY0R,UAAUuO,OAAS,WAC7B,GAAIziB,KAAKkP,QAAQk7B,gBAAiB,CAChC,GAAI//B,GAASrK,KAAKu1B,KAAK5E,IAAI2Z,kBACvBtqC,MAAKyyB,IAAItoB,YAAcE,IAErBrK,KAAKyyB,IAAItoB,YACXnK,KAAKyyB,IAAItoB,WAAWyH,YAAY5R,KAAKyyB,KAEvCpoB,EAAO6H,YAAYlS,KAAKyyB,KAExBzyB,KAAKqQ,QAGP,IAAI8uB,GAAM,GAAIv6B,OAAK,GAAIA,OAAOyC,UAAYrH,KAAK0qB,QAC3ClY,EAAIxS,KAAKu1B,KAAK50B,KAAKm1B,SAASqJ,GAE5BiH,EAASpmC,KAAKkP,QAAQm7B,QAAQrqC,KAAKkP,QAAQk3B,OAC1CA,KACEpmC,KAAKuqC,SACR1P,QAAQtG,IAAI,6BAAgCv0B,KAAKkP,QAAQk3B,OAAS,sEAClEpmC,KAAKuqC,QAAS,GAEhBnE,EAASpmC,KAAKkP,QAAQm7B,QAAY,GAEpC,IAAI5C,GAAQrB,EAAOrK,QAAU,IAAMqK,EAAOxN,KAAO,KAAO/0B,EAAOs7B,GAAKoE,OAAO,8BAC3EkE,GAAQA,EAAMrhB,OAAO,GAAGokB,cAAgB/C,EAAMgD,UAAU,GAExDzqC,KAAKyyB,IAAI/kB,MAAM7F,KAAO2K,EAAI,KAC1BxS,KAAKyyB,IAAIgV,MAAQA,MAIbznC,MAAKyyB,IAAItoB,YACXnK,KAAKyyB,IAAItoB,WAAWyH,YAAY5R,KAAKyyB,KAEvCzyB,KAAKkmB,MAGP,QAAO,GAMT1jB,EAAY0R,UAAU7D,MAAQ,WAG5B,QAASuF,KACPV,EAAGgR,MAGH,IAAI3hB,GAAQ2Q,EAAGqgB,KAAKe,MAAM8F,WAAWlnB,EAAGqgB,KAAKC,SAASzI,OAAOzZ,OAAO/O,MAChE6uB,EAAW,EAAI7uB,EAAQ,EACZ,IAAX6uB,IAAiBA,EAAW,IAC5BA,EAAW,MAAMA,EAAW,KAEhCle,EAAGuN,SAGHvN,EAAGw1B,iBAAmBnwB,WAAW3E,EAAQwd,GAd3C,GAAIle,GAAKlV,IAiBT4V,MAMFpT,EAAY0R,UAAUgS,KAAO,WACGrf,SAA1B7G,KAAK0qC,mBACPpwB,aAAata,KAAK0qC,wBACX1qC,MAAK0qC,mBAUhBloC,EAAY0R,UAAUy2B,eAAiB,SAAS/R,GAC9C,GAAIrqB,GAAI5N,EAAKuG,QAAQ0xB,EAAM,QAAQvxB,UAC/B83B,GAAM,GAAIv6B,OAAOyC,SACrBrH,MAAK0qB,OAASnc,EAAI4wB,EAClBn/B,KAAKyiB,UAOPjgB,EAAY0R,UAAU02B,eAAiB,WACrC,MAAO,IAAIhmC,OAAK,GAAIA,OAAOyC,UAAYrH,KAAK0qB,SAG9C7qB,EAAOD,QAAU4C,GAKb,SAAS3C,EAAQD,EAASM,GAiB9B,QAASuC,GAAY8yB,EAAMrmB,GACzBlP,KAAKu1B,KAAOA,EAGZv1B,KAAKi1B,gBACH4V,gBAAgB,EAChBR,QAASA,EACTjE,OAAQ,KACR/lC,GAAI,GAENL,KAAKkP,QAAUvO,EAAKgF,UAAW3F,KAAKi1B,gBAEhC/lB,GAAWA,EAAQ0pB,KACrB54B,KAAKy2B,WAAavnB,EAAQ0pB,KAE1B54B,KAAKy2B,WAAa,GAAI7xB,MAGxB5E,KAAK8qC,eAGL9qC,KAAKs1B,UAELt1B,KAAKiU,WAAW/E,GAtClB,GAAIw3B,GAASxmC,EAAoB,IAC7BS,EAAOT,EAAoB,GAC3BqC,EAAYrC,EAAoB,IAChC2D,EAAS3D,EAAoB,IAC7BmqC,EAAUnqC,EAAoB,GAqClCuC,GAAWyR,UAAY,GAAI3R,GAO3BE,EAAWyR,UAAUD,WAAa,SAAS/E,GACrCA,IAEFvO,EAAK0F,iBAAiB,iBAAkB,SAAU,UAAW,MAAOrG,KAAKkP,QAASA,GAG9ElP,KAAKkP,QAAQ7O,IACfL,KAAKyiB,WASXhgB,EAAWyR,UAAUohB,QAAU,WAC7B,GAAI7C,GAAMzgB,SAASM,cAAc,MACjCmgB,GAAIrqB,UAAY,aAChBqqB,EAAI/kB,MAAMkX,SAAW,WACrB6N,EAAI/kB,MAAMzF,IAAM,MAChBwqB,EAAI/kB,MAAM6F,OAAS,OACnBvT,KAAKyyB,IAAMA,CAEX,IAAIsY,GAAO/4B,SAASM,cAAc,MAClCy4B,GAAKr9B,MAAMkX,SAAW,WACtBmmB,EAAKr9B,MAAMzF,IAAM,MACjB8iC,EAAKr9B,MAAM7F,KAAO,QAClBkjC,EAAKr9B,MAAM6F,OAAS,OACpBw3B,EAAKr9B,MAAM4F,MAAQ,OACnBmf,EAAIvgB,YAAY64B,GAGhB/qC,KAAK8D,OAAS4iC,EAAOjU,GACnBuY,iBAAiB,IAEnBhrC,KAAK8D,OAAOwQ,GAAG,YAAatU,KAAKggC,aAAatK,KAAK11B,OACnDA,KAAK8D,OAAOwQ,GAAG,OAAatU,KAAKigC,QAAQvK,KAAK11B,OAC9CA,KAAK8D,OAAOwQ,GAAG,UAAatU,KAAKkgC,WAAWxK,KAAK11B,QAMnDyC,EAAWyR,UAAUG,QAAU,WAC7BrU,KAAKkP,QAAQ27B,gBAAiB,EAC9B7qC,KAAKyiB,SAELziB,KAAK8D,OAAOqhC,QAAO,GACnBnlC,KAAK8D,OAAS,KAEd9D,KAAKu1B,KAAO,MAOd9yB,EAAWyR,UAAUuO,OAAS,WAC5B,GAAIziB,KAAKkP,QAAQ27B,eAAgB,CAC/B,GAAIxgC,GAASrK,KAAKu1B,KAAK5E,IAAI2Z,kBACvBtqC,MAAKyyB,IAAItoB,YAAcE,IAErBrK,KAAKyyB,IAAItoB,YACXnK,KAAKyyB,IAAItoB,WAAWyH,YAAY5R,KAAKyyB,KAEvCpoB,EAAO6H,YAAYlS,KAAKyyB,KAG1B,IAAIjgB,GAAIxS,KAAKu1B,KAAK50B,KAAKm1B,SAAS91B,KAAKy2B,YAEjC2P,EAASpmC,KAAKkP,QAAQm7B,QAAQrqC,KAAKkP,QAAQk3B,OAC1CA,KACEpmC,KAAKuqC,SACR1P,QAAQtG,IAAI,6BAAgCv0B,KAAKkP,QAAQk3B,OAAS,sEAClEpmC,KAAKuqC,QAAS,GAEhBnE,EAASpmC,KAAKkP,QAAQm7B,QAAY,GAEpC,IAAI5C,GAAQrB,EAAOxN,KAAO,KAAO/0B,EAAO7D,KAAKy2B,YAAY8M,OAAO,8BAChEkE,GAAQA,EAAMrhB,OAAO,GAAGokB,cAAgB/C,EAAMgD,UAAU,GAExDzqC,KAAKyyB,IAAI/kB,MAAM7F,KAAO2K,EAAI,KAC1BxS,KAAKyyB,IAAIgV,MAAQA,MAIbznC,MAAKyyB,IAAItoB,YACXnK,KAAKyyB,IAAItoB,WAAWyH,YAAY5R,KAAKyyB,IAIzC,QAAO,GAOThwB,EAAWyR,UAAU+2B,cAAgB,SAASrS,GAC5C54B,KAAKy2B,WAAa91B,EAAKuG,QAAQ0xB,EAAM,QACrC54B,KAAKyiB,UAOPhgB,EAAWyR,UAAUg3B,cAAgB,WACnC,MAAO,IAAItmC,MAAK5E,KAAKy2B,WAAWpvB,YAQlC5E,EAAWyR,UAAU8rB,aAAe,SAASn2B,GAC3C7J,KAAK8qC,YAAY9J,UAAW,EAC5BhhC,KAAK8qC,YAAYrU,WAAaz2B,KAAKy2B,WAEnC5sB,EAAM69B,kBACN79B,EAAMD,kBAQRnH,EAAWyR,UAAU+rB,QAAU,SAAUp2B,GACvC,GAAK7J,KAAK8qC,YAAY9J,SAAtB,CAEA,GAAIS,GAAS53B,EAAM2uB,QAAQiJ,OACvBjvB,EAAIxS,KAAKu1B,KAAK50B,KAAKm1B,SAAS91B,KAAK8qC,YAAYrU,YAAcgL,EAC3D7I,EAAO54B,KAAKu1B,KAAK50B,KAAKu1B,OAAO1jB,EAEjCxS,MAAKirC,cAAcrS,GAGnB54B,KAAKu1B,KAAKE,QAAQhH,KAAK,cACrBpuB,GAAIL,KAAKkP,QAAQ7O,GACjBu4B,KAAM,GAAIh0B,MAAK5E,KAAKy2B,WAAWpvB,aAGjCwC,EAAM69B,kBACN79B,EAAMD,mBAQRnH,EAAWyR,UAAUgsB,WAAa,SAAUr2B,GACrC7J,KAAK8qC,YAAY9J,WAGtBhhC,KAAKu1B,KAAKE,QAAQhH,KAAK,eACrBpuB,GAAIL,KAAKkP,QAAQ7O,GACjBu4B,KAAM,GAAIh0B,MAAK5E,KAAKy2B,WAAWpvB,aAGjCwC,EAAM69B,kBACN79B,EAAMD,mBAGR/J,EAAOD,QAAU6C,GAKb,SAAS5C,EAAQD,EAASM,GAe9B,QAASwC,GAAU6yB,EAAMrmB,EAASi8B,EAAKC,GACrCprC,KAAKK,GAAKM,EAAK2E,aACftF,KAAKu1B,KAAOA,EAEZv1B,KAAKi1B,gBACHE,YAAa,OACbkW,iBAAiB,EACjBC,iBAAiB,EACjBC,OAAO,EACPC,iBAAkB,EAClBC,iBAAkB,EAClBC,aAAc,GACdC,aAAc,EACdC,UAAW,GACXt4B,MAAO,OACPmW,SAAS,EACT8T,YAAY,EACZD,aACEz1B,MAAO1D,IAAI0C,OAAWzC,IAAIyC,QAC1BwhB,OAAQlkB,IAAI0C,OAAWzC,IAAIyC,SAE7B4gC,OACE5/B,MAAOyiB,KAAKzjB,QACZwhB,OAAQiC,KAAKzjB,SAEf08B,QACE17B,MAAOk3B,SAAUl4B,QACjBwhB,OAAQ0W,SAAUl4B,UAItB7G,KAAKorC,iBAAmBA,EACxBprC,KAAK6rC,aAAeV,EACpBnrC,KAAKsG,SACLtG,KAAK8rC,aACHC,SACAC,UACAvE,UAGFznC,KAAK2wB,OAEL3wB,KAAKs2B,OAASjmB,MAAM,EAAGC,IAAI,GAE3BtQ,KAAKkP,QAAUvO,EAAKgF,UAAW3F,KAAKi1B,gBACpCj1B,KAAKisC,iBAAmB,EAExBjsC,KAAKiU,WAAW/E,GAChBlP,KAAKsT,MAAQrP,QAAQ,GAAKjE,KAAKkP,QAAQoE,OAAOrI,QAAQ,KAAK,KAC3DjL,KAAKksC,SAAWlsC,KAAKsT,MACrBtT,KAAKuT,OAASvT,KAAK6rC,aAAa3a,aAChClxB,KAAK05B,QAAS,EAEd15B,KAAKmsC,WAAa,GAClBnsC,KAAKosC,iBAAmB,GACxBpsC,KAAKqsC,aAAe,GAEpBrsC,KAAKssC,WAAa,EAClBtsC,KAAKusC,QAAS,EACdvsC,KAAKwsC,eACLxsC,KAAKysC,cAAe,EAGpBzsC,KAAK+0B,UACL/0B,KAAK0sC,eAAiB,EAGtB1sC,KAAKs1B,SAEL,IAAIpgB,GAAKlV,IACTA,MAAKu1B,KAAKE,QAAQnhB,GAAG,eAAgB,WACnCY,EAAGyb,IAAIgc,cAAcj/B,MAAMzF,IAAMiN,EAAGqgB,KAAKC,SAASoX,UAAY,OApFlE,GAAIjsC,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,GAC9BqC,EAAYrC,EAAoB,IAChC0B,EAAW1B,EAAoB,GAqFnCwC,GAASwR,UAAY,GAAI3R,GAGzBG,EAASwR,UAAU24B,SAAW,SAAS75B,EAAO85B,GACvC9sC,KAAK+0B,OAAO3uB,eAAe4M,KAC9BhT,KAAK+0B,OAAO/hB,GAAS85B,GAEvB9sC,KAAK0sC,gBAAkB,GAGzBhqC,EAASwR,UAAU64B,YAAc,SAAS/5B,EAAO85B,GAC/C9sC,KAAK+0B,OAAO/hB,GAAS85B,GAGvBpqC,EAASwR,UAAU84B,YAAc,SAASh6B,GACpChT,KAAK+0B,OAAO3uB,eAAe4M,WACtBhT,MAAK+0B,OAAO/hB,GACnBhT,KAAK0sC,gBAAkB,IAK3BhqC,EAASwR,UAAUD,WAAa,SAAU/E;AACxC,GAAIA,EAAS,CACX,GAAIuT,IAAS,CACTziB,MAAKkP,QAAQimB,aAAejmB,EAAQimB,aAAuCtuB,SAAxBqI,EAAQimB,cAC7D1S,GAAS,EAEX,IAAI9T,IACF,cACA,kBACA,kBACA,QACA,mBACA,mBACA,eACA,eACA,YACA,QACA,UACA,cACA,QACA,SACA,aAEFhO,GAAK0F,gBAAgBsI,EAAQ3O,KAAKkP,QAASA,GAE3ClP,KAAKksC,SAAWjoC,QAAQ,GAAKjE,KAAKkP,QAAQoE,OAAOrI,QAAQ,KAAK,KAEhD,GAAVwX,GAAkBziB,KAAK2wB,IAAIrQ,QAC7BtgB,KAAKgnC,OACLhnC,KAAKinC,UASXvkC,EAASwR,UAAUohB,QAAU,WAC3Bt1B,KAAK2wB,IAAIrQ,MAAQtO,SAASM,cAAc,OACxCtS,KAAK2wB,IAAIrQ,MAAM5S,MAAM4F,MAAQtT,KAAKkP,QAAQoE,MAC1CtT,KAAK2wB,IAAIrQ,MAAM5S,MAAM6F,OAASvT,KAAKuT,OAEnCvT,KAAK2wB,IAAIgc,cAAgB36B,SAASM,cAAc,OAChDtS,KAAK2wB,IAAIgc,cAAcj/B,MAAM4F,MAAQ,OACrCtT,KAAK2wB,IAAIgc,cAAcj/B,MAAM6F,OAASvT,KAAKuT,OAC3CvT,KAAK2wB,IAAIgc,cAAcj/B,MAAMkX,SAAW,WAGxC5kB,KAAKmrC,IAAMn5B,SAASC,gBAAgB,6BAA6B,OACjEjS,KAAKmrC,IAAIz9B,MAAMkX,SAAW,WAC1B5kB,KAAKmrC,IAAIz9B,MAAMzF,IAAM,MACrBjI,KAAKmrC,IAAIz9B,MAAM6F,OAAS,OACxBvT,KAAKmrC,IAAIz9B,MAAM4F,MAAQ,OACvBtT,KAAKmrC,IAAIz9B,MAAMu/B,QAAU,QACzBjtC,KAAK2wB,IAAIrQ,MAAMpO,YAAYlS,KAAKmrC,MAGlCzoC,EAASwR,UAAUg5B,kBAAoB,WACrCtsC,EAAQ0Q,gBAAgBtR,KAAKwsC,YAE7B,IAAIh6B,GACAo5B,EAAY5rC,KAAKkP,QAAQ08B,UACzBuB,EAAa,GACbC,EAAa,EACb36B,EAAI26B,EAAa,GAAMD,CAGzB36B,GAD8B,QAA5BxS,KAAKkP,QAAQimB,YACXiY,EAGAptC,KAAKsT,MAAQs4B,EAAYwB,CAG/B,KAAK,GAAInU,KAAWj5B,MAAK+0B,OACnB/0B,KAAK+0B,OAAO3uB,eAAe6yB,KACO,GAAhCj5B,KAAK+0B,OAAOkE,GAASxP,SAAkE5iB,SAA9C7G,KAAKorC,iBAAiB/R,WAAWJ,IAAuE,GAA7Cj5B,KAAKorC,iBAAiB/R,WAAWJ,KACvIj5B,KAAK+0B,OAAOkE,GAASoU,SAAS76B,EAAGC,EAAGzS,KAAKwsC,YAAaxsC,KAAKmrC,IAAKS,EAAWuB,GAC3E16B,GAAK06B,EAAaC,GAKxBxsC,GAAQ+Q,gBAAgB3R,KAAKwsC,aAC7BxsC,KAAKysC,cAAe,GAGtB/pC,EAASwR,UAAUo5B,cAAgB,WACR,GAArBttC,KAAKysC,eACP7rC,EAAQ0Q,gBAAgBtR,KAAKwsC,aAC7B5rC,EAAQ+Q,gBAAgB3R,KAAKwsC,aAC7BxsC,KAAKysC,cAAe,IAOxB/pC,EAASwR,UAAU+yB,KAAO,WACxBjnC,KAAK05B,QAAS,EACT15B,KAAK2wB,IAAIrQ,MAAMnW,aACc,QAA5BnK,KAAKkP,QAAQimB,YACfn1B,KAAKu1B,KAAK5E,IAAI9oB,KAAKqK,YAAYlS,KAAK2wB,IAAIrQ,OAGxCtgB,KAAKu1B,KAAK5E,IAAItI,MAAMnW,YAAYlS,KAAK2wB,IAAIrQ,QAIxCtgB,KAAK2wB,IAAIgc,cAAcxiC,YAC1BnK,KAAKu1B,KAAK5E,IAAI4c,qBAAqBr7B,YAAYlS,KAAK2wB,IAAIgc,gBAO5DjqC,EAASwR,UAAU8yB,KAAO,WACxBhnC,KAAK05B,QAAS,EACV15B,KAAK2wB,IAAIrQ,MAAMnW,YACjBnK,KAAK2wB,IAAIrQ,MAAMnW,WAAWyH,YAAY5R,KAAK2wB,IAAIrQ,OAG7CtgB,KAAK2wB,IAAIgc,cAAcxiC,YACzBnK,KAAK2wB,IAAIgc,cAAcxiC,WAAWyH,YAAY5R,KAAK2wB,IAAIgc,gBAU3DjqC,EAASwR,UAAUigB,SAAW,SAAU9jB,EAAOC,GAC1B,GAAftQ,KAAKusC,QAA8C,GAA3BvsC,KAAKkP,QAAQquB,YAA2C,IAArBv9B,KAAKqsC,cAC9Dh8B,EAAQ,IACVA,EAAQ,GAGZrQ,KAAKs2B,MAAMjmB,MAAQA,EACnBrQ,KAAKs2B,MAAMhmB,IAAMA,GAOnB5N,EAASwR,UAAUuO,OAAS,WAC1B,GAAIwnB,IAAU,EACVuD,EAAe,CAGnBxtC,MAAK2wB,IAAIgc,cAAcj/B,MAAMzF,IAAMjI,KAAKu1B,KAAKC,SAASoX,UAAY,IAElE,KAAK,GAAI3T,KAAWj5B,MAAK+0B,OACnB/0B,KAAK+0B,OAAO3uB,eAAe6yB,KACO,GAAhCj5B,KAAK+0B,OAAOkE,GAASxP,SAAkE5iB,SAA9C7G,KAAKorC,iBAAiB/R,WAAWJ,IAAuE,GAA7Cj5B,KAAKorC,iBAAiB/R,WAAWJ,IACvIuU,IAIN,IAA2B,GAAvBxtC,KAAK0sC,gBAAuC,GAAhBc,EAC9BxtC,KAAKgnC,WAEF,CACHhnC,KAAKinC,OACLjnC,KAAKuT,OAAStP,OAAOjE,KAAK6rC,aAAan+B,MAAM6F,OAAOtI,QAAQ,KAAK,KAGjEjL,KAAK2wB,IAAIgc,cAAcj/B,MAAM6F,OAASvT,KAAKuT,OAAS,KACpDvT,KAAKsT,MAAgC,GAAxBtT,KAAKkP,QAAQua,QAAkBxlB,QAAQ,GAAKjE,KAAKkP,QAAQoE,OAAOrI,QAAQ,KAAK,KAAO,CAEjG,IAAI3E,GAAQtG,KAAKsG,MACbga,EAAQtgB,KAAK2wB,IAAIrQ,KAGrBA,GAAMlY,UAAY,WAGlBpI,KAAKytC,oBAEL,IAAItY,GAAcn1B,KAAKkP,QAAQimB,YAC3BkW,EAAkBrrC,KAAKkP,QAAQm8B,gBAC/BC,EAAkBtrC,KAAKkP,QAAQo8B,eAGnChlC,GAAMonC,iBAAmBrC,EAAkB/kC,EAAMqnC,gBAAkB,EACnErnC,EAAMsnC,iBAAmBtC,EAAkBhlC,EAAMunC,gBAAkB,EAEnEvnC,EAAMwnC,eAAiB9tC,KAAKu1B,KAAK5E,IAAI4c,qBAAqBvc,YAAchxB,KAAKssC,WAAatsC,KAAKsT,MAAQ,EAAItT,KAAKkP,QAAQu8B,iBACxHnlC,EAAMynC,gBAAkB,EACxBznC,EAAM0nC,eAAiBhuC,KAAKu1B,KAAK5E,IAAI4c,qBAAqBvc,YAAchxB,KAAKssC,WAAatsC,KAAKsT,MAAQ,EAAItT,KAAKkP,QAAQs8B,iBACxHllC,EAAM2nC,gBAAkB,EAGL,QAAf9Y,GACF7U,EAAM5S,MAAMzF,IAAM,IAClBqY,EAAM5S,MAAM7F,KAAO,IACnByY,EAAM5S,MAAM4W,OAAS,GACrBhE,EAAM5S,MAAM4F,MAAQtT,KAAKsT,MAAQ,KACjCgN,EAAM5S,MAAM6F,OAASvT,KAAKuT,OAAS,KACnCvT,KAAKsG,MAAMgN,MAAQtT,KAAKu1B,KAAKC,SAAS3tB,KAAKyL,MAC3CtT,KAAKsG,MAAMiN,OAASvT,KAAKu1B,KAAKC,SAAS3tB,KAAK0L,SAG5C+M,EAAM5S,MAAMzF,IAAM,GAClBqY,EAAM5S,MAAM4W,OAAS,IACrBhE,EAAM5S,MAAM7F,KAAO,IACnByY,EAAM5S,MAAM4F,MAAQtT,KAAKsT,MAAQ,KACjCgN,EAAM5S,MAAM6F,OAASvT,KAAKuT,OAAS,KACnCvT,KAAKsG,MAAMgN,MAAQtT,KAAKu1B,KAAKC,SAASnN,MAAM/U,MAC5CtT,KAAKsG,MAAMiN,OAASvT,KAAKu1B,KAAKC,SAASnN,MAAM9U,QAG/C02B,EAAUjqC,KAAKkuC,gBACfjE,EAAUjqC,KAAKgqC,cAAgBC,EAEL,GAAtBjqC,KAAKkP,QAAQq8B,MACfvrC,KAAKktC,oBAGLltC,KAAKstC,gBAGPttC,KAAKmuC,aAAahZ,GAEpB,MAAO8U,IAOTvnC,EAASwR,UAAUg6B,cAAgB,WACjC,GAAIjE,IAAU,CACdrpC,GAAQ0Q,gBAAgBtR,KAAK8rC,YAAYC,OACzCnrC,EAAQ0Q,gBAAgBtR,KAAK8rC,YAAYE,OAEzC,IAAI7W,GAAcn1B,KAAKkP,QAAqB,YAGxCkuB,EAAcp9B,KAAKusC,OAASvsC,KAAKsG,MAAMunC,iBAAmB,GAAK7tC,KAAKosC,iBAEpEjjB,EAAO,GAAIvnB,GACb5B,KAAKs2B,MAAMjmB,MACXrQ,KAAKs2B,MAAMhmB,IACX8sB,EACAp9B,KAAK2wB,IAAIrQ,MAAM4Q,aACflxB,KAAKkP,QAAQouB,YAAYt9B,KAAKkP,QAAQimB,aACvB,GAAfn1B,KAAKusC,QAAmBvsC,KAAKkP,QAAQquB,WAGvCv9B,MAAKmpB,KAAOA,CAGZ,IAAIgjB,IAAcnsC,KAAK2wB,IAAIrQ,MAAM4Q,aAAgB/H,EAAKyU,WAAa59B,KAAK2wB,IAAIrQ,MAAM4Q,aAAe/H,EAAKwV,gBAAoBxV,EAAKwV,YAAcxV,EAAKyU,WAAazU,EAAKA,KAEpKnpB,MAAKmsC,WAAaA,CAElB,IAAIiC,GAAgBpuC,KAAKuT,OAAS44B,EAC9BkC,EAAiB,CAGrB,IAAmB,GAAfruC,KAAKusC,OAAiB,CACxBJ,EAAansC,KAAKosC,iBAClBiC,EAAiB7pC,KAAK+pB,MAAOvuB,KAAK2wB,IAAIrQ,MAAM4Q,aAAeib,EAAciC,EACzE,KAAK,GAAItoC,GAAI,EAAO,GAAMuoC,EAAVvoC,EAA0BA,IACxCqjB,EAAK2V,UAIP,IAFAsP,EAAgBpuC,KAAKuT,OAAS44B,EAEL,IAArBnsC,KAAKqsC,cAAiD,GAA3BrsC,KAAKkP,QAAQquB,WAAoB,CAC9D,GAAI+Q,GAAsBnlB,EAAKwU,UAAYxU,EAAKA,KAAQnpB,KAAKqsC,YAC7D,IAAIiC,EAAqB,EACvB,IAAK,GAAIxoC,GAAI,EAAOwoC,EAAJxoC,EAAwBA,IAAMqjB,EAAKE,WAEhD,IAAyB,EAArBilB,EACP,IAAK,GAAIxoC,GAAI,GAAQwoC,EAALxoC,EAAyBA,IAAMqjB,EAAK2V,gBAKxDsP,IAAiB,GAInBpuC,MAAKuuC,YAAcplB,EAAKwU,SACxB,IAMIoB,GANAyP,EAAiB,EAGjBpqC,EAAM,CAI8ByC,UAArC7G,KAAKkP,QAAQq0B,OAAOpO,KACrB4J,EAAW/+B,KAAKkP,QAAQq0B,OAAOpO,GAAa4J,UAG9C/+B,KAAKyuC,aAAe,CAEpB,KADA,GAAIh8B,GAAI,EACDrO,EAAMI,KAAK+pB,MAAM6f,IAAgB,CACtCjlB,EAAKE,OACL5W,EAAIjO,KAAK+pB,MAAMnqB,EAAM+nC,GACrBqC,EAAiBpqC,EAAM+nC,CACvB,IAAIjN,GAAU/V,EAAK+V,WAEfl/B,KAAKkP,QAAyB,iBAAgB,GAAXgwB,GAAmC,GAAfl/B,KAAKusC,QAAsD,GAAnCvsC,KAAKkP,QAAyB,kBAC/GlP,KAAK0uC,aAAaj8B,EAAI,EAAG0W,EAAKC,WAAW2V,GAAW5J,EAAa,cAAen1B,KAAKsG,MAAMqnC,iBAGzFzO,GAAWl/B,KAAKkP,QAAyB,iBAAoB,GAAflP,KAAKusC,QAChB,GAAnCvsC,KAAKkP,QAAyB,iBAA6B,GAAflP,KAAKusC,QAA8B,GAAXrN,GAClEzsB,GAAK,GACPzS,KAAK0uC,aAAaj8B,EAAI,EAAG0W,EAAKC,WAAW2V,GAAW5J,EAAa,cAAen1B,KAAKsG,MAAMunC,iBAE7F7tC,KAAK2uC,YAAYl8B,EAAG0iB,EAAa,wBAAyBn1B,KAAKkP,QAAQs8B,iBAAkBxrC,KAAKsG,MAAM0nC,iBAGpGhuC,KAAK2uC,YAAYl8B,EAAG0iB,EAAa,wBAAyBn1B,KAAKkP,QAAQu8B,iBAAkBzrC,KAAKsG,MAAMwnC,gBAGnF,GAAf9tC,KAAKusC,QAAkC,GAAhBpjB,EAAK4S,UAC9B/7B,KAAKqsC,aAAejoC,GAGtBA,IAGiB,GAAfpE,KAAKusC,OACPvsC,KAAKisC,iBAAmBx5B,GAAKzS,KAAKuuC,YAAcplB,EAAK4S,SAGrD/7B,KAAKisC,iBAAmBjsC,KAAK2wB,IAAIrQ,MAAM4Q,aAAe/H,EAAKwV,WAI7D,IAAIiQ,GAAa,CACuB/nC,UAApC7G,KAAKkP,QAAQu4B,MAAMtS,IAAuEtuB,SAAzC7G,KAAKkP,QAAQu4B,MAAMtS,GAAa7K,OACnFskB,EAAa5uC,KAAKsG,MAAMuoC,gBAE1B,IAAInkB,GAA+B,GAAtB1qB,KAAKkP,QAAQq8B,MAAgB/mC,KAAKJ,IAAIpE,KAAKkP,QAAQ08B,UAAWgD,GAAc5uC,KAAKkP,QAAQw8B,aAAe,GAAKkD,EAAa5uC,KAAKkP,QAAQw8B,aAAe,EA0BnK,OAvBI1rC,MAAKyuC,aAAgBzuC,KAAKsT,MAAQoX,GAAmC,GAAxB1qB,KAAKkP,QAAQua,SAC5DzpB,KAAKsT,MAAQtT,KAAKyuC,aAAe/jB,EACjC1qB,KAAKkP,QAAQoE,MAAQtT,KAAKsT,MAAQ,KAClC1S,EAAQ+Q,gBAAgB3R,KAAK8rC,YAAYC,OACzCnrC,EAAQ+Q,gBAAgB3R,KAAK8rC,YAAYE,QACzChsC,KAAKyiB,SACLwnB,GAAU,GAGHjqC,KAAKyuC,aAAgBzuC,KAAKsT,MAAQoX,GAAmC,GAAxB1qB,KAAKkP,QAAQua,SAAmBzpB,KAAKsT,MAAQtT,KAAKksC,UACtGlsC,KAAKsT,MAAQ9O,KAAKJ,IAAIpE,KAAKksC,SAASlsC,KAAKyuC,aAAe/jB,GACxD1qB,KAAKkP,QAAQoE,MAAQtT,KAAKsT,MAAQ,KAClC1S,EAAQ+Q,gBAAgB3R,KAAK8rC,YAAYC,OACzCnrC,EAAQ+Q,gBAAgB3R,KAAK8rC,YAAYE,QACzChsC,KAAKyiB,SACLwnB,GAAU,IAGVrpC,EAAQ+Q,gBAAgB3R,KAAK8rC,YAAYC,OACzCnrC,EAAQ+Q,gBAAgB3R,KAAK8rC,YAAYE,QACzC/B,GAAU,GAGLA,GAGTvnC,EAASwR,UAAU46B,aAAe,SAAUxqC,GAC1C,GAAIyqC,GAAgB/uC,KAAKuuC,YAAcjqC,EACnC0qC,EAAiBD,EAAgB/uC,KAAKisC,gBAC1C,OAAO+C,IAGTtsC,EAASwR,UAAUylB,cAAgB,SAAUnnB,GAC3C,MAAOxS,MAAKuuC,YAAe/7B,EAAIxS,KAAKisC,kBAYtCvpC,EAASwR,UAAUw6B,aAAe,SAAUj8B,EAAG6X,EAAM6K,EAAa/sB,EAAW6mC,GAE3E,GAAIj8B,GAAQpS,EAAQuR,cAAc,MAAMnS,KAAK8rC,YAAYE,OAAQhsC,KAAK2wB,IAAIrQ,MAC1EtN,GAAM5K,UAAYA,EAClB4K,EAAMiS,UAAYqF,EACC,QAAf6K,GACFniB,EAAMtF,MAAM7F,KAAO,IAAM7H,KAAKkP,QAAQw8B,aAAe,KACrD14B,EAAMtF,MAAM4b,UAAY,UAGxBtW,EAAMtF,MAAM2a,MAAQ,IAAMroB,KAAKkP,QAAQw8B,aAAe,KACtD14B,EAAMtF,MAAM4b,UAAY,QAG1BtW,EAAMtF,MAAMzF,IAAMwK,EAAI,GAAMw8B,EAAkBjvC,KAAKkP,QAAQy8B,aAAe,KAE1ErhB,GAAQ,EAER,IAAI4kB,GAAe1qC,KAAKJ,IAAIpE,KAAKsG,MAAM6oC,eAAenvC,KAAKsG,MAAM8oC,eAC7DpvC,MAAKyuC,aAAenkB,EAAKrkB,OAASipC,IACpClvC,KAAKyuC,aAAenkB,EAAKrkB,OAASipC,IAYtCxsC,EAASwR,UAAUy6B,YAAc,SAAUl8B,EAAG0iB,EAAa/sB,EAAWsiB,EAAQpX,GAC5E,GAAmB,GAAftT,KAAKusC,OAAgB,CACvB,GAAI9b,GAAO7vB,EAAQuR,cAAc,MAAMnS,KAAK8rC,YAAYC,MAAO/rC,KAAK2wB,IAAIgc,cACxElc,GAAKroB,UAAYA,EACjBqoB,EAAKxL,UAAY,GAEE,QAAfkQ,EACF1E,EAAK/iB,MAAM7F,KAAQ7H,KAAKsT,MAAQoX,EAAU,KAG1C+F,EAAK/iB,MAAM2a,MAASroB,KAAKsT,MAAQoX,EAAU,KAG7C+F,EAAK/iB,MAAM4F,MAAQA,EAAQ,KAC3Bmd,EAAK/iB,MAAMzF,IAAMwK,EAAI,OASzB/P,EAASwR,UAAUi6B,aAAe,SAAUhZ,GAI1C,GAHAv0B,EAAQ0Q,gBAAgBtR,KAAK8rC,YAAYrE,OAGD5gC,SAApC7G,KAAKkP,QAAQu4B,MAAMtS,IAAuEtuB,SAAzC7G,KAAKkP,QAAQu4B,MAAMtS,GAAa7K,KAAoB,CACvG,GAAImd,GAAQ7mC,EAAQuR,cAAc,MAAOnS,KAAK8rC,YAAYrE,MAAOznC,KAAK2wB,IAAIrQ,MAC1EmnB,GAAMr/B,UAAY,eAAiB+sB,EACnCsS,EAAMxiB,UAAYjlB,KAAKkP,QAAQu4B,MAAMtS,GAAa7K,KAGJzjB,SAA1C7G,KAAKkP,QAAQu4B,MAAMtS,GAAaznB,OAClC/M,EAAKoN,WAAW05B,EAAOznC,KAAKkP,QAAQu4B,MAAMtS,GAAaznB,OAGtC,QAAfynB,EACFsS,EAAM/5B,MAAM7F,KAAO7H,KAAKsG,MAAMuoC,gBAAkB,KAGhDpH,EAAM/5B,MAAM2a,MAAQroB,KAAKsG,MAAMuoC,gBAAkB,KAGnDpH,EAAM/5B,MAAM4F,MAAQtT,KAAKuT,OAAS,KAIpC3S,EAAQ+Q,gBAAgB3R,KAAK8rC,YAAYrE,QAW3C/kC,EAASwR,UAAUu5B,mBAAqB,WAEtC,KAAM,mBAAqBztC,MAAKsG,OAAQ,CACtC,GAAI+oC,GAAYr9B,SAASs9B,eAAe,KACpCC,EAAmBv9B,SAASM,cAAc,MAC9Ci9B,GAAiBnnC,UAAY,sBAC7BmnC,EAAiBr9B,YAAYm9B,GAC7BrvC,KAAK2wB,IAAIrQ,MAAMpO,YAAYq9B,GAE3BvvC,KAAKsG,MAAMqnC,gBAAkB4B,EAAiB1pB,aAC9C7lB,KAAKsG,MAAM8oC,eAAiBG,EAAiB/uB,YAE7CxgB,KAAK2wB,IAAIrQ,MAAM1O,YAAY29B,GAG7B,KAAM,mBAAqBvvC,MAAKsG,OAAQ,CACtC,GAAIkpC,GAAYx9B,SAASs9B,eAAe,KACpCG,EAAmBz9B,SAASM,cAAc,MAC9Cm9B,GAAiBrnC,UAAY,sBAC7BqnC,EAAiBv9B,YAAYs9B,GAC7BxvC,KAAK2wB,IAAIrQ,MAAMpO,YAAYu9B,GAE3BzvC,KAAKsG,MAAMunC,gBAAkB4B,EAAiB5pB,aAC9C7lB,KAAKsG,MAAM6oC,eAAiBM,EAAiBjvB,YAE7CxgB,KAAK2wB,IAAIrQ,MAAM1O,YAAY69B,GAG7B,KAAM,mBAAqBzvC,MAAKsG,OAAQ,CACtC,GAAIopC,GAAY19B,SAASs9B,eAAe,KACpCK,EAAmB39B,SAASM,cAAc,MAC9Cq9B,GAAiBvnC,UAAY,sBAC7BunC,EAAiBz9B,YAAYw9B,GAC7B1vC,KAAK2wB,IAAIrQ,MAAMpO,YAAYy9B,GAE3B3vC,KAAKsG,MAAMuoC,gBAAkBc,EAAiB9pB,aAC9C7lB,KAAKsG,MAAMspC,eAAiBD,EAAiBnvB,YAE7CxgB,KAAK2wB,IAAIrQ,MAAM1O,YAAY+9B,KAI/B9vC,EAAOD,QAAU8C,GAKb,SAAS7C,EAAQD,EAASM,GAkB9B,QAASyC,GAAY+P,EAAOumB,EAAS/pB,EAAS2gC,GAC5C7vC,KAAKK,GAAK44B,CACV,IAAItqB,IAAU,WAAW,QAAQ,OAAO,mBAAmB,WAAW,aAAa,SAAS,aAC5F3O,MAAKkP,QAAUvO,EAAK+N,sBAAsBC,EAAOO,GACjDlP,KAAK8vC,kBAAwCjpC,SAApB6L,EAAMtK,UAC/BpI,KAAK6vC,yBAA2BA,EAChC7vC,KAAK+vC,aAAe,EACpB/vC,KAAK4V,OAAOlD,GACkB,GAA1B1S,KAAK8vC,oBACP9vC,KAAK6vC,yBAAyB,IAAM,GAEtC7vC,KAAK22B,aACL32B,KAAKypB,QAA4B5iB,SAAlB6L,EAAM+W,SAAwB,EAAO/W,EAAM+W,QA5B5D,GAAI9oB,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,GAC9B8vC,EAAO9vC,EAAoB,IAC3B+vC,EAAM/vC,EAAoB,IAC1BgwC,EAAShwC,EAAoB,GAgCjCyC,GAAWuR,UAAU8iB,SAAW,SAAS/0B,GAC1B,MAATA,GACFjC,KAAK22B,UAAY10B,EACQ,GAArBjC,KAAKkP,QAAQgI,MACflX,KAAK22B,UAAUzf,KAAK,SAAUtR,EAAEC,GAAI,MAAOD,GAAE4M,EAAI3M,EAAE2M,KAIrDxS,KAAK22B,cASTh0B,EAAWuR,UAAUi8B,gBAAkB,SAAS5pB,GAC9CvmB,KAAK+vC,aAAexpB,GAQtB5jB,EAAWuR,UAAUD,WAAa,SAAS/E,GACzC,GAAgBrI,SAAZqI,EAAuB,CACzB,GAAIP,IAAU,WAAW,QAAQ,OAAO,mBAAmB,WAC3DhO,GAAK8F,oBAAoBkI,EAAQ3O,KAAKkP,QAASA,GAE/CvO,EAAKqO,aAAahP,KAAKkP,QAASA,EAAQ,cACxCvO,EAAKqO,aAAahP,KAAKkP,QAASA,EAAQ,cACxCvO,EAAKqO,aAAahP,KAAKkP,QAASA,EAAQ,UAEpCA,EAAQkhC,YACuB,gBAAtBlhC,GAAQkhC,YACblhC,EAAQkhC,WAAWC,kBACqB,WAAtCnhC,EAAQkhC,WAAWC,gBACrBrwC,KAAKkP,QAAQkhC,WAAWE,MAAQ,EAEa,WAAtCphC,EAAQkhC,WAAWC,gBAC1BrwC,KAAKkP,QAAQkhC,WAAWE,MAAQ,GAGhCtwC,KAAKkP,QAAQkhC,WAAWC,gBAAkB,cAC1CrwC,KAAKkP,QAAQkhC,WAAWE,MAAQ,KAOhB,QAAtBtwC,KAAKkP,QAAQxB,MACf1N,KAAKmH,KAAO,GAAI6oC,GAAKhwC,KAAKK,GAAIL,KAAKkP,SAEN,OAAtBlP,KAAKkP,QAAQxB,MACpB1N,KAAKmH,KAAO,GAAI8oC,GAAIjwC,KAAKK,GAAIL,KAAKkP,SAEL,UAAtBlP,KAAKkP,QAAQxB,QACpB1N,KAAKmH,KAAO,GAAI+oC,GAAOlwC,KAAKK,GAAIL,KAAKkP,WASzCvM,EAAWuR,UAAU0B,OAAS,SAASlD,GACrC1S,KAAK0S,MAAQA,EACb1S,KAAKmT,QAAUT,EAAMS,SAAW,QAChCnT,KAAKoI,UAAYsK,EAAMtK,WAAapI,KAAKoI,WAAa,aAAepI,KAAK6vC,yBAAyB,GAAK,GACxG7vC,KAAKypB,QAA4B5iB,SAAlB6L,EAAM+W,SAAwB,EAAO/W,EAAM+W,QAC1DzpB,KAAK0N,MAAQgF,EAAMhF,MACnB1N,KAAKiU,WAAWvB,EAAMxD,UAcxBvM,EAAWuR,UAAUm5B,SAAW,SAAS76B,EAAGC,EAAGlB,EAAeg/B,EAAc3E,EAAWuB,GACrF,GACIqD,GAAMC,EADNC,EAA0B,GAAbvD,EAGbwD,EAAU/vC,EAAQiR,cAAc,OAAQN,EAAeg/B,EAO3D,IANAI,EAAQ79B,eAAe,KAAM,IAAKN,GAClCm+B,EAAQ79B,eAAe,KAAM,IAAKL,EAAIi+B,GACtCC,EAAQ79B,eAAe,KAAM,QAAS84B,GACtC+E,EAAQ79B,eAAe,KAAM,SAAU,EAAE49B,GACzCC,EAAQ79B,eAAe,KAAM,QAAS,WAEZ,QAAtB9S,KAAKkP,QAAQxB,MACf8iC,EAAO5vC,EAAQiR,cAAc,OAAQN,EAAeg/B,GACpDC,EAAK19B,eAAe,KAAM,QAAS9S,KAAKoI,WACtBvB,SAAf7G,KAAK0N,OACN8iC,EAAK19B,eAAe,KAAM,QAAS9S,KAAK0N,OAG1C8iC,EAAK19B,eAAe,KAAM,IAAK,IAAMN,EAAI,IAAIC,EAAE,MAAQD,EAAIo5B,GAAa,IAAIn5B,GACzC,GAA/BzS,KAAKkP,QAAQ0hC,OAAOzhC,UACtBshC,EAAW7vC,EAAQiR,cAAc,OAAQN,EAAeg/B,GACjB,OAAnCvwC,KAAKkP,QAAQ0hC,OAAOzb,YACtBsb,EAAS39B,eAAe,KAAM,IAAK,IAAIN,EAAE,MAAQC,EAAIi+B,GACnD,IAAIl+B,EAAE,IAAIC,EAAE,MAAOD,EAAIo5B,GAAa,IAAIn5B,EAAE,MAAOD,EAAIo5B,GAAa,KAAOn5B,EAAIi+B,IAG/ED,EAAS39B,eAAe,KAAM,IAAK,IAAIN,EAAE,IAAIC,EAAE,KACzCD,EAAE,KAAOC,EAAIi+B,GAAc,MACzBl+B,EAAIo5B,GAAa,KAAOn5B,EAAIi+B,GAClC,KAAMl+B,EAAIo5B,GAAa,IAAIn5B,GAE/Bg+B,EAAS39B,eAAe,KAAM,QAAS9S,KAAKoI,UAAY,cAGnB,GAAnCpI,KAAKkP,QAAQ2D,WAAW1D,SAC1BvO,EAAQ2R,UAAUC,EAAI,GAAMo5B,EAAUn5B,EAAGzS,KAAMuR,EAAeg/B,OAG7D,CACH,GAAIM,GAAWrsC,KAAK+pB,MAAM,GAAMqd,GAC5BkF,EAAatsC,KAAK+pB,MAAM,GAAM4e,GAC9B4D,EAAavsC,KAAK+pB,MAAM,IAAO4e,GAE/BziB,EAASlmB,KAAK+pB,OAAOqd,EAAa,EAAIiF,GAAW,EAErDjwC,GAAQyS,QAAQb,EAAI,GAAIq+B,EAAWnmB,EAAYjY,EAAIi+B,EAAaI,EAAa,EAAGD,EAAUC,EAAY9wC,KAAKoI,UAAY,OAAQmJ,EAAeg/B,GAC9I3vC,EAAQyS,QAAQb,EAAI,IAAIq+B,EAAWnmB,EAAS,EAAGjY,EAAIi+B,EAAaK,EAAa,EAAGF,EAAUE,EAAY/wC,KAAKoI,UAAY,OAAQmJ,EAAeg/B,KAYlJ5tC,EAAWuR,UAAUilB,UAAY,SAASyS,EAAWuB,GACnD,GAAIhC,GAAMn5B,SAASC,gBAAgB,6BAA6B,MAEhE,OADAjS,MAAKqtC,SAAS,EAAE,GAAIF,KAAchC,EAAIS,EAAUuB,IACxC6D,KAAM7F,EAAKn4B,MAAOhT,KAAKmT,QAASgiB,YAAYn1B,KAAKkP,QAAQ+hC,mBAGnEtuC,EAAWuR,UAAUg9B,UAAY,SAASC,GACxC,MAAOnxC,MAAKmH,KAAK+pC,UAAUC,IAG7BxuC,EAAWuR,UAAUk9B,KAAO,SAASnZ,EAASvlB,EAAO2+B,GACnDrxC,KAAKmH,KAAKiqC,KAAKnZ,EAASvlB,EAAO2+B,IAIjCxxC,EAAOD,QAAU+C,GAKb,SAAS9C,EAAQD,EAASM,GAY9B,QAAS0C,GAAOq2B,EAASxlB,EAAMijB,GAC7B12B,KAAKi5B,QAAUA,EACfj5B,KAAKojC,aACLpjC,KAAK8oC,cAAgB,EACrB9oC,KAAKsxC,gBAAkB79B,GAAQA,EAAK89B,cACpCvxC,KAAK02B,QAAUA,EAEf12B,KAAK2wB,OACL3wB,KAAKsG,OACH0M,OACEM,MAAO,EACPC,OAAQ,IAGZvT,KAAKoI,UAAY,KAEjBpI,KAAKiC,SACLjC,KAAKwxC,gBACLxxC,KAAKqP,cACHoiC,WACAC,UAEF1xC,KAAK2xC,kBAAmB,CACxB,IAAIz8B,GAAKlV,IACTA,MAAK02B,QAAQnB,KAAKE,QAAQnhB,GAAG,mBAAoB,WAC/CY,EAAGy8B,kBAAmB,IAGxB3xC,KAAKs1B,UAELt1B,KAAKgZ,QAAQvF,GAxCf,CAAA,GAAI9S,GAAOT,EAAoB,GAC3B4B,EAAQ5B,EAAoB,GAChBA,GAAoB,IA6CpC0C,EAAMsR,UAAUohB,QAAU,WACxB,GAAItiB,GAAQhB,SAASM,cAAc,MACnCU,GAAM5K,UAAY,SAClBpI,KAAK2wB,IAAI3d,MAAQA,CAEjB,IAAI4+B,GAAQ5/B,SAASM,cAAc,MACnCs/B,GAAMxpC,UAAY,QAClB4K,EAAMd,YAAY0/B,GAClB5xC,KAAK2wB,IAAIihB,MAAQA,CAEjB,IAAI7Y,GAAa/mB,SAASM,cAAc,MACxCymB,GAAW3wB,UAAY,QACvB2wB,EAAW,kBAAoB/4B,KAC/BA,KAAK2wB,IAAIoI,WAAaA,EAEtB/4B,KAAK2wB,IAAI9jB,WAAamF,SAASM,cAAc,OAC7CtS,KAAK2wB,IAAI9jB,WAAWzE,UAAY,QAEhCpI,KAAK2wB,IAAIoS,KAAO/wB,SAASM,cAAc,OACvCtS,KAAK2wB,IAAIoS,KAAK36B,UAAY,QAK1BpI,KAAK2wB,IAAIkhB,OAAS7/B,SAASM,cAAc,OACzCtS,KAAK2wB,IAAIkhB,OAAOnkC,MAAM2rB,WAAa,SACnCr5B,KAAK2wB,IAAIkhB,OAAO5sB,UAAY,IAC5BjlB,KAAK2wB,IAAI9jB,WAAWqF,YAAYlS,KAAK2wB,IAAIkhB,SAO3CjvC,EAAMsR,UAAU8E,QAAU,SAASvF,GAEjC,GAAIN,GAAUM,GAAQA,EAAKN,OACvBA,aAAmB40B,SACrB/nC,KAAK2wB,IAAIihB,MAAM1/B,YAAYiB,GAERtM,SAAZsM,GAAqC,OAAZA,EAChCnT,KAAK2wB,IAAIihB,MAAM3sB,UAAY9R,EAG3BnT,KAAK2wB,IAAIihB,MAAM3sB,UAAYjlB,KAAKi5B,SAAW,GAI7Cj5B,KAAK2wB,IAAI3d,MAAMy0B,MAAQh0B,GAAQA,EAAKg0B,OAAS,GAExCznC,KAAK2wB,IAAIihB,MAAMjtB,WAIlBhkB,EAAK8H,gBAAgBzI,KAAK2wB,IAAIihB,MAAO,UAHrCjxC,EAAKwH,aAAanI,KAAK2wB,IAAIihB,MAAO,SAOpC,IAAIxpC,GAAYqL,GAAQA,EAAKrL,WAAa,IACtCA,IAAapI,KAAKoI,YAChBpI,KAAKoI,YACPzH,EAAK8H,gBAAgBzI,KAAK2wB,IAAI3d,MAAOhT,KAAKoI,WAC1CzH,EAAK8H,gBAAgBzI,KAAK2wB,IAAIoI,WAAY/4B,KAAKoI,WAC/CzH,EAAK8H,gBAAgBzI,KAAK2wB,IAAI9jB,WAAY7M,KAAKoI,WAC/CzH,EAAK8H,gBAAgBzI,KAAK2wB,IAAIoS,KAAM/iC,KAAKoI,YAE3CzH,EAAKwH,aAAanI,KAAK2wB,IAAI3d,MAAO5K,GAClCzH,EAAKwH,aAAanI,KAAK2wB,IAAIoI,WAAY3wB,GACvCzH,EAAKwH,aAAanI,KAAK2wB,IAAI9jB,WAAYzE,GACvCzH,EAAKwH,aAAanI,KAAK2wB,IAAIoS,KAAM36B,GACjCpI,KAAKoI,UAAYA,GAIfpI,KAAK0N,QACP/M,EAAKuN,cAAclO,KAAK2wB,IAAI3d,MAAOhT,KAAK0N,OACxC1N,KAAK0N,MAAQ,MAEX+F,GAAQA,EAAK/F,QACf/M,EAAKoN,WAAW/N,KAAK2wB,IAAI3d,MAAOS,EAAK/F,OACrC1N,KAAK0N,MAAQ+F,EAAK/F,QAQtB9K,EAAMsR,UAAU49B,cAAgB,WAC9B,MAAO9xC,MAAKsG,MAAM0M,MAAMM,OAW1B1Q,EAAMsR,UAAUuO,OAAS,SAAS6T,EAAO3b,EAAQo3B,GAC/C,GAAI9H,IAAU,EAIV+H,EAAehyC,KAAK2wB,IAAIkhB,OAAOhsB,YAanC,IAZImsB,GAAgBhyC,KAAKiyC,mBACvBjyC,KAAKiyC,iBAAmBD,EAExBrxC,EAAKiI,QAAQ5I,KAAKiC,MAAO,SAAU6N,GACjCA,EAAK22B,OAAQ,EACT32B,EAAK02B,WAAW12B,EAAK2S,WAG3BsvB,GAAU,GAI8B,kBAA/B/xC,MAAK02B,QAAQxnB,QAAQuH,MAAsB,CAGpD,GAAIs7B,EAAS,CAIX,GAAI78B,GAAKlV,KACLupC,GAAY,CAChB5oC,GAAKiI,QAAQ5I,KAAKiC,MAAO,SAAU6N,GAC5BA,EAAK02B,YACR12B,EAAK2S,SACLvN,EAAGs8B,aAAajpC,KAAKuH,IAEvBA,EAAKq3B,YAAYoC,IAInB,IAAI2I,GAAqBlyC,KAAKqP,aAAaoiC,QAAQ1lC,QAAQmL,KAAK,SAAUtR,EAAGC,GAC3E,MAAOqP,GAAGwhB,QAAQxnB,QAAQuH,MAAM7Q,EAAE6N,KAAM5N,EAAE4N,OAE5C3R,GAAMA,MAAMowC,EAAoBv3B,GAAQ,GAG1C3a,KAAKwxC,aAAexxC,KAAKmyC,oBAAoBnyC,KAAKqP,aAAcrP,KAAKwxC,aAAclb,OAInFt2B,MAAKwxC,aAAexxC,KAAKmyC,oBAAoBnyC,KAAKqP,aAAcrP,KAAKwxC,aAAclb,GAE/Et2B,KAAK02B,QAAQxnB,QAAQpN,MACvBA,EAAMA,MAAM9B,KAAKwxC,aAAc72B,EAAQo3B,GAGvCjwC,EAAMqhC,QAAQnjC,KAAKwxC,aAAc72B,EAAQ3a,KAAKojC,UAKlD,IAAI7vB,GAASvT,KAAKoyC,iBAAiBz3B,GAG/Boe,EAAa/4B,KAAK2wB,IAAIoI,UAC1B/4B,MAAKiI,IAAM8wB,EAAWsZ,UACtBryC,KAAK6H,KAAOkxB,EAAWuZ,WACvBtyC,KAAKsT,MAAQylB,EAAW/H,YACxBiZ,EAAUtpC,EAAKqI,eAAehJ,KAAM,SAAUuT,IAAW02B,EAGzDA,EAAUtpC,EAAKqI,eAAehJ,KAAKsG,MAAM0M,MAAO,QAAShT,KAAK2wB,IAAIihB,MAAMpxB,cAAgBypB,EACxFA,EAAUtpC,EAAKqI,eAAehJ,KAAKsG,MAAM0M,MAAO,SAAUhT,KAAK2wB,IAAIihB,MAAM/rB,eAAiBokB,EAG1FjqC,KAAK2wB,IAAI9jB,WAAWa,MAAM6F,OAAUA,EAAS,KAC7CvT,KAAK2wB,IAAIoI,WAAWrrB,MAAM6F,OAAUA,EAAS,KAC7CvT,KAAK2wB,IAAI3d,MAAMtF,MAAM6F,OAASA,EAAS,IAGvC,KAAK,GAAIzN,GAAI,EAAGysC,EAAKvyC,KAAKwxC,aAAavrC,OAAYssC,EAAJzsC,EAAQA,IAAK,CAC1D,GAAIgK,GAAO9P,KAAKwxC,aAAa1rC,EAC7BgK,GAAKs3B,YAAYzsB,GAGnB,MAAOsvB,IASTrnC,EAAMsR,UAAUk+B,iBAAmB,SAAUz3B,GAE3C,GAAIpH,GACAi+B,EAAexxC,KAAKwxC,YAGxBxxC,MAAKwyC,gBACL,IAAIt9B,GAAKlV,IACT,IAAIwxC,EAAavrC,OAAQ,CACvB,GAAI9B,GAAMqtC,EAAa,GAAGvpC,IACtB7D,EAAMotC,EAAa,GAAGvpC,IAAMupC,EAAa,GAAGj+B,MAahD,IAZA5S,EAAKiI,QAAQ4oC,EAAc,SAAU1hC,GACnC3L,EAAMK,KAAKL,IAAIA,EAAK2L,EAAK7H,KACzB7D,EAAMI,KAAKJ,IAAIA,EAAM0L,EAAK7H,IAAM6H,EAAKyD,QACV1M,SAAvBiJ,EAAK2D,KAAK6vB,WACZpuB,EAAGkuB,UAAUtzB,EAAK2D,KAAK6vB,UAAU/vB,OAAS/O,KAAKJ,IAAI8Q,EAAGkuB,UAAUtzB,EAAK2D,KAAK6vB,UAAU/vB,OAAOzD,EAAKyD,QAChG2B,EAAGkuB,UAAUtzB,EAAK2D,KAAK6vB,UAAU7Z,SAAU,KAO3CtlB,EAAMwW,EAAOooB,KAAM,CAErB,GAAIrY,GAASvmB,EAAMwW,EAAOooB,IAC1B3+B,IAAOsmB,EACP/pB,EAAKiI,QAAQ4oC,EAAc,SAAU1hC,GACnCA,EAAK7H,KAAOyiB,IAGhBnX,EAASnP,EAAMuW,EAAO7K,KAAK2W,SAAW,MAGtClT,GAAS,CAIX,OAFAA,GAAS/O,KAAKJ,IAAImP,EAAQvT,KAAKsG,MAAM0M,MAAMO,SAQ7C3Q,EAAMsR,UAAU+yB,KAAO,WAChBjnC,KAAK2wB,IAAI3d,MAAM7I,YAClBnK,KAAK02B,QAAQ/F,IAAIqI,SAAS9mB,YAAYlS,KAAK2wB,IAAI3d,OAG5ChT,KAAK2wB,IAAIoI,WAAW5uB,YACvBnK,KAAK02B,QAAQ/F,IAAIoI,WAAW7mB,YAAYlS,KAAK2wB,IAAIoI,YAG9C/4B,KAAK2wB,IAAI9jB,WAAW1C,YACvBnK,KAAK02B,QAAQ/F,IAAI9jB,WAAWqF,YAAYlS,KAAK2wB,IAAI9jB,YAG9C7M,KAAK2wB,IAAIoS,KAAK54B,YACjBnK,KAAK02B,QAAQ/F,IAAIoS,KAAK7wB,YAAYlS,KAAK2wB,IAAIoS,OAO/CngC,EAAMsR,UAAU8yB,KAAO,WACrB,GAAIh0B,GAAQhT,KAAK2wB,IAAI3d,KACjBA,GAAM7I,YACR6I,EAAM7I,WAAWyH,YAAYoB,EAG/B,IAAI+lB,GAAa/4B,KAAK2wB,IAAIoI,UACtBA,GAAW5uB,YACb4uB,EAAW5uB,WAAWyH,YAAYmnB,EAGpC,IAAIlsB,GAAa7M,KAAK2wB,IAAI9jB,UACtBA,GAAW1C,YACb0C,EAAW1C,WAAWyH,YAAY/E,EAGpC,IAAIk2B,GAAO/iC,KAAK2wB,IAAIoS,IAChBA,GAAK54B,YACP44B,EAAK54B,WAAWyH,YAAYmxB,IAQhCngC,EAAMsR,UAAUF,IAAM,SAASlE,GAc7B,GAbA9P,KAAKiC,MAAM6N,EAAKzP,IAAMyP,EACtBA,EAAKi3B,UAAU/mC,MAGY6G,SAAvBiJ,EAAK2D,KAAK6vB,WAC+Bz8B,SAAvC7G,KAAKojC,UAAUtzB,EAAK2D,KAAK6vB,YAC3BtjC,KAAKojC,UAAUtzB,EAAK2D,KAAK6vB,WAAa/vB,OAAO,EAAGkW,SAAS,EAAO/gB,MAAM1I,KAAK8oC,cAAe7mC,UAC1FjC,KAAK8oC,iBAEP9oC,KAAKojC,UAAUtzB,EAAK2D,KAAK6vB,UAAUrhC,MAAMsG,KAAKuH,IAEhD9P,KAAKyyC,iBAEkC,IAAnCzyC,KAAKwxC,aAAaxqC,QAAQ8I,GAAa,CACzC,GAAIwmB,GAAQt2B,KAAK02B,QAAQnB,KAAKe,KAC9Bt2B,MAAK0yC,gBAAgB5iC,EAAM9P,KAAKwxC,aAAclb,KAIlD1zB,EAAMsR,UAAUu+B,eAAiB,WAC/B,GAA6B5rC,SAAzB7G,KAAKsxC,gBAA+B,CACtC,GAAIqB,KACJ,IAAmC,gBAAxB3yC,MAAKsxC,gBAA6B,CAC3C,IAAK,GAAIhO,KAAYtjC,MAAKojC,UACxBuP,EAAUpqC,MAAM+6B,SAAUA,EAAUsP,UAAW5yC,KAAKojC,UAAUE,GAAUrhC,MAAM,GAAGwR,KAAKzT,KAAKsxC,kBAE7FqB,GAAUz7B,KAAK,SAAUtR,EAAGC,GAC1B,MAAOD,GAAEgtC,UAAY/sC,EAAE+sC,gBAGtB,IAAmC,kBAAxB5yC,MAAKsxC,gBAA+B,CAClD,IAAK,GAAIhO,KAAYtjC,MAAKojC,UACxBuP,EAAUpqC,KAAKvI,KAAKojC,UAAUE,GAAUrhC,MAAM,GAAGwR,KAEnDk/B,GAAUz7B,KAAKlX,KAAKsxC,iBAGtB,GAAIqB,EAAU1sC,OAAS,EACrB,IAAK,GAAIH,GAAI,EAAGA,EAAI6sC,EAAU1sC,OAAQH,IACpC9F,KAAKojC,UAAUuP,EAAU7sC,GAAGw9B,UAAU56B,MAAQ5C,IAMtDlD,EAAMsR,UAAUs+B,eAAiB,WAC/B,IAAK,GAAIlP,KAAYtjC,MAAKojC,UACpBpjC,KAAKojC,UAAUh9B,eAAek9B,KAChCtjC,KAAKojC,UAAUE,GAAU7Z,SAAU,IASzC7mB,EAAMsR,UAAUmD,OAAS,SAASvH,SACzB9P,MAAKiC,MAAM6N,EAAKzP,IACvByP,EAAKi3B,UAAU,KAGf,IAAIr+B,GAAQ1I,KAAKwxC,aAAaxqC,QAAQ8I,EACzB,KAATpH,GAAa1I,KAAKwxC,aAAa7oC,OAAOD,EAAO,IAUnD9F,EAAMsR,UAAUyzB,kBAAoB,SAAS73B,GAC3C9P,KAAK02B,QAAQmc,WAAW/iC,EAAKzP,KAO/BuC,EAAMsR,UAAUuC,MAAQ,WAKtB,IAAK,GAJD1N,GAAQpI,EAAKmI,QAAQ9I,KAAKiC,OAC1B6wC,KACAC,KAEKjtC,EAAI,EAAGA,EAAIiD,EAAM9C,OAAQH,IACNe,SAAtBkC,EAAMjD,GAAG2N,KAAKnD,KAChByiC,EAASxqC,KAAKQ,EAAMjD,IAEtBgtC,EAAWvqC,KAAKQ,EAAMjD,GAExB9F,MAAKqP,cACHoiC,QAASqB,EACTpB,MAAOqB,GAGTjxC,EAAM2gC,aAAaziC,KAAKqP,aAAaoiC,SACrC3vC,EAAM4gC,WAAW1iC,KAAKqP,aAAaqiC,QAYrC9uC,EAAMsR,UAAUi+B,oBAAsB,SAAS9iC,EAAc2jC,EAAiB1c,GAC5E,GAKIxmB,GAAMhK,EALN0rC,KACAyB,KACA7f,GAAYkD,EAAMhmB,IAAMgmB,EAAMjmB,OAAS,EACvC6iC,EAAa5c,EAAMjmB,MAAQ+iB,EAC3B+f,EAAa7c,EAAMhmB,IAAM8iB,EAIzB9jB,EAAiB,SAAUhL,GAC7B,MAAiB4uC,GAAR5uC,EAA6B,GACpB6uC,GAAT7uC,EAA8B,EACA,EAMzC,IAAI0uC,EAAgB/sC,OAAS,EAC3B,IAAKH,EAAI,EAAGA,EAAIktC,EAAgB/sC,OAAQH,IACtC9F,KAAKozC,6BAA6BJ,EAAgBltC,GAAI0rC,EAAcyB,EAAoB3c,EAK5F,IAAI+c,GAAoB1yC,EAAKyO,mBAAmBC,EAAaoiC,QAASniC,EAAgB,OAAO,QAS7F,IANAtP,KAAKszC,cAAcD,EAAmBhkC,EAAaoiC,QAASD,EAAcyB,EAAoB,SAAUnjC,GACtG,MAAQA,GAAK2D,KAAKpD,MAAQ6iC,GAAcpjC,EAAK2D,KAAKpD,MAAQ8iC,IAK/B,GAAzBnzC,KAAK2xC,iBAEP,IADA3xC,KAAK2xC,kBAAmB,EACnB7rC,EAAI,EAAGA,EAAIuJ,EAAaqiC,MAAMzrC,OAAQH,IACzC9F,KAAKozC,6BAA6B/jC,EAAaqiC,MAAM5rC,GAAI0rC,EAAcyB,EAAoB3c,OAG1F,CAEH,GAAIid,GAAkB5yC,EAAKyO,mBAAmBC,EAAaqiC,MAAOpiC,EAAgB,OAAO,MAGzFtP,MAAKszC,cAAcC,EAAiBlkC,EAAaqiC,MAAOF,EAAcyB,EAAoB,SAAUnjC,GAClG,MAAQA,GAAK2D,KAAKnD,IAAM4iC,GAAcpjC,EAAK2D,KAAKnD,IAAM6iC,IAM1D,IAAKrtC,EAAI,EAAGA,EAAI0rC,EAAavrC,OAAQH,IACnCgK,EAAO0hC,EAAa1rC,GACfgK,EAAK02B,WAAW12B,EAAKm3B,OAE1Bn3B,EAAKq3B,aAgBP,OAAOqK,IAGT5uC,EAAMsR,UAAUo/B,cAAgB,SAAUE,EAAYvxC,EAAOuvC,EAAcyB,EAAoBQ,GAC7F,GAAI3jC,GACAhK,CAEJ,IAAkB,IAAd0tC,EAAkB,CACpB,IAAK1tC,EAAI0tC,EAAY1tC,GAAK,IACxBgK,EAAO7N,EAAM6D,IACT2tC,EAAe3jC,IAFQhK,IAMWe,SAAhCosC,EAAmBnjC,EAAKzP,MAC1B4yC,EAAmBnjC,EAAKzP,KAAM,EAC9BmxC,EAAajpC,KAAKuH,GAKxB,KAAKhK,EAAI0tC,EAAa,EAAG1tC,EAAI7D,EAAMgE,SACjC6J,EAAO7N,EAAM6D,IACT2tC,EAAe3jC,IAFsBhK,IAMHe,SAAhCosC,EAAmBnjC,EAAKzP,MAC1B4yC,EAAmBnjC,EAAKzP,KAAM,EAC9BmxC,EAAajpC,KAAKuH,MAmB5BlN,EAAMsR,UAAUw+B,gBAAkB,SAAS5iC,EAAM0hC,EAAclb,GACvDxmB,EAAKo3B,UAAU5Q,IACZxmB,EAAK02B,WAAW12B,EAAKm3B,OAE1Bn3B,EAAKq3B,cACLqK,EAAajpC,KAAKuH,IAGdA,EAAK02B,WAAW12B,EAAKk3B,QAgB/BpkC,EAAMsR,UAAUk/B,6BAA+B,SAAStjC,EAAM0hC,EAAcyB,EAAoB3c,GAC1FxmB,EAAKo3B,UAAU5Q,GACmBzvB,SAAhCosC,EAAmBnjC,EAAKzP,MAC1B4yC,EAAmBnjC,EAAKzP,KAAM,EAC9BmxC,EAAajpC,KAAKuH,IAIhBA,EAAK02B,WAAW12B,EAAKk3B,QAM7BnnC,EAAOD,QAAUgD,GAKb,SAAS/C,EAAQD,EAASM,GAW9B,QAAS2C,GAAiBo2B,EAASxlB,EAAMijB,GACvC9zB,EAAMrC,KAAKP,KAAMi5B,EAASxlB,EAAMijB,GAEhC12B,KAAKsT,MAAQ,EACbtT,KAAKuT,OAAS,EACdvT,KAAKiI,IAAM,EACXjI,KAAK6H,KAAO,EAfd,GACIjF,IADO1C,EAAoB,GACnBA,EAAoB,IAiBhC2C,GAAgBqR,UAAYtN,OAAOkI,OAAOlM,EAAMsR,WAShDrR,EAAgBqR,UAAUuO,OAAS,SAAS6T,EAAO3b,EAAQo3B,GACzD,GAAI9H,IAAU,CAEdjqC,MAAKwxC,aAAexxC,KAAKmyC,oBAAoBnyC,KAAKqP,aAAcrP,KAAKwxC,aAAclb,GAGnFt2B,KAAKsT,MAAQtT,KAAK2wB,IAAI9jB,WAAWmkB,YAGjChxB,KAAK2wB,IAAI9jB,WAAWa,MAAM6F,OAAU,GAGpC,KAAK,GAAIzN,GAAI,EAAGysC,EAAKvyC,KAAKwxC,aAAavrC,OAAYssC,EAAJzsC,EAAQA,IAAK,CAC1D,GAAIgK,GAAO9P,KAAKwxC,aAAa1rC,EAC7BgK,GAAKs3B,YAAYzsB,GAGnB,MAAOsvB,IAMTpnC,EAAgBqR,UAAU+yB,KAAO,WAC1BjnC,KAAK2wB,IAAI9jB,WAAW1C,YACvBnK,KAAK02B,QAAQ/F,IAAI9jB,WAAWqF,YAAYlS,KAAK2wB,IAAI9jB,aAIrDhN,EAAOD,QAAUiD,GAKb,SAAShD,EAAQD,EAASM,GA4B9B,QAAS4C,GAAQyyB,EAAMrmB,GACrBlP,KAAKu1B,KAAOA,EAEZv1B,KAAKi1B,gBACH9tB,KAAM,KACNguB,YAAa,SACb8T,MAAO,OACPnnC,OAAO,EACP4xC,WAAY,KAEZC,YAAY,EACZpM,UACEoC,YAAY,EACZoD,aAAa,EACb/4B,KAAK,EACLqD,QAAQ,GAGVshB,KAAO52B,EAAS42B,KAEhBib,MAAO,SAAU9jC,EAAMjH,GACrBA,EAASiH,IAEX+jC,SAAU,SAAU/jC,EAAMjH,GACxBA,EAASiH,IAEXgkC,OAAQ,SAAUhkC,EAAMjH,GACtBA,EAASiH,IAEXikC,SAAU,SAAUjkC,EAAMjH,GACxBA,EAASiH,IAEXkkC,SAAU,SAAUlkC,EAAMjH,GACxBA,EAASiH,IAGX6K,QACE7K,MACE0W,WAAY,GACZC,SAAU,IAEZsc,KAAM,IAER/d,QAAS,GAIXhlB,KAAKkP,QAAUvO,EAAKgF,UAAW3F,KAAKi1B,gBAGpCj1B,KAAKi0C,aACH9sC,MAAOkJ,MAAO,OAAQC,IAAK,SAG7BtQ,KAAKo8B,YACHtG,SAAUP,EAAK50B,KAAKm1B,SACpBI,OAAQX,EAAK50B,KAAKu1B,QAEpBl2B,KAAK2wB,OACL3wB,KAAKsG,SACLtG,KAAK8D,OAAS,IAEd,IAAIoR,GAAKlV,IACTA,MAAK22B,UAAY,KACjB32B,KAAK42B,WAAa,KAGlB52B,KAAKk0C,eACHlgC,IAAO,SAAUnK,EAAOgL,EAAQC,GAC9BI,EAAGi/B,OAAOt/B,EAAO5S,QAEnB2T,OAAU,SAAU/L,EAAOgL,EAAQC,GACjCI,EAAGk/B,UAAUv/B,EAAO5S,QAEtBoV,OAAU,SAAUxN,EAAOgL,EAAQC,GACjCI,EAAGm/B,UAAUx/B,EAAO5S,SAKxBjC,KAAKs0C,gBACHtgC,IAAO,SAAUnK,EAAOgL,EAAQC,GAC9BI,EAAGq/B,aAAa1/B,EAAO5S,QAEzB2T,OAAU,SAAU/L,EAAOgL,EAAQC,GACjCI,EAAGs/B,gBAAgB3/B,EAAO5S,QAE5BoV,OAAU,SAAUxN,EAAOgL,EAAQC,GACjCI,EAAGu/B,gBAAgB5/B,EAAO5S,SAI9BjC,KAAKiC,SACLjC,KAAK+0B,UACL/0B,KAAK00C,YAEL10C,KAAK20C,aACL30C,KAAK40C,YAAa,EAElB50C,KAAK60C,eAGL70C,KAAKs1B,UAELt1B,KAAKiU,WAAW/E,GAlIlB,GAAIw3B,GAASxmC,EAAoB,IAC7BS,EAAOT,EAAoB,GAC3BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/B6B,EAAW7B,EAAoB,IAC/BqC,EAAYrC,EAAoB,IAChC0C,EAAQ1C,EAAoB,IAC5B2C,EAAkB3C,EAAoB,IACtCkC,EAAUlC,EAAoB,IAC9BmC,EAAYnC,EAAoB,IAChCoC,EAAYpC,EAAoB,IAChCiC,EAAiBjC,EAAoB,IAGrC40C,EAAY,gBACZC,EAAa,gBAsHjBjyC,GAAQoR,UAAY,GAAI3R,GAGxBO,EAAQoV,OACNrL,WAAY1K,EACZumC,IAAKtmC,EACLk0B,MAAOh0B,EACPsQ,MAAOvQ,GAMTS,EAAQoR,UAAUohB,QAAU,WAC1B,GAAIhV,GAAQtO,SAASM,cAAc,MACnCgO,GAAMlY,UAAY,UAClBkY,EAAM,oBAAsBtgB,KAC5BA,KAAK2wB,IAAIrQ,MAAQA,CAGjB,IAAIzT,GAAamF,SAASM,cAAc,MACxCzF,GAAWzE,UAAY,aACvBkY,EAAMpO,YAAYrF,GAClB7M,KAAK2wB,IAAI9jB,WAAaA,CAGtB,IAAIksB,GAAa/mB,SAASM,cAAc,MACxCymB,GAAW3wB,UAAY,aACvBkY,EAAMpO,YAAY6mB,GAClB/4B,KAAK2wB,IAAIoI,WAAaA,CAGtB,IAAIgK,GAAO/wB,SAASM,cAAc,MAClCywB,GAAK36B,UAAY,OACjBpI,KAAK2wB,IAAIoS,KAAOA,CAGhB,IAAI/J,GAAWhnB,SAASM,cAAc,MACtC0mB,GAAS5wB,UAAY,WACrBpI,KAAK2wB,IAAIqI,SAAWA,EAGpBh5B,KAAKg1C,kBAGL,IAAIC,GAAkB,GAAIpyC,GAAgBkyC,EAAY,KAAM/0C,KAC5Di1C,GAAgBhO,OAChBjnC,KAAK+0B,OAAOggB,GAAcE,EAM1Bj1C,KAAK8D,OAAS4iC,EAAO1mC,KAAKu1B,KAAK5E,IAAI+H,iBACjC9uB,gBAAgB,IAIlB5J,KAAK8D,OAAOwQ,GAAG,QAAatU,KAAKqgC,SAAS3K,KAAK11B,OAC/CA,KAAK8D,OAAOwQ,GAAG,YAAatU,KAAKggC,aAAatK,KAAK11B,OACnDA,KAAK8D,OAAOwQ,GAAG,OAAatU,KAAKigC,QAAQvK,KAAK11B,OAC9CA,KAAK8D,OAAOwQ,GAAG,UAAatU,KAAKkgC,WAAWxK,KAAK11B,OAGjDA,KAAK8D,OAAOwQ,GAAG,MAAQtU,KAAKk1C,cAAcxf,KAAK11B,OAG/CA,KAAK8D,OAAOwQ,GAAG,OAAQtU,KAAKm1C,mBAAmBzf,KAAK11B,OAGpDA,KAAK8D,OAAOwQ,GAAG,YAAatU,KAAKo1C,WAAW1f,KAAK11B,OAGjDA,KAAKinC,QAmEPnkC,EAAQoR,UAAUD,WAAa,SAAS/E,GACtC,GAAIA,EAAS,CAEX,GAAIP,IAAU,OAAQ,QAAS,QAAS,UAAW,QAAS,aAAc,aAAc,iBAAkB,WAAW,OAAQ,OAC7HhO,GAAK0F,gBAAgBsI,EAAQ3O,KAAKkP,QAASA,GAEvC,eAAiBA,KACgB,gBAAxBA,GAAQimB,YACjBn1B,KAAKkP,QAAQimB,YAAcjmB,EAAQimB,YAEG,gBAAxBjmB,GAAQimB,aAA4B,QAAUjmB,GAAQimB,cACpEn1B,KAAKkP,QAAQimB,YAAcjmB,EAAQimB,YAAYrlB,OAI/C,UAAYZ,KACgB,gBAAnBA,GAAQyL,QACjB3a,KAAKkP,QAAQyL,OAAOooB,KAAO7zB,EAAQyL,OACnC3a,KAAKkP,QAAQyL,OAAO7K,KAAK0W,WAAatX,EAAQyL,OAC9C3a,KAAKkP,QAAQyL,OAAO7K,KAAK2W,SAAWvX,EAAQyL,QAEX,gBAAnBzL,GAAQyL,SACtBha,EAAK0F,iBAAiB,QAASrG,KAAKkP,QAAQyL,OAAQzL,EAAQyL,QACxD,QAAUzL,GAAQyL,SACe,gBAAxBzL,GAAQyL,OAAO7K,MACxB9P,KAAKkP,QAAQyL,OAAO7K,KAAK0W,WAAatX,EAAQyL,OAAO7K,KACrD9P,KAAKkP,QAAQyL,OAAO7K,KAAK2W,SAAWvX,EAAQyL,OAAO7K,MAEb,gBAAxBZ,GAAQyL,OAAO7K,MAC7BnP,EAAK0F,iBAAiB,aAAc,YAAarG,KAAKkP,QAAQyL,OAAO7K,KAAMZ,EAAQyL,OAAO7K,SAM9F,YAAcZ,KACgB,iBAArBA,GAAQq4B,UACjBvnC,KAAKkP,QAAQq4B,SAASoC,WAAcz6B,EAAQq4B,SAC5CvnC,KAAKkP,QAAQq4B,SAASwF,YAAc79B,EAAQq4B,SAC5CvnC,KAAKkP,QAAQq4B,SAASvzB,IAAc9E,EAAQq4B,SAC5CvnC,KAAKkP,QAAQq4B,SAASlwB,OAAcnI,EAAQq4B,UAET,gBAArBr4B,GAAQq4B,UACtB5mC,EAAK0F,iBAAiB,aAAc,cAAe,MAAO,UAAWrG,KAAKkP,QAAQq4B,SAAUr4B,EAAQq4B,UAKxG,IAAI8N,GAAc,SAAWp+B,GAC3B,GAAIkD,GAAKjL,EAAQ+H,EACjB,IAAIkD,EAAI,CACN,KAAMA,YAAcm7B,WAClB,KAAM,IAAI1xC,OAAM,UAAYqT,EAAO,uBAAyBA,EAAO,mBAErEjX,MAAKkP,QAAQ+H,GAAQkD,IAEtBub,KAAK11B,OACP,QAAS,WAAY,WAAY,SAAU,YAAY4I,QAAQysC,GAGhEr1C,KAAKm3B,cASTr0B,EAAQoR,UAAUijB,UAAY,SAASjoB,GACrClP,KAAK00C,YACL10C,KAAK40C,YAAa,EAEd1lC,GAAWA,EAAQkoB,cACrBz2B,EAAKiI,QAAQ5I,KAAKiC,MAAO,SAAU6N,GACjCA,EAAK22B,OAAQ,EACT32B,EAAK02B,WAAW12B,EAAK2S,YAQ/B3f,EAAQoR,UAAUG,QAAU,WAC1BrU,KAAKgnC,OACLhnC,KAAKg3B,SAAS,MACdh3B,KAAK+2B,UAAU,MAEf/2B,KAAK8D,OAAS,KAEd9D,KAAKu1B,KAAO,KACZv1B,KAAKo8B,WAAa,MAMpBt5B,EAAQoR,UAAU8yB,KAAO,WAEnBhnC,KAAK2wB,IAAIrQ,MAAMnW,YACjBnK,KAAK2wB,IAAIrQ,MAAMnW,WAAWyH,YAAY5R,KAAK2wB,IAAIrQ,OAI7CtgB,KAAK2wB,IAAIoS,KAAK54B,YAChBnK,KAAK2wB,IAAIoS,KAAK54B,WAAWyH,YAAY5R,KAAK2wB,IAAIoS,MAI5C/iC,KAAK2wB,IAAIqI,SAAS7uB,YACpBnK,KAAK2wB,IAAIqI,SAAS7uB,WAAWyH,YAAY5R,KAAK2wB,IAAIqI,WAQtDl2B,EAAQoR,UAAU+yB,KAAO,WAElBjnC,KAAK2wB,IAAIrQ,MAAMnW,YAClBnK,KAAKu1B,KAAK5E,IAAI5D,OAAO7a,YAAYlS,KAAK2wB,IAAIrQ,OAIvCtgB,KAAK2wB,IAAIoS,KAAK54B,YACjBnK,KAAKu1B,KAAK5E,IAAI2Z,mBAAmBp4B,YAAYlS,KAAK2wB,IAAIoS,MAInD/iC,KAAK2wB,IAAIqI,SAAS7uB,YACrBnK,KAAKu1B,KAAK5E,IAAI9oB,KAAKqK,YAAYlS,KAAK2wB,IAAIqI,WAW5Cl2B,EAAQoR,UAAU0jB,aAAe,SAASzhB,GACxC,GAAIrQ,GAAGysC,EAAIlyC,EAAIyP,CAMf,KAJWjJ,QAAPsP,IAAkBA,MACjB5P,MAAMC,QAAQ2P,KAAMA,GAAOA,IAG3BrQ,EAAI,EAAGysC,EAAKvyC,KAAK20C,UAAU1uC,OAAYssC,EAAJzsC,EAAQA,IAC9CzF,EAAKL,KAAK20C,UAAU7uC,GACpBgK,EAAO9P,KAAKiC,MAAM5B,GACdyP,GAAMA,EAAK82B,UAKjB,KADA5mC,KAAK20C,aACA7uC,EAAI,EAAGysC,EAAKp8B,EAAIlQ,OAAYssC,EAAJzsC,EAAQA,IACnCzF,EAAK8V,EAAIrQ,GACTgK,EAAO9P,KAAKiC,MAAM5B,GACdyP,IACF9P,KAAK20C,UAAUpsC,KAAKlI,GACpByP,EAAK62B,WASX7jC,EAAQoR,UAAU4jB,aAAe,WAC/B,MAAO93B,MAAK20C,UAAU5/B,YAOxBjS,EAAQoR,UAAUqhC,gBAAkB,WAClC,GAAIjf,GAAQt2B,KAAKu1B,KAAKe,MAAM+K,WACxBx5B,EAAQ7H,KAAKu1B,KAAK50B,KAAKm1B,SAASQ,EAAMjmB,OACtCgY,EAAQroB,KAAKu1B,KAAK50B,KAAKm1B,SAASQ,EAAMhmB,KAEtC6F,IACJ,KAAK,GAAI8iB,KAAWj5B,MAAK+0B,OACvB,GAAI/0B,KAAK+0B,OAAO3uB,eAAe6yB,GAM7B,IAAK,GALDvmB,GAAQ1S,KAAK+0B,OAAOkE,GACpBuc,EAAkB9iC,EAAM8+B,aAInB1rC,EAAI,EAAGA,EAAI0vC,EAAgBvvC,OAAQH,IAAK,CAC/C,GAAIgK,GAAO0lC,EAAgB1vC,EAEtBgK,GAAKjI,KAAOwgB,GAAWvY,EAAKjI,KAAOiI,EAAKwD,MAAQzL,GACnDsO,EAAI5N,KAAKuH,EAAKzP,IAMtB,MAAO8V,IAQTrT,EAAQoR,UAAUuhC,UAAY,SAASp1C,GAErC,IAAK,GADDs0C,GAAY30C,KAAK20C,UACZ7uC,EAAI,EAAGysC,EAAKoC,EAAU1uC,OAAYssC,EAAJzsC,EAAQA,IAC7C,GAAI6uC,EAAU7uC,IAAMzF,EAAI,CACtBs0C,EAAUhsC,OAAO7C,EAAG,EACpB,SASNhD,EAAQoR,UAAUuO,OAAS,WACzB,GAAI9H,GAAS3a,KAAKkP,QAAQyL,OACtB2b,EAAQt2B,KAAKu1B,KAAKe,MAClB1rB,EAASjK,EAAK4J,OAAOK,OACrBsE,EAAUlP,KAAKkP,QACfimB,EAAcjmB,EAAQimB,YACtB8U,GAAU,EACV3pB,EAAQtgB,KAAK2wB,IAAIrQ,MACjBinB,EAAWr4B,EAAQq4B,SAASoC,YAAcz6B,EAAQq4B,SAASwF,WAG/D/sC,MAAKsG,MAAM2B,IAAMjI,KAAKu1B,KAAKC,SAASvtB,IAAIsL,OAASvT,KAAKu1B,KAAKC,SAAS1oB,OAAO7E,IAC3EjI,KAAKsG,MAAMuB,KAAO7H,KAAKu1B,KAAKC,SAAS3tB,KAAKyL,MAAQtT,KAAKu1B,KAAKC,SAAS1oB,OAAOjF,KAG5EyY,EAAMlY,UAAY,WAAam/B,EAAW,YAAc,IAGxD0C,EAAUjqC,KAAK01C,gBAAkBzL,CAIjC,IAAI0L,GAAkBrf,EAAMhmB,IAAMgmB,EAAMjmB,MACpCulC,EAAUD,GAAmB31C,KAAK61C,qBAAyB71C,KAAKsG,MAAMgN,OAAStT,KAAKsG,MAAMwvC,SAC1FF,KAAQ51C,KAAK40C,YAAa,GAC9B50C,KAAK61C,oBAAsBF,EAC3B31C,KAAKsG,MAAMwvC,UAAY91C,KAAKsG,MAAMgN,KAElC,IAAIy+B,GAAU/xC,KAAK40C,WACfmB,EAAa/1C,KAAKg2C,cAClBC,GACFnmC,KAAM6K,EAAO7K,KACbizB,KAAMpoB,EAAOooB,MAEXmT,GACFpmC,KAAM6K,EAAO7K,KACbizB,KAAMpoB,EAAO7K,KAAK2W,SAAW,GAE3BlT,EAAS,EACT8hB,EAAY1a,EAAOooB,KAAOpoB,EAAO7K,KAAK2W,QA+B1C,OA5BAzmB,MAAK+0B,OAAOggB,GAAYtyB,OAAO6T,EAAO4f,EAAgBnE,GAGtDpxC,EAAKiI,QAAQ5I,KAAK+0B,OAAQ,SAAUriB,GAClC,GAAIyjC,GAAezjC,GAASqjC,EAAcE,EAAcC,EACpDE,EAAe1jC,EAAM+P,OAAO6T,EAAO6f,EAAapE,EACpD9H,GAAUmM,GAAgBnM,EAC1B12B,GAAUb,EAAMa,SAElBA,EAAS/O,KAAKJ,IAAImP,EAAQ8hB,GAC1Br1B,KAAK40C,YAAa,EAGlBt0B,EAAM5S,MAAM6F,OAAU3I,EAAO2I,GAG7BvT,KAAKsG,MAAMgN,MAAQgN,EAAM0Q,YACzBhxB,KAAKsG,MAAMiN,OAASA,EAGpBvT,KAAK2wB,IAAIoS,KAAKr1B,MAAMzF,IAAM2C,EAAuB,OAAfuqB,EAC7Bn1B,KAAKu1B,KAAKC,SAASvtB,IAAIsL,OAASvT,KAAKu1B,KAAKC,SAAS1oB,OAAO7E,IAC1DjI,KAAKu1B,KAAKC,SAASvtB,IAAIsL,OAASvT,KAAKu1B,KAAKC,SAASkD,gBAAgBnlB,QACxEvT,KAAK2wB,IAAIoS,KAAKr1B,MAAM7F,KAAO,IAG3BoiC,EAAUjqC,KAAKgqC,cAAgBC,GAUjCnnC,EAAQoR,UAAU8hC,YAAc,WAC9B,GAAIK,GAA+C,OAA5Br2C,KAAKkP,QAAQimB,YAAwB,EAAKn1B,KAAK00C,SAASzuC,OAAS,EACpFqwC,EAAet2C,KAAK00C,SAAS2B,GAC7BN,EAAa/1C,KAAK+0B,OAAOuhB,IAAiBt2C,KAAK+0B,OAAO+f,EAE1D,OAAOiB,IAAc,MAQvBjzC,EAAQoR,UAAU8gC,iBAAmB,WACnC,CAAA,GAEIllC,GAAMyG,EAFNggC,EAAYv2C,KAAK+0B,OAAO+f,EACX90C,MAAK+0B,OAAOggB,GAG7B,GAAI/0C,KAAK42B,YAEP,GAAI2f,EAAW,CACbA,EAAUvP,aACHhnC,MAAK+0B,OAAO+f,EAEnB,KAAKv+B,IAAUvW,MAAKiC,MAClB,GAAIjC,KAAKiC,MAAMmE,eAAemQ,GAAS,CACrCzG,EAAO9P,KAAKiC,MAAMsU,GAClBzG,EAAKzF,QAAUyF,EAAKzF,OAAOgN,OAAOvH,EAClC,IAAImpB,GAAUj5B,KAAKw2C,YAAY1mC,EAAK2D,MAChCf,EAAQ1S,KAAK+0B,OAAOkE,EACxBvmB,IAASA,EAAMsB,IAAIlE,IAASA,EAAKk3B,aAOvC,KAAKuP,EAAW,CACd,GAAIl2C,GAAK,KACLoT,EAAO,IACX8iC,GAAY,GAAI3zC,GAAMvC,EAAIoT,EAAMzT,MAChCA,KAAK+0B,OAAO+f,GAAayB,CAEzB,KAAKhgC,IAAUvW,MAAKiC,MACdjC,KAAKiC,MAAMmE,eAAemQ,KAC5BzG,EAAO9P,KAAKiC,MAAMsU,GAClBggC,EAAUviC,IAAIlE,GAIlBymC,GAAUtP,SAShBnkC,EAAQoR,UAAUuiC,YAAc,WAC9B,MAAOz2C,MAAK2wB,IAAIqI,UAOlBl2B,EAAQoR,UAAU8iB,SAAW,SAAS/0B,GACpC,GACIkU,GADAjB,EAAKlV,KAEL02C,EAAe12C,KAAK22B,SAGxB,IAAK10B,EAGA,CAAA,KAAIA,YAAiBpB,IAAWoB,YAAiBnB,IAIpD,KAAM,IAAI4F,WAAU,kDAHpB1G,MAAK22B,UAAY10B,MAHjBjC,MAAK22B,UAAY,IAoBnB,IAXI+f,IAEF/1C,EAAKiI,QAAQ5I,KAAKk0C,cAAe,SAAUrrC,EAAUgB,GACnD6sC,EAAajiC,IAAI5K,EAAOhB,KAI1BsN,EAAMugC,EAAa7/B,SACnB7W,KAAKq0C,UAAUl+B,IAGbnW,KAAK22B,UAAW,CAElB,GAAIt2B,GAAKL,KAAKK,EACdM,GAAKiI,QAAQ5I,KAAKk0C,cAAe,SAAUrrC,EAAUgB,GACnDqL,EAAGyhB,UAAUriB,GAAGzK,EAAOhB,EAAUxI,KAInC8V,EAAMnW,KAAK22B,UAAU9f,SACrB7W,KAAKm0C,OAAOh+B,GAGZnW,KAAKg1C,qBAQTlyC,EAAQoR,UAAUyiC,SAAW,WAC3B,MAAO32C,MAAK22B,WAOd7zB,EAAQoR,UAAU6iB,UAAY,SAAShC,GACrC,GACI5e,GADAjB,EAAKlV,IAgBT,IAZIA,KAAK42B,aACPj2B,EAAKiI,QAAQ5I,KAAKs0C,eAAgB,SAAUzrC,EAAUgB,GACpDqL,EAAG0hB,WAAWjiB,YAAY9K,EAAOhB,KAInCsN,EAAMnW,KAAK42B,WAAW/f,SACtB7W,KAAK42B,WAAa,KAClB52B,KAAKy0C,gBAAgBt+B,IAIlB4e,EAGA,CAAA,KAAIA,YAAkBl0B,IAAWk0B,YAAkBj0B,IAItD,KAAM,IAAI4F,WAAU,kDAHpB1G,MAAK42B,WAAa7B,MAHlB/0B,MAAK42B,WAAa,IASpB,IAAI52B,KAAK42B,WAAY,CAEnB,GAAIv2B,GAAKL,KAAKK,EACdM,GAAKiI,QAAQ5I,KAAKs0C,eAAgB,SAAUzrC,EAAUgB,GACpDqL,EAAG0hB,WAAWtiB,GAAGzK,EAAOhB,EAAUxI,KAIpC8V,EAAMnW,KAAK42B,WAAW/f,SACtB7W,KAAKu0C,aAAap+B,GAIpBnW,KAAKg1C,mBAGLh1C,KAAK42C,SAEL52C,KAAKu1B,KAAKE,QAAQhH,KAAK,UAAWta,OAAO,KAO3CrR,EAAQoR,UAAU2iC,UAAY,WAC5B,MAAO72C,MAAK42B,YAOd9zB,EAAQoR,UAAU2+B,WAAa,SAASxyC,GACtC,GAAIyP,GAAO9P,KAAK22B,UAAU1gB,IAAI5V,GAC1B43B,EAAUj4B,KAAK22B,UAAU7f,YAEzBhH,IAEF9P,KAAKkP,QAAQ6kC,SAASjkC,EAAM,SAAUA,GAChCA,GAGFmoB,EAAQ5gB,OAAOhX,MAYvByC,EAAQoR,UAAU4iC,SAAW,SAAU/e,GACrC,MAAOA,GAAS5wB,MAAQnH,KAAKkP,QAAQ/H,OAAS4wB,EAASznB,IAAM,QAAU,QAUzExN,EAAQoR,UAAUsiC,YAAc,SAAUze,GACxC,GAAI5wB,GAAOnH,KAAK82C,SAAS/e,EACzB,OAAY,cAAR5wB,GAA0CN,QAAlBkxB,EAASrlB,MAC7BqiC,EAGC/0C,KAAK42B,WAAamB,EAASrlB,MAAQoiC,GAS9ChyC,EAAQoR,UAAUkgC,UAAY,SAASj+B,GACrC,GAAIjB,GAAKlV,IAETmW,GAAIvN,QAAQ,SAAUvI,GACpB,GAAI03B,GAAW7iB,EAAGyhB,UAAU1gB,IAAI5V,EAAI6U,EAAG++B,aACnCnkC,EAAOoF,EAAGjT,MAAM5B,GAChB8G,EAAO+N,EAAG4hC,SAAS/e,GAEnBpxB,EAAc7D,EAAQoV,MAAM/Q,EAchC,IAZI2I,IAEGnJ,GAAiBmJ,YAAgBnJ,GAMpCuO,EAAGc,YAAYlG,EAAMioB,IAJrB7iB,EAAG6hC,YAAYjnC,GACfA,EAAO,QAONA,EAAM,CAET,IAAInJ,EAKC,KAEG,IAAID,WAFK,iBAARS,EAEa,4HAIA,sBAAwBA,EAAO,IAVnD2I,GAAO,GAAInJ,GAAYoxB,EAAU7iB,EAAGknB,WAAYlnB,EAAGhG,SACnDY,EAAKzP,GAAKA,EACV6U,EAAGC,SAASrF,MAalB9P,KAAK42C,SACL52C,KAAK40C,YAAa,EAClB50C,KAAKu1B,KAAKE,QAAQhH,KAAK,UAAWta,OAAO,KAQ3CrR,EAAQoR,UAAUigC,OAASrxC,EAAQoR,UAAUkgC,UAO7CtxC,EAAQoR,UAAUmgC,UAAY,SAASl+B,GACrC,GAAI6B,GAAQ,EACR9C,EAAKlV,IACTmW,GAAIvN,QAAQ,SAAUvI,GACpB,GAAIyP,GAAOoF,EAAGjT,MAAM5B,EAChByP,KACFkI,IACA9C,EAAG6hC,YAAYjnC,MAIfkI,IAEFhY,KAAK42C,SACL52C,KAAK40C,YAAa,EAClB50C,KAAKu1B,KAAKE,QAAQhH,KAAK,UAAWta,OAAO,MAQ7CrR,EAAQoR,UAAU0iC,OAAS,WAGzBj2C,EAAKiI,QAAQ5I,KAAK+0B,OAAQ,SAAUriB,GAClCA,EAAM+D,WASV3T,EAAQoR,UAAUsgC,gBAAkB,SAASr+B,GAC3CnW,KAAKu0C,aAAap+B,IAQpBrT,EAAQoR,UAAUqgC,aAAe,SAASp+B,GACxC,GAAIjB,GAAKlV,IAETmW,GAAIvN,QAAQ,SAAUvI,GACpB,GAAI8wC,GAAYj8B,EAAG0hB,WAAW3gB,IAAI5V,GAC9BqS,EAAQwC,EAAG6f,OAAO10B,EAEtB,IAAKqS,EA6BHA,EAAMsG,QAAQm4B,OA7BJ,CAEV,GAAI9wC,GAAMy0C,GAAaz0C,GAAM00C,EAC3B,KAAM,IAAInxC,OAAM,qBAAuBvD,EAAK,qBAG9C,IAAI22C,GAAepwC,OAAOkI,OAAOoG,EAAGhG,QACpCvO,GAAKgF,OAAOqxC,GACVzjC,OAAQ,OAGVb,EAAQ,GAAI9P,GAAMvC,EAAI8wC,EAAWj8B,GACjCA,EAAG6f,OAAO10B,GAAMqS,CAGhB,KAAK,GAAI6D,KAAUrB,GAAGjT,MACpB,GAAIiT,EAAGjT,MAAMmE,eAAemQ,GAAS,CACnC,GAAIzG,GAAOoF,EAAGjT,MAAMsU,EAChBzG,GAAK2D,KAAKf,OAASrS,GACrBqS,EAAMsB,IAAIlE,GAKhB4C,EAAM+D,QACN/D,EAAMu0B,UAQVjnC,KAAKu1B,KAAKE,QAAQhH,KAAK,UAAWta,OAAO,KAQ3CrR,EAAQoR,UAAUugC,gBAAkB,SAASt+B,GAC3C,GAAI4e,GAAS/0B,KAAK+0B,MAClB5e,GAAIvN,QAAQ,SAAUvI,GACpB,GAAIqS,GAAQqiB,EAAO10B,EAEfqS,KACFA,EAAMs0B,aACCjS,GAAO10B,MAIlBL,KAAKm3B,YAELn3B,KAAKu1B,KAAKE,QAAQhH,KAAK,UAAWta,OAAO,KAQ3CrR,EAAQoR,UAAUwhC,aAAe,WAC/B,GAAI11C,KAAK42B,WAAY,CAEnB,GAAI8d,GAAW10C,KAAK42B,WAAW/f,QAC7BJ,MAAOzW,KAAKkP,QAAQwkC,aAGlBxS,GAAWvgC,EAAKsG,WAAWytC,EAAU10C,KAAK00C,SAC9C,IAAIxT,EAAS,CAEX,GAAInM,GAAS/0B,KAAK+0B,MAClB2f,GAAS9rC,QAAQ,SAAUqwB,GACzBlE,EAAOkE,GAAS+N,SAIlB0N,EAAS9rC,QAAQ,SAAUqwB,GACzBlE,EAAOkE,GAASgO,SAGlBjnC,KAAK00C,SAAWA,EAGlB,MAAOxT,GAGP,OAAO,GASXp+B,EAAQoR,UAAUiB,SAAW,SAASrF,GACpC9P,KAAKiC,MAAM6N,EAAKzP,IAAMyP,CAGtB,IAAImpB,GAAUj5B,KAAKw2C,YAAY1mC,EAAK2D,MAChCf,EAAQ1S,KAAK+0B,OAAOkE,EACpBvmB,IAAOA,EAAMsB,IAAIlE,IASvBhN,EAAQoR,UAAU8B,YAAc,SAASlG,EAAMioB,GAC7C,GAAIkf,GAAannC,EAAK2D,KAAKf,MACvBwkC,EAAgBpnC,EAAK2D,KAAK6vB,QAM9B,IAHAxzB,EAAKkJ,QAAQ+e,GAGTkf,GAAcnnC,EAAK2D,KAAKf,OAASwkC,GAAiBpnC,EAAK2D,KAAK6vB,SAAU,CACxE,GAAI6T,GAAWn3C,KAAK+0B,OAAOkiB,EACvBE,IAAUA,EAAS9/B,OAAOvH,EAE9B,IAAImpB,GAAUj5B,KAAKw2C,YAAY1mC,EAAK2D,MAChCf,EAAQ1S,KAAK+0B,OAAOkE,EACpBvmB,IAAOA,EAAMsB,IAAIlE,KAUzBhN,EAAQoR,UAAU6iC,YAAc,SAASjnC,GAEvCA,EAAKk3B,aAGEhnC,MAAKiC,MAAM6N,EAAKzP,GAGvB,IAAIqI,GAAQ1I,KAAK20C,UAAU3tC,QAAQ8I,EAAKzP,GAC3B,KAATqI,GAAa1I,KAAK20C,UAAUhsC,OAAOD,EAAO,GAG9CoH,EAAKzF,QAAUyF,EAAKzF,OAAOgN,OAAOvH,IASpChN,EAAQoR,UAAUkjC,qBAAuB,SAASruC,GAGhD,IAAK,GAFDgqC,MAEKjtC,EAAI,EAAGA,EAAIiD,EAAM9C,OAAQH,IAC5BiD,EAAMjD,YAAcxD,IACtBywC,EAASxqC,KAAKQ,EAAMjD,GAGxB,OAAOitC,IAYTjwC,EAAQoR,UAAUmsB,SAAW,SAAUx2B,GAErC7J,KAAK60C,YAAY/kC,KAAO9P,KAAKq4B,eAAexuB,IAQ9C/G,EAAQoR,UAAU8rB,aAAe,SAAUn2B,GACzC,GAAK7J,KAAKkP,QAAQq4B,SAASoC,YAAe3pC,KAAKkP,QAAQq4B,SAASwF,YAAhE,CAIA,GAEIzmC,GAFAwJ,EAAO9P,KAAK60C,YAAY/kC,MAAQ,KAChCoF,EAAKlV,IAGT,IAAI8P,GAAQA,EAAKy2B,SAAU,CACzB,GAAIsD,GAAehgC,EAAMG,OAAO6/B,aAC5BE,EAAgBlgC,EAAMG,OAAO+/B;;AAE7BF,GACFvjC,GACEwJ,KAAM+5B,EACNwN,SAAUxtC,EAAM2uB,QAAQzL,OAAOwL,MAC/BqR,UAAW,EACXn2B,KAAM9S,EAAKgF,UAAWmK,EAAK2D,OAG7BzT,KAAK60C,YAAYyC,WAAahxC,IAEvByjC,GACPzjC,GACEwJ,KAAMi6B,EACNsN,SAAUxtC,EAAM2uB,QAAQzL,OAAOwL,MAC/BuR,WAAW,EACXr2B,KAAM9S,EAAKgF,UAAWmK,EAAK2D,OAG7BzT,KAAK60C,YAAYyC,WAAahxC,IAG9BtG,KAAK60C,YAAYyC,UAAYt3C,KAAK83B,eAAehqB,IAAI,SAAUzN,GAC7D,GAAIyP,GAAOoF,EAAGjT,MAAM5B,GAChBiG,GACFwJ,KAAMA,EACNunC,SAAUxtC,EAAM2uB,QAAQzL,OAAOwL,MAC/B9kB,KAAM9S,EAAKgF,UAAWmK,EAAK2D,MAG7B,OAAOnN,KAIXuD,EAAM69B,sBAEC1nC,MAAKkP,QAAQq4B,SAASvzB,KAAOnK,EAAM2uB,QAAQ+e,SAASC,SAE3Dx3C,KAAKy3C,oBAAoB5tC,KAS7B/G,EAAQoR,UAAUujC,oBAAsB,SAAU5tC,GAChD,GAAI8uB,GAAO34B,KAAKkP,QAAQypB,MAAQ,KAC5B+e,EAAO/2C,EAAK+G,gBAAgB1H,KAAK2wB,IAAIrQ,OACrC9N,EAAI3I,EAAM2uB,QAAQzL,OAAOwL,MAAQmf,EAAO,GACxC9e,EAAO54B,KAAKu1B,KAAK50B,KAAKu1B,OAAO1jB,GAC7BjO,EAAQvE,KAAKu1B,KAAK50B,KAAKi1B,WACvBzM,EAAOnpB,KAAKu1B,KAAK50B,KAAKm0B,UACtBzkB,EAAQsoB,EAAOA,EAAKC,EAAMr0B,EAAO4kB,GAAQ9Y,EACzCC,EAAMD,EAEN0nB,GACF5wB,KAAM,QACNkJ,MAAOA,EACPC,IAAKA,EACL6C,QAAS,YAGP9S,EAAKM,EAAK2E,YACdyyB,GAAS/3B,KAAK22B,UAAU/iB,UAAYvT,CAEpC,IAAIqS,GAAQ1S,KAAKs4B,gBAAgBzuB,EAC7B6I,KACFqlB,EAASrlB,MAAQA,EAAMumB,QAGzB,IAAI0e,GAAU,GAAIr1C,GAAUy1B,EAAU/3B,KAAKo8B,WAAYp8B,KAAKkP,QAC5DyoC,GAAQt3C,GAAKA,EACbs3C,EAAQlkC,KAAOskB,EACf/3B,KAAKmV,SAASwiC,EAEd,IAAIrxC,IACFwJ,KAAM6nC,EACN7N,WAAW,EACXuN,SAAUxtC,EAAM2uB,QAAQzL,OAAOwL,MAC/B9kB,KAAM9S,EAAKgF,UAAWoyB,GAExB/3B,MAAK60C,YAAYyC,WAAahxC,GAE9BuD,EAAM69B,mBAQR5kC,EAAQoR,UAAU+rB,QAAU,SAAUp2B,GAGpC,GAFAA,EAAMD,iBAEF5J,KAAK60C,YAAYyC,UAAW,CAC9BztC,EAAM69B,iBAEN,IAAIxyB,GAAKlV,KACL24B,EAAO34B,KAAKkP,QAAQypB,MAAQ,KAC5B1lB,EAAUjT,KAAKu1B,KAAK5E,IAAIjxB,KAAK4yC,WAAatyC,KAAKu1B,KAAKC,SAAS3tB,KAAKyL,MAClE/O,EAAQvE,KAAKu1B,KAAK50B,KAAKi1B,WACvBzM,EAAOnpB,KAAKu1B,KAAK50B,KAAKm0B,SAG1B90B,MAAK60C,YAAYyC,UAAU1uC,QAAQ,SAAUtC,GAC3C,GAAIy1B,GAAU7mB,EAAGqgB,KAAK50B,KAAKu1B,OAAOrsB,EAAM2uB,QAAQzL,OAAOwL,MAAQtlB,GAC3D2kC,EAAU1iC,EAAGqgB,KAAK50B,KAAKu1B,OAAO5vB,EAAM+wC,SAAWpkC,GAC/CyX,EAASqR,EAAU6b,EAEnB7f,EAAWp3B,EAAKgF,UAAWW,EAAMwJ,KAAK2D,KAE1C,IAAIyB,EAAGhG,QAAQq4B,SAASoC,WACtB,GAAIrjC,EAAMsjC,UAER,GAAsB/iC,QAAlBkxB,EAAS1nB,MAAoB,CAC/B,GAAIwnC,GAAel3C,EAAKuG,QAAQZ,EAAMmN,KAAKpD,MAAO,QAC9CA,EAAQ,GAAIzL,MAAKizC,EAAaxwC,UAAYqjB,EAC9CqN,GAAS1nB,MAAQsoB,EAAOA,EAAKtoB,EAAO9L,EAAO4kB,GAAQ9Y,OAGlD,IAAI/J,EAAMwjC,WAEb,GAAoBjjC,QAAhBkxB,EAASznB,IAAkB,CAC7B,GAAIwnC,GAAan3C,EAAKuG,QAAQZ,EAAMmN,KAAKnD,IAAK,QAC1CA,EAAM,GAAI1L,MAAKkzC,EAAWzwC,UAAYqjB,EAC1CqN,GAASznB,IAAMqoB,EAAOA,EAAKroB,EAAK/L,EAAO4kB,GAAQ7Y,OAKjD,IAAsBzJ,QAAlBkxB,EAAS1nB,MAAoB,CAC/B,GAAIwnC,GAAel3C,EAAKuG,QAAQZ,EAAMmN,KAAKpD,MAAO,QAAQhJ,UACtDgJ,EAAQ,GAAIzL,MAAKizC,EAAentB,EAEpC,IAAoB7jB,QAAhBkxB,EAASznB,IAAkB,CAC7B,GAAIwnC,GAAan3C,EAAKuG,QAAQZ,EAAMmN,KAAKnD,IAAK,QAC1CC,EAAYunC,EAAWzwC,UAAYwwC,EAAaxwC,SAEpD0wB,GAAS1nB,MAAQsoB,EAAOA,EAAKtoB,EAAO9L,EAAO4kB,GAAQ9Y,EACnD0nB,EAASznB,IAAQ,GAAI1L,MAAKmzB,EAAS1nB,MAAMhJ,UAAYkJ,OAGrDwnB,GAAS1nB,MAAQsoB,EAAOA,EAAKtoB,EAAO9L,EAAO4kB,GAAQ9Y,EAM3D,GAAI6E,EAAGhG,QAAQq4B,SAASwF,cAAiBzmC,EAAMsjC,WAAatjC,EAAMwjC,WAC1CjjC,QAAlBkxB,EAASrlB,MAAoB,CAE/B,GAAIA,GAAQwC,EAAGojB,gBAAgBzuB,EAC3B6I,KACFqlB,EAASrlB,MAAQA,EAAMumB,SAM7B/jB,EAAGhG,QAAQ8kC,SAASjc,EAAU,SAAUA,GAClCA,GACFzxB,EAAMwJ,KAAKkJ,QAAQ+e,OAKzB/3B,KAAK40C,YAAa,EAClB50C,KAAKu1B,KAAKE,QAAQhH,KAAK,YAU3B3rB,EAAQoR,UAAU4yB,aAAe,SAASh3B,EAAMmpB,GAC9C,GAAIvmB,GAAQ1S,KAAK+0B,OAAOkE,EACxB,IAAIvmB,GAASA,EAAMumB,SAAWnpB,EAAK2D,KAAKf,MAAO,CAC7C,GAAIykC,GAAWrnC,EAAKzF,MACpB8sC,GAAS9/B,OAAOvH,GAChBqnC,EAAS1gC,QACT/D,EAAMsB,IAAIlE,GACV4C,EAAM+D,QAEN3G,EAAK2D,KAAKf,MAAQA,EAAMumB,UAS5Bn2B,EAAQoR,UAAUgsB,WAAa,SAAUr2B,GAGvC,GAFAA,EAAMD,iBAEF5J,KAAK60C,YAAYyC,UAAW,CAC9BztC,EAAM69B,iBAGN,IAAIqQ,MACA7iC,EAAKlV,KACLi4B,EAAUj4B,KAAK22B,UAAU7f,aAEzBwgC,EAAYt3C,KAAK60C,YAAYyC,SACjCt3C,MAAK60C,YAAYyC,UAAY,KAC7BA,EAAU1uC,QAAQ,SAAUtC,GAC1B,GAAIjG,GAAKiG,EAAMwJ,KAAKzP,GAChB4X,EAAiD,MAAxC/C,EAAGyhB,UAAU1gB,IAAI5V,EAAI6U,EAAG++B,YAErC,IAAKh8B,EAaA,CAEH,GAAI8f,GAAWp3B,EAAKgF,UAAWW,EAAMwJ,KAAK2D,KAC1CyB,GAAGhG,QAAQ4kC,OAAO/b,EAAU,SAAUA,GAChCA,GAEFA,EAASE,EAAQrkB,UAAYvT,EAC7B03C,EAAQxvC,KAAKwvB,KAIbzxB,EAAMwJ,KAAKkJ,QAAQ1S,EAAMmN,MAEzByB,EAAG0/B,YAAa,EAChB1/B,EAAGqgB,KAAKE,QAAQhH,KAAK,iBAzBzBvZ,GAAGhG,QAAQ0kC,MAAMttC,EAAMwJ,KAAK2D,KAAM,SAAUskB,GAC1C7iB,EAAG6hC,YAAYzwC,EAAMwJ,MACjBioB,GACF7iB,EAAGyhB,UAAU7f,aAAa9C,IAAI+jB,GAIhC7iB,EAAG0/B,YAAa,EAChB1/B,EAAGqgB,KAAKE,QAAQhH,KAAK,cAwBvBspB,EAAQ9xC,QACVgyB,EAAQriB,OAAOmiC,KAUrBj1C,EAAQoR,UAAUghC,cAAgB,SAAUrrC,GAC1C,GAAK7J,KAAKkP,QAAQykC,WAAlB,CAEA,GAAI6D,GAAW3tC,EAAM2uB,QAAQ+e,UAAY1tC,EAAM2uB,QAAQ+e,SAASC,QAC5DQ,EAAWnuC,EAAM2uB,QAAQ+e,UAAY1tC,EAAM2uB,QAAQ+e,SAASS,QAChE,IAAIR,GAAWQ,EAEb,WADAh4C,MAAKm1C,mBAAmBtrC,EAI1B,IAAIouC,GAAej4C,KAAK83B,eAEpBhoB,EAAO9P,KAAKq4B,eAAexuB,GAC3B8qC,EAAY7kC,GAAQA,EAAKzP,MAC7BL,MAAK43B,aAAa+c,EAElB,IAAIuD,GAAel4C,KAAK83B,gBAIpBogB,EAAajyC,OAAS,GAAKgyC,EAAahyC,OAAS,IACnDjG,KAAKu1B,KAAKE,QAAQhH,KAAK,UACrBxsB,MAAOi2C,MAUbp1C,EAAQoR,UAAUkhC,WAAa,SAAUvrC,GACvC,GAAK7J,KAAKkP,QAAQykC,YACb3zC,KAAKkP,QAAQq4B,SAASvzB,IAA3B,CAEA,GAAIkB,GAAKlV,KACL24B,EAAO34B,KAAKkP,QAAQypB,MAAQ,KAC5B7oB,EAAO9P,KAAKq4B,eAAexuB,EAE/B,IAAIiG,EAAM,CAIR,GAAIioB,GAAW7iB,EAAGyhB,UAAU1gB,IAAInG,EAAKzP,GACrCL,MAAKkP,QAAQ2kC,SAAS9b,EAAU,SAAUA,GACpCA,GACF7iB,EAAGyhB,UAAU7f,aAAalB,OAAOmiB,SAIlC,CAEH,GAAI2f,GAAO/2C,EAAK+G,gBAAgB1H,KAAK2wB,IAAIrQ,OACrC9N,EAAI3I,EAAM2uB,QAAQzL,OAAOwL,MAAQmf,EACjCrnC,EAAQrQ,KAAKu1B,KAAK50B,KAAKu1B,OAAO1jB,GAC9BjO,EAAQvE,KAAKu1B,KAAK50B,KAAKi1B,WACvBzM,EAAOnpB,KAAKu1B,KAAK50B,KAAKm0B,UAEtB6iB,GACFtnC,MAAOsoB,EAAOA,EAAKtoB,EAAO9L,EAAO4kB,GAAQ9Y,EACzC8C,QAAS,WAIX,IAA0B,UAAtBnT,KAAKkP,QAAQ/H,KAAkB,CACjC,GAAImJ,GAAMtQ,KAAKu1B,KAAK50B,KAAKu1B,OAAO1jB,EAAIxS,KAAKsG,MAAMgN,MAAQ,EACvDqkC,GAAQrnC,IAAMqoB,EAAOA,EAAKroB,EAAK/L,EAAO4kB,GAAQ7Y,EAGhDqnC,EAAQ33C,KAAK22B,UAAU/iB,UAAYjT,EAAK2E,YAExC,IAAIoN,GAAQ1S,KAAKs4B,gBAAgBzuB,EAC7B6I,KACFilC,EAAQjlC,MAAQA,EAAMumB,SAIxBj5B,KAAKkP,QAAQ0kC,MAAM+D,EAAS,SAAU7nC,GAChCA,GACFoF,EAAGyhB,UAAU7f,aAAa9C,IAAIlE,QAYtChN,EAAQoR,UAAUihC,mBAAqB,SAAUtrC,GAC/C,GAAK7J,KAAKkP,QAAQykC,WAAlB,CAEA,GAAIgB,GACA7kC,EAAO9P,KAAKq4B,eAAexuB,EAE/B,IAAIiG,EAAM,CAER6kC,EAAY30C,KAAK83B,cAEjB,IAAIkgB,GAAWnuC,EAAM2uB,QAAQ2J,QAAQ,IAAMt4B,EAAM2uB,QAAQ2J,QAAQ,GAAG6V,WAAY,CAChF,IAAIA,EAAU,CAIZrD,EAAUpsC,KAAKuH,EAAKzP,GACpB,IAAIi2B,GAAQxzB,EAAQq1C,cAAcn4C,KAAK22B,UAAU1gB,IAAI0+B,EAAW30C,KAAKi0C,aAGrEU,KACA,KAAK,GAAIt0C,KAAML,MAAKiC,MAClB,GAAIjC,KAAKiC,MAAMmE,eAAe/F,GAAK,CACjC,GAAI+3C,GAAQp4C,KAAKiC,MAAM5B,GACnBgQ,EAAQ+nC,EAAM3kC,KAAKpD,MACnBC,EAA0BzJ,SAAnBuxC,EAAM3kC,KAAKnD,IAAqB8nC,EAAM3kC,KAAKnD,IAAMD,CAExDA,IAASimB,EAAMnyB,KACfmM,GAAOgmB,EAAMlyB,OACXg0C,YAAiBj2C,KACrBwyC,EAAUpsC,KAAK6vC,EAAM/3C,SAKxB,CAEH,GAAIqI,GAAQisC,EAAU3tC,QAAQ8I,EAAKzP,GACtB,KAATqI,EAEFisC,EAAUpsC,KAAKuH,EAAKzP,IAIpBs0C,EAAUhsC,OAAOD,EAAO,GAI5B1I,KAAK43B,aAAa+c,GAElB30C,KAAKu1B,KAAKE,QAAQhH,KAAK,UACrBxsB,MAAOjC,KAAK83B,oBAWlBh1B,EAAQq1C,cAAgB,SAASxhB,GAC/B,GAAIvyB,GAAM,KACND,EAAM,IAmBV,OAjBAwyB,GAAU/tB,QAAQ,SAAU6K,IACf,MAAPtP,GAAesP,EAAKpD,MAAQlM,KAC9BA,EAAMsP,EAAKpD,OAGGxJ,QAAZ4M,EAAKnD,KACI,MAAPlM,GAAeqP,EAAKnD,IAAMlM,KAC5BA,EAAMqP,EAAKnD,MAIF,MAAPlM,GAAeqP,EAAKpD,MAAQjM,KAC9BA,EAAMqP,EAAKpD,UAMflM,IAAKA,EACLC,IAAKA,IAUTtB,EAAQoR,UAAUmkB,eAAiB,SAASxuB,GAE1C,IADA,GAAIG,GAASH,EAAMG,OACZA,GAAQ,CACb,GAAIA,EAAO5D,eAAe,iBACxB,MAAO4D,GAAO,gBAEhBA,GAASA,EAAOG,WAGlB,MAAO,OASTrH,EAAQoR,UAAUokB,gBAAkB,SAASzuB,GAE3C,IAAK,GADD4uB,GAAQ5uB,EAAM2uB,QAAU3uB,EAAM2uB,QAAQzL,OAAO0L,MAAQ5uB,EAAM4uB,MACtD3yB,EAAI,EAAGA,EAAI9F,KAAK00C,SAASzuC,OAAQH,IAAK,CAC7C,GAAImzB,GAAUj5B,KAAK00C,SAAS5uC,GACxB4M,EAAQ1S,KAAK+0B,OAAOkE,GACpBF,EAAarmB,EAAMie,IAAIoI,WACvB9wB,EAAMtH,EAAKqH,eAAe+wB,EAC9B,IAAIN,EAAQxwB,GAAOwwB,EAAQxwB,EAAM8wB,EAAW7H,aAC1C,MAAOxe,EAGT,IAAiC,QAA7B1S,KAAKkP,QAAQimB,aACf,GAAIrvB,IAAM9F,KAAK00C,SAASzuC,OAAS,GAAKwyB,EAAQxwB,EAC5C,MAAOyK,OAIT,IAAU,IAAN5M,GAAW2yB,EAAQxwB,EAAM8wB,EAAWrO,OACtC,MAAOhY,GAKb,MAAO,OAST5P,EAAQu1C,kBAAoB,SAASxuC,GAEnC,IADA,GAAIG,GAASH,EAAMG,OACZA,GAAQ,CACb,GAAIA,EAAO5D,eAAe,oBACxB,MAAO4D,GAAO,mBAEhBA,GAASA,EAAOG,WAGlB,MAAO,OAGTtK,EAAOD,QAAUkD,GAKb,SAASjD,EAAQD,EAASM,GAS9B,QAAS6C,GAAOwyB,EAAMrmB,EAASopC,EAAMlN,GACnCprC,KAAKu1B,KAAOA,EACZv1B,KAAKi1B,gBACH9lB,SAAS,EACTo8B,OAAO,EACPgN,SAAU,GACVC,YAAa,EACb3wC,MACE4hB,SAAS,EACT7E,SAAU,YAEZyD,OACEoB,SAAS,EACT7E,SAAU,aAGd5kB,KAAKs4C,KAAOA,EACZt4C,KAAKkP,QAAUvO,EAAKgF,UAAU3F,KAAKi1B,gBACnCj1B,KAAKorC,iBAAmBA,EAExBprC,KAAKwsC,eACLxsC,KAAK2wB,OACL3wB,KAAK+0B,UACL/0B,KAAK0sC,eAAiB,EACtB1sC,KAAKs1B,UAELt1B,KAAKiU,WAAW/E,GAjClB,GAAIvO,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,GAC9BqC,EAAYrC,EAAoB,GAkCpC6C,GAAOmR,UAAY,GAAI3R,GAEvBQ,EAAOmR,UAAUuD,MAAQ,WACvBzX,KAAK+0B,UACL/0B,KAAK0sC,eAAiB,GAGxB3pC,EAAOmR,UAAU24B,SAAW,SAAS75B,EAAO85B,GAErC9sC,KAAK+0B,OAAO3uB,eAAe4M,KAC9BhT,KAAK+0B,OAAO/hB,GAAS85B,GAEvB9sC,KAAK0sC,gBAAkB,GAGzB3pC,EAAOmR,UAAU64B,YAAc,SAAS/5B,EAAO85B,GAC7C9sC,KAAK+0B,OAAO/hB,GAAS85B,GAGvB/pC,EAAOmR,UAAU84B,YAAc,SAASh6B,GAClChT,KAAK+0B,OAAO3uB,eAAe4M,WACtBhT,MAAK+0B,OAAO/hB,GACnBhT,KAAK0sC,gBAAkB,IAI3B3pC,EAAOmR,UAAUohB,QAAU,WACzBt1B,KAAK2wB,IAAIrQ,MAAQtO,SAASM,cAAc,OACxCtS,KAAK2wB,IAAIrQ,MAAMlY,UAAY,SAC3BpI,KAAK2wB,IAAIrQ,MAAM5S,MAAMkX,SAAW,WAChC5kB,KAAK2wB,IAAIrQ,MAAM5S,MAAMzF,IAAM,OAC3BjI,KAAK2wB,IAAIrQ,MAAM5S,MAAMu/B,QAAU,QAE/BjtC,KAAK2wB,IAAI8nB,SAAWzmC,SAASM,cAAc,OAC3CtS,KAAK2wB,IAAI8nB,SAASrwC,UAAY,aAC9BpI,KAAK2wB,IAAI8nB,SAAS/qC,MAAMkX,SAAW,WACnC5kB,KAAK2wB,IAAI8nB,SAAS/qC,MAAMzF,IAAM,MAE9BjI,KAAKmrC,IAAMn5B,SAASC,gBAAgB,6BAA6B,OACjEjS,KAAKmrC,IAAIz9B,MAAMkX,SAAW,WAC1B5kB,KAAKmrC,IAAIz9B,MAAMzF,IAAM,MACrBjI,KAAKmrC,IAAIz9B,MAAM4F,MAAQtT,KAAKkP,QAAQqpC,SAAW,EAAI,KACnDv4C,KAAKmrC,IAAIz9B,MAAM6F,OAAS,OAExBvT,KAAK2wB,IAAIrQ,MAAMpO,YAAYlS,KAAKmrC,KAChCnrC,KAAK2wB,IAAIrQ,MAAMpO,YAAYlS,KAAK2wB,IAAI8nB,WAMtC11C,EAAOmR,UAAU8yB,KAAO,WAElBhnC,KAAK2wB,IAAIrQ,MAAMnW,YACjBnK,KAAK2wB,IAAIrQ,MAAMnW,WAAWyH,YAAY5R,KAAK2wB,IAAIrQ,QAQnDvd,EAAOmR,UAAU+yB,KAAO,WAEjBjnC,KAAK2wB,IAAIrQ,MAAMnW,YAClBnK,KAAKu1B,KAAK5E,IAAI5D,OAAO7a,YAAYlS,KAAK2wB,IAAIrQ,QAI9Cvd,EAAOmR,UAAUD,WAAa,SAAS/E,GACrC,GAAIP,IAAU,UAAU,cAAc,QAAQ,OAAO,QACrDhO,GAAK8F,oBAAoBkI,EAAQ3O,KAAKkP,QAASA,IAGjDnM,EAAOmR,UAAUuO,OAAS,WACxB,GAAI+qB,GAAe,CACnB,KAAK,GAAIvU,KAAWj5B,MAAK+0B,OACnB/0B,KAAK+0B,OAAO3uB,eAAe6yB,KACO,GAAhCj5B,KAAK+0B,OAAOkE,GAASxP,SAAkE5iB,SAA9C7G,KAAKorC,iBAAiB/R,WAAWJ,IAAuE,GAA7Cj5B,KAAKorC,iBAAiB/R,WAAWJ,IACvIuU,IAKN,IAAuC,GAAnCxtC,KAAKkP,QAAQlP,KAAKs4C,MAAM7uB,SAA2C,GAAvBzpB,KAAK0sC,gBAA+C,GAAxB1sC,KAAKkP,QAAQC,SAAoC,GAAhBq+B,EAC3GxtC,KAAKgnC,WAEF,CAqBH,GApBAhnC,KAAKinC,OACmC,YAApCjnC,KAAKkP,QAAQlP,KAAKs4C,MAAM1zB,UAA8D,eAApC5kB,KAAKkP,QAAQlP,KAAKs4C,MAAM1zB,UAC5E5kB,KAAK2wB,IAAIrQ,MAAM5S,MAAM7F,KAAO,MAC5B7H,KAAK2wB,IAAIrQ,MAAM5S,MAAM4b,UAAY,OACjCtpB,KAAK2wB,IAAI8nB,SAAS/qC,MAAM4b,UAAY,OACpCtpB,KAAK2wB,IAAI8nB,SAAS/qC,MAAM7F,KAAQ7H,KAAKkP,QAAQqpC,SAAW,GAAM,KAC9Dv4C,KAAK2wB,IAAI8nB,SAAS/qC,MAAM2a,MAAQ,GAChCroB,KAAKmrC,IAAIz9B,MAAM7F,KAAO,MACtB7H,KAAKmrC,IAAIz9B,MAAM2a,MAAQ,KAGvBroB,KAAK2wB,IAAIrQ,MAAM5S,MAAM2a,MAAQ,MAC7BroB,KAAK2wB,IAAIrQ,MAAM5S,MAAM4b,UAAY,QACjCtpB,KAAK2wB,IAAI8nB,SAAS/qC,MAAM4b,UAAY,QACpCtpB,KAAK2wB,IAAI8nB,SAAS/qC,MAAM2a,MAASroB,KAAKkP,QAAQqpC,SAAW,GAAM,KAC/Dv4C,KAAK2wB,IAAI8nB,SAAS/qC,MAAM7F,KAAO,GAC/B7H,KAAKmrC,IAAIz9B,MAAM2a,MAAQ,MACvBroB,KAAKmrC,IAAIz9B,MAAM7F,KAAO,IAGgB,YAApC7H,KAAKkP,QAAQlP,KAAKs4C,MAAM1zB,UAA8D,aAApC5kB,KAAKkP,QAAQlP,KAAKs4C,MAAM1zB,SAC5E5kB,KAAK2wB,IAAIrQ,MAAM5S,MAAMzF,IAAM,EAAIhE,OAAOjE,KAAKu1B,KAAK5E,IAAI5D,OAAOrf,MAAMzF,IAAIgD,QAAQ,KAAK,KAAO,KACzFjL,KAAK2wB,IAAIrQ,MAAM5S,MAAM4W,OAAS,OAE3B,CACH,GAAIo0B,GAAmB14C,KAAKu1B,KAAKC,SAASzI,OAAOxZ,OAASvT,KAAKu1B,KAAKC,SAASkD,gBAAgBnlB,MAC7FvT,MAAK2wB,IAAIrQ,MAAM5S,MAAM4W,OAAS,EAAIo0B,EAAmBz0C,OAAOjE,KAAKu1B,KAAK5E,IAAI5D,OAAOrf,MAAMzF,IAAIgD,QAAQ,KAAK,KAAO,KAC/GjL,KAAK2wB,IAAIrQ,MAAM5S,MAAMzF,IAAM,GAGH,GAAtBjI,KAAKkP,QAAQq8B,OACfvrC,KAAK2wB,IAAIrQ,MAAM5S,MAAM4F,MAAQtT,KAAK2wB,IAAI8nB,SAASznB,YAAc,GAAK,KAClEhxB,KAAK2wB,IAAI8nB,SAAS/qC,MAAM2a,MAAQ,GAChCroB,KAAK2wB,IAAI8nB,SAAS/qC,MAAM7F,KAAO,GAC/B7H,KAAKmrC,IAAIz9B,MAAM4F,MAAQ,QAGvBtT,KAAK2wB,IAAIrQ,MAAM5S,MAAM4F,MAAQtT,KAAKkP,QAAQqpC,SAAW,GAAKv4C,KAAK2wB,IAAI8nB,SAASznB,YAAc,GAAK,KAC/FhxB,KAAK24C,kBAGP,IAAIxlC,GAAU,EACd,KAAK,GAAI8lB,KAAWj5B,MAAK+0B,OACnB/0B,KAAK+0B,OAAO3uB,eAAe6yB,KACO,GAAhCj5B,KAAK+0B,OAAOkE,GAASxP,SAAkE5iB,SAA9C7G,KAAKorC,iBAAiB/R,WAAWJ,IAAuE,GAA7Cj5B,KAAKorC,iBAAiB/R,WAAWJ,KACvI9lB,GAAWnT,KAAK+0B,OAAOkE,GAAS9lB,QAAU,UAIhDnT,MAAK2wB,IAAI8nB,SAASxzB,UAAY9R,EAC9BnT,KAAK2wB,IAAI8nB,SAAS/qC,MAAMyjB,WAAe,IAAOnxB,KAAKkP,QAAQqpC,SAAYv4C,KAAKkP,QAAQspC,YAAe,OAIvGz1C,EAAOmR,UAAUykC,gBAAkB,WACjC,GAAI34C,KAAK2wB,IAAIrQ,MAAMnW,WAAY,CAC7BvJ,EAAQ0Q,gBAAgBtR,KAAKwsC,YAC7B,IAAIxnB,GAAUld,OAAO6gC,iBAAiB3oC,KAAK2wB,IAAIrQ,OAAOs4B,WAClDxL,EAAanpC,OAAO+gB,EAAQ/Z,QAAQ,KAAK,KACzCuH,EAAI46B,EACJxB,EAAY5rC,KAAKkP,QAAQqpC,SACzBpL,EAAa,IAAOntC,KAAKkP,QAAQqpC,SACjC9lC,EAAI26B,EAAa,GAAMD,EAAa,CAExCntC,MAAKmrC,IAAIz9B,MAAM4F,MAAQs4B,EAAY,EAAIwB,EAAa,IAEpD,KAAK,GAAInU,KAAWj5B,MAAK+0B,OACnB/0B,KAAK+0B,OAAO3uB,eAAe6yB,KACO,GAAhCj5B,KAAK+0B,OAAOkE,GAASxP,SAAkE5iB,SAA9C7G,KAAKorC,iBAAiB/R,WAAWJ,IAAuE,GAA7Cj5B,KAAKorC,iBAAiB/R,WAAWJ,KACvIj5B,KAAK+0B,OAAOkE,GAASoU,SAAS76B,EAAGC,EAAGzS,KAAKwsC,YAAaxsC,KAAKmrC,IAAKS,EAAWuB,GAC3E16B,GAAK06B,EAAantC,KAAKkP,QAAQspC,aAKrC53C,GAAQ+Q,gBAAgB3R,KAAKwsC,eAIjC3sC,EAAOD,QAAUmD,GAKb,SAASlD,EAAQD,EAASM,GAqB9B,QAAS8C,GAAUuyB,EAAMrmB,GACvBlP,KAAKK,GAAKM,EAAK2E,aACftF,KAAKu1B,KAAOA,EAEZv1B,KAAKi1B,gBACHgc,iBAAkB,OAClB4H,aAAc,UACd3hC,MAAM,EACN4hC,UAAU,EACVC,YAAa,QACbnI,QACEzhC,SAAS,EACTgmB,YAAa,UAEfznB,MAAO,OACPsrC,UACE1lC,MAAO,GACP2lC,cAAe,UACfhQ,MAAO,UAETmH,YACEjhC,SAAS,EACTkhC,gBAAiB,cACjBC,MAAO,IAETz9B,YACE1D,SAAS,EACT4D,KAAM,EACNrF,MAAO,UAETwrC,UACE7N,iBAAiB,EACjBC,iBAAiB,EACjBC,OAAO,EACPj4B,MAAO,OACPmW,SAAS,EACT8T,YAAY,EACZD,aACEz1B,MAAO1D,IAAI0C,OAAWzC,IAAIyC,QAC1BwhB,OAAQlkB,IAAI0C,OAAWzC,IAAIyC,UAkB/BsyC,QACEhqC,SAAS,EACTo8B,OAAO,EACP1jC,MACE4hB,SAAS,EACT7E,SAAU,YAEZyD,OACEoB,SAAS,EACT7E,SAAU,cAGdmQ,QACEsE,gBAKJr5B,KAAKkP,QAAUvO,EAAKgF,UAAW3F,KAAKi1B,gBACpCj1B,KAAK2wB,OACL3wB,KAAKsG,SACLtG,KAAK8D,OAAS,KACd9D,KAAK+0B,UACL/0B,KAAKo5C,oBAAqB,EAC1Bp5C,KAAKq5C,iBAAkB,EACvBr5C,KAAKs5C,yBAA0B,CAE/B,IAAIpkC,GAAKlV,IACTA,MAAK22B,UAAY,KACjB32B,KAAK42B,WAAa,KAGlB52B,KAAKk0C,eACHlgC,IAAO,SAAUnK,EAAOgL,EAAQC,GAC9BI,EAAGi/B,OAAOt/B,EAAO5S,QAEnB2T,OAAU,SAAU/L,EAAOgL,EAAQC,GACjCI,EAAGk/B,UAAUv/B,EAAO5S,QAEtBoV,OAAU,SAAUxN,EAAOgL,EAAQC,GACjCI,EAAGm/B,UAAUx/B,EAAO5S,SAKxBjC,KAAKs0C,gBACHtgC,IAAO,SAAUnK,EAAOgL,EAAQC,GAC9BI,EAAGq/B,aAAa1/B,EAAO5S,QAEzB2T,OAAU,SAAU/L,EAAOgL,EAAQC,GACjCI,EAAGs/B,gBAAgB3/B,EAAO5S,QAE5BoV,OAAU,SAAUxN,EAAOgL,EAAQC,GACjCI,EAAGu/B,gBAAgB5/B,EAAO5S,SAI9BjC,KAAKiC,SACLjC,KAAK20C,aACL30C,KAAKu5C,UAAYv5C,KAAKu1B,KAAKe,MAAMjmB,MACjCrQ,KAAK60C,eAEL70C,KAAKwsC,eACLxsC,KAAKiU,WAAW/E,GAChBlP,KAAK6vC,0BAA4B,GACjC7vC,KAAKw5C,QAAU,EACfx5C,KAAKu1B,KAAKE,QAAQnhB,GAAG,eAAgB,WACnCY,EAAGqkC,UAAYrkC,EAAGqgB,KAAKe,MAAMjmB,MAC7B6E,EAAGi2B,IAAIz9B,MAAM7F,KAAOlH,EAAK4J,OAAOK,QAAQsK,EAAG5O,MAAMgN,OACjD4B,EAAGuN,OAAOliB,KAAK2U,GAAG,KAIpBlV,KAAKs1B,UACLt1B,KAAKqxC,WAAalG,IAAKnrC,KAAKmrC,IAAKqB,YAAaxsC,KAAKwsC,YAAat9B,QAASlP,KAAKkP,QAAS6lB,OAAQ/0B,KAAK+0B,QACpG/0B,KAAKu1B,KAAKE,QAAQhH,KAAK,UAvJzB,GAAI9tB,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,GAC9BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/BqC,EAAYrC,EAAoB,IAChCwC,EAAWxC,EAAoB,IAC/ByC,EAAazC,EAAoB,IACjC6C,EAAS7C,EAAoB,IAC7Bu5C,EAAoBv5C,EAAoB,IAExC40C,EAAY,eAiJhB9xC,GAAUkR,UAAY,GAAI3R,GAK1BS,EAAUkR,UAAUohB,QAAU,WAC5B,GAAIhV,GAAQtO,SAASM,cAAc,MACnCgO,GAAMlY,UAAY,YAClBpI,KAAK2wB,IAAIrQ,MAAQA,EAGjBtgB,KAAKmrC,IAAMn5B,SAASC,gBAAgB,6BAA6B,OACjEjS,KAAKmrC,IAAIz9B,MAAMkX,SAAW,WAC1B5kB,KAAKmrC,IAAIz9B,MAAM6F,QAAU,GAAKvT,KAAKkP,QAAQ6pC,aAAa9tC,QAAQ,KAAK,IAAM,KAC3EjL,KAAKmrC,IAAIz9B,MAAMu/B,QAAU,QACzB3sB,EAAMpO,YAAYlS,KAAKmrC,KAGvBnrC,KAAKkP,QAAQgqC,SAAS/jB,YAAc,OACpCn1B,KAAKs5B,UAAY,GAAI52B,GAAS1C,KAAKu1B,KAAMv1B,KAAKkP,QAAQgqC,SAAUl5C,KAAKmrC,IAAKnrC,KAAKkP,QAAQ6lB,QAEvF/0B,KAAKkP,QAAQgqC,SAAS/jB,YAAc,QACpCn1B,KAAKu5B,WAAa,GAAI72B,GAAS1C,KAAKu1B,KAAMv1B,KAAKkP,QAAQgqC,SAAUl5C,KAAKmrC,IAAKnrC,KAAKkP,QAAQ6lB,cACjF/0B,MAAKkP,QAAQgqC,SAAS/jB,YAG7Bn1B,KAAKw5B,WAAa,GAAIz2B,GAAO/C,KAAKu1B,KAAMv1B,KAAKkP,QAAQiqC,OAAQ,OAAQn5C,KAAKkP,QAAQ6lB,QAClF/0B,KAAKy5B,YAAc,GAAI12B,GAAO/C,KAAKu1B,KAAMv1B,KAAKkP,QAAQiqC,OAAQ,QAASn5C,KAAKkP,QAAQ6lB,QAEpF/0B,KAAKinC,QAOPjkC,EAAUkR,UAAUD,WAAa,SAAS/E,GACxC,GAAIA,EAAS,CACX,GAAIP,IAAU,WAAW,eAAe,SAAS,cAAc,mBAAmB,QAAQ,WAAW,WAAW,OAAO,SAC3F9H,UAAxBqI,EAAQ6pC,aAAgDlyC,SAAnBqI,EAAQqE,QAAsE1M,SAA9C7G,KAAKu1B,KAAKC,SAASkD,gBAAgBnlB,QAC1GvT,KAAKq5C,iBAAkB,EACvBr5C,KAAKs5C,yBAA0B,GAEsBzyC,SAA9C7G,KAAKu1B,KAAKC,SAASkD,gBAAgBnlB,QAAgD1M,SAAxBqI,EAAQ6pC,aACtE1tC,UAAU6D,EAAQ6pC,YAAc,IAAI9tC,QAAQ,KAAK,KAAOjL,KAAKu1B,KAAKC,SAASkD,gBAAgBnlB,SAC7FvT,KAAKq5C,iBAAkB,GAG3B14C,EAAK8F,oBAAoBkI,EAAQ3O,KAAKkP,QAASA,GAC/CvO,EAAKqO,aAAahP,KAAKkP,QAASA,EAAQ,cACxCvO,EAAKqO,aAAahP,KAAKkP,QAASA,EAAQ,cACxCvO,EAAKqO,aAAahP,KAAKkP,QAASA,EAAQ,UACxCvO,EAAKqO,aAAahP,KAAKkP,QAASA,EAAQ,UAEpCA,EAAQkhC,YACuB,gBAAtBlhC,GAAQkhC,YACblhC,EAAQkhC,WAAWC,kBACqB,WAAtCnhC,EAAQkhC,WAAWC,gBACrBrwC,KAAKkP,QAAQkhC,WAAWE,MAAQ,EAEa,WAAtCphC,EAAQkhC,WAAWC,gBAC1BrwC,KAAKkP,QAAQkhC,WAAWE,MAAQ,GAGhCtwC,KAAKkP,QAAQkhC,WAAWC,gBAAkB,cAC1CrwC,KAAKkP,QAAQkhC,WAAWE,MAAQ,KAMpCtwC,KAAKs5B,WACkBzyB,SAArBqI,EAAQgqC,WACVl5C,KAAKs5B,UAAUrlB,WAAWjU,KAAKkP,QAAQgqC,UACvCl5C,KAAKu5B,WAAWtlB,WAAWjU,KAAKkP,QAAQgqC,WAIxCl5C,KAAKw5B,YACgB3yB,SAAnBqI,EAAQiqC,SACVn5C,KAAKw5B,WAAWvlB,WAAWjU,KAAKkP,QAAQiqC,QACxCn5C,KAAKy5B,YAAYxlB,WAAWjU,KAAKkP,QAAQiqC,SAIzCn5C,KAAK+0B,OAAO3uB,eAAe0uC,IAC7B90C,KAAK+0B,OAAO+f,GAAW7gC,WAAW/E,GAKlClP,KAAK2wB,IAAIrQ,OACXtgB,KAAKyiB,QAAO,IAOhBzf,EAAUkR,UAAU8yB,KAAO,WAErBhnC,KAAK2wB,IAAIrQ,MAAMnW,YACjBnK,KAAK2wB,IAAIrQ,MAAMnW,WAAWyH,YAAY5R,KAAK2wB,IAAIrQ,QASnDtd,EAAUkR,UAAU+yB,KAAO,WAEpBjnC,KAAK2wB,IAAIrQ,MAAMnW,YAClBnK,KAAKu1B,KAAK5E,IAAI5D,OAAO7a,YAAYlS,KAAK2wB,IAAIrQ,QAS9Ctd,EAAUkR,UAAU8iB,SAAW,SAAS/0B,GACtC,GACEkU,GADEjB,EAAKlV,KAEP02C,EAAe12C,KAAK22B,SAGtB,IAAK10B,EAGA,CAAA,KAAIA,YAAiBpB,IAAWoB,YAAiBnB,IAIpD,KAAM,IAAI4F,WAAU,kDAHpB1G,MAAK22B,UAAY10B,MAHjBjC,MAAK22B,UAAY,IAoBnB,IAXI+f,IAEF/1C,EAAKiI,QAAQ5I,KAAKk0C,cAAe,SAAUrrC,EAAUgB,GACnD6sC,EAAajiC,IAAI5K,EAAOhB,KAI1BsN,EAAMugC,EAAa7/B,SACnB7W,KAAKq0C,UAAUl+B,IAGbnW,KAAK22B,UAAW,CAElB,GAAIt2B,GAAKL,KAAKK,EACdM,GAAKiI,QAAQ5I,KAAKk0C,cAAe,SAAUrrC,EAAUgB,GACnDqL,EAAGyhB,UAAUriB,GAAGzK,EAAOhB,EAAUxI,KAInC8V,EAAMnW,KAAK22B,UAAU9f,SACrB7W,KAAKm0C,OAAOh+B,GAEdnW,KAAKg1C,mBAELh1C,KAAKyiB,QAAO,IAQdzf,EAAUkR,UAAU6iB,UAAY,SAAShC,GACvC,GACI5e,GADAjB,EAAKlV,IAgBT,IAZIA,KAAK42B,aACPj2B,EAAKiI,QAAQ5I,KAAKs0C,eAAgB,SAAUzrC,EAAUgB,GACpDqL,EAAG0hB,WAAWjiB,YAAY9K,EAAOhB,KAInCsN,EAAMnW,KAAK42B,WAAW/f,SACtB7W,KAAK42B,WAAa,KAClB52B,KAAKy0C,gBAAgBt+B,IAIlB4e,EAGA,CAAA,KAAIA,YAAkBl0B,IAAWk0B,YAAkBj0B,IAItD,KAAM,IAAI4F,WAAU,kDAHpB1G,MAAK42B,WAAa7B,MAHlB/0B,MAAK42B,WAAa,IASpB,IAAI52B,KAAK42B,WAAY,CAEnB,GAAIv2B,GAAKL,KAAKK,EACdM,GAAKiI,QAAQ5I,KAAKs0C,eAAgB,SAAUzrC,EAAUgB,GACpDqL,EAAG0hB,WAAWtiB,GAAGzK,EAAOhB,EAAUxI,KAIpC8V,EAAMnW,KAAK42B,WAAW/f,SACtB7W,KAAKu0C,aAAap+B,GAEpBnW,KAAKo0C,aASPpxC,EAAUkR,UAAUkgC,UAAY,SAASj+B,GACvCnW,KAAKg1C,mBACLh1C,KAAK05C,sBAEL15C,KAAKyiB,QAAO,IAEdzf,EAAUkR,UAAUigC,OAAkB,SAAUh+B,GAAMnW,KAAKo0C,UAAUj+B,IACrEnT,EAAUkR,UAAUmgC,UAAkB,SAAUl+B,GAAMnW,KAAKo0C,UAAUj+B,IACrEnT,EAAUkR,UAAUsgC,gBAAmB,SAAUE,GAC/C,IAAK,GAAI5uC,GAAI,EAAGA,EAAI4uC,EAASzuC,OAAQH,IAAK,CACxC,GAAI4M,GAAQ1S,KAAK42B,WAAW3gB,IAAIy+B,EAAS5uC,GACzC9F,MAAK25C,aAAajnC,EAAOgiC,EAAS5uC,IAIpC9F,KAAKyiB,QAAO,IAEdzf,EAAUkR,UAAUqgC,aAAe,SAAUG,GAAW10C,KAAKw0C,gBAAgBE,IAQ7E1xC,EAAUkR,UAAUugC,gBAAkB,SAAUC,GAC9C,IAAK,GAAI5uC,GAAI,EAAGA,EAAI4uC,EAASzuC,OAAQH,IAC/B9F,KAAK+0B,OAAO3uB,eAAesuC,EAAS5uC,MACmB,SAArD9F,KAAK+0B,OAAO2f,EAAS5uC,IAAIoJ,QAAQ+hC,kBACnCjxC,KAAKu5B,WAAWyT,YAAY0H,EAAS5uC,IACrC9F,KAAKy5B,YAAYuT,YAAY0H,EAAS5uC,IACtC9F,KAAKy5B,YAAYhX,WAGjBziB,KAAKs5B,UAAU0T,YAAY0H,EAAS5uC,IACpC9F,KAAKw5B,WAAWwT,YAAY0H,EAAS5uC,IACrC9F,KAAKw5B,WAAW/W,gBAEXziB,MAAK+0B,OAAO2f,EAAS5uC,IAGhC9F,MAAKg1C,mBAELh1C,KAAKyiB,QAAO,IAWdzf,EAAUkR,UAAUylC,aAAe,SAAUjnC,EAAOumB,GAC7Cj5B,KAAK+0B,OAAO3uB,eAAe6yB,IAY9Bj5B,KAAK+0B,OAAOkE,GAASrjB,OAAOlD,GACyB,SAAjD1S,KAAK+0B,OAAOkE,GAAS/pB,QAAQ+hC,kBAC/BjxC,KAAKu5B,WAAWwT,YAAY9T,EAASj5B,KAAK+0B,OAAOkE,IACjDj5B,KAAKy5B,YAAYsT,YAAY9T,EAASj5B,KAAK+0B,OAAOkE,MAGlDj5B,KAAKs5B,UAAUyT,YAAY9T,EAASj5B,KAAK+0B,OAAOkE,IAChDj5B,KAAKw5B,WAAWuT,YAAY9T,EAASj5B,KAAK+0B,OAAOkE,OAlBnDj5B,KAAK+0B,OAAOkE,GAAW,GAAIt2B,GAAW+P,EAAOumB,EAASj5B,KAAKkP,QAASlP,KAAK6vC,0BACpB,SAAjD7vC,KAAK+0B,OAAOkE,GAAS/pB,QAAQ+hC,kBAC/BjxC,KAAKu5B,WAAWsT,SAAS5T,EAASj5B,KAAK+0B,OAAOkE,IAC9Cj5B,KAAKy5B,YAAYoT,SAAS5T,EAASj5B,KAAK+0B,OAAOkE,MAG/Cj5B,KAAKs5B,UAAUuT,SAAS5T,EAASj5B,KAAK+0B,OAAOkE,IAC7Cj5B,KAAKw5B,WAAWqT,SAAS5T,EAASj5B,KAAK+0B,OAAOkE,MAclDj5B,KAAKw5B,WAAW/W,SAChBziB,KAAKy5B,YAAYhX,UASnBzf,EAAUkR,UAAUwlC,oBAAsB,WACxC,GAAsB,MAAlB15C,KAAK22B,UAAmB,CAC1B,GACIsC,GADA2gB,IAEJ,KAAK3gB,IAAWj5B,MAAK+0B,OACf/0B,KAAK+0B,OAAO3uB,eAAe6yB,KAC7B2gB,EAAc3gB,MAGlB,KAAK,GAAI1iB,KAAUvW,MAAK22B,UAAUhjB,MAChC,GAAI3T,KAAK22B,UAAUhjB,MAAMvN,eAAemQ,GAAS,CAC/C,GAAIzG,GAAO9P,KAAK22B,UAAUhjB,MAAM4C,EAChC,IAAkC1P,SAA9B+yC,EAAc9pC,EAAK4C,OACrB,KAAM,IAAI9O,OAAM,4IAElBkM,GAAK0C,EAAI7R,EAAKuG,QAAQ4I,EAAK0C,EAAE,QAC7BonC,EAAc9pC,EAAK4C,OAAOnK,KAAKuH,GAGnC,IAAKmpB,IAAWj5B,MAAK+0B,OACf/0B,KAAK+0B,OAAO3uB,eAAe6yB,IAC7Bj5B,KAAK+0B,OAAOkE,GAASjC,SAAS4iB,EAAc3gB,MAYpDj2B,EAAUkR,UAAU8gC,iBAAmB,WACrC,GAAIh1C,KAAK22B,WAA+B,MAAlB32B,KAAK22B,UAAmB,CAC5C,GAAIkjB,GAAmB,CACvB,KAAK,GAAItjC,KAAUvW,MAAK22B,UAAUhjB,MAChC,GAAI3T,KAAK22B,UAAUhjB,MAAMvN,eAAemQ,GAAS,CAC/C,GAAIzG,GAAO9P,KAAK22B,UAAUhjB,MAAM4C,EACpB1P,SAARiJ,IACEA,EAAK1J,eAAe,SACHS,SAAfiJ,EAAK4C,QACP5C,EAAK4C,MAAQoiC,GAIfhlC,EAAK4C,MAAQoiC,EAEf+E,EAAmB/pC,EAAK4C,OAASoiC,EAAY+E,EAAmB,EAAIA,GAK1E,GAAwB,GAApBA,QACK75C,MAAK+0B,OAAO+f,GACnB90C,KAAKw5B,WAAWwT,YAAY8H,GAC5B90C,KAAKy5B,YAAYuT,YAAY8H,GAC7B90C,KAAKs5B,UAAU0T,YAAY8H,GAC3B90C,KAAKu5B,WAAWyT,YAAY8H,OAEzB,CACH,GAAIpiC,IAASrS,GAAIy0C,EAAW3hC,QAASnT,KAAKkP,QAAQ2pC,aAClD74C,MAAK25C,aAAajnC,EAAOoiC,eAIpB90C,MAAK+0B,OAAO+f,GACnB90C,KAAKw5B,WAAWwT,YAAY8H,GAC5B90C,KAAKy5B,YAAYuT,YAAY8H,GAC7B90C,KAAKs5B,UAAU0T,YAAY8H,GAC3B90C,KAAKu5B,WAAWyT,YAAY8H,EAG9B90C,MAAKw5B,WAAW/W,SAChBziB,KAAKy5B,YAAYhX,UAQnBzf,EAAUkR,UAAUuO,OAAS,SAASq3B,GACpC,GAAI7P,IAAU,CAGdjqC,MAAKsG,MAAMgN,MAAQtT,KAAK2wB,IAAIrQ,MAAM0Q,YAClChxB,KAAKsG,MAAMiN,OAASvT,KAAKu1B,KAAKC,SAASkD,gBAAgBnlB,OAGhC1M,SAAnB7G,KAAK81C,WAA2B91C,KAAKsG,MAAMgN,QAC7CwmC,GAAmB,GAIrB7P,EAAUjqC,KAAKgqC,cAAgBC,CAG/B,IAAI0L,GAAkB31C,KAAKu1B,KAAKe,MAAMhmB,IAAMtQ,KAAKu1B,KAAKe,MAAMjmB,MACxDulC,EAAUD,GAAmB31C,KAAK61C,mBA6BtC,IA5BA71C,KAAK61C,oBAAsBF,EAKZ,GAAX1L,IACFjqC,KAAKmrC,IAAIz9B,MAAM4F,MAAQ3S,EAAK4J,OAAOK,OAAO,EAAE5K,KAAKsG,MAAMgN,OACvDtT,KAAKmrC,IAAIz9B,MAAM7F,KAAOlH,EAAK4J,OAAOK,QAAQ5K,KAAKsG,MAAMgN,QAGN,KAA1CtT,KAAKkP,QAAQqE,OAAS,IAAIvM,QAAQ,MAA8C,GAAhChH,KAAKs5C,2BACxDt5C,KAAKq5C,iBAAkB,IAKC,GAAxBr5C,KAAKq5C,iBACHr5C,KAAKkP,QAAQ6pC,aAAe/4C,KAAKu1B,KAAKC,SAASkD,gBAAgBnlB,OAAS,OAC1EvT,KAAKkP,QAAQ6pC,YAAc/4C,KAAKu1B,KAAKC,SAASkD,gBAAgBnlB,OAAS,KACvEvT,KAAKmrC,IAAIz9B,MAAM6F,OAASvT,KAAKu1B,KAAKC,SAASkD,gBAAgBnlB,OAAS,MAEtEvT,KAAKq5C,iBAAkB,GAGvBr5C,KAAKmrC,IAAIz9B,MAAM6F,QAAU,GAAKvT,KAAKkP,QAAQ6pC,aAAa9tC,QAAQ,KAAK,IAAM,KAI9D,GAAXg/B,GAA6B,GAAV2L,GAA6C,GAA3B51C,KAAKo5C,oBAAkD,GAApBU,EAC1E7P,EAAUjqC,KAAK+5C,gBAAkB9P,MAIjC,IAAsB,GAAlBjqC,KAAKu5C,UAAgB,CACvB,GAAI7uB,GAAS1qB,KAAKu1B,KAAKe,MAAMjmB,MAAQrQ,KAAKu5C,UACtCjjB,EAAQt2B,KAAKu1B,KAAKe,MAAMhmB,IAAMtQ,KAAKu1B,KAAKe,MAAMjmB,KAClD,IAAwB,GAApBrQ,KAAKsG,MAAMgN,MAAY,CACzB,GAAI0mC,GAAmBh6C,KAAKsG,MAAMgN,MAAMgjB,EACpCrjB,EAAUyX,EAASsvB,CACvBh6C,MAAKmrC,IAAIz9B,MAAM7F,MAAS7H,KAAKsG,MAAMgN,MAAQL,EAAW,MAO5D,MAFAjT,MAAKw5B,WAAW/W,SAChBziB,KAAKy5B,YAAYhX,SACVwnB,GAQTjnC,EAAUkR,UAAU6lC,aAAe,WAGjC,GADAn5C,EAAQ0Q,gBAAgBtR,KAAKwsC,aACL,GAApBxsC,KAAKsG,MAAMgN,OAAgC,MAAlBtT,KAAK22B,UAAmB,CACnD,GAAIjkB,GAAO5M,EACPm0C,KACAC,KACAC,KACAC,GAAe,EAGf1F,IACJ,KAAK,GAAIzb,KAAWj5B,MAAK+0B,OACnB/0B,KAAK+0B,OAAO3uB,eAAe6yB,KAC7BvmB,EAAQ1S,KAAK+0B,OAAOkE,GACC,GAAjBvmB,EAAM+W,SAAgE5iB,SAA5C7G,KAAKkP,QAAQ6lB,OAAOsE,WAAWJ,IAAqE,GAA3Cj5B,KAAKkP,QAAQ6lB,OAAOsE,WAAWJ,IACpHyb,EAASnsC,KAAK0wB,GAIpB,IAAIyb,EAASzuC,OAAS,EAAG,CAEvB,GAAIo0C,GAAUr6C,KAAKu1B,KAAK50B,KAAKy1B,cAAcp2B,KAAKu1B,KAAKC,SAAS91B,KAAK4T,OAC/DgnC,EAAUt6C,KAAKu1B,KAAK50B,KAAKy1B,aAAa,EAAIp2B,KAAKu1B,KAAKC,SAAS91B,KAAK4T,OAClEsjB,IAQJ,KANA52B,KAAKu6C,iBAAiB7F,EAAU9d,EAAYyjB,EAASC,GAGrDt6C,KAAKw6C,eAAe9F,EAAU9d,GAGzB9wB,EAAI,EAAGA,EAAI4uC,EAASzuC,OAAQH,IAC/Bm0C,EAAsBvF,EAAS5uC,IAAM9F,KAAKy6C,qBAAqB7jB,EAAW8d,EAAS5uC,IAIrF9F,MAAK06C,YAAYhG,EAAUuF,EAAuBE,GAIlDC,EAAep6C,KAAK26C,aAAajG,EAAUyF,EAC3C,IAAIS,GAAa,CACjB,IAAoB,GAAhBR,GAAwBp6C,KAAKw5C,QAAUoB,EAKzC,MAJAh6C,GAAQ+Q,gBAAgB3R,KAAKwsC,aAC7BxsC,KAAKo5C,oBAAqB,EAC1Bp5C,KAAKw5C,UACLx5C,KAAKu1B,KAAKE,QAAQhH,KAAK,WAChB,CAUP,KAPIzuB,KAAKw5C,QAAUoB,GACjB/f,QAAQtG,IAAI,6EAEdv0B,KAAKw5C,QAAU,EACfx5C,KAAKo5C,oBAAqB,EAGrBtzC,EAAI,EAAGA,EAAI4uC,EAASzuC,OAAQH,IAC/B4M,EAAQ1S,KAAK+0B,OAAO2f,EAAS5uC,IAC7Bo0C,EAAmBxF,EAAS5uC,IAAM9F,KAAK66C,qBAAqBjkB,EAAW8d,EAAS5uC,IAAK4M,EAIvF,KAAK5M,EAAI,EAAGA,EAAI4uC,EAASzuC,OAAQH,IAC/B4M,EAAQ1S,KAAK+0B,OAAO2f,EAAS5uC,IACF,OAAvB4M,EAAMxD,QAAQxB,OAChBgF,EAAM0+B,KAAK8I,EAAmBxF,EAAS5uC,IAAK4M,EAAO1S,KAAKqxC,UAG5DoI,GAAkBrI,KAAKsD,EAAUwF,EAAoBl6C,KAAKqxC,YAOhE,MADAzwC,GAAQ+Q,gBAAgB3R,KAAKwsC,cACtB,GAiBTxpC,EAAUkR,UAAUqmC,iBAAmB,SAAU7F,EAAU9d,EAAYyjB,EAASC,GAC9E,GAAI5nC,GAAO5M,EAAG2mB,EAAG3c,CACjB,IAAI4kC,EAASzuC,OAAS,EACpB,IAAKH,EAAI,EAAGA,EAAI4uC,EAASzuC,OAAQH,IAAK,CACpC4M,EAAQ1S,KAAK+0B,OAAO2f,EAAS5uC,IAC7B8wB,EAAW8d,EAAS5uC,MACpB,IAAIg1C,GAAgBlkB,EAAW8d,EAAS5uC,GAExC,IAA0B,GAAtB4M,EAAMxD,QAAQgI,KAAc,CAC9B,GAAI6jC,GAAQv2C,KAAKJ,IAAI,EAAGzD,EAAKqP,kBAAkB0C,EAAMikB,UAAW0jB,EAAS,IAAK,UAC9E,KAAK5tB,EAAIsuB,EAAOtuB,EAAI/Z,EAAMikB,UAAU1wB,OAAQwmB,IAE1C,GADA3c,EAAO4C,EAAMikB,UAAUlK,GACV5lB,SAATiJ,EAAoB,CACtB,GAAIA,EAAK0C,EAAI8nC,EAAS,CACpBQ,EAAcvyC,KAAKuH,EACnB,OAGAgrC,EAAcvyC,KAAKuH,QAMzB,KAAK2c,EAAI,EAAGA,EAAI/Z,EAAMikB,UAAU1wB,OAAQwmB,IACtC3c,EAAO4C,EAAMikB,UAAUlK,GACV5lB,SAATiJ,GACEA,EAAK0C,EAAI6nC,GAAWvqC,EAAK0C,EAAI8nC,GAC/BQ,EAAcvyC,KAAKuH,KAgBjC9M,EAAUkR,UAAUsmC,eAAiB,SAAU9F,EAAU9d,GACvD,GAAIlkB,EACJ,IAAIgiC,EAASzuC,OAAS,EACpB,IAAK,GAAIH,GAAI,EAAGA,EAAI4uC,EAASzuC,OAAQH,IAEnC,GADA4M,EAAQ1S,KAAK+0B,OAAO2f,EAAS5uC,IACC,GAA1B4M,EAAMxD,QAAQ4pC,SAAkB,CAClC,GAAIgC,GAAgBlkB,EAAW8d,EAAS5uC,GACxC,IAAIg1C,EAAc70C,OAAS,EAAG,CAC5B,GAAI+0C,GAAY,EACZC,EAAiBH,EAAc70C,OAI/Bi1C,EAAYl7C,KAAKu1B,KAAK50B,KAAKq1B,eAAe8kB,EAAcA,EAAc70C,OAAS,GAAGuM,GAAKxS,KAAKu1B,KAAK50B,KAAKq1B,eAAe8kB,EAAc,GAAGtoC,GACtI2oC,EAAiBF,EAAiBC,CACtCF,GAAYx2C,KAAKL,IAAIK,KAAK42C,KAAK,GAAMH,GAAiBz2C,KAAKJ,IAAI,EAAGI,KAAK+pB,MAAM4sB,IAG7E,KAAK,GADDE,MACK5uB,EAAI,EAAOwuB,EAAJxuB,EAAoBA,GAAKuuB,EACvCK,EAAY9yC,KAAKuyC,EAAcruB,GAGjCmK,GAAW8d,EAAS5uC,IAAMu1C,KAgBpCr4C,EAAUkR,UAAUwmC,YAAc,SAAUhG,EAAU9d,EAAYujB,GAChE,GAAIhJ,GAAWz+B,EAAO5M,EAGlBoJ,EAFAosC,KACAC,IAEJ,IAAI7G,EAASzuC,OAAS,EAAG,CACvB,IAAKH,EAAI,EAAGA,EAAI4uC,EAASzuC,OAAQH,IAC/BqrC,EAAYva,EAAW8d,EAAS5uC,IAChCoJ,EAAUlP,KAAK+0B,OAAO2f,EAAS5uC,IAAIoJ,QAC/BiiC,EAAUlrC,OAAS,IACrByM,EAAQ1S,KAAK+0B,OAAO2f,EAAS5uC,IAES,SAAlCoJ,EAAQ8pC,SAASC,eAA6C,OAAjB/pC,EAAQxB,MACvB,QAA5BwB,EAAQ+hC,iBAA6BqK,EAAuBA,EAAoBvmC,OAAOrC,EAAMw+B,UAAUC,IAClEoK,EAAuBA,EAAqBxmC,OAAOrC,EAAMw+B,UAAUC,IAG5GgJ,EAAYzF,EAAS5uC,IAAM4M,EAAMw+B,UAAUC,EAAUuD,EAAS5uC,IAMpE2zC,GAAkB+B,oBAAoBF,EAAsBnB,EAAazF,EAAU,iBAAmB,QACtG+E,EAAkB+B,oBAAoBD,EAAsBpB,EAAazF,EAAU,kBAAmB,WAW1G1xC,EAAUkR,UAAUymC,aAAe,SAAUjG,EAAUyF,GACrD,GAGoEsB,GAAQC,EAHxEzR,GAAU,EACV0R,GAAgB,EAChBC,GAAiB,EACjBC,EAAU,IAAKC,EAAW,IAAKC,EAAU,KAAMC,EAAW,IAE9D,IAAItH,EAASzuC,OAAS,EAAG,CAEvB,IAAK,GAAIH,GAAI,EAAGA,EAAI4uC,EAASzuC,OAAQH,IAAK,CACxC,GAAI4M,GAAQ1S,KAAK+0B,OAAO2f,EAAS5uC,GAC7B4M,IAA2C,SAAlCA,EAAMxD,QAAQ+hC,kBACzB0K,GAAgB,EAChBE,EAAU,EACVE,EAAU,GAEHrpC,GAASA,EAAMxD,QAAQ+hC,mBAC9B2K,GAAiB,EACjBE,EAAW,EACXE,EAAW,GAKf,IAAK,GAAIl2C,GAAI,EAAGA,EAAI4uC,EAASzuC,OAAQH,IAC/Bq0C,EAAY/zC,eAAesuC,EAAS5uC,KAClCq0C,EAAYzF,EAAS5uC,IAAIm2C,UAAW,IACtCR,EAAStB,EAAYzF,EAAS5uC,IAAI3B,IAClCu3C,EAASvB,EAAYzF,EAAS5uC,IAAI1B,IAEe,SAA7C+1C,EAAYzF,EAAS5uC,IAAImrC,kBAC3B0K,GAAgB,EAChBE,EAAUA,EAAUJ,EAASA,EAASI,EACtCE,EAAoBL,EAAVK,EAAmBL,EAASK,IAGtCH,GAAiB,EACjBE,EAAWA,EAAWL,EAASA,EAASK,EACxCE,EAAsBN,EAAXM,EAAoBN,EAASM,GAM3B,IAAjBL,GACF37C,KAAKs5B,UAAUnF,SAAS0nB,EAASE,GAEb,GAAlBH,GACF57C,KAAKu5B,WAAWpF,SAAS2nB,EAAUE,GAoCvC,MAjCA/R,GAAUjqC,KAAKk8C,qBAAqBP,EAAgB37C,KAAKs5B,YAAe2Q,EACxEA,EAAUjqC,KAAKk8C,qBAAqBN,EAAgB57C,KAAKu5B,aAAe0Q,EAElD,GAAlB2R,GAA2C,GAAjBD,GAC5B37C,KAAKs5B,UAAU6iB,WAAY,EAC3Bn8C,KAAKu5B,WAAW4iB,WAAY,IAG5Bn8C,KAAKs5B,UAAU6iB,WAAY,EAC3Bn8C,KAAKu5B,WAAW4iB,WAAY,GAE9Bn8C,KAAKu5B,WAAWgT,QAAUoP,EACI,GAA1B37C,KAAKu5B,WAAWgT,QACI,GAAlBqP,EAAyB57C,KAAKs5B,UAAUgT,WAAatsC,KAAKu5B,WAAWjmB,MAC5CtT,KAAKs5B,UAAUgT,WAAa,EAEzDrC,EAAUjqC,KAAKs5B,UAAU7W,UAAYwnB,EACrCjqC,KAAKu5B,WAAW6S,iBAAmBpsC,KAAKs5B,UAAU6S,WAClDnsC,KAAKu5B,WAAW8S,aAAersC,KAAKs5B,UAAU+S,aAC9CpC,EAAUjqC,KAAKu5B,WAAW9W,UAAYwnB,GAGtCA,EAAUjqC,KAAKu5B,WAAW9W,UAAYwnB,EAIE,IAAtCyK,EAAS1tC,QAAQ,mBACnB0tC,EAAS/rC,OAAO+rC,EAAS1tC,QAAQ,kBAAkB,GAEV,IAAvC0tC,EAAS1tC,QAAQ,oBACnB0tC,EAAS/rC,OAAO+rC,EAAS1tC,QAAQ,mBAAmB,GAG/CijC,GAYTjnC,EAAUkR,UAAUgoC,qBAAuB,SAAUE,EAAUrZ,GAC7D,GAAI7B,IAAU,CAad,OAZgB,IAAZkb,EACErZ,EAAKpS,IAAIrQ,MAAMnW,YAA6B,GAAf44B,EAAKrJ,SACpCqJ,EAAKiE,OACL9F,GAAU,GAIP6B,EAAKpS,IAAIrQ,MAAMnW,YAA6B,GAAf44B,EAAKrJ,SACrCqJ,EAAKkE,OACL/F,GAAU,GAGPA,GAaTl+B,EAAUkR,UAAUumC,qBAAuB,SAAU4B,GAKnD,IAAK,GAHDC,GAAQC,EADRC,KAEA1mB,EAAW91B,KAAKu1B,KAAK50B,KAAKm1B,SAErBhwB,EAAI,EAAGA,EAAIu2C,EAAWp2C,OAAQH,IACrCw2C,EAASxmB,EAASumB,EAAWv2C,GAAG0M,GAAKxS,KAAKsG,MAAMgN,MAChDipC,EAASF,EAAWv2C,GAAG2M,EACvB+pC,EAAcj0C,MAAMiK,EAAG8pC,EAAQ7pC,EAAG8pC,GAGpC,OAAOC,IAcTx5C,EAAUkR,UAAU2mC,qBAAuB,SAAUwB,EAAY3pC,GAC/D,GACI4pC,GAAQC,EADRC,KAEA1mB,EAAW91B,KAAKu1B,KAAK50B,KAAKm1B,SAC1BiN,EAAO/iC,KAAKs5B,UACZmjB,EAAYx4C,OAAOjE,KAAKmrC,IAAIz9B,MAAM6F,OAAOtI,QAAQ,KAAK,IACpB,UAAlCyH,EAAMxD,QAAQ+hC,mBAChBlO,EAAO/iC,KAAKu5B,WAGd,KAAK,GAAIzzB,GAAI,EAAGA,EAAIu2C,EAAWp2C,OAAQH,IAAK,CAC1C,GAAI42C,EAOJA,GAAaL,EAAWv2C,GAAGkN,MAAQqpC,EAAWv2C,GAAGkN,MAAQ,KACzDspC,EAASxmB,EAASumB,EAAWv2C,GAAG0M,GAAKxS,KAAKsG,MAAMgN,MAChDipC,EAAS/3C,KAAK+pB,MAAMwU,EAAK+L,aAAauN,EAAWv2C,GAAG2M,IACpD+pC,EAAcj0C,MAAMiK,EAAG8pC,EAAQ7pC,EAAG8pC,EAAQvpC,MAAM0pC,IAKlD,MAFAhqC,GAAMy9B,gBAAgB3rC,KAAKL,IAAIs4C,EAAW1Z,EAAK+L,aAAa,KAErD0N,GAIT38C,EAAOD,QAAUoD,GAKb,SAASnD,EAAQD,EAASM,GAgB9B,QAAS+C,GAAUsyB,EAAMrmB,GACvBlP,KAAK2wB,KACHoI,WAAY,KACZgT,SACA4Q,cACAC,cACAnrC,WACEs6B,SACA4Q,cACAC,gBAGJ58C,KAAKsG,OACHgwB,OACEjmB,MAAO,EACPC,IAAK,EACL8sB,YAAa,GAEfyf,QAAS,GAGX78C,KAAKi1B,gBACHE,YAAa,SACbkW,iBAAiB,EACjBC,iBAAiB,EACjB/H,OAAQ,KACR1N,SAAU,MAEZ71B,KAAKkP,QAAUvO,EAAKgF,UAAW3F,KAAKi1B,gBAEpCj1B,KAAKu1B,KAAOA,EAGZv1B,KAAKs1B,UAELt1B,KAAKiU,WAAW/E,GAjDlB,GAAIvO,GAAOT,EAAoB,GAC3BqC,EAAYrC,EAAoB,IAChC6B,EAAW7B,EAAoB,IAC/ByB,EAAWzB,EAAoB,IAC/B2D,EAAS3D,EAAoB,GAgDjC+C,GAASiR,UAAY,GAAI3R,GAUzBU,EAASiR,UAAUD,WAAa,SAAS/E,GACnCA,IAEFvO,EAAK0F,iBACH,kBACA,kBACA,cACA,SACA,YACCrG,KAAKkP,QAASA,GAEb,eAAiBA,KACgB,gBAAxBA,GAAQimB,YACjBn1B,KAAKkP,QAAQimB,YAAcjmB,EAAQimB,YAEG,gBAAxBjmB,GAAQimB,aAA4B,QAAUjmB,GAAQimB,cACpEn1B,KAAKkP,QAAQimB,YAAcjmB,EAAQimB,YAAY4N,OAM/C,UAAY7zB,KACe,kBAAlBrL,GAAOuiC,OAEhBviC,EAAOuiC,OAAOl3B,EAAQk3B,QAGtBviC,EAAOwiC,KAAKn3B,EAAQk3B,WAS5BnjC,EAASiR,UAAUohB,QAAU,WAC3Bt1B,KAAK2wB,IAAIoI,WAAa/mB,SAASM,cAAc,OAC7CtS,KAAK2wB,IAAI9jB,WAAamF,SAASM,cAAc,OAE7CtS,KAAK2wB,IAAIoI,WAAW3wB,UAAY,sBAChCpI,KAAK2wB,IAAI9jB,WAAWzE,UAAY,uBAMlCnF,EAASiR,UAAUG,QAAU,WAEvBrU,KAAK2wB,IAAIoI,WAAW5uB,YACtBnK,KAAK2wB,IAAIoI,WAAW5uB,WAAWyH,YAAY5R,KAAK2wB,IAAIoI,YAElD/4B,KAAK2wB,IAAI9jB,WAAW1C,YACtBnK,KAAK2wB,IAAI9jB,WAAW1C,WAAWyH,YAAY5R,KAAK2wB,IAAI9jB,YAGtD7M,KAAKu1B,KAAO,MAOdtyB,EAASiR,UAAUuO,OAAS,WAC1B,GAAIvT,GAAUlP,KAAKkP,QACf5I,EAAQtG,KAAKsG,MACbyyB,EAAa/4B,KAAK2wB,IAAIoI,WACtBlsB,EAAa7M,KAAK2wB,IAAI9jB,WAGtBxC,EAAiC,OAAvB6E,EAAQimB,YAAwBn1B,KAAKu1B,KAAK5E,IAAI1oB,IAAMjI,KAAKu1B,KAAK5E,IAAIrM,OAC5Ew4B,EAAiB/jB,EAAW5uB,aAAeE,CAG/CrK,MAAKytC,oBAGL,IAAIpC,GAAkBrrC,KAAKkP,QAAQm8B,gBAC/BC,EAAkBtrC,KAAKkP,QAAQo8B,eAGnChlC,GAAMonC,iBAAmBrC,EAAkB/kC,EAAMqnC,gBAAkB,EACnErnC,EAAMsnC,iBAAmBtC,EAAkBhlC,EAAMunC,gBAAkB,EACnEvnC,EAAMiN,OAASjN,EAAMonC,iBAAmBpnC,EAAMsnC,iBAC9CtnC,EAAMgN,MAAQylB,EAAW/H,YAEzB1qB,EAAMynC,gBAAkB/tC,KAAKu1B,KAAKC,SAAS91B,KAAK6T,OAASjN,EAAMsnC,kBACnC,OAAvB1+B,EAAQimB,YAAuBn1B,KAAKu1B,KAAKC,SAASlR,OAAO/Q,OAASvT,KAAKu1B,KAAKC,SAASvtB,IAAIsL,QAC9FjN,EAAMwnC,eAAiB,EACvBxnC,EAAM2nC,gBAAkB3nC,EAAMynC,gBAAkBznC,EAAMsnC,iBACtDtnC,EAAM0nC,eAAiB,CAGvB,IAAI+O,GAAwBhkB,EAAWikB,YACnCC,EAAwBpwC,EAAWmwC,WAsBvC,OArBAjkB,GAAW5uB,YAAc4uB,EAAW5uB,WAAWyH,YAAYmnB,GAC3DlsB,EAAW1C,YAAc0C,EAAW1C,WAAWyH,YAAY/E,GAE3DksB,EAAWrrB,MAAM6F,OAASvT,KAAKsG,MAAMiN,OAAS,KAE9CvT,KAAKk9C,iBAGDH,EACF1yC,EAAOgI,aAAa0mB,EAAYgkB,GAGhC1yC,EAAO6H,YAAY6mB,GAEjBkkB,EACFj9C,KAAKu1B,KAAK5E,IAAI2Z,mBAAmBj4B,aAAaxF,EAAYowC,GAG1Dj9C,KAAKu1B,KAAK5E,IAAI2Z,mBAAmBp4B,YAAYrF,GAGxC7M,KAAKgqC,cAAgB8S,GAO9B75C,EAASiR,UAAUgpC,eAAiB,WAClC,GAAI/nB,GAAcn1B,KAAKkP,QAAQimB,YAG3B9kB,EAAQ1P,EAAKuG,QAAQlH,KAAKu1B,KAAKe,MAAMjmB,MAAO,UAC5CC,EAAM3P,EAAKuG,QAAQlH,KAAKu1B,KAAKe,MAAMhmB,IAAK,UACxC6sC,EAAgBn9C,KAAKu1B,KAAK50B,KAAKu1B,OAA2C,GAAnCl2B,KAAKsG,MAAM8oC,gBAAkB,KAAS/nC,UAC7E+1B,EAAc+f,EAAgBx7C,EAASk7B,wBAAwB78B,KAAKu1B,KAAKI,YAAa31B,KAAKu1B,KAAKe,MAAO6mB,EAC3G/f,IAAep9B,KAAKu1B,KAAK50B,KAAKu1B,OAAO,GAAG7uB,SAExC,IAAI8hB,GAAO,GAAIpnB,GAAS,GAAI6C,MAAKyL,GAAQ,GAAIzL,MAAK0L,GAAM8sB,EAAap9B,KAAKu1B,KAAKI,YAC3E31B,MAAKkP,QAAQq0B,QACfpa,EAAK6a,UAAUhkC,KAAKkP,QAAQq0B,QAE1BvjC,KAAKkP,QAAQ2mB,UACf1M,EAAK8b,SAASjlC,KAAKkP,QAAQ2mB,UAE7B71B,KAAKmpB,KAAOA,CAKZ,IAAIwH,GAAM3wB,KAAK2wB,GACfA,GAAIlf,UAAUs6B,MAAQpb,EAAIob,MAC1Bpb,EAAIlf,UAAUkrC,WAAahsB,EAAIgsB,WAC/BhsB,EAAIlf,UAAUmrC,WAAajsB,EAAIisB,WAC/BjsB,EAAIob,SACJpb,EAAIgsB,cACJhsB,EAAIisB,aAEJ,IAAIQ,GAEAle,EAGAme,EAGAj1C,EAPAoK,EAAI,EAEJ8qC,EAAQ,EACRhqC,EAAQ,EAERiqC,EAAmB12C,OACnBzC,EAAM,CAIV,KADA+kB,EAAK+a,QACE/a,EAAK0V,WAAmB,IAANz6B,GACvBA,IAEAg5C,EAAMj0B,EAAKC,aACX8V,EAAU/V,EAAK+V,UACf92B,EAAY+gB,EAAK0c,eAEjByX,EAAQ9qC,EACRA,EAAIxS,KAAKu1B,KAAK50B,KAAKm1B,SAASsnB,GAC5B9pC,EAAQd,EAAI8qC,EACRD,IACFA,EAAS3vC,MAAM4F,MAAQA,EAAQ,MAG7BtT,KAAKkP,QAAQm8B,iBACfrrC,KAAKw9C,kBAAkBhrC,EAAG2W,EAAKwc,gBAAiBxQ,EAAa/sB,GAG3D82B,GAAWl/B,KAAKkP,QAAQo8B,iBACtB94B,EAAI,IACkB3L,QAApB02C,IACFA,EAAmB/qC,GAErBxS,KAAKy9C,kBAAkBjrC,EAAG2W,EAAKyc,gBAAiBzQ,EAAa/sB,IAE/Di1C,EAAWr9C,KAAK09C,kBAAkBlrC,EAAG2iB,EAAa/sB,IAGlDi1C,EAAWr9C,KAAK29C,kBAAkBnrC,EAAG2iB,EAAa/sB,GAGpD+gB,EAAKE,MAIP,IAAIrpB,KAAKkP,QAAQo8B,gBAAiB,CAChC,GAAIsS,GAAW59C,KAAKu1B,KAAK50B,KAAKu1B,OAAO,GACjC2nB,EAAW10B,EAAKyc,cAAcgY,GAC9BE,EAAYD,EAAS53C,QAAUjG,KAAKsG,MAAM6oC,gBAAkB,IAAM,IAE9CtoC,QAApB02C,GAA6CA,EAAZO,IACnC99C,KAAKy9C,kBAAkB,EAAGI,EAAU1oB,EAAa/sB,GAKrDzH,EAAKiI,QAAQ5I,KAAK2wB,IAAIlf,UAAW,SAAUssC,GACzC,KAAOA,EAAI93C,QAAQ,CACjB,GAAI0B,GAAOo2C,EAAIC,KACXr2C,IAAQA,EAAKwC,YACfxC,EAAKwC,WAAWyH,YAAYjK,OAcpC1E,EAASiR,UAAUspC,kBAAoB,SAAUhrC,EAAG8X,EAAM6K,EAAa/sB,GAErE,GAAI4K,GAAQhT,KAAK2wB,IAAIlf,UAAUmrC,WAAW7qC,OAE1C,KAAKiB,EAAO,CAEV,GAAIG,GAAUnB,SAASs9B,eAAe,GACtCt8B,GAAQhB,SAASM,cAAc,OAC/BU,EAAMd,YAAYiB,GAClBnT,KAAK2wB,IAAIoI,WAAW7mB,YAAYc,GAElChT,KAAK2wB,IAAIisB,WAAWr0C,KAAKyK,GAEzBA,EAAMirC,WAAW,GAAGC,UAAY5zB,EAEhCtX,EAAMtF,MAAMzF,IAAsB,OAAfktB,EAAyBn1B,KAAKsG,MAAMsnC,iBAAmB,KAAQ,IAClF56B,EAAMtF,MAAM7F,KAAO2K,EAAI,KACvBQ,EAAM5K,UAAY,cAAgBA,GAYpCnF,EAASiR,UAAUupC,kBAAoB,SAAUjrC,EAAG8X,EAAM6K,EAAa/sB,GAErE,GAAI4K,GAAQhT,KAAK2wB,IAAIlf,UAAUkrC,WAAW5qC,OAE1C,KAAKiB,EAAO,CAEV,GAAIG,GAAUnB,SAASs9B,eAAehlB,EACtCtX,GAAQhB,SAASM,cAAc,OAC/BU,EAAMd,YAAYiB,GAClBnT,KAAK2wB,IAAIoI,WAAW7mB,YAAYc,GAElChT,KAAK2wB,IAAIgsB,WAAWp0C,KAAKyK,GAEzBA,EAAMirC,WAAW,GAAGC,UAAY5zB,EAChCtX,EAAM5K,UAAY,cAAgBA,EAGlC4K,EAAMtF,MAAMzF,IAAsB,OAAfktB,EAAwB,IAAOn1B,KAAKsG,MAAMonC,iBAAoB,KACjF16B,EAAMtF,MAAM7F,KAAO2K,EAAI,MAWzBvP,EAASiR,UAAUypC,kBAAoB,SAAUnrC,EAAG2iB,EAAa/sB,GAE/D,GAAIqoB,GAAOzwB,KAAK2wB,IAAIlf,UAAUs6B,MAAMh6B,OAC/B0e,KAEHA,EAAOze,SAASM,cAAc,OAC9BtS,KAAK2wB,IAAI9jB,WAAWqF,YAAYue,IAElCzwB,KAAK2wB,IAAIob,MAAMxjC,KAAKkoB,EAEpB,IAAInqB,GAAQtG,KAAKsG,KAYjB,OAXmB,OAAf6uB,EACF1E,EAAK/iB,MAAMzF,IAAM3B,EAAMsnC,iBAAmB,KAG1Cnd,EAAK/iB,MAAMzF,IAAMjI,KAAKu1B,KAAKC,SAASvtB,IAAIsL,OAAS,KAEnDkd,EAAK/iB,MAAM6F,OAASjN,EAAMynC,gBAAkB,KAC5Ctd,EAAK/iB,MAAM7F,KAAQ2K,EAAIlM,EAAMwnC,eAAiB,EAAK,KAEnDrd,EAAKroB,UAAY,uBAAyBA,EAEnCqoB,GAWTxtB,EAASiR,UAAUwpC,kBAAoB,SAAUlrC,EAAG2iB,EAAa/sB,GAE/D,GAAIqoB,GAAOzwB,KAAK2wB,IAAIlf,UAAUs6B,MAAMh6B,OAC/B0e,KAEHA,EAAOze,SAASM,cAAc,OAC9BtS,KAAK2wB,IAAI9jB,WAAWqF,YAAYue,IAElCzwB,KAAK2wB,IAAIob,MAAMxjC,KAAKkoB,EAEpB,IAAInqB,GAAQtG,KAAKsG,KAYjB,OAXmB,OAAf6uB,EACF1E,EAAK/iB,MAAMzF,IAAM,IAGjBwoB,EAAK/iB,MAAMzF,IAAMjI,KAAKu1B,KAAKC,SAASvtB,IAAIsL,OAAS,KAEnDkd,EAAK/iB,MAAM7F,KAAQ2K,EAAIlM,EAAM0nC,eAAiB,EAAK,KACnDvd,EAAK/iB,MAAM6F,OAASjN,EAAM2nC,gBAAkB,KAE5Cxd,EAAKroB,UAAY,uBAAyBA,EAEnCqoB,GAQTxtB,EAASiR,UAAUu5B,mBAAqB,WAKjCztC,KAAK2wB,IAAI4e,mBACZvvC,KAAK2wB,IAAI4e,iBAAmBv9B,SAASM,cAAc,OACnDtS,KAAK2wB,IAAI4e,iBAAiBnnC,UAAY,qBACtCpI,KAAK2wB,IAAI4e,iBAAiB7hC,MAAMkX,SAAW,WAE3C5kB,KAAK2wB,IAAI4e,iBAAiBr9B,YAAYF,SAASs9B,eAAe,MAC9DtvC,KAAK2wB,IAAIoI,WAAW7mB,YAAYlS,KAAK2wB,IAAI4e,mBAE3CvvC,KAAKsG,MAAMqnC,gBAAkB3tC,KAAK2wB,IAAI4e,iBAAiB1pB,aACvD7lB,KAAKsG,MAAM8oC,eAAiBpvC,KAAK2wB,IAAI4e,iBAAiB/uB,YAGjDxgB,KAAK2wB,IAAI8e,mBACZzvC,KAAK2wB,IAAI8e,iBAAmBz9B,SAASM,cAAc,OACnDtS,KAAK2wB,IAAI8e,iBAAiBrnC,UAAY,qBACtCpI,KAAK2wB,IAAI8e,iBAAiB/hC,MAAMkX,SAAW,WAE3C5kB,KAAK2wB,IAAI8e,iBAAiBv9B,YAAYF,SAASs9B,eAAe,MAC9DtvC,KAAK2wB,IAAIoI,WAAW7mB,YAAYlS,KAAK2wB,IAAI8e,mBAE3CzvC,KAAKsG,MAAMunC,gBAAkB7tC,KAAK2wB,IAAI8e,iBAAiB5pB,aACvD7lB,KAAKsG,MAAM6oC,eAAiBnvC,KAAK2wB,IAAI8e,iBAAiBjvB,aAGxD3gB,EAAOD,QAAUqD,GAKb,SAASpD,EAAQD,EAASM,GAkC9B,QAASgD,GAASsX,EAAW/G,EAAMvE,GACjC,KAAMlP,eAAgBkD,IACpB,KAAM,IAAIuX,aAAY,mDAGxBza,MAAKm+C,0BACLn+C,KAAKo+C,0BAGLp+C,KAAK0a,iBAAmBF,EAGxBxa,KAAKq+C,kBAAoB,GACzBr+C,KAAKs+C,eAAiB,IAAOt+C,KAAKq+C,kBAClCr+C,KAAKu+C,WAAa,EAClBv+C,KAAKw+C,YAAc,EACnBx+C,KAAKy+C,gBAAiB,EACtBz+C,KAAK0+C,wBAA0B,GAE/B1+C,KAAK2+C,cAAe,EAEpB3+C,KAAK4+C,kBAAoB5qC,IAAI,KAAK6qC,KAAK,KAAKC,SAAS,KAAKC,QAAQ,KAAKC,IAAI,KAE3E,IAAIC,GAAwB,SAAU96C,EAAIC,EAAIC,EAAMC,GAClD,GAAIF,GAAOD,EACT,MAAO,EAGP,IAAII,GAAQ,GAAKH,EAAMD,EACvB,OAAOK,MAAKJ,IAAI,GAAGE,EAAQH,GAAKI,GAIpCvE,MAAKi1B,gBACHiqB,OACED,sBAAuBA,EACvBE,KAAM,EACNC,UAAW,GACXC,UAAW,GACX/yB,OAAQ,GACRgzB,MAAO,UACPC,MAAO14C,OACPqhB,SAAU,GACVC,SAAU,GACVq3B,UAAW,QACXC,SAAU,GACVC,SAAU,UACVC,SAAU94C,OACV+4C,gBAAiB,EACjBC,gBAAiB,UACjBC,kBAAmB,EACnBC,oBAAoB,EACpBC,YAAa,GACbC,YAAa,GACbC,mBAAoB,GACpBC,MAAO,GACP50C,OACIuB,OAAQ,UACRD,WAAY,UACdE,WACED,OAAQ,UACRD,WAAY,WAEdG,OACEF,OAAQ,UACRD,WAAY,YAGhB6F,MAAO7L,OACPma,YAAa,EACbo/B,oBAAqBv5C,QAEvBw5C,OACEpB,sBAAuBA,EACvB/2B,SAAU,EACVC,SAAU,GACV7U,MAAO,EACPgtC,yBAA0B,EAC1BC,WAAY,IACZ7yC,MAAO,OACPnC,OACEA,MAAM,UACNwB,UAAU,UACVC,MAAO,WAETxB,QAAQ,EACRg0C,UAAW,UACXC,SAAU,GACVC,SAAU,QACVC,SAAU,QACVC,gBAAiB,EACjBC,gBAAiB,QACjBW,eAAe,aACfC,iBAAkB,EAClBC,MACEz6C,OAAQ,GACR06C,IAAK,EACLC,UAAW/5C,QAEbg6C,aAAc,OACdC,cAAc,GAEhBC,kBAAiB,EACjBC,SACEC,WACE9xC,SAAS,EACT+xC,cAAe,EACfC,sBAAuB,KACvBC,eAAgB,GAChBC,aAAc,GACdC,eAAgB,IAChBC,QAAS,KAEXC,WACEJ,eAAgB,EAChBC,aAAc,IACdC,eAAgB;AAChBG,aAAc,IACdF,QAAS,KAEXG,uBACEvyC,SAAS,EACTiyC,eAAgB,EAChBC,aAAc,IACdC,eAAgB,IAChBG,aAAc,IACdF,QAAS,KAEXA,QAAS,KACTH,eAAgB,KAChBC,aAAc,KACdC,eAAgB,MAElBK,YACExyC,SAAS,EACTyyC,gBAAiB,IACjBC,iBAAiB,IACjBC,cAAc,IACdC,eAAgB,GAChBC,qBAAsB,GACtBC,gBAAiB,IACjBC,oBAAqB,GACrBC,mBAAoB,EACpBC,YAAa,IACbC,mBAAoB,GACpBC,sBAAuB,GACvBC,WAAY,GACZC,aAAclvC,MAAQ,EACRC,OAAQ,EACR+Y,OAAQ,GACtBm2B,sBAAuB,IACvBC,kBAAmB,GACnBC,uBAAwB,EACxBC,eAAe,GAEjBC,YACE1zC,SAAS,GAEX2zC,UACE3zC,SAAS,EACT4zC,OAAQvwC,EAAG,GAAIC,EAAG,GAAIyvB,KAAM,KAC5B8gB,cAAc,GAEhBC,kBACE9zC,SAAS,EACT+zC,kBAAkB,GAEpBC,oBACEh0C,SAAQ,EACRi0C,gBAAiB,IACjBC,YAAa,IACbnmB,UAAW,KACXomB,OAAQ,WAEVC,wBAAwB,EACxBC,cACEr0C,SAAS,EACTs0C,SAAS,EACTt8C,KAAM,aACNu8C,UAAW,IAEbC,YAAc,GACdC,YAAc,GACdC,WAAW,EACXC,wBAAyB,IACzBC,uBAAuB,EACvB3d,OAAQ,KACRiE,QAASA,EACTjjB,SACE1N,MAAO,IACP8lC,UAAW,QACXC,SAAU,GACVC,SAAU,UACVn0C,OACEuB,OAAQ,OACRD,WAAY,YAGhBm3C,aAAa,EACbC,WAAW,EACXtkB,UAAU,EACV3yB,OAAO,EACPk3C,iBAAiB,EACjBC,iBAAiB,EACjB7wC,MAAQ,OACRC,OAAS,OACTogC,YAAY,EACZyQ,kBAAkB,GAEpBpkD,KAAKqkD,UAAY1jD,EAAKgF,UAAW3F,KAAKi1B,gBACtCj1B,KAAKskD,WAAa,EAGlBtkD,KAAKukD,UAAYrF,SAASmB,UAC1BrgD,KAAKwkD,oBAAqB,EAC1BxkD,KAAKykD,qBACLzkD,KAAK0kD,uBAGL1kD,KAAK2kD,eAAiB,EAAE3kD,KAAKq+C,kBAC7Br+C,KAAK4kD,wBAA0B,iBAC/B5kD,KAAK6kD,WAAY,EACjB7kD,KAAK8kD,WAAa,EAClB9kD,KAAK+kD,YAAc,EACnB/kD,KAAKglD,YAAc,EACnBhlD,KAAKilD,kBAAoB,EACzBjlD,KAAKklD,kBAAoB,EACzBllD,KAAKmlD,eAAiB,KACtBnlD,KAAKolD,mBAAqB,KAC1BplD,KAAKqlD,UAAY,EACjBrlD,KAAKslD,iBAAkB,CAGvB,IAAIniD,GAAUnD,IACdA,MAAK+0B,OAAS,GAAI1xB,GAClBrD,KAAKulD,OAAS,GAAIjiD,GAClBtD,KAAKulD,OAAOC,kBAAkB,SAAUC,GACtCtiD,EAAQuiD,mBAIV1lD,KAAK2lD,WAAa,EAClB3lD,KAAK4lD,WAAa,EAClB5lD,KAAK6lD,cAAgB,EAIrB7lD,KAAK8lD,qBAEL9lD,KAAKs1B,UAELt1B,KAAK+lD,oBAEL/lD,KAAKgmD,qBAELhmD,KAAKimD,uBAELjmD,KAAKkmD,uBAILlmD,KAAKmmD,gBAAgBnmD,KAAKsgB,MAAME,YAAc,EAAGxgB,KAAKsgB,MAAMuF,aAAe,GAC3E7lB,KAAKie,UAAU,GACfje,KAAKiU,WAAW/E,GAGhBlP,KAAKomD,yBAA0B,EAC/BpmD,KAAKqmD,mBACLrmD,KAAKsmD,sBAAuB,EAC5BtmD,KAAKumD,YAAa,EAClBvmD,KAAK8jD,wBAA0B,KAC/B9jD,KAAKwmD,eAAgB,EAGrBxmD,KAAKymD,oBACLzmD,KAAK0mD,0BACL1mD,KAAK2mD,eACL3mD,KAAKk/C,SACLl/C,KAAKqgD,SAGLrgD,KAAK4mD,eAAqBp0C,EAAK,EAAEC,EAAK,GACtCzS,KAAK6mD,mBAAqBr0C,EAAK,EAAEC,EAAK,GACtCzS,KAAK8mD,iBAAmBt0C,EAAK,EAAEC,EAAK,GACpCzS,KAAK+mD,cACL/mD,KAAKuE,MAAQ,EACbvE,KAAKgnD,cAAgBhnD,KAAKuE,MAG1BvE,KAAKinD,UAAY,KACjBjnD,KAAKknD,UAAY,KAGjBlnD,KAAKmnD,gBACHnzC,IAAO,SAAUnK,EAAOgL,GACtB1R,EAAQikD,UAAUvyC,EAAO5S,OACzBkB,EAAQkN,SAEVuF,OAAU,SAAU/L,EAAOgL,GACzB1R,EAAQkkD,aAAaxyC,EAAO5S,OAC5BkB,EAAQkN,SAEVgH,OAAU,SAAUxN,EAAOgL,GACzB1R,EAAQmkD,aAAazyC,EAAO5S,OAC5BkB,EAAQkN,UAGZrQ,KAAKunD,gBACHvzC,IAAO,SAAUnK,EAAOgL,GACtB1R,EAAQqkD,UAAU3yC,EAAO5S,OACzBkB,EAAQkN,SAEVuF,OAAU,SAAU/L,EAAOgL,GACzB1R,EAAQskD,aAAa5yC,EAAO5S,OAC5BkB,EAAQkN,SAEVgH,OAAU,SAAUxN,EAAOgL,GACzB1R,EAAQukD,aAAa7yC,EAAO5S,OAC5BkB,EAAQkN,UAKZrQ,KAAK2nD,QAAS,EACd3nD,KAAK4nD,MAAQ/gD,OAGb7G,KAAKgZ,QAAQvF,EAAKzT,KAAKqkD,UAAU1C,WAAWxyC,SAAWnP,KAAKqkD,UAAUlB,mBAAmBh0C,SAGzFnP,KAAK2+C,cAAe,EAC6B,GAA7C3+C,KAAKqkD,UAAUlB,mBAAmBh0C,QACpCnP,KAAK6nD,2BAI2B,GAA5B7nD,KAAKqkD,UAAUR,WACjB7jD,KAAK8nD,YAAYv3C,SAAS,IAAI,EAAMvQ,KAAKqkD,UAAU1C,WAAWxyC,SAK9DnP,KAAKqkD,UAAU1C,WAAWxyC,SAC5BnP,KAAK+nD,sBAvXT,GAAI/pC,GAAU9d,EAAoB,IAC9BwmC,EAASxmC,EAAoB,IAC7B8nD,EAAW9nD,EAAoB,IAC/BS,EAAOT,EAAoB,GAC3BugC,EAAavgC,EAAoB,IACjCW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/BuD,EAAYvD,EAAoB,IAChCwD,EAAcxD,EAAoB,IAClCmD,EAASnD,EAAoB,IAC7BoD,EAASpD,EAAoB,IAC7BqD,EAAOrD,EAAoB,IAC3BkD,EAAOlD,EAAoB,IAC3BsD,EAAQtD,EAAoB,IAC5B+nD,EAAc/nD,EAAoB,IAClCgoD,EAAYhoD,EAAoB,IAChCmqC,EAAUnqC,EAAoB,GAGlCA,GAAoB,IAyWpB8d,EAAQ9a,EAAQgR,WAOhBhR,EAAQgR,UAAUiqC,wBAA0B,WAC1C,GAAIgK,GAAc5+C,UAAUC,UAAU88B,aACtCtmC,MAAKooD,iBAAkB,EACgB,IAAnCD,EAAYnhD,QAAQ,YACtBhH,KAAKooD,iBAAkB,EAEiB,IAAjCD,EAAYnhD,QAAQ,WACvBmhD,EAAYnhD,QAAQ,WAAa,KACnChH,KAAKooD,iBAAkB,IAa7BllD,EAAQgR,UAAUm0C,eAAiB,WAIjC,IAAK,GAHDC,GAAUt2C,SAASu2C,qBAAsB,UAGpCziD,EAAI,EAAGA,EAAIwiD,EAAQriD,OAAQH,IAAK,CACvC,GAAI0iD,GAAMF,EAAQxiD,GAAG0iD,IACjB3jD,EAAQ2jD,GAAO,qBAAqBzjD,KAAKyjD,EAC7C,IAAI3jD,EAEF,MAAO2jD,GAAI/d,UAAU,EAAG+d,EAAIviD,OAASpB,EAAM,GAAGoB,QAIlD,MAAO,OAQT/C,EAAQgR,UAAUu0C,UAAY,SAASC,GACrC,GAAsDC,GAAlDC,EAAO,IAAKC,EAAO,KAAMC,EAAO,IAAKC,EAAO,IAChD,IAAIL,EAAcziD,OAAS,EACzB,IAAK,GAAIH,GAAI,EAAGA,EAAI4iD,EAAcziD,OAAQH,IACxC6iD,EAAO3oD,KAAKk/C,MAAMwJ,EAAc5iD,IAC5BgjD,EAAQH,EAAKK,YAAgB,OAC/BF,EAAOH,EAAKK,YAAYnhD,MAEtBkhD,EAAQJ,EAAKK,YAAiB,QAChCD,EAAOJ,EAAKK,YAAY3gC,OAEtBugC,EAAQD,EAAKK,YAAkB,SACjCJ,EAAOD,EAAKK,YAAY/gD,KAEtB4gD,EAAQF,EAAKK,YAAe,MAC9BH,EAAOF,EAAKK,YAAY1kC,YAK5B,KAAK,GAAI2kC,KAAUjpD,MAAKk/C,MAClBl/C,KAAKk/C,MAAM94C,eAAe6iD,KAC5BN,EAAO3oD,KAAKk/C,MAAM+J,GACdH,EAAQH,EAAKK,YAAgB,OAC/BF,EAAOH,EAAKK,YAAYnhD,MAEtBkhD,EAAQJ,EAAKK,YAAiB,QAChCD,EAAOJ,EAAKK,YAAY3gC,OAEtBugC,EAAQD,EAAKK,YAAkB,SACjCJ,EAAOD,EAAKK,YAAY/gD,KAEtB4gD,EAAQF,EAAKK,YAAe,MAC9BH,EAAOF,EAAKK,YAAY1kC,QAShC,OAHY,MAARwkC,GAAuB,MAARC,GAAwB,KAARH,GAAuB,MAARC,IAChDD,EAAO,EAAGC,EAAO,EAAGC,EAAO,EAAGC,EAAO,IAE/BD,KAAMA,EAAMC,KAAMA,EAAMH,KAAMA,EAAMC,KAAMA,IASpD3lD,EAAQgR,UAAUg1C,YAAc,SAAS5yB,GACvC,OAAQ9jB,EAAI,IAAO8jB,EAAMyyB,KAAOzyB,EAAMwyB,MAC9Br2C,EAAI,IAAO6jB,EAAMuyB,KAAOvyB,EAAMsyB,QAUxC1lD,EAAQgR,UAAU4zC,WAAa,SAAS54C,EAASi6C,EAAaC,GAC5DppD,KAAKi3B,SAAQ,GAEYpwB,SAArBsiD,IAAiCA,GAAc,GAC1BtiD,SAArBuiD,IAAiCA,GAAe,GACpCviD,SAAZqI,IAAwBA,GAAWgwC,WACjBr4C,SAAlBqI,EAAQgwC,QACVhwC,EAAQgwC,SAGV,IAAI5oB,GACA+yB,CAEJ,IAAmB,GAAfF,EAAqB,CAEvB,GAAIG,GAAkB,CACtB,KAAK,GAAIL,KAAUjpD,MAAKk/C,MACtB,GAAIl/C,KAAKk/C,MAAM94C,eAAe6iD,GAAS,CACrC,GAAIN,GAAO3oD,KAAKk/C,MAAM+J,EACS,IAA3BN,EAAKY,qBACPD,GAAmB,GAIzB,GAAIA,EAAkB,GAAMtpD,KAAK2mD,YAAY1gD,OAE3C,WADAjG,MAAK8nD,WAAW54C,GAAQ,EAAMk6C,EAIhC9yB,GAAQt2B,KAAKyoD,UAAUv5C,EAAQgwC,MAE/B,IAAIsK,GAAgBxpD,KAAK2mD,YAAY1gD,MAIjCojD,GAH+B,GAA/BrpD,KAAKqkD,UAAUb,aACwB,GAArCxjD,KAAKqkD,UAAU1C,WAAWxyC,SAC5Bq6C,GAAiBxpD,KAAKqkD,UAAU1C,WAAWC,gBAC/B,UAAY4H,EAAgB,WAAa,SAGzC,QAAUA,EAAgB,QAAU,SAIT,GAArCxpD,KAAKqkD,UAAU1C,WAAWxyC,SAC1Bq6C,GAAiBxpD,KAAKqkD,UAAU1C,WAAWC,gBACjC,YAAc4H,EAAgB,YAAc,cAG5C,YAAcA,EAAgB,aAAe,SAK7D,IAAIC,GAASjlD,KAAKL,IAAInE,KAAKsgB,MAAMC,OAAOC,YAAc,IAAKxgB,KAAKsgB,MAAMC,OAAOsF,aAAe,IAC5FwjC,IAAaI,MAEV,CACHnzB,EAAQt2B,KAAKyoD,UAAUv5C,EAAQgwC,MAC/B,IAAIhE,GAAgD,IAApC12C,KAAKknB,IAAI4K,EAAMyyB,KAAOzyB,EAAMwyB,MACxCY,EAAgD,IAApCllD,KAAKknB,IAAI4K,EAAMuyB,KAAOvyB,EAAMsyB,MAExCe,EAAa3pD,KAAKsgB,MAAMC,OAAOC,YAAe06B,EAC9C0O,EAAa5pD,KAAKsgB,MAAMC,OAAOsF,aAAe6jC,CAClDL,GAA2BO,GAAdD,EAA4BA,EAAaC,EAGpDP,EAAY,IACdA,EAAY,EAId,IAAIt8B,GAAS/sB,KAAKkpD,YAAY5yB,EAC9B,IAAoB,GAAhB8yB,EAAuB,CACzB,GAAIl6C,IAAW0V,SAAUmI,EAAQxoB,MAAO8kD,EAAWQ,UAAW36C,EAC9DlP,MAAK6oB,OAAO3Z,GACZlP,KAAK2nD,QAAS,EACd3nD,KAAKqQ,YAGL0c,GAAOva,GAAK62C,EACZt8B,EAAOta,GAAK42C,EACZt8B,EAAOva,GAAK,GAAMxS,KAAKsgB,MAAMC,OAAOC,YACpCuM,EAAOta,GAAK,GAAMzS,KAAKsgB,MAAMC,OAAOsF,aACpC7lB,KAAKie,UAAUorC,GACfrpD,KAAKmmD,iBAAiBp5B,EAAOva,GAAGua,EAAOta,IAS3CvP,EAAQgR,UAAU41C,qBAAuB,WACvC9pD,KAAK+pD,qBACL,KAAK,GAAIC,KAAOhqD,MAAKk/C,MACfl/C,KAAKk/C,MAAM94C,eAAe4jD,IAC5BhqD,KAAK2mD,YAAYp+C,KAAKyhD,IAiB5B9mD,EAAQgR,UAAU8E,QAAU,SAASvF,EAAM21C,GAWzC,GAVqBviD,SAAjBuiD,IACFA,GAAe,GAIjBppD,KAAKiqD,cAAa,GAGlBjqD,KAAK2+C,cAAe,EAEhBlrC,GAAQA,EAAKid,MAAQjd,EAAKyrC,OAASzrC,EAAK4sC,OAC1C,KAAM,IAAI5lC,aAAY,iGAYxB,IAP+C,GAA3Cza,KAAKqkD,UAAUpB,iBAAiB9zC,SAClCnP,KAAKkqD,wBAIPlqD,KAAKiU,WAAWR,GAAQA,EAAKvE,SAEzBuE,GAAQA,EAAKid,KAEf,GAAGjd,GAAQA,EAAKid,IAAK,CACnB,GAAIy5B,GAAU1mD,EAAU2mD,WAAW32C,EAAKid,IAExC,YADA1wB,MAAKgZ,QAAQmxC,QAIZ,IAAI12C,GAAQA,EAAK42C,OAEpB,GAAG52C,GAAQA,EAAK42C,MAAO,CACrB,GAAIC,GAAY5mD,EAAY6mD,WAAW92C,EAAK42C,MAE5C,YADArqD,MAAKgZ,QAAQsxC,QAKftqD,MAAKwqD,UAAU/2C,GAAQA,EAAKyrC,OAC5Bl/C,KAAKyqD,UAAUh3C,GAAQA,EAAK4sC,MAE9BrgD,MAAK0qD,mBACe,GAAhBtB,IAC+C,GAA7CppD,KAAKqkD,UAAUlB,mBAAmBh0C,SACpCnP,KAAK2qD,eACL3qD,KAAK6nD,4BAI2B,GAA5B7nD,KAAKqkD,UAAUR,WACjB7jD,KAAK4qD,aAGT5qD,KAAKqQ,SAEPrQ,KAAK2+C,cAAe,GAOtBz7C,EAAQgR,UAAUD,WAAa,SAAU/E,GACvC,GAAIA,EAAS,CACX,GAAI/I,GACAwI,GAAU,QAAQ,QAAQ,eAAe,qBAAqB,aAAa,aAC7E,WAAW,mBAAmB,QAAQ,SAAS,aAAa,YAAY,WAAW,aAQrF,IALAhO,EAAKoG,uBAAuB4H,EAAO3O,KAAKqkD,UAAWn1C,GACnDvO,EAAKoG,wBAAwB,SAAS/G,KAAKqkD,UAAUnF,MAAOhwC,EAAQgwC,OACpEv+C,EAAKoG,wBAAwB,QAAQ,UAAU/G,KAAKqkD,UAAUhE,MAAOnxC,EAAQmxC,OAE7ErgD,KAAK+0B,OAAOqvB,iBAAmBpkD,KAAKqkD,UAAUD,iBAC1Cl1C,EAAQ8xC,UACVrgD,EAAKqO,aAAahP,KAAKqkD,UAAUrD,QAAS9xC,EAAQ8xC,QAAQ,aAC1DrgD,EAAKqO,aAAahP,KAAKqkD,UAAUrD,QAAS9xC,EAAQ8xC,QAAQ,aAEtD9xC,EAAQ8xC,QAAQU,uBAAuB,CACzC1hD,KAAKqkD,UAAUlB,mBAAmBh0C,SAAU,EAC5CnP,KAAKqkD,UAAUrD,QAAQU,sBAAsBvyC,SAAU,EACvDnP,KAAKqkD,UAAUrD,QAAQC,UAAU9xC,SAAU,CAC3C,KAAKhJ,IAAQ+I,GAAQ8xC,QAAQU,sBACvBxyC,EAAQ8xC,QAAQU,sBAAsBt7C,eAAeD,KACvDnG,KAAKqkD,UAAUrD,QAAQU,sBAAsBv7C,GAAQ+I,EAAQ8xC,QAAQU,sBAAsBv7C,IAkDnG,GA5CI+I,EAAQ0kC,QAAQ5zC,KAAK4+C,iBAAiB5qC,IAAM9E,EAAQ0kC,OACpD1kC,EAAQ27C,SAAS7qD,KAAK4+C,iBAAiBC,KAAO3vC,EAAQ27C,QACtD37C,EAAQ47C,aAAa9qD,KAAK4+C,iBAAiBE,SAAW5vC,EAAQ47C,YAC9D57C,EAAQ67C,YAAY/qD,KAAK4+C,iBAAiBG,QAAU7vC,EAAQ67C,WAC5D77C,EAAQ87C,WAAWhrD,KAAK4+C,iBAAiBI,IAAM9vC,EAAQ87C,UAE3DrqD,EAAKqO,aAAahP,KAAKqkD,UAAWn1C,EAAQ,gBAC1CvO,EAAKqO,aAAahP,KAAKqkD,UAAWn1C,EAAQ,sBAC1CvO,EAAKqO,aAAahP,KAAKqkD,UAAWn1C,EAAQ,cAC1CvO,EAAKqO,aAAahP,KAAKqkD,UAAWn1C,EAAQ,cAC1CvO,EAAKqO,aAAahP,KAAKqkD,UAAWn1C,EAAQ,YAC1CvO,EAAKqO,aAAahP,KAAKqkD,UAAWn1C,EAAQ,oBAGtCA,EAAQ+zC,mBACVjjD,KAAKirD,SAAWjrD,KAAKqkD,UAAUpB,iBAAiBC,kBAK9Ch0C,EAAQmxC,QACkBx5C,SAAxBqI,EAAQmxC,MAAM90C,QACZ5K,EAAK8D,SAASyK,EAAQmxC,MAAM90C,QAC9BvL,KAAKqkD,UAAUhE,MAAM90C,SACrBvL,KAAKqkD,UAAUhE,MAAM90C,MAAMA,MAAQ2D,EAAQmxC,MAAM90C,MACjDvL,KAAKqkD,UAAUhE,MAAM90C,MAAMwB,UAAYmC,EAAQmxC,MAAM90C,MACrDvL,KAAKqkD,UAAUhE,MAAM90C,MAAMyB,MAAQkC,EAAQmxC,MAAM90C,QAGf1E,SAA9BqI,EAAQmxC,MAAM90C,MAAMA,QAA0BvL,KAAKqkD,UAAUhE,MAAM90C,MAAMA,MAAQ2D,EAAQmxC,MAAM90C,MAAMA,OACnE1E,SAAlCqI,EAAQmxC,MAAM90C,MAAMwB,YAA0B/M,KAAKqkD,UAAUhE,MAAM90C,MAAMwB,UAAYmC,EAAQmxC,MAAM90C,MAAMwB,WAC3ElG,SAA9BqI,EAAQmxC,MAAM90C,MAAMyB,QAA0BhN,KAAKqkD,UAAUhE,MAAM90C,MAAMyB,MAAQkC,EAAQmxC,MAAM90C,MAAMyB,QAE3GhN,KAAKqkD,UAAUhE,MAAMQ,cAAe,GAGjC3xC,EAAQmxC,MAAMb,WACW34C,SAAxBqI,EAAQmxC,MAAM90C,QACZ5K,EAAK8D,SAASyK,EAAQmxC,MAAM90C,OAAmBvL,KAAKqkD,UAAUhE,MAAMb,UAAYtwC,EAAQmxC,MAAM90C,MAC3D1E,SAA9BqI,EAAQmxC,MAAM90C,MAAMA,QAAsBvL,KAAKqkD,UAAUhE,MAAMb,UAAYtwC,EAAQmxC,MAAM90C,MAAMA,SAK1G2D,EAAQgwC,OACNhwC,EAAQgwC,MAAM3zC,MAAO,CACvB,GAAI2/C,GAAcvqD,EAAKqL,WAAWkD,EAAQgwC,MAAM3zC,MAChDvL,MAAKqkD,UAAUnF,MAAM3zC,MAAMsB,WAAaq+C,EAAYr+C,WACpD7M,KAAKqkD,UAAUnF,MAAM3zC,MAAMuB,OAASo+C,EAAYp+C,OAChD9M,KAAKqkD,UAAUnF,MAAM3zC,MAAMwB,UAAUF,WAAaq+C,EAAYn+C,UAAUF,WACxE7M,KAAKqkD,UAAUnF,MAAM3zC,MAAMwB,UAAUD,OAASo+C,EAAYn+C,UAAUD,OACpE9M,KAAKqkD,UAAUnF,MAAM3zC,MAAMyB,MAAMH,WAAaq+C,EAAYl+C,MAAMH,WAChE7M,KAAKqkD,UAAUnF,MAAM3zC,MAAMyB,MAAMF,OAASo+C,EAAYl+C,MAAMF,OAGhE,GAAIoC,EAAQ6lB,OACV,IAAK,GAAIo2B,KAAaj8C,GAAQ6lB,OAC5B,GAAI7lB,EAAQ6lB,OAAO3uB,eAAe+kD,GAAY,CAC5C,GAAIz4C,GAAQxD,EAAQ6lB,OAAOo2B,EAC3BnrD,MAAK+0B,OAAO/gB,IAAIm3C,EAAWz4C,GAKjC,GAAIxD,EAAQkY,QAAS,CACnB,IAAKjhB,IAAQ+I,GAAQkY,QACflY,EAAQkY,QAAQhhB,eAAeD,KACjCnG,KAAKqkD,UAAUj9B,QAAQjhB,GAAQ+I,EAAQkY,QAAQjhB,GAG/C+I,GAAQkY,QAAQ7b,QAClBvL,KAAKqkD,UAAUj9B,QAAQ7b,MAAQ5K,EAAKqL,WAAWkD,EAAQkY,QAAQ7b,QAmBnE,GAfI,cAAgB2D,KACdA,EAAQk8C,WACLprD,KAAKqrD,YACRrrD,KAAKqrD,UAAY,GAAInD,GAAUloD,KAAKsgB,OACpCtgB,KAAKqrD,UAAU/2C,GAAG,SAAUtU,KAAKsrD,gBAAgB51B,KAAK11B,QAIpDA,KAAKqrD,YACPrrD,KAAKqrD,UAAUh3C,gBACRrU,MAAKqrD,YAKdn8C,EAAQ88B,OACV,KAAM,IAAIpoC,OAAM,6EAMlB5D,MAAK8lD,qBAEL9lD,KAAKurD,0BAELvrD,KAAKwrD,0BAELxrD,KAAKyrD,yBAGLzrD,KAAK0rD,cAGL1rD,KAAKsrD,kBAELtrD,KAAK2rD,uBACL3rD,KAAK2lB,QAAQ3lB,KAAKqkD,UAAU/wC,MAAOtT,KAAKqkD,UAAU9wC,QAClDvT,KAAK2nD,QAAS,EACmC,GAA7C3nD,KAAKqkD,UAAUlB,mBAAmBh0C,SAAwC,GAArBnP,KAAK2+C,eAC5D3+C,KAAK2qD,eACL3qD,KAAK6nD,4BAEP7nD,KAAKqQ,UAaTnN,EAAQgR,UAAUohB,QAAU,WAE1B,KAAOt1B,KAAK0a,iBAAiBgK,iBAC3B1kB,KAAK0a,iBAAiB9I,YAAY5R,KAAK0a,iBAAiBiK,WAgB1D,IAbA3kB,KAAKsgB,MAAQtO,SAASM,cAAc,OACpCtS,KAAKsgB,MAAMlY,UAAY,oBACvBpI,KAAKsgB,MAAM5S,MAAMkX,SAAW,WAC5B5kB,KAAKsgB,MAAM5S,MAAMmX,SAAW,SAC5B7kB,KAAKsgB,MAAMsrC,SAAW,IAKtB5rD,KAAKsgB,MAAMC,OAASvO,SAASM,cAAc,UAC3CtS,KAAKsgB,MAAMC,OAAO7S,MAAMkX,SAAW,WACnC5kB,KAAKsgB,MAAMpO,YAAYlS,KAAKsgB,MAAMC,QAE7BvgB,KAAKsgB,MAAMC,OAAOyH,WAQlB,CACH,GAAID,GAAM/nB,KAAKsgB,MAAMC,OAAOyH,WAAW,KACvChoB,MAAKskD,YAAcx8C,OAAO+jD,kBAAoB,IAAM9jC,EAAI+jC,8BAC9C/jC,EAAIgkC,2BACJhkC,EAAIikC,0BACJjkC,EAAIkkC,yBACJlkC,EAAImkC,wBAA0B,GAGxClsD,KAAKsgB,MAAMC,OAAOyH,WAAW,MAAMmkC,aAAansD,KAAKskD,WAAY,EAAG,EAAGtkD,KAAKskD,WAAY,EAAG,OAjB1D,CACjC,GAAIx/B,GAAW9S,SAASM,cAAe,MACvCwS,GAASpX,MAAMnC,MAAQ,MACvBuZ,EAASpX,MAAMqX,WAAc,OAC7BD,EAASpX,MAAMsX,QAAW,OAC1BF,EAASG,UAAa,mDACtBjlB,KAAKsgB,MAAMC,OAAOrO,YAAY4S,GAchC9kB,KAAK0rD,eAQPxoD,EAAQgR,UAAUw3C,YAAc,WAC9B,GAAIx2C,GAAKlV,IACW6G,UAAhB7G,KAAK8D,QACP9D,KAAK8D,OAAOsoD,UAEdpsD,KAAK+qC,QACL/qC,KAAKqsD,SACLrsD,KAAK8D,OAAS4iC,EAAO1mC,KAAKsgB,MAAMC,QAC9ByqB,iBAAiB,IAEnBhrC,KAAK8D,OAAOwQ,GAAG,MAAaY,EAAGo3C,OAAO52B,KAAKxgB,IAC3ClV,KAAK8D,OAAOwQ,GAAG,YAAaY,EAAGq3C,aAAa72B,KAAKxgB,IACjDlV,KAAK8D,OAAOwQ,GAAG,OAAaY,EAAGirB,QAAQzK,KAAKxgB,IAC5ClV,KAAK8D,OAAOwQ,GAAG,QAAaY,EAAGmrB,SAAS3K,KAAKxgB,IAC7ClV,KAAK8D,OAAOwQ,GAAG,YAAaY,EAAG8qB,aAAatK,KAAKxgB,IACjDlV,KAAK8D,OAAOwQ,GAAG,OAAaY,EAAG+qB,QAAQvK,KAAKxgB,IAC5ClV,KAAK8D,OAAOwQ,GAAG,UAAaY,EAAGgrB,WAAWxK,KAAKxgB,IAEhB,GAA3BlV,KAAKqkD,UAAU1kB,WACjB3/B,KAAK8D,OAAOwQ,GAAG,aAAmBY,EAAGkrB,cAAc1K,KAAKxgB,IACxDlV,KAAK8D,OAAOwQ,GAAG,iBAAmBY,EAAGkrB,cAAc1K,KAAKxgB,IACxDlV,KAAK8D,OAAOwQ,GAAG,QAAmBY,EAAGorB,SAAS5K,KAAKxgB,KAGrDlV,KAAK8D,OAAOwQ,GAAG,YAAaY,EAAGs3C,kBAAkB92B,KAAKxgB,IAEtDlV,KAAKysD,YAAc/lB,EAAO1mC,KAAKsgB,OAC7B0qB,iBAAiB,IAEnBhrC,KAAKysD,YAAYn4C,GAAG,UAAWY,EAAGw3C,WAAWh3B,KAAKxgB,IAGlDlV,KAAK0a,iBAAiBxI,YAAYlS,KAAKsgB,QAOzCpd,EAAQgR,UAAUo3C,gBAAkB,WAClC,GAAIp2C,GAAKlV,IACa6G,UAAlB7G,KAAKgoD,UACPhoD,KAAKgoD,SAAS3zC,UAG4B,GAAxCrU,KAAKqkD,UAAUvB,SAASE,aAC1BhjD,KAAKgoD,SAAWA,GAAUxtC,UAAW1S,OAAQ8B,gBAAgB,IAG7D5J,KAAKgoD,SAAWA,GAAUxtC,UAAWxa,KAAKsgB,MAAO1W,gBAAgB,IAGnE5J,KAAKgoD,SAAS2E,QAEV3sD,KAAKqkD,UAAUvB,SAAS3zC,SAAWnP,KAAK4sD,aAC1C5sD,KAAKgoD,SAAStyB,KAAK,KAAQ11B,KAAK6sD,QAAQn3B,KAAKxgB,GAAQ,WACrDlV,KAAKgoD,SAAStyB,KAAK,KAAQ11B,KAAK8sD,aAAap3B,KAAKxgB,GAAK,SACvDlV,KAAKgoD,SAAStyB,KAAK,OAAQ11B,KAAK+sD,UAAUr3B,KAAKxgB,GAAM,WACrDlV,KAAKgoD,SAAStyB,KAAK,OAAQ11B,KAAK8sD,aAAap3B,KAAKxgB,GAAK,SACvDlV,KAAKgoD,SAAStyB,KAAK,OAAQ11B,KAAKgtD,UAAUt3B,KAAKxgB,GAAM,WACrDlV,KAAKgoD,SAAStyB,KAAK,OAAQ11B,KAAKitD,aAAav3B,KAAKxgB,GAAK,SACvDlV,KAAKgoD,SAAStyB,KAAK,QAAQ11B,KAAKktD,WAAWx3B,KAAKxgB,GAAK,WACrDlV,KAAKgoD,SAAStyB,KAAK,QAAQ11B,KAAKitD,aAAav3B,KAAKxgB,GAAK,SACvDlV,KAAKgoD,SAAStyB,KAAK,IAAQ11B,KAAKmtD,QAAQz3B,KAAKxgB,GAAQ,WACrDlV,KAAKgoD,SAAStyB,KAAK,IAAQ11B,KAAKotD,UAAU13B,KAAKxgB,GAAQ,SACvDlV,KAAKgoD,SAAStyB,KAAK,OAAQ11B,KAAKmtD,QAAQz3B,KAAKxgB,GAAQ,WACrDlV,KAAKgoD,SAAStyB,KAAK,OAAQ11B,KAAKotD,UAAU13B,KAAKxgB,GAAQ,SACvDlV,KAAKgoD,SAAStyB,KAAK,OAAQ11B,KAAKqtD,SAAS33B,KAAKxgB,GAAO,WACrDlV,KAAKgoD,SAAStyB,KAAK,OAAQ11B,KAAKotD,UAAU13B,KAAKxgB,GAAQ,SACvDlV,KAAKgoD,SAAStyB,KAAK,IAAQ11B,KAAKqtD,SAAS33B,KAAKxgB,GAAO,WACrDlV,KAAKgoD,SAAStyB,KAAK,IAAQ11B,KAAKotD,UAAU13B,KAAKxgB,GAAQ,SACvDlV,KAAKgoD,SAAStyB,KAAK,IAAQ11B,KAAKmtD,QAAQz3B,KAAKxgB,GAAQ,WACrDlV,KAAKgoD,SAAStyB,KAAK,IAAQ11B,KAAKotD,UAAU13B,KAAKxgB,GAAQ,SACvDlV,KAAKgoD,SAAStyB,KAAK,IAAQ11B,KAAKqtD,SAAS33B,KAAKxgB,GAAO,WACrDlV,KAAKgoD,SAAStyB,KAAK,IAAQ11B,KAAKotD,UAAU13B,KAAKxgB,GAAQ,SACvDlV,KAAKgoD,SAAStyB,KAAK,SAAS11B,KAAKmtD,QAAQz3B,KAAKxgB,GAAO,WACrDlV,KAAKgoD,SAAStyB,KAAK,SAAS11B,KAAKotD,UAAU13B,KAAKxgB,GAAO,SACvDlV,KAAKgoD,SAAStyB,KAAK,WAAW11B,KAAKqtD,SAAS33B,KAAKxgB,GAAI,WACrDlV,KAAKgoD,SAAStyB,KAAK,WAAW11B,KAAKotD,UAAU13B,KAAKxgB,GAAK,UAGV,GAA3ClV,KAAKqkD,UAAUpB,iBAAiB9zC,UAClCnP,KAAKgoD,SAAStyB,KAAK,MAAM11B,KAAKkqD,sBAAsBx0B,KAAKxgB,IACzDlV,KAAKgoD,SAAStyB,KAAK,SAAS11B,KAAKstD,gBAAgB53B,KAAKxgB,MAU1DhS,EAAQgR,UAAUG,QAAU,WAC1BrU,KAAKqQ,MAAQ,aACbrQ,KAAKyiB,OAAS,aACdziB,KAAK4nD,OAAQ,EAGb5nD,KAAKutD,+BAGLvtD,KAAKgoD,SAAS2E,QAGd3sD,KAAK8D,OAAOsoD,UAGZpsD,KAAKyU,MAELzU,KAAKwtD,oBAAoBxtD,KAAK0a,mBAGhCxX,EAAQgR,UAAUs5C,oBAAsB,SAASC,GAC/C,KAAoC,GAA7BA,EAAU/oC,iBACf1kB,KAAKwtD,oBAAoBC,EAAU9oC,YACnC8oC,EAAU77C,YAAY67C,EAAU9oC,aAUpCzhB,EAAQgR,UAAUw5C,YAAc,SAAU5tB,GACxC,OACEttB,EAAGstB,EAAMvH,MAAQ53B,EAAK+G,gBAAgB1H,KAAKsgB,MAAMC,QACjD9N,EAAGqtB,EAAMrH,MAAQ93B,EAAKqH,eAAehI,KAAKsgB,MAAMC,UASpDrd,EAAQgR,UAAUmsB,SAAW,SAAUx2B,IACjC,GAAIjF,OAAOyC,UAAYrH,KAAKqlD,UAAY,MAC1CrlD,KAAK+qC,KAAKhJ,QAAU/hC,KAAK0tD,YAAY7jD,EAAM2uB,QAAQzL,QACnD/sB,KAAK+qC,KAAK4iB,SAAU,EACpB3tD,KAAKqsD,MAAM9nD,MAAQvE,KAAK4tD,YAGxB5tD,KAAKqlD,WAAY,GAAIzgD,OAAOyC,UAE5BrH,KAAK6tD,aAAa7tD,KAAK+qC,KAAKhJ,WAQhC7+B,EAAQgR,UAAU8rB,aAAe,SAAUn2B,GACzC7J,KAAK8tD,iBAAiBjkD,IAUxB3G,EAAQgR,UAAU45C,iBAAmB,SAASjkD,GAElBhD,SAAtB7G,KAAK+qC,KAAKhJ,SACZ/hC,KAAKqgC,SAASx2B,EAGhB,IAAI8+C,GAAO3oD,KAAK+tD,WAAW/tD,KAAK+qC,KAAKhJ,QASrC,IANA/hC,KAAK+qC,KAAK/J,UAAW,EACrBhhC,KAAK+qC,KAAK4J,aACV30C,KAAK+qC,KAAKtsB,YAAcze,KAAKguD,kBAC7BhuD,KAAK+qC,KAAKke,OAAS,KACnBjpD,KAAKwmD,eAAgB,EAET,MAARmC,GAA4C,GAA5B3oD,KAAKqkD,UAAUJ,UAAmB,CACpDjkD,KAAKwmD,eAAgB,EACrBxmD,KAAK+qC,KAAKke,OAASN,EAAKtoD,GAEnBsoD,EAAKsF,cACRjuD,KAAKkuD,cAAcvF,GAAK,GAG1B3oD,KAAKyuB,KAAK,aAAa0/B,QAAQnuD,KAAK83B,eAAeonB,OAGnD,KAAK,GAAIkP,KAAYpuD,MAAKquD,aAAanP,MACrC,GAAIl/C,KAAKquD,aAAanP,MAAM94C,eAAegoD,GAAW,CACpD,GAAIpqD,GAAShE,KAAKquD,aAAanP,MAAMkP,GACjC7hD,GACFlM,GAAI2D,EAAO3D,GACXsoD,KAAM3kD,EAGNwO,EAAGxO,EAAOwO,EACVC,EAAGzO,EAAOyO,EACV67C,OAAQtqD,EAAOsqD,OACfC,OAAQvqD,EAAOuqD,OAGjBvqD,GAAOsqD,QAAS,EAChBtqD,EAAOuqD,QAAS,EAEhBvuD,KAAK+qC,KAAK4J,UAAUpsC,KAAKgE,MAWjCrJ,EAAQgR,UAAU+rB,QAAU,SAAUp2B,GACpC7J,KAAKwuD,cAAc3kD,IAUrB3G,EAAQgR,UAAUs6C,cAAgB,SAAS3kD,GACzC,IAAI7J,KAAK+qC,KAAK4iB,QAAd,CAKA3tD,KAAKyuD,aAEL,IAAI1sB,GAAU/hC,KAAK0tD,YAAY7jD,EAAM2uB,QAAQzL,QACzC7X,EAAKlV,KACL+qC,EAAO/qC,KAAK+qC,KACZ4J,EAAY5J,EAAK4J,SACrB,IAAIA,GAAaA,EAAU1uC,QAAsC,GAA5BjG,KAAKqkD,UAAUJ,UAAmB,CAErE,GAAIxiB,GAASM,EAAQvvB,EAAIu4B,EAAKhJ,QAAQvvB,EAClCkvB,EAASK,EAAQtvB,EAAIs4B,EAAKhJ,QAAQtvB,CAGtCkiC,GAAU/rC,QAAQ,SAAU2D,GAC1B,GAAIo8C,GAAOp8C,EAAEo8C,IAERp8C,GAAE+hD,SACL3F,EAAKn2C,EAAI0C,EAAGw5C,qBAAqBx5C,EAAGy5C,qBAAqBpiD,EAAEiG,GAAKivB,IAG7Dl1B,EAAEgiD,SACL5F,EAAKl2C,EAAIyC,EAAG05C,qBAAqB15C,EAAG25C,qBAAqBtiD,EAAEkG,GAAKivB,MAM/D1hC,KAAK2nD,SACR3nD,KAAK2nD,QAAS,EACd3nD,KAAKqQ,aAKP,IAAkC,GAA9BrQ,KAAKqkD,UAAUL,YAAqB,CAEtC,GAA0Bn9C,SAAtB7G,KAAK+qC,KAAKhJ,QAEZ,WADA/hC,MAAK8tD,iBAAiBjkD,EAGxB,IAAIokB,GAAQ8T,EAAQvvB,EAAIxS,KAAK+qC,KAAKhJ,QAAQvvB,EACtC0b,EAAQ6T,EAAQtvB,EAAIzS,KAAK+qC,KAAKhJ,QAAQtvB,CAE1CzS,MAAKmmD,gBACHnmD,KAAK+qC,KAAKtsB,YAAYjM,EAAIyb,EAC1BjuB,KAAK+qC,KAAKtsB,YAAYhM,EAAIyb,GAE5BluB,KAAKi3B,aASX/zB,EAAQgR,UAAUgsB,WAAa,SAAUr2B,GACvC7J,KAAK8uD,eAAejlD,IAItB3G,EAAQgR,UAAU46C,eAAiB,SAASjlD,GAC1C7J,KAAK+qC,KAAK/J,UAAW,CACrB,IAAI2T,GAAY30C,KAAK+qC,KAAK4J,SACtBA,IAAaA,EAAU1uC,QACzB0uC,EAAU/rC,QAAQ,SAAU2D,GAE1BA,EAAEo8C,KAAK2F,OAAS/hD,EAAE+hD,OAClB/hD,EAAEo8C,KAAK4F,OAAShiD,EAAEgiD,SAEpBvuD,KAAK2nD,QAAS,EACd3nD,KAAKqQ,SAGLrQ,KAAKi3B,UAEmB,GAAtBj3B,KAAKwmD,cACPxmD,KAAKyuB,KAAK,WAAW0/B,aAGrBnuD,KAAKyuB,KAAK,WAAW0/B,QAAQnuD,KAAK83B,eAAeonB,SAQrDh8C,EAAQgR,UAAUo4C,OAAS,SAAUziD,GACnC,GAAIk4B,GAAU/hC,KAAK0tD,YAAY7jD,EAAM2uB,QAAQzL,OAC7C/sB,MAAK8mD,gBAAkB/kB,EACvB/hC,KAAK+uD,WAAWhtB,IASlB7+B,EAAQgR,UAAUq4C,aAAe,SAAU1iD,GACzC,GAAIk4B,GAAU/hC,KAAK0tD,YAAY7jD,EAAM2uB,QAAQzL,OAC7C/sB,MAAKgvD,iBAAiBjtB,IAQxB7+B,EAAQgR,UAAUisB,QAAU,SAAUt2B,GACpC,GAAIk4B,GAAU/hC,KAAK0tD,YAAY7jD,EAAM2uB,QAAQzL,OAC7C/sB,MAAK8mD,gBAAkB/kB,EACvB/hC,KAAKivD,cAAcltB,IAQrB7+B,EAAQgR,UAAUw4C,WAAa,SAAU7iD,GACvC,GAAIk4B,GAAU/hC,KAAK0tD,YAAY7jD,EAAM2uB,QAAQzL,OAC7C/sB,MAAKkvD,iBAAiBntB,IAQxB7+B,EAAQgR,UAAUosB,SAAW,SAAUz2B,GACrC,GAAIk4B,GAAU/hC,KAAK0tD,YAAY7jD,EAAM2uB,QAAQzL,OAE7C/sB,MAAK+qC,KAAK4iB,SAAU,EACd,SAAW3tD,MAAKqsD,QACpBrsD,KAAKqsD,MAAM9nD,MAAQ,EAIrB,IAAIA,GAAQvE,KAAKqsD,MAAM9nD,MAAQsF,EAAM2uB,QAAQj0B,KAC7CvE,MAAKmvD,MAAM5qD,EAAOw9B,IAUpB7+B,EAAQgR,UAAUi7C,MAAQ,SAAS5qD,EAAOw9B,GACxC,GAA+B,GAA3B/hC,KAAKqkD,UAAU1kB,SAAkB,CACnC,GAAIyvB,GAAWpvD,KAAK4tD,WACR,MAARrpD,IACFA,EAAQ,MAENA,EAAQ,KACVA,EAAQ,GAGV,IAAI8qD,GAAsB,IACRxoD,UAAd7G,KAAK+qC,MACmB,GAAtB/qC,KAAK+qC,KAAK/J,WACZquB,EAAsBrvD,KAAKsvD,YAAYtvD,KAAK+qC,KAAKhJ,SAIrD,IAAItjB,GAAcze,KAAKguD,kBAEnBuB,EAAYhrD,EAAQ6qD,EACpBI,GAAM,EAAID,GAAaxtB,EAAQvvB,EAAIiM,EAAYjM,EAAI+8C,EACnDE,GAAM,EAAIF,GAAaxtB,EAAQtvB,EAAIgM,EAAYhM,EAAI88C,CASvD,IAPAvvD,KAAK+mD,YAAcv0C,EAAMxS,KAAK0uD,qBAAqB3sB,EAAQvvB,GACxCC,EAAMzS,KAAK4uD,qBAAqB7sB,EAAQtvB,IAE3DzS,KAAKie,UAAU1Z,GACfvE,KAAKmmD,gBAAgBqJ,EAAIC,GACzBzvD,KAAK0vD,wBAEsB,MAAvBL,EAA6B,CAC/B,GAAIM,GAAuB3vD,KAAK4vD,YAAYP,EAC5CrvD,MAAK+qC,KAAKhJ,QAAQvvB,EAAIm9C,EAAqBn9C,EAC3CxS,KAAK+qC,KAAKhJ,QAAQtvB,EAAIk9C,EAAqBl9C,EAY7C,MATAzS,MAAKi3B,UAEU1yB,EAAX6qD,EACFpvD,KAAKyuB,KAAK,QAASyO,UAAU,MAG7Bl9B,KAAKyuB,KAAK,QAASyO,UAAU,MAGxB34B,IAYXrB,EAAQgR,UAAUksB,cAAgB,SAASv2B,GAEzC,GAAIylB,GAAQ,CAYZ,IAXIzlB,EAAM0lB,WACRD,EAAQzlB,EAAM0lB,WAAW,IAChB1lB,EAAM2lB,SAGfF,GAASzlB,EAAM2lB,OAAO,GAMpBF,EAAO,CAGT,GAAI/qB,GAAQvE,KAAK4tD,YACb1rB,EAAO5S,EAAQ,EACP,GAARA,IACF4S,GAAe,EAAIA,GAErB39B,GAAU,EAAI29B,CAGd,IAAI1J,GAAUiI,EAAWqB,YAAY9hC,KAAM6J,GACvCk4B,EAAU/hC,KAAK0tD,YAAYl1B,EAAQzL,OAGvC/sB,MAAKmvD,MAAM5qD,EAAOw9B,GAIpBl4B,EAAMD,kBASR1G,EAAQgR,UAAUs4C,kBAAoB,SAAU3iD,GAC9C,GAAI2uB,GAAUiI,EAAWqB,YAAY9hC,KAAM6J,GACvCk4B,EAAU/hC,KAAK0tD,YAAYl1B,EAAQzL,QACnC8iC,GAAe,CAsBnB,IAnBmBhpD,SAAf7G,KAAK8vD,QACH9vD,KAAK8vD,MAAMp2B,UAAW,GACxB15B,KAAK+vD,gBAAgBhuB,GAInB/hC,KAAK8vD,MAAMp2B,UAAW,IACxBm2B,GAAe,EACf7vD,KAAK8vD,MAAME,YAAYjuB,EAAQvvB,EAAI,EAAEuvB,EAAQtvB,EAAI,GACjDzS,KAAK8vD,MAAM7oB,SAK6B,GAAxCjnC,KAAKqkD,UAAUvB,SAASE,cAA4D,GAAnChjD,KAAKqkD,UAAUvB,SAAS3zC,SAC3EnP,KAAKsgB,MAAMuX,QAITg4B,KAAiB,EAAO,CAC1B,GAAI36C,GAAKlV,KACLiwD,EAAY,WACd/6C,EAAGg7C,gBAAgBnuB,GAEjB/hC,MAAKmwD,YACP98B,cAAcrzB,KAAKmwD,YAEhBnwD,KAAK+qC,KAAK/J,WACbhhC,KAAKmwD,WAAa51C,WAAW01C,EAAWjwD,KAAKqkD,UAAUj9B,QAAQ1N,QAOnE,GAA4B,GAAxB1Z,KAAKqkD,UAAUr3C,MAAe,CAEhC,IAAK,GAAIojD,KAAUpwD,MAAKukD,SAASlE,MAC3BrgD,KAAKukD,SAASlE,MAAMj6C,eAAegqD,KACrCpwD,KAAKukD,SAASlE,MAAM+P,GAAQpjD,OAAQ,QAC7BhN,MAAKukD,SAASlE,MAAM+P,GAK/B,IAAIrsC,GAAM/jB,KAAK+tD,WAAWhsB,EACf,OAAPhe,IACFA,EAAM/jB,KAAKqwD,WAAWtuB,IAEb,MAAPhe,GACF/jB,KAAKswD,aAAavsC,EAIpB,KAAK,GAAIklC,KAAUjpD,MAAKukD,SAASrF,MAC3Bl/C,KAAKukD,SAASrF,MAAM94C,eAAe6iD,KACjCllC,YAAexgB,IAAQwgB,EAAI1jB,IAAM4oD,GAAUllC,YAAe3gB,IAAe,MAAP2gB,KACpE/jB,KAAKuwD,YAAYvwD,KAAKukD,SAASrF,MAAM+J,UAC9BjpD,MAAKukD,SAASrF,MAAM+J,GAIjCjpD,MAAKyiB,WAYTvf,EAAQgR,UAAUg8C,gBAAkB,SAAUnuB,GAC5C,GAOI1hC,GAPA0jB,GACFlc,KAAQ7H,KAAK0uD,qBAAqB3sB,EAAQvvB,GAC1CvK,IAAQjI,KAAK4uD,qBAAqB7sB,EAAQtvB,GAC1C4V,MAAQroB,KAAK0uD,qBAAqB3sB,EAAQvvB,GAC1C8R,OAAQtkB,KAAK4uD,qBAAqB7sB,EAAQtvB,IAIxC+9C,EAAuC3pD,SAAlB7G,KAAKywD,SAAyB5pD,OAAY7G,KAAKywD,SAASpwD,GAC7EqwD,GAAkB,EAClBC,EAAY,MAEhB,IAAqB9pD,QAAjB7G,KAAKywD,SAAuB,CAE9B,GAAIvR,GAAQl/C,KAAKk/C,MACb0R,IACJ,KAAKvwD,IAAM6+C,GACT,GAAIA,EAAM94C,eAAe/F,GAAK,CAC5B,GAAIsoD,GAAOzJ,EAAM7+C,EACbsoD,GAAKkI,kBAAkB9sC,IACDld,SAApB8hD,EAAKmI,YACPF,EAAiBroD,KAAKlI,GAM1BuwD,EAAiB3qD,OAAS,IAG5BjG,KAAKywD,SAAWzwD,KAAKk/C,MAAM0R,EAAiBA,EAAiB3qD,OAAS,IAEtEyqD,GAAkB,GAItB,GAAsB7pD,SAAlB7G,KAAKywD,UAA6C,GAAnBC,EAA0B,CAE3D,GAAIrQ,GAAQrgD,KAAKqgD,MACb0Q,IACJ,KAAK1wD,IAAMggD,GACT,GAAIA,EAAMj6C,eAAe/F,GAAK,CAC5B,GAAI2wD,GAAO3Q,EAAMhgD,EACb2wD,GAAKC,WAAkCpqD,SAApBmqD,EAAKF,YACxBE,EAAKH,kBAAkB9sC,IACzBgtC,EAAiBxoD,KAAKlI,GAKxB0wD,EAAiB9qD,OAAS,IAC5BjG,KAAKywD,SAAWzwD,KAAKqgD,MAAM0Q,EAAiBA,EAAiB9qD,OAAS,IACtE0qD,EAAY,QAIZ3wD,KAAKywD,SAEHzwD,KAAKywD,SAASpwD,IAAMmwD,IACH3pD,SAAf7G,KAAK8vD,QACP9vD,KAAK8vD,MAAQ,GAAItsD,GAAMxD,KAAKsgB,MAAOtgB,KAAKqkD,UAAUj9B,UAGpDpnB,KAAK8vD,MAAMoB,gBAAkBP,EAC7B3wD,KAAK8vD,MAAMqB,cAAgBnxD,KAAKywD,SAASpwD,GAKzCL,KAAK8vD,MAAME,YAAYjuB,EAAQvvB,EAAI,EAAGuvB,EAAQtvB,EAAI,GAClDzS,KAAK8vD,MAAMsB,QAAQpxD,KAAKywD,SAASK,YACjC9wD,KAAK8vD,MAAM7oB,QAITjnC,KAAK8vD,OACP9vD,KAAK8vD,MAAM9oB,QAYjB9jC,EAAQgR,UAAU67C,gBAAkB,SAAUhuB,GAC5C,GAAIsvB,IACFxpD,KAAQ7H,KAAK0uD,qBAAqB3sB,EAAQvvB,GAC1CvK,IAAQjI,KAAK4uD,qBAAqB7sB,EAAQtvB,GAC1C4V,MAAQroB,KAAK0uD,qBAAqB3sB,EAAQvvB,GAC1C8R,OAAQtkB,KAAK4uD,qBAAqB7sB,EAAQtvB,IAGxC6+C,GAAa,CACjB,IAAkC,QAA9BtxD,KAAK8vD,MAAMoB,iBAEb,GADAI,EAAatxD,KAAKk/C,MAAMl/C,KAAK8vD,MAAMqB,eAAeN,kBAAkBQ,GAChEC,KAAe,EAAM,CACvB,GAAIC,GAAWvxD,KAAK+tD,WAAWhsB,EAC/BuvB,GAAaC,EAASlxD,IAAML,KAAK8vD,MAAMqB,mBAIR,QAA7BnxD,KAAK+tD,WAAWhsB,KAClBuvB,EAAatxD,KAAKqgD,MAAMrgD,KAAK8vD,MAAMqB,eAAeN,kBAAkBQ,GAKpEC,MAAe,IACjBtxD,KAAKywD,SAAW5pD,OAChB7G,KAAK8vD,MAAM9oB,SAYf9jC,EAAQgR,UAAUyR,QAAU,SAASrS,EAAOC,GAC1C,GAAIi+C,IAAY,EACZC,EAAWzxD,KAAKsgB,MAAMC,OAAOjN,MAC7Bo+C,EAAY1xD,KAAKsgB,MAAMC,OAAOhN,MAC9BD,IAAStT,KAAKqkD,UAAU/wC,OAASC,GAAUvT,KAAKqkD,UAAU9wC,QAAUvT,KAAKsgB,MAAM5S,MAAM4F,OAASA,GAAStT,KAAKsgB,MAAM5S,MAAM6F,QAAUA,GACpIvT,KAAKsgB,MAAM5S,MAAM4F,MAAQA,EACzBtT,KAAKsgB,MAAM5S,MAAM6F,OAASA,EAE1BvT,KAAKsgB,MAAMC,OAAO7S,MAAM4F,MAAQ,OAChCtT,KAAKsgB,MAAMC,OAAO7S,MAAM6F,OAAS,OAEjCvT,KAAKsgB,MAAMC,OAAOjN,MAAQtT,KAAKsgB,MAAMC,OAAOC,YAAcxgB,KAAKskD,WAC/DtkD,KAAKsgB,MAAMC,OAAOhN,OAASvT,KAAKsgB,MAAMC,OAAOsF,aAAe7lB,KAAKskD,WAEjEtkD,KAAKqkD,UAAU/wC,MAAQA,EACvBtT,KAAKqkD,UAAU9wC,OAASA,EAExBi+C,GAAY,IAMRxxD,KAAKsgB,MAAMC,OAAOjN,OAAStT,KAAKsgB,MAAMC,OAAOC,YAAcxgB,KAAKskD,aAClEtkD,KAAKsgB,MAAMC,OAAOjN,MAAQtT,KAAKsgB,MAAMC,OAAOC,YAAcxgB,KAAKskD,WAC/DkN,GAAY,GAEVxxD,KAAKsgB,MAAMC,OAAOhN,QAAUvT,KAAKsgB,MAAMC,OAAOsF,aAAe7lB,KAAKskD,aACpEtkD,KAAKsgB,MAAMC,OAAOhN,OAASvT,KAAKsgB,MAAMC,OAAOsF,aAAe7lB,KAAKskD,WACjEkN,GAAY,IAIC,GAAbA,GACFxxD,KAAKyuB,KAAK,UAAWnb,MAAMtT,KAAKsgB,MAAMC,OAAOjN,MAAQtT,KAAKskD,WAAW/wC,OAAOvT,KAAKsgB,MAAMC,OAAOhN,OAASvT,KAAKskD,WAAYmN,SAAUA,EAAWzxD,KAAKskD,WAAYoN,UAAWA,EAAY1xD,KAAKskD,cAS9LphD,EAAQgR,UAAUs2C,UAAY,SAAStL,GACrC,GAAIyS,GAAe3xD,KAAKinD,SAExB,IAAI/H,YAAiBr+C,IAAWq+C,YAAiBp+C,GAC/Cd,KAAKinD,UAAY/H,MAEd,IAAI34C,MAAMC,QAAQ04C,GACrBl/C,KAAKinD,UAAY,GAAIpmD,GACrBb,KAAKinD,UAAUjzC,IAAIkrC,OAEhB,CAAA,GAAKA,EAIR,KAAM,IAAIx4C,WAAU,4BAHpB1G,MAAKinD,UAAY,GAAIpmD,GAgBvB,GAVI8wD,GAEFhxD,EAAKiI,QAAQ5I,KAAKmnD,eAAgB,SAAUt+C,EAAUgB,GACpD8nD,EAAal9C,IAAI5K,EAAOhB,KAK5B7I,KAAKk/C,SAEDl/C,KAAKinD,UAAW,CAElB,GAAI/xC,GAAKlV,IACTW,GAAKiI,QAAQ5I,KAAKmnD,eAAgB,SAAUt+C,EAAUgB,GACpDqL,EAAG+xC,UAAU3yC,GAAGzK,EAAOhB,IAIzB,IAAIsN,GAAMnW,KAAKinD,UAAUpwC,QACzB7W,MAAKonD,UAAUjxC,GAEjBnW,KAAK4xD,oBAQP1uD,EAAQgR,UAAUkzC,UAAY,SAASjxC,GAGrC,IAAK,GAFD9V,GACAwT,EAAU7T,KAAKinD,UAAUrzC,UAAY,KAChC9N,EAAI,EAAGC,EAAMoQ,EAAIlQ,OAAYF,EAAJD,EAASA,IAAK,CAC9CzF,EAAK8V,EAAIrQ,EACT,IAAI2N,GAAOzT,KAAKinD,UAAUhxC,IAAI5V,EAC1BwT,KACFJ,EAAKpT,GAAKoT,EAAKI,GAGjB,IAAI80C,GAAO,GAAIplD,GAAKkQ,EAAMzT,KAAKulD,OAAQvlD,KAAK+0B,OAAQ/0B,KAAKqkD,UAEzD,IADArkD,KAAKk/C,MAAM7+C,GAAMsoD,IACG,GAAfA,EAAK2F,QAAkC,GAAf3F,EAAK4F,QAAgC,OAAX5F,EAAKn2C,GAAyB,OAAXm2C,EAAKl2C,GAAa,CAC1F,GAAI6Z,GAAS,EAASnW,EAAIlQ,OAAS,GAC/B4rD,EAAQ,EAAIrtD,KAAKgoB,GAAKhoB,KAAKiB,QACZ,IAAfkjD,EAAK2F,SAAkB3F,EAAKn2C,EAAI8Z,EAAS9nB,KAAK+a,IAAIsyC,IACnC,GAAflJ,EAAK4F,SAAkB5F,EAAKl2C,EAAI6Z,EAAS9nB,KAAK4a,IAAIyyC,IAExD7xD,KAAK2nD,QAAS,EAGhB3nD,KAAK8pD,uBAC4C,GAA7C9pD,KAAKqkD,UAAUlB,mBAAmBh0C,SAAwC,GAArBnP,KAAK2+C,eAC5D3+C,KAAK2qD,eACL3qD,KAAK6nD,4BAEP7nD,KAAK8xD,0BACL9xD,KAAK+xD,kBACL/xD,KAAKgyD,kBAAkBhyD,KAAKk/C,OAC5Bl/C,KAAKiyD,gBAQP/uD,EAAQgR,UAAUmzC,aAAe,SAASlxC,GAIxC,IAAK,GAHD8wC,GAAYjnD,KAAKinD,UAAUhxC,IAAIE,GAC/B+oC,EAAQl/C,KAAKk/C,MAERp5C,EAAI,EAAGC,EAAMoQ,EAAIlQ,OAAYF,EAAJD,EAASA,IAAK,CAC9C,GAAIzF,GAAK8V,EAAIrQ,GACT6iD,EAAOzJ,EAAM7+C,GACboT,EAAOwzC,EAAUnhD,EACjB6iD,GAEFA,EAAKuJ,cAAcz+C,EAAMzT,KAAKqkD,YAI9BsE,EAAO,GAAIplD,GAAK4uD,WAAYnyD,KAAKulD,OAAQvlD,KAAK+0B,OAAQ/0B,KAAKqkD,WAC3DnF,EAAM7+C,GAAMsoD,GAGhB3oD,KAAK2nD,QAAS,EACmC,GAA7C3nD,KAAKqkD,UAAUlB,mBAAmBh0C,SAAwC,GAArBnP,KAAK2+C,eAC5D3+C,KAAK2qD,eACL3qD,KAAK6nD,4BAEP7nD,KAAK8pD,uBACL9pD,KAAKgyD,kBAAkB9S,GACvBl/C,KAAK2rD,wBAIPzoD,EAAQgR,UAAUy3C,qBAAuB,WACvC,IAAK,GAAIyE,KAAUpwD,MAAKqgD,MACtBrgD,KAAKqgD,MAAM+P,GAAQgC,YAAa,GASpClvD,EAAQgR,UAAUozC,aAAe,SAASnxC,GAIxC,IAAK,GAHD+oC,GAAQl/C,KAAKk/C,MAGRp5C,EAAI,EAAGC,EAAMoQ,EAAIlQ,OAAYF,EAAJD,EAASA,IACDe,SAApC7G,KAAKquD,aAAanP,MAAM/oC,EAAIrQ,MAC9B9F,KAAKk/C,MAAM/oC,EAAIrQ,IAAI8gC,WACnB5mC,KAAKqyD,qBAAqBryD,KAAKk/C,MAAM/oC,EAAIrQ,KAI7C,KAAK,GAAIA,GAAI,EAAGC,EAAMoQ,EAAIlQ,OAAYF,EAAJD,EAASA,IAAK,CAC9C,GAAIzF,GAAK8V,EAAIrQ,SACNo5C,GAAM7+C,GAKfL,KAAK8pD,uBAC4C,GAA7C9pD,KAAKqkD,UAAUlB,mBAAmBh0C,SAAwC,GAArBnP,KAAK2+C,eAC5D3+C,KAAK2qD,eACL3qD,KAAK6nD,4BAEP7nD,KAAK8xD,0BACL9xD,KAAK+xD,kBACL/xD,KAAK4xD,mBACL5xD,KAAKgyD,kBAAkB9S,IASzBh8C,EAAQgR,UAAUu2C,UAAY,SAASpK,GACrC,GAAIiS,GAAetyD,KAAKknD,SAExB,IAAI7G,YAAiBx/C,IAAWw/C,YAAiBv/C,GAC/Cd,KAAKknD,UAAY7G,MAEd,IAAI95C,MAAMC,QAAQ65C,GACrBrgD,KAAKknD,UAAY,GAAIrmD,GACrBb,KAAKknD,UAAUlzC,IAAIqsC,OAEhB,CAAA,GAAKA,EAIR,KAAM,IAAI35C,WAAU,4BAHpB1G,MAAKknD,UAAY,GAAIrmD,GAgBvB,GAVIyxD,GAEF3xD,EAAKiI,QAAQ5I,KAAKunD,eAAgB,SAAU1+C,EAAUgB,GACpDyoD,EAAa79C,IAAI5K,EAAOhB,KAK5B7I,KAAKqgD,SAEDrgD,KAAKknD,UAAW,CAElB,GAAIhyC,GAAKlV,IACTW,GAAKiI,QAAQ5I,KAAKunD,eAAgB,SAAU1+C,EAAUgB,GACpDqL,EAAGgyC,UAAU5yC,GAAGzK,EAAOhB,IAIzB,IAAIsN,GAAMnW,KAAKknD,UAAUrwC,QACzB7W,MAAKwnD,UAAUrxC,GAGjBnW,KAAK+xD,mBAQP7uD,EAAQgR,UAAUszC,UAAY,SAAUrxC,GAKtC,IAAK,GAJDkqC,GAAQrgD,KAAKqgD,MACb6G,EAAYlnD,KAAKknD,UACjBrzC,EAAU7T,KAAKknD,UAAUtzC,SAEpB9N,EAAI,EAAGC,EAAMoQ,EAAIlQ,OAAYF,EAAJD,EAASA,IAAK,CAC9C,GAAIzF,GAAK8V,EAAIrQ,GAETysD,EAAUlS,EAAMhgD,EAChBkyD,IACFA,EAAQC,YAGV,IAAI/+C,GAAOyzC,EAAUjxC,IAAI5V,GAAKoyD,iBAAoB,GAC9C5+C,KACFJ,EAAKpT,GAAKoT,EAAKI,IAEjBwsC,EAAMhgD,GAAM,GAAI+C,GAAKqQ,EAAMzT,KAAMA,KAAKqkD,WAExCrkD,KAAK2nD,QAAS,EACd3nD,KAAKgyD,kBAAkB3R,GACvBrgD,KAAK0yD,qBACL1yD,KAAK8xD,0BAC4C,GAA7C9xD,KAAKqkD,UAAUlB,mBAAmBh0C,SAAwC,GAArBnP,KAAK2+C,eAC5D3+C,KAAK2qD,eACL3qD,KAAK6nD,6BAST3kD,EAAQgR,UAAUuzC,aAAe,SAAUtxC,GAGzC,IAAK,GAFDkqC,GAAQrgD,KAAKqgD,MACb6G,EAAYlnD,KAAKknD,UACZphD,EAAI,EAAGC,EAAMoQ,EAAIlQ,OAAYF,EAAJD,EAASA,IAAK,CAC9C,GAAIzF,GAAK8V,EAAIrQ,GAET2N,EAAOyzC,EAAUjxC,IAAI5V,GACrB2wD,EAAO3Q,EAAMhgD,EACb2wD,IAEFA,EAAKwB,aACLxB,EAAKkB,cAAcz+C,EAAMzT,KAAKqkD,WAC9B2M,EAAKjS,YAILiS,EAAO,GAAI5tD,GAAKqQ,EAAMzT,KAAMA,KAAKqkD,WACjCrkD,KAAKqgD,MAAMhgD,GAAM2wD,GAIrBhxD,KAAK0yD,qBAC4C,GAA7C1yD,KAAKqkD,UAAUlB,mBAAmBh0C,SAAwC,GAArBnP,KAAK2+C,eAC5D3+C,KAAK2qD,eACL3qD,KAAK6nD,4BAEP7nD,KAAK2nD,QAAS,EACd3nD,KAAKgyD,kBAAkB3R,IAQzBn9C,EAAQgR,UAAUwzC,aAAe,SAAUvxC,GAIzC,IAAK,GAHDkqC,GAAQrgD,KAAKqgD,MAGRv6C,EAAI,EAAGC,EAAMoQ,EAAIlQ,OAAYF,EAAJD,EAASA,IACDe,SAApC7G,KAAKquD,aAAahO,MAAMlqC,EAAIrQ,MAC9Bu6C,EAAMlqC,EAAIrQ,IAAI8gC,WACd5mC,KAAKqyD,qBAAqBhS,EAAMlqC,EAAIrQ,KAIxC,KAAK,GAAIA,GAAI,EAAGC,EAAMoQ,EAAIlQ,OAAYF,EAAJD,EAASA,IAAK,CAC9C,GAAIzF,GAAK8V,EAAIrQ,GACTkrD,EAAO3Q,EAAMhgD,EACb2wD,KACc,MAAZA,EAAK2B,WACA3yD,MAAK4yD,QAAiB,QAAS,MAAE5B,EAAK2B,IAAItyD,IAEnD2wD,EAAKwB,mBACEnS,GAAMhgD,IAIjBL,KAAK2nD,QAAS,EACd3nD,KAAKgyD,kBAAkB3R,GAC0B,GAA7CrgD,KAAKqkD,UAAUlB,mBAAmBh0C,SAAwC,GAArBnP,KAAK2+C,eAC5D3+C,KAAK2qD,eACL3qD,KAAK6nD,4BAEP7nD,KAAK8xD,2BAOP5uD,EAAQgR,UAAU69C,gBAAkB,WAClC,GAAI1xD,GACA6+C,EAAQl/C,KAAKk/C,MACbmB,EAAQrgD,KAAKqgD,KACjB,KAAKhgD,IAAM6+C,GACLA,EAAM94C,eAAe/F,KACvB6+C,EAAM7+C,GAAIggD,SACVnB,EAAM7+C,GAAIwyD,gBAId,KAAKxyD,IAAMggD,GACT,GAAIA,EAAMj6C,eAAe/F,GAAK,CAC5B,GAAI2wD,GAAO3Q,EAAMhgD,EACjB2wD,GAAK7mC,KAAO,KACZ6mC,EAAK5mC,GAAK,KACV4mC,EAAKjS,YAaX77C,EAAQgR,UAAU89C,kBAAoB,SAASjuC,GAC7C,GAAI1jB,GAGA8c,EAAWtW,OACXuW,EAAWvW,OACXisD,EAAa,CACjB,KAAKzyD,IAAM0jB,GACT,GAAIA,EAAI3d,eAAe/F,GAAK,CAC1B,GAAIiE,GAAQyf,EAAI1jB,GAAIsV,UACN9O,UAAVvC,IACF6Y,EAAyBtW,SAAbsW,EAA0B7Y,EAAQE,KAAKL,IAAIG,EAAO6Y,GAC9DC,EAAyBvW,SAAbuW,EAA0B9Y,EAAQE,KAAKJ,IAAIE,EAAO8Y,GAC9D01C,GAAcxuD,GAMpB,GAAiBuC,SAAbsW,GAAuCtW,SAAbuW,EAC5B,IAAK/c,IAAM0jB,GACLA,EAAI3d,eAAe/F,IACrB0jB,EAAI1jB,GAAI0yD,cAAc51C,EAAUC,EAAU01C,IAUlD5vD,EAAQgR,UAAUuO,OAAS,WACzBziB,KAAK2lB,QAAQ3lB,KAAKqkD,UAAU/wC,MAAOtT,KAAKqkD,UAAU9wC,QAClDvT,KAAKi3B,WAQP/zB,EAAQgR,UAAUwxC,eAAiB,SAAShsB,GACtC15B,KAAKslD,mBAAoB,IAC3BtlD,KAAKslD,iBAAkB,EACnBtlD,KAAKooD,mBAAoB,EAC3BtgD,OAAOyS,WAAWva,KAAKi3B,QAAQvB,KAAK11B,KAAM05B,GAAQ,GAGlD5xB,OAAOkrD,sBAAsBhzD,KAAKi3B,QAAQvB,KAAK11B,KAAM05B,GAAQ,MAKnEx2B,EAAQgR,UAAU+iB,QAAU,SAASyC,EAAQu5B,GAC5BpsD,SAAX6yB,IACFA,GAAS,GAEX15B,KAAKslD,iBAAkB,CACvB,IAAIv9B,GAAM/nB,KAAKsgB,MAAMC,OAAOyH,WAAW,KAEvCD,GAAIokC,aAAansD,KAAKskD,WAAY,EAAG,EAAGtkD,KAAKskD,WAAY,EAAG,EAG5D,IAAI4O,GAAIlzD,KAAKsgB,MAAMC,OAAOC,YACtBlU,EAAItM,KAAKsgB,MAAMC,OAAOsF,YAC1BkC,GAAIE,UAAU,EAAG,EAAGirC,EAAG5mD,GAGvByb,EAAIorC,OACJprC,EAAIqrC,UAAUpzD,KAAKye,YAAYjM,EAAGxS,KAAKye,YAAYhM,GACnDsV,EAAIxjB,MAAMvE,KAAKuE,MAAOvE,KAAKuE,OAE3BvE,KAAK4mD,eACHp0C,EAAKxS,KAAK0uD,qBAAqB,GAC/Bj8C,EAAKzS,KAAK4uD,qBAAqB,IAEjC5uD,KAAK6mD,mBACHr0C,EAAKxS,KAAK0uD,qBAAqB1uD,KAAKsgB,MAAMC,OAAOC,aACjD/N,EAAKzS,KAAK4uD,qBAAqB5uD,KAAKsgB,MAAMC,OAAOsF,eAG/C6T,KAAW,IACb15B,KAAKqzD,gBAAgB,sBAAuBtrC,IAClB,GAAtB/nB,KAAK+qC,KAAK/J,UAA4Cn6B,SAAvB7G,KAAK+qC,KAAK/J,UAA4D,GAAlChhC,KAAKqkD,UAAUH,kBACpFlkD,KAAKqzD,gBAAgB,aAActrC,KAIb,GAAtB/nB,KAAK+qC,KAAK/J,UAA4Cn6B,SAAvB7G,KAAK+qC,KAAK/J,UAA4D,GAAlChhC,KAAKqkD,UAAUF,kBACpFnkD,KAAKqzD,gBAAgB,aAAatrC,GAAI,GAGpC2R,KAAW,GACkB,GAA3B15B,KAAKwkD,oBACPxkD,KAAKqzD,gBAAgB,oBAAqBtrC,GAQ9CA,EAAIurC,UAEA55B,KAAW,GACb3R,EAAIE,UAAU,EAAG,EAAGirC,EAAG5mD,IAU3BpJ,EAAQgR,UAAUiyC,gBAAkB,SAASoN,EAASC,GAC3B3sD,SAArB7G,KAAKye,cACPze,KAAKye,aACHjM,EAAG,EACHC,EAAG,IAIS5L,SAAZ0sD,IACFvzD,KAAKye,YAAYjM,EAAI+gD,GAEP1sD,SAAZ2sD,IACFxzD,KAAKye,YAAYhM,EAAI+gD,GAGvBxzD,KAAKyuB,KAAK,gBAQZvrB,EAAQgR,UAAU85C,gBAAkB,WAClC,OACEx7C,EAAGxS,KAAKye,YAAYjM,EACpBC,EAAGzS,KAAKye,YAAYhM,IASxBvP,EAAQgR,UAAU+J,UAAY,SAAS1Z,GACrCvE,KAAKuE,MAAQA,GAQfrB,EAAQgR,UAAU05C,UAAY,WAC5B,MAAO5tD,MAAKuE,OAUdrB,EAAQgR,UAAUw6C,qBAAuB,SAASl8C,GAChD,OAAQA,EAAIxS,KAAKye,YAAYjM,GAAKxS,KAAKuE,OAUzCrB,EAAQgR,UAAUy6C,qBAAuB,SAASn8C,GAChD,MAAOA,GAAIxS,KAAKuE,MAAQvE,KAAKye,YAAYjM,GAU3CtP,EAAQgR,UAAU06C,qBAAuB,SAASn8C,GAChD,OAAQA,EAAIzS,KAAKye,YAAYhM,GAAKzS,KAAKuE,OAUzCrB,EAAQgR,UAAU26C,qBAAuB,SAASp8C,GAChD,MAAOA,GAAIzS,KAAKuE,MAAQvE,KAAKye,YAAYhM,GAU3CvP,EAAQgR,UAAU07C,YAAc,SAAUrpC,GACxC,OAAQ/T,EAAGxS,KAAK2uD,qBAAqBpoC,EAAI/T,GAAIC,EAAGzS,KAAK6uD,qBAAqBtoC,EAAI9T,KAShFvP,EAAQgR,UAAUo7C,YAAc,SAAU/oC,GACxC,OAAQ/T,EAAGxS,KAAK0uD,qBAAqBnoC,EAAI/T,GAAIC,EAAGzS,KAAK4uD,qBAAqBroC,EAAI9T,KAUhFvP,EAAQgR,UAAUu/C,WAAa,SAAS1rC,EAAI2rC,GACvB7sD,SAAf6sD,IACFA,GAAa,EAIf,IAAIxU,GAAQl/C,KAAKk/C,MACb3Y,IAEJ,KAAK,GAAIlmC,KAAM6+C,GACTA,EAAM94C,eAAe/F,KACvB6+C,EAAM7+C,GAAIszD,eAAe3zD,KAAKuE,MAAMvE,KAAK4mD,cAAc5mD,KAAK6mD,mBACxD3H,EAAM7+C,GAAI4tD,aACZ1nB,EAASh+B,KAAKlI,IAGV6+C,EAAM7+C,GAAIuzD,UAAYF,IACxBxU,EAAM7+C,GAAI+wC,KAAKrpB,GAOvB,KAAK,GAAIxb,GAAI,EAAGsnD,EAAOttB,EAAStgC,OAAY4tD,EAAJtnD,EAAUA,KAC5C2yC,EAAM3Y,EAASh6B,IAAIqnD,UAAYF,IACjCxU,EAAM3Y,EAASh6B,IAAI6kC,KAAKrpB,IAW9B7kB,EAAQgR,UAAU4/C,WAAa,SAAS/rC,GACtC,GAAIs4B,GAAQrgD,KAAKqgD,KACjB,KAAK,GAAIhgD,KAAMggD,GACb,GAAIA,EAAMj6C,eAAe/F,GAAK,CAC5B,GAAI2wD,GAAO3Q,EAAMhgD,EACjB2wD,GAAK/rB,SAASjlC,KAAKuE,OACfysD,EAAKC,WACP5Q,EAAMhgD,GAAI+wC,KAAKrpB,KAYvB7kB,EAAQgR,UAAU6/C,kBAAoB,SAAShsC,GAC7C,GAAIs4B,GAAQrgD,KAAKqgD,KACjB,KAAK,GAAIhgD,KAAMggD,GACTA,EAAMj6C,eAAe/F,IACvBggD,EAAMhgD,GAAI0zD,kBAAkBhsC,IASlC7kB,EAAQgR,UAAU02C,WAAa,WACgB,GAAzC5qD,KAAKqkD,UAAUd,wBACjBvjD,KAAKg0D,qBAKP,KADA,GAAIh8C,GAAQ,EACLhY,KAAK2nD,QAAU3vC,EAAQhY,KAAKqkD,UAAUP,yBAC3C9jD,KAAKi0D,eACLj8C,GAI0C,IAAxChY,KAAKqkD,UAAUN,uBACjB/jD,KAAK8nD,YAAYv3C,SAAS,IAAI,GAAO,GAGM,GAAzCvQ,KAAKqkD,UAAUd,wBACjBvjD,KAAKk0D,sBAGPl0D,KAAKyuB,KAAK,gCASZvrB,EAAQgR,UAAU8/C,oBAAsB,WACtC,GAAI9U,GAAQl/C,KAAKk/C,KACjB,KAAK,GAAI7+C,KAAM6+C,GACTA,EAAM94C,eAAe/F,IACJ,MAAf6+C,EAAM7+C,GAAImS,GAA4B,MAAf0sC,EAAM7+C,GAAIoS,IACnCysC,EAAM7+C,GAAI8zD,UAAU3hD,EAAI0sC,EAAM7+C,GAAIiuD,OAClCpP,EAAM7+C,GAAI8zD,UAAU1hD,EAAIysC,EAAM7+C,GAAIkuD,OAClCrP,EAAM7+C,GAAIiuD,QAAS,EACnBpP,EAAM7+C,GAAIkuD,QAAS,IAW3BrrD,EAAQgR,UAAUggD,oBAAsB,WACtC,GAAIhV,GAAQl/C,KAAKk/C,KACjB,KAAK,GAAI7+C,KAAM6+C,GACTA,EAAM94C,eAAe/F,IACM,MAAzB6+C,EAAM7+C,GAAI8zD,UAAU3hD,IACtB0sC,EAAM7+C,GAAIiuD,OAASpP,EAAM7+C,GAAI8zD,UAAU3hD,EACvC0sC,EAAM7+C,GAAIkuD,OAASrP,EAAM7+C,GAAI8zD,UAAU1hD,IAa/CvP,EAAQgR,UAAUkgD,UAAY,SAASC,GACrC,GAAInV,GAAQl/C,KAAKk/C,KACjB,KAAK,GAAI7+C,KAAM6+C,GACb,GAAkBr4C,SAAdq4C,EAAM7+C,IACwB,GAA5B6+C,EAAM7+C,GAAIi0D,SAASD,GACrB,OAAO,CAIb,QAAO,GAUTnxD,EAAQgR,UAAUqgD,mBAAqB,WACrC,GAEItL,GAFA71B,EAAWpzB,KAAK0+C,wBAChBQ,EAAQl/C,KAAKk/C,MAEbsV,GAAe,CAEnB,IAAIx0D,KAAKqkD,UAAUV,YAAc,EAC/B,IAAKsF,IAAU/J,GACTA,EAAM94C,eAAe6iD,KACvB/J,EAAM+J,GAAQwL,oBAAoBrhC,EAAUpzB,KAAKqkD,UAAUV,aAC3D6Q,GAAe,OAKnB,KAAKvL,IAAU/J,GACTA,EAAM94C,eAAe6iD,KACvB/J,EAAM+J,GAAQyL,aAAathC,GAC3BohC,GAAe,EAKrB,IAAoB,GAAhBA,EAAsB,CACxB,GAAIG,GAAgB30D,KAAKqkD,UAAUT,YAAcp/C,KAAKJ,IAAIpE,KAAKuE,MAAM,IACrE,OAAIowD,GAAgB,GAAI30D,KAAKqkD,UAAUV,aAC9B,EAGA3jD,KAAKo0D,UAAUO,GAG1B,OAAO,GAITzxD,EAAQgR,UAAU0gD,oBAAsB,WACtC,GAAI1V,GAAQl/C,KAAKk/C,KACjB,KAAK,GAAI+J,KAAU/J,GACbA,EAAM94C,eAAe6iD,IACvB/J,EAAM+J,GAAQ4L,kBAKpB3xD,EAAQgR,UAAU4gD,mBAAqB,WACrC90D,KAAK+0D,sBAAsB,uBACgB,GAAvC/0D,KAAKqkD,UAAUb,aAAar0C,SAA0D,GAAvCnP,KAAKqkD,UAAUb,aAAaC,SAC7EzjD,KAAKg1D,mBAAmB,wBAS5B9xD,EAAQgR,UAAU+/C,aAAe,WAC/B,IAAKj0D,KAAKomD,yBACW,GAAfpmD,KAAK2nD,OAAgB,CACvB,GAAIsN,IAAmB,EACnBC,GAAsB,CAE1Bl1D,MAAK+0D,sBAAsB,8BAC3B,IAAII,GAAan1D,KAAK+0D,sBAAsB,qBACD,IAAvC/0D,KAAKqkD,UAAUb,aAAar0C,SAA0D,GAAvCnP,KAAKqkD,UAAUb,aAAaC,UAC7EyR,EAAsBl1D,KAAKg1D,mBAAmB,sBAIhD,KAAK,GAAIlvD,GAAI,EAAGA,EAAIqvD,EAAWlvD,OAAQH,IACrCmvD,EAAmBE,EAAWrvD,IAAMmvD,CAItCj1D,MAAK2nD,OAASsN,GAAoBC,EACf,GAAfl1D,KAAK2nD,OACP3nD,KAAK80D,qBAI4B,GAA7B90D,KAAKsmD,uBACPtmD,KAAKyuB,KAAK,sBACVzuB,KAAKsmD,sBAAuB;AAIhCtmD,KAAK8jD,4BAYX5gD,EAAQgR,UAAUkhD,eAAiB,WAajC,GAXAp1D,KAAK4nD,MAAQ/gD,OAEe,GAAxB7G,KAAKooD,iBAEPpoD,KAAKqQ,QAIPrQ,KAAKq1D,oBAGc,GAAfr1D,KAAK2nD,OAAgB,CACvB,GAAI2N,GAAY1wD,KAAKu6B,KACrBn/B,MAAKi0D,cACL,IAAIzV,GAAc55C,KAAKu6B,MAAQm2B,GAG1Bt1D,KAAKs+C,eAAiBt+C,KAAKu+C,WAAa,EAAIC,GAAsC,GAAvBx+C,KAAKy+C,iBAA0C,GAAfz+C,KAAK2nD,SACnG3nD,KAAKi0D,eAGkB,GAAnBj0D,KAAKu+C,aACPv+C,KAAKy+C,gBAAiB,IAK5B,GAAI8W,GAAkB3wD,KAAKu6B,KAC3Bn/B,MAAKi3B,UACLj3B,KAAKu+C,WAAa35C,KAAKu6B,MAAQo2B,EAEH,GAAxBv1D,KAAKooD,iBAEPpoD,KAAKqQ,SAIa,mBAAXvI,UACTA,OAAOkrD,sBAAwBlrD,OAAOkrD,uBAAyBlrD,OAAO0tD,0BACvC1tD,OAAO2tD,6BAA+B3tD,OAAO4tD,yBAM9ExyD,EAAQgR,UAAU7D,MAAQ,WAIxB,GAHoC,GAAhCrQ,KAAKomD,0BACPpmD,KAAK2nD,QAAS,GAEG,GAAf3nD,KAAK2nD,QAAqC,GAAnB3nD,KAAK2lD,YAAsC,GAAnB3lD,KAAK4lD,YAAyC,GAAtB5lD,KAAK6lD,eAAwC,GAAlB7lD,KAAK6kD,UACpG7kD,KAAK4nD,QACoB,GAAxB5nD,KAAKooD,gBACPpoD,KAAK4nD,MAAQ9/C,OAAOyS,WAAWva,KAAKo1D,eAAe1/B,KAAK11B,MAAOA,KAAKs+C,gBAGpEt+C,KAAK4nD,MAAQ9/C,OAAOkrD,sBAAsBhzD,KAAKo1D,eAAe1/B,KAAK11B,YAOvE,IAFAA,KAAK0lD,iBAED1lD,KAAK8jD,wBAA0B,EAAG,CAKpC,GAAI5uC,GAAKlV,KACL6U,GACF8gD,WAAYzgD,EAAG4uC,wBAEjB9jD,MAAK8jD,wBAA0B,EAC/B9jD,KAAKsmD,sBAAuB,EAC5B/rC,WAAW,WACTrF,EAAGuZ,KAAK,aAAc5Z,IACrB,OAGH7U,MAAK8jD,wBAA0B,GAWrC5gD,EAAQgR,UAAUmhD,kBAAoB,WACpC,GAAuB,GAAnBr1D,KAAK2lD,YAAsC,GAAnB3lD,KAAK4lD,WAAiB,CAChD,GAAInnC,GAAcze,KAAKguD,iBACvBhuD,MAAKmmD,gBAAgB1nC,EAAYjM,EAAExS,KAAK2lD,WAAYlnC,EAAYhM,EAAEzS,KAAK4lD,YAEzE,GAA0B,GAAtB5lD,KAAK6lD,cAAoB,CAC3B,GAAI94B,IACFva,EAAGxS,KAAKsgB,MAAMC,OAAOC,YAAc,EACnC/N,EAAGzS,KAAKsgB,MAAMC,OAAOsF,aAAe,EAEtC7lB,MAAKmvD,MAAMnvD,KAAKuE,OAAO,EAAIvE,KAAK6lD,eAAgB94B,KAQpD7pB,EAAQgR,UAAU0hD,iBAAmB,SAASC,GAC9B,GAAVA,GACF71D,KAAKomD,yBAA0B,EAC/BpmD,KAAK2nD,QAAS,IAGd3nD,KAAKomD,yBAA0B,EAC/BpmD,KAAK2nD,QAAS,EACd3nD,KAAKqQ,UAWTnN,EAAQgR,UAAUu3C,uBAAyB,SAASrC,GAIlD,GAHqBviD,SAAjBuiD,IACFA,GAAe,GAE0B,GAAvCppD,KAAKqkD,UAAUb,aAAar0C,SAA0D,GAAvCnP,KAAKqkD,UAAUb,aAAaC,QAAiB,CAC9FzjD,KAAK0yD,oBAEL,KAAK,GAAIzJ,KAAUjpD,MAAK4yD,QAAiB,QAAS,MAC5C5yD,KAAK4yD,QAAiB,QAAS,MAAExsD,eAAe6iD,IACwBpiD,SAAtE7G,KAAKqgD,MAAMrgD,KAAK4yD,QAAiB,QAAS,MAAE3J,GAAQ6M,qBAC/C91D,MAAK4yD,QAAiB,QAAS,MAAE3J,OAK3C,CAEHjpD,KAAK4yD,QAAiB,QAAS,QAC/B,KAAK,GAAIxC,KAAUpwD,MAAKqgD,MAClBrgD,KAAKqgD,MAAMj6C,eAAegqD,KAC5BpwD,KAAKqgD,MAAM+P,GAAQuC,IAAM,MAM/B3yD,KAAK8xD,0BACA1I,IACHppD,KAAK2nD,QAAS,EACd3nD,KAAKqQ,UAWTnN,EAAQgR,UAAUw+C,mBAAqB,WACrC,GAA2C,GAAvC1yD,KAAKqkD,UAAUb,aAAar0C,SAA0D,GAAvCnP,KAAKqkD,UAAUb,aAAaC,QAC7E,IAAK,GAAI2M,KAAUpwD,MAAKqgD,MACtB,GAAIrgD,KAAKqgD,MAAMj6C,eAAegqD,GAAS,CACrC,GAAIY,GAAOhxD,KAAKqgD,MAAM+P,EACtB,IAAgB,MAAZY,EAAK2B,IAAa,CACpB,GAAI1J,GAAS,UAAUl0C,OAAOi8C,EAAK3wD,GACnCL,MAAK4yD,QAAiB,QAAS,MAAE3J,GAAU,GAAI1lD,IACtClD,GAAG4oD,EACF9J,KAAK,EACLG,MAAM,SACNC,MAAM,GACNwW,mBAAmB,SACb/1D,KAAKqkD,WACrB2M,EAAK2B,IAAM3yD,KAAK4yD,QAAiB,QAAS,MAAE3J,GAC5C+H,EAAK2B,IAAImD,aAAe9E,EAAK3wD,GAC7B2wD,EAAKgF,wBAYf9yD,EAAQgR,UAAUkqC,wBAA0B,WAC1C,IAAK,GAAI6X,KAAShO,GACZA,EAAY7hD,eAAe6vD,KAC7B/yD,EAAQgR,UAAU+hD,GAAShO,EAAYgO,KAQ7C/yD,EAAQgR,UAAUgiD,cAAgB,WAChCr7B,QAAQtG,IAAI,mEACZv0B,KAAKm2D,kBAMPjzD,EAAQgR,UAAUiiD,eAAiB,WACjC,GAAIC,KACJ,KAAK,GAAInN,KAAUjpD,MAAKk/C,MACtB,GAAIl/C,KAAKk/C,MAAM94C,eAAe6iD,GAAS,CACrC,GAAIN,GAAO3oD,KAAKk/C,MAAM+J,GAClBoN,GAAkBr2D,KAAKk/C,MAAMoP,OAC7BgI,GAAkBt2D,KAAKk/C,MAAMqP,QAC7BvuD,KAAKinD,UAAUtzC,MAAMs1C,GAAQz2C,GAAKhO,KAAK+pB,MAAMo6B,EAAKn2C,IAAMxS,KAAKinD,UAAUtzC,MAAMs1C,GAAQx2C,GAAKjO,KAAK+pB,MAAMo6B,EAAKl2C,KAC5G2jD,EAAU7tD,MAAMlI,GAAG4oD,EAAOz2C,EAAEhO,KAAK+pB,MAAMo6B,EAAKn2C,GAAGC,EAAEjO,KAAK+pB,MAAMo6B,EAAKl2C,GAAG4jD,eAAeA,EAAeC,eAAeA,IAIvHt2D,KAAKinD,UAAUrxC,OAAOwgD,IAMxBlzD,EAAQgR,UAAUqiD,aAAe,SAASpgD,GACxC,GAAIigD,KACJ,IAAYvvD,SAARsP,GACF,GAA0B,GAAtB5P,MAAMC,QAAQ2P,IAChB,IAAK,GAAIrQ,GAAI,EAAGA,EAAIqQ,EAAIlQ,OAAQH,IAC9B,GAA2Be,SAAvB7G,KAAKk/C,MAAM/oC,EAAIrQ,IAAmB,CACpC,GAAI6iD,GAAO3oD,KAAKk/C,MAAM/oC,EAAIrQ,GAC1BswD,GAAUjgD,EAAIrQ,KAAO0M,EAAGhO,KAAK+pB,MAAMo6B,EAAKn2C,GAAIC,EAAGjO,KAAK+pB,MAAMo6B,EAAKl2C,SAKnE,IAAwB5L,SAApB7G,KAAKk/C,MAAM/oC,GAAoB,CACjC,GAAIwyC,GAAO3oD,KAAKk/C,MAAM/oC,EACtBigD,GAAUjgD,IAAQ3D,EAAGhO,KAAK+pB,MAAMo6B,EAAKn2C,GAAIC,EAAGjO,KAAK+pB,MAAMo6B,EAAKl2C,SAKhE,KAAK,GAAIw2C,KAAUjpD,MAAKk/C,MACtB,GAAIl/C,KAAKk/C,MAAM94C,eAAe6iD,GAAS,CACrC,GAAIN,GAAO3oD,KAAKk/C,MAAM+J,EACtBmN,GAAUnN,IAAWz2C,EAAGhO,KAAK+pB,MAAMo6B,EAAKn2C,GAAIC,EAAGjO,KAAK+pB,MAAMo6B,EAAKl2C,IAIrE,MAAO2jD,IAWTlzD,EAAQgR,UAAUsiD,YAAc,SAAUvN,EAAQ/5C,GAChD,GAAIlP,KAAKk/C,MAAM94C,eAAe6iD,GAAS,CACrBpiD,SAAZqI,IACFA,KAEF,IAAIunD,IAAgBjkD,EAAGxS,KAAKk/C,MAAM+J,GAAQz2C,EAAGC,EAAGzS,KAAKk/C,MAAM+J,GAAQx2C,EACnEvD,GAAQ0V,SAAW6xC,EACnBvnD,EAAQwnD,aAAezN,EAEvBjpD,KAAK6oB,OAAO3Z,OAGZ2rB,SAAQtG,IAAI,iCAWhBrxB,EAAQgR,UAAU2U,OAAS,SAAU3Z,GACnC,MAAgBrI,UAAZqI,OACFA,OAGwBrI,SAAtBqI,EAAQwb,SAAoCxb,EAAQwb,QAAalY,EAAG,EAAGC,EAAG,IACpD5L,SAAtBqI,EAAQwb,OAAOlY,IAA6BtD,EAAQwb,OAAOlY,EAAK,GAC1C3L,SAAtBqI,EAAQwb,OAAOjY,IAA6BvD,EAAQwb,OAAOjY,EAAK,GAC1C5L,SAAtBqI,EAAQ3K,QAAoC2K,EAAQ3K,MAAYvE,KAAK4tD,aAC/C/mD,SAAtBqI,EAAQ0V,WAAoC1V,EAAQ0V,SAAY5kB,KAAKguD,mBAC/CnnD,SAAtBqI,EAAQ26C,YAAoC36C,EAAQ26C,WAAat5C,SAAS,IAC1ErB,EAAQ26C,aAAc,IAAsB36C,EAAQ26C,WAAat5C,SAAS,IAC1ErB,EAAQ26C,aAAc,IAAsB36C,EAAQ26C,cACrBhjD,SAA/BqI,EAAQ26C,UAAUt5C,WAA0BrB,EAAQ26C,UAAUt5C,SAAW,KACpC1J,SAArCqI,EAAQ26C,UAAU8M,iBAAgCznD,EAAQ26C,UAAU8M,eAAiB,qBAEzF32D,MAAK42D,YAAY1nD,KAcnBhM,EAAQgR,UAAU0iD,YAAc,SAAU1nD,GACxC,GAAgBrI,SAAZqI,EAEF,YADAA,KAKFlP,MAAKyuD,cACiB,GAAlBv/C,EAAQ2nD,SACV72D,KAAKmlD,eAAiBj2C,EAAQwnD,aAC9B12D,KAAKolD,mBAAqBl2C,EAAQwb,QAIb,GAAnB1qB,KAAK8kD,YACP9kD,KAAK82D,kBAAkB,GAGzB92D,KAAK+kD,YAAc/kD,KAAK4tD,YACxB5tD,KAAKilD,kBAAoBjlD,KAAKguD,kBAC9BhuD,KAAKglD,YAAc91C,EAAQ3K,MAI3BvE,KAAKie,UAAUje,KAAKglD,YACpB,IAAI+R,GAAa/2D,KAAKsvD,aAAa98C,EAAG,GAAMxS,KAAKsgB,MAAMC,OAAOC,YAAa/N,EAAG,GAAMzS,KAAKsgB,MAAMC,OAAOsF,eAClGmxC,GACFxkD,EAAGukD,EAAWvkD,EAAItD,EAAQ0V,SAASpS,EACnCC,EAAGskD,EAAWtkD,EAAIvD,EAAQ0V,SAASnS,EAErCzS,MAAKklD,mBACH1yC,EAAGxS,KAAKilD,kBAAkBzyC,EAAIwkD,EAAmBxkD,EAAIxS,KAAKglD,YAAc91C,EAAQwb,OAAOlY,EACvFC,EAAGzS,KAAKilD,kBAAkBxyC,EAAIukD,EAAmBvkD,EAAIzS,KAAKglD,YAAc91C,EAAQwb,OAAOjY,GAIvD,GAA9BvD,EAAQ26C,UAAUt5C,SACO,MAAvBvQ,KAAKmlD,gBACPnlD,KAAKi3D,eAAiBj3D,KAAKi3B,QAC3Bj3B,KAAKi3B,QAAUj3B,KAAKk3D,gBAGpBl3D,KAAKie,UAAUje,KAAKglD,aACpBhlD,KAAKmmD,gBAAgBnmD,KAAKklD,kBAAkB1yC,EAAGxS,KAAKklD,kBAAkBzyC,GACtEzS,KAAKi3B,YAIPj3B,KAAK6kD,WAAY,EACjB7kD,KAAK2kD,eAAiB,GAAK3kD,KAAKq+C,kBAAoBnvC,EAAQ26C,UAAUt5C,SAAW,OAAU,EAAIvQ,KAAKq+C,kBACpGr+C,KAAK4kD,wBAA0B11C,EAAQ26C,UAAU8M,eACjD32D,KAAKi3D,eAAiBj3D,KAAKi3B,QAC3Bj3B,KAAKi3B,QAAUj3B,KAAK82D,kBACpB92D,KAAKi3B,UACLj3B,KAAKqQ,UAQTnN,EAAQgR,UAAUgjD,cAAgB,WAChC,GAAIT,IAAgBjkD,EAAGxS,KAAKk/C,MAAMl/C,KAAKmlD,gBAAgB3yC,EAAGC,EAAGzS,KAAKk/C,MAAMl/C,KAAKmlD,gBAAgB1yC,GACzFskD,EAAa/2D,KAAKsvD,aAAa98C,EAAG,GAAMxS,KAAKsgB,MAAMC,OAAOC,YAAa/N,EAAG,GAAMzS,KAAKsgB,MAAMC,OAAOsF,eAClGmxC,GACFxkD,EAAGukD,EAAWvkD,EAAIikD,EAAajkD,EAC/BC,EAAGskD,EAAWtkD,EAAIgkD,EAAahkD,GAE7BwyC,EAAoBjlD,KAAKguD,kBACzB9I,GACF1yC,EAAGyyC,EAAkBzyC,EAAIwkD,EAAmBxkD,EAAIxS,KAAKuE,MAAQvE,KAAKolD,mBAAmB5yC,EACrFC,EAAGwyC,EAAkBxyC,EAAIukD,EAAmBvkD,EAAIzS,KAAKuE,MAAQvE,KAAKolD,mBAAmB3yC,EAGvFzS,MAAKmmD,gBAAgBjB,EAAkB1yC,EAAE0yC,EAAkBzyC,GAC3DzS,KAAKi3D,kBAGP/zD,EAAQgR,UAAUu6C,YAAc,WACH,MAAvBzuD,KAAKmlD,iBACPnlD,KAAKi3B,QAAUj3B,KAAKi3D,eACpBj3D,KAAKmlD,eAAiB,KACtBnlD,KAAKolD,mBAAqB,OAS9BliD,EAAQgR,UAAU4iD,kBAAoB,SAAUhS,GAC9C9kD,KAAK8kD,WAAaA,GAAc9kD,KAAK8kD,WAAa9kD,KAAK2kD,eACvD3kD,KAAK8kD,YAAc9kD,KAAK2kD,cAExB,IAAItyB,GAAW1xB,EAAK8P,gBAAgBzQ,KAAK4kD,yBAAyB5kD,KAAK8kD,WAEvE9kD,MAAKie,UAAUje,KAAK+kD,aAAe/kD,KAAKglD,YAAchlD,KAAK+kD,aAAe1yB,GAC1EryB,KAAKmmD,gBACHnmD,KAAKilD,kBAAkBzyC,GAAKxS,KAAKklD,kBAAkB1yC,EAAIxS,KAAKilD,kBAAkBzyC,GAAK6f,EACnFryB,KAAKilD,kBAAkBxyC,GAAKzS,KAAKklD,kBAAkBzyC,EAAIzS,KAAKilD,kBAAkBxyC,GAAK4f,GAGrFryB,KAAKi3D,iBAGDj3D,KAAK8kD,YAAc,IACrB9kD,KAAK6kD,WAAY,EACjB7kD,KAAK8kD,WAAa,EACS,MAAvB9kD,KAAKmlD,eACPnlD,KAAKi3B,QAAUj3B,KAAKk3D,cAGpBl3D,KAAKi3B,QAAUj3B,KAAKi3D,eAEtBj3D,KAAKyuB,KAAK,uBAIdvrB,EAAQgR,UAAU+iD,eAAiB,aAQnC/zD,EAAQgR,UAAU04C,SAAW,WAC3B,OAAQ5sD,KAAKqrD,WAAarrD,KAAKqrD,UAAU8L,QAQ3Cj0D,EAAQgR,UAAU+wB,SAAW,WAC3B,MAAOjlC,MAAKie,aAQd/a,EAAQgR,UAAU0hB,SAAW,WAC3B,MAAO51B,MAAK4tD,aAQd1qD,EAAQgR,UAAUkjD,qBAAuB,WACvC,MAAOp3D,MAAKsvD,aAAa98C,EAAG,GAAMxS,KAAKsgB,MAAMC,OAAOC,YAAa/N,EAAG,GAAMzS,KAAKsgB,MAAMC,OAAOsF,gBAI9F3iB,EAAQgR,UAAUmjD,eAAiB,SAASpO,GAC1C,MAA2BpiD,UAAvB7G,KAAKk/C,MAAM+J,GACNjpD,KAAKk/C,MAAM+J,GAAQD,YAD5B,QAKF9lD,EAAQgR,UAAUojD,kBAAoB,SAASrO,GAC7C,GAAIsO,KACJ,IAA2B1wD,SAAvB7G,KAAKk/C,MAAM+J,GAGb,IAAK,GAFDN,GAAO3oD,KAAKk/C,MAAM+J,GAClBuO,GAAWvO,QAAS,GACfnjD,EAAI,EAAGA,EAAI6iD,EAAKtI,MAAMp6C,OAAQH,IAAK,CAC1C,GAAIkrD,GAAOrI,EAAKtI,MAAMv6C,EAClBkrD,GAAKyG,MAAQxO,EACcpiD,SAAzB2wD,EAAQxG,EAAK0G,UACfH,EAAShvD,KAAKyoD,EAAK0G,QACnBF,EAAQxG,EAAK0G,SAAU,GAGlB1G,EAAK0G,QAAUzO,GACKpiD,SAAvB2wD,EAAQxG,EAAKyG,QACfF,EAAShvD,KAAKyoD,EAAKyG,MACnBD,EAAQxG,EAAKyG,OAAQ,GAK7B,MAAOF,IAITr0D,EAAQgR,UAAUyjD,iBAAmB,SAAS1O,GAC5C,GAAI2O,KACJ,IAA2B/wD,SAAvB7G,KAAKk/C,MAAM+J,GAEb,IAAK,GADDN,GAAO3oD,KAAKk/C,MAAM+J,GACbnjD,EAAI,EAAGA,EAAI6iD,EAAKtI,MAAMp6C,OAAQH,IACrC8xD,EAAUrvD,KAAKogD,EAAKtI,MAAMv6C,GAAGzF,GAGjC,OAAOu3D,IAGT10D,EAAQgR,UAAU2jD,oBAAsB,SAAStsD,GAC/C,MAAO5K,GAAKqL,WAAWT,IAIzB1L,EAAOD,QAAUsD,GAKb,SAASrD,EAAQD,EAASM,GAoB9B,QAASkD,GAAM+uD,EAAYhvD,EAAS20D,GAClC,IAAK30D,EACH,KAAM,qBAER,IAAIwL,IAAU,QAAQ,WAClB01C,EAAY1jD,EAAK+N,sBAAsBC,EAAOmpD,EAClD93D,MAAKkP,QAAUm1C,EAAUhE,MACzBrgD,KAAKghD,QAAUqD,EAAUrD,QACzBhhD,KAAKkP,QAAsB,aAAI4oD,EAA+B,aAG9D93D,KAAKmD,QAAUA,EAGfnD,KAAKK,GAASwG,OACd7G,KAAK03D,OAAS7wD,OACd7G,KAAKy3D,KAAS5wD,OACd7G,KAAKynC,MAAS5gC,OACd7G,KAAK+3D,cAAgB/3D,KAAKkP,QAAQoE,MAAQtT,KAAKkP,QAAQoxC,yBACvDtgD,KAAKsE,MAASuC,OACd7G,KAAKumC,UAAW,EAChBvmC,KAAKgN,OAAQ,EACbhN,KAAKg4D,iBAAmB/vD,IAAI,EAAEJ,KAAK,EAAEyL,MAAM,EAAEC,OAAO,EAAE0kD,MAAM,GAC5Dj4D,KAAKk4D,YAAa,EAClBl4D,KAAKoyD,YAAa,EAElBpyD,KAAKmqB,KAAO,KACZnqB,KAAKoqB,GAAK,KACVpqB,KAAK2yD,IAAM,KAEX3yD,KAAKm4D,WAAa,KAClBn4D,KAAKo4D,SAAW,KAIhBp4D,KAAKq4D,kBACLr4D,KAAKs4D,gBAELt4D,KAAKixD,WAAY,EAEjBjxD,KAAKu4D,YAAc,EACnBv4D,KAAKw4D,aAAc,EAEnBx4D,KAAKkyD,cAAcC,GAEnBnyD,KAAKy4D,qBAAsB,EAC3Bz4D,KAAK04D,cAAgBvuC,KAAK,KAAMC,GAAG,KAAMuuC,cACzC34D,KAAK44D,cAAgB,KAjEvB,GAAIj4D,GAAOT,EAAoB,GAC3BqD,EAAOrD,EAAoB,GAwE/BkD,GAAK8Q,UAAUg+C,cAAgB,SAASC,GAEtC,GADAnyD,KAAKoyD,YAAa,EACbD,EAAL,CAIA,GAAIxjD,IAAU,QAAQ,WAAW,WAAW,YAAY,WAAW,kBAAkB,kBAAkB,QACrG,2BAA2B,aAAa,mBAAmB,OAAO,eAAe,iBAAkB,UACnG,wBAAwB,eAsC1B,QApCAhO,EAAK8F,oBAAoBkI,EAAQ3O,KAAKkP,QAASijD,GAEvBtrD,SAApBsrD,EAAWhoC,OAA+BnqB,KAAK03D,OAASvF,EAAWhoC,MACjDtjB,SAAlBsrD,EAAW/nC,KAA+BpqB,KAAKy3D,KAAOtF,EAAW/nC,IAE/CvjB,SAAlBsrD,EAAW9xD,KAA+BL,KAAKK,GAAK8xD,EAAW9xD,IAC1CwG,SAArBsrD,EAAWn/C,QAA+BhT,KAAKgT,MAAQm/C,EAAWn/C,MAAOhT,KAAKk4D,YAAa,GAEtErxD,SAArBsrD,EAAW1qB,QAA6BznC,KAAKynC,MAAQ0qB,EAAW1qB,OAC3C5gC,SAArBsrD,EAAW7tD,QAA6BtE,KAAKsE,MAAQ6tD,EAAW7tD,OAC1CuC,SAAtBsrD,EAAWlsD,SAA6BjG,KAAKghD,QAAQK,aAAe8Q,EAAWlsD,QAE1DY,SAArBsrD,EAAW5mD,QACbvL,KAAKkP,QAAQ2xC,cAAe,EACxBlgD,EAAK8D,SAAS0tD,EAAW5mD,QAC3BvL,KAAKkP,QAAQ3D,MAAMA,MAAQ4mD,EAAW5mD,MACtCvL,KAAKkP,QAAQ3D,MAAMwB,UAAYolD,EAAW5mD,QAGX1E,SAA3BsrD,EAAW5mD,MAAMA,QAA0BvL,KAAKkP,QAAQ3D,MAAMA,MAAQ4mD,EAAW5mD,MAAMA,OACxD1E,SAA/BsrD,EAAW5mD,MAAMwB,YAA0B/M,KAAKkP,QAAQ3D,MAAMwB,UAAYolD,EAAW5mD,MAAMwB,WAChElG,SAA3BsrD,EAAW5mD,MAAMyB,QAA0BhN,KAAKkP,QAAQ3D,MAAMyB,MAAQmlD,EAAW5mD,MAAMyB,SAO/FhN,KAAK++C,UAEL/+C,KAAKu4D,WAAav4D,KAAKu4D,YAAoC1xD,SAArBsrD,EAAW7+C,MACjDtT,KAAKw4D,YAAcx4D,KAAKw4D,aAAsC3xD,SAAtBsrD,EAAWlsD,OAEnDjG,KAAK+3D,cAAgB/3D,KAAKkP,QAAQoE,MAAOtT,KAAKkP,QAAQoxC,yBAG9CtgD,KAAKkP,QAAQxB,OACnB,IAAK,OAAiB1N,KAAKoxC,KAAOpxC,KAAK64D,SAAW,MAClD,KAAK,QAAiB74D,KAAKoxC,KAAOpxC,KAAK84D,UAAY,MACnD,KAAK,eAAiB94D,KAAKoxC,KAAOpxC,KAAK+4D,gBAAkB,MACzD,KAAK,YAAiB/4D,KAAKoxC,KAAOpxC,KAAKg5D,aAAe,MACtD,SAAsBh5D,KAAKoxC,KAAOpxC,KAAK64D,aAQ3Cz1D,EAAK8Q,UAAU6qC,QAAU,WACvB/+C,KAAKwyD,aAELxyD,KAAKmqB,KAAOnqB,KAAKmD,QAAQ+7C,MAAMl/C,KAAK03D,SAAW,KAC/C13D,KAAKoqB,GAAKpqB,KAAKmD,QAAQ+7C,MAAMl/C,KAAKy3D,OAAS,KAC3Cz3D,KAAKixD,UAAajxD,KAAKmqB,MAAQnqB,KAAKoqB,GAEhCpqB,KAAKixD,WACPjxD,KAAKmqB,KAAK8uC,WAAWj5D,MACrBA,KAAKoqB,GAAG6uC,WAAWj5D,QAGfA,KAAKmqB,MACPnqB,KAAKmqB,KAAK+uC,WAAWl5D,MAEnBA,KAAKoqB,IACPpqB,KAAKoqB,GAAG8uC,WAAWl5D,QAQzBoD,EAAK8Q,UAAUs+C,WAAa,WACtBxyD,KAAKmqB,OACPnqB,KAAKmqB,KAAK+uC,WAAWl5D,MACrBA,KAAKmqB,KAAO,MAEVnqB,KAAKoqB,KACPpqB,KAAKoqB,GAAG8uC,WAAWl5D,MACnBA,KAAKoqB,GAAK,MAGZpqB,KAAKixD,WAAY,GAQnB7tD,EAAK8Q,UAAU48C,SAAW,WACxB,MAA6B,kBAAf9wD,MAAKynC,MAAuBznC,KAAKynC,QAAUznC,KAAKynC,OAQhErkC,EAAK8Q,UAAUyB,SAAW,WACxB,MAAO3V,MAAKsE,OASdlB,EAAK8Q,UAAU6+C,cAAgB,SAAS5uD,EAAKC,EAAKC,GAChD,IAAKrE,KAAKu4D,YAA6B1xD,SAAf7G,KAAKsE,MAAqB,CAChD,GAAIC,GAAQvE,KAAKkP,QAAQ+vC,sBAAsB96C,EAAKC,EAAKC,EAAOrE,KAAKsE,OACjE60D,EAAYn5D,KAAKkP,QAAQiZ,SAAWnoB,KAAKkP,QAAQgZ,QACrDloB,MAAKkP,QAAQoE,MAAQtT,KAAKkP,QAAQgZ,SAAW3jB,EAAQ40D,EACrDn5D,KAAK+3D,cAAgB/3D,KAAKkP,QAAQoE,MAAOtT,KAAKkP,QAAQoxC,2BAU1Dl9C,EAAK8Q,UAAUk9B,KAAO,SAASrpB,GAC7B,KAAM,uCAQR3kB,EAAK8Q,UAAU28C,kBAAoB,SAAS9sC,GAC1C,GAAI/jB,KAAKixD,UAAW,CAClB,GAAIhhC,GAAU,GACVmpC,EAAQp5D,KAAKmqB,KAAK3X,EAClB6mD,EAAQr5D,KAAKmqB,KAAK1X,EAClB6mD,EAAMt5D,KAAKoqB,GAAG5X,EACd+mD,EAAMv5D,KAAKoqB,GAAG3X,EACd+mD,EAAOz1C,EAAIlc,KACX4xD,EAAO11C,EAAI9b,IAEX8jB,EAAO/rB,KAAK05D,mBAAmBN,EAAOC,EAAOC,EAAKC,EAAKC,EAAMC,EAEjE,OAAexpC,GAAPlE,EAGR,OAAO,GAIX3oB,EAAK8Q,UAAUylD,UAAY,SAAS5xC,GAClC,GAAI6xC,GAAW55D,KAAKkP,QAAQ3D,KAC5B,IAAiC,GAA7BvL,KAAKkP,QAAQ4xC,aAAsB,CACrC,GACI+Y,GAAWC,EADXC,EAAMhyC,EAAIiyC,qBAAqBh6D,KAAKmqB,KAAK3X,EAAGxS,KAAKmqB,KAAK1X,EAAGzS,KAAKoqB,GAAG5X,EAAGxS,KAAKoqB,GAAG3X,EAkBhF,OAhBAonD,GAAY75D,KAAKmqB,KAAKjb,QAAQ3D,MAAMwB,UAAUD,OAC9CgtD,EAAU95D,KAAKoqB,GAAGlb,QAAQ3D,MAAMwB,UAAUD,OAGhB,GAAtB9M,KAAKmqB,KAAKoc,UAAyC,GAApBvmC,KAAKoqB,GAAGmc,UACzCszB,EAAYl5D,EAAK2K,gBAAgBtL,KAAKmqB,KAAKjb,QAAQ3D,MAAMuB,OAAQ9M,KAAKkP,QAAQ1D,SAC9EsuD,EAAUn5D,EAAK2K,gBAAgBtL,KAAKoqB,GAAGlb,QAAQ3D,MAAMuB,OAAQ9M,KAAKkP,QAAQ1D,UAE7C,GAAtBxL,KAAKmqB,KAAKoc,UAAwC,GAApBvmC,KAAKoqB,GAAGmc,SAC7CuzB,EAAU95D,KAAKoqB,GAAGlb,QAAQ3D,MAAMuB,OAEH,GAAtB9M,KAAKmqB,KAAKoc,UAAyC,GAApBvmC,KAAKoqB,GAAGmc,WAC9CszB,EAAY75D,KAAKmqB,KAAKjb,QAAQ3D,MAAMuB,QAEtCitD,EAAIE,aAAa,EAAGJ,GACpBE,EAAIE,aAAa,EAAGH,GACbC,EAwBT,MArBI/5D,MAAKoyD,cAAe,IACW,MAA7BpyD,KAAKkP,QAAQ2xC,aACf+Y,GACE7sD,UAAW/M,KAAKoqB,GAAGlb,QAAQ3D,MAAMwB,UAAUD,OAC3CE,MAAOhN,KAAKoqB,GAAGlb,QAAQ3D,MAAMyB,MAAMF,OACnCvB,MAAO5K,EAAK2K,gBAAgBtL,KAAKmqB,KAAKjb,QAAQ3D,MAAMuB,OAAQ9M,KAAKkP,QAAQ1D,WAGvC,QAA7BxL,KAAKkP,QAAQ2xC,cAAuD,GAA7B7gD,KAAKkP,QAAQ2xC,gBAC3D+Y,GACE7sD,UAAW/M,KAAKmqB,KAAKjb,QAAQ3D,MAAMwB,UAAUD,OAC7CE,MAAOhN,KAAKmqB,KAAKjb,QAAQ3D,MAAMyB,MAAMF,OACrCvB,MAAO5K,EAAK2K,gBAAgBtL,KAAKmqB,KAAKjb,QAAQ3D,MAAMuB,OAAQ9M,KAAKkP,QAAQ1D,WAG7ExL,KAAKkP,QAAQ3D,MAAQquD,EACrB55D,KAAKoyD,YAAa,GAKC,GAAjBpyD,KAAKumC,SAA4BqzB,EAAS7sD,UACvB,GAAd/M,KAAKgN,MAAuB4sD,EAAS5sD,MACT4sD,EAASruD,OAWhDnI,EAAK8Q,UAAU2kD,UAAY,SAAS9wC,GAKlC,GAHAA,EAAIY,YAAc3oB,KAAK25D,UAAU5xC,GACjCA,EAAIO,UAActoB,KAAKk6D,gBAEnBl6D,KAAKmqB,MAAQnqB,KAAKoqB,GAAI,CAExB,GAGIxX,GAHA+/C,EAAM3yD,KAAKm6D,MAAMpyC,EAIrB,IAAI/nB,KAAKgT,MAAO,CACd,GAAyC,GAArChT,KAAKkP,QAAQs0C,aAAar0C,SAA0B,MAAPwjD,EAAa,CAC5D,GAAIyH,GAAY,IAAK,IAAKp6D,KAAKmqB,KAAK3X,EAAImgD,EAAIngD,GAAK,IAAKxS,KAAKoqB,GAAG5X,EAAImgD,EAAIngD,IAClE6nD,EAAY,IAAK,IAAKr6D,KAAKmqB,KAAK1X,EAAIkgD,EAAIlgD,GAAK,IAAKzS,KAAKoqB,GAAG3X,EAAIkgD,EAAIlgD,GACtEG,IAASJ,EAAE4nD,EAAW3nD,EAAE4nD,OAGxBznD,GAAQ5S,KAAKs6D,aAAa,GAE5Bt6D,MAAKu6D,OAAOxyC,EAAK/nB,KAAKgT,MAAOJ,EAAMJ,EAAGI,EAAMH,QAG3C,CACH,GAAID,GAAGC,EACH6Z,EAAStsB,KAAKghD,QAAQK,aAAe,EACrCsH,EAAO3oD,KAAKmqB,IACXw+B,GAAKr1C,OACRq1C,EAAK6R,OAAOzyC,GAEV4gC,EAAKr1C,MAAQq1C,EAAKp1C,QACpBf,EAAIm2C,EAAKn2C,EAAIm2C,EAAKr1C,MAAQ,EAC1Bb,EAAIk2C,EAAKl2C,EAAI6Z,IAGb9Z,EAAIm2C,EAAKn2C,EAAI8Z,EACb7Z,EAAIk2C,EAAKl2C,EAAIk2C,EAAKp1C,OAAS,GAE7BvT,KAAKy6D,QAAQ1yC,EAAKvV,EAAGC,EAAG6Z,GACxB1Z,EAAQ5S,KAAK06D,eAAeloD,EAAGC,EAAG6Z,EAAQ,IAC1CtsB,KAAKu6D,OAAOxyC,EAAK/nB,KAAKgT,MAAOJ,EAAMJ,EAAGI,EAAMH,KAUhDrP,EAAK8Q,UAAUgmD,cAAgB,WAC7B,MAAqB,IAAjBl6D,KAAKumC,SACC/hC,KAAKJ,IAAII,KAAKL,IAAInE,KAAK+3D,cAAe/3D,KAAKkP,QAAQiZ,UAAW,GAAInoB,KAAK26D,iBAG7D,GAAd36D,KAAKgN,MACAxI,KAAKJ,IAAII,KAAKL,IAAInE,KAAKkP,QAAQqxC,WAAYvgD,KAAKkP,QAAQiZ,UAAW,GAAInoB,KAAK26D,iBAG5En2D,KAAKJ,IAAIpE,KAAKkP,QAAQoE,MAAO,GAAItT,KAAK26D,kBAKnDv3D,EAAK8Q,UAAU0mD,mBAAqB,WAClC,GAAyC,GAArC56D,KAAKkP,QAAQs0C,aAAaC,SAAwD,GAArCzjD,KAAKkP,QAAQs0C,aAAar0C,QACzE,MAAOnP,MAAK2yD,GAET,IAAyC,GAArC3yD,KAAKkP,QAAQs0C,aAAar0C,QACjC,OAAQqD,EAAE,EAAEC,EAAE,EAGd,IAAIooD,GAAO,KACPC,EAAO,KACPrR,EAASzpD,KAAKkP,QAAQs0C,aAAaE,UACnCv8C,EAAOnH,KAAKkP,QAAQs0C,aAAar8C,KACjCyY,EAAKpb,KAAKknB,IAAI1rB,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GACpCqN,EAAKrb,KAAKknB,IAAI1rB,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,EACxC,IAAY,YAARtL,GAA8B,iBAARA,EACpB3C,KAAKknB,IAAI1rB,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GAAKhO,KAAKknB,IAAI1rB,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,IACjEzS,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,EACpBzS,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GACxBqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS5pC,EAC9Bi7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS5pC,GAEvB7f,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,IAC7BqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS5pC,EAC9Bi7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS5pC,GAGzB7f,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,IACzBzS,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GACxBqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS5pC,EAC9Bi7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS5pC,GAEvB7f,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,IAC7BqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS5pC,EAC9Bi7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS5pC,IAGtB,YAAR1Y,IACF0zD,EAAYpR,EAAS5pC,EAAdD,EAAmB5f,KAAKmqB,KAAK3X,EAAIqoD,IAGnCr2D,KAAKknB,IAAI1rB,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GAAKhO,KAAKknB,IAAI1rB,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,KACtEzS,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,EACpBzS,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GACxBqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS7pC,EAC9Bk7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS7pC,GAEvB5f,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,IAC7BqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS7pC,EAC9Bk7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS7pC,GAGzB5f,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,IACzBzS,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GACxBqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS7pC,EAC9Bk7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS7pC,GAEvB5f,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,IAC7BqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS7pC,EAC9Bk7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS7pC,IAGtB,YAARzY,IACF2zD,EAAYrR,EAAS7pC,EAAdC,EAAmB7f,KAAKmqB,KAAK1X,EAAIqoD,QAIzC,IAAY,iBAAR3zD,EACH3C,KAAKknB,IAAI1rB,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GAAKhO,KAAKknB,IAAI1rB,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,IACrEooD,EAAO76D,KAAKmqB,KAAK3X,EAEfsoD,EADE96D,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,EACjBzS,KAAKoqB,GAAG3X,GAAK,EAAIg3C,GAAU5pC,EAG3B7f,KAAKoqB,GAAG3X,GAAK,EAAIg3C,GAAU5pC,GAG7Brb,KAAKknB,IAAI1rB,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GAAKhO,KAAKknB,IAAI1rB,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,KAExEooD,EADE76D,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,EACjBxS,KAAKoqB,GAAG5X,GAAK,EAAIi3C,GAAU7pC,EAG3B5f,KAAKoqB,GAAG5X,GAAK,EAAIi3C,GAAU7pC,EAEpCk7C,EAAO96D,KAAKmqB,KAAK1X,OAGhB,IAAY,cAARtL,EAEL0zD,EADE76D,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,EACjBxS,KAAKoqB,GAAG5X,GAAK,EAAIi3C,GAAU7pC,EAG3B5f,KAAKoqB,GAAG5X,GAAK,EAAIi3C,GAAU7pC,EAEpCk7C,EAAO96D,KAAKmqB,KAAK1X,MAEd,IAAY,YAARtL,EACP0zD,EAAO76D,KAAKmqB,KAAK3X,EAEfsoD,EADE96D,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,EACjBzS,KAAKoqB,GAAG3X,GAAK,EAAIg3C,GAAU5pC,EAG3B7f,KAAKoqB,GAAG3X,GAAK,EAAIg3C,GAAU5pC,MAGjC,IAAY,YAAR1Y,EAAoB,CAC3B,GAAIyY,GAAK5f,KAAKoqB,GAAG5X,EAAIxS,KAAKmqB,KAAK3X,EAC3BqN,EAAK7f,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,EAC3B6Z,EAAS9nB,KAAKgsB,KAAK5Q,EAAGA,EAAKC,EAAGA,GAC9Bk7C,EAAKv2D,KAAKgoB,GAEVwuC,EAAgBx2D,KAAKy2D,MAAMp7C,EAAGD,GAC9Bs7C,GAAWF,GAA2B,GAATvR,EAAgB,IAAOsR,IAAO,EAAIA,EAEnEF,GAAO76D,KAAKmqB,KAAK3X,GAAY,GAAPi3C,EAAa,IAAKn9B,EAAO9nB,KAAK4a,IAAI87C,GACxDJ,EAAO96D,KAAKmqB,KAAK1X,GAAY,GAAPg3C,EAAa,IAAKn9B,EAAO9nB,KAAK+a,IAAI27C,OAErD,IAAY,aAAR/zD,EAAqB,CAC5B,GAAIyY,GAAK5f,KAAKoqB,GAAG5X,EAAIxS,KAAKmqB,KAAK3X,EAC3BqN,EAAK7f,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,EAC3B6Z,EAAS9nB,KAAKgsB,KAAK5Q,EAAGA,EAAKC,EAAGA,GAC9Bk7C,EAAKv2D,KAAKgoB,GAEVwuC,EAAgBx2D,KAAKy2D,MAAMp7C,EAAGD,GAC9Bs7C,GAAWF,GAA4B,IAATvR,EAAgB,IAAOsR,IAAO,EAAIA,EAEpEF,GAAO76D,KAAKmqB,KAAK3X,GAAY,GAAPi3C,EAAa,IAAKn9B,EAAO9nB,KAAK4a,IAAI87C,GACxDJ,EAAO96D,KAAKmqB,KAAK1X,GAAY,GAAPg3C,EAAa,IAAKn9B,EAAO9nB,KAAK+a,IAAI27C,OAGpD12D,MAAKknB,IAAI1rB,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GAAKhO,KAAKknB,IAAI1rB,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,GACjEzS,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,EACpBzS,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GACxBqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS5pC,EAC9Bi7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS5pC,EAC9Bg7C,EAAO76D,KAAKoqB,GAAG5X,EAAIqoD,EAAO76D,KAAKoqB,GAAG5X,EAAIqoD,GAE/B76D,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,IAC7BqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS5pC,EAC9Bi7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS5pC,EAC9Bg7C,EAAO76D,KAAKoqB,GAAG5X,EAAIqoD,EAAO76D,KAAKoqB,GAAG5X,EAAIqoD,GAGjC76D,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,IACzBzS,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GACxBqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS5pC,EAC9Bi7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS5pC,EAC9Bg7C,EAAO76D,KAAKoqB,GAAG5X,EAAIqoD,EAAO76D,KAAKoqB,GAAG5X,EAAIqoD,GAE/B76D,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,IAC7BqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS5pC,EAC9Bi7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS5pC,EAC9Bg7C,EAAO76D,KAAKoqB,GAAG5X,EAAIqoD,EAAO76D,KAAKoqB,GAAG5X,EAAIqoD,IAInCr2D,KAAKknB,IAAI1rB,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GAAKhO,KAAKknB,IAAI1rB,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,KACtEzS,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,EACpBzS,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GACxBqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS7pC,EAC9Bk7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS7pC,EAC9Bk7C,EAAO96D,KAAKoqB,GAAG3X,EAAIqoD,EAAO96D,KAAKoqB,GAAG3X,EAAIqoD,GAE/B96D,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,IAC7BqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS7pC,EAC9Bk7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS7pC,EAC9Bk7C,EAAO96D,KAAKoqB,GAAG3X,EAAIqoD,EAAO96D,KAAKoqB,GAAG3X,EAAIqoD,GAGjC96D,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,IACzBzS,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GACxBqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS7pC,EAC9Bk7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS7pC,EAC9Bk7C,EAAO96D,KAAKoqB,GAAG3X,EAAIqoD,EAAO96D,KAAKoqB,GAAG3X,EAAIqoD,GAE/B96D,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,IAC7BqoD,EAAO76D,KAAKmqB,KAAK3X,EAAIi3C,EAAS7pC,EAC9Bk7C,EAAO96D,KAAKmqB,KAAK1X,EAAIg3C,EAAS7pC,EAC9Bk7C,EAAO96D,KAAKoqB,GAAG3X,EAAIqoD,EAAO96D,KAAKoqB,GAAG3X,EAAIqoD,IAO9C,QAAQtoD,EAAGqoD,EAAMpoD,EAAGqoD,IASxB13D,EAAK8Q,UAAUimD,MAAQ,SAAUpyC,GAI/B,GAFAA,EAAIa,YACJb,EAAIc,OAAO7oB,KAAKmqB,KAAK3X,EAAGxS,KAAKmqB,KAAK1X,GACO,GAArCzS,KAAKkP,QAAQs0C,aAAar0C,QAAiB,CAC7C,GAAyC,GAArCnP,KAAKkP,QAAQs0C,aAAaC,QAAkB,CAC9C,GAAIkP,GAAM3yD,KAAK46D,oBACf,OAAa,OAATjI,EAAIngD,GACNuV,EAAIe,OAAO9oB,KAAKoqB,GAAG5X,EAAGxS,KAAKoqB,GAAG3X,GAC9BsV,EAAIlH,SACG,OAKPkH,EAAIozC,iBAAiBxI,EAAIngD,EAAEmgD,EAAIlgD,EAAEzS,KAAKoqB,GAAG5X,EAAGxS,KAAKoqB,GAAG3X,GACpDsV,EAAIlH,SAGG8xC,GAMT,MAFA5qC,GAAIozC,iBAAiBn7D,KAAK2yD,IAAIngD,EAAExS,KAAK2yD,IAAIlgD,EAAEzS,KAAKoqB,GAAG5X,EAAGxS,KAAKoqB,GAAG3X,GAC9DsV,EAAIlH,SACG7gB,KAAK2yD,IAMd,MAFA5qC,GAAIe,OAAO9oB,KAAKoqB,GAAG5X,EAAGxS,KAAKoqB,GAAG3X,GAC9BsV,EAAIlH,SACG,MAYXzd,EAAK8Q,UAAUumD,QAAU,SAAU1yC,EAAKvV,EAAGC,EAAG6Z,GAE5CvE,EAAIa,YACJb,EAAIwE,IAAI/Z,EAAGC,EAAG6Z,EAAQ,EAAG,EAAI9nB,KAAKgoB,IAAI,GACtCzE,EAAIlH,UAWNzd,EAAK8Q,UAAUqmD,OAAS,SAAUxyC,EAAKuC,EAAM9X,EAAGC,GAC9C,GAAI6X,EAAM,CACRvC,EAAIQ,MAASvoB,KAAKmqB,KAAKoc,UAAYvmC,KAAKoqB,GAAGmc,SAAY,QAAU,IACjEvmC,KAAKkP,QAAQuwC,SAAW,MAAQz/C,KAAKkP,QAAQwwC,QAC7C,IAAIuY,EAEJ,IAAuB,GAAnBj4D,KAAKk4D,WAAoB,CAC3B,GAAInsB,GAAQrnC,OAAO4lB,GAAMhiB,MAAM,MAC3B8yD,EAAYrvB,EAAM9lC,OAClBw5C,EAAWx7C,OAAOjE,KAAKkP,QAAQuwC,SACnCwY,GAAQxlD,GAAK,EAAI2oD,GAAa,EAAI3b,CAGlC,KAAK,GADDnsC,GAAQyU,EAAIszC,YAAYtvB,EAAM,IAAIz4B,MAC7BxN,EAAI,EAAOs1D,EAAJt1D,EAAeA,IAAK,CAClC,GAAIwiB,GAAYP,EAAIszC,YAAYtvB,EAAMjmC,IAAIwN,KAC1CA,GAAQgV,EAAYhV,EAAQgV,EAAYhV,EAE1C,GAAIC,GAASvT,KAAKkP,QAAQuwC,SAAW2b,EACjCvzD,EAAO2K,EAAIc,EAAQ,EACnBrL,EAAMwK,EAAIc,EAAS,CAGvBvT,MAAKg4D,iBAAmB/vD,IAAIA,EAAIJ,KAAKA,EAAKyL,MAAMA,EAAMC,OAAOA,EAAO0kD,MAAMA,GAG/E,GAAIA,GAAQj4D,KAAKg4D,gBAAgBC,KAEjClwC,GAAIorC,OAE+B,cAA/BnzD,KAAKkP,QAAQsxC,iBAChBz4B,EAAIqrC,UAAU5gD,EAAGylD,GACjBj4D,KAAKs7D,yBAAyBvzC,GAC9BvV,EAAI,EACJylD,EAAQ,GAITj4D,KAAKu7D,eAAexzC,GACpB/nB,KAAKw7D,eAAezzC,EAAIvV,EAAEylD,EAAOlsB,EAAOqvB,EAAW3b,GAEnD13B,EAAIurC,YASLlwD,EAAK8Q,UAAUonD,yBAA2B,SAASvzC,GAClD,GAAIlI,GAAK7f,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,EAC3BmN,EAAK5f,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,EAC3BipD,EAAiBj3D,KAAKy2D,MAAMp7C,EAAID,IAGf,GAAjB67C,GAA4B,EAAL77C,GAAY67C,EAAiB,GAAU,EAAL77C,KAC5D67C,GAAkCj3D,KAAKgoB,IAGxCzE,EAAI2zC,OAAOD,IASZr4D,EAAK8Q,UAAUqnD,eAAiB,SAASxzC,GACxC,GAA8BlhB,SAA1B7G,KAAKkP,QAAQywC,UAAoD,OAA1B3/C,KAAKkP,QAAQywC,UAA+C,SAA1B3/C,KAAKkP,QAAQywC,SAAqB,CAC9G53B,EAAIiB,UAAYhpB,KAAKkP,QAAQywC,QAE7B,IAAIgc,GAAa,CAEoB,gBAA/B37D,KAAKkP,QAAQsxC,eACfz4B,EAAI6zC,SAAuC,IAA7B57D,KAAKg4D,gBAAgB1kD,MAA4C,IAA9BtT,KAAKg4D,gBAAgBzkD,OAAcvT,KAAKg4D,gBAAgB1kD,MAAOtT,KAAKg4D,gBAAgBzkD,QAE/F,cAA/BvT,KAAKkP,QAAQsxC,eACpBz4B,EAAI6zC,SAAuC,IAA7B57D,KAAKg4D,gBAAgB1kD,QAAetT,KAAKg4D,gBAAgBzkD,OAASooD,GAAa37D,KAAKg4D,gBAAgB1kD,MAAOtT,KAAKg4D,gBAAgBzkD,QAExG,cAA/BvT,KAAKkP,QAAQsxC,eACpBz4B,EAAI6zC,SAAuC,IAA7B57D,KAAKg4D,gBAAgB1kD,MAAaqoD,EAAY37D,KAAKg4D,gBAAgB1kD,MAAOtT,KAAKg4D,gBAAgBzkD,QAG7GwU,EAAI6zC,SAAS57D,KAAKg4D,gBAAgBnwD,KAAM7H,KAAKg4D,gBAAgB/vD,IAAKjI,KAAKg4D,gBAAgB1kD,MAAOtT,KAAKg4D,gBAAgBzkD,UAezHnQ,EAAK8Q,UAAUsnD,eAAiB,SAASzzC,EAAKvV,EAAGylD,EAAOlsB,EAAOqvB,EAAW3b,GAMxE,GAJD13B,EAAIiB,UAAYhpB,KAAKkP,QAAQswC,WAAa,QAC1Cz3B,EAAIuB,UAAY,SAGoB,cAA/BtpB,KAAKkP,QAAQsxC,eAAgC,CAC/C,GAAImb,GAAa,CACkB,eAA/B37D,KAAKkP,QAAQsxC,gBACfz4B,EAAIwB,aAAe,aACnB0uC,GAAS,EAAI0D,GAEyB,cAA/B37D,KAAKkP,QAAQsxC,gBACpBz4B,EAAIwB,aAAe,UACnB0uC,GAAS,EAAI0D,GAGb5zC,EAAIwB,aAAe,aAIrBxB,GAAIwB,aAAe,QAIjBvpB,MAAKkP,QAAQ0wC,gBAAkB,IACjC73B,EAAIO,UAActoB,KAAKkP,QAAQ0wC,gBAC/B73B,EAAIY,YAAc3oB,KAAKkP,QAAQ2wC,gBAC/B93B,EAAI8zC,SAAc,QAErB,KAAK,GAAI/1D,GAAI,EAAOs1D,EAAJt1D,EAAeA,IACzB9F,KAAKkP,QAAQ0wC,gBAAkB,GAChC73B,EAAI+zC,WAAW/vB,EAAMjmC,GAAI0M,EAAGylD,GAEhClwC,EAAIyB,SAASuiB,EAAMjmC,GAAI0M,EAAGylD,GAC1BA,GAASxY,GAaXr8C,EAAK8Q,UAAU8kD,cAAgB,SAASjxC,GAEtCA,EAAIY,YAAc3oB,KAAK25D,UAAU5xC,GACjCA,EAAIO,UAAYtoB,KAAKk6D,eAErB,IAAIvH,GAAM,IAEV,IAAwB9rD,SAApBkhB,EAAIg0C,YAA2B,CACjCh0C,EAAIorC,MAEJ,IAAI6I,IAAW,EAEbA,GAD+Bn1D,SAA7B7G,KAAKkP,QAAQwxC,KAAKz6C,QAAkDY,SAA1B7G,KAAKkP,QAAQwxC,KAAKC,KACnD3gD,KAAKkP,QAAQwxC,KAAKz6C,OAAOjG,KAAKkP,QAAQwxC,KAAKC,MAG3C,EAAE,GAIf54B,EAAIg0C,YAAYC,GAChBj0C,EAAIk0C,eAAiB,EAGrBtJ,EAAM3yD,KAAKm6D,MAAMpyC,GAGjBA,EAAIg0C,aAAa,IACjBh0C,EAAIk0C,eAAiB,EACrBl0C,EAAIurC,cAIJvrC,GAAIa,YACJb,EAAIm0C,QAAU,QACsBr1D,SAAhC7G,KAAKkP,QAAQwxC,KAAKE,UAEpB74B,EAAIo0C,WAAWn8D,KAAKmqB,KAAK3X,EAAExS,KAAKmqB,KAAK1X,EAAEzS,KAAKoqB,GAAG5X,EAAExS,KAAKoqB,GAAG3X,GACpDzS,KAAKkP,QAAQwxC,KAAKz6C,OAAOjG,KAAKkP,QAAQwxC,KAAKC,IAAI3gD,KAAKkP,QAAQwxC,KAAKE,UAAU5gD,KAAKkP,QAAQwxC,KAAKC,MAE9D95C,SAA7B7G,KAAKkP,QAAQwxC,KAAKz6C,QAAkDY,SAA1B7G,KAAKkP,QAAQwxC,KAAKC,IAEnE54B,EAAIo0C,WAAWn8D,KAAKmqB,KAAK3X,EAAExS,KAAKmqB,KAAK1X,EAAEzS,KAAKoqB,GAAG5X,EAAExS,KAAKoqB,GAAG3X,GACpDzS,KAAKkP,QAAQwxC,KAAKz6C,OAAOjG,KAAKkP,QAAQwxC,KAAKC,OAIhD54B,EAAIc,OAAO7oB,KAAKmqB,KAAK3X,EAAGxS,KAAKmqB,KAAK1X,GAClCsV,EAAIe,OAAO9oB,KAAKoqB,GAAG5X,EAAGxS,KAAKoqB,GAAG3X,IAEhCsV,EAAIlH,QAIN,IAAI7gB,KAAKgT,MAAO,CACd,GAAIJ,EACJ,IAAyC,GAArC5S,KAAKkP,QAAQs0C,aAAar0C,SAA0B,MAAPwjD,EAAa,CAC5D,GAAIyH,GAAY,IAAK,IAAKp6D,KAAKmqB,KAAK3X,EAAImgD,EAAIngD,GAAK,IAAKxS,KAAKoqB,GAAG5X,EAAImgD,EAAIngD,IAClE6nD,EAAY,IAAK,IAAKr6D,KAAKmqB,KAAK1X,EAAIkgD,EAAIlgD,GAAK,IAAKzS,KAAKoqB,GAAG3X,EAAIkgD,EAAIlgD,GACtEG,IAASJ,EAAE4nD,EAAW3nD,EAAE4nD,OAGxBznD,GAAQ5S,KAAKs6D,aAAa,GAE5Bt6D,MAAKu6D,OAAOxyC,EAAK/nB,KAAKgT,MAAOJ,EAAMJ,EAAGI,EAAMH,KAUhDrP,EAAK8Q,UAAUomD,aAAe,SAAU8B,GACtC,OACE5pD,GAAI,EAAI4pD,GAAcp8D,KAAKmqB,KAAK3X,EAAI4pD,EAAap8D,KAAKoqB,GAAG5X,EACzDC,GAAI,EAAI2pD,GAAcp8D,KAAKmqB,KAAK1X,EAAI2pD,EAAap8D,KAAKoqB,GAAG3X,IAa7DrP,EAAK8Q,UAAUwmD,eAAiB,SAAUloD,EAAGC,EAAG6Z,EAAQ8vC,GACtD,GAAIvK,GAA6B,GAApBuK,EAAa,EAAE,GAAS53D,KAAKgoB,EAC1C,QACEha,EAAGA,EAAI8Z,EAAS9nB,KAAK+a,IAAIsyC,GACzBp/C,EAAGA,EAAI6Z,EAAS9nB,KAAK4a,IAAIyyC,KAW7BzuD,EAAK8Q,UAAU6kD,iBAAmB,SAAShxC,GACzC,GAAInV,EAMJ,IAJAmV,EAAIY,YAAc3oB,KAAK25D,UAAU5xC,GACjCA,EAAIiB,UAAYjB,EAAIY,YACpBZ,EAAIO,UAAYtoB,KAAKk6D,gBAEjBl6D,KAAKmqB,MAAQnqB,KAAKoqB,GAAI,CAExB,GAAIuoC,GAAM3yD,KAAKm6D,MAAMpyC,GAEjB8pC,EAAQrtD,KAAKy2D,MAAOj7D,KAAKoqB,GAAG3X,EAAIzS,KAAKmqB,KAAK1X,EAAKzS,KAAKoqB,GAAG5X,EAAIxS,KAAKmqB,KAAK3X,GACrEvM,GAAU,GAAK,EAAIjG,KAAKkP,QAAQoE,OAAStT,KAAKkP,QAAQuxC,gBAE1D,IAAyC,GAArCzgD,KAAKkP,QAAQs0C,aAAar0C,SAA0B,MAAPwjD,EAAa,CAC5D,GAAIyH,GAAY,IAAK,IAAKp6D,KAAKmqB,KAAK3X,EAAImgD,EAAIngD,GAAK,IAAKxS,KAAKoqB,GAAG5X,EAAImgD,EAAIngD,IAClE6nD,EAAY,IAAK,IAAKr6D,KAAKmqB,KAAK1X,EAAIkgD,EAAIlgD,GAAK,IAAKzS,KAAKoqB,GAAG3X,EAAIkgD,EAAIlgD,GACtEG,IAASJ,EAAE4nD,EAAW3nD,EAAE4nD,OAGxBznD,GAAQ5S,KAAKs6D,aAAa,GAG5BvyC,GAAIs0C,MAAMzpD,EAAMJ,EAAGI,EAAMH,EAAGo/C,EAAO5rD,GACnC8hB,EAAInH,OACJmH,EAAIlH,SAGA7gB,KAAKgT,OACPhT,KAAKu6D,OAAOxyC,EAAK/nB,KAAKgT,MAAOJ,EAAMJ,EAAGI,EAAMH,OAG3C,CAEH,GAAID,GAAGC,EACH6Z,EAAS,IAAO9nB,KAAKJ,IAAI,IAAIpE,KAAKghD,QAAQK,cAC1CsH,EAAO3oD,KAAKmqB,IACXw+B,GAAKr1C,OACRq1C,EAAK6R,OAAOzyC,GAEV4gC,EAAKr1C,MAAQq1C,EAAKp1C,QACpBf,EAAIm2C,EAAKn2C,EAAiB,GAAbm2C,EAAKr1C,MAClBb,EAAIk2C,EAAKl2C,EAAI6Z,IAGb9Z,EAAIm2C,EAAKn2C,EAAI8Z,EACb7Z,EAAIk2C,EAAKl2C,EAAkB,GAAdk2C,EAAKp1C,QAEpBvT,KAAKy6D,QAAQ1yC,EAAKvV,EAAGC,EAAG6Z,EAGxB,IAAIulC,GAAQ,GAAMrtD,KAAKgoB,GACnBvmB,GAAU,GAAK,EAAIjG,KAAKkP,QAAQoE,OAAStT,KAAKkP,QAAQuxC,gBAC1D7tC,GAAQ5S,KAAK06D,eAAeloD,EAAGC,EAAG6Z,EAAQ,IAC1CvE,EAAIs0C,MAAMzpD,EAAMJ,EAAGI,EAAMH,EAAGo/C,EAAO5rD,GACnC8hB,EAAInH,OACJmH,EAAIlH,SAGA7gB,KAAKgT,QACPJ,EAAQ5S,KAAK06D,eAAeloD,EAAGC,EAAG6Z,EAAQ,IAC1CtsB,KAAKu6D,OAAOxyC,EAAK/nB,KAAKgT,MAAOJ,EAAMJ,EAAGI,EAAMH,MAKlDrP,EAAK8Q,UAAUooD,eAAiB,SAAS/tD,GACvC,GAAIokD,GAAM3yD,KAAK46D,qBAEXpoD,EAAIhO,KAAKkwB,IAAI,EAAEnmB,EAAE,GAAGvO,KAAKmqB,KAAK3X,EAAK,EAAEjE,GAAG,EAAIA,GAAIokD,EAAIngD,EAAIhO,KAAKkwB,IAAInmB,EAAE,GAAGvO,KAAKoqB,GAAG5X,EAC9EC,EAAIjO,KAAKkwB,IAAI,EAAEnmB,EAAE,GAAGvO,KAAKmqB,KAAK1X,EAAK,EAAElE,GAAG,EAAIA,GAAIokD,EAAIlgD,EAAIjO,KAAKkwB,IAAInmB,EAAE,GAAGvO,KAAKoqB,GAAG3X,CAElF,QAAQD,EAAEA,EAAEC,EAAEA,IAWhBrP,EAAK8Q,UAAUqoD,oBAAsB,SAASpyC,EAAKpC,GACjD,GAIIxB,GAAIsrC,EAAM2K,EAAkBC,EAAiBC,EAJ7CjtD,EAAgB,GAChBC,EAAY,EACZC,EAAM,EACNC,EAAO,EAEP+sD,EAAY,GACZhU,EAAO3oD,KAAKoqB,EAKhB,KAJY,GAARD,IACFw+B,EAAO3oD,KAAKmqB,MAGAva,GAAPD,GAA2BF,EAAZC,GAA2B,CAC/C,GAAIG,GAAwB,IAAdF,EAAMC,EAOpB,IALA2W,EAAMvmB,KAAKs8D,eAAezsD,GAC1BgiD,EAAQrtD,KAAKy2D,MAAOtS,EAAKl2C,EAAI8T,EAAI9T,EAAKk2C,EAAKn2C,EAAI+T,EAAI/T,GACnDgqD,EAAmB7T,EAAK6T,iBAAiBz0C,EAAI8pC,GAC7C4K,EAAkBj4D,KAAKgsB,KAAKhsB,KAAKkwB,IAAInO,EAAI/T,EAAEm2C,EAAKn2C,EAAE,GAAKhO,KAAKkwB,IAAInO,EAAI9T,EAAEk2C,EAAKl2C,EAAE,IAC7EiqD,EAAaF,EAAmBC,EAC5Bj4D,KAAKknB,IAAIgxC,GAAcC,EACzB,KAEoB,GAAbD,EACK,GAARvyC,EACFxa,EAAME,EAGND,EAAOC,EAIG,GAARsa,EACFva,EAAOC,EAGPF,EAAME,EAIVH,IAIF,MAFA6W,GAAIhY,EAAIsB,EAED0W,GAUTnjB,EAAK8Q,UAAU4kD,WAAa,SAAS/wC,GAEnCA,EAAIY,YAAc3oB,KAAK25D,UAAU5xC,GACjCA,EAAIiB,UAAYjB,EAAIY,YACpBZ,EAAIO,UAAYtoB,KAAKk6D,eAGrB,IAAIrI,GAAO5rD,EAAQ22D,CAGnB,IAAI58D,KAAKmqB,MAAQnqB,KAAKoqB,GAAI,CAKxB,GAHApqB,KAAKm6D,MAAMpyC,GAG8B,GAArC/nB,KAAKkP,QAAQs0C,aAAar0C,QAAiB,CAC7C,GAAIwjD,GAAM3yD,KAAK46D,oBACfgC,GAAW58D,KAAKu8D,qBAAoB,EAAOx0C,EAC3C,IAAI80C,GAAW78D,KAAKs8D,eAAe93D,KAAKJ,IAAI,EAAKw4D,EAASruD,EAAI,IAC9DsjD,GAAQrtD,KAAKy2D,MAAO2B,EAASnqD,EAAIoqD,EAASpqD,EAAKmqD,EAASpqD,EAAIqqD,EAASrqD,OAElE,CACHq/C,EAAQrtD,KAAKy2D,MAAOj7D,KAAKoqB,GAAG3X,EAAIzS,KAAKmqB,KAAK1X,EAAKzS,KAAKoqB,GAAG5X,EAAIxS,KAAKmqB,KAAK3X,EACrE,IAAIoN,GAAM5f,KAAKoqB,GAAG5X,EAAIxS,KAAKmqB,KAAK3X,EAC5BqN,EAAM7f,KAAKoqB,GAAG3X,EAAIzS,KAAKmqB,KAAK1X,EAC5BqqD,EAAoBt4D,KAAKgsB,KAAK5Q,EAAKA,EAAKC,EAAKA,GAC7Ck9C,EAAe/8D,KAAKoqB,GAAGoyC,iBAAiBz0C,EAAK8pC,GAC7CmL,GAAiBF,EAAoBC,GAAgBD,CAEzDF,MACAA,EAASpqD,GAAK,EAAIwqD,GAAiBh9D,KAAKmqB,KAAK3X,EAAIwqD,EAAgBh9D,KAAKoqB,GAAG5X,EACzEoqD,EAASnqD,GAAK,EAAIuqD,GAAiBh9D,KAAKmqB,KAAK1X,EAAIuqD,EAAgBh9D,KAAKoqB,GAAG3X,EAU3E,GANAxM,GAAU,GAAK,EAAIjG,KAAKkP,QAAQoE,OAAStT,KAAKkP,QAAQuxC,iBACtD14B,EAAIs0C,MAAMO,EAASpqD,EAAEoqD,EAASnqD,EAAGo/C,EAAO5rD,GACxC8hB,EAAInH,OACJmH,EAAIlH,SAGA7gB,KAAKgT,MAAO,CACd,GAAIJ,EAEFA,GADuC,GAArC5S,KAAKkP,QAAQs0C,aAAar0C,SAA0B,MAAPwjD,EACvC3yD,KAAKs8D,eAAe,IAGpBt8D,KAAKs6D,aAAa,IAE5Bt6D,KAAKu6D,OAAOxyC,EAAK/nB,KAAKgT,MAAOJ,EAAMJ,EAAGI,EAAMH,QAG3C,CAEH,GACID,GAAGC,EAAG4pD,EADN1T,EAAO3oD,KAAKmqB,KAEZmC,EAAS,IAAO9nB,KAAKJ,IAAI,IAAIpE,KAAKghD,QAAQK,aACzCsH,GAAKr1C,OACRq1C,EAAK6R,OAAOzyC,GAEV4gC,EAAKr1C,MAAQq1C,EAAKp1C,QACpBf,EAAIm2C,EAAKn2C,EAAiB,GAAbm2C,EAAKr1C,MAClBb,EAAIk2C,EAAKl2C,EAAI6Z,EACb+vC,GACE7pD,EAAGA,EACHC,EAAGk2C,EAAKl2C,EACRo/C,MAAO,GAAMrtD,KAAKgoB,MAIpBha,EAAIm2C,EAAKn2C,EAAI8Z,EACb7Z,EAAIk2C,EAAKl2C,EAAkB,GAAdk2C,EAAKp1C,OAClB8oD,GACE7pD,EAAGm2C,EAAKn2C,EACRC,EAAGA,EACHo/C,MAAO,GAAMrtD,KAAKgoB,KAGtBzE,EAAIa,YAEJb,EAAIwE,IAAI/Z,EAAGC,EAAG6Z,EAAQ,EAAG,EAAI9nB,KAAKgoB,IAAI,GACtCzE,EAAIlH,QAGJ,IAAI5a,IAAU,GAAK,EAAIjG,KAAKkP,QAAQoE,OAAStT,KAAKkP,QAAQuxC,gBAC1D14B,GAAIs0C,MAAMA,EAAM7pD,EAAG6pD,EAAM5pD,EAAG4pD,EAAMxK,MAAO5rD,GACzC8hB,EAAInH,OACJmH,EAAIlH,SAGA7gB,KAAKgT,QACPJ,EAAQ5S,KAAK06D,eAAeloD,EAAGC,EAAG6Z,EAAQ,IAC1CtsB,KAAKu6D,OAAOxyC,EAAK/nB,KAAKgT,MAAOJ,EAAMJ,EAAGI,EAAMH,MAiBlDrP,EAAK8Q,UAAUwlD,mBAAqB,SAAUuD,EAAGC,EAAIC,EAAGC,EAAIC,EAAGC,GAC7D,GAAIxzD,GAAc,CAClB,IAAI9J,KAAKmqB,MAAQnqB,KAAKoqB,GACpB,GAAyC,GAArCpqB,KAAKkP,QAAQs0C,aAAar0C,QAAiB,CAC7C,GAAI0rD,GAAMC,CACV,IAAyC,GAArC96D,KAAKkP,QAAQs0C,aAAar0C,SAAwD,GAArCnP,KAAKkP,QAAQs0C,aAAaC,QACzEoX,EAAO76D,KAAK2yD,IAAIngD,EAChBsoD,EAAO96D,KAAK2yD,IAAIlgD,MAEb,CACH,GAAIkgD,GAAM3yD,KAAK46D,oBACfC,GAAOlI,EAAIngD,EACXsoD,EAAOnI,EAAIlgD,EAEb,GACIkU,GACA7gB,EAAEyI,EAAEiE,EAAEC,EAAG8qD,EAAOC,EAFhBC,EAAc,GAGlB,KAAK33D,EAAI,EAAO,GAAJA,EAAQA,IAClByI,EAAI,GAAIzI,EACR0M,EAAIhO,KAAKkwB,IAAI,EAAEnmB,EAAE,GAAG0uD,EAAM,EAAE1uD,GAAG,EAAIA,GAAIssD,EAAOr2D,KAAKkwB,IAAInmB,EAAE,GAAG4uD,EAC5D1qD,EAAIjO,KAAKkwB,IAAI,EAAEnmB,EAAE,GAAG2uD,EAAM,EAAE3uD,GAAG,EAAIA,GAAIusD,EAAOt2D,KAAKkwB,IAAInmB,EAAE,GAAG6uD,EACxDt3D,EAAI,IACN6gB,EAAW3mB,KAAK09D,mBAAmBH,EAAMC,EAAMhrD,EAAEC,EAAG4qD,EAAGC,GACvDG,EAAyBA,EAAX92C,EAAyBA,EAAW82C,GAEpDF,EAAQ/qD,EAAGgrD,EAAQ/qD,CAErB3I,GAAc2zD,MAGd3zD,GAAc9J,KAAK09D,mBAAmBT,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,OAGpD,CACH,GAAI9qD,GAAGC,EAAGmN,EAAIC,EACVyM,EAAS,IAAOtsB,KAAKghD,QAAQK,aAC7BsH,EAAO3oD,KAAKmqB,IACZw+B,GAAKr1C,MAAQq1C,EAAKp1C,QACpBf,EAAIm2C,EAAKn2C,EAAI,GAAMm2C,EAAKr1C,MACxBb,EAAIk2C,EAAKl2C,EAAI6Z,IAGb9Z,EAAIm2C,EAAKn2C,EAAI8Z,EACb7Z,EAAIk2C,EAAKl2C,EAAI,GAAMk2C,EAAKp1C,QAE1BqM,EAAKpN,EAAI6qD,EACTx9C,EAAKpN,EAAI6qD,EACTxzD,EAActF,KAAKknB,IAAIlnB,KAAKgsB,KAAK5Q,EAAGA,EAAKC,EAAGA,GAAMyM,GAGpD,MAAItsB,MAAKg4D,gBAAgBnwD,KAAOw1D,GAC9Br9D,KAAKg4D,gBAAgBnwD,KAAO7H,KAAKg4D,gBAAgB1kD,MAAQ+pD,GACzDr9D,KAAKg4D,gBAAgB/vD,IAAMq1D,GAC3Bt9D,KAAKg4D,gBAAgB/vD,IAAMjI,KAAKg4D,gBAAgBzkD,OAAS+pD,EAClD,EAGAxzD,GAIX1G,EAAK8Q,UAAUwpD,mBAAqB,SAAST,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,GAC1D,GAAIK,GAAKR,EAAGF,EACVW,EAAKR,EAAGF,EACRW,EAAYF,EAAGA,EAAKC,EAAGA,EACvBE,IAAOT,EAAKJ,GAAMU,GAAML,EAAKJ,GAAMU,GAAMC,CAEvCC,GAAI,EACNA,EAAI,EAEO,EAAJA,IACPA,EAAI,EAGN,IAAItrD,GAAIyqD,EAAKa,EAAIH,EACflrD,EAAIyqD,EAAKY,EAAIF,EACbh+C,EAAKpN,EAAI6qD,EACTx9C,EAAKpN,EAAI6qD,CAQX,OAAO94D,MAAKgsB,KAAK5Q,EAAGA,EAAKC,EAAGA,IAQ9Bzc,EAAK8Q,UAAU+wB,SAAW,SAAS1gC,GACjCvE,KAAK26D,gBAAkB,EAAIp2D,GAI7BnB,EAAK8Q,UAAUyyB,OAAS,WACtB3mC,KAAKumC,UAAW,GAGlBnjC,EAAK8Q,UAAU0yB,SAAW,WACxB5mC,KAAKumC,UAAW,GAGlBnjC,EAAK8Q,UAAU8hD,mBAAqB,WACjB,OAAbh2D,KAAK2yD,KAA8B,OAAd3yD,KAAKmqB,MAA6B,OAAZnqB,KAAKoqB,IAClDpqB,KAAK2yD,IAAIngD,EAAI,IAAOxS,KAAKmqB,KAAK3X,EAAIxS,KAAKoqB,GAAG5X,GAC1CxS,KAAK2yD,IAAIlgD,EAAI,IAAOzS,KAAKmqB,KAAK1X,EAAIzS,KAAKoqB,GAAG3X,IAEtB,OAAbzS,KAAK2yD,MACZ3yD,KAAK2yD,IAAIngD,EAAI,EACbxS,KAAK2yD,IAAIlgD,EAAI,IASjBrP,EAAK8Q,UAAU6/C,kBAAoB,SAAShsC,GAC1C,GAAgC,GAA5B/nB,KAAKy4D,oBAA6B,CACpC,GAA+B,OAA3Bz4D,KAAK04D,aAAavuC,MAA0C,OAAzBnqB,KAAK04D,aAAatuC,GAAa,CACpE,GAAI2zC,GAAa,cAAchpD,OAAO/U,KAAKK,IACvC29D,EAAW,YAAYjpD,OAAO/U,KAAKK,IACnCgkD,GACYnF,OAAOxsC,MAAM,GAAI4Z,OAAO,EAAGtL,YAAY,EAAGo/B,oBAAqB,GAC/DY,SAASO,QAAQ,GACjBI,YAAac,sBAAuB,EAAGD,aAAclvC,MAAM,EAAGC,OAAQ,EAAG+Y,OAAO,IAEhGtsB,MAAK04D,aAAavuC,KAAO,GAAI5mB,IAC1BlD,GAAG09D,EACFze,MAAM,MACJ/zC,OAAOsB,WAAW,UAAWC,OAAO,UAAWC,WAAYF,WAAW,mBAClEw3C,GACVrkD,KAAK04D,aAAatuC,GAAK,GAAI7mB,IACxBlD,GAAG29D,EACF1e,MAAM,MACN/zC,OAAOsB,WAAW,UAAWC,OAAO,UAAWC,WAAYF,WAAW,mBAChEw3C,GAGZrkD,KAAK04D,aAAaC,aACqB,GAAnC34D,KAAK04D,aAAavuC,KAAKoc,WACzBvmC,KAAK04D,aAAaC,UAAUxuC,KAAOnqB,KAAKi+D,2BAA2Bl2C,GACnE/nB,KAAK04D,aAAavuC,KAAK3X,EAAIxS,KAAK04D,aAAaC,UAAUxuC,KAAK3X,EAC5DxS,KAAK04D,aAAavuC,KAAK1X,EAAIzS,KAAK04D,aAAaC,UAAUxuC,KAAK1X,GAEzB,GAAjCzS,KAAK04D,aAAatuC,GAAGmc,WACvBvmC,KAAK04D,aAAaC,UAAUvuC,GAAKpqB,KAAKk+D,yBAAyBn2C,GAC/D/nB,KAAK04D,aAAatuC,GAAG5X,EAAIxS,KAAK04D,aAAaC,UAAUvuC,GAAG5X,EACxDxS,KAAK04D,aAAatuC,GAAG3X,EAAIzS,KAAK04D,aAAaC,UAAUvuC,GAAG3X,GAG1DzS,KAAK04D,aAAavuC,KAAKinB,KAAKrpB,GAC5B/nB,KAAK04D,aAAatuC,GAAGgnB,KAAKrpB,OAG1B/nB,MAAK04D,cAAgBvuC,KAAK,KAAMC,GAAG,KAAMuuC,eAQ7Cv1D,EAAK8Q,UAAUiqD,oBAAsB,WACnCn+D,KAAKm4D,WAAan4D,KAAKmqB,KACvBnqB,KAAKo4D,SAAWp4D,KAAKoqB,GACrBpqB,KAAKy4D,qBAAsB,GAO7Br1D,EAAK8Q,UAAUkqD,qBAAuB,WACpCp+D,KAAK03D,OAAS13D,KAAKmqB,KAAK9pB,GACxBL,KAAKy3D,KAAOz3D,KAAKoqB,GAAG/pB,GAChBL,KAAK03D,QAAU13D,KAAKm4D,WAAW93D,GACjCL,KAAKm4D,WAAWe,WAAWl5D,MAEpBA,KAAKy3D,MAAQz3D,KAAKo4D,SAAS/3D,IAClCL,KAAKo4D,SAASc,WAAWl5D,MAG3BA,KAAKm4D,WAAa,KAClBn4D,KAAKo4D,SAAW,KAChBp4D,KAAKy4D,qBAAsB,GAW7Br1D,EAAK8Q,UAAUmqD,wBAA0B,SAAS7rD,EAAEC,GAClD,GAAIkmD,GAAY34D,KAAK04D,aAAaC,UAC9B2F,EAAe95D,KAAKgsB,KAAKhsB,KAAKkwB,IAAIliB,EAAImmD,EAAUxuC,KAAK3X,EAAE,GAAKhO,KAAKkwB,IAAIjiB,EAAIkmD,EAAUxuC,KAAK1X,EAAE,IAC1F8rD,EAAe/5D,KAAKgsB,KAAKhsB,KAAKkwB,IAAIliB,EAAImmD,EAAUvuC,GAAG5X,EAAI,GAAKhO,KAAKkwB,IAAIjiB,EAAIkmD,EAAUvuC,GAAG3X,EAAI,GAE9F,OAAmB,IAAf6rD,GACFt+D,KAAK44D,cAAgB54D,KAAKmqB,KAC1BnqB,KAAKmqB,KAAOnqB,KAAK04D,aAAavuC,KACvBnqB,KAAK04D,aAAavuC,MAEL,GAAbo0C,GACPv+D,KAAK44D,cAAgB54D,KAAKoqB,GAC1BpqB,KAAKoqB,GAAKpqB,KAAK04D,aAAatuC,GACrBpqB,KAAK04D,aAAatuC,IAGlB,MASXhnB,EAAK8Q,UAAUsqD,qBAAuB,WACG,GAAnCx+D,KAAK04D,aAAavuC,KAAKoc,UACzBvmC,KAAKmqB,KAAOnqB,KAAK44D,cACjB54D,KAAK44D,cAAgB,KACrB54D,KAAK04D,aAAavuC,KAAKyc,YAEiB,GAAjC5mC,KAAK04D,aAAatuC,GAAGmc,WAC5BvmC,KAAKoqB,GAAKpqB,KAAK44D,cACf54D,KAAK44D,cAAgB,KACrB54D,KAAK04D,aAAatuC,GAAGwc,aAUzBxjC,EAAK8Q,UAAU+pD,2BAA6B,SAASl2C,GAEnD,GAAI02C,EACJ,IAAyC,GAArCz+D,KAAKkP,QAAQs0C,aAAar0C,QAC5BsvD,EAAqBz+D,KAAKu8D,qBAAoB,EAAMx0C,OAEjD,CACH,GAAI8pC,GAAQrtD,KAAKy2D,MAAOj7D,KAAKoqB,GAAG3X,EAAIzS,KAAKmqB,KAAK1X,EAAKzS,KAAKoqB,GAAG5X,EAAIxS,KAAKmqB,KAAK3X,GACrEoN,EAAM5f,KAAKoqB,GAAG5X,EAAIxS,KAAKmqB,KAAK3X,EAC5BqN,EAAM7f,KAAKoqB,GAAG3X,EAAIzS,KAAKmqB,KAAK1X,EAC5BqqD,EAAoBt4D,KAAKgsB,KAAK5Q,EAAKA,EAAKC,EAAKA,GAE7C6+C,EAAiB1+D,KAAKmqB,KAAKqyC,iBAAiBz0C,EAAK8pC,EAAQrtD,KAAKgoB,IAC9DmyC,GAAmB7B,EAAoB4B,GAAkB5B,CAC7D2B,MACAA,EAAmBjsD,EAAI,EAAoBxS,KAAKmqB,KAAK3X,GAAK,EAAImsD,GAAmB3+D,KAAKoqB,GAAG5X,EACzFisD,EAAmBhsD,EAAI,EAAoBzS,KAAKmqB,KAAK1X,GAAK,EAAIksD,GAAmB3+D,KAAKoqB,GAAG3X,EAG3F,MAAOgsD,IASTr7D,EAAK8Q,UAAUgqD,yBAA2B,SAASn2C,GAEjD,GAAuB62C,EACvB,IAAyC,GAArC5+D,KAAKkP,QAAQs0C,aAAar0C,QAC5ByvD,EAAmB5+D,KAAKu8D,qBAAoB,EAAOx0C,OAEhD,CACH,GAAI8pC,GAAQrtD,KAAKy2D,MAAOj7D,KAAKoqB,GAAG3X,EAAIzS,KAAKmqB,KAAK1X,EAAKzS,KAAKoqB,GAAG5X,EAAIxS,KAAKmqB,KAAK3X,GACrEoN,EAAM5f,KAAKoqB,GAAG5X,EAAIxS,KAAKmqB,KAAK3X,EAC5BqN,EAAM7f,KAAKoqB,GAAG3X,EAAIzS,KAAKmqB,KAAK1X,EAC5BqqD,EAAoBt4D,KAAKgsB,KAAK5Q,EAAKA,EAAKC,EAAKA,GAC7Ck9C,EAAe/8D,KAAKoqB,GAAGoyC,iBAAiBz0C,EAAK8pC,GAC7CmL,GAAiBF,EAAoBC,GAAgBD,CAEzD8B,MACAA,EAAiBpsD,GAAK,EAAIwqD,GAAiBh9D,KAAKmqB,KAAK3X,EAAIwqD,EAAgBh9D,KAAKoqB,GAAG5X,EACjFosD,EAAiBnsD,GAAK,EAAIuqD,GAAiBh9D,KAAKmqB,KAAK1X,EAAIuqD,EAAgBh9D,KAAKoqB,GAAG3X,EAGnF,MAAOmsD,IAGT/+D,EAAOD,QAAUwD,GAIb,SAASvD,EAAQD,EAASM,GAQ9B,QAASmD,KACPrD,KAAKyX,QACLzX,KAAK6+D,aAAe,EACpB7+D,KAAK8+D,eACL9+D,KAAK++D,WAAa,EAClB/+D,KAAKokD,kBAAmB,EAXflkD,EAAoB,EAkB/BmD,GAAO27D,UACJlyD,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aAExIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aAExIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aAExIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,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"} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index d97f8e6f..bdbe2b0f 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 3.12.1-SNAPSHOT - * @date 2015-04-07 + * @date 2015-04-17 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -22,21 +22,20 @@ * * Vis.js may be distributed under either license. */ -"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Queue=i(5),e.Graph3d=i(6),e.graph3d={Camera:i(7),Filter:i(8),Point2d:i(9),Point3d:i(10),Slider:i(11),StepNumber:i(12)},e.Timeline=i(13),e.Graph2d=i(14),e.timeline={DateUtil:i(15),DataStep:i(16),Range:i(17),stack:i(18),TimeStep:i(19),components:{items:{Item:i(20),BackgroundItem:i(21),BoxItem:i(22),PointItem:i(23),RangeItem:i(24)},Component:i(25),CurrentTime:i(26),CustomTime:i(27),DataAxis:i(28),GraphGroup:i(29),Group:i(30),BackgroundGroup:i(31),ItemSet:i(32),Legend:i(33),LineGraph:i(34),TimeAxis:i(35)}},e.Network=i(36),e.network={Edge:i(37),Groups:i(38),Images:i(39),Node:i(40),Popup:i(41),dotparser:i(42),gephiParser:i(43)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(44),e.hammer=i(45)},function(t,e,i){var s=i(44);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.giveRange=function(t,e,i,s){if(e==t)return.5;var o=1/(e-t);return Math.max(0,(s-t)*o)},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){var i=o.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},e.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},e.extend=function(t,e){for(var i=1,s=arguments.length;s>i;i++){var o=arguments[i];for(var n in o)o.hasOwnProperty(n)&&(t[n]=o[n])}return t},e.selectiveExtend=function(t,e,i){if(!Array.isArray(t))throw new Error("Array with property names expected as first argument");for(var s=2;si;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var n;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(s.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])):s(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return s(t);if(t instanceof Date)return s(t.valueOf());if(s.isMoment(t))return s(t);if(e.isString(t))return n=o.exec(t),s(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(s.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=o.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var o=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e=typeof t;return"object"==e?null==t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":e},e.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left+window.pageXOffset},e.getAbsoluteTop=function(t){return t.getBoundingClientRect().top+window.pageYOffset},e.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},e.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},e.forEach=function(t,e){var i,s;if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.addEventListener=function(t,e,i,s){t.addEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,s)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,s){t.removeEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,s)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,s){return e+e+i+i+s+s});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(-1!=t.indexOf("rgb")){var s=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+s[0]+","+s[1]+","+s[2]+","+i+")"}var s=e.hexToRGB(t);return null==s?t:"rgba("+s.r+","+s.g+","+s.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)){if(e.isValidRGB(t)){var s=t.substr(4).substr(0,t.length-5).split(",");t=e.RGBToHex(s[0],s[1],s[2])}if(e.isValidHex(t)){var o=e.hexToHSV(t),n={h:o.h,s:.45*o.s,v:Math.min(1,1.05*o.v)},r={h:o.h,s:Math.min(1,1.25*o.v),v:.6*o.v},a=e.HSVToHex(r.h,r.h,r.v),h=e.HSVToHex(n.h,n.s,n.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||"white",i.border=t.border||i.background,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||i.background,i.highlight.border=t.highlight&&t.highlight.border||i.border),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||i.background,i.hover.border=t.hover&&t.hover.border||i.border);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var s=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));if(s==o)return{h:0,s:0,v:s};var n=t==s?e-i:i==s?t-e:i-t,r=t==s?3:i==s?1:5,a=60*(r-n/(o-s))/360,h=(o-s)/o,d=o;return{h:a,s:h,v:d}};var n={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),s=i[0].trim(),o=i[1].trim();e[s]=o}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var s=n.split(t.style.cssText),o=n.split(i),r=e.extend(s,o);t.style.cssText=n.join(r)},e.removeCssText=function(t,e){var i=n.split(t.style.cssText),s=n.split(e);for(var o in s)s.hasOwnProperty(o)&&delete i[o];t.style.cssText=n.join(i)},e.HSVToRGB=function(t,e,i){var s,o,n,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:s=i,o=l,n=h;break;case 1:s=d,o=i,n=h;break;case 2:s=h,o=i,n=l;break;case 3:s=h,o=d,n=i;break;case 4:s=l,o=h,n=i;break;case 5:s=i,o=h,n=d}return{r:Math.floor(255*s),g:Math.floor(255*o),b:Math.floor(255*n)}},e.HSVToHex=function(t,i,s){var o=e.HSVToRGB(t,i,s);return e.RGBToHex(o.r,o.g,o.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var s=Object.create(i),o=0;o=r&&o>n;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===s?d[i]:d[i][s],c=e(l);if(0==c)return h;-1==c?r=h+1:a=h-1,n++}return-1},e.binarySearchValue=function(t,e,i,s){for(var o,n,r,a,h=1e4,d=0,l=0,c=t.length-1;c>=l&&h>d;){if(a=Math.floor(.5*(c+l)),o=t[Math.max(0,a-1)][i],n=t[a][i],r=t[Math.min(t.length-1,a+1)][i],n==e)return a;if(e>o&&n>e)return"before"==s?Math.max(0,a-1):a;if(e>n&&r>e)return"before"==s?a:Math.min(t.length-1,a+1);e>n?l=a+1:c=a-1,d++}return-1},e.easeInOutQuad=function(t,e,i,s){var o=i-e;return t/=s/2,1>t?o/2*t*t+e:(t--,-o/2*(t*(t-2)-1)+e)},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e,i){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(s=e[t].redundant[0],e[t].redundant.shift()):(s=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(s)):(s=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(s)),e[t].used.push(s),s},e.getDOMElement=function(t,e,i,s){var o;return e.hasOwnProperty(t)?e[t].redundant.length>0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElement(t),void 0!==s?i.insertBefore(o,s):i.appendChild(o)):(o=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==s?i.insertBefore(o,s):i.appendChild(o)),e[t].used.push(o),o},e.drawPoint=function(t,i,s,o,n,r){var a;"circle"==s.options.drawPoints.style?(a=e.getSVGElement("circle",o,n),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*s.options.drawPoints.size)):(a=e.getSVGElement("rect",o,n),a.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),a.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),a.setAttributeNS(null,"width",s.options.drawPoints.size),a.setAttributeNS(null,"height",s.options.drawPoints.size)),void 0!==s.options.drawPoints.styles&&a.setAttributeNS(null,"style",s.group.options.drawPoints.styles),a.setAttributeNS(null,"class",s.className+" point");var h=e.getSVGElement("text",o,n);return r&&(r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" label")),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i),a},e.drawBar=function(t,i,s,o,n,r,a){if(0!=o){0>o&&(o*=-1,i-=o);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*s),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",s),h.setAttributeNS(null,"height",o),h.setAttributeNS(null,"class",n)}}},function(t,e,i){function s(t,e){if(!t||Array.isArray(t)||o.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var s=this._options.type[i];this._type[i]="Date"==s||"ISODate"==s||"ASPDate"==s?"Date":s}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var o=i(1),n=i(5);s.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=n.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},s.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},s.prototype.subscribe=s.prototype.on,s.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},s.prototype.unsubscribe=s.prototype.off,s.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var s=[];t in this._subscribers&&(s=s.concat(this._subscribers[t])),"*"in this._subscribers&&(s=s.concat(this._subscribers["*"]));for(var o=0;or;r++)i=n._addItem(t[r]),s.push(i);else if(o.isDataTable(t))for(var h=this._getColumnNames(t),d=0,l=t.getNumberOfRows();l>d;d++){for(var c={},p=0,u=h.length;u>p;p++){var m=h[p];c[m]=t.getValue(d,p)}i=n._addItem(c),s.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),s.push(i)}return s.length&&this._trigger("add",{items:s},e),s},s.prototype.update=function(t,e){var i=[],s=[],n=[],r=this,a=r._fieldId,h=function(t){var e=t[a];r._data[e]?(e=r._updateItem(t),s.push(e),n.push(t)):(e=r._addItem(t),i.push(e))};if(Array.isArray(t))for(var d=0,l=t.length;l>d;d++)h(t[d]);else if(o.isDataTable(t))for(var c=this._getColumnNames(t),p=0,u=t.getNumberOfRows();u>p;p++){for(var m={},f=0,g=c.length;g>f;f++){var v=c[f];m[v]=t.getValue(p,f)}h(m)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");h(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s,data:n},e),i.concat(s)},s.prototype.get=function(t){var e,i,s,n,r=this,a=o.getType(arguments[0]);"String"==a||"Number"==a?(e=arguments[0],s=arguments[1],n=arguments[2]):"Array"==a?(i=arguments[0],s=arguments[1],n=arguments[2]):(s=arguments[0],n=arguments[1]);var h;if(s&&s.returnType){var d=["DataTable","Array","Object"];if(h=-1==d.indexOf(s.returnType)?"Array":s.returnType,n&&h!=o.getType(n))throw new Error('Type of parameter "data" ('+o.getType(n)+") does not correspond with specified options.type ("+s.type+")");if("DataTable"==h&&!o.isDataTable(n))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else h=n&&"DataTable"==o.getType(n)?"DataTable":"Array";var l,c,p,u,m=s&&s.type||this._options.type,f=s&&s.filter,g=[];if(void 0!=e)l=r._getItem(e,m),f&&!f(l)&&(l=null);else if(void 0!=i)for(p=0,u=i.length;u>p;p++)l=r._getItem(i[p],m),(!f||f(l))&&g.push(l);else for(c in this._data)this._data.hasOwnProperty(c)&&(l=r._getItem(c,m),(!f||f(l))&&g.push(l));if(s&&s.order&&void 0==e&&this._sort(g,s.order),s&&s.fields){var v=s.fields;if(void 0!=e)l=this._filterFields(l,v);else for(p=0,u=g.length;u>p;p++)g[p]=this._filterFields(g[p],v)}if("DataTable"==h){var y=this._getColumnNames(n);if(void 0!=e)r._appendRow(n,y,l);else for(p=0;pp;p++)n.push(g[p]);return n}return g},s.prototype.getIds=function(t){var e,i,s,o,n,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=[];if(a)if(h){n=[];for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&n.push(o));for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&l.push(o[this._fieldId]));else if(h){n=[];for(s in r)r.hasOwnProperty(s)&&n.push(r[s]);for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=r[s],l.push(o[this._fieldId]));return l},s.prototype.getDataSet=function(){return this},s.prototype.forEach=function(t,e){var i,s,o=e&&e.filter,n=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],s=i[this._fieldId],t(i,s);else for(s in r)r.hasOwnProperty(s)&&(i=this._getItem(s,n),(!o||o(i))&&t(i,s))},s.prototype.map=function(t,e){var i,s=e&&e.filter,o=e&&e.type||this._options.type,n=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,o),(!s||s(i))&&n.push(t(i,a)));return e&&e.order&&this._sort(n,e.order),n},s.prototype._filterFields=function(t,e){if(!t)return t;var i={};if(Array.isArray(e))for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);else for(var s in t)t.hasOwnProperty(s)&&e.hasOwnProperty(s)&&(i[e[s]]=t[s]);return i},s.prototype._sort=function(t,e){if(o.isString(e)){var i=e;t.sort(function(t,e){var s=t[i],o=e[i];return s>o?1:o>s?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},s.prototype.remove=function(t,e){var i,s,o,n=[];if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)o=this._remove(t[i]),null!=o&&n.push(o);else o=this._remove(t),null!=o&&n.push(o);return n.length&&this._trigger("remove",{items:n},e),n},s.prototype._remove=function(t){if(o.isNumber(t)||o.isString(t)){if(this._data[t])return delete this._data[t],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],this.length--,e}return null},s.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},s.prototype.max=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||r>s)&&(i=n,s=r)}return i},s.prototype.min=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||s>r)&&(i=n,s=r)}return i},s.prototype.distinct=function(t){var e,i=this._data,s=[],n=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(s[e]==d){l=!0;break}l||void 0===d||(s[r]=d,r++)}if(n)for(e=0;ei;i++)e[i]=t.getColumnId(i)||t.getColumnLabel(i);return e},s.prototype._appendRow=function(t,e,i){for(var s=t.addRow(),o=0,n=e.length;n>o;o++){var r=e[o];t.setValue(s,o,i[r])}},t.exports=s},function(t,e,i){function s(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var o=i(1),n=i(3);s.prototype.setData=function(t){var e,i,s;if(this._data){this._data.unsubscribe&&this._data.unsubscribe("*",this.listener),e=[];for(var o in this._ids)this._ids.hasOwnProperty(o)&&e.push(o);this._ids={},this.length=0,this._trigger("remove",{items:e})}if(this._data=t,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",e=this._data.getIds({filter:this._options&&this._options.filter}),i=0,s=e.length;s>i;i++)o=e[i],this._ids[o]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},s.prototype.refresh=function(){for(var t,e=this._data.getIds({filter:this._options&&this._options.filter}),i={},s=[],o=[],n=0;ns;s++)n=a[s],r=this.get(n),r&&(this._ids[n]=!0,l.push(n));break;case"update":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r?this._ids[n]?(c.push(n),d.push(e.data[s])):(this._ids[n]=!0,l.push(n)):this._ids[n]&&(delete this._ids[n],p.push(n));break;case"remove":for(s=0,o=a.length;o>s;s++)n=a[s],this._ids[n]&&(delete this._ids[n],p.push(n))}this.length+=l.length-p.length,l.length&&this._trigger("add",{items:l},i),c.length&&this._trigger("update",{items:c,data:d},i),p.length&&this._trigger("remove",{items:p},i)}},s.prototype.on=n.prototype.on,s.prototype.off=n.prototype.off,s.prototype._trigger=n.prototype._trigger,s.prototype.subscribe=s.prototype.on,s.prototype.unsubscribe=s.prototype.off,t.exports=s},function(t,e,i){function s(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}s.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},s.extend=function(t,e){var i=new s(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){i.flush()};var o=[{name:"flush",original:void 0}];if(e&&e.replace)for(var n=0;nthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},s.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var o=function(t){return t};this.xValueLabel=o,this.yValueLabel=o,this.zValueLabel=o,this.filterLabel="time",this.legendLabel="value",this.style=s.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new p,this.eye=new l(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.colorAxis="#4D4D4D",this.colorGrid="#D3D3D3",this.colorDot="#7DC1FF",this.colorDotBorder="#3267D2",this.create(),this.setOptions(i),e&&this.setData(e)}function o(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function n(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(56),a=i(3),h=i(4),d=i(1),l=i(10),c=i(9),p=i(7),u=i(8),m=i(11),f=i(12);r(s.prototype),s.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==s.STYLE.DOTCOLOR&&this.style!==s.STYLE.DOTSIZE&&this.style!==s.STYLE.BARCOLOR&&this.style!==s.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},s.prototype.getNumberOfRows=function(t){return t.length},s.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},s.prototype.getDistinctValues=function(t,e){for(var i=[],s=0;st[s][e]&&(i.min=t[s][e]),i.maxt;t++){var m=(t-p)/(u-p),g=240*m,v=this._hsv2rgb(g,1,1);c.strokeStyle=v,c.beginPath(),c.moveTo(h,r+t),c.lineTo(a,r+t),c.stroke()}c.strokeStyle=this.colorAxis,c.strokeRect(h,r,i,n)}if(this.style===s.STYLE.DOTSIZE&&(c.strokeStyle=this.colorAxis,c.fillStyle=this.colorDot,c.beginPath(),c.moveTo(h,r),c.lineTo(a,r),c.lineTo(a-i+e,d),c.lineTo(h,d),c.closePath(),c.fill(),c.stroke()),this.style===s.STYLE.DOTCOLOR||this.style===s.STYLE.DOTSIZE){var y=5,b=new f(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,o=this._convert3Dto2D(new l(x,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.xValueLabel(i.getCurrent())+" ",o.x,o.y),i.next()}for(g.lineWidth=1,s=void 0===this.defaultYStep,i=new f(this.yMin,this.yMax,this.yStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=this._convert3Dto2D(new l(n,i.getCurrent(),this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.yValueLabel(i.getCurrent())+" ",o.x,o.y),i.next();for(g.lineWidth=1,s=void 0===this.defaultZStep,i=new f(this.zMin,this.zMax,this.zStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new l(n,r,i.getCurrent())),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(t.x-b,t.y),g.stroke(),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();g.lineWidth=1,t=this._convert3Dto2D(new l(n,r,this.zMin)),e=this._convert3Dto2D(new l(n,r,this.zMax)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),g.lineWidth=1,p=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),p=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),g.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),t=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke();var w=this.xLabel;w.length>0&&(c=.1/this.scale.y,n=(this.xMin+this.xMax)/2,r=Math.cos(_)>0?this.yMin-c:this.yMax+c,o=this._convert3Dto2D(new l(n,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(w,o.x,o.y));var S=this.yLabel;S.length>0&&(d=.1/this.scale.x,n=Math.sin(_)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,o=this._convert3Dto2D(new l(n,r,this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(S,o.x,o.y));var D=this.zLabel;D.length>0&&(h=30,n=Math.cos(_)>0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,o=this._convert3Dto2D(new l(n,r,a)),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(D,o.x-h,o.y))},s.prototype._hsv2rgb=function(t,e,i){var s,o,n,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:s=r,o=h,n=0;break;case 1:s=h,o=r,n=0;break;case 2:s=0,o=r,n=h;break;case 3:s=0,o=h,n=r;break;case 4:s=h,o=0,n=r;break;case 5:s=r,o=0,n=h;break;default:s=0,o=0,n=0}return"RGB("+parseInt(255*s)+","+parseInt(255*o)+","+parseInt(255*n)+")"},s.prototype._redrawDataGrid=function(){var t,e,i,o,n,r,a,h,d,c,p,u,m,f=this.frame.canvas,g=f.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(n=0;n0}else r=!0;r?(m=(t.point.z+e.point.z+i.point.z+o.point.z)/4,c=240*(1-(m-this.zMin)*this.scale.z/this.verticalRatio),p=1,this.showShadow?(u=Math.min(1+S.x/D/2,1),a=this._hsv2rgb(c,p,u),h=a):(u=1,a=this._hsv2rgb(c,p,u),h=this.colorAxis)):(a="gray",h=this.colorAxis),d=.5,g.lineWidth=d,g.fillStyle=a,g.strokeStyle=h,g.beginPath(),g.moveTo(t.screen.x,t.screen.y),g.lineTo(e.screen.x,e.screen.y),g.lineTo(o.screen.x,o.screen.y),g.lineTo(i.screen.x,i.screen.y),g.closePath(),g.fill(),g.stroke()}}else for(n=0;np&&(p=0);var u,m,f;this.style===s.STYLE.DOTCOLOR?(u=240*(1-(d.point.value-this.valueMin)*this.scale.value),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)):this.style===s.STYLE.DOTSIZE?(m=this.colorDot,f=this.colorDotBorder):(u=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)),i.lineWidth=1,i.strokeStyle=f,i.fillStyle=m,i.beginPath(),i.arc(d.screen.x,d.screen.y,p,0,2*Math.PI,!0),i.fill(),i.stroke()}}},s.prototype._redrawDataBar=function(){var t,e,i,o,n=this.frame.canvas,r=n.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],s.lineWidth=1,s.strokeStyle="blue",s.beginPath(),s.moveTo(t.screen.x,t.screen.y)),e=1;e0&&s.stroke()}},s.prototype._onMouseDown=function(t){if(t=t||window.event,this.leftButtonDown&&this._onMouseUp(t),this.leftButtonDown=t.which?1===t.which:1===t.button,this.leftButtonDown||this.touchDown){this.startMouseX=o(t),this.startMouseY=n(t),this.startStart=new Date(this.start),this.startEnd=new Date(this.end),this.startArmRotation=this.camera.getArmRotation(),this.frame.style.cursor="move";var e=this;this.onmousemove=function(t){e._onMouseMove(t)},this.onmouseup=function(t){e._onMouseUp(t)},d.addEventListener(document,"mousemove",e.onmousemove),d.addEventListener(document,"mouseup",e.onmouseup),d.preventDefault(t)}},s.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(o(t))-this.startMouseX,i=parseFloat(n(t))-this.startMouseY,s=this.startArmRotation.horizontal+e/200,r=this.startArmRotation.vertical+i/200,a=4,h=Math.sin(a/360*2*Math.PI);Math.abs(Math.sin(s))0?1:0>t?-1:0}var s=e[0],o=e[1],n=e[2],r=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x)),a=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),h=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},s.prototype._dataPointFromXY=function(t,e){var i,o=100,n=null,r=null,a=null,h=new c(t,e);if(this.style===s.STYLE.BAR||this.style===s.STYLE.BARCOLOR||this.style===s.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var d=n.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var p=d[l],u=p.corners,m=[u[0].screen,u[1].screen,u[2].screen],f=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(h,m)||this._insideTriangle(h,f))return n}}else for(i=0;ib)&&o>b&&(a=b,r=n)}}return r},s.prototype._showTooltip=function(t){var e,i,s;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,s=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",s=document.createElement("div"),s.style.position="absolute",s.style.height="0",s.style.width="0",s.style.border="5px solid #4d4d4d",s.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:s}}),this._hideTooltip(),this.tooltip.dataPoint=t,e.innerHTML="function"==typeof this.showTooltip?this.showTooltip(t.point):"
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(s);var o=e.offsetWidth,n=e.offsetHeight,r=i.offsetHeight,a=s.offsetWidth,h=s.offsetHeight,d=t.screen.x-o/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-o),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-n+"px",s.style.left=t.screen.x-a/2+"px",s.style.top=t.screen.y-h/2+"px"},s.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},t.exports=s},function(t,e,i){function s(){this.armLocation=new o,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new o,this.cameraRotation=new o(.5*Math.PI,0,0),this.calculateCameraOrientation()}var o=i(10);s.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},s.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},s.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},s.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},s.prototype.getArmLength=function(){return this.armLength},s.prototype.getCameraLocation=function(){return this.cameraLocation},s.prototype.getCameraRotation=function(){return this.cameraRotation},s.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=s},function(t,e,i){function s(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var o=i(4);s.prototype.isLoaded=function(){return this.loaded},s.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},s.prototype.getLabel=function(){return this.graph.filterLabel},s.prototype.getColumn=function(){return this.column},s.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]; +"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Queue=i(5),e.Graph3d=i(6),e.graph3d={Camera:i(7),Filter:i(8),Point2d:i(9),Point3d:i(10),Slider:i(11),StepNumber:i(12)},e.Timeline=i(13),e.Graph2d=i(14),e.timeline={DateUtil:i(15),DataStep:i(16),Range:i(17),stack:i(18),TimeStep:i(19),components:{items:{Item:i(20),BackgroundItem:i(21),BoxItem:i(22),PointItem:i(23),RangeItem:i(24)},Component:i(25),CurrentTime:i(26),CustomTime:i(27),DataAxis:i(28),GraphGroup:i(29),Group:i(30),BackgroundGroup:i(31),ItemSet:i(32),Legend:i(33),LineGraph:i(34),TimeAxis:i(35)}},e.Network=i(36),e.network={Edge:i(37),Groups:i(38),Images:i(39),Node:i(40),Popup:i(41),dotparser:i(42),gephiParser:i(43)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(44),e.hammer=i(45)},function(t,e,i){var s=i(44);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.giveRange=function(t,e,i,s){if(e==t)return.5;var o=1/(e-t);return Math.max(0,(s-t)*o)},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){var i=o.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},e.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},e.extend=function(t,e){for(var i=1,s=arguments.length;s>i;i++){var o=arguments[i];for(var n in o)o.hasOwnProperty(n)&&(t[n]=o[n])}return t},e.selectiveExtend=function(t,e,i){if(!Array.isArray(t))throw new Error("Array with property names expected as first argument");for(var s=2;si;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var n;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(s.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])):s(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return s(t);if(t instanceof Date)return s(t.valueOf());if(s.isMoment(t))return s(t);if(e.isString(t))return n=o.exec(t),s(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(s.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=o.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var o=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e=typeof t;return"object"==e?null==t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":e},e.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left+window.pageXOffset},e.getAbsoluteTop=function(t){return t.getBoundingClientRect().top+window.pageYOffset},e.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},e.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},e.forEach=function(t,e){var i,s;if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.addEventListener=function(t,e,i,s){t.addEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,s)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,s){t.removeEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,s)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,s){return e+e+i+i+s+s});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(-1!=t.indexOf("rgb")){var s=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+s[0]+","+s[1]+","+s[2]+","+i+")"}var s=e.hexToRGB(t);return null==s?t:"rgba("+s.r+","+s.g+","+s.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)){if(e.isValidRGB(t)){var s=t.substr(4).substr(0,t.length-5).split(",");t=e.RGBToHex(s[0],s[1],s[2])}if(e.isValidHex(t)){var o=e.hexToHSV(t),n={h:o.h,s:.45*o.s,v:Math.min(1,1.05*o.v)},r={h:o.h,s:Math.min(1,1.25*o.v),v:.6*o.v},a=e.HSVToHex(r.h,r.h,r.v),h=e.HSVToHex(n.h,n.s,n.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||"white",i.border=t.border||i.background,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||i.background,i.highlight.border=t.highlight&&t.highlight.border||i.border),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||i.background,i.hover.border=t.hover&&t.hover.border||i.border);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var s=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));if(s==o)return{h:0,s:0,v:s};var n=t==s?e-i:i==s?t-e:i-t,r=t==s?3:i==s?1:5,a=60*(r-n/(o-s))/360,h=(o-s)/o,d=o;return{h:a,s:h,v:d}};var n={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),s=i[0].trim(),o=i[1].trim();e[s]=o}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var s=n.split(t.style.cssText),o=n.split(i),r=e.extend(s,o);t.style.cssText=n.join(r)},e.removeCssText=function(t,e){var i=n.split(t.style.cssText),s=n.split(e);for(var o in s)s.hasOwnProperty(o)&&delete i[o];t.style.cssText=n.join(i)},e.HSVToRGB=function(t,e,i){var s,o,n,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:s=i,o=l,n=h;break;case 1:s=d,o=i,n=h;break;case 2:s=h,o=i,n=l;break;case 3:s=h,o=d,n=i;break;case 4:s=l,o=h,n=i;break;case 5:s=i,o=h,n=d}return{r:Math.floor(255*s),g:Math.floor(255*o),b:Math.floor(255*n)}},e.HSVToHex=function(t,i,s){var o=e.HSVToRGB(t,i,s);return e.RGBToHex(o.r,o.g,o.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var s=Object.create(i),o=0;o=r&&o>n;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===s?d[i]:d[i][s],c=e(l);if(0==c)return h;-1==c?r=h+1:a=h-1,n++}return-1},e.binarySearchValue=function(t,e,i,s){for(var o,n,r,a,h=1e4,d=0,l=0,c=t.length-1;c>=l&&h>d;){if(a=Math.floor(.5*(c+l)),o=t[Math.max(0,a-1)][i],n=t[a][i],r=t[Math.min(t.length-1,a+1)][i],n==e)return a;if(e>o&&n>e)return"before"==s?Math.max(0,a-1):a;if(e>n&&r>e)return"before"==s?a:Math.min(t.length-1,a+1);e>n?l=a+1:c=a-1,d++}return-1},e.easeInOutQuad=function(t,e,i,s){var o=i-e;return t/=s/2,1>t?o/2*t*t+e:(t--,-o/2*(t*(t-2)-1)+e)},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e,i){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(s=e[t].redundant[0],e[t].redundant.shift()):(s=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(s)):(s=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(s)),e[t].used.push(s),s},e.getDOMElement=function(t,e,i,s){var o;return e.hasOwnProperty(t)?e[t].redundant.length>0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElement(t),void 0!==s?i.insertBefore(o,s):i.appendChild(o)):(o=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==s?i.insertBefore(o,s):i.appendChild(o)),e[t].used.push(o),o},e.drawPoint=function(t,i,s,o,n,r){var a;"circle"==s.options.drawPoints.style?(a=e.getSVGElement("circle",o,n),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*s.options.drawPoints.size)):(a=e.getSVGElement("rect",o,n),a.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),a.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),a.setAttributeNS(null,"width",s.options.drawPoints.size),a.setAttributeNS(null,"height",s.options.drawPoints.size)),void 0!==s.options.drawPoints.styles&&a.setAttributeNS(null,"style",s.group.options.drawPoints.styles),a.setAttributeNS(null,"class",s.className+" point");var h=e.getSVGElement("text",o,n);return r&&(r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" label")),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i),a},e.drawBar=function(t,i,s,o,n,r,a){if(0!=o){0>o&&(o*=-1,i-=o);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*s),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",s),h.setAttributeNS(null,"height",o),h.setAttributeNS(null,"class",n)}}},function(t,e,i){function s(t,e){if(!t||Array.isArray(t)||o.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var s=this._options.type[i];"Date"==s||"ISODate"==s||"ASPDate"==s?this._type[i]="Date":this._type[i]=s}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var o=i(1),n=i(5);s.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=n.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},s.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},s.prototype.subscribe=s.prototype.on,s.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},s.prototype.unsubscribe=s.prototype.off,s.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var s=[];t in this._subscribers&&(s=s.concat(this._subscribers[t])),"*"in this._subscribers&&(s=s.concat(this._subscribers["*"]));for(var o=0;or;r++)i=n._addItem(t[r]),s.push(i);else if(o.isDataTable(t))for(var h=this._getColumnNames(t),d=0,l=t.getNumberOfRows();l>d;d++){for(var c={},p=0,u=h.length;u>p;p++){var m=h[p];c[m]=t.getValue(d,p)}i=n._addItem(c),s.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),s.push(i)}return s.length&&this._trigger("add",{items:s},e),s},s.prototype.update=function(t,e){var i=[],s=[],n=[],r=this,a=r._fieldId,h=function(t){var e=t[a];r._data[e]?(e=r._updateItem(t),s.push(e),n.push(t)):(e=r._addItem(t),i.push(e))};if(Array.isArray(t))for(var d=0,l=t.length;l>d;d++)h(t[d]);else if(o.isDataTable(t))for(var c=this._getColumnNames(t),p=0,u=t.getNumberOfRows();u>p;p++){for(var m={},f=0,g=c.length;g>f;f++){var v=c[f];m[v]=t.getValue(p,f)}h(m)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");h(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s,data:n},e),i.concat(s)},s.prototype.get=function(t){var e,i,s,n,r=this,a=o.getType(arguments[0]);"String"==a||"Number"==a?(e=arguments[0],s=arguments[1],n=arguments[2]):"Array"==a?(i=arguments[0],s=arguments[1],n=arguments[2]):(s=arguments[0],n=arguments[1]);var h;if(s&&s.returnType){var d=["DataTable","Array","Object"];if(h=-1==d.indexOf(s.returnType)?"Array":s.returnType,n&&h!=o.getType(n))throw new Error('Type of parameter "data" ('+o.getType(n)+") does not correspond with specified options.type ("+s.type+")");if("DataTable"==h&&!o.isDataTable(n))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else h=n&&"DataTable"==o.getType(n)?"DataTable":"Array";var l,c,p,u,m=s&&s.type||this._options.type,f=s&&s.filter,g=[];if(void 0!=e)l=r._getItem(e,m),f&&!f(l)&&(l=null);else if(void 0!=i)for(p=0,u=i.length;u>p;p++)l=r._getItem(i[p],m),(!f||f(l))&&g.push(l);else for(c in this._data)this._data.hasOwnProperty(c)&&(l=r._getItem(c,m),(!f||f(l))&&g.push(l));if(s&&s.order&&void 0==e&&this._sort(g,s.order),s&&s.fields){var v=s.fields;if(void 0!=e)l=this._filterFields(l,v);else for(p=0,u=g.length;u>p;p++)g[p]=this._filterFields(g[p],v)}if("DataTable"==h){var y=this._getColumnNames(n);if(void 0!=e)r._appendRow(n,y,l);else for(p=0;pp;p++)n.push(g[p]);return n}return g},s.prototype.getIds=function(t){var e,i,s,o,n,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=[];if(a)if(h){n=[];for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&n.push(o));for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&l.push(o[this._fieldId]));else if(h){n=[];for(s in r)r.hasOwnProperty(s)&&n.push(r[s]);for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=r[s],l.push(o[this._fieldId]));return l},s.prototype.getDataSet=function(){return this},s.prototype.forEach=function(t,e){var i,s,o=e&&e.filter,n=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],s=i[this._fieldId],t(i,s);else for(s in r)r.hasOwnProperty(s)&&(i=this._getItem(s,n),(!o||o(i))&&t(i,s))},s.prototype.map=function(t,e){var i,s=e&&e.filter,o=e&&e.type||this._options.type,n=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,o),(!s||s(i))&&n.push(t(i,a)));return e&&e.order&&this._sort(n,e.order),n},s.prototype._filterFields=function(t,e){if(!t)return t;var i={};if(Array.isArray(e))for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);else for(var s in t)t.hasOwnProperty(s)&&e.hasOwnProperty(s)&&(i[e[s]]=t[s]);return i},s.prototype._sort=function(t,e){if(o.isString(e)){var i=e;t.sort(function(t,e){var s=t[i],o=e[i];return s>o?1:o>s?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},s.prototype.remove=function(t,e){var i,s,o,n=[];if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)o=this._remove(t[i]),null!=o&&n.push(o);else o=this._remove(t),null!=o&&n.push(o);return n.length&&this._trigger("remove",{items:n},e),n},s.prototype._remove=function(t){if(o.isNumber(t)||o.isString(t)){if(this._data[t])return delete this._data[t],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],this.length--,e}return null},s.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},s.prototype.max=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||r>s)&&(i=n,s=r)}return i},s.prototype.min=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||s>r)&&(i=n,s=r)}return i},s.prototype.distinct=function(t){var e,i=this._data,s=[],n=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(s[e]==d){l=!0;break}l||void 0===d||(s[r]=d,r++)}if(n)for(e=0;ei;i++)e[i]=t.getColumnId(i)||t.getColumnLabel(i);return e},s.prototype._appendRow=function(t,e,i){for(var s=t.addRow(),o=0,n=e.length;n>o;o++){var r=e[o];t.setValue(s,o,i[r])}},t.exports=s},function(t,e,i){function s(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var o=i(1),n=i(3);s.prototype.setData=function(t){var e,i,s;if(this._data){this._data.unsubscribe&&this._data.unsubscribe("*",this.listener),e=[];for(var o in this._ids)this._ids.hasOwnProperty(o)&&e.push(o);this._ids={},this.length=0,this._trigger("remove",{items:e})}if(this._data=t,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",e=this._data.getIds({filter:this._options&&this._options.filter}),i=0,s=e.length;s>i;i++)o=e[i],this._ids[o]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},s.prototype.refresh=function(){for(var t,e=this._data.getIds({filter:this._options&&this._options.filter}),i={},s=[],o=[],n=0;ns;s++)n=a[s],r=this.get(n),r&&(this._ids[n]=!0,l.push(n));break;case"update":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r?this._ids[n]?(c.push(n),d.push(e.data[s])):(this._ids[n]=!0,l.push(n)):this._ids[n]&&(delete this._ids[n],p.push(n));break;case"remove":for(s=0,o=a.length;o>s;s++)n=a[s],this._ids[n]&&(delete this._ids[n],p.push(n))}this.length+=l.length-p.length,l.length&&this._trigger("add",{items:l},i),c.length&&this._trigger("update",{items:c,data:d},i),p.length&&this._trigger("remove",{items:p},i)}},s.prototype.on=n.prototype.on,s.prototype.off=n.prototype.off,s.prototype._trigger=n.prototype._trigger,s.prototype.subscribe=s.prototype.on,s.prototype.unsubscribe=s.prototype.off,t.exports=s},function(t,e,i){function s(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}s.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},s.extend=function(t,e){var i=new s(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){i.flush()};var o=[{name:"flush",original:void 0}];if(e&&e.replace)for(var n=0;nthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},s.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var o=function(t){return t};this.xValueLabel=o,this.yValueLabel=o,this.zValueLabel=o,this.filterLabel="time",this.legendLabel="value",this.style=s.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new p,this.eye=new l(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.colorAxis="#4D4D4D",this.colorGrid="#D3D3D3",this.colorDot="#7DC1FF",this.colorDotBorder="#3267D2",this.create(),this.setOptions(i),e&&this.setData(e)}function o(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function n(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(56),a=i(3),h=i(4),d=i(1),l=i(10),c=i(9),p=i(7),u=i(8),m=i(11),f=i(12);r(s.prototype),s.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==s.STYLE.DOTCOLOR&&this.style!==s.STYLE.DOTSIZE&&this.style!==s.STYLE.BARCOLOR&&this.style!==s.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},s.prototype.getNumberOfRows=function(t){return t.length},s.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},s.prototype.getDistinctValues=function(t,e){for(var i=[],s=0;st[s][e]&&(i.min=t[s][e]),i.maxt;t++){var m=(t-p)/(u-p),g=240*m,v=this._hsv2rgb(g,1,1);c.strokeStyle=v,c.beginPath(),c.moveTo(h,r+t),c.lineTo(a,r+t),c.stroke()}c.strokeStyle=this.colorAxis,c.strokeRect(h,r,i,n)}if(this.style===s.STYLE.DOTSIZE&&(c.strokeStyle=this.colorAxis,c.fillStyle=this.colorDot,c.beginPath(),c.moveTo(h,r),c.lineTo(a,r),c.lineTo(a-i+e,d),c.lineTo(h,d),c.closePath(),c.fill(),c.stroke()),this.style===s.STYLE.DOTCOLOR||this.style===s.STYLE.DOTSIZE){var y=5,b=new f(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,o=this._convert3Dto2D(new l(x,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.xValueLabel(i.getCurrent())+" ",o.x,o.y),i.next()}for(g.lineWidth=1,s=void 0===this.defaultYStep,i=new f(this.yMin,this.yMax,this.yStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=this._convert3Dto2D(new l(n,i.getCurrent(),this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.yValueLabel(i.getCurrent())+" ",o.x,o.y),i.next();for(g.lineWidth=1,s=void 0===this.defaultZStep,i=new f(this.zMin,this.zMax,this.zStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new l(n,r,i.getCurrent())),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(t.x-b,t.y),g.stroke(),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();g.lineWidth=1,t=this._convert3Dto2D(new l(n,r,this.zMin)),e=this._convert3Dto2D(new l(n,r,this.zMax)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),g.lineWidth=1,p=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),p=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),g.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),t=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke();var w=this.xLabel;w.length>0&&(c=.1/this.scale.y,n=(this.xMin+this.xMax)/2,r=Math.cos(_)>0?this.yMin-c:this.yMax+c,o=this._convert3Dto2D(new l(n,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(w,o.x,o.y));var S=this.yLabel;S.length>0&&(d=.1/this.scale.x,n=Math.sin(_)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,o=this._convert3Dto2D(new l(n,r,this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(S,o.x,o.y));var D=this.zLabel;D.length>0&&(h=30,n=Math.cos(_)>0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,o=this._convert3Dto2D(new l(n,r,a)),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(D,o.x-h,o.y))},s.prototype._hsv2rgb=function(t,e,i){var s,o,n,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:s=r,o=h,n=0;break;case 1:s=h,o=r,n=0;break;case 2:s=0,o=r,n=h;break;case 3:s=0,o=h,n=r;break;case 4:s=h,o=0,n=r;break;case 5:s=r,o=0,n=h;break;default:s=0,o=0,n=0}return"RGB("+parseInt(255*s)+","+parseInt(255*o)+","+parseInt(255*n)+")"},s.prototype._redrawDataGrid=function(){var t,e,i,o,n,r,a,h,d,c,p,u,m,f=this.frame.canvas,g=f.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(n=0;n0}else r=!0;r?(m=(t.point.z+e.point.z+i.point.z+o.point.z)/4,c=240*(1-(m-this.zMin)*this.scale.z/this.verticalRatio),p=1,this.showShadow?(u=Math.min(1+S.x/D/2,1),a=this._hsv2rgb(c,p,u),h=a):(u=1,a=this._hsv2rgb(c,p,u),h=this.colorAxis)):(a="gray",h=this.colorAxis),d=.5,g.lineWidth=d,g.fillStyle=a,g.strokeStyle=h,g.beginPath(),g.moveTo(t.screen.x,t.screen.y),g.lineTo(e.screen.x,e.screen.y),g.lineTo(o.screen.x,o.screen.y),g.lineTo(i.screen.x,i.screen.y),g.closePath(),g.fill(),g.stroke()}}else for(n=0;np&&(p=0);var u,m,f;this.style===s.STYLE.DOTCOLOR?(u=240*(1-(d.point.value-this.valueMin)*this.scale.value),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)):this.style===s.STYLE.DOTSIZE?(m=this.colorDot,f=this.colorDotBorder):(u=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)),i.lineWidth=1,i.strokeStyle=f,i.fillStyle=m,i.beginPath(),i.arc(d.screen.x,d.screen.y,p,0,2*Math.PI,!0),i.fill(),i.stroke()}}},s.prototype._redrawDataBar=function(){var t,e,i,o,n=this.frame.canvas,r=n.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],s.lineWidth=1,s.strokeStyle="blue",s.beginPath(),s.moveTo(t.screen.x,t.screen.y)),e=1;e0&&s.stroke()}},s.prototype._onMouseDown=function(t){if(t=t||window.event,this.leftButtonDown&&this._onMouseUp(t),this.leftButtonDown=t.which?1===t.which:1===t.button,this.leftButtonDown||this.touchDown){this.startMouseX=o(t),this.startMouseY=n(t),this.startStart=new Date(this.start),this.startEnd=new Date(this.end),this.startArmRotation=this.camera.getArmRotation(),this.frame.style.cursor="move";var e=this;this.onmousemove=function(t){e._onMouseMove(t)},this.onmouseup=function(t){e._onMouseUp(t)},d.addEventListener(document,"mousemove",e.onmousemove),d.addEventListener(document,"mouseup",e.onmouseup),d.preventDefault(t)}},s.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(o(t))-this.startMouseX,i=parseFloat(n(t))-this.startMouseY,s=this.startArmRotation.horizontal+e/200,r=this.startArmRotation.vertical+i/200,a=4,h=Math.sin(a/360*2*Math.PI);Math.abs(Math.sin(s))0?1:0>t?-1:0}var s=e[0],o=e[1],n=e[2],r=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x)),a=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),h=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},s.prototype._dataPointFromXY=function(t,e){var i,o=100,n=null,r=null,a=null,h=new c(t,e);if(this.style===s.STYLE.BAR||this.style===s.STYLE.BARCOLOR||this.style===s.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var d=n.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var p=d[l],u=p.corners,m=[u[0].screen,u[1].screen,u[2].screen],f=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(h,m)||this._insideTriangle(h,f))return n}}else for(i=0;ib)&&o>b&&(a=b,r=n)}}return r},s.prototype._showTooltip=function(t){var e,i,s;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,s=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",s=document.createElement("div"),s.style.position="absolute",s.style.height="0",s.style.width="0",s.style.border="5px solid #4d4d4d",s.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:s}}),this._hideTooltip(),this.tooltip.dataPoint=t,"function"==typeof this.showTooltip?e.innerHTML=this.showTooltip(t.point):e.innerHTML="
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(s);var o=e.offsetWidth,n=e.offsetHeight,r=i.offsetHeight,a=s.offsetWidth,h=s.offsetHeight,d=t.screen.x-o/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-o),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-n+"px",s.style.left=t.screen.x-a/2+"px",s.style.top=t.screen.y-h/2+"px"},s.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},t.exports=s},function(t,e,i){function s(){this.armLocation=new o,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new o,this.cameraRotation=new o(.5*Math.PI,0,0),this.calculateCameraOrientation()}var o=i(10);s.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},s.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},s.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},s.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},s.prototype.getArmLength=function(){return this.armLength},s.prototype.getCameraLocation=function(){return this.cameraLocation},s.prototype.getCameraRotation=function(){return this.cameraRotation},s.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=s},function(t,e,i){function s(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var o=i(4);s.prototype.isLoaded=function(){return this.loaded},s.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},s.prototype.getLabel=function(){return this.graph.filterLabel},s.prototype.getColumn=function(){return this.column},s.prototype.getSelectedValue=function(){ +return void 0===this.index?void 0:this.values[this.index]},s.prototype.getValues=function(){return this.values},s.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},s.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var s=new o(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(s),this.dataPoints[t]=e}return e},s.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},s.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},s.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},s.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},s.prototype.setIndex=function(t){if(!(ts&&(s=0),s>this.values.length-1&&(s=this.values.length-1),s},s.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,s=i+3;return s},s.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,s=this.leftToIndex(i);this.setIndex(s),o.preventDefault()},s.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",o.removeEventListener(document,"mousemove",this.onmousemove),o.removeEventListener(document,"mouseup",this.onmouseup),o.preventDefault()},t.exports=s},function(t,e,i){function s(t,e,i,s){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,s)}s.prototype.setRange=function(t,e,i,s){this._start=t?t:0,this._end=e?e:0,this.setStep(i,s)},s.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=s.calculatePrettyStep(t):this._step=t)},s.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),s=2*Math.pow(10,Math.round(e(t/2))),o=5*Math.pow(10,Math.round(e(t/5))),n=i;return Math.abs(s-t)<=Math.abs(n-t)&&(n=s),Math.abs(o-t)<=Math.abs(n-t)&&(n=o),0>=n&&(n=1),n},s.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},s.prototype.getStep=function(){return this._step},s.prototype.start=function(){this._current=this._start-this._start%this._step},s.prototype.next=function(){this._current+=this._step},s.prototype.end=function(){return this._current>this._end},t.exports=s},function(t,e,i){function s(t,e,i,h){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n||i instanceof r)&&i instanceof Object){var u=h;h=i,i=u}var m=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return m.timeAxis.step.scale},getStep:function(){return m.timeAxis.step.step},toScreen:m._toScreen.bind(m),toGlobalScreen:m._toGlobalScreen.bind(m),toTime:m._toTime.bind(m),toGlobalTime:m._toGlobalTime.bind(m)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){m.emit("click",m.getEventProperties(t))}),this.on("doubletap",function(t){m.emit("doubleClick",m.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){m.emit("contextmenu",m.getEventProperties(t))},h&&this.setOptions(h),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(32);s.prototype=new h,s.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var s=this._getDataRange();var o=void 0!=this.options.start?this.options.start:s.start,a=void 0!=this.options.end?this.options.end:s.end;this.setWindow(o,a,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.itemSet.setGroups(e)},s.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},s.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},s.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],s=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),o=null,n=null;if(s.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===o||o>e)&&(o=e),(null===n||i>n)&&(n=i)}),null!==o&&null!==n){var r=(o+n)/2,a=Math.max(this.range.end-this.range.start,1.1*(n-o)),h=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(r-a/2,r+a/2,h)}}},s.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var s=t.min("start");e=s?o.convert(s.start,"Date").valueOf():null;var n=t.max("start");n&&(i=o.convert(n.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?o.convert(r.end,"Date").valueOf():Math.max(i,o.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},s.prototype.getEventProperties=function(t){var e=this.itemSet.itemFromTarget(t),i=this.itemSet.groupFromTarget(t),s=t.gesture?t.gesture.center.pageX:t.pageX,n=t.gesture?t.gesture.center.pageY:t.pageY,r=s-o.getAbsoluteLeft(this.dom.centerContainer),a=n-o.getAbsoluteTop(this.dom.centerContainer),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),l=this.body.util.getStep(),c=this._toTime(r),p=h?h(c,d,l):c,u=o.getTarget(t),m=null;return null!=e?m="item":o.hasParent(u,this.timeAxis.dom.foreground)?m="axis":this.timeAxis2&&o.hasParent(u,this.timeAxis2.dom.foreground)?m="axis":o.hasParent(u,this.itemSet.dom.labelSet)?m="group-label":o.hasParent(u,this.customTime.bar)?m="custom-time":o.hasParent(u,this.currentTime.bar)?m="current-time":o.hasParent(u,this.dom.center)&&(m="background"),{event:t,item:e?e.id:null,group:i?i.groupId:null,what:m,pageX:s,pageY:n,x:r,y:a,time:c,snappedTime:p}},t.exports=s},function(t,e,i){function s(t,e,i,s){if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var r=s;s=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.linegraph=new p(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){h.emit("click",h.getEventProperties(t))}),this.on("doubletap",function(t){h.emit("doubleClick",h.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){h.emit("contextmenu",h.getEventProperties(t))},s&&this.setOptions(s),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(34);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.linegraph.setGroups(e)},s.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},s.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},s.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},s.prototype.getEventProperties=function(t){var e=t.gesture?t.gesture.center.pageX:t.pageX,i=t.gesture?t.gesture.center.pageY:t.pageY,s=e-o.getAbsoluteLeft(this.dom.centerContainer),n=i-o.getAbsoluteTop(this.dom.centerContainer),r=this._toTime(s),a=o.getTarget(t),h=null;o.hasParent(a,this.timeAxis.dom.foreground)?h="axis":this.timeAxis2&&o.hasParent(a,this.timeAxis2.dom.foreground)?h="axis":o.hasParent(a,this.linegraph.yAxisLeft.dom.frame)?h="data-axis":o.hasParent(a,this.linegraph.yAxisRight.dom.frame)?h="data-axis":o.hasParent(a,this.linegraph.legendLeft.dom.frame)?h="legend":o.hasParent(a,this.linegraph.legendRight.dom.frame)?h="legend":o.hasParent(a,this.customTime.bar)?h="custom-time":o.hasParent(a,this.currentTime.bar)?h="current-time":o.hasParent(a,this.dom.center)&&(h="background");var d=[],l=this.linegraph.yAxisLeft,c=this.linegraph.yAxisRight;return l.hidden||d.push(l.screenToValue(n)),c.hidden||d.push(c.screenToValue(n)),{event:t,what:h,pageX:e,pageY:i,x:s,y:n,time:r,value:d}},t.exports=s},function(t,e,i){var s=i(44);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var p=0,u=n.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(o.dayOfYear()),d.year(o.year()),d.subtract(7,"days"),l.dayOfYear(o.dayOfYear()),l.year(o.year()),l.subtract(7-p,"days"),u.add(1,"weeks");break;case"weekly":var m=l.diff(d,"days"),f=d.day();d.date(o.date()),d.month(o.month()),d.year(o.year()),l=d.clone(),d.day(f),l.day(f),l.add(m,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),u.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(o.month()),d.year(o.year()),d.subtract(1,"months"),l.month(o.month()),l.year(o.year()),l.subtract(1,"months"),l.add(p,"months"),u.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(o.year()),d.subtract(1,"years"),l.year(o.year()),l.subtract(1,"years"),l.add(p,"years"),u.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;u>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var g=e.isHidden(t.range.start,t.hiddenDates),v=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==g.hidden&&(y=1==t.range.startToFront?g.startDate-1:g.endDate+1),1==v.hidden&&(b=1==t.range.endToFront?v.startDate-1:v.endDate+1),(1==g.hidden||1==v.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],s=0;s=e[s].start&&e[o].end<=e[s].end?e[o].remove=!0:e[o].start>=e[s].start&&e[o].start<=e[s].end?(e[s].end=e[o].end,e[o].remove=!0):e[o].end>=e[s].start&&e[o].end<=e[s].end&&(e[s].start=e[o].start,e[o].remove=!0));for(var s=0;s=r&&a>o){i=!0;break}}if(1==i&&o=e&&i>r&&(s+=r-n)}return s},e.correctTimeForHidden=function(t,i,o){return o=s(o).toDate().valueOf(),o-=e.getHiddenDurationBefore(t,i,o)},e.getHiddenDurationBefore=function(t,e,i){var o=0;i=s(i).toDate().valueOf();for(var n=0;n=e.start&&a=a&&(o+=a-r)}return o},e.getAccumulatedHiddenDuration=function(t,e,i){for(var s=0,o=0,n=e.start,r=0;r=e.start&&h=i)break;s+=h-a}}return s},e.snapAwayFromHidden=function(t,i,s,o){var n=e.isHidden(i,t);return 1==n.hidden?0>s?1==o?n.startDate-(n.endDate-i)-1:n.startDate-1:1==o?n.endDate+(i-n.startDate)+1:n.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=s&&o>t)return{hidden:!0,startDate:s,endDate:o}}return{hidden:!1,startDate:s,endDate:o}}},function(t,e,i){function s(t,e,i,s,o,n){this.current=0,this.autoScale=!0,this.stepIndex=0,this.step=1,this.scale=1,this.marginStart,this.marginEnd,this.deadSpace=0,this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.alignZeros=n,this.setRange(t,e,i,s,o)}s.prototype.setRange=function(t,e,i,s,o){this._start=void 0===o.min?t:o.min,this._end=void 0===o.max?e:o.max,this._start==this._end&&(this._start-=.75,this._end+=1),1==this.autoScale&&this.setMinimumStep(i,s),this.setFirst(o)},s.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,s=1.2*i,o=t*(s/e),n=Math.round(Math.log(s)/Math.LN10),r=-1,a=Math.pow(10,n),h=0;0>n&&(h=n);for(var d=!1,l=h;Math.abs(l)<=Math.abs(n);l++){a=Math.pow(10,l);for(var c=0;c=o){d=!0,r=c;break}}if(1==d)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},s.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,1==this.alignZeros&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},s.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},s.prototype.hasNext=function(){return this.current>=this.marginStart},s.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},s.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},s.prototype.getCurrent=function(t){var e=Math.abs(this.current)0;s--){if("0"!=i[s]){if("."==i[s]||","==i[s]){i=i.slice(0,s);break}break}i=i.slice(0,s)}}else{var o="",n=i.indexOf("e");if(-1!=n&&(o=i.slice(n),i=i.slice(0,n)),n=Math.max(i.indexOf(","),i.indexOf(".")),-1===n?(0!==t&&(i+="."),n=i.length+t):0!==t&&(n+=t+1),n>i.length)for(var r=n-i.length;r>0;r--)i+="0";else i=i.slice(0,n);i+=o}return i},s.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=s},function(t,e,i){function s(t,e){var i=h().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("dragstart",this._onDragStart.bind(this)),this.body.emitter.on("drag",this._onDrag.bind(this)),this.body.emitter.on("dragend",this._onDragEnd.bind(this)),this.body.emitter.on("hold",this._onHold.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("DOMMouseScroll",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function o(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function n(t,e){return{x:t.pageX-r.getAbsoluteLeft(e),y:t.pageY-r.getAbsoluteTop(e)}}var r=i(1),a=i(47),h=i(44),d=i(25),l=i(15);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e,i,s){s!==!0&&(s=!1);var o=void 0!=t?r.convert(t,"Date").valueOf():null,n=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,d=this.end,c="number"==typeof i?i:500,p=(new Date).valueOf(),u=!1,m=function(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-p,i=e>c,g=i||null===o?o:r.easeInOutQuad(e,h,o,c),v=i||null===n?n:r.easeInOutQuad(e,d,n,c);f=a._applyRange(g,v),l.updateHiddenDates(a.body,a.options.hiddenDates),u=u||f,f&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:s}),i?u&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:s}):a.animateTimer=setTimeout(m,20)}};return m()}var f=this._applyRange(o,n);if(l.updateHiddenDates(this.body,this.options.hiddenDates),f){var g={start:new Date(this.start),end:new Date(this.end),byUser:s};this.body.emitter.emit("rangechange",g),this.body.emitter.emit("rangechanged",g)}},s.prototype._cancelAnimation=function(){this.animateTimer&&(clearTimeout(this.animateTimer),this.animateTimer=null)},s.prototype._applyRange=function(t,e){var i,s=null!=t?r.convert(t,"Date").valueOf():this.start,o=null!=e?r.convert(e,"Date").valueOf():this.end,n=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(s)||null===s)throw new Error('Invalid start "'+t+'"');if(isNaN(o)||null===o)throw new Error('Invalid end "'+e+'"');if(s>o&&(o=s),null!==a&&a>s&&(i=a-s,s+=i,o+=i,null!=n&&o>n&&(o=n)),null!==n&&o>n&&(i=o-n,s-=i,o-=i,null!=a&&a>s&&(s=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>o-s&&(this.end-this.start===h&&s>this.start&&od&&(d=0),o-s>d&&(this.end-this.start===d&&sthis.end?(s=this.start,o=this.end):(i=o-s-d,s+=i/2,o-=i/2))}var l=this.start!=s||this.end!=o;return s>=this.start&&s<=this.end||o>=this.start&&o<=this.end||this.start>=s&&this.start<=o||this.end>=s&&this.end<=o||this.body.emitter.emit("checkRangedItems"),this.start=s,this.end=o,l},s.prototype.getRange=function(){return{start:this.start,end:this.end}},s.prototype.conversion=function(t,e){return s.conversion(this.start,this.end,t,e)},s.conversion=function(t,e,i,s){return void 0===s&&(s=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-s)}:{offset:0,scale:1}},s.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},s.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;o(e);var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY;i-=this.deltaDifference;var s=this.props.touch.end-this.props.touch.start,n=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);s-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*s,h=this.props.touch.start+a,d=this.props.touch.end+a,c=l.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),p=l.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(c!=h||p!=d)return this.deltaDifference+=i,this.props.touch.start=c,this.props.touch.end=p,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},s.prototype._onDragEnd=function(t){this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0}))},s.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var s=a.fakeGesture(this,t),o=n(s.center,this.body.dom.center),r=this._pointerToDate(o);this.zoom(i,r,e)}t.preventDefault()}},s.prototype._onTouch=function(t){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},s.prototype._onHold=function(){this.props.touch.allowDragging=!1},s.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable&&(this.props.touch.allowDragging=!1,t.gesture.touches.length>1)){this.props.touch.center||(this.props.touch.center=n(t.gesture.center,this.body.dom.center));var e=1/(t.gesture.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=s-o,a=i-o+(this.props.touch.start-(i-o))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=1-e>0?!1:!0,this.endToFront=e-1>0?!1:!0;var d=l.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),c=l.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(d!=a||c!=h)&&(this.props.touch.start=d,this.props.touch.end=c,this.scaleOffset=1-t.gesture.scale,a=d,h=c),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var s=this.body.domProps.center.height;return e=this.conversion(s),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,e),n=s-o,r=e-o+(this.start-(e-o))*t,a=e+n+(this.end-(e+n))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=l.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),d=l.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||d!=a)&&(r=h,a=d),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},s.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,s=this.end+e*t;this.start=i,this.end=s},s.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,s=this.start-i,o=this.end-i; -},s.prototype.getValues=function(){return this.values},s.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},s.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var s=new o(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(s),this.dataPoints[t]=e}return e},s.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},s.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},s.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},s.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},s.prototype.setIndex=function(t){if(!(ts&&(s=0),s>this.values.length-1&&(s=this.values.length-1),s},s.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,s=i+3;return s},s.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,s=this.leftToIndex(i);this.setIndex(s),o.preventDefault()},s.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",o.removeEventListener(document,"mousemove",this.onmousemove),o.removeEventListener(document,"mouseup",this.onmouseup),o.preventDefault()},t.exports=s},function(t,e,i){function s(t,e,i,s){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,s)}s.prototype.setRange=function(t,e,i,s){this._start=t?t:0,this._end=e?e:0,this.setStep(i,s)},s.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this._step=this.prettyStep===!0?s.calculatePrettyStep(t):t)},s.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),s=2*Math.pow(10,Math.round(e(t/2))),o=5*Math.pow(10,Math.round(e(t/5))),n=i;return Math.abs(s-t)<=Math.abs(n-t)&&(n=s),Math.abs(o-t)<=Math.abs(n-t)&&(n=o),0>=n&&(n=1),n},s.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},s.prototype.getStep=function(){return this._step},s.prototype.start=function(){this._current=this._start-this._start%this._step},s.prototype.next=function(){this._current+=this._step},s.prototype.end=function(){return this._current>this._end},t.exports=s},function(t,e,i){function s(t,e,i,h){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n||i instanceof r)&&i instanceof Object){var u=h;h=i,i=u}var m=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return m.timeAxis.step.scale},getStep:function(){return m.timeAxis.step.step},toScreen:m._toScreen.bind(m),toGlobalScreen:m._toGlobalScreen.bind(m),toTime:m._toTime.bind(m),toGlobalTime:m._toGlobalTime.bind(m)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){m.emit("click",m.getEventProperties(t))}),this.on("doubletap",function(t){m.emit("doubleClick",m.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){m.emit("contextmenu",m.getEventProperties(t))},h&&this.setOptions(h),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(32);s.prototype=new h,s.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var s=this._getDataRange();var o=void 0!=this.options.start?this.options.start:s.start,a=void 0!=this.options.end?this.options.end:s.end;this.setWindow(o,a,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.itemSet.setGroups(e)},s.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},s.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},s.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],s=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),o=null,n=null;if(s.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===o||o>e)&&(o=e),(null===n||i>n)&&(n=i)}),null!==o&&null!==n){var r=(o+n)/2,a=Math.max(this.range.end-this.range.start,1.1*(n-o)),h=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(r-a/2,r+a/2,h)}}},s.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var s=t.min("start");e=s?o.convert(s.start,"Date").valueOf():null;var n=t.max("start");n&&(i=o.convert(n.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?o.convert(r.end,"Date").valueOf():Math.max(i,o.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},s.prototype.getEventProperties=function(t){var e=this.itemSet.itemFromTarget(t),i=this.itemSet.groupFromTarget(t),s=t.gesture?t.gesture.center.pageX:t.pageX,n=t.gesture?t.gesture.center.pageY:t.pageY,r=s-o.getAbsoluteLeft(this.dom.centerContainer),a=n-o.getAbsoluteTop(this.dom.centerContainer),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),l=this.body.util.getStep(),c=this._toTime(r),p=h?h(c,d,l):c,u=o.getTarget(t),m=null;return null!=e?m="item":o.hasParent(u,this.timeAxis.dom.foreground)?m="axis":this.timeAxis2&&o.hasParent(u,this.timeAxis2.dom.foreground)?m="axis":o.hasParent(u,this.itemSet.dom.labelSet)?m="group-label":o.hasParent(u,this.customTime.bar)?m="custom-time":o.hasParent(u,this.currentTime.bar)?m="current-time":o.hasParent(u,this.dom.center)&&(m="background"),{event:t,item:e?e.id:null,group:i?i.groupId:null,what:m,pageX:s,pageY:n,x:r,y:a,time:c,snappedTime:p}},t.exports=s},function(t,e,i){function s(t,e,i,s){if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var r=s;s=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.linegraph=new p(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){h.emit("click",h.getEventProperties(t))}),this.on("doubletap",function(t){h.emit("doubleClick",h.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){h.emit("contextmenu",h.getEventProperties(t))},s&&this.setOptions(s),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(34);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.linegraph.setGroups(e)},s.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},s.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},s.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},s.prototype.getEventProperties=function(t){var e=t.gesture?t.gesture.center.pageX:t.pageX,i=t.gesture?t.gesture.center.pageY:t.pageY,s=e-o.getAbsoluteLeft(this.dom.centerContainer),n=i-o.getAbsoluteTop(this.dom.centerContainer),r=this._toTime(s),a=o.getTarget(t),h=null;o.hasParent(a,this.timeAxis.dom.foreground)?h="axis":this.timeAxis2&&o.hasParent(a,this.timeAxis2.dom.foreground)?h="axis":o.hasParent(a,this.linegraph.yAxisLeft.dom.frame)?h="data-axis":o.hasParent(a,this.linegraph.yAxisRight.dom.frame)?h="data-axis":o.hasParent(a,this.linegraph.legendLeft.dom.frame)?h="legend":o.hasParent(a,this.linegraph.legendRight.dom.frame)?h="legend":o.hasParent(a,this.customTime.bar)?h="custom-time":o.hasParent(a,this.currentTime.bar)?h="current-time":o.hasParent(a,this.dom.center)&&(h="background");var d=[],l=this.linegraph.yAxisLeft,c=this.linegraph.yAxisRight;return l.hidden||d.push(l.screenToValue(n)),c.hidden||d.push(c.screenToValue(n)),{event:t,what:h,pageX:e,pageY:i,x:s,y:n,time:r,value:d}},t.exports=s},function(t,e,i){var s=i(44);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var p=0,u=n.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(o.dayOfYear()),d.year(o.year()),d.subtract(7,"days"),l.dayOfYear(o.dayOfYear()),l.year(o.year()),l.subtract(7-p,"days"),u.add(1,"weeks");break;case"weekly":var m=l.diff(d,"days"),f=d.day();d.date(o.date()),d.month(o.month()),d.year(o.year()),l=d.clone(),d.day(f),l.day(f),l.add(m,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),u.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(o.month()),d.year(o.year()),d.subtract(1,"months"),l.month(o.month()),l.year(o.year()),l.subtract(1,"months"),l.add(p,"months"),u.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(o.year()),d.subtract(1,"years"),l.year(o.year()),l.subtract(1,"years"),l.add(p,"years"),u.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;u>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var g=e.isHidden(t.range.start,t.hiddenDates),v=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==g.hidden&&(y=1==t.range.startToFront?g.startDate-1:g.endDate+1),1==v.hidden&&(b=1==t.range.endToFront?v.startDate-1:v.endDate+1),(1==g.hidden||1==v.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],s=0;s=e[s].start&&e[o].end<=e[s].end?e[o].remove=!0:e[o].start>=e[s].start&&e[o].start<=e[s].end?(e[s].end=e[o].end,e[o].remove=!0):e[o].end>=e[s].start&&e[o].end<=e[s].end&&(e[s].start=e[o].start,e[o].remove=!0));for(var s=0;s=r&&a>o){i=!0;break}}if(1==i&&o=e&&i>r&&(s+=r-n)}return s},e.correctTimeForHidden=function(t,i,o){return o=s(o).toDate().valueOf(),o-=e.getHiddenDurationBefore(t,i,o)},e.getHiddenDurationBefore=function(t,e,i){var o=0;i=s(i).toDate().valueOf();for(var n=0;n=e.start&&a=a&&(o+=a-r)}return o},e.getAccumulatedHiddenDuration=function(t,e,i){for(var s=0,o=0,n=e.start,r=0;r=e.start&&h=i)break;s+=h-a}}return s},e.snapAwayFromHidden=function(t,i,s,o){var n=e.isHidden(i,t);return 1==n.hidden?0>s?1==o?n.startDate-(n.endDate-i)-1:n.startDate-1:1==o?n.endDate+(i-n.startDate)+1:n.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=s&&o>t)return{hidden:!0,startDate:s,endDate:o}}return{hidden:!1,startDate:s,endDate:o}}},function(t,e,i){function s(t,e,i,s,o,n){this.current=0,this.autoScale=!0,this.stepIndex=0,this.step=1,this.scale=1,this.marginStart,this.marginEnd,this.deadSpace=0,this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.alignZeros=n,this.setRange(t,e,i,s,o)}s.prototype.setRange=function(t,e,i,s,o){this._start=void 0===o.min?t:o.min,this._end=void 0===o.max?e:o.max,this._start==this._end&&(this._start-=.75,this._end+=1),1==this.autoScale&&this.setMinimumStep(i,s),this.setFirst(o)},s.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,s=1.2*i,o=t*(s/e),n=Math.round(Math.log(s)/Math.LN10),r=-1,a=Math.pow(10,n),h=0;0>n&&(h=n);for(var d=!1,l=h;Math.abs(l)<=Math.abs(n);l++){a=Math.pow(10,l);for(var c=0;c=o){d=!0,r=c;break}}if(1==d)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},s.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,1==this.alignZeros&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},s.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},s.prototype.hasNext=function(){return this.current>=this.marginStart},s.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},s.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},s.prototype.getCurrent=function(t){var e=Math.abs(this.current)0;s--){if("0"!=i[s]){if("."==i[s]||","==i[s]){i=i.slice(0,s);break}break}i=i.slice(0,s)}}else{var o="",n=i.indexOf("e");if(-1!=n&&(o=i.slice(n),i=i.slice(0,n)),n=Math.max(i.indexOf(","),i.indexOf(".")),-1===n?(0!==t&&(i+="."),n=i.length+t):0!==t&&(n+=t+1),n>i.length)for(var r=n-i.length;r>0;r--)i+="0";else i=i.slice(0,n);i+=o}return i},s.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=s},function(t,e,i){function s(t,e){var i=h().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("dragstart",this._onDragStart.bind(this)),this.body.emitter.on("drag",this._onDrag.bind(this)),this.body.emitter.on("dragend",this._onDragEnd.bind(this)),this.body.emitter.on("hold",this._onHold.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("DOMMouseScroll",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function o(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function n(t,e){return{x:t.pageX-r.getAbsoluteLeft(e),y:t.pageY-r.getAbsoluteTop(e)}}var r=i(1),a=i(47),h=i(44),d=i(25),l=i(15);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e,i,s){s!==!0&&(s=!1);var o=void 0!=t?r.convert(t,"Date").valueOf():null,n=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,d=this.end,c="number"==typeof i?i:500,p=(new Date).valueOf(),u=!1,m=function(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-p,i=e>c,g=i||null===o?o:r.easeInOutQuad(e,h,o,c),v=i||null===n?n:r.easeInOutQuad(e,d,n,c);f=a._applyRange(g,v),l.updateHiddenDates(a.body,a.options.hiddenDates),u=u||f,f&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:s}),i?u&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:s}):a.animateTimer=setTimeout(m,20)}};return m()}var f=this._applyRange(o,n);if(l.updateHiddenDates(this.body,this.options.hiddenDates),f){var g={start:new Date(this.start),end:new Date(this.end),byUser:s};this.body.emitter.emit("rangechange",g),this.body.emitter.emit("rangechanged",g)}},s.prototype._cancelAnimation=function(){this.animateTimer&&(clearTimeout(this.animateTimer),this.animateTimer=null)},s.prototype._applyRange=function(t,e){var i,s=null!=t?r.convert(t,"Date").valueOf():this.start,o=null!=e?r.convert(e,"Date").valueOf():this.end,n=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(s)||null===s)throw new Error('Invalid start "'+t+'"');if(isNaN(o)||null===o)throw new Error('Invalid end "'+e+'"');if(s>o&&(o=s),null!==a&&a>s&&(i=a-s,s+=i,o+=i,null!=n&&o>n&&(o=n)),null!==n&&o>n&&(i=o-n,s-=i,o-=i,null!=a&&a>s&&(s=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>o-s&&(this.end-this.start===h&&s>this.start&&od&&(d=0),o-s>d&&(this.end-this.start===d&&sthis.end?(s=this.start,o=this.end):(i=o-s-d,s+=i/2,o-=i/2))}var l=this.start!=s||this.end!=o;return s>=this.start&&s<=this.end||o>=this.start&&o<=this.end||this.start>=s&&this.start<=o||this.end>=s&&this.end<=o||this.body.emitter.emit("checkRangedItems"),this.start=s,this.end=o,l},s.prototype.getRange=function(){return{start:this.start,end:this.end}},s.prototype.conversion=function(t,e){return s.conversion(this.start,this.end,t,e)},s.conversion=function(t,e,i,s){return void 0===s&&(s=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-s)}:{offset:0,scale:1}},s.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},s.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;o(e);var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY;i-=this.deltaDifference;var s=this.props.touch.end-this.props.touch.start,n=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);s-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*s,h=this.props.touch.start+a,d=this.props.touch.end+a,c=l.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),p=l.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(c!=h||p!=d)return this.deltaDifference+=i,this.props.touch.start=c,this.props.touch.end=p,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},s.prototype._onDragEnd=function(t){this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0}))},s.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var s=a.fakeGesture(this,t),o=n(s.center,this.body.dom.center),r=this._pointerToDate(o);this.zoom(i,r,e)}t.preventDefault()}},s.prototype._onTouch=function(t){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},s.prototype._onHold=function(){this.props.touch.allowDragging=!1},s.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable&&(this.props.touch.allowDragging=!1,t.gesture.touches.length>1)){this.props.touch.center||(this.props.touch.center=n(t.gesture.center,this.body.dom.center));var e=1/(t.gesture.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=s-o,a=i-o+(this.props.touch.start-(i-o))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=1-e>0?!1:!0,this.endToFront=e-1>0?!1:!0;var d=l.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),c=l.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(d!=a||c!=h)&&(this.props.touch.start=d,this.props.touch.end=c,this.scaleOffset=1-t.gesture.scale,a=d,h=c),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var s=this.body.domProps.center.height;return e=this.conversion(s),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,e),n=s-o,r=e-o+(this.start-(e-o))*t,a=e+n+(this.end-(e+n))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=l.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),d=l.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||d!=a)&&(r=h,a=d),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},s.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,s=this.end+e*t;this.start=i,this.end=s},s.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,s=this.start-i,o=this.end-i;this.setRange(s,o)},t.exports=s},function(t,e,i){var s=.001; +this.setRange(s,o)},t.exports=s},function(t,e,i){var s=.001;e.orderByStart=function(t){t.sort(function(t,e){return t.data.start-e.data.start})},e.orderByEnd=function(t){t.sort(function(t,e){var i="end"in t.data?t.data.end:t.data.start,s="end"in e.data?e.data.end:e.data.start;return i-s})},e.stack=function(t,i,s){var o,n;if(s)for(o=0,n=t.length;n>o;o++)t[o].top=null;for(o=0,n=t.length;n>o;o++){var r=t[o];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var s,o,n;for(s=0,o=t.length;o>s;s++)if(void 0!==t[s].data.subgroup){n=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-i.vertical+se.top}},function(t,e,i){function s(t,e,i,o){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale="day",this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=o,void 0===o&&(this.hiddenDates=[]),this.format=s.FORMAT}var o=i(44),n=i(15),r=i(1);s.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},s.prototype.setFormat=function(t){var e=r.deepExtend({},s.FORMAT);this.format=r.deepExtend(e,t)},s.prototype.setRange=function(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=void 0!=t?new Date(t.valueOf()):new Date,this._end=void 0!=e?new Date(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},s.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},s.prototype.roundToMinor=function(){switch(this.scale){case"year":this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case"month":this.current.setDate(1);case"day":case"weekday":this.current.setHours(0);case"hour":this.current.setMinutes(0);case"minute":this.current.setSeconds(0);case"second":this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case"hour":this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case"month":this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},s.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},s.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current=new Date(this.current.valueOf()+1e3*this.step);break;case"minute":this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case"hour":this.current=new Date(this.current.valueOf()+1e3*this.step*60*60);var e=this.current.getHours();this.current.setHours(e-e%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()+this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()+this.step);break;case"hour":this.current.setHours(this.current.getHours()+this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.getMilliseconds()0?t.step:1,this.autoScale=!1)},s.prototype.setAutoScale=function(t){this.autoScale=t},s.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,s=864e5,o=36e5,n=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*s>t&&(this.scale="day",this.step=5),2*s>t&&(this.scale="day",this.step=2),s>t&&(this.scale="day",this.step=1),s/2>t&&(this.scale="weekday",this.step=1),4*o>t&&(this.scale="hour",this.step=4),o>t&&(this.scale="hour",this.step=1),15*n>t&&(this.scale="minute",this.step=15),10*n>t&&(this.scale="minute",this.step=10),5*n>t&&(this.scale="minute",this.step=5),n>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},s.snap=function(t,e,i){var s=new Date(t.valueOf());if("year"==e){var o=s.getFullYear()+Math.round(s.getMonth()/12);s.setFullYear(Math.round(o/i)*i),s.setMonth(0),s.setDate(0),s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("month"==e)s.getDate()>15?(s.setDate(1),s.setMonth(s.getMonth()+1)):s.setDate(1),s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0);else if("day"==e){switch(i){case 5:case 2:s.setHours(24*Math.round(s.getHours()/24));break;default:s.setHours(12*Math.round(s.getHours()/12))}s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:s.setHours(12*Math.round(s.getHours()/12));break;default:s.setHours(6*Math.round(s.getHours()/6))}s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("hour"==e){switch(i){case 4:s.setMinutes(60*Math.round(s.getMinutes()/60));break;default:s.setMinutes(30*Math.round(s.getMinutes()/30))}s.setSeconds(0),s.setMilliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:s.setMinutes(5*Math.round(s.getMinutes()/5)),s.setSeconds(0);break;case 5:s.setSeconds(60*Math.round(s.getSeconds()/60));break;default:s.setSeconds(30*Math.round(s.getSeconds()/30))}s.setMilliseconds(0)}else if("second"==e)switch(i){case 15:case 10:s.setSeconds(5*Math.round(s.getSeconds()/5)),s.setMilliseconds(0);break;case 5:s.setMilliseconds(1e3*Math.round(s.getMilliseconds()/1e3));break;default:s.setMilliseconds(500*Math.round(s.getMilliseconds()/500))}else if("millisecond"==e){var n=i>5?i/2:1;s.setMilliseconds(Math.round(s.getMilliseconds()/n)*n)}return s},s.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}switch(this.scale){case"millisecond":return 0==this.current.getMilliseconds();case"second":return 0==this.current.getSeconds();case"minute":return 0==this.current.getHours()&&0==this.current.getMinutes();case"hour":return 0==this.current.getHours();case"weekday":case"day":return 1==this.current.getDate();case"month":return 0==this.current.getMonth();case"year":return!1;default:return!1}},s.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getClassName=function(){function t(t){return t/h%2==0?" even":" odd"}function e(t){return t.isSame(new Date,"day")?" today":t.isSame(o().add(1,"day"),"day")?" tomorrow":t.isSame(o().add(-1,"day"),"day")?" yesterday":""}function i(t){return t.isSame(new Date,"week")?" current-week":""}function s(t){return t.isSame(new Date,"month")?" current-month":""}function n(t){return t.isSame(new Date,"year")?" current-year":""}var r=o(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-"+(d+4)),d+"h"+e(a)+t(a.hours());case"weekday":return a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),c=a.format("MMMM").toLowerCase();return"day"+l+" "+c+s(a)+t(l-1);case"month":return a.format("MMMM").toLowerCase()+s(a)+t(a.month());case"year":var p=a.year();return"year"+p+n(a)+t(p);default:return""}},t.exports=s},function(t,e,i){function s(t,e,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null}var o=i(45),n=i(1);s.prototype.stack=!0,s.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},s.prototype.isVisible=function(t){return!1},s.prototype.show=function(){return!1},s.prototype.hide=function(){return!1},s.prototype.redraw=function(){},s.prototype.repositionX=function(){},s.prototype.repositionY=function(){},s.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="delete",i.title="Delete this item",o(i,{preventDefault:!0}).on("tap",function(t){t.preventDefault(),t.stopPropagation(),e.parent.removeFromDataSet(e)}),t.appendChild(i),this.dom.deleteButton=i}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},s.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;var s=this._contentToString(this.content)!==this._contentToString(e);if(s){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},s.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("title")},s.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},s.prototype.show=r.prototype.show,s.prototype.hide=r.prototype.hide,s.prototype.repositionX=r.prototype.repositionX,s.prototype.repositionY=function(t){var e="top"===this.options.orientation;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var s=this.data.subgroup,o=this.parent.subgroups,r=o[s].index;if(1==e){i=this.parent.subgroups[s].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in o)o.hasOwnProperty(h)&&1==o[h].visible&&o[h].indexr&&(a+=l)}i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=s},function(t,e,i){function s(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);o.call(this,t,e,i)}{var o=i(20);i(1)}s.prototype=new o(null,null,null),s.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},s.prototype.show=function(){this.displayed||this.redraw()},s.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},s.prototype.repositionX=function(t){var e,i,s=this.parent.width,o=this.conversion.toScreen(this.data.start),n=this.conversion.toScreen(this.data.end);(void 0===t||t===!0)&&(-s>o&&(o=-s),n>2*s&&(n=2*s));var r=Math.max(n-o,1);switch(this.overflow?(this.left=o,this.width=r+this.props.content.width,i=this.props.content.width):(this.left=o,this.width=r,i=Math.min(n-o-2*this.options.padding,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(r-i-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((r-i-2*this.options.padding)/2,0)+"px";break;default:e=this.overflow?n>0?Math.max(-o,0):-i:0>o?Math.min(-o,n-o-i-2*this.options.padding):0,this.dom.content.style.left=e+"px"}},s.prototype.repositionY=function(){var t=this.options.orientation,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},s.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="drag-left",t.dragLeftItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},s.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="drag-right",t.dragRightItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=s},function(t,e,i){function s(t,e){this.options=null,this.props=null}s.prototype.setOptions=function(t){t&&util.extend(this.options,t)},s.prototype.redraw=function(){return!1},s.prototype.destroy=function(){},s.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=o.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var o=i(1),n=i(25),r=i(44),a=i(48);s.prototype=new n,s.prototype._create=function(){var t=document.createElement("div");t.className="currenttime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},s.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},s.prototype.setOptions=function(t){t&&o.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},s.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=new Date((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),s=this.options.locales[this.options.locale];s||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),s=this.options.locales.en);var o=s.current+" "+s.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=i+"px",this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},s.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,s=1/i/10;30>s&&(s=30),s>1e3&&(s=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,s)}var e=this;t()},s.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},s.prototype.setCurrentTime=function(t){var e=o.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},s.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCustomTime:!1,locales:h,locale:"en",id:0},this.options=n.extend({},this.defaultOptions),e&&e.time?this.customTime=e.time:this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(25),a=i(44),h=i(48);s.prototype=new r,s.prototype.setOptions=function(t){t&&(n.selectiveExtend(["showCustomTime","locale","locales","id"],this.options,t),this.options.id&&this.redraw())},s.prototype._create=function(){var t=document.createElement("div");t.className="customtime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=o(t,{prevent_default:!0}),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this))},s.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},s.prototype.redraw=function(){if(this.options.showCustomTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale];i||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),i=this.options.locales.en);var s=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");s=s.charAt(0).toUpperCase()+s.substring(1),this.bar.style.left=e+"px",this.bar.title=s}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},s.prototype.setCustomTime=function(t){this.customTime=n.convert(t,"Date"),this.redraw()},s.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},s.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation(),t.preventDefault()},s.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=t.gesture.deltaX,i=this.body.util.toScreen(this.eventParams.customTime)+e,s=this.body.util.toTime(i);this.setCustomTime(s),this.body.emitter.emit("timechange",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault())},t.exports=s},function(t,e,i){function s(t,e,i,s){this.id=o.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}},title:{left:{text:void 0},right:{text:void 0}},format:{left:{decimals:void 0},right:{decimals:void 0}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{},title:{}},this.dom={},this.range={start:0,end:0},this.options=o.extend({},this.defaultOptions),this.conversionFactor=1,this.setOptions(e),this.width=Number((""+this.options.width).replace("px","")),this.minWidth=this.width,this.height=this.linegraphSVG.offsetHeight,this.hidden=!1,this.stepPixels=25,this.stepPixelsForced=25,this.zeroCrossing=-1,this.lineOffset=0,this.master=!0,this.svgElements={},this.iconsRemoved=!1,this.groups={},this.amountOfGroups=0,this._create();var n=this;this.body.emitter.on("verticalDrag",function(){n.dom.lineContainer.style.top=n.body.domProps.scrollTop+"px"})}var o=i(1),n=i(2),r=i(25),a=i(16);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype.setOptions=function(t){ +if(t){var e=!1;this.options.orientation!=t.orientation&&void 0!==t.orientation&&(e=!0);var i=["orientation","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","width","visible","customRange","title","format","alignZeros"];o.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),1==e&&this.dom.frame&&(this.hide(),this.show())}},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement("div"),this.dom.lineContainer.style.width="100%",this.dom.lineContainer.style.height=this.height,this.dom.lineContainer.style.position="relative",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.height="100%",this.svg.style.width="100%",this.svg.style.display="block",this.dom.frame.appendChild(this.svg)},s.prototype._redrawGroupIcons=function(){n.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,s=4,o=s+.5*i;t="left"==this.options.orientation?s:this.width-e-s;for(var r in this.groups)this.groups.hasOwnProperty(r)&&(1!=this.groups[r].visible||void 0!==this.linegraphOptions.visibility[r]&&1!=this.linegraphOptions.visibility[r]||(this.groups[r].drawIcon(t,o,this.svgElements,this.svg,e,i),o+=i+s));n.cleanupElements(this.svgElements),this.iconsRemoved=!1},s.prototype._cleanupIcons=function(){0==this.iconsRemoved&&(n.prepareElements(this.svgElements),n.cleanupElements(this.svgElements),this.iconsRemoved=!0)},s.prototype.show=function(){this.hidden=!1,this.dom.frame.parentNode||("left"==this.options.orientation?this.body.dom.left.appendChild(this.dom.frame):this.body.dom.right.appendChild(this.dom.frame)),this.dom.lineContainer.parentNode||this.body.dom.backgroundHorizontal.appendChild(this.dom.lineContainer)},s.prototype.hide=function(){this.hidden=!0,this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.lineContainer.parentNode&&this.dom.lineContainer.parentNode.removeChild(this.dom.lineContainer)},s.prototype.setRange=function(t,e){0==this.master&&1==this.options.alignZeros&&-1!=this.zeroCrossing&&t>0&&(t=0),this.range.start=t,this.range.end=e},s.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(1!=this.groups[i].visible||void 0!==this.linegraphOptions.visibility[i]&&1!=this.linegraphOptions.visibility[i]||e++);if(0==this.amountOfGroups||0==e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=1==this.options.visible?Number((""+this.options.width).replace("px","")):0;var s=this.props,o=this.dom.frame;o.className="dataaxis",this._calculateCharSize();var n=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;s.minorLabelHeight=r?s.minorCharHeight:0,s.majorLabelHeight=a?s.majorCharHeight:0,s.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,s.minorLineHeight=1,s.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,s.majorLineHeight=1,"left"==n?(o.style.top="0",o.style.left="0",o.style.bottom="",o.style.width=this.width+"px",o.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(o.style.top="",o.style.bottom="0",o.style.left="0",o.style.width=this.width+"px",o.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,1==this.options.icons?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(n)}return t},s.prototype._redrawLabels=function(){var t=!1;n.prepareElements(this.DOMelements.lines),n.prepareElements(this.DOMelements.labels);var e=this.options.orientation,i=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,s=new a(this.range.start,this.range.end,i,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation],0==this.master&&this.options.alignZeros);this.step=s;var o=(this.dom.frame.offsetHeight-s.deadSpace*(this.dom.frame.offsetHeight/s.marginRange))/((s.marginRange-s.deadSpace)/s.step);this.stepPixels=o;var r=this.height/o,h=0;if(0==this.master){o=this.stepPixelsForced,h=Math.round(this.dom.frame.offsetHeight/o-r);for(var d=0;.5*h>d;d++)s.previous();if(r=this.height/o,-1!=this.zeroCrossing&&1==this.options.alignZeros){var l=s.marginEnd/s.step-this.zeroCrossing;if(l>0)for(var d=0;l>d;d++)s.next();else if(0>l)for(var d=0;-l>d;d++)s.previous()}}else r+=.25;this.valueAtZero=s.marginEnd;var c,p=0,u=1;void 0!==this.options.format[e]&&(c=this.options.format[e].decimals),this.maxLabelSize=0;for(var m=0;u=0&&this._redrawLabel(m-2,s.getCurrent(c),e,"yAxis major",this.props.majorCharHeight),this._redrawLine(m,e,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(m,e,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),1==this.master&&0==s.current&&(this.zeroCrossing=u),u++}0==this.master?this.conversionFactor=m/(this.valueAtZero-s.current):this.conversionFactor=this.dom.frame.offsetHeight/s.marginRange;var g=0;void 0!==this.options.title[e]&&void 0!==this.options.title[e].text&&(g=this.props.titleCharHeight);var v=1==this.options.icons?Math.max(this.options.iconWidth,g)+this.options.labelOffsetX+15:g+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-v&&1==this.options.visible?(this.width=this.maxLabelSize+v,this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+v),this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),t=!1),t},s.prototype.convertValue=function(t){var e=this.valueAtZero-t,i=e*this.conversionFactor;return i},s.prototype.screenToValue=function(t){return this.valueAtZero-t/this.conversionFactor},s.prototype._redrawLabel=function(t,e,i,s,o){var r=n.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=s,r.innerHTML=e,"left"==i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*o+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSizep;p++){var m=this.visibleItems[p];m.repositionY(e)}return s},s.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var s=this;if(i.length){var n=i[0].top,r=i[0].top+i[0].height;if(o.forEach(i,function(t){n=Math.min(n,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(s.subgroups[t.data.subgroup].height=Math.max(s.subgroups[t.data.subgroup].height,t.height),s.subgroups[t.data.subgroup].visible=!0)}),n>t.axis){var a=n-t.axis;r-=a,o.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},s.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},s.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var s=this.dom.axis;s.parentNode&&s.parentNode.removeChild(s)},s.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(n=0;nl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,n=0;nl})}for(n=0;n=0&&(n=e[r],!o(n));r--)void 0===s[n.id]&&(s[n.id]=!0,i.push(n));for(r=t+1;ro;o++){var r=this.visibleItems[o];r.repositionY(e)}return s},s.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={type:null,orientation:"bottom",align:"auto",stack:!0,groupOrder:null,selectable:!0,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},snap:h.snap,onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20},padding:5},this.options=n.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,s){i._onAdd(e.items)},update:function(t,e,s){i._onUpdate(e.items)},remove:function(t,e,s){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,s){i._onAddGroups(e.items)},update:function(t,e,s){i._onUpdateGroups(e.items)},remove:function(t,e,s){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(3),a=i(4),h=i(19),d=i(25),l=i(30),c=i(31),p=i(22),u=i(23),m=i(24),f=i(21),g="__ungrouped__",v="__background__";s.prototype=new d,s.types={background:f,box:p,range:m,point:u},s.prototype._create=function(){var t=document.createElement("div");t.className="itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="foreground",t.appendChild(i),this.dom.foreground=i;var s=document.createElement("div");s.className="axis",this.dom.axis=s;var n=document.createElement("div");n.className="labelset",this.dom.labelSet=n,this._updateUngrouped();var r=new c(v,null,this);r.show(),this.groups[v]=r,this.hammer=o(this.body.dom.centerContainer,{preventDefault:!0}),this.hammer.on("touch",this._onTouch.bind(this)),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("hold",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},s.prototype.setOptions=function(t){if(t){var e=["type","align","order","padding","stack","selectable","groupOrder","dataAttributes","template","hide","snap"];n.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation=t.orientation:"object"==typeof t.orientation&&"item"in t.orientation&&(this.options.orientation=t.orientation.item)),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(n.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&n.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&n.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},s.prototype.markDirty=function(t){this.groupIds=[],this.stackDirty=!0,t&&t.refreshItems&&n.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},s.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},s.prototype.setSelection=function(t){var e,i,s,o;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)s=this.selection[e],o=this.items[s],o&&o.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)s=t[e],o=this.items[s],o&&(this.selection.push(s),o.select())},s.prototype.getSelection=function(){return this.selection.concat([])},s.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),s=[];for(var o in this.groups)if(this.groups.hasOwnProperty(o))for(var n=this.groups[o],r=n.visibleItems,a=0;ae&&s.push(h.id)}return s},s.prototype._deselect=function(t){for(var e=this.selection,i=0,s=e.length;s>i;i++)if(e[i]==t){e.splice(i,1);break}},s.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=n.option.asSize,s=this.options,o=s.orientation,r=!1,a=this.dom.frame,h=s.editable.updateTime||s.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="itemset"+(h?" editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var c=this.stackDirty,p=this._firstGroup(),u={item:t.item,axis:t.axis},m={item:t.item,axis:t.item.vertical/2},f=0,g=t.axis+t.item.vertical;return this.groups[v].redraw(e,m,c),n.forEach(this.groups,function(t){var i=t==p?u:m,s=t.redraw(e,i,c);r=s||r,f+=t.height}),f=Math.max(f,g),this.stackDirty=!1,a.style.height=i(f),this.props.width=a.offsetWidth,this.props.height=f,this.dom.axis.style.top=i("top"==o?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},s.prototype._firstGroup=function(){var t="top"==this.options.orientation?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[g];return i||null},s.prototype._updateUngrouped=function(){{var t,e,i=this.groups[g];this.groups[v]}if(this.groupsData){if(i){i.hide(),delete this.groups[g];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var s=this._getGroupId(t.data),o=this.groups[s];o&&o.add(t)||t.hide()}}}else if(!i){var n=null,r=null;i=new l(n,r,this),this.groups[g]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},s.prototype.getLabelSet=function(){return this.dom.labelSet},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(n.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var o=this.id;n.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,o)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},s.prototype.getItems=function(){return this.itemsData},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(n.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;n.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},s.prototype.getGroups=function(){return this.groupsData},s.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},s.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},s.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?v:this.groupsData?t.group:g},s.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=e._getType(i),r=s.types[n];if(o&&(r&&o instanceof r?e._updateItem(o,i):(e._removeItem(o),o=null)),!o){if(!r)throw new TypeError("rangeoverflow"==n?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis.timeline .item.range .content {overflow: visible;}':'Unknown item type "'+n+'"');o=new r(i,e.conversion,e.options),o.id=t,e._addItem(o)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},s.prototype._onAdd=s.prototype._onUpdate,s.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var s=i.items[t];s&&(e++,i._removeItem(s))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},s.prototype._order=function(){n.forEach(this.groups,function(t){t.order()})},s.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},s.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),s=e.groups[t];if(s)s.setData(i);else{if(t==g||t==v)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new l(t,i,e),e.groups[t]=s;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&s.add(a)}s.order(),s.show()}}),this.body.emitter.emit("change",{queue:!0})},s.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},s.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!n.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},s.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},s.prototype._updateItem=function(t,e){var i=t.data.group,s=t.data.subgroup;if(t.setData(e),i!=t.data.group||s!=t.data.subgroup){var o=this.groups[i];o&&o.remove(t);var n=this._getGroupId(t.data),r=this.groups[n];r&&r.add(t)}},s.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;io;o++)t[o].top=null;for(o=0,n=t.length;n>o;o++){var r=t[o];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var s,o,n;for(s=0,o=t.length;o>s;s++)if(void 0!==t[s].data.subgroup){n=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-i.vertical+se.top}},function(t,e,i){function s(t,e,i,o){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale="day",this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=o,void 0===o&&(this.hiddenDates=[]),this.format=s.FORMAT}var o=i(44),n=i(15),r=i(1);s.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},s.prototype.setFormat=function(t){var e=r.deepExtend({},s.FORMAT);this.format=r.deepExtend(e,t)},s.prototype.setRange=function(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=void 0!=t?new Date(t.valueOf()):new Date,this._end=void 0!=e?new Date(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},s.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},s.prototype.roundToMinor=function(){switch(this.scale){case"year":this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case"month":this.current.setDate(1);case"day":case"weekday":this.current.setHours(0);case"hour":this.current.setMinutes(0);case"minute":this.current.setSeconds(0);case"second":this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case"hour":this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case"month":this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},s.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},s.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current=new Date(this.current.valueOf()+1e3*this.step);break;case"minute":this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case"hour":this.current=new Date(this.current.valueOf()+1e3*this.step*60*60);var e=this.current.getHours();this.current.setHours(e-e%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()+this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()+this.step);break;case"hour":this.current.setHours(this.current.getHours()+this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.getMilliseconds()0?t.step:1,this.autoScale=!1)},s.prototype.setAutoScale=function(t){this.autoScale=t},s.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,s=864e5,o=36e5,n=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*s>t&&(this.scale="day",this.step=5),2*s>t&&(this.scale="day",this.step=2),s>t&&(this.scale="day",this.step=1),s/2>t&&(this.scale="weekday",this.step=1),4*o>t&&(this.scale="hour",this.step=4),o>t&&(this.scale="hour",this.step=1),15*n>t&&(this.scale="minute",this.step=15),10*n>t&&(this.scale="minute",this.step=10),5*n>t&&(this.scale="minute",this.step=5),n>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},s.snap=function(t,e,i){var s=new Date(t.valueOf());if("year"==e){var o=s.getFullYear()+Math.round(s.getMonth()/12);s.setFullYear(Math.round(o/i)*i),s.setMonth(0),s.setDate(0),s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("month"==e)s.getDate()>15?(s.setDate(1),s.setMonth(s.getMonth()+1)):s.setDate(1),s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0);else if("day"==e){switch(i){case 5:case 2:s.setHours(24*Math.round(s.getHours()/24));break;default:s.setHours(12*Math.round(s.getHours()/12))}s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:s.setHours(12*Math.round(s.getHours()/12));break;default:s.setHours(6*Math.round(s.getHours()/6))}s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("hour"==e){switch(i){case 4:s.setMinutes(60*Math.round(s.getMinutes()/60));break;default:s.setMinutes(30*Math.round(s.getMinutes()/30))}s.setSeconds(0),s.setMilliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:s.setMinutes(5*Math.round(s.getMinutes()/5)),s.setSeconds(0);break;case 5:s.setSeconds(60*Math.round(s.getSeconds()/60));break;default:s.setSeconds(30*Math.round(s.getSeconds()/30))}s.setMilliseconds(0)}else if("second"==e)switch(i){case 15:case 10:s.setSeconds(5*Math.round(s.getSeconds()/5)),s.setMilliseconds(0);break;case 5:s.setMilliseconds(1e3*Math.round(s.getMilliseconds()/1e3));break;default:s.setMilliseconds(500*Math.round(s.getMilliseconds()/500))}else if("millisecond"==e){var n=i>5?i/2:1;s.setMilliseconds(Math.round(s.getMilliseconds()/n)*n)}return s},s.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}switch(this.scale){case"millisecond":return 0==this.current.getMilliseconds();case"second":return 0==this.current.getSeconds();case"minute":return 0==this.current.getHours()&&0==this.current.getMinutes();case"hour":return 0==this.current.getHours();case"weekday":case"day":return 1==this.current.getDate();case"month":return 0==this.current.getMonth();case"year":return!1;default:return!1}},s.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getClassName=function(){function t(t){return t/h%2==0?" even":" odd"}function e(t){return t.isSame(new Date,"day")?" today":t.isSame(o().add(1,"day"),"day")?" tomorrow":t.isSame(o().add(-1,"day"),"day")?" yesterday":""}function i(t){return t.isSame(new Date,"week")?" current-week":""}function s(t){return t.isSame(new Date,"month")?" current-month":""}function n(t){return t.isSame(new Date,"year")?" current-year":""}var r=o(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-"+(d+4)),d+"h"+e(a)+t(a.hours());case"weekday":return a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),c=a.format("MMMM").toLowerCase();return"day"+l+" "+c+s(a)+t(l-1);case"month":return a.format("MMMM").toLowerCase()+s(a)+t(a.month());case"year":var p=a.year();return"year"+p+n(a)+t(p);default:return""}},t.exports=s},function(t,e,i){function s(t,e,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null}var o=i(45),n=i(1);s.prototype.stack=!0,s.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},s.prototype.isVisible=function(t){return!1},s.prototype.show=function(){return!1},s.prototype.hide=function(){return!1},s.prototype.redraw=function(){},s.prototype.repositionX=function(){},s.prototype.repositionY=function(){},s.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="delete",i.title="Delete this item",o(i,{preventDefault:!0}).on("tap",function(t){t.preventDefault(),t.stopPropagation(),e.parent.removeFromDataSet(e)}),t.appendChild(i),this.dom.deleteButton=i}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},s.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;if(e!==this.content){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},s.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("title")},s.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},s.prototype.show=r.prototype.show,s.prototype.hide=r.prototype.hide,s.prototype.repositionX=r.prototype.repositionX,s.prototype.repositionY=function(t){var e="top"===this.options.orientation;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var s=this.data.subgroup,o=this.parent.subgroups,r=o[s].index;if(1==e){i=this.parent.subgroups[s].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in o)o.hasOwnProperty(h)&&1==o[h].visible&&o[h].indexr&&(a+=l)}i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=s},function(t,e,i){function s(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);o.call(this,t,e,i)}{var o=i(20);i(1)}s.prototype=new o(null,null,null),s.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},s.prototype.show=function(){this.displayed||this.redraw()},s.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},s.prototype.repositionX=function(t){var e,i,s=this.parent.width,o=this.conversion.toScreen(this.data.start),n=this.conversion.toScreen(this.data.end);(void 0===t||t===!0)&&(-s>o&&(o=-s),n>2*s&&(n=2*s));var r=Math.max(n-o,1);switch(this.overflow?(this.left=o,this.width=r+this.props.content.width,i=this.props.content.width):(this.left=o,this.width=r,i=Math.min(n-o-2*this.options.padding,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(r-i-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((r-i-2*this.options.padding)/2,0)+"px";break;default:e=this.overflow?n>0?Math.max(-o,0):-i:0>o?Math.min(-o,n-o-i-2*this.options.padding):0,this.dom.content.style.left=e+"px"}},s.prototype.repositionY=function(){var t=this.options.orientation,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},s.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="drag-left",t.dragLeftItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},s.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="drag-right",t.dragRightItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=s},function(t,e,i){function s(t,e){this.options=null,this.props=null}s.prototype.setOptions=function(t){t&&util.extend(this.options,t)},s.prototype.redraw=function(){return!1},s.prototype.destroy=function(){},s.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=o.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var o=i(1),n=i(25),r=i(44),a=i(48);s.prototype=new n,s.prototype._create=function(){var t=document.createElement("div");t.className="currenttime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},s.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},s.prototype.setOptions=function(t){t&&o.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},s.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=new Date((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),s=this.options.locales[this.options.locale];s||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),s=this.options.locales.en);var o=s.current+" "+s.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=i+"px",this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},s.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,s=1/i/10;30>s&&(s=30),s>1e3&&(s=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,s)}var e=this;t()},s.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},s.prototype.setCurrentTime=function(t){var e=o.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},s.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCustomTime:!1,locales:h,locale:"en",id:0},this.options=n.extend({},this.defaultOptions),this.customTime=e&&e.time?e.time:new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(25),a=i(44),h=i(48);s.prototype=new r,s.prototype.setOptions=function(t){t&&(n.selectiveExtend(["showCustomTime","locale","locales","id"],this.options,t),this.options.id&&this.redraw())},s.prototype._create=function(){var t=document.createElement("div");t.className="customtime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=o(t,{prevent_default:!0}),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this))},s.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},s.prototype.redraw=function(){if(this.options.showCustomTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale];i||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),i=this.options.locales.en);var s=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");s=s.charAt(0).toUpperCase()+s.substring(1),this.bar.style.left=e+"px",this.bar.title=s}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},s.prototype.setCustomTime=function(t){this.customTime=n.convert(t,"Date"),this.redraw()},s.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},s.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation(),t.preventDefault()},s.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=t.gesture.deltaX,i=this.body.util.toScreen(this.eventParams.customTime)+e,s=this.body.util.toTime(i);this.setCustomTime(s),this.body.emitter.emit("timechange",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault())},t.exports=s},function(t,e,i){function s(t,e,i,s){this.id=o.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}},title:{left:{text:void 0},right:{text:void 0}},format:{left:{decimals:void 0},right:{decimals:void 0}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{},title:{}},this.dom={},this.range={start:0,end:0},this.options=o.extend({},this.defaultOptions),this.conversionFactor=1,this.setOptions(e),this.width=Number((""+this.options.width).replace("px","")),this.minWidth=this.width,this.height=this.linegraphSVG.offsetHeight,this.hidden=!1,this.stepPixels=25,this.stepPixelsForced=25,this.zeroCrossing=-1,this.lineOffset=0,this.master=!0,this.svgElements={},this.iconsRemoved=!1,this.groups={},this.amountOfGroups=0,this._create();var n=this;this.body.emitter.on("verticalDrag",function(){n.dom.lineContainer.style.top=n.body.domProps.scrollTop+"px"})}var o=i(1),n=i(2),r=i(25),a=i(16);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype.setOptions=function(t){if(t){var e=!1;this.options.orientation!=t.orientation&&void 0!==t.orientation&&(e=!0);var i=["orientation","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","width","visible","customRange","title","format","alignZeros"]; - -o.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),1==e&&this.dom.frame&&(this.hide(),this.show())}},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement("div"),this.dom.lineContainer.style.width="100%",this.dom.lineContainer.style.height=this.height,this.dom.lineContainer.style.position="relative",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.height="100%",this.svg.style.width="100%",this.svg.style.display="block",this.dom.frame.appendChild(this.svg)},s.prototype._redrawGroupIcons=function(){n.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,s=4,o=s+.5*i;t="left"==this.options.orientation?s:this.width-e-s;for(var r in this.groups)this.groups.hasOwnProperty(r)&&(1!=this.groups[r].visible||void 0!==this.linegraphOptions.visibility[r]&&1!=this.linegraphOptions.visibility[r]||(this.groups[r].drawIcon(t,o,this.svgElements,this.svg,e,i),o+=i+s));n.cleanupElements(this.svgElements),this.iconsRemoved=!1},s.prototype._cleanupIcons=function(){0==this.iconsRemoved&&(n.prepareElements(this.svgElements),n.cleanupElements(this.svgElements),this.iconsRemoved=!0)},s.prototype.show=function(){this.hidden=!1,this.dom.frame.parentNode||("left"==this.options.orientation?this.body.dom.left.appendChild(this.dom.frame):this.body.dom.right.appendChild(this.dom.frame)),this.dom.lineContainer.parentNode||this.body.dom.backgroundHorizontal.appendChild(this.dom.lineContainer)},s.prototype.hide=function(){this.hidden=!0,this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.lineContainer.parentNode&&this.dom.lineContainer.parentNode.removeChild(this.dom.lineContainer)},s.prototype.setRange=function(t,e){0==this.master&&1==this.options.alignZeros&&-1!=this.zeroCrossing&&t>0&&(t=0),this.range.start=t,this.range.end=e},s.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(1!=this.groups[i].visible||void 0!==this.linegraphOptions.visibility[i]&&1!=this.linegraphOptions.visibility[i]||e++);if(0==this.amountOfGroups||0==e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=1==this.options.visible?Number((""+this.options.width).replace("px","")):0;var s=this.props,o=this.dom.frame;o.className="dataaxis",this._calculateCharSize();var n=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;s.minorLabelHeight=r?s.minorCharHeight:0,s.majorLabelHeight=a?s.majorCharHeight:0,s.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,s.minorLineHeight=1,s.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,s.majorLineHeight=1,"left"==n?(o.style.top="0",o.style.left="0",o.style.bottom="",o.style.width=this.width+"px",o.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(o.style.top="",o.style.bottom="0",o.style.left="0",o.style.width=this.width+"px",o.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,1==this.options.icons?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(n)}return t},s.prototype._redrawLabels=function(){var t=!1;n.prepareElements(this.DOMelements.lines),n.prepareElements(this.DOMelements.labels);var e=this.options.orientation,i=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,s=new a(this.range.start,this.range.end,i,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation],0==this.master&&this.options.alignZeros);this.step=s;var o=(this.dom.frame.offsetHeight-s.deadSpace*(this.dom.frame.offsetHeight/s.marginRange))/((s.marginRange-s.deadSpace)/s.step);this.stepPixels=o;var r=this.height/o,h=0;if(0==this.master){o=this.stepPixelsForced,h=Math.round(this.dom.frame.offsetHeight/o-r);for(var d=0;.5*h>d;d++)s.previous();if(r=this.height/o,-1!=this.zeroCrossing&&1==this.options.alignZeros){var l=s.marginEnd/s.step-this.zeroCrossing;if(l>0)for(var d=0;l>d;d++)s.next();else if(0>l)for(var d=0;-l>d;d++)s.previous()}}else r+=.25;this.valueAtZero=s.marginEnd;var c,p=0,u=1;void 0!==this.options.format[e]&&(c=this.options.format[e].decimals),this.maxLabelSize=0;for(var m=0;u=0&&this._redrawLabel(m-2,s.getCurrent(c),e,"yAxis major",this.props.majorCharHeight),this._redrawLine(m,e,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(m,e,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),1==this.master&&0==s.current&&(this.zeroCrossing=u),u++}this.conversionFactor=0==this.master?m/(this.valueAtZero-s.current):this.dom.frame.offsetHeight/s.marginRange;var g=0;void 0!==this.options.title[e]&&void 0!==this.options.title[e].text&&(g=this.props.titleCharHeight);var v=1==this.options.icons?Math.max(this.options.iconWidth,g)+this.options.labelOffsetX+15:g+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-v&&1==this.options.visible?(this.width=this.maxLabelSize+v,this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+v),this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),t=!1),t},s.prototype.convertValue=function(t){var e=this.valueAtZero-t,i=e*this.conversionFactor;return i},s.prototype.screenToValue=function(t){return this.valueAtZero-t/this.conversionFactor},s.prototype._redrawLabel=function(t,e,i,s,o){var r=n.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=s,r.innerHTML=e,"left"==i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*o+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSizep;p++){var m=this.visibleItems[p];m.repositionY(e)}return s},s.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var s=this;if(i.length){var n=i[0].top,r=i[0].top+i[0].height;if(o.forEach(i,function(t){n=Math.min(n,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(s.subgroups[t.data.subgroup].height=Math.max(s.subgroups[t.data.subgroup].height,t.height),s.subgroups[t.data.subgroup].visible=!0)}),n>t.axis){var a=n-t.axis;r-=a,o.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},s.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},s.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var s=this.dom.axis;s.parentNode&&s.parentNode.removeChild(s)},s.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(n=0;nl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,n=0;nl})}for(n=0;n=0&&(n=e[r],!o(n));r--)void 0===s[n.id]&&(s[n.id]=!0,i.push(n));for(r=t+1;ro;o++){var r=this.visibleItems[o];r.repositionY(e)}return s},s.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={type:null,orientation:"bottom",align:"auto",stack:!0,groupOrder:null,selectable:!0,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},snap:h.snap,onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20},padding:5},this.options=n.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,s){i._onAdd(e.items)},update:function(t,e,s){i._onUpdate(e.items)},remove:function(t,e,s){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,s){i._onAddGroups(e.items)},update:function(t,e,s){i._onUpdateGroups(e.items)},remove:function(t,e,s){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(3),a=i(4),h=i(19),d=i(25),l=i(30),c=i(31),p=i(22),u=i(23),m=i(24),f=i(21),g="__ungrouped__",v="__background__";s.prototype=new d,s.types={background:f,box:p,range:m,point:u},s.prototype._create=function(){var t=document.createElement("div");t.className="itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="foreground",t.appendChild(i),this.dom.foreground=i;var s=document.createElement("div");s.className="axis",this.dom.axis=s;var n=document.createElement("div");n.className="labelset",this.dom.labelSet=n,this._updateUngrouped();var r=new c(v,null,this);r.show(),this.groups[v]=r,this.hammer=o(this.body.dom.centerContainer,{preventDefault:!0}),this.hammer.on("touch",this._onTouch.bind(this)),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("hold",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},s.prototype.setOptions=function(t){if(t){var e=["type","align","order","padding","stack","selectable","groupOrder","dataAttributes","template","hide","snap"];n.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation=t.orientation:"object"==typeof t.orientation&&"item"in t.orientation&&(this.options.orientation=t.orientation.item)),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(n.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&n.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&n.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},s.prototype.markDirty=function(t){this.groupIds=[],this.stackDirty=!0,t&&t.refreshItems&&n.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},s.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},s.prototype.setSelection=function(t){var e,i,s,o;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)s=this.selection[e],o=this.items[s],o&&o.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)s=t[e],o=this.items[s],o&&(this.selection.push(s),o.select())},s.prototype.getSelection=function(){return this.selection.concat([])},s.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),s=[];for(var o in this.groups)if(this.groups.hasOwnProperty(o))for(var n=this.groups[o],r=n.visibleItems,a=0;ae&&s.push(h.id)}return s},s.prototype._deselect=function(t){for(var e=this.selection,i=0,s=e.length;s>i;i++)if(e[i]==t){e.splice(i,1);break}},s.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=n.option.asSize,s=this.options,o=s.orientation,r=!1,a=this.dom.frame,h=s.editable.updateTime||s.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="itemset"+(h?" editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var c=this.stackDirty,p=this._firstGroup(),u={item:t.item,axis:t.axis},m={item:t.item,axis:t.item.vertical/2},f=0,g=t.axis+t.item.vertical;return this.groups[v].redraw(e,m,c),n.forEach(this.groups,function(t){var i=t==p?u:m,s=t.redraw(e,i,c);r=s||r,f+=t.height}),f=Math.max(f,g),this.stackDirty=!1,a.style.height=i(f),this.props.width=a.offsetWidth,this.props.height=f,this.dom.axis.style.top=i("top"==o?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},s.prototype._firstGroup=function(){var t="top"==this.options.orientation?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[g];return i||null},s.prototype._updateUngrouped=function(){{var t,e,i=this.groups[g];this.groups[v]}if(this.groupsData){if(i){i.hide(),delete this.groups[g];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var s=this._getGroupId(t.data),o=this.groups[s];o&&o.add(t)||t.hide()}}}else if(!i){var n=null,r=null;i=new l(n,r,this),this.groups[g]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},s.prototype.getLabelSet=function(){return this.dom.labelSet},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(n.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var o=this.id;n.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,o)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},s.prototype.getItems=function(){return this.itemsData},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(n.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;n.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},s.prototype.getGroups=function(){return this.groupsData},s.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},s.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},s.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?v:this.groupsData?t.group:g},s.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=e._getType(i),r=s.types[n];if(o&&(r&&o instanceof r?e._updateItem(o,i):(e._removeItem(o),o=null)),!o){if(!r)throw new TypeError("rangeoverflow"==n?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis.timeline .item.range .content {overflow: visible;}':'Unknown item type "'+n+'"');o=new r(i,e.conversion,e.options),o.id=t,e._addItem(o)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},s.prototype._onAdd=s.prototype._onUpdate,s.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var s=i.items[t];s&&(e++,i._removeItem(s))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},s.prototype._order=function(){n.forEach(this.groups,function(t){t.order()})},s.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},s.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),s=e.groups[t];if(s)s.setData(i);else{if(t==g||t==v)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new l(t,i,e),e.groups[t]=s;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&s.add(a)}s.order(),s.show()}}),this.body.emitter.emit("change",{queue:!0})},s.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},s.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!n.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},s.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},s.prototype._updateItem=function(t,e){var i=t.data.group;if(t.setData(e),i!=t.data.group){var s=this.groups[i];s&&s.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)}},s.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||s.length>0)&&this.body.emitter.emit("select",{items:r})}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,s=this.itemFromTarget(t);if(s){var o=e.itemsData.get(s.id);this.options.onUpdate(o,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var r=n.getAbsoluteLeft(this.dom.frame),a=t.gesture.center.pageX-r,h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),c={start:i?i(h,d,l):h,content:"new item"};if("range"===this.options.type){var p=this.body.util.toTime(a+this.props.width/5);c.end=i?i(p,d,l):p}c[this.itemsData._fieldId]=n.randomUUID();var u=this.groupFromTarget(t);u&&(c.group=u.groupId),this.options.onAdd(c,function(t){t&&e.itemsData.getDataSet().add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=this.itemFromTarget(t);if(i){e=this.getSelection();var o=t.gesture.touches[0]&&t.gesture.touches[0].shiftKey||!1;if(o){e.push(i.id);var n=s._getItemRange(this.itemsData.get(e,this.itemOptions));e=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=n.min&&d<=n.max&&!(a instanceof f)&&e.push(a.id)}}else{var l=e.indexOf(i.id);-1==l?e.push(i.id):e.splice(l,1)}this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},s._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},s.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},s.prototype.groupFromTarget=function(t){for(var e=t.gesture?t.gesture.center.pageY:t.pageY,i=0;ia&&ea)return o}else if(0===i&&e"));this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&(1!=this.groups[a].visible||void 0!==this.linegraphOptions.visibility[a]&&1!=this.linegraphOptions.visibility[a]||(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,s,o),r+=o+this.options.iconSpacing));n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,handleOverlap:"overlap",align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,s){i._onAdd(e.items)},update:function(t,e,s){i._onUpdate(e.items)},remove:function(t,e,s){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,s){i._onAddGroups(e.items)},update:function(t,e,s){i._onUpdateGroups(e.items)},remove:function(t,e,s){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(25),d=i(28),l=i(29),c=i(33),p=i(50),u="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new c(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new c(this.body,this.options.legend,"right",this.options.groups),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),c={};for(this._getRelevantData(a,c,d,l),this._applySampling(a,c),e=0;eu&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,e=0;e0)for(r=0;rs){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var s=0;s0){var n=1,r=o.length,a=this.body.util.toGlobalScreen(o[o.length-1].x)-this.body.util.toGlobalScreen(o[0].x),h=r/a;n=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=n)d.push(o[l]);e[t[s]]=d}}},s.prototype._getYRanges=function(t,e,i){var s,o,n,r,a=[],h=[];if(t.length>0){for(n=0;n0&&(o=this.groups[t[n]],"stack"==r.barChart.handleOverlap&&"bar"==r.style?"left"==r.yAxisOrientation?a=a.concat(o.getYRange(s)):h=h.concat(o.getYRange(s)):i[t[n]]=o.getYRange(s,t[n]));p.getStackedBarYRange(a,i,t,"__barchartLeft","left"),p.getStackedBarYRange(h,i,t,"__barchartRight","right")}},s.prototype._updateYAxis=function(t,e){var i,s,o=!1,n=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var c=0;ci?i:a,d=s>d?s:d):(r=!0,h=h>i?i:h,l=s>l?s:l));1==n&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return o=this._toggleAxisVisiblity(n,this.yAxisLeft)||o,o=this._toggleAxisVisiblity(r,this.yAxisRight)||o,1==r&&1==n?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!n,0==this.yAxisRight.master?(this.yAxisLeft.lineOffset=1==r?this.yAxisRight.width:0,o=this.yAxisLeft.redraw()||o,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,o=this.yAxisRight.redraw()||o):o=this.yAxisRight.redraw()||o,-1!=t.indexOf("__barchartLeft")&&t.splice(t.indexOf("__barchartLeft"),1),-1!=t.indexOf("__barchartRight")&&t.splice(t.indexOf("__barchartRight"),1),o},s.prototype._toggleAxisVisiblity=function(t,e){var i=!1;return 0==t?e.dom.frame.parentNode&&0==e.hidden&&(e.hide(),i=!0):e.dom.frame.parentNode||1!=e.hidden||(e.show(),i=!0),i},s.prototype._convertXcoordinates=function(t){for(var e,i,s=[],o=this.body.util.toScreen,n=0;ny;)y++,l=h.getCurrent(),c=h.isMajor(),u=h.getClassName(),f=m,m=this.body.util.toScreen(l),g=m-f,p&&(p.style.width=g+"px"),this.options.showMinorLabels&&this._repaintMinorText(m,h.getLabelMinor(),t,u),c&&this.options.showMajorLabels?(m>0&&(void 0==v&&(v=m),this._repaintMajorText(m,h.getLabelMajor(),t,u)),p=this._repaintMajorLine(m,t,u)):p=this._repaintMinorLine(m,t,u),h.next();if(this.options.showMajorLabels){var b=this.body.util.toTime(0),_=h.getLabelMajor(b),x=_.length*(this.props.majorCharWidth||10)+10;(void 0==v||v>x)&&this._repaintMajorText(0,_,t,u)}o.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},s.prototype._repaintMinorText=function(t,e,i,s){var o=this.dom.redundant.minorTexts.shift();if(!o){var n=document.createTextNode("");o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.minorTexts.push(o),o.childNodes[0].nodeValue=e,o.style.top="top"==i?this.props.majorLabelHeight+"px":"0",o.style.left=t+"px",o.className="text minor "+s},s.prototype._repaintMajorText=function(t,e,i,s){var o=this.dom.redundant.majorTexts.shift();if(!o){var n=document.createTextNode(e);o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.majorTexts.push(o),o.childNodes[0].nodeValue=e,o.className="text major "+s,o.style.top="top"==i?"0":this.props.minorLabelHeight+"px",o.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?o.majorLabelHeight+"px":this.body.domProps.top.height+"px",s.style.height=o.minorLineHeight+"px",s.style.left=t-o.minorLineWidth/2+"px",s.className="grid vertical minor "+i,s},s.prototype._repaintMajorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?"0":this.body.domProps.top.height+"px",s.style.left=t-o.majorLineWidth/2+"px",s.style.height=o.majorLineHeight+"px",s.className="grid vertical major "+i,s},s.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="text minor measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="text major measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},t.exports=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this._determineBrowserMethod(),this._initializeMixinLoaders(),this.containerElement=t,this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=0,this.physicsTime=0,this.runDoubleSpeed=!1,this.physicsDiscreteStepsize=.5,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null};var o=function(t,e,i,s){if(e==t)return.5;var o=1/(e-t);return Math.max(0,(s-t)*o)};this.defaultOptions={nodes:{customScalingFunction:o,mass:1,radiusMin:10,radiusMax:30,radius:10,shape:"ellipse",image:void 0,widthMin:16,widthMax:64,fontColor:"black",fontSize:14,fontFace:"verdana",fontFill:void 0,fontStrokeWidth:0,fontStrokeColor:"#ffffff",fontDrawThreshold:3,scaleFontWithValue:!1,fontSizeMin:14,fontSizeMax:30,fontSizeMaxVisible:30,level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},group:void 0,borderWidth:1,borderWidthSelected:void 0},edges:{customScalingFunction:o,widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},opacity:1,fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",fontStrokeWidth:0,fontStrokeColor:"white",labelAlignment:"horizontal",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from",useGradients:!1},configurePhysics:!1,physics:{barnesHut:{enabled:!0,thetaInverted:2,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09},repulsion:{centralGravity:0,springLength:200,springConstant:.05,nodeDistance:100,damping:.09},hierarchicalRepulsion:{enabled:!1,centralGravity:0,springLength:100,springConstant:.01,nodeDistance:150,damping:.09},damping:null,centralGravity:null,springLength:null,springConstant:null},clustering:{enabled:!1,initialMaxNodes:100,clusterThreshold:500,reduceToNodes:300,chainThreshold:.4,clusterEdgeThreshold:20,sectorThreshold:100,screenSizeThreshold:.2,fontSizeMultiplier:4, -maxFontSize:1e3,forceAmplification:.1,distanceAmplification:.1,edgeGrowth:20,nodeScaling:{width:1,height:1,radius:1},maxNodeSizeIncrements:600,activeAreaBoxSize:80,clusterLevelDifference:2,clusterByZoom:!0},navigation:{enabled:!1},keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},dataManipulation:{enabled:!1,initiallyVisible:!1},hierarchicalLayout:{enabled:!1,levelSeparation:150,nodeSpacing:100,direction:"UD",layout:"hubsize"},freezeForStabilization:!1,smoothCurves:{enabled:!0,dynamic:!0,type:"continuous",roundness:.5},maxVelocity:50,minVelocity:.1,stabilize:!0,stabilizationIterations:1e3,zoomExtentOnStabilize:!0,locale:"en",locales:_,tooltip:{delay:300,fontColor:"black",fontSize:14,fontFace:"verdana",color:{border:"#666",background:"#FFFFC6"}},dragNetwork:!0,dragNodes:!0,zoomable:!0,hover:!1,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,width:"100%",height:"100%",selectable:!0,useDefaultGroups:!0},this.constants=a.extend({},this.defaultOptions),this.pixelRatio=1,this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers=[],this.manipulationHammers=[],this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.animating=!1,this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=null,this.lockedOnNodeOffset=null,this.touchTime=0,this.redrawRequested=!1;var n=this;this.groups=new u,this.images=new m,this.images.setOnloadCallback(function(t){n._requestRedraw()}),this.xIncrement=0,this.yIncrement=0,this.zoomIncrement=0,this._loadPhysicsSystem(),this._create(),this._loadSectorSystem(),this._loadClusterSystem(),this._loadSelectionSystem(),this._loadHierarchySystem(),this._setTranslation(this.frame.clientWidth/2,this.frame.clientHeight/2),this._setScale(1),this.setOptions(i),this.freezeSimulationEnabled=!1,this.cachedFunctions={},this.startedStabilization=!1,this.stabilized=!1,this.stabilizationIterations=null,this.draggingNodes=!1,this.calculationNodes={},this.calculationNodeIndices=[],this.nodeIndices=[],this.nodes={},this.edges={},this.canvasTopLeft={x:0,y:0},this.canvasBottomRight={x:0,y:0},this.pointerPosition={x:0,y:0},this.areaCenter={},this.scale=1,this.previousScale=this.scale,this.nodesData=null,this.edgesData=null,this.nodesListeners={add:function(t,e){n._addNodes(e.items),n.start()},update:function(t,e){n._updateNodes(e.items),n.start()},remove:function(t,e){n._removeNodes(e.items),n.start()}},this.edgesListeners={add:function(t,e){n._addEdges(e.items),n.start()},update:function(t,e){n._updateEdges(e.items),n.start()},remove:function(t,e){n._removeEdges(e.items),n.start()}},this.moving=!0,this.timer=void 0,this.setData(e,this.constants.clustering.enabled||this.constants.hierarchicalLayout.enabled),this.initializing=!1,1==this.constants.hierarchicalLayout.enabled?this._setupHierarchicalLayout():0==this.constants.stabilize&&this.zoomExtent({duration:0},!0,this.constants.clustering.enabled),this.constants.clustering.enabled&&this.startWithClustering()}var o=i(56),n=i(45),r=i(57),a=i(1),h=i(47),d=i(3),l=i(4),c=i(42),p=i(43),u=i(38),m=i(39),f=i(40),g=i(37),v=i(41),y=i(52),b=i(53),_=i(54);i(55),o(s.prototype),s.prototype._determineBrowserMethod=function(){var t=navigator.userAgent.toLowerCase();this.requiresTimeout=!1,-1!=t.indexOf("msie 9.0")?this.requiresTimeout=!0:-1!=t.indexOf("safari")&&t.indexOf("chrome")<=-1&&(this.requiresTimeout=!0)},s.prototype._getScriptPath=function(){for(var t=document.getElementsByTagName("script"),e=0;e0)for(var r=0;re.boundingBox.left&&(o=e.boundingBox.left),ne.boundingBox.bottom&&(i=e.boundingBox.top),se.boundingBox.left&&(o=e.boundingBox.left),ne.boundingBox.bottom&&(i=e.boundingBox.top),s.5*this.nodeIndices.length)return void this.zoomExtent(t,!1,i);s=this._getRange(t.nodes);var h=this.nodeIndices.length;o=1==this.constants.smoothCurves?1==this.constants.clustering.enabled&&h>=this.constants.clustering.initialMaxNodes?49.07548/(h+142.05338)+91444e-8:12.662/(h+7.4147)+.0964822:1==this.constants.clustering.enabled&&h>=this.constants.clustering.initialMaxNodes?77.5271985/(h+187.266146)+476710517e-13:30.5062972/(h+19.93597763)+.08413486;var d=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);o*=d}else{s=this._getRange(t.nodes);var l=1.1*Math.abs(s.maxX-s.minX),c=1.1*Math.abs(s.maxY-s.minY),p=this.frame.canvas.clientWidth/l,u=this.frame.canvas.clientHeight/c;o=u>=p?p:u}o>1&&(o=1);var m=this._findCenter(s);if(0==i){var t={position:m,scale:o,animation:t};this.moveTo(t),this.moving=!0,this.start()}else m.x*=o,m.y*=o,m.x-=.5*this.frame.canvas.clientWidth,m.y-=.5*this.frame.canvas.clientHeight,this._setScale(o),this._setTranslation(-m.x,-m.y)},s.prototype._updateNodeIndexList=function(){this._clearNodeIndexList();for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodeIndices.push(t)},s.prototype.setData=function(t,e){if(void 0===e&&(e=!1),this._unselectAll(!0),this.initializing=!0,t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(1==this.constants.dataManipulation.enabled&&this._createManipulatorBar(),this.setOptions(t&&t.options),t&&t.dot){if(t&&t.dot){var i=c.DOTToGraph(t.dot);return void this.setData(i)}}else if(t&&t.gephi){if(t&&t.gephi){var s=p.parseGephi(t.gephi);return void this.setData(s)}}else this._setNodes(t&&t.nodes),this._setEdges(t&&t.edges);this._putDataInSector(),0==e&&(1==this.constants.hierarchicalLayout.enabled?(this._resetLevels(),this._setupHierarchicalLayout()):1==this.constants.stabilize&&this._stabilize(),this.start()),this.initializing=!1},s.prototype.setOptions=function(t){if(t){var e,i=["nodes","edges","smoothCurves","hierarchicalLayout","clustering","navigation","keyboard","dataManipulation","onAdd","onEdit","onEditEdge","onConnect","onDelete","clickToUse"];if(a.selectiveNotDeepExtend(i,this.constants,t),a.selectiveNotDeepExtend(["color"],this.constants.nodes,t.nodes),a.selectiveNotDeepExtend(["color","length"],this.constants.edges,t.edges),this.groups.useDefaultGroups=this.constants.useDefaultGroups,t.physics&&(a.mergeOptions(this.constants.physics,t.physics,"barnesHut"),a.mergeOptions(this.constants.physics,t.physics,"repulsion"),t.physics.hierarchicalRepulsion)){this.constants.hierarchicalLayout.enabled=!0,this.constants.physics.hierarchicalRepulsion.enabled=!0,this.constants.physics.barnesHut.enabled=!1;for(e in t.physics.hierarchicalRepulsion)t.physics.hierarchicalRepulsion.hasOwnProperty(e)&&(this.constants.physics.hierarchicalRepulsion[e]=t.physics.hierarchicalRepulsion[e])}if(t.onAdd&&(this.triggerFunctions.add=t.onAdd),t.onEdit&&(this.triggerFunctions.edit=t.onEdit),t.onEditEdge&&(this.triggerFunctions.editEdge=t.onEditEdge),t.onConnect&&(this.triggerFunctions.connect=t.onConnect),t.onDelete&&(this.triggerFunctions.del=t.onDelete),a.mergeOptions(this.constants,t,"smoothCurves"),a.mergeOptions(this.constants,t,"hierarchicalLayout"),a.mergeOptions(this.constants,t,"clustering"),a.mergeOptions(this.constants,t,"navigation"),a.mergeOptions(this.constants,t,"keyboard"),a.mergeOptions(this.constants,t,"dataManipulation"),t.dataManipulation&&(this.editMode=this.constants.dataManipulation.initiallyVisible),t.edges&&(void 0!==t.edges.color&&(a.isString(t.edges.color)?(this.constants.edges.color={},this.constants.edges.color.color=t.edges.color,this.constants.edges.color.highlight=t.edges.color,this.constants.edges.color.hover=t.edges.color):(void 0!==t.edges.color.color&&(this.constants.edges.color.color=t.edges.color.color),void 0!==t.edges.color.highlight&&(this.constants.edges.color.highlight=t.edges.color.highlight),void 0!==t.edges.color.hover&&(this.constants.edges.color.hover=t.edges.color.hover)),this.constants.edges.inheritColor=!1),t.edges.fontColor||void 0!==t.edges.color&&(a.isString(t.edges.color)?this.constants.edges.fontColor=t.edges.color:void 0!==t.edges.color.color&&(this.constants.edges.fontColor=t.edges.color.color))),t.nodes&&t.nodes.color){var s=a.parseColor(t.nodes.color);this.constants.nodes.color.background=s.background,this.constants.nodes.color.border=s.border,this.constants.nodes.color.highlight.background=s.highlight.background,this.constants.nodes.color.highlight.border=s.highlight.border,this.constants.nodes.color.hover.background=s.hover.background,this.constants.nodes.color.hover.border=s.hover.border}if(t.groups)for(var o in t.groups)if(t.groups.hasOwnProperty(o)){var n=t.groups[o];this.groups.add(o,n)}if(t.tooltip){for(e in t.tooltip)t.tooltip.hasOwnProperty(e)&&(this.constants.tooltip[e]=t.tooltip[e]);t.tooltip.color&&(this.constants.tooltip.color=a.parseColor(t.tooltip.color))}if("clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new b(this.frame),this.activator.on("change",this._createKeyBinds.bind(this))):this.activator&&(this.activator.destroy(),delete this.activator)),t.labels)throw new Error('Option "labels" is deprecated. Use options "locale" and "locales" instead.');this._loadPhysicsSystem(),this._loadNavigationControls(),this._loadManipulationSystem(),this._configureSmoothCurves(),this._bindHammer(),this._createKeyBinds(),this._markAllEdgesAsDirty(),this.setSize(this.constants.width,this.constants.height),this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.start()}},s.prototype._create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis network-frame",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this._bindHammer()},s.prototype._bindHammer=function(){var t=this;void 0!==this.hammer&&this.hammer.dispose(),this.drag={},this.pinch={},this.hammer=n(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",t._onTap.bind(t)),this.hammer.on("doubletap",t._onDoubleTap.bind(t)),this.hammer.on("hold",t._onHold.bind(t)),this.hammer.on("touch",t._onTouch.bind(t)),this.hammer.on("dragstart",t._onDragStart.bind(t)),this.hammer.on("drag",t._onDrag.bind(t)),this.hammer.on("dragend",t._onDragEnd.bind(t)),1==this.constants.zoomable&&(this.hammer.on("mousewheel",t._onMouseWheel.bind(t)),this.hammer.on("DOMMouseScroll",t._onMouseWheel.bind(t)),this.hammer.on("pinch",t._onPinch.bind(t))),this.hammer.on("mousemove",t._onMouseMoveTitle.bind(t)),this.hammerFrame=n(this.frame,{prevent_default:!0}),this.hammerFrame.on("release",t._onRelease.bind(t)),this.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=r(1==this.constants.keyboard.bindToWindow?{container:window,preventDefault:!1}:{container:this.frame,preventDefault:!1}),this.keycharm.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.keycharm.bind("up",this._moveUp.bind(t),"keydown"),this.keycharm.bind("up",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("down",this._moveDown.bind(t),"keydown"),this.keycharm.bind("down",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("left",this._moveLeft.bind(t),"keydown"),this.keycharm.bind("left",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("right",this._moveRight.bind(t),"keydown"),this.keycharm.bind("right",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("=",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("=",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num+",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("num+",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("num-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("[",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("[",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("]",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("]",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pageup",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("pageup",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.keycharm.bind("esc",this._createManipulatorBar.bind(t)),this.keycharm.bind("delete",this._deleteSelected.bind(t)))},s.prototype.destroy=function(){this.start=function(){},this.redraw=function(){},this.timer=!1,this._cleanupPhysicsConfiguration(),this.keycharm.reset(),this.hammer.dispose(),this.off(),this._recursiveDOMDelete(this.containerElement)},s.prototype._recursiveDOMDelete=function(t){for(;1==t.hasChildNodes();)this._recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},s.prototype._getPointer=function(t){return{x:t.pageX-a.getAbsoluteLeft(this.frame.canvas),y:t.pageY-a.getAbsoluteTop(this.frame.canvas)}},s.prototype._onTouch=function(t){(new Date).valueOf()-this.touchTime>100&&(this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this.touchTime=(new Date).valueOf(),this._handleTouch(this.drag.pointer))},s.prototype._onDragStart=function(t){this._handleDragStart(t)},s.prototype._handleDragStart=function(t){void 0===this.drag.pointer&&this._onTouch(t);var e=this._getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=this._getTranslation(),this.drag.nodeId=null,this.draggingNodes=!1,null!=e&&1==this.constants.dragNodes){this.draggingNodes=!0,this.drag.nodeId=e.id,e.isSelected()||this._selectObject(e,!1),this.emit("dragStart",{nodeIds:this.getSelection().nodes});for(var i in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(i)){var s=this.selectionObj.nodes[i],o={id:s.id,node:s,x:s.x,y:s.y,xFixed:s.xFixed,yFixed:s.yFixed};s.xFixed=!0,s.yFixed=!0,this.drag.selection.push(o)}}},s.prototype._onDrag=function(t){this._handleOnDrag(t)},s.prototype._handleOnDrag=function(t){if(!this.drag.pinched){this.releaseNode();var e=this._getPointer(t.gesture.center),i=this,s=this.drag,o=s.selection;if(o&&o.length&&1==this.constants.dragNodes){var n=e.x-s.pointer.x,r=e.y-s.pointer.y;o.forEach(function(t){var e=t.node;t.xFixed||(e.x=i._XconvertDOMtoCanvas(i._XconvertCanvasToDOM(t.x)+n)),t.yFixed||(e.y=i._YconvertDOMtoCanvas(i._YconvertCanvasToDOM(t.y)+r))}),this.moving||(this.moving=!0,this.start())}else if(1==this.constants.dragNetwork){if(void 0===this.drag.pointer)return void this._handleDragStart(t);var a=e.x-this.drag.pointer.x,h=e.y-this.drag.pointer.y;this._setTranslation(this.drag.translation.x+a,this.drag.translation.y+h),this._redraw()}}},s.prototype._onDragEnd=function(t){this._handleDragEnd(t)},s.prototype._handleDragEnd=function(t){this.drag.dragging=!1;var e=this.drag.selection;e&&e.length?(e.forEach(function(t){t.node.xFixed=t.xFixed,t.node.yFixed=t.yFixed}),this.moving=!0,this.start()):this._redraw(),0==this.draggingNodes?this.emit("dragEnd",{nodeIds:[]}):this.emit("dragEnd",{nodeIds:this.getSelection().nodes})},s.prototype._onTap=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleTap(e)},s.prototype._onDoubleTap=function(t){var e=this._getPointer(t.gesture.center);this._handleDoubleTap(e)},s.prototype._onHold=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleOnHold(e)},s.prototype._onRelease=function(t){var e=this._getPointer(t.gesture.center);this._handleOnRelease(e)},s.prototype._onPinch=function(t){var e=this._getPointer(t.gesture.center);this.drag.pinched=!0,"scale"in this.pinch||(this.pinch.scale=1);var i=this.pinch.scale*t.gesture.scale;this._zoom(i,e)},s.prototype._zoom=function(t,e){if(1==this.constants.zoomable){var i=this._getScale();1e-5>t&&(t=1e-5),t>10&&(t=10);var s=null;void 0!==this.drag&&1==this.drag.dragging&&(s=this.DOMtoCanvas(this.drag.pointer));var o=this._getTranslation(),n=t/i,r=(1-n)*e.x+o.x*n,a=(1-n)*e.y+o.y*n;if(this.areaCenter={x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)},this._setScale(t),this._setTranslation(r,a),this.updateClustersDefault(),null!=s){var h=this.canvasToDOM(s);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}return this._redraw(),t>i?this.emit("zoom",{direction:"+"}):this.emit("zoom",{direction:"-"}),t}},s.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i=this._getScale(),s=e/10;0>e&&(s/=1-s),i*=1+s;var o=h.fakeGesture(this,t),n=this._getPointer(o.center);this._zoom(i,n)}t.preventDefault()},s.prototype._onMouseMoveTitle=function(t){var e=h.fakeGesture(this,t),i=this._getPointer(e.center),s=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(s=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),0==this.constants.keyboard.bindToWindow&&1==this.constants.keyboard.enabled&&this.frame.focus(),s===!1){var o=this,n=function(){o._checkShowPopup(i)};this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(n,this.constants.tooltip.delay))}if(1==this.constants.hover){for(var r in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(r)&&(this.hoverObj.edges[r].hover=!1,delete this.hoverObj.edges[r]);var a=this._getNodeAt(i);null==a&&(a=this._getEdgeAt(i)),null!=a&&this._hoverObject(a);for(var d in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(d)&&(a instanceof f&&a.id!=d||a instanceof g||null==a)&&(this._blurObject(this.hoverObj.nodes[d]),delete this.hoverObj.nodes[d]);this.redraw()}},s.prototype._checkShowPopup=function(t){var e,i={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},s=void 0===this.popupObj?"":this.popupObj.id,o=!1,n="node";if(void 0==this.popupObj){var r=this.nodes,a=[];for(e in r)if(r.hasOwnProperty(e)){var h=r[e];h.isOverlappingWith(i)&&void 0!==h.getTitle()&&a.push(e)}a.length>0&&(this.popupObj=this.nodes[a[a.length-1]],o=!0)}if(void 0===this.popupObj&&0==o){var d=this.edges,l=[];for(e in d)if(d.hasOwnProperty(e)){var c=d[e];c.connected&&void 0!==c.getTitle()&&c.isOverlappingWith(i)&&l.push(e)}l.length>0&&(this.popupObj=this.edges[l[l.length-1]],n="edge")}this.popupObj?this.popupObj.id!=s&&(void 0===this.popup&&(this.popup=new v(this.frame,this.constants.tooltip)),this.popup.popupTargetType=n,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show()):this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){var e={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},i=!1;if("node"==this.popup.popupTargetType){if(i=this.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0){var s=this._getNodeAt(t);i=s.id==this.popup.popupTargetId}}else null===this._getNodeAt(t)&&(i=this.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide())},s.prototype.setSize=function(t,e){var i=!1,s=this.frame.canvas.width,o=this.frame.canvas.height;t!=this.constants.width||e!=this.constants.height||this.frame.style.width!=t||this.frame.style.height!=e?(this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth*this.pixelRatio,this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,this.constants.width=t,this.constants.height=e,i=!0):(this.frame.canvas.width!=this.frame.canvas.clientWidth*this.pixelRatio&&(this.frame.canvas.width=this.frame.canvas.clientWidth*this.pixelRatio,i=!0),this.frame.canvas.height!=this.frame.canvas.clientHeight*this.pixelRatio&&(this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,i=!0)),1==i&&this.emit("resize",{width:this.frame.canvas.width*this.pixelRatio,height:this.frame.canvas.height*this.pixelRatio,oldWidth:s*this.pixelRatio,oldHeight:o*this.pixelRatio})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(Array.isArray(t))this.nodesData=new d,this.nodesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.nodesData=new d}if(e&&a.forEach(this.nodesListeners,function(t,i){e.off(i,t)}),this.nodes={},this.nodesData){var i=this;a.forEach(this.nodesListeners,function(t,e){i.nodesData.on(e,t)});var s=this.nodesData.getIds();this._addNodes(s)}this._updateSelection()},s.prototype._addNodes=function(t){for(var e,i=this.nodesData._fieldId||null,s=0,o=t.length;o>s;s++){e=t[s];var n=this.nodesData.get(e);i&&(n.id=n[i]);var r=new f(n,this.images,this.groups,this.constants);if(this.nodes[e]=r,!(0!=r.xFixed&&0!=r.yFixed||null!==r.x&&null!==r.y)){var a=1*t.length+10,h=2*Math.PI*Math.random();0==r.xFixed&&(r.x=a*Math.cos(h)),0==r.yFixed&&(r.y=a*Math.sin(h))}this.moving=!0}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateValueRange(this.nodes),this.updateLabels()},s.prototype._updateNodes=function(t){for(var e=this.nodesData.get(t),i=this.nodes,s=0,o=t.length;o>s;s++){var n=t[s],r=i[n],a=e[s];r?r.setProperties(a,this.constants):(r=new f(properties,this.images,this.groups,this.constants),i[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._updateValueRange(i),this._markAllEdgesAsDirty()},s.prototype._markAllEdgesAsDirty=function(){for(var t in this.edges)this.edges[t].colorDirty=!0},s.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++)void 0!==this.selectionObj.nodes[t[i]]&&(this.nodes[t[i]].unselect(),this._removeFromSelection(this.nodes[t[i]]));for(var i=0,s=t.length;s>i;i++){var o=t[i];delete e[o]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},s.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof d||t instanceof l)this.edgesData=t;else if(Array.isArray(t))this.edgesData=new d,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new d}if(e&&a.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;a.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},s.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=this.edgesData._fieldId,o=0,n=t.length;n>o;o++){var r=t[o],a=e[r];a&&a.disconnect();var h=i.get(r,{showInternalIds:!0});s&&(h.id=h[s]),e[r]=new g(h,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),this._updateCalculationNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout())},s.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=i.get(n),a=e[n];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new g(r,this,this.constants),this.edges[n]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},s.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++)void 0!==this.selectionObj.edges[t[i]]&&(e[t[i]].unselect(),this._removeFromSelection(e[t[i]]));for(var i=0,s=t.length;s>i;i++){var o=t[i],n=e[o];n&&(null!=n.via&&delete this.sectors.support.nodes[n.via.id],n.disconnect(),delete e[o])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[],e[t].dynamicEdges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},s.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0,o=0;for(e in t)if(t.hasOwnProperty(e)){var n=t[e].getValue();void 0!==n&&(i=void 0===i?n:Math.min(n,i),s=void 0===s?n:Math.max(n,s),o+=n)}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s,o)},s.prototype.redraw=function(){this.setSize(this.constants.width,this.constants.height),this._redraw()},s.prototype._requestRedraw=function(t){this.redrawRequested!==!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(this._redraw.bind(this,t),0):window.requestAnimationFrame(this._redraw.bind(this,t,!0)))},s.prototype._redraw=function(t,e){void 0===t&&(t=!1),this.redrawRequested=!1;var i=this.frame.canvas.getContext("2d");i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var s=this.frame.canvas.clientWidth,o=this.frame.canvas.clientHeight;i.clearRect(0,0,s,o),i.save(),i.translate(this.translation.x,this.translation.y),i.scale(this.scale,this.scale),this.canvasTopLeft={x:this._XconvertDOMtoCanvas(0),y:this._YconvertDOMtoCanvas(0)},this.canvasBottomRight={x:this._XconvertDOMtoCanvas(this.frame.canvas.clientWidth),y:this._YconvertDOMtoCanvas(this.frame.canvas.clientHeight)},t===!1&&(this._doInAllSectors("_drawAllSectorNodes",i),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideEdgesOnDrag)&&this._doInAllSectors("_drawEdges",i)),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideNodesOnDrag)&&this._doInAllSectors("_drawNodes",i,!1),t===!1&&1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",i),i.restore(),t===!0&&i.clearRect(0,0,s,o)},s.prototype._setTranslation=function(t,e){void 0===this.translation&&(this.translation={x:0,y:0}),void 0!==t&&(this.translation.x=t),void 0!==e&&(this.translation.y=e),this.emit("viewChanged")},s.prototype._getTranslation=function(){return{x:this.translation.x,y:this.translation.y}},s.prototype._setScale=function(t){this.scale=t},s.prototype._getScale=function(){return this.scale},s.prototype._XconvertDOMtoCanvas=function(t){return(t-this.translation.x)/this.scale},s.prototype._XconvertCanvasToDOM=function(t){return t*this.scale+this.translation.x},s.prototype._YconvertDOMtoCanvas=function(t){return(t-this.translation.y)/this.scale},s.prototype._YconvertCanvasToDOM=function(t){return t*this.scale+this.translation.y},s.prototype.canvasToDOM=function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}},s.prototype.DOMtoCanvas=function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}},s.prototype._drawNodes=function(t,e){void 0===e&&(e=!1);var i=this.nodes,s=[];for(var o in i)i.hasOwnProperty(o)&&(i[o].setScaleAndPos(this.scale,this.canvasTopLeft,this.canvasBottomRight),i[o].isSelected()?s.push(o):(i[o].inArea()||e)&&i[o].draw(t));for(var n=0,r=s.length;r>n;n++)(i[s[n]].inArea()||e)&&i[s[n]].draw(t)},s.prototype._drawEdges=function(t){var e=this.edges;for(var i in e)if(e.hasOwnProperty(i)){var s=e[i];s.setScale(this.scale),s.connected&&e[i].draw(t)}},s.prototype._drawControlNodes=function(t){var e=this.edges;for(var i in e)e.hasOwnProperty(i)&&e[i]._drawControlNodes(t)},s.prototype._stabilize=function(){1==this.constants.freezeForStabilization&&this._freezeDefinedNodes();for(var t=0;this.moving&&t0)for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStepLimited(e,this.constants.maxVelocity),s=!0);else for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStep(e),s=!0);if(1==s){var o=this.constants.minVelocity/Math.max(this.scale,.05);return o>.5*this.constants.maxVelocity?!0:this._isMoving(o)}return!1},s.prototype._revertPhysicsState=function(){var t=this.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].revertPosition()},s.prototype._revertPhysicsTick=function(){this._doInAllActiveSectors("_revertPhysicsState"),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&this._doInSupportSector("_revertPhysicsState")},s.prototype._physicsTick=function(){if(!this.freezeSimulationEnabled&&1==this.moving){var t=!1,e=!1;this._doInAllActiveSectors("_initializeForceCalculation");var i=this._doInAllActiveSectors("_discreteStepNodes");1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&(e=this._doInSupportSector("_discreteStepNodes"));for(var s=0;s2*e||1==this.runDoubleSpeed)&&1==this.moving&&(this._physicsTick(),0!=this.renderTime&&(this.runDoubleSpeed=!0))}var i=Date.now();this._redraw(), -this.renderTime=Date.now()-i,0==this.requiresTimeout&&this.start()},"undefined"!=typeof window&&(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),s.prototype.start=function(){if(1==this.freezeSimulationEnabled&&(this.moving=!1),1==this.moving||0!=this.xIncrement||0!=this.yIncrement||0!=this.zoomIncrement||1==this.animating)this.timer||(this.timer=1==this.requiresTimeout?window.setTimeout(this._animationStep.bind(this),this.renderTimestep):window.requestAnimationFrame(this._animationStep.bind(this)));else if(this._requestRedraw(),this.stabilizationIterations>1){var t=this,e={iterations:t.stabilizationIterations};this.stabilizationIterations=0,this.startedStabilization=!1,setTimeout(function(){t.emit("stabilized",e)},0)}else this.stabilizationIterations=0},s.prototype._handleNavigation=function(){if(0!=this.xIncrement||0!=this.yIncrement){var t=this._getTranslation();this._setTranslation(t.x+this.xIncrement,t.y+this.yIncrement)}if(0!=this.zoomIncrement){var e={x:this.frame.canvas.clientWidth/2,y:this.frame.canvas.clientHeight/2};this._zoom(this.scale*(1+this.zoomIncrement),e)}},s.prototype.freezeSimulation=function(t){1==t?(this.freezeSimulationEnabled=!0,this.moving=!1):(this.freezeSimulationEnabled=!1,this.moving=!0,this.start())},s.prototype._configureSmoothCurves=function(t){if(void 0===t&&(t=!0),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this._createBezierNodes();for(var e in this.sectors.support.nodes)this.sectors.support.nodes.hasOwnProperty(e)&&void 0===this.edges[this.sectors.support.nodes[e].parentEdgeId]&&delete this.sectors.support.nodes[e]}else{this.sectors.support.nodes={};for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.edges[i].via=null)}this._updateCalculationNodes(),t||(this.moving=!0,this.start())},s.prototype._createBezierNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic)for(var t in this.edges)if(this.edges.hasOwnProperty(t)){var e=this.edges[t];if(null==e.via){var i="edgeId:".concat(e.id);this.sectors.support.nodes[i]=new f({id:i,mass:1,shape:"circle",image:"",internalMultiplier:1},{},{},this.constants),e.via=this.sectors.support.nodes[i],e.via.parentEdgeId=e.id,e.positionBezierNode()}}},s.prototype._initializeMixinLoaders=function(){for(var t in y)y.hasOwnProperty(t)&&(s.prototype[t]=y[t])},s.prototype.storePosition=function(){console.log("storePosition is depricated: use .storePositions() from now on."),this.storePositions()},s.prototype.storePositions=function(){var t=[];for(var e in this.nodes)if(this.nodes.hasOwnProperty(e)){var i=this.nodes[e],s=!this.nodes.xFixed,o=!this.nodes.yFixed;(this.nodesData._data[e].x!=Math.round(i.x)||this.nodesData._data[e].y!=Math.round(i.y))&&t.push({id:e,x:Math.round(i.x),y:Math.round(i.y),allowedToMoveX:s,allowedToMoveY:o})}this.nodesData.update(t)},s.prototype.getPositions=function(t){var e={};if(void 0!==t){if(1==Array.isArray(t)){for(var i=0;i=1&&(this.animating=!1,this.easingTime=0,this._redraw=null!=this.lockedOnNodeId?this._lockedRedraw:this._classicRedraw,this.emit("animationFinished"))},s.prototype._classicRedraw=function(){},s.prototype.isActive=function(){return!this.activator||this.activator.active},s.prototype.setScale=function(){return this._setScale()},s.prototype.getScale=function(){return this._getScale()},s.prototype.getCenterCoordinates=function(){return this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight})},s.prototype.getBoundingBox=function(t){return void 0!==this.nodes[t]?this.nodes[t].boundingBox:void 0},s.prototype.getConnectedNodes=function(t){var e=[];if(void 0!==this.nodes[t])for(var i=this.nodes[t],s={nodeId:!0},o=0;oh}return!1},s.prototype._getColor=function(t){var e=this.options.color;if(1==this.options.useGradients){var i,s,n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y);return i=this.from.options.color.highlight.border,s=this.to.options.color.highlight.border,0==this.from.selected&&0==this.to.selected?(i=o.overrideOpacity(this.from.options.color.border,this.options.opacity),s=o.overrideOpacity(this.to.options.color.border,this.options.opacity)):1==this.from.selected&&0==this.to.selected?s=this.to.options.color.border:0==this.from.selected&&1==this.to.selected&&(i=this.from.options.color.border),n.addColorStop(0,i),n.addColorStop(1,s),n}return this.colorDirty===!0&&("to"==this.options.inheritColor?e={highlight:this.to.options.color.highlight.border,hover:this.to.options.color.hover.border,color:o.overrideOpacity(this.from.options.color.border,this.options.opacity)}:("from"==this.options.inheritColor||1==this.options.inheritColor)&&(e={highlight:this.from.options.color.highlight.border,hover:this.from.options.color.hover.border,color:o.overrideOpacity(this.from.options.color.border,this.options.opacity)}),this.options.color=e,this.colorDirty=!1),1==this.selected?e.highlight:1==this.hover?e.hover:e.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(t),t.lineWidth=this._getLineWidth(),this.from!=this.to){var e,i=this._line(t);if(this.label){if(1==this.options.smoothCurves.enabled&&null!=i){var s=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),o=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:s,y:o}}else e=this._pointOnLine(.5);this._label(t,this.label,e.x,e.y)}}else{var n,r,a=this.physics.springLength/4,h=this.from;h.width||h.resize(t),h.width>h.height?(n=h.x+h.width/2,r=h.y-a):(n=h.x+a,r=h.y-h.height/2),this._circle(t,n,r,a),e=this._pointOnCircle(n,r,a,.5),this._label(t,this.label,e.x,e.y)}},s.prototype._getLineWidth=function(){return 1==this.selected?Math.max(Math.min(this.widthSelected,this.options.widthMax),.3*this.networkScaleInv):1==this.hover?Math.max(Math.min(this.options.hoverWidth,this.options.widthMax),.3*this.networkScaleInv):Math.max(this.options.width,.3*this.networkScaleInv)},s.prototype._getViaCoordinates=function(){if(1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled)return this.via;if(0==this.options.smoothCurves.enabled)return{x:0,y:0};var t=null,e=null,i=this.options.smoothCurves.roundness,s=this.options.smoothCurves.type,o=Math.abs(this.from.x-this.to.x),n=Math.abs(this.from.y-this.to.y);if("discrete"==s||"diagonalCross"==s)Math.abs(this.from.x-this.to.x)this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"==s&&(t=i*n>o?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o)),"discrete"==s&&(e=i*o>n?this.from.y:e));else if("straightCross"==s)Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o,e=this.to.yd;d++){var l=t.measureText(n[d]).width;h=l>h?l:h}var c=this.options.fontSize*r,p=i-h/2,u=s-c/2;this.labelDimensions={top:u,left:p,width:h,height:c,yLine:o}}var o=this.labelDimensions.yLine;t.save(),"horizontal"!=this.options.labelAlignment&&(t.translate(i,o),this._rotateForLabelAlignment(t),i=0,o=0),this._drawLabelRect(t),this._drawLabelText(t,i,o,n,r,a),t.restore()}},s.prototype._rotateForLabelAlignment=function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,s=Math.atan2(e,i);(-1>s&&0>i||s>0&&0>i)&&(s+=Math.PI),t.rotate(s)},s.prototype._drawLabelRect=function(t){if(void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill){t.fillStyle=this.options.fontFill;var e=2;"line-center"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,.5*-this.labelDimensions.height,this.labelDimensions.width,this.labelDimensions.height):"line-above"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,-(this.labelDimensions.height+e),this.labelDimensions.width,this.labelDimensions.height):"line-below"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,e,this.labelDimensions.width,this.labelDimensions.height):t.fillRect(this.labelDimensions.left,this.labelDimensions.top,this.labelDimensions.width,this.labelDimensions.height)}},s.prototype._drawLabelText=function(t,e,i,s,o,n){if(t.fillStyle=this.options.fontColor||"black",t.textAlign="center","horizontal"!=this.options.labelAlignment){var r=2;"line-above"==this.options.labelAlignment?(t.textBaseline="alphabetic",i-=2*r):"line-below"==this.options.labelAlignment?(t.textBaseline="hanging",i+=2*r):t.textBaseline="middle"}else t.textBaseline="middle";this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=this.options.fontStrokeColor,t.lineJoin="round");for(var a=0;o>a;a++)this.options.fontStrokeWidth>0&&t.strokeText(s[a],e,i),t.fillText(s[a],e,i),i+=n},s.prototype._drawDashLine=function(t){t.strokeStyle=this._getColor(t),t.lineWidth=this._getLineWidth();var e=null;if(void 0!==t.setLineDash){t.save();var i=[0];i=void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?[this.options.dash.length,this.options.dash.gap]:[5,5],t.setLineDash(i),t.lineDashOffset=0,e=this._line(t),t.setLineDash([0]),t.lineDashOffset=0,t.restore()}else t.beginPath(),t.lineCap="round",void 0!==this.options.dash.altLength?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap,this.options.dash.altLength,this.options.dash.gap]):void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap]):(t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y)),t.stroke();if(this.label){var s;if(1==this.options.smoothCurves.enabled&&null!=e){var o=.5*(.5*(this.from.x+e.x)+.5*(this.to.x+e.x)),n=.5*(.5*(this.from.y+e.y)+.5*(this.to.y+e.y));s={x:o,y:n}}else s=this._pointOnLine(.5);this._label(t,this.label,s.x,s.y)}},s.prototype._pointOnLine=function(t){return{x:(1-t)*this.from.x+t*this.to.x,y:(1-t)*this.from.y+t*this.to.y}},s.prototype._pointOnCircle=function(t,e,i,s){var o=2*(s-3/8)*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}},s.prototype._drawArrowCenter=function(t){var e;if(t.strokeStyle=this._getColor(t),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth(),this.from!=this.to){var i=this._line(t),s=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),o=(10+5*this.options.width)*this.options.arrowScaleFactor;if(1==this.options.smoothCurves.enabled&&null!=i){var n=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),r=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:n,y:r}}else e=this._pointOnLine(.5);t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&this._label(t,this.label,e.x,e.y)}else{var a,h,d=.25*Math.max(100,this.physics.springLength),l=this.from;l.width||l.resize(t),l.width>l.height?(a=l.x+.5*l.width,h=l.y-d):(a=l.x+d,h=l.y-.5*l.height),this._circle(t,a,h,d);var s=.2*Math.PI,o=(10+5*this.options.width)*this.options.arrowScaleFactor;e=this._pointOnCircle(a,h,d,.5),t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&(e=this._pointOnCircle(a,h,d,.5),this._label(t,this.label,e.x,e.y))}},s.prototype._pointOnBezier=function(t){var e=this._getViaCoordinates(),i=Math.pow(1-t,2)*this.from.x+2*t*(1-t)*e.x+Math.pow(t,2)*this.to.x,s=Math.pow(1-t,2)*this.from.y+2*t*(1-t)*e.y+Math.pow(t,2)*this.to.y;return{x:i,y:s}},s.prototype._findBorderPosition=function(t,e){var i,s,o,n,r,a=10,h=0,d=0,l=1,c=.2,p=this.to;for(1==t&&(p=this.from);l>=d&&a>h;){var u=.5*(d+l);if(i=this._pointOnBezier(u),s=Math.atan2(p.y-i.y,p.x-i.x),o=p.distanceToBorder(e,s),n=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=o-n,Math.abs(r)r?0==t?d=u:l=u:0==t?l=u:d=u,h++}return i.t=u,i},s.prototype._drawArrow=function(t){t.strokeStyle=this._getColor(t),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth();var e,i,s;if(this.from!=this.to){if(this._line(t),1==this.options.smoothCurves.enabled){var o=this._getViaCoordinates();s=this._findBorderPosition(!1,t);var n=this._pointOnBezier(Math.max(0,s.t-.1));e=Math.atan2(s.y-n.y,s.x-n.x)}else{e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var r=this.to.x-this.from.x,a=this.to.y-this.from.y,h=Math.sqrt(r*r+a*a),d=this.to.distanceToBorder(t,e),l=(h-d)/h;s={},s.x=(1-l)*this.from.x+l*this.to.x,s.y=(1-l)*this.from.y+l*this.to.y}if(i=(10+5*this.options.width)*this.options.arrowScaleFactor,t.arrow(s.x,s.y,e,i),t.fill(),t.stroke(),this.label){var c;c=1==this.options.smoothCurves.enabled&&null!=o?this._pointOnBezier(.5):this._pointOnLine(.5),this._label(t,this.label,c.x,c.y)}}else{var p,u,m,f=this.from,g=.25*Math.max(100,this.physics.springLength);f.width||f.resize(t),f.width>f.height?(p=f.x+.5*f.width,u=f.y-g,m={x:p,y:f.y,angle:.9*Math.PI}):(p=f.x+g,u=f.y-.5*f.height,m={x:f.x,y:u,angle:.6*Math.PI}),t.beginPath(),t.arc(p,u,g,0,2*Math.PI,!1),t.stroke();var i=(10+5*this.options.width)*this.options.arrowScaleFactor;t.arrow(m.x,m.y,m.angle,i),t.fill(),t.stroke(),this.label&&(c=this._pointOnCircle(p,u,g,.5),this._label(t,this.label,c.x,c.y))}},s.prototype._getDistanceToEdge=function(t,e,i,s,o,n){var r=0;if(this.from!=this.to)if(1==this.options.smoothCurves.enabled){var a,h;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)a=this.via.x,h=this.via.y;else{var d=this._getViaCoordinates();a=d.x,h=d.y}var l,c,p,u,m,f,g,v=1e9;for(c=0;10>c;c++)p=.1*c,u=Math.pow(1-p,2)*t+2*p*(1-p)*a+Math.pow(p,2)*i,m=Math.pow(1-p,2)*e+2*p*(1-p)*h+Math.pow(p,2)*s,c>0&&(l=this._getDistanceToLine(f,g,u,m,o,n),v=v>l?l:v),f=u,g=m;r=v}else r=this._getDistanceToLine(t,e,i,s,o,n);else{var u,m,y,b,_=.25*this.physics.springLength,x=this.from;x.width>x.height?(u=x.x+.5*x.width,m=x.y-_):(u=x.x+_,m=x.y-.5*x.height),y=u-o,b=m-n,r=Math.abs(Math.sqrt(y*y+b*b)-_)}return this.labelDimensions.lefto&&this.labelDimensions.topn?0:r},s.prototype._getDistanceToLine=function(t,e,i,s,o,n){var r=i-t,a=s-e,h=r*r+a*a,d=((o-t)*r+(n-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,c=e+d*a,p=l-o,u=c-n;return Math.sqrt(p*p+u*u)},s.prototype.setScale=function(t){this.networkScaleInv=1/t},s.prototype.select=function(){this.selected=!0},s.prototype.unselect=function(){this.selected=!1},s.prototype.positionBezierNode=function(){null!==this.via&&null!==this.from&&null!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):null!==this.via&&(this.via.x=0,this.via.y=0)},s.prototype._drawControlNodes=function(t){if(1==this.controlNodesEnabled){if(null===this.controlNodes.from&&null===this.controlNodes.to){var e="edgeIdFrom:".concat(this.id),i="edgeIdTo:".concat(this.id),s={nodes:{group:"",radius:7,borderWidth:2,borderWidthSelected:2},physics:{damping:0},clustering:{maxNodeSizeIncrements:0,nodeScaling:{width:0,height:0,radius:0}}};this.controlNodes.from=new n({id:e,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s),this.controlNodes.to=new n({id:i,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s)}this.controlNodes.positions={},0==this.controlNodes.from.selected&&(this.controlNodes.positions.from=this.getControlNodeFromPosition(t),this.controlNodes.from.x=this.controlNodes.positions.from.x,this.controlNodes.from.y=this.controlNodes.positions.from.y),0==this.controlNodes.to.selected&&(this.controlNodes.positions.to=this.getControlNodeToPosition(t),this.controlNodes.to.x=this.controlNodes.positions.to.x,this.controlNodes.to.y=this.controlNodes.positions.to.y),this.controlNodes.from.draw(t),this.controlNodes.to.draw(t)}else this.controlNodes={from:null,to:null,positions:{}}},s.prototype._enableControlNodes=function(){this.fromBackup=this.from,this.toBackup=this.to,this.controlNodesEnabled=!0},s.prototype._disableControlNodes=function(){this.fromId=this.from.id,this.toId=this.to.id,this.fromId!=this.fromBackup.id?this.fromBackup.detachEdge(this):this.toId!=this.toBackup.id&&this.toBackup.detachEdge(this),this.fromBackup=null,this.toBackup=null,this.controlNodesEnabled=!1},s.prototype._getSelectedControlNode=function(t,e){var i=this.controlNodes.positions,s=Math.sqrt(Math.pow(t-i.from.x,2)+Math.pow(e-i.from.y,2)),o=Math.sqrt(Math.pow(t-i.to.x,2)+Math.pow(e-i.to.y,2));return 15>s?(this.connectedNode=this.from,this.from=this.controlNodes.from,this.controlNodes.from):15>o?(this.connectedNode=this.to,this.to=this.controlNodes.to,this.controlNodes.to):null},s.prototype._restoreControlNodes=function(){1==this.controlNodes.from.selected?(this.from=this.connectedNode,this.connectedNode=null,this.controlNodes.from.unselect()):1==this.controlNodes.to.selected&&(this.to=this.connectedNode,this.connectedNode=null,this.controlNodes.to.unselect())},s.prototype.getControlNodeFromPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!0,t);else{var i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=this.to.x-this.from.x,o=this.to.y-this.from.y,n=Math.sqrt(s*s+o*o),r=this.from.distanceToBorder(t,i+Math.PI),a=(n-r)/n;e={},e.x=a*this.from.x+(1-a)*this.to.x,e.y=a*this.from.y+(1-a)*this.to.y}return e},s.prototype.getControlNodeToPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!1,t);else{var i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=this.to.x-this.from.x,o=this.to.y-this.from.y,n=Math.sqrt(s*s+o*o),r=this.to.distanceToBorder(t,i),a=(n-r)/n;e={},e.x=(1-a)*this.from.x+a*this.to.x,e.y=(1-a)*this.from.y+a*this.to.y}return e},t.exports=s},function(t,e,i){function s(){this.clear(),this.defaultIndex=0,this.groupsArray=[],this.groupIndex=0,this.useDefaultGroups=!0}i(1);s.DEFAULT=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],s.prototype.clear=function(){this.groups={},this.groups.length=function(){var t=0;for(var e in this)this.hasOwnProperty(e)&&t++;return t}},s.prototype.get=function(t){var e=this.groups[t];if(void 0==e)if(this.useDefaultGroups===!1&&this.groupsArray.length>0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var i=this.defaultIndex%s.DEFAULT.length;this.defaultIndex++,e={},e.color=s.DEFAULT[i],this.groups[t]=e}return e},s.prototype.add=function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e},t.exports=s},function(t,e,i){function s(){this.images={},this.imageBroken={},this.callback=void 0}s.prototype.setOnloadCallback=function(t){this.callback=t},s.prototype.load=function(t,e){var i=this.images[t];if(void 0===i){var s=this;i=new Image,i.onload=function(){0==this.width&&(document.body.appendChild(this),this.width=this.offsetWidth,this.height=this.offsetHeight,document.body.removeChild(this)),s.callback&&(s.images[t]=i,s.callback(this))},i.onerror=function(){void 0===e?(console.error("Could not load image:",t),delete this.src,s.callback&&s.callback(this)):s.imageBroken[t]===!0?this.src==e?(console.error("Could not load brokenImage:",e),delete this.src,s.callback&&s.callback(this)):(console.error("Could not load image:",t), -this.src=e):(console.error("Could not load image:",t),this.src=e,s.imageBroken[t]=!0)},i.src=t}return i},t.exports=s},function(t,e,i){function s(t,e,i,s){var n=o.selectiveBridgeObject(["nodes"],s);this.options=n.nodes,this.selected=!1,this.hover=!1,this.edges=[],this.dynamicEdges=[],this.reroutedEdges={},this.id=void 0,this.allowedToMoveX=!1,this.allowedToMoveY=!1,this.xFixed=!1,this.yFixed=!1,this.horizontalAlignLeft=!0,this.verticalAlignTop=!0,this.baseRadiusValue=s.nodes.radius,this.radiusFixed=!1,this.level=-1,this.preassignedLevel=!1,this.hierarchyEnumerated=!1,this.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.boundingBox={top:0,left:0,right:0,bottom:0},this.imagelist=e,this.grouplist=i,this.fx=0,this.fy=0,this.vx=0,this.vy=0,this.x=null,this.y=null,this.predefinedPosition=!1,this.previousState={vx:0,vy:0,x:0,y:0},this.damping=s.physics.damping,this.fixedData={x:null,y:null},this.setProperties(t,n),this.resetCluster(),this.clusterSession=0,this.clusterSizeWidthFactor=s.clustering.nodeScaling.width,this.clusterSizeHeightFactor=s.clustering.nodeScaling.height,this.clusterSizeRadiusFactor=s.clustering.nodeScaling.radius,this.maxNodeSizeIncrements=s.clustering.maxNodeSizeIncrements,this.growthIndicator=0,this.networkScaleInv=1,this.networkScale=1,this.canvasTopLeft={x:-300,y:-300},this.canvasBottomRight={x:300,y:300},this.parentEdgeId=null}var o=i(1);s.prototype.revertPosition=function(){this.x=this.previousState.x,this.y=this.previousState.y,this.vx=this.previousState.vx,this.vy=this.previousState.vy},s.prototype.resetCluster=function(){this.formationScale=void 0,this.clusterSize=1,this.containedNodes={},this.containedEdges={},this.clusterSessions=[]},s.prototype.attachEdge=function(t){-1==this.edges.indexOf(t)&&this.edges.push(t),-1==this.dynamicEdges.indexOf(t)&&this.dynamicEdges.push(t)},s.prototype.detachEdge=function(t){var e=this.edges.indexOf(t);-1!=e&&this.edges.splice(e,1),e=this.dynamicEdges.indexOf(t),-1!=e&&this.dynamicEdges.splice(e,1)},s.prototype.setProperties=function(t,e){if(t){var i=["borderWidth","borderWidthSelected","shape","image","brokenImage","radius","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","group","mass","fontDrawThreshold","scaleFontWithValue","fontSizeMaxVisible","customScalingFunction","iconFontFace","icon","iconColor","iconSize"];if(o.selectiveDeepExtend(i,this.options,t),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.originalLabel=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.x&&(this.x=t.x,this.predefinedPosition=!0),void 0!==t.y&&(this.y=t.y,this.predefinedPosition=!0),void 0!==t.value&&(this.value=t.value),void 0!==t.level&&(this.level=t.level,this.preassignedLevel=!0),void 0!==t.horizontalAlignLeft&&(this.horizontalAlignLeft=t.horizontalAlignLeft),void 0!==t.verticalAlignTop&&(this.verticalAlignTop=t.verticalAlignTop),void 0!==t.triggerFunction&&(this.triggerFunction=t.triggerFunction),void 0===this.id)throw"Node must have an id";if("number"==typeof t.group||"string"==typeof t.group&&""!=t.group){var s=this.grouplist.get(t.group);o.deepExtend(this.options,s),this.options.color=o.parseColor(this.options.color)}if(void 0!==t.radius&&(this.baseRadiusValue=this.options.radius),void 0!==t.color&&(this.options.color=o.parseColor(t.color)),void 0!==this.options.image&&""!=this.options.image){if(!this.imagelist)throw"No imagelist provided";this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage)}switch(void 0!==t.allowedToMoveX?(this.xFixed=!t.allowedToMoveX,this.allowedToMoveX=t.allowedToMoveX):void 0!==t.x&&0==this.allowedToMoveX&&(this.xFixed=!0),void 0!==t.allowedToMoveY?(this.yFixed=!t.allowedToMoveY,this.allowedToMoveY=t.allowedToMoveY):void 0!==t.y&&0==this.allowedToMoveY&&(this.yFixed=!0),this.radiusFixed=this.radiusFixed||void 0!==t.radius,("image"===this.options.shape||"circularImage"===this.options.shape)&&(this.options.radiusMin=e.nodes.widthMin,this.options.radiusMax=e.nodes.widthMax),this.options.shape){case"database":this.draw=this._drawDatabase,this.resize=this._resizeDatabase;break;case"box":this.draw=this._drawBox,this.resize=this._resizeBox;break;case"circle":this.draw=this._drawCircle,this.resize=this._resizeCircle;break;case"ellipse":this.draw=this._drawEllipse,this.resize=this._resizeEllipse;break;case"image":this.draw=this._drawImage,this.resize=this._resizeImage;break;case"circularImage":this.draw=this._drawCircularImage,this.resize=this._resizeCircularImage;break;case"text":this.draw=this._drawText,this.resize=this._resizeText;break;case"dot":this.draw=this._drawDot,this.resize=this._resizeShape;break;case"square":this.draw=this._drawSquare,this.resize=this._resizeShape;break;case"triangle":this.draw=this._drawTriangle,this.resize=this._resizeShape;break;case"triangleDown":this.draw=this._drawTriangleDown,this.resize=this._resizeShape;break;case"star":this.draw=this._drawStar,this.resize=this._resizeShape;break;case"icon":this.draw=this._drawIcon,this.resize=this._resizeIcon;break;default:this.draw=this._drawEllipse,this.resize=this._resizeEllipse}this._reset()}},s.prototype.select=function(){this.selected=!0,this._reset()},s.prototype.unselect=function(){this.selected=!1,this._reset()},s.prototype.clearSizeCache=function(){this._reset()},s.prototype._reset=function(){this.width=void 0,this.height=void 0},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.distanceToBorder=function(t,e){var i=1;switch(this.width||this.resize(t),this.options.shape){case"circle":case"dot":return this.options.radius+i;case"ellipse":var s=this.width/2,o=this.height/2,n=Math.sin(e)*s,r=Math.cos(e)*o;return s*o/Math.sqrt(n*n+r*r);case"box":case"image":case"text":default:return this.width?Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i:0}},s.prototype._setForce=function(t,e){this.fx=t,this.fy=e},s.prototype._addForce=function(t,e){this.fx+=t,this.fy+=e},s.prototype.storeState=function(){this.previousState.x=this.x,this.previousState.y=this.y,this.previousState.vx=this.vx,this.previousState.vy=this.vy},s.prototype.discreteStep=function(t){if(this.storeState(),this.xFixed)this.fx=0,this.vx=0;else{var e=this.damping*this.vx,i=(this.fx-e)/this.options.mass;this.vx+=i*t,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var s=this.damping*this.vy,o=(this.fy-s)/this.options.mass;this.vy+=o*t,this.y+=this.vy*t}},s.prototype.discreteStepLimited=function(t,e){if(this.storeState(),this.xFixed)this.fx=0,this.vx=0;else{var i=this.damping*this.vx,s=(this.fx-i)/this.options.mass;this.vx+=s*t,this.vx=Math.abs(this.vx)>e?this.vx>0?e:-e:this.vx,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var o=this.damping*this.vy,n=(this.fy-o)/this.options.mass;this.vy+=n*t,this.vy=Math.abs(this.vy)>e?this.vy>0?e:-e:this.vy,this.y+=this.vy*t}},s.prototype.isFixed=function(){return this.xFixed&&this.yFixed},s.prototype.isMoving=function(t){var e=Math.sqrt(Math.pow(this.vx,2)+Math.pow(this.vy,2));return e>t},s.prototype.isSelected=function(){return this.selected},s.prototype.getValue=function(){return this.value},s.prototype.getDistance=function(t,e){var i=this.x-t,s=this.y-e;return Math.sqrt(i*i+s*s)},s.prototype.setValueRange=function(t,e,i){if(!this.radiusFixed&&void 0!==this.value){var s=this.options.customScalingFunction(t,e,i,this.value),o=this.options.radiusMax-this.options.radiusMin;if(1==this.options.scaleFontWithValue){var n=this.options.fontSizeMax-this.options.fontSizeMin;this.options.fontSize=this.options.fontSizeMin+s*n}this.options.radius=this.options.radiusMin+s*o}this.baseRadiusValue=this.options.radius},s.prototype.draw=function(t){throw"Draw method not initialized for node"},s.prototype.resize=function(t){throw"Resize method not initialized for node"},s.prototype.isOverlappingWith=function(t){return this.leftt.left&&this.topt.top},s.prototype._resizeImage=function(t){if(!this.width||!this.height){var e,i;if(this.value){this.options.radius=this.baseRadiusValue;var s=this.imageObj.height/this.imageObj.width;void 0!==s?(e=this.options.radius||this.imageObj.width,i=this.options.radius*s||this.imageObj.height):(e=0,i=0)}else e=this.imageObj.width,i=this.imageObj.height;this.width=e,this.height=i,this.growthIndicator=0,this.width>0&&this.height>0&&(this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-e)}},s.prototype._drawImageAtPosition=function(t){if(0!=this.imageObj.width){if(this.clusterSize>1){var e=this.clusterSize>1?10:0;e*=this.networkScaleInv,e=Math.min(.2*this.width,e),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-e,this.top-e,this.width+2*e,this.height+2*e)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height)}},s.prototype._drawImageLabel=function(t){var e,i=0;if(this.height){i=this.height/2;var s=this.getTextSize(t);s.lineCount>=1&&(i+=s.height/2,i+=3)}e=this.y+i,this._label(t,this.label,this.x,e,void 0)},s.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawImageAtPosition(t),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)},s.prototype._resizeCircularImage=function(t){if(this.imageObj.src&&this.imageObj.width&&this.imageObj.height)this._swapToImageResizeWhenImageLoaded&&(this.width=0,this.height=0,delete this._swapToImageResizeWhenImageLoaded),this._resizeImage(t);else if(!this.width){var e=2*this.options.radius;this.width=e,this.height=e,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*e,this._swapToImageResizeWhenImageLoaded=!0}},s.prototype._drawCircularImage=function(t){this._resizeCircularImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=this.left+this.width/2,i=this.top+this.height/2,s=Math.abs(this.height/2);this._drawRawCircle(t,e,i,s),t.save(),t.circle(this.x,this.y,s),t.stroke(),t.clip(),this._drawImageAtPosition(t),t.restore(),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)},s.prototype._resizeBox=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawBox=function(t){this._resizeBox(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.roundRect(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth,this.options.radius),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.options.radius),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._label(t,this.label,this.x,this.y)},s.prototype._resizeDatabase=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=i.width+2*e;this.width=s,this.height=s,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-s}},s.prototype._drawDatabase=function(t){this._resizeDatabase(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.database(this.x-this.width/2-2*t.lineWidth,this.y-.5*this.height-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.database(this.x-this.width/2,this.y-.5*this.height,this.width,this.height),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._label(t,this.label,this.x,this.y)},s.prototype._resizeCircle=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=Math.max(i.width,i.height)+2*e;this.options.radius=s/2,this.width=s,this.height=s,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*s}},s.prototype._drawRawCircle=function(t,e,i,s){var o=2.5,n=this.options.borderWidth,r=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?r:n)+(this.clusterSize>1?o:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.circle(e,i,s+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?r:n)+(this.clusterSize>1?o:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.circle(this.x,this.y,s),t.fill(),t.stroke()},s.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawRawCircle(t,this.x,this.y,this.options.radius),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this._label(t,this.label,this.x,this.y)},s.prototype._resizeEllipse=function(t){if(!this.width){var e=this.getTextSize(t);this.width=1.5*e.width,this.height=2*e.height,this.width1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.ellipse(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.ellipse(this.left,this.top,this.width,this.height),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._label(t,this.label,this.x,this.y)},s.prototype._drawDot=function(t){this._drawShape(t,"circle")},s.prototype._drawTriangle=function(t){this._drawShape(t,"triangle")},s.prototype._drawTriangleDown=function(t){this._drawShape(t,"triangleDown")},s.prototype._drawSquare=function(t){this._drawShape(t,"square")},s.prototype._drawStar=function(t){this._drawShape(t,"star")},s.prototype._resizeShape=function(t){if(!this.width){this.options.radius=this.baseRadiusValue;var e=2*this.options.radius;this.width=e,this.height=e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-e}},s.prototype._drawShape=function(t,e){this._resizeShape(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var i=2.5,s=this.options.borderWidth,o=this.options.borderWidthSelected||2*this.options.borderWidth,n=2;switch(e){case"dot":n=2;break;case"square":n=2;break;case"triangle":n=3;break;case"triangleDown":n=3;break;case"star":n=4}t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t[e](this.x,this.y,this.options.radius+n*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t[e](this.x,this.y,this.options.radius),t.fill(),t.stroke(),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this.label&&(this._label(t,this.label,this.x,this.y+this.height/2,void 0,"hanging",!0),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height))},s.prototype._resizeText=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawText=function(t){this._resizeText(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._label(t,this.label,this.x,this.y),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height},s.prototype._resizeIcon=function(t){if(!this.width){var e=5,i={width:Number(this.options.iconSize),height:Number(this.options.iconSize)};this.width=i.width+2*e,this.height=i.height+2*e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawIcon=function(t){if(this._resizeIcon(t),this.options.iconSize=this.options.iconSize||50,this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._icon(t),this.boundingBox.top=this.y-this.options.iconSize/2,this.boundingBox.left=this.x-this.options.iconSize/2,this.boundingBox.right=this.x+this.options.iconSize/2,this.boundingBox.bottom=this.y+this.options.iconSize/2,this.label){var e=5;this._label(t,this.label,this.x,this.y+this.height/2+e,"top",!0),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)}},s.prototype._icon=function(t){var e=Number(this.options.iconSize)*this.networkScale;if(this.options.icon&&e>this.options.fontDrawThreshold-1){var i=Number(this.options.iconSize);t.font=(this.selected?"bold ":"")+i+"px "+this.options.iconFontFace,t.fillStyle=this.options.iconColor||"black",t.textAlign="center",t.textBaseline="middle",t.fillText(this.options.icon,this.x,this.y)}},s.prototype._label=function(t,e,i,s,n,r,a){var h=Number(this.options.fontSize)*this.networkScale;if(e&&h>=this.options.fontDrawThreshold-1){var d=Number(this.options.fontSize);h>=this.options.fontSizeMaxVisible&&(d=Number(this.options.fontSizeMaxVisible)*this.networkScaleInv);var l=this.options.fontColor||"#000000",c=this.options.fontStrokeColor;if(h<=this.options.fontDrawThreshold){var p=Math.max(0,Math.min(1,1-(this.options.fontDrawThreshold-h)));l=o.overrideOpacity(l,p),c=o.overrideOpacity(c,p)}t.font=(this.selected?"bold ":"")+d+"px "+this.options.fontFace;var u=e.split("\n"),m=u.length,f=s+(1-m)/2*d;1==a&&(f=s+(1-m)/(2*d));for(var g=t.measureText(u[0]).width,v=1;m>v;v++){var y=t.measureText(u[v]).width;g=y>g?y:g}var b=d*m,_=i-g/2,x=s-b/2;"hanging"==r&&(x+=.5*d,x+=4,f+=4),this.labelDimensions={top:x,left:_,width:g,height:b,yLine:f},void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(_,x,g,b)),t.fillStyle=l,t.textAlign=n||"center",t.textBaseline=r||"middle",this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=c,t.lineJoin="round");for(var v=0;m>v;v++)this.options.fontStrokeWidth&&t.strokeText(u[v],i,f),t.fillText(u[v],i,f),f+=d}},s.prototype.getTextSize=function(t){if(void 0!==this.label){var e=Number(this.options.fontSize);e*this.networkScale>this.options.fontSizeMaxVisible&&(e=Number(this.options.fontSizeMaxVisible)*this.networkScaleInv),t.font=(this.selected?"bold ":"")+e+"px "+this.options.fontFace;for(var i=this.label.split("\n"),s=(e+4)*i.length,o=0,n=0,r=i.length;r>n;n++)o=Math.max(o,t.measureText(i[n]).width);return{width:o,height:s,lineCount:i.length}}return{width:0,height:0,lineCount:0}},s.prototype.inArea=function(){return void 0!==this.width?this.x+this.width*this.networkScaleInv>=this.canvasTopLeft.x&&this.x-this.width*this.networkScaleInv=this.canvasTopLeft.y&&this.y-this.height*this.networkScaleInv=this.canvasTopLeft.x&&this.x=this.canvasTopLeft.y&&this.ys&&(n=s-e-this.padding),no&&(r=o-i-this.padding),ri;i++)if(e.id===r.nodes[i].id){o=r.nodes[i];break}for(o||(o={id:e.id},t.node&&(o.attr=h(o.attr,t.node))),i=n.length-1;i>=0;i--){var a=n[i];a.nodes||(a.nodes=[]),-1==a.nodes.indexOf(o)&&a.nodes.push(o)}e.attr&&(o.attr=h(o.attr,e.attr))}function c(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function p(t,e,i,s,o){var n={from:e,to:i,type:s};return t.edge&&(n.attr=h({},t.edge)),n.attr=h(n.attr||{},o),n}function u(){for(I=C.NULL,N="";" "==k||" "==k||"\n"==k||"\r"==k;)n();do{var t=!1;if("#"==k){for(var e=E-1;" "==O.charAt(e)||" "==O.charAt(e);)e--;if("\n"==O.charAt(e)||""==O.charAt(e)){for(;""!=k&&"\n"!=k;)n();t=!0}}if("/"==k&&"/"==r()){for(;""!=k&&"\n"!=k;)n();t=!0}if("/"==k&&"*"==r()){for(;""!=k;){if("*"==k&&"/"==r()){n(),n();break}n()}t=!0}for(;" "==k||" "==k||"\n"==k||"\r"==k;)n()}while(t);if(""==k)return void(I=C.DELIMITER);var i=k+r();if(T[i])return I=C.DELIMITER,N=i,n(),void n();if(T[k])return I=C.DELIMITER,N=k,void n();if(a(k)||"-"==k){for(N+=k,n();a(k);)N+=k,n();return"false"==N?N=!1:"true"==N?N=!0:isNaN(Number(N))||(N=Number(N)),void(I=C.IDENTIFIER)}if('"'==k){for(n();""!=k&&('"'!=k||'"'==k&&'"'==r());)N+=k,'"'==k&&n(),n();if('"'!=k)throw w('End of string " expected');return n(),void(I=C.IDENTIFIER)}for(I=C.UNKNOWN;""!=k;)N+=k,n();throw new SyntaxError('Syntax error in part "'+S(N,30)+'"')}function m(){var t={};if(o(),u(),"strict"==N&&(t.strict=!0,u()),("graph"==N||"digraph"==N)&&(t.type=N,u()),I==C.IDENTIFIER&&(t.id=N,u()),"{"!=N)throw w("Angle bracket { expected");if(u(),f(t),"}"!=N)throw w("Angle bracket } expected");if(u(),""!==N)throw w("End of file expected");return u(),delete t.node,delete t.edge,delete t.graph,t}function f(t){for(;""!==N&&"}"!=N;)g(t),";"==N&&u()}function g(t){var e=v(t);if(e)return void _(t,e);var i=y(t);if(!i){if(I!=C.IDENTIFIER)throw w("Identifier expected");var s=N;if(u(),"="==N){if(u(),I!=C.IDENTIFIER)throw w("Identifier expected");t[s]=N,u()}else b(t,s)}}function v(t){var e=null;if("subgraph"==N&&(e={},e.type="subgraph",u(),I==C.IDENTIFIER&&(e.id=N,u())),"{"==N){if(u(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,f(e),"}"!=N)throw w("Angle bracket } expected");u(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function y(t){return"node"==N?(u(),t.node=x(),"node"):"edge"==N?(u(),t.edge=x(),"edge"):"graph"==N?(u(),t.graph=x(),"graph"):null}function b(t,e){var i={id:e},s=x();s&&(i.attr=s),l(t,i),_(t,e)}function _(t,e){for(;"->"==N||"--"==N;){var i,s=N;u();var o=v(t);if(o)i=o;else{if(I!=C.IDENTIFIER)throw w("Identifier or subgraph expected");i=N,l(t,{id:i}),u()}var n=x(),r=p(t,e,i,s,n);c(t,r),e=i}}function x(){for(var t=null;"["==N;){for(u(),t={};""!==N&&"]"!=N;){if(I!=C.IDENTIFIER)throw w("Attribute name expected");var e=N;if(u(),"="!=N)throw w("Equal sign = expected");if(u(),I!=C.IDENTIFIER)throw w("Attribute value expected");var i=N;d(t,e,i),u(),","==N&&u()}if("]"!=N)throw w("Bracket ] expected");u()}return t}function w(t){return new SyntaxError(t+', got "'+S(N,30)+'" (char '+E+")")}function S(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function D(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function M(t){var e=s(t),i={nodes:[],edges:[],options:{}};if(e.nodes&&e.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};h(e,t.attr),e.image&&(e.shape="image"),i.nodes.push(e)}),e.edges){var o=function(t){var e={from:t.from,to:t.to};return h(e,t.attr),e.style="->"==t.type?"arrow":"line",e};e.edges.forEach(function(t){var e,s;e=t.from instanceof Object?t.from.nodes:{id:t.from},s=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var e=o(t);i.edges.push(e)}),D(e,s,function(e,s){var n=p(i,e.id,s.id,t.type,t.attr),r=o(n);i.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var e=o(t);i.edges.push(e)})})}return e.attr&&(i.options=e.attr),i}var C={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},T={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},O="",E=0,k="",N="",I=C.NULL,L=/[a-zA-Z_0-9.:#]/;e.parseDOT=s,e.DOTToGraph=M},function(t,e,i){function s(t,e){var i=[],s=[];this.options={edges:{inheritColor:!0},nodes:{allowedToMove:!1,parseColor:!1}},void 0!==e&&(this.options.nodes.allowedToMove=e.allowedToMove|!1,this.options.nodes.parseColor=e.parseColor|!1,this.options.edges.inheritColor=e.inheritColor|!0);for(var o=t.edges,n=t.nodes,r=0;r0?Math.max.apply(null,i)+1:1):(this.customBarIds.forEach(function(t){if(t===e)throw new Error("Custom time ID already exists")}),o=e),this.customBarIds.push(o),s=new l(this.body,{showCustomTime:!0,time:n,id:o}),this.components.push(s),this.redraw(),o},s.prototype.removeCustomTime=function(t){var e=this;this.components.forEach(function(i,s,o){i instanceof l&&i.options.id===t&&0!==i.options.id&&(e.customBarIds.splice(e.customBarIds.indexOf(t),1),o.splice(s,1),i.destroy())})},s.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},s.prototype.clear=function(t){(!t||t.items)&&this.setItems(null),(!t||t.groups)&&this.setGroups(null),(!t||t.options)&&(this.components.forEach(function(t){t.setOptions(t.defaultOptions)}),this.setOptions(this.defaultOptions))},s.prototype.fit=function(t){var e=this._getDataRange();if(null!==e.start||null!==e.end){var i=t&&void 0!==t.animate?t.animate:!0;this.range.setRange(e.start,e.end,i)}},s.prototype._getDataRange=function(){var t=this.getItemRange(),e=t.min,i=t.max;if(null!=e&&null!=i){var s=i.valueOf()-e.valueOf();0>=s&&(s=864e5),e=new Date(e.valueOf()-.05*s),i=new Date(i.valueOf()+.05*s)}return{start:e,end:i}},s.prototype.setWindow=function(t,e,i){var s;if(1==arguments.length){var o=arguments[0];s=void 0!==o.animate?o.animate:!0,this.range.setRange(o.start,o.end,s)}else s=i&&void 0!==i.animate?i.animate:!0,this.range.setRange(t,e,s)},s.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,s=r.convert(t,"Date").valueOf(),o=s-i/2,n=s+i/2,a=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(o,n,a)},s.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},s.prototype.redraw=function(){this._redraw()},s.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){d.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(r.addClassName(s.root,"top"),r.removeClassName(s.root,"bottom")):(r.removeClassName(s.root,"top"),r.addClassName(s.root,"bottom")),s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;0===s.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===s.root.clientHeight&&(n=o),i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,h+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var l=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var c=i.root.width-i.left.width-i.right.width-n;i.center.width=c,i.centerContainer.width=c,i.top.width=c,i.bottom.width=c,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontal.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+i.border.left+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var p=this.props.scrollTop;"bottom"==e.orientation&&(p+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),s.center.style.left="0",s.center.style.top=p+"px",s.left.style.left="0",s.left.style.top=p+"px",s.right.style.left="0",s.right.style.top=p+"px";var u=0==this.props.scrollTop?"hidden":"",m=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(s.shadowTop.style.visibility=u,s.shadowBottom.style.visibility=m,s.shadowTopLeft.style.visibility=u,s.shadowBottomLeft.style.visibility=m,s.shadowTopRight.style.visibility=u,s.shadowBottomRight.style.visibility=m,this.components.forEach(function(e){t=e.redraw()||t}),t){var f=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTopt[s].y?t[s].y:e,i=i0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=o.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style",e.style),a=1==e.options.catmullRom.enabled?s._catmullRom(t,e):s._linear(t),1==e.options.shaded.enabled){var d,l=o.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&n.draw(t,e,i)}},s._catmullRomUniform=function(t){for(var e,i,s,o,n,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;l++)e=0==l?t[0]:t[l-1],i=t[l],s=t[l+1],o=d>l+2?t[l+2]:s,n={x:(-e.x+6*i.x+s.x)*h,y:(-e.y+6*i.y+s.y)*h},r={x:(i.x+6*s.x-o.x)*h,y:(i.y+6*s.y-o.y)*h},a+="C"+n.x+","+n.y+" "+r.x+","+r.y+" "+s.x+","+s.y+" ";return a},s._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var s,o,n,r,a,h,d,l,c,p,u,m,f,g,v,y,b,_,x,w=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",S=t.length,D=0;S-1>D;D++)s=0==D?t[0]:t[D-1],o=t[D],n=t[D+1],r=S>D+2?t[D+2]:n,d=Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2)),l=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),c=Math.sqrt(Math.pow(n.x-r.x,2)+Math.pow(n.y-r.y,2)),g=Math.pow(c,i),y=Math.pow(c,2*i),v=Math.pow(l,i),b=Math.pow(l,2*i),x=Math.pow(d,i),_=Math.pow(d,2*i),p=2*_+3*x*v+b,u=2*y+3*g*v+b,m=3*x*(x+v),m>0&&(m=1/m),f=3*g*(g+v),f>0&&(f=1/f),a={x:(-b*s.x+p*o.x+_*n.x)*m,y:(-b*s.y+p*o.y+_*n.y)*m},h={x:(y*o.x+u*n.x-b*r.x)*f,y:(y*o.y+u*n.y-b*r.y)*f},0==a.x&&0==a.y&&(a=o),0==h.x&&0==h.y&&(h=n),w+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+n.x+","+n.y+" ";return w},s._linear=function(t){for(var e="",i=0;it[s].y?t[s].y:e,i=i0&&(n=Math.min(n,Math.abs(c[d-1].x-r))),a=s._getSafeDrawData(n,h,m);else{var g=d+(p[r].amount-p[r].resolved),v=d-(p[r].resolved+1);g0&&(n=Math.min(n,Math.abs(c[v].x-r))),a=s._getSafeDrawData(n,h,m),p[r].resolved+=1,"stack"==h.options.barChart.handleOverlap?(f=p[r].accumulated,p[r].accumulated+=h.zeroPosition-c[d].y):"sideBySide"==h.options.barChart.handleOverlap&&(a.width=a.width/p[r].amount,a.offset+=p[r].resolved*a.width-.5*a.width*(p[r].amount+1),"left"==h.options.barChart.align?a.offset-=.5*a.width:"right"==h.options.barChart.align&&(a.offset+=.5*a.width))}o.drawBar(c[d].x+a.offset,c[d].y-f,a.width,h.zeroPosition-c[d].y,h.className+" bar",i.svgElements,i.svg),1==h.options.drawPoints.enabled&&o.drawPoint(c[d].x+a.offset,c[d].y,h,i.svgElements,i.svg,c[d].label)}},s._getDataIntersections=function(t,e){for(var i,s=0;s0&&(i=Math.min(i,Math.abs(e[s-1].x-e[s].x))),0==i&&(void 0===t[e[s].x]&&(t[e[s].x]={amount:0,resolved:0,accumulated:0}),t[e[s].x].amount+=1)},s._getSafeDrawData=function(t,e,i){var s,o;return t0?(s=i>t?i:t,o=0,"left"==e.options.barChart.align?o-=.5*t:"right"==e.options.barChart.align&&(o+=.5*t)):(s=e.options.barChart.width,o=0,"left"==e.options.barChart.align?o-=.5*e.options.barChart.width:"right"==e.options.barChart.align&&(o+=.5*e.options.barChart.width)),{width:s,offset:o}},s.getStackedBarYRange=function(t,e,i,o,n){if(t.length>0){t.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x});var r={};s._getDataIntersections(r,t),e[o]=s._getStackedBarYRange(r,t),e[o].yAxisOrientation=n,i.push(o)}},s._getStackedBarYRange=function(t,e){for(var i,s=e[0].y,o=e[0].y,n=0;ne[n].y?e[n].y:s,o=ot[r].accumulated?t[r].accumulated:s,o=ot[s].y?t[s].y:e,i=is;s++){var o=s%2===0?1.3*i:.5*i;this.lineTo(t+o*Math.sin(2*s*Math.PI/10),e-o*Math.cos(2*s*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,s,o){var n=Math.PI/180;0>i-2*o&&(o=i/2),0>s-2*o&&(o=s/2),this.beginPath(),this.moveTo(t+o,e),this.lineTo(t+i-o,e),this.arc(t+i-o,e+o,o,270*n,360*n,!1),this.lineTo(t+i,e+s-o),this.arc(t+i-o,e+s-o,o,0,90*n,!1),this.lineTo(t+o,e+s),this.arc(t+o,e+s-o,o,90*n,180*n,!1),this.lineTo(t,e+o),this.arc(t+o,e+o,o,180*n,270*n,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,s){var o=.5522848,n=i/2*o,r=s/2*o,a=t+i,h=e+s,d=t+i/2,l=e+s/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-n,e,d,e),this.bezierCurveTo(d+n,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+n,h,d,h),this.bezierCurveTo(d-n,h,t,l+r,t,l)},CanvasRenderingContext2D.prototype.database=function(t,e,i,s){var o=1/3,n=i,r=s*o,a=.5522848,h=n/2*a,d=r/2*a,l=t+n,c=e+r,p=t+n/2,u=e+r/2,m=e+(s-r/2),f=e+s;this.beginPath(),this.moveTo(l,u),this.bezierCurveTo(l,u+d,p+h,c,p,c),this.bezierCurveTo(p-h,c,t,u+d,t,u),this.bezierCurveTo(t,u-d,p-h,e,p,e),this.bezierCurveTo(p+h,e,l,u-d,l,u),this.lineTo(l,m),this.bezierCurveTo(l,m+d,p+h,f,p,f),this.bezierCurveTo(p-h,f,t,m+d,t,m),this.lineTo(t,u)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,s){var o=t-s*Math.cos(i),n=e-s*Math.sin(i),r=t-.9*s*Math.cos(i),a=e-.9*s*Math.sin(i),h=o+s/3*Math.cos(i+.5*Math.PI),d=n+s/3*Math.sin(i+.5*Math.PI),l=o+s/3*Math.cos(i-.5*Math.PI),c=n+s/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,c),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,s,o){o||(o=[10,5]),0==p&&(p=.001);var n=o.length;this.moveTo(t,e);for(var r=i-t,a=s-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,c=!0;d>=.1;){var p=o[l++%n];p>d&&(p=d);var u=Math.sqrt(p*p/(1+h*h));0>r&&(u=-u),t+=u,e+=h*u,this[c?"lineTo":"moveTo"](t,e),d-=p,c=!c}})},function(t,e,i){function s(t){return t?o(t):void 0}function o(t){for(var e in s.prototype)t[e]=s.prototype[e];return t}t.exports=s,s.prototype.on=s.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},s.prototype.once=function(t,e){function i(){s.off(t,i),e.apply(this,arguments)}var s=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},s.prototype.off=s.prototype.removeListener=s.prototype.removeAllListeners=s.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var s,o=0;os;++s)i[s].apply(this,e)}return this},s.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},s.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e,i){var s,o,n;!function(i,r){o=[],s=r,n="function"==typeof s?s.apply(e,o):s,!(void 0!==n&&(t.exports=n))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,s=t&&t.container||window,o={},n={keydown:{},keyup:{}},r={};for(e=97;122>=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){ -d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==n[e][t.keyCode]){for(var s=n[e][t.keyCode],o=0;o0)for(i in Ei)s=Ei[i],o=e[s],"undefined"!=typeof o&&(t[s]=o);return t}function u(t){p(this,t),this._d=new Date(+t._d),ki===!1&&(ki=!0,e.updateOffset(this),ki=!1)}function m(t){return t instanceof u||null!=t&&a(t,"_isAMomentObject")}function f(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function g(t,e,i){var s,o=Math.min(t.length,e.length),n=Math.abs(t.length-e.length),r=0;for(s=0;o>s;s++)(i&&t[s]!==e[s]||!i&&f(t[s])!==f(e[s]))&&r++;return r+n}function v(){}function y(t){return t?t.toLowerCase().replace("_","-"):t}function b(t){for(var e,i,s,o,n=0;n0;){if(s=_(o.slice(0,e).join("-")))return s;if(i&&i.length>=e&&g(o,i,!0)>=e-1)break;e--}n++}return null}function _(e){var i=null;if(!Ni[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Oi._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),x(i)}catch(s){}return Ni[e]}function x(t,e){var i;return t&&(i="undefined"==typeof e?S(t):w(t,e),i&&(Oi=i)),Oi._abbr}function w(t,e){return null!==e?(e.abbr=t,Ni[t]||(Ni[t]=new v),Ni[t].set(e),x(t),Ni[t]):(delete Ni[t],null)}function S(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Oi;if(!o(t)){if(e=_(t))return e;t=[t]}return b(t)}function D(t,e){var i=t.toLowerCase();Ii[i]=Ii[i+"s"]=Ii[e]=t}function M(t){return"string"==typeof t?Ii[t]||Ii[t.toLowerCase()]:void 0}function C(t){var e,i,s={};for(i in t)a(t,i)&&(e=M(i),e&&(s[e]=t[i]));return s}function T(t,i){return function(s){return null!=s?(E(this,t,s),e.updateOffset(this,i),this):O(this,t)}}function O(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function E(t,e,i){return t._d["set"+(t._isUTC?"UTC":"")+e](i)}function k(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=M(t),"function"==typeof this[t])return this[t](e);return this}function N(t,e,i){for(var s=""+Math.abs(t),o=t>=0;s.lengthe;e++)s[e]=Pi[s[e]]?Pi[s[e]]:L(s[e]);return function(o){var n="";for(e=0;i>e;e++)n+=s[e]instanceof Function?s[e].call(o,t):s[e];return n}}function A(t,e){return t.isValid()?(e=P(e,t.localeData()),Ai[e]||(Ai[e]=z(e)),Ai[e](t)):t.localeData().invalidDate()}function P(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(zi.lastIndex=0;s>=0&&zi.test(t);)t=t.replace(zi,i),zi.lastIndex=0,s-=1;return t}function F(t,e,i){Ki[t]="function"==typeof e?e:function(t){return t&&i?i:e}}function R(t,e){return a(Ki,t)?Ki[t](e._strict,e._locale):new RegExp(H(t))}function H(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,o){return e||i||s||o}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function B(t,e){var i,s=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(s=function(t,i){i[e]=f(t)}),i=0;is;s++){if(o=d([2e3,s]),i&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(o,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(o,"").replace(".","")+"$","i")),i||this._monthsParse[s]||(n="^"+this.months(o,"")+"|^"+this.monthsShort(o,""),this._monthsParse[s]=new RegExp(n.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[s].test(t))return s;if(i&&"MMM"===e&&this._shortMonthsParse[s].test(t))return s;if(!i&&this._monthsParse[s].test(t))return s}}function X(t,e){var i;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(i=Math.min(t.date(),G(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t)}function q(t){return null!=t?(X(this,t),e.updateOffset(this,!0),this):O(this,"Month")}function Z(){return G(this.year(),this.month())}function Q(t){var e,i=t._a;return i&&-2===t._pf.overflow&&(e=i[ts]<0||i[ts]>11?ts:i[es]<1||i[es]>G(i[Ji],i[ts])?es:i[is]<0||i[is]>24||24===i[is]&&(0!==i[ss]||0!==i[os]||0!==i[ns])?is:i[ss]<0||i[ss]>59?ss:i[os]<0||i[os]>59?os:i[ns]<0||i[ns]>999?ns:-1,t._pf._overflowDayOfYear&&(Ji>e||e>es)&&(e=es),t._pf.overflow=e),t}function K(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function $(t,e){var i=!0;return h(function(){return i&&(K(t),i=!1),e.apply(this,arguments)},e)}function J(t,e){hs[t]||(K(e),hs[t]=!0)}function tt(t){var e,i,s=t._i,o=ds.exec(s);if(o){for(t._pf.iso=!0,e=0,i=ls.length;i>e;e++)if(ls[e][1].exec(s)){t._f=ls[e][0]+(o[6]||" ");break}for(e=0,i=cs.length;i>e;e++)if(cs[e][1].exec(s)){t._f+=cs[e][0];break}s.match(qi)&&(t._f+="Z"),bt(t)}else t._isValid=!1}function et(t){var i=ps.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(tt(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function it(t,e,i,s,o,n,r){var a=new Date(t,e,i,s,o,n,r);return 1970>t&&a.setFullYear(t),a}function st(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function ot(t){return nt(t)?366:365}function nt(t){return t%4===0&&t%100!==0||t%400===0}function rt(){return nt(this.year())}function at(t,e,i){var s,o=i-e,n=i-t.day();return n>o&&(n-=7),o-7>n&&(n+=7),s=Ct(t).add(n,"d"),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function ht(t){return at(t,this._week.dow,this._week.doy).week}function dt(){return this._week.dow}function lt(){return this._week.doy}function ct(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function pt(t){var e=at(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function ut(t,e,i,s,o){var n,r,a=st(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:o,n=o-a+(a>s?7:0)-(o>a?7:0),r=7*(e-1)+(i-o)+n+1,{year:r>0?t:t-1,dayOfYear:r>0?r:ot(t-1)+r}}function mt(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function ft(t,e,i){return null!=t?t:null!=e?e:i}function gt(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function vt(t){var e,i,s,o,n=[];if(!t._d){for(s=gt(t),t._w&&null==t._a[es]&&null==t._a[ts]&&yt(t),t._dayOfYear&&(o=ft(t._a[Ji],s[Ji]),t._dayOfYear>ot(o)&&(t._pf._overflowDayOfYear=!0),i=st(o,0,t._dayOfYear),t._a[ts]=i.getUTCMonth(),t._a[es]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=n[e]=s[e];for(;7>e;e++)t._a[e]=n[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[is]&&0===t._a[ss]&&0===t._a[os]&&0===t._a[ns]&&(t._nextDay=!0,t._a[is]=0),t._d=(t._useUTC?st:it).apply(null,n),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[is]=24)}}function yt(t){var e,i,s,o,n,r,a;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(n=1,r=4,i=ft(e.GG,t._a[Ji],at(Ct(),1,4).year),s=ft(e.W,1),o=ft(e.E,1)):(n=t._locale._week.dow,r=t._locale._week.doy,i=ft(e.gg,t._a[Ji],at(Ct(),n,r).year),s=ft(e.w,1),null!=e.d?(o=e.d,n>o&&++s):o=null!=e.e?e.e+n:n),a=ut(i,s,o,r,n),t._a[Ji]=a.year,t._dayOfYear=a.dayOfYear}function bt(t){if(t._f===e.ISO_8601)return void tt(t);t._a=[],t._pf.empty=!0;var i,s,o,n,r,a=""+t._i,h=a.length,d=0;for(o=P(t._f,t._locale).match(Li)||[],i=0;i0&&t._pf.unusedInput.push(r),a=a.slice(a.indexOf(s)+s.length),d+=s.length),Pi[n]?(s?t._pf.empty=!1:t._pf.unusedTokens.push(n),W(n,s,t)):t._strict&&!s&&t._pf.unusedTokens.push(n);t._pf.charsLeftOver=h-d,a.length>0&&t._pf.unusedInput.push(a),t._pf.bigHour===!0&&t._a[is]<=12&&(t._pf.bigHour=void 0),t._a[is]=_t(t._locale,t._a[is],t._meridiem),vt(t),Q(t)}function _t(t,e,i){var s;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(s=t.isPM(i),s&&12>e&&(e+=12),s||12!==e||(e=0),e):e}function xt(t){var e,i,o,n,r;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(0/0));for(n=0;nr)&&(o=r,i=e));h(t,i||e)}function wt(t){if(!t._d){var e=C(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],vt(t)}}function St(t){var e,i=t._i,s=t._f;return t._locale=t._locale||S(t._l),null===i||void 0===s&&""===i?c({nullInput:!0}):("string"==typeof i&&(t._i=i=t._locale.preparse(i)),m(i)?new u(Q(i)):(o(s)?xt(t):s?bt(t):Dt(t),e=new u(Q(t)),e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e))}function Dt(t){var i=t._i;void 0===i?t._d=new Date:n(i)?t._d=new Date(+i):"string"==typeof i?et(t):o(i)?(t._a=r(i.slice(0),function(t){return parseInt(t,10)}),vt(t)):"object"==typeof i?wt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function Mt(t,e,i,o,n){var r={};return"boolean"==typeof i&&(o=i,i=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=n,r._l=i,r._i=t,r._f=e,r._strict=o,r._pf=s(),St(r)}function Ct(t,e,i,s){return Mt(t,e,i,s,!1)}function Tt(t,e){var i,s;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Ct();for(i=e[0],s=1;st&&(t=-t,i="-"),i+N(~~(t/60),2)+e+N(~~t%60,2)})}function Lt(t){var e=(t||"").match(qi)||[],i=e[e.length-1]||[],s=(i+"").match(vs)||["-",0,0],o=+(60*s[1])+f(s[2]);return"+"===s[0]?o:-o}function zt(t,i){var s,o;return i._isUTC?(s=i.clone(),o=(m(t)||n(t)?+t:+Ct(t))-+s,s._d.setTime(+s._d+o),e.updateOffset(s,!1),s):Ct(t).local()}function At(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Pt(t,i){var s,o=this._offset||0;return null!=t?("string"==typeof t&&(t=Lt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(s=At(this)),this._offset=t,this._isUTC=!0,null!=s&&this.add(s,"m"),o!==t&&(!i||this._changeInProgress?$t(this,Xt(t-o,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?o:At(this)}function Ft(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Rt(t){return this.utcOffset(0,t)}function Ht(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(At(this),"m")),this}function Bt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Lt(this._i)),this}function Yt(t){return t=t?Ct(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Wt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Gt(){if(this._a){var t=this._isUTC?d(this._a):Ct(this._a);return this.isValid()&&g(this._a,t.toArray())>0}return!1}function jt(){return!this._isUTC}function Vt(){return this._isUTC}function Ut(){return this._isUTC&&0===this._offset}function Xt(t,e){var i,s,o,n=t,r=null;return Nt(t)?n={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(n={},e?n[e]=t:n.milliseconds=t):(r=ys.exec(t))?(i="-"===r[1]?-1:1,n={y:0,d:f(r[es])*i,h:f(r[is])*i,m:f(r[ss])*i,s:f(r[os])*i,ms:f(r[ns])*i}):(r=bs.exec(t))?(i="-"===r[1]?-1:1,n={y:qt(r[2],i),M:qt(r[3],i),d:qt(r[4],i),h:qt(r[5],i),m:qt(r[6],i),s:qt(r[7],i),w:qt(r[8],i)}):null==n?n={}:"object"==typeof n&&("from"in n||"to"in n)&&(o=Qt(Ct(n.from),Ct(n.to)),n={},n.ms=o.milliseconds,n.M=o.months),s=new kt(n),Nt(t)&&a(t,"_locale")&&(s._locale=t._locale),s}function qt(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Zt(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Qt(t,e){var i;return e=zt(e,t),t.isBefore(e)?i=Zt(t,e):(i=Zt(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i}function Kt(t,e){return function(i,s){var o,n;return null===s||isNaN(+s)||(J(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),n=i,i=s,s=n),i="string"==typeof i?+i:i,o=Xt(i,s),$t(this,o,t),this}}function $t(t,i,s,o){var n=i._milliseconds,r=i._days,a=i._months;o=null==o?!0:o,n&&t._d.setTime(+t._d+n*s),r&&E(t,"Date",O(t,"Date")+r*s),a&&X(t,O(t,"Month")+a*s),o&&e.updateOffset(t,r||a)}function Jt(t){var e=t||Ct(),i=zt(e,this).startOf("day"),s=this.diff(i,"days",!0),o=-6>s?"sameElse":-1>s?"lastWeek":0>s?"lastDay":1>s?"sameDay":2>s?"nextDay":7>s?"nextWeek":"sameElse";return this.format(this.localeData().calendar(o,this,Ct(e)))}function te(){return new u(this)}function ee(t,e){var i;return e=M("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Ct(t),+this>+t):(i=m(t)?+t:+Ct(t),i<+this.clone().startOf(e))}function ie(t,e){var i;return e=M("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Ct(t),+t>+this):(i=m(t)?+t:+Ct(t),+this.clone().endOf(e)t?Math.ceil(t):Math.floor(t)}function re(t,e,i){var s,o,n=zt(t,this),r=6e4*(n.utcOffset()-this.utcOffset());return e=M(e),"year"===e||"month"===e||"quarter"===e?(o=ae(this,n),"quarter"===e?o/=3:"year"===e&&(o/=12)):(s=this-n,o="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-r)/864e5:"week"===e?(s-r)/6048e5:s),i?o:ne(o)}function ae(t,e){var i,s,o=12*(e.year()-t.year())+(e.month()-t.month()),n=t.clone().add(o,"months");return 0>e-n?(i=t.clone().add(o-1,"months"),s=(e-n)/(n-i)):(i=t.clone().add(o+1,"months"),s=(e-n)/(i-n)),-(o+s)}function he(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function de(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(i=Ct([2e3,1]).day(e),s="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(s.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function Pe(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Ne(t,this.localeData()),this.add(t-e,"d")):e}function Fe(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Re(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function He(t,e){I(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Be(t,e){return e._meridiemParse}function Ye(t){return"p"===(t+"").toLowerCase().charAt(0)}function We(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Ge(t){I(0,[t,3],0,"millisecond")}function je(){return this._isUTC?"UTC":""}function Ve(){return this._isUTC?"Coordinated Universal Time":""}function Ue(t){return Ct(1e3*t)}function Xe(){return Ct.apply(null,arguments).parseZone()}function qe(t,e,i){var s=this._calendar[t];return"function"==typeof s?s.call(e,i):s}function Ze(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e}function Qe(){return this._invalidDate}function Ke(t){return this._ordinal.replace("%d",t)}function $e(t){return t}function Je(t,e,i,s){var o=this._relativeTime[i];return"function"==typeof o?o(t,e,i,s):o.replace(/%d/i,t)}function ti(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)}function ei(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function ii(t,e,i,s){var o=S(),n=d().set(s,e);return o[i](n,t)}function si(t,e,i,s,o){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return ii(t,e,i,o);var n,r=[];for(n=0;s>n;n++)r[n]=ii(t,n,i,o);return r}function oi(t,e){return si(t,e,"months",12,"month")}function ni(t,e){return si(t,e,"monthsShort",12,"month")}function ri(t,e){return si(t,e,"weekdays",7,"day")}function ai(t,e){return si(t,e,"weekdaysShort",7,"day")}function hi(t,e){return si(t,e,"weekdaysMin",7,"day")}function di(){var t=this._data;return this._milliseconds=Ys(this._milliseconds),this._days=Ys(this._days),this._months=Ys(this._months),t.milliseconds=Ys(t.milliseconds),t.seconds=Ys(t.seconds),t.minutes=Ys(t.minutes),t.hours=Ys(t.hours),t.months=Ys(t.months),t.years=Ys(t.years),this}function li(t,e,i,s){var o=Xt(e,i);return t._milliseconds+=s*o._milliseconds,t._days+=s*o._days,t._months+=s*o._months,t._bubble()}function ci(t,e){return li(this,t,e,1)}function pi(t,e){return li(this,t,e,-1)}function ui(){var t,e,i,s=this._milliseconds,o=this._days,n=this._months,r=this._data,a=0;return r.milliseconds=s%1e3,t=ne(s/1e3),r.seconds=t%60,e=ne(t/60),r.minutes=e%60,i=ne(e/60),r.hours=i%24,o+=ne(i/24),a=ne(mi(o)),o-=ne(fi(a)),n+=ne(o/30),o%=30,a+=ne(n/12),n%=12,r.days=o,r.months=n,r.years=a,this}function mi(t){return 400*t/146097}function fi(t){return 146097*t/400}function gi(t){var e,i,s=this._milliseconds;if(t=M(t),"month"===t||"year"===t)return e=this._days+s/864e5,i=this._months+12*mi(e),"month"===t?i:i/12;switch(e=this._days+Math.round(fi(this._months/12)),t){case"week":return e/7+s/6048e5;case"day":return e+s/864e5;case"hour":return 24*e+s/36e5;case"minute":return 24*e*60+s/6e4;case"second":return 24*e*60*60+s/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+s;default:throw new Error("Unknown unit "+t)}}function vi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*f(this._months/12)}function yi(t){return function(){return this.as(t)}}function bi(t){return t=M(t),this[t+"s"]()}function _i(t){return function(){return this._data[t]}}function xi(){return ne(this.days()/7)}function wi(t,e,i,s,o){return o.relativeTime(e||1,!!i,t,s)}function Si(t,e,i){var s=Xt(t).abs(),o=so(s.as("s")),n=so(s.as("m")),r=so(s.as("h")),a=so(s.as("d")),h=so(s.as("M")),d=so(s.as("y")),l=o0,l[4]=i,wi.apply(null,l)}function Di(t,e){return void 0===oo[t]?!1:void 0===e?oo[t]:(oo[t]=e,!0)}function Mi(t){var e=this.localeData(),i=Si(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Ci(){var t=no(this.years()),e=no(this.months()),i=no(this.days()),s=no(this.hours()),o=no(this.minutes()),n=no(this.seconds()+this.milliseconds()/1e3),r=this.asSeconds();return r?(0>r?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(s||o||n?"T":"")+(s?s+"H":"")+(o?o+"M":"")+(n?n+"S":""):"P0D"}var Ti,Oi,Ei=e.momentProperties=[],ki=!1,Ni={},Ii={},Li=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,zi=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ai={},Pi={},Fi=/\d/,Ri=/\d\d/,Hi=/\d{3}/,Bi=/\d{4}/,Yi=/[+-]?\d{6}/,Wi=/\d\d?/,Gi=/\d{1,3}/,ji=/\d{1,4}/,Vi=/[+-]?\d{1,6}/,Ui=/\d+/,Xi=/[+-]?\d+/,qi=/Z|[+-]\d\d:?\d\d/gi,Zi=/[+-]?\d+(\.\d{1,3})?/,Qi=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Ki={},$i={},Ji=0,ts=1,es=2,is=3,ss=4,os=5,ns=6;I("M",["MM",2],"Mo",function(){return this.month()+1}),I("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),I("MMMM",0,0,function(t){return this.localeData().months(this,t)}),D("month","M"),F("M",Wi),F("MM",Wi,Ri),F("MMM",Qi),F("MMMM",Qi),B(["M","MM"],function(t,e){e[ts]=f(t)-1}),B(["MMM","MMMM"],function(t,e,i,s){var o=i._locale.monthsParse(t,s,i._strict);null!=o?e[ts]=o:i._pf.invalidMonth=t});var rs="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),as="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),hs={};e.suppressDeprecationWarnings=!1;var ds=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ls=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],cs=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],ps=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=$("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),I(0,["YY",2],0,function(){return this.year()%100}),I(0,["YYYY",4],0,"year"),I(0,["YYYYY",5],0,"year"),I(0,["YYYYYY",6,!0],0,"year"),D("year","y"),F("Y",Xi),F("YY",Wi,Ri),F("YYYY",ji,Bi),F("YYYYY",Vi,Yi),F("YYYYYY",Vi,Yi),B(["YYYY","YYYYY","YYYYYY"],Ji),B("YY",function(t,i){i[Ji]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return f(t)+(f(t)>68?1900:2e3)};var us=T("FullYear",!1);I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),D("week","w"),D("isoWeek","W"),F("w",Wi),F("ww",Wi,Ri),F("W",Wi),F("WW",Wi,Ri),Y(["w","ww","W","WW"],function(t,e,i,s){e[s.substr(0,1)]=f(t)});var ms={dow:0,doy:6};I("DDD",["DDDD",3],"DDDo","dayOfYear"),D("dayOfYear","DDD"),F("DDD",Gi),F("DDDD",Hi),B(["DDD","DDDD"],function(t,e,i){i._dayOfYear=f(t)}),e.ISO_8601=function(){};var fs=$("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Ct.apply(null,arguments);return this>t?this:t}),gs=$("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Ct.apply(null,arguments);return t>this?this:t});It("Z",":"),It("ZZ",""),F("Z",qi),F("ZZ",qi),B(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Lt(t)});var vs=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var ys=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,bs=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,_s=Kt(1,"add"),xs=Kt(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var ws=$("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});I(0,["gg",2],0,function(){return this.weekYear()%100}),I(0,["GG",2],0,function(){return this.isoWeekYear()%100}),De("gggg","weekYear"),De("ggggg","weekYear"),De("GGGG","isoWeekYear"),De("GGGGG","isoWeekYear"),D("weekYear","gg"),D("isoWeekYear","GG"),F("G",Xi),F("g",Xi),F("GG",Wi,Ri),F("gg",Wi,Ri),F("GGGG",ji,Bi),F("gggg",ji,Bi),F("GGGGG",Vi,Yi),F("ggggg",Vi,Yi),Y(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,s){e[s.substr(0,2)]=f(t)}),Y(["gg","GG"],function(t,i,s,o){i[o]=e.parseTwoDigitYear(t)}),I("Q",0,0,"quarter"),D("quarter","Q"),F("Q",Fi),B("Q",function(t,e){e[ts]=3*(f(t)-1)}),I("D",["DD",2],"Do","date"),D("date","D"),F("D",Wi),F("DD",Wi,Ri),F("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),B(["D","DD"],es),B("Do",function(t,e){e[es]=f(t.match(Wi)[0],10)});var Ss=T("Date",!0);I("d",0,"do","day"),I("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),I("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),I("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),D("day","d"),D("weekday","e"),D("isoWeekday","E"),F("d",Wi),F("e",Wi),F("E",Wi),F("dd",Qi),F("ddd",Qi),F("dddd",Qi),Y(["dd","ddd","dddd"],function(t,e,i){var s=i._locale.weekdaysParse(t);null!=s?e.d=s:i._pf.invalidWeekday=t}),Y(["d","e","E"],function(t,e,i,s){e[s]=f(t)});var Ds="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ms="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Cs="Su_Mo_Tu_We_Th_Fr_Sa".split("_");I("H",["HH",2],0,"hour"),I("h",["hh",2],0,function(){return this.hours()%12||12}),He("a",!0),He("A",!1),D("hour","h"),F("a",Be),F("A",Be),F("H",Wi),F("h",Wi),F("HH",Wi,Ri),F("hh",Wi,Ri),B(["H","HH"],is),B(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),B(["h","hh"],function(t,e,i){e[is]=f(t),i._pf.bigHour=!0});var Ts=/[ap]\.?m?\.?/i,Os=T("Hours",!0);I("m",["mm",2],0,"minute"),D("minute","m"),F("m",Wi),F("mm",Wi,Ri),B(["m","mm"],ss);var Es=T("Minutes",!1);I("s",["ss",2],0,"second"),D("second","s"),F("s",Wi),F("ss",Wi,Ri),B(["s","ss"],os);var ks=T("Seconds",!1);I("S",0,0,function(){return~~(this.millisecond()/100)}),I(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),Ge("SSS"),Ge("SSSS"),D("millisecond","ms"),F("S",Gi,Fi),F("SS",Gi,Ri),F("SSS",Gi,Hi),F("SSSS",Ui),B(["S","SS","SSS","SSSS"],function(t,e){e[ns]=f(1e3*("0."+t))});var Ns=T("Milliseconds",!1);I("z",0,0,"zoneAbbr"),I("zz",0,0,"zoneName");var Is=u.prototype;Is.add=_s,Is.calendar=Jt,Is.clone=te,Is.diff=re,Is.endOf=ge,Is.format=le,Is.from=ce,Is.fromNow=pe,Is.get=k,Is.invalidAt=Se,Is.isAfter=ee,Is.isBefore=ie,Is.isBetween=se,Is.isSame=oe,Is.isValid=xe,Is.lang=ws,Is.locale=ue,Is.localeData=me,Is.max=gs,Is.min=fs,Is.parsingFlags=we,Is.set=k,Is.startOf=fe,Is.subtract=xs,Is.toArray=_e,Is.toDate=be,Is.toISOString=de,Is.toJSON=de,Is.toString=he,Is.unix=ye,Is.valueOf=ve,Is.year=us,Is.isLeapYear=rt,Is.weekYear=Ce,Is.isoWeekYear=Te,Is.quarter=Is.quarters=ke,Is.month=q,Is.daysInMonth=Z,Is.week=Is.weeks=ct,Is.isoWeek=Is.isoWeeks=pt,Is.weeksInYear=Ee,Is.isoWeeksInYear=Oe,Is.date=Ss,Is.day=Is.days=Pe,Is.weekday=Fe,Is.isoWeekday=Re,Is.dayOfYear=mt,Is.hour=Is.hours=Os, -Is.minute=Is.minutes=Es,Is.second=Is.seconds=ks,Is.millisecond=Is.milliseconds=Ns,Is.utcOffset=Pt,Is.utc=Rt,Is.local=Ht,Is.parseZone=Bt,Is.hasAlignedHourOffset=Yt,Is.isDST=Wt,Is.isDSTShifted=Gt,Is.isLocal=jt,Is.isUtcOffset=Vt,Is.isUtc=Ut,Is.isUTC=Ut,Is.zoneAbbr=je,Is.zoneName=Ve,Is.dates=$("dates accessor is deprecated. Use date instead.",Ss),Is.months=$("months accessor is deprecated. Use month instead",q),Is.years=$("years accessor is deprecated. Use year instead",us),Is.zone=$("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Ft);var Ls=Is,zs={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},As={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},Ps="Invalid date",Fs="%d",Rs=/\d{1,2}/,Hs={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Bs=v.prototype;Bs._calendar=zs,Bs.calendar=qe,Bs._longDateFormat=As,Bs.longDateFormat=Ze,Bs._invalidDate=Ps,Bs.invalidDate=Qe,Bs._ordinal=Fs,Bs.ordinal=Ke,Bs._ordinalParse=Rs,Bs.preparse=$e,Bs.postformat=$e,Bs._relativeTime=Hs,Bs.relativeTime=Je,Bs.pastFuture=ti,Bs.set=ei,Bs.months=j,Bs._months=rs,Bs.monthsShort=V,Bs._monthsShort=as,Bs.monthsParse=U,Bs.week=ht,Bs._week=ms,Bs.firstDayOfYear=lt,Bs.firstDayOfWeek=dt,Bs.weekdays=Ie,Bs._weekdays=Ds,Bs.weekdaysMin=ze,Bs._weekdaysMin=Cs,Bs.weekdaysShort=Le,Bs._weekdaysShort=Ms,Bs.weekdaysParse=Ae,Bs.isPM=Ye,Bs._meridiemParse=Ts,Bs.meridiem=We,x("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===f(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=$("moment.lang is deprecated. Use moment.locale instead.",x),e.langData=$("moment.langData is deprecated. Use moment.localeData instead.",S);var Ys=Math.abs,Ws=yi("ms"),Gs=yi("s"),js=yi("m"),Vs=yi("h"),Us=yi("d"),Xs=yi("w"),qs=yi("M"),Zs=yi("y"),Qs=_i("milliseconds"),Ks=_i("seconds"),$s=_i("minutes"),Js=_i("hours"),to=_i("days"),eo=_i("months"),io=_i("years"),so=Math.round,oo={s:45,m:45,h:22,d:26,M:11},no=Math.abs,ro=kt.prototype;ro.abs=di,ro.add=ci,ro.subtract=pi,ro.as=gi,ro.asMilliseconds=Ws,ro.asSeconds=Gs,ro.asMinutes=js,ro.asHours=Vs,ro.asDays=Us,ro.asWeeks=Xs,ro.asMonths=qs,ro.asYears=Zs,ro.valueOf=vi,ro._bubble=ui,ro.get=bi,ro.milliseconds=Qs,ro.seconds=Ks,ro.minutes=$s,ro.hours=Js,ro.days=to,ro.weeks=xi,ro.months=eo,ro.years=io,ro.humanize=Mi,ro.toISOString=Ci,ro.toString=Ci,ro.toJSON=Ci,ro.locale=ue,ro.localeData=me,ro.toIsoString=$("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ci),ro.lang=ws,I("X",0,0,"unix"),I("x",0,0,"valueOf"),F("x",Xi),F("X",Zi),B("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),B("x",function(t,e,i){i._d=new Date(f(t))}),e.version="2.10.0",i(Ct),e.fn=Ls,e.min=Ot,e.max=Et,e.utc=d,e.unix=Ue,e.months=oi,e.isDate=n,e.locale=x,e.invalid=c,e.duration=Xt,e.isMoment=m,e.weekdays=ri,e.parseZone=Xe,e.localeData=S,e.isDuration=Nt,e.monthsShort=ni,e.weekdaysMin=hi,e.defineLocale=w,e.weekdaysShort=ai,e.normalizeUnits=M,e.relativeTimeThreshold=Di;var ao=e;return ao})}).call(e,i(71)(t))},function(t,e,i){var s;!function(o,n){function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){D.register(t)}),w.onTouch(a.DOCUMENT,v,D.detect),w.onTouch(a.DOCUMENT,y,D.detect),a.READY=!0)}var a=function M(t,e){return new M.Instance(t,e||{})};a.VERSION="1.1.3",a.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},a.DOCUMENT=document,a.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,a.HAS_TOUCHEVENTS="ontouchstart"in o,a.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),a.NO_MOUSEEVENTS=a.HAS_TOUCHEVENTS&&a.IS_MOBILE||a.HAS_POINTEREVENTS,a.CALCULATE_INTERVAL=25;var h={},d=a.DIRECTION_DOWN="down",l=a.DIRECTION_LEFT="left",c=a.DIRECTION_UP="up",p=a.DIRECTION_RIGHT="right",u=a.POINTER_MOUSE="mouse",m=a.POINTER_TOUCH="touch",f=a.POINTER_PEN="pen",g=a.EVENT_START="start",v=a.EVENT_MOVE="move",y=a.EVENT_END="end",b=a.EVENT_RELEASE="release",_=a.EVENT_TOUCH="touch";a.READY=!1,a.plugins=a.plugins||{},a.gestures=a.gestures||{};var x=a.utils={extend:function(t,e,i){for(var s in e)!e.hasOwnProperty(s)||t[s]!==n&&i||(t[s]=e[s]);return t},on:function(t,e,i){t.addEventListener(e,i,!1)},off:function(t,e,i){t.removeEventListener(e,i,!1)},each:function(t,e,i){var s,o;if("forEach"in t)t.forEach(e,i);else if(t.length!==n){for(s=0,o=t.length;o>s;s++)if(e.call(i,t[s],s,t)===!1)return}else for(s in t)if(t.hasOwnProperty(s)&&e.call(i,t[s],s,t)===!1)return},inStr:function(t,e){return t.indexOf(e)>-1},inArray:function(t,e){if(t.indexOf){var i=t.indexOf(e);return-1===i?!1:i}for(var s=0,o=t.length;o>s;s++)if(t[s]===e)return s;return!1},toArray:function(t){return Array.prototype.slice.call(t,0)},hasParent:function(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1},getCenter:function(t){var e=[],i=[],s=[],o=[],n=Math.min,r=Math.max;return 1===t.length?{pageX:t[0].pageX,pageY:t[0].pageY,clientX:t[0].clientX,clientY:t[0].clientY}:(x.each(t,function(t){e.push(t.pageX),i.push(t.pageY),s.push(t.clientX),o.push(t.clientY)}),{pageX:(n.apply(Math,e)+r.apply(Math,e))/2,pageY:(n.apply(Math,i)+r.apply(Math,i))/2,clientX:(n.apply(Math,s)+r.apply(Math,s))/2,clientY:(n.apply(Math,o)+r.apply(Math,o))/2})},getVelocity:function(t,e,i){return{x:Math.abs(e/t)||0,y:Math.abs(i/t)||0}},getAngle:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return 180*Math.atan2(s,i)/Math.PI},getDirection:function(t,e){var i=Math.abs(t.clientX-e.clientX),s=Math.abs(t.clientY-e.clientY);return i>=s?t.clientX-e.clientX>0?l:p:t.clientY-e.clientY>0?c:d},getDistance:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return Math.sqrt(i*i+s*s)},getScale:function(t,e){return t.length>=2&&e.length>=2?this.getDistance(e[0],e[1])/this.getDistance(t[0],t[1]):1},getRotation:function(t,e){return t.length>=2&&e.length>=2?this.getAngle(e[1],e[0])-this.getAngle(t[1],t[0]):0},isVertical:function(t){return t==c||t==d},setPrefixedCss:function(t,e,i,s){var o=["","Webkit","Moz","O","ms"];e=x.toCamelCase(e);for(var n=0;n0&&this.started&&(r=v),this.started=!0;var d=this.collectEventData(i,r,o,t);return e!=y&&s.call(D,d),a&&(d.changedLength=h,d.eventType=a,s.call(D,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(D,d),this.started=!1),r},determineEventTypes:function(){var t;return t=a.HAS_POINTEREVENTS?o.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:a.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],h[g]=t[0],h[v]=t[1],h[y]=t[2],h},getTouchList:function(t,e){if(a.HAS_POINTEREVENTS)return S.getTouchList();if(t.touches){if(e==v)return t.touches;var i=[],s=[].concat(x.toArray(t.touches),x.toArray(t.changedTouches)),o=[];return x.each(s,function(t){x.inArray(i,t.identifier)===!1&&o.push(t),i.push(t.identifier)}),o}return t.identifier=1,[t]},collectEventData:function(t,e,i,s){var o=m;return x.inStr(s.type,"mouse")||S.matchType(u,s)?o=u:S.matchType(f,s)&&(o=f),{center:x.getCenter(i),timeStamp:Date.now(),target:s.target,touches:i,eventType:e,pointerType:o,srcEvent:s,preventDefault:function(){var t=this.srcEvent;t.preventManipulation&&t.preventManipulation(),t.preventDefault&&t.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return D.stopDetect()}}}},S=a.PointerEvent={pointers:{},getTouchList:function(){var t=[];return x.each(this.pointers,function(e){t.push(e)}),t},updatePointer:function(t,e){t==y||t!=y&&1!==e.buttons?delete this.pointers[e.pointerId]:(e.identifier=e.pointerId,this.pointers[e.pointerId]=e)},matchType:function(t,e){if(!e.pointerType)return!1;var i=e.pointerType,s={};return s[u]=i===(e.MSPOINTER_TYPE_MOUSE||u),s[m]=i===(e.MSPOINTER_TYPE_TOUCH||m),s[f]=i===(e.MSPOINTER_TYPE_PEN||f),s[t]},reset:function(){this.pointers={}}},D=a.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(t,e){this.current||(this.stopped=!1,this.current={inst:t,startEvent:x.extend({},e),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(e))},detect:function(t){if(this.current&&!this.stopped){t=this.extendEventData(t);var e=this.current.inst,i=e.options;return x.each(this.gestures,function(s){!this.stopped&&e.enabled&&i[s.name]&&s.handler.call(s,t,e)},this),this.current&&(this.current.lastEvent=t),t.eventType==y&&this.stopDetect(),t}},stopDetect:function(){this.previous=x.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(t,e,i,s,o){var n=this.current,r=!1,h=n.lastCalcEvent,d=n.lastCalcData;h&&t.timeStamp-h.timeStamp>a.CALCULATE_INTERVAL&&(e=h.center,i=t.timeStamp-h.timeStamp,s=t.center.clientX-h.center.clientX,o=t.center.clientY-h.center.clientY,r=!0),(t.eventType==_||t.eventType==b)&&(n.futureCalcEvent=t),(!n.lastCalcEvent||r)&&(d.velocity=x.getVelocity(i,s,o),d.angle=x.getAngle(e,t.center),d.direction=x.getDirection(e,t.center),n.lastCalcEvent=n.futureCalcEvent||t,n.futureCalcEvent=t),t.velocityX=d.velocity.x,t.velocityY=d.velocity.y,t.interimAngle=d.angle,t.interimDirection=d.direction},extendEventData:function(t){var e=this.current,i=e.startEvent,s=e.lastEvent||i;(t.eventType==_||t.eventType==b)&&(i.touches=[],x.each(t.touches,function(t){i.touches.push({clientX:t.clientX,clientY:t.clientY})}));var o=t.timeStamp-i.timeStamp,n=t.center.clientX-i.center.clientX,r=t.center.clientY-i.center.clientY;return this.getCalculatedData(t,s.center,o,n,r),x.extend(t,{startEvent:i,deltaTime:o,deltaX:n,deltaY:r,distance:x.getDistance(i.center,t.center),angle:x.getAngle(i.center,t.center),direction:x.getDirection(i.center,t.center),scale:x.getScale(i.touches,t.touches),rotation:x.getRotation(i.touches,t.touches)}),t},register:function(t){var e=t.defaults||{};return e[t.name]===n&&(e[t.name]=!0),x.extend(a.defaults,e,!0),t.index=t.index||1e3,this.gestures.push(t),this.gestures.sort(function(t,e){return t.indexe.index?1:0}),this.gestures}};a.Instance=function(t,e){var i=this;r(),this.element=t,this.enabled=!0,x.each(e,function(t,i){delete e[i],e[x.toCamelCase(i)]=t}),this.options=x.extend(x.extend({},a.defaults),e||{}),this.options.behavior&&x.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=w.onTouch(t,g,function(t){i.enabled&&t.eventType==g?D.startDetect(i,t):t.eventType==_&&D.detect(t)}),this.eventHandlers=[]},a.Instance.prototype={on:function(t,e){var i=this;return w.on(i.element,t,e,function(t){i.eventHandlers.push({gesture:t,handler:e})}),i},off:function(t,e){var i=this;return w.off(i.element,t,e,function(t){var s=x.inArray({gesture:t,handler:e});s!==!1&&i.eventHandlers.splice(s,1)}),i},trigger:function(t,e){e||(e={});var i=a.DOCUMENT.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=e;var s=this.element;return x.hasParent(e.target,s)&&(s=e.target),s.dispatchEvent(i),this},enable:function(t){return this.enabled=t,this},dispose:function(){var t,e;for(x.toggleBehavior(this.element,this.options.behavior,!1),t=-1;e=this.eventHandlers[++t];)x.off(this.element,e.gesture,e.handler);return this.eventHandlers=[],w.off(this.element,h[g],this.eventStartHandler),null}},function(t){function e(e,s){var o=D.current;if(!(s.options.dragMaxTouches>0&&e.touches.length>s.options.dragMaxTouches))switch(e.eventType){case g:i=!1;break;case v:if(e.distance0)){var r=Math.abs(s.options.dragMinDistance/e.distance);n.pageX+=e.deltaX*r,n.pageY+=e.deltaY*r,n.clientX+=e.deltaX*r,n.clientY+=e.deltaY*r,e=D.extendEventData(e)}(o.lastEvent.dragLockToAxis||s.options.dragLockToAxis&&s.options.dragLockMinDistance<=e.distance)&&(e.dragLockToAxis=!0);var a=o.lastEvent.direction;e.dragLockToAxis&&a!==e.direction&&(e.direction=x.isVertical(a)?e.deltaY<0?c:d:e.deltaX<0?l:p),i||(s.trigger(t+"start",e),i=!0),s.trigger(t,e),s.trigger(t+e.direction,e);var h=x.isVertical(e.direction);(s.options.dragBlockVertical&&h||s.options.dragBlockHorizontal&&!h)&&e.preventDefault();break;case b:i&&e.changedLength<=s.options.dragMaxTouches&&(s.trigger(t+"end",e),i=!1);break;case y:i=!1}}var i=!1;a.gestures.Drag={name:t,index:50,handler:e,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),a.gestures.Gesture={name:"gesture",index:1337,handler:function(t,e){e.trigger(this.name,t)}},function(t){function e(e,s){var o=s.options,n=D.current;switch(e.eventType){case g:clearTimeout(i),n.name=t,i=setTimeout(function(){n&&n.name==t&&s.trigger(t,e)},o.holdTimeout);break;case v:e.distance>o.holdThreshold&&clearTimeout(i);break;case b:clearTimeout(i)}}var i;a.gestures.Hold={name:t,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:e}}("hold"),a.gestures.Release={name:"release",index:1/0,handler:function(t,e){t.eventType==b&&e.trigger(this.name,t)}},a.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(t,e){if(t.eventType==b){var i=t.touches.length,s=e.options;if(is.swipeMaxTouches)return;(t.velocityX>s.swipeVelocityX||t.velocityY>s.swipeVelocityY)&&(e.trigger(this.name,t),e.trigger(this.name+t.direction,t))}}},function(t){function e(e,s){var o,n,r=s.options,a=D.current,h=D.previous;switch(e.eventType){case g:i=!1;break;case v:i=i||e.distance>r.tapMaxDistance;break;case y:!x.inStr(e.srcEvent.type,"cancel")&&e.deltaTimes.options.transformMinRotation&&s.trigger("rotate",e),o>s.options.transformMinScale&&(s.trigger("pinch",e),s.trigger("pinch"+(e.scale<1?"in":"out"),e));break;case b:i&&e.changedLength<2&&(s.trigger(t+"end",e),i=!1)}}var i=!1;a.gestures.Transform={name:t,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:e}}("transform"),s=function(){return a}.call(e,i,e,t),!(s!==n&&(t.exports=s))}(window)},function(t,e,i){function s(){this.constants.smoothCurves.enabled=!this.constants.smoothCurves.enabled;var t=document.getElementById("graph_toggleSmooth");t.style.background=1==this.constants.smoothCurves.enabled?"#A4FF56":"#FF8532",this._configureSmoothCurves(!1)}function o(){for(var t in this.calculationNodes)this.calculationNodes.hasOwnProperty(t)&&(this.calculationNodes[t].vx=0,this.calculationNodes[t].vy=0,this.calculationNodes[t].fx=0,this.calculationNodes[t].fy=0);1==this.constants.hierarchicalLayout.enabled?(this._setupHierarchicalLayout(),a.call(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),a.call(this,"graph_H_cg",1,"physics_centralGravity"),a.call(this,"graph_H_sc",1,"physics_springConstant"),a.call(this,"graph_H_sl",1,"physics_springLength"),a.call(this,"graph_H_damp",1,"physics_damping")):this.repositionNodes(),this.moving=!0,this.start()}function n(){var t="No options are required, default values used.",e=[],i=document.getElementById("graph_physicsMethod1"),s=document.getElementById("graph_physicsMethod2");if(1==i.checked){if(this.constants.physics.barnesHut.gravitationalConstant!=this.backupConstants.physics.barnesHut.gravitationalConstant&&e.push("gravitationalConstant: "+this.constants.physics.barnesHut.gravitationalConstant),this.constants.physics.centralGravity!=this.backupConstants.physics.barnesHut.centralGravity&&e.push("centralGravity: "+this.constants.physics.centralGravity),this.constants.physics.springLength!=this.backupConstants.physics.barnesHut.springLength&&e.push("springLength: "+this.constants.physics.springLength),this.constants.physics.springConstant!=this.backupConstants.physics.barnesHut.springConstant&&e.push("springConstant: "+this.constants.physics.springConstant),this.constants.physics.damping!=this.backupConstants.physics.barnesHut.damping&&e.push("damping: "+this.constants.physics.damping),0!=e.length){t="var options = {",t+="physics: {barnesHut: {";for(var o=0;othis.constants.clustering.clusterThreshold&&1==this.constants.clustering.enabled&&this.clusterToFit(this.constants.clustering.reduceToNodes,!1),this._calculateForces())},e._calculateForces=function(){this._calculateGravitationalForces(),this._calculateNodeForces(),this.constants.physics.springConstant>0&&(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic?this._calculateSpringForcesWithSupport():1==this.constants.physics.hierarchicalRepulsion.enabled?this._calculateHierarchicalSpringForces():this._calculateSpringForces())},e._updateCalculationNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this.calculationNodes={},this.calculationNodeIndices=[];for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.calculationNodes[t]=this.nodes[t]);var e=this.sectors.support.nodes;for(var i in e)e.hasOwnProperty(i)&&(this.edges.hasOwnProperty(e[i].parentEdgeId)?this.calculationNodes[i]=e[i]:e[i]._setForce(0,0));for(var s in this.calculationNodes)this.calculationNodes.hasOwnProperty(s)&&this.calculationNodeIndices.push(s)}else this.calculationNodes=this.nodes,this.calculationNodeIndices=this.nodeIndices},e._calculateGravitationalForces=function(){var t,e,i,s,o,n=this.calculationNodes,r=this.constants.physics.centralGravity,a=0;for(o=0;oSimulation Mode:Barnes HutRepulsionHierarchical
Options:
', -this.containerElement.parentElement.insertBefore(this.physicsConfiguration,this.containerElement),this.optionsDiv=document.createElement("div"),this.optionsDiv.style.fontSize="14px",this.optionsDiv.style.fontFamily="verdana",this.containerElement.parentElement.insertBefore(this.optionsDiv,this.containerElement);var d;d=document.getElementById("graph_BH_gc"),d.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),d=document.getElementById("graph_BH_cg"),d.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),d=document.getElementById("graph_BH_sc"),d.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),d=document.getElementById("graph_BH_sl"),d.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),d=document.getElementById("graph_BH_damp"),d.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),d=document.getElementById("graph_R_nd"),d.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),d=document.getElementById("graph_R_cg"),d.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),d=document.getElementById("graph_R_sc"),d.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),d=document.getElementById("graph_R_sl"),d.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),d=document.getElementById("graph_R_damp"),d.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),d=document.getElementById("graph_H_nd"),d.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),d=document.getElementById("graph_H_cg"),d.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),d=document.getElementById("graph_H_sc"),d.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),d=document.getElementById("graph_H_sl"),d.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),d=document.getElementById("graph_H_damp"),d.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),d=document.getElementById("graph_H_direction"),d.onchange=a.bind(this,"graph_H_direction",i,"hierarchicalLayout_direction"),d=document.getElementById("graph_H_levsep"),d.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),d=document.getElementById("graph_H_nspac"),d.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var l=document.getElementById("graph_physicsMethod1"),c=document.getElementById("graph_physicsMethod2"),p=document.getElementById("graph_physicsMethod3");c.checked=!0,this.constants.physics.barnesHut.enabled&&(l.checked=!0),this.constants.hierarchicalLayout.enabled&&(p.checked=!0);var u=document.getElementById("graph_toggleSmooth"),m=document.getElementById("graph_repositionNodes"),f=document.getElementById("graph_generateOptions");u.onclick=s.bind(this),m.onclick=o.bind(this),f.onclick=n.bind(this),u.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),l.onchange=r.bind(this),c.onchange=r.bind(this),p.onchange=r.bind(this)}},e._overWriteGraphConstants=function(t,e){var i=t.split("_");1==i.length?this.constants[i[0]]=e:2==i.length?this.constants[i[0]][i[1]]=e:3==i.length&&(this.constants[i[0]][i[1]][i[2]]=e)}},function(t,e,i){e.startWithClustering=function(){this.clusterToFit(this.constants.clustering.initialMaxNodes,!0),this.updateLabels(),1==this.constants.stabilize&&this._stabilize(),this.start()},e.clusterToFit=function(t,e){for(var i=this.nodeIndices.length,s=50,o=0;i>t&&s>o;)o%3==0?(this.forceAggregateHubs(!0),this.normalizeClusterLevels()):this.increaseClusterLevel(),this.forceAggregateHubs(!0),i=this.nodeIndices.length,o+=1;o>0&&1==e&&this.repositionNodes(),this._updateCalculationNodes()},e.openCluster=function(t){var e=this.moving;if(t.clusterSize>this.constants.clustering.sectorThreshold&&this._nodeInActiveArea(t)&&("default"!=this._sector()||1!=this.nodeIndices.length)){this._addSector(t);for(var i=0;this.nodeIndices.lengthi;)this.decreaseClusterLevel(),i+=1}else this._expandClusterNode(t,!1,!0),this._updateNodeIndexList(),this._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},e.updateClustersDefault=function(){1==this.constants.clustering.enabled&&1==this.constants.clustering.clusterByZoom&&this.updateClusters(0,!1,!1)},e.increaseClusterLevel=function(){this.updateClusters(-1,!1,!0)},e.decreaseClusterLevel=function(){this.updateClusters(1,!1,!0)},e.updateClusters=function(t,e,i,s){var o=this.moving,n=this.nodeIndices.length,r=this.previousScalethis.scale&&0==t;1==a&&this._collapseSector(),1==a||-1==t?this._formClusters(i):(1==r||1==t)&&(1==i?this._openClusters(e,i):this._openClusters(e,!1)),this._updateNodeIndexList(),this.nodeIndices.length!=n||1!=a&&-1!=t||(this._aggregateHubs(i),this._updateNodeIndexList()),(1==a||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,this.updateLabels(),this.nodeIndices.lengththis.constants.clustering.chainThreshold&&this._reduceAmountOfChains(1-this.constants.clustering.chainThreshold/t)},e._aggregateHubs=function(t){this._getHubSize(),this._formClustersByHub(t,!1)},e.forceAggregateHubs=function(t){var e=this.moving,i=this.nodeIndices.length;this._aggregateHubs(!0),this._updateNodeIndexList(),this.updateLabels(),this._updateCalculationNodes(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},e._openClustersBySize=function(){if(1==this.constants.clustering.clusterByZoom)for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];1==e.inView()&&(e.width*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientWidth||e.height*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientHeight)&&this.openCluster(e)}},e._openClusters=function(t,e){for(var i=0;i1&&(void 0===s&&(s=!1),e=s||e,t.formationScalei)){var r=n.from,a=n.to;n.to.options.mass>n.from.options.mass&&(r=n.to,a=n.from),1==a.dynamicEdges.length?this._addToCluster(r,a,!1):1==r.dynamicEdges.length&&this._addToCluster(a,r,!1)}}},e._forceClustersByZoom=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];if(1==e.dynamicEdges.length){var i=e.dynamicEdges[0],s=i.toId==e.id?this.nodes[i.fromId]:this.nodes[i.toId];e.id!=s.id&&(s.options.mass>e.options.mass?this._addToCluster(s,e,!0):this._addToCluster(e,s,!0))}}},e._clusterToSmallestNeighbour=function(t){for(var e=-1,i=null,s=0;so.clusterSessions.length&&(e=o.clusterSessions.length,i=o)}null!=o&&void 0!==this.nodes[o.id]&&this._addToCluster(o,t,!0)},e._formClustersByHub=function(t,e){for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&this._formClusterFromHub(this.nodes[i],t,e)},e._formClusterFromHub=function(t,e,i,s){if(void 0===s&&(s=0),t.dynamicEdges.length>=this.hubThreshold&&0==i||t.dynamicEdges.length==this.hubThreshold&&1==i){for(var o,n,r,a=this.constants.clustering.clusterEdgeThreshold/this.scale,h=!1,d=[],l=t.dynamicEdges.length,c=0;l>c;c++)d.push(t.dynamicEdges[c].id);if(0==e)for(h=!1,c=0;l>c;c++){var p=this.edges[d[c]];if(void 0!==p&&p.connected&&p.toId!=p.fromId&&(o=p.to.x-p.from.x,n=p.to.y-p.from.y,r=Math.sqrt(o*o+n*n),a>r)){h=!0;break}}if(!e&&h||e){var u=[],m={};for(c=0;l>c;c++){p=this.edges[d[c]];var f=this.nodes[p.fromId==t.id?p.toId:p.fromId];void 0===m[f.id]&&(m[f.id]=!0,u.push(f))}for(c=0;c1&&(e.label="[".concat(String(e.clusterSize),"]"))}for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(e=this.nodes[t],1==e.clusterSize&&(e.label=void 0!==e.originalLabel?e.originalLabel:String(e.id)))},e.normalizeClusterLevels=function(){var t,e=0,i=1e9,s=0;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(s=this.nodes[t].clusterSessions.length,s>e&&(e=s),i>s&&(i=s));if(e-i>this.constants.clustering.clusterLevelDifference){var o=this.nodeIndices.length,n=e-this.constants.clustering.clusterLevelDifference;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodes[t].clusterSessions.lengths&&(s=n.dynamicEdges.length),t+=n.dynamicEdges.length,e+=Math.pow(n.dynamicEdges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r);this.hubThreshold=Math.floor(t+2*a),this.hubThreshold>s&&(this.hubThreshold=s)},e._reduceAmountOfChains=function(t){this.hubThreshold=2;var e=Math.floor(this.nodeIndices.length*t);for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&2==this.nodes[i].dynamicEdges.length&&e>0&&(this._formClusterFromHub(this.nodes[i],!0,!0,1),e-=1)},e._getChainFraction=function(){var t=0,e=0;for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&(2==this.nodes[i].dynamicEdges.length&&(t+=1),e+=1);return t/e}},function(t,e,i){var s=i(1),o=i(40);e._putDataInSector=function(){this.sectors.active[this._sector()].nodes=this.nodes,this.sectors.active[this._sector()].edges=this.edges,this.sectors.active[this._sector()].nodeIndices=this.nodeIndices},e._switchToSector=function(t,e){void 0===e||"active"==e?this._switchToActiveSector(t):this._switchToFrozenSector(t)},e._switchToActiveSector=function(t){this.nodeIndices=this.sectors.active[t].nodeIndices,this.nodes=this.sectors.active[t].nodes,this.edges=this.sectors.active[t].edges},e._switchToSupportSector=function(){this.nodeIndices=this.sectors.support.nodeIndices,this.nodes=this.sectors.support.nodes,this.edges=this.sectors.support.edges},e._switchToFrozenSector=function(t){this.nodeIndices=this.sectors.frozen[t].nodeIndices,this.nodes=this.sectors.frozen[t].nodes,this.edges=this.sectors.frozen[t].edges},e._loadLatestSector=function(){this._switchToSector(this._sector())},e._sector=function(){return this.activeSector[this.activeSector.length-1]},e._previousSector=function(){if(this.activeSector.length>1)return this.activeSector[this.activeSector.length-2];throw new TypeError("there are not enough sectors in the this.activeSector array.")},e._setActiveSector=function(t){this.activeSector.push(t)},e._forgetLastSector=function(){this.activeSector.pop()},e._createNewSector=function(t){this.sectors.active[t]={nodes:{},edges:{},nodeIndices:[],formationScale:this.scale,drawingNode:void 0},this.sectors.active[t].drawingNode=new o({id:t,color:{background:"#eaefef",border:"495c5e"}},{},{},this.constants),this.sectors.active[t].drawingNode.clusterSize=2},e._deleteActiveSector=function(t){delete this.sectors.active[t]},e._deleteFrozenSector=function(t){delete this.sectors.frozen[t]},e._freezeSector=function(t){this.sectors.frozen[t]=this.sectors.active[t],this._deleteActiveSector(t)},e._activateSector=function(t){this.sectors.active[t]=this.sectors.frozen[t],this._deleteFrozenSector(t)},e._mergeThisWithFrozen=function(t){for(var e in this.nodes)this.nodes.hasOwnProperty(e)&&(this.sectors.frozen[t].nodes[e]=this.nodes[e]);for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.sectors.frozen[t].edges[i]=this.edges[i]);for(var s=0;s1?this[t](o[0],o[1]):this[t](e))}return this._loadLatestSector(),i},e._doInSupportSector=function(t,e){var i=!1;if(void 0===e)this._switchToSupportSector(),i=this[t]();else{this._switchToSupportSector();var s=Array.prototype.splice.call(arguments,1);i=s.length>1?this[t](s[0],s[1]):this[t](e)}return this._loadLatestSector(),i},e._doInAllFrozenSectors=function(t,e){if(void 0===e)for(var i in this.sectors.frozen)this.sectors.frozen.hasOwnProperty(i)&&(this._switchToFrozenSector(i),this[t]());else for(var i in this.sectors.frozen)if(this.sectors.frozen.hasOwnProperty(i)){this._switchToFrozenSector(i);var s=Array.prototype.splice.call(arguments,1);s.length>1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},e._doInAllSectors=function(t,e){var i=Array.prototype.splice.call(arguments,1);void 0===e?(this._doInAllActiveSectors(t),this._doInAllFrozenSectors(t)):i.length>1?(this._doInAllActiveSectors(t,i[0],i[1]),this._doInAllFrozenSectors(t,i[0],i[1])):(this._doInAllActiveSectors(t,e),this._doInAllFrozenSectors(t,e))},e._clearNodeIndexList=function(){var t=this._sector();this.sectors.active[t].nodeIndices=[],this.nodeIndices=this.sectors.active[t].nodeIndices},e._drawSectorNodes=function(t,e){var i,s=1e9,o=-1e9,n=1e9,r=-1e9;for(var a in this.sectors[e])if(this.sectors[e].hasOwnProperty(a)&&void 0!==this.sectors[e][a].drawingNode){this._switchToSector(a,e),s=1e9,o=-1e9,n=1e9,r=-1e9;for(var h in this.nodes)this.nodes.hasOwnProperty(h)&&(i=this.nodes[h],i.resize(t),n>i.x-.5*i.width&&(n=i.x-.5*i.width),ri.y-.5*i.height&&(s=i.y-.5*i.height),o0?this.nodes[i[i.length-1]]:null},e._getEdgesOverlappingWith=function(t,e){var i=this.edges;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},e._getAllEdgesOverlappingWith=function(t){var e=[];return this._doInAllActiveSectors("_getEdgesOverlappingWith",t,e),e},e._getEdgeAt=function(t){var e=this._pointerToPositionObject(t),i=this._getAllEdgesOverlappingWith(e);return i.length>0?this.edges[i[i.length-1]]:null},e._addToSelection=function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t},e._addToHover=function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t},e._removeFromSelection=function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]},e._unselectAll=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&this.selectionObj.edges[i].unselect();this.selectionObj={nodes:{},edges:{}},0==t&&this.emit("select",this.getSelection())},e._unselectClusters=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1&&(this.selectionObj.nodes[e].unselect(),this._removeFromSelection(this.selectionObj.nodes[e]));0==t&&this.emit("select",this.getSelection())},e._getSelectedNodeCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedNode=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return null},e._getSelectedEdge=function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return null},e._getSelectedEdgeCount=function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedObjectCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t},e._selectionIsEmpty=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0},e._clusterInSelection=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1},e._selectConnectedEdges=function(t){for(var e=0;ei;i++){o=t[i];var n=this.nodes[o];if(!n)throw new RangeError('Node with id "'+o+'" not found');this._selectObject(n,!0,!0,e,!0)}this.redraw()},e.selectEdges=function(t){var e,i,s;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),e=0,i=t.length;i>e;e++){s=t[e];var o=this.edges[s];if(!o)throw new RangeError('Edge with id "'+s+'" not found');this._selectObject(o,!0,!0,!1,!0)}this.redraw()},e._updateSelection=function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},function(t,e,i){var s=i(1),o=i(40),n=i(37),r=i(45);e._clearManipulatorBar=function(){this._recursiveDOMDelete(this.manipulationDiv),this.manipulationDOM={},this._cleanManipulatorHammers(),this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1,this.freezeSimulation(!1)},e._cleanManipulatorHammers=function(){if(0!=this.manipulationHammers.length){for(var t=0;t1)alert(this.constants.locales[this.constants.locale].createEdgeError);else{this._selectObject(e,!1);var i=this.sectors.support.nodes;i.targetNode=new o({id:"targetNode"},{},{},this.constants);var s=i.targetNode;s.x=e.x,s.y=e.y,this.edges.connectionEdge=new n({id:"connectionEdge",from:e.id,to:s.id},this,this.constants);var r=this.edges.connectionEdge;r.from=e,r.connected=!0,r.options.smoothCurves={enabled:!0,dynamic:!1,type:"continuous",roundness:.5},r.selected=!0,r.to=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag;var a=this;this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=a.edges.connectionEdge;i.to.x=a._XconvertDOMtoCanvas(e.x),i.to.y=a._YconvertDOMtoCanvas(e.y),a._redraw()},this.moving=!0,this.start()}}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){var e=this._getPointer(t.gesture.center);this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var i=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var s=this._getNodeAt(e);null!=s&&(s.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(i,s.id),this._createManipulatorBar())),this._unselectAll()}},e._addNode=function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:s.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add){if(2!=this.triggerFunctions.add.length)throw new Error("The function for add does not support two arguments (data,callback)");var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},e._createEdge=function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect){if(2!=this.triggerFunctions.connect.length)throw new Error("The function for connect does not support two arguments (data,callback)");var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else this.edgesData.add(i),this.moving=!0,this.start()}},e._editEdge=function(t,e){if(1==this.editMode){var i={id:this.edgeBeingEdited.id,from:t,to:e};if(this.triggerFunctions.editEdge){if(2!=this.triggerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");var s=this;this.triggerFunctions.editEdge(i,function(t){s.edgesData.update(t),s.moving=!0,s.start()})}else this.edgesData.update(i),this.moving=!0,this.start()}},e._editNode=function(){if(!this.triggerFunctions.edit||1!=this.editMode)throw new Error("No edit function has been bound to this button");var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.options.group,shape:t.options.shape,color:{background:t.options.color.background,border:t.options.color.border,highlight:{background:t.options.color.highlight.background,border:t.options.color.highlight.border}}};if(2!=this.triggerFunctions.edit.length)throw new Error("The function for edit does not support two arguments (data, callback)");var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})},e._deleteSelected=function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert(this.constants.locales[this.constants.locale].deleteClusterError);else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.del){var i=this,s={nodes:t,edges:e};if(2!=this.triggerFunctions.del.length)throw new Error("The function for delete does not support two arguments (data, callback)");this.triggerFunctions.del(s,function(t){i.edgesData.remove(t.edges),i.nodesData.remove(t.nodes),i._unselectAll(),i.moving=!0,i.start()})}else this.edgesData.remove(e),this.nodesData.remove(t),this._unselectAll(),this.moving=!0,this.start()}}},function(t,e,i){var s=(i(1),i(45));e._cleanNavigation=function(){if(0!=this.navigationHammers.length){for(var t=0;t0){var t,e,i=0,s=!1,o=!1;for(e in this.nodes)this.nodes.hasOwnProperty(e)&&(t=this.nodes[e],-1!=t.level?s=!0:o=!0,is&&(n.xFixed=!1,n.x=i[n.level].minPos,r=!0):n.yFixed&&n.level>s&&(n.yFixed=!1,n.y=i[n.level].minPos,r=!0),1==r&&(i[n.level].minPos+=i[n.level].nodeSpacing,n.edges.length>1&&this._placeBranchNodes(n.edges,n.id,i,n.level))}},e._setLevel=function(t,e,i){for(var s=0;st)&&(o.level=t,o.edges.length>1&&this._setLevel(t+1,o.edges,o.id))}},e._setLevelDirected=function(t,e,i){this.nodes[i].hierarchyEnumerated=!0;for(var s,o,n=0;n1&&s.hierarchyEnumerated===!1&&this._setLevelDirected(s.level,s.edges,s.id)},e._restoreNodes=function(){for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.nodes[t].xFixed=!1,this.nodes[t].yFixed=!1)}},function(t,e,i){function s(t){throw new Error("Cannot find module '"+t+"'.")}s.keys=function(){return[]},s.resolve=s,t.exports=s,s.id=67},function(t,e,i){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l,c=this.calculationNodes,p=this.calculationNodeIndices,u=-2/3,m=4/3,f=this.constants.physics.repulsion.nodeDistance,g=f;for(d=0;di&&(r=.5*g>i?1:v*i+m,r*=0==n?1:1+n*this.constants.clustering.forceAmplification,r/=Math.max(i,.01*g),s=t*r,o=e*r,a.fx-=s,a.fy-=o,h.fx+=s,h.fy+=o)}}},function(t,e,i){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l=this.calculationNodes,c=this.calculationNodeIndices,p=this.constants.physics.hierarchicalRepulsion.nodeDistance;for(h=0;hi?-Math.pow(u*i,2)+Math.pow(u*p,2):0,0==i?i=.01:n/=i,s=t*n,o=e*n,r.fx-=s,r.fy-=o,a.fx+=s,a.fy+=o}},e._calculateHierarchicalSpringForces=function(){for(var t,e,i,s,o,n,r,a,h,d=this.edges,l=this.calculationNodes,c=this.calculationNodeIndices,p=0;pn;n++)t=e[i[n]],t.options.mass>0&&(this._getForceContribution(o.root.children.NW,t),this._getForceContribution(o.root.children.NE,t),this._getForceContribution(o.root.children.SW,t),this._getForceContribution(o.root.children.SE,t))}},e._getForceContribution=function(t,e){if(t.childrenCount>0){var i,s,o;if(i=t.centerOfMass.x-e.x,s=t.centerOfMass.y-e.y,o=Math.sqrt(i*i+s*s),o*t.calcSize>this.constants.physics.barnesHut.thetaInverted){0==o&&(o=.1*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}else if(4==t.childrenCount)this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e);else if(t.children.data.id!=e.id){0==o&&(o=.5*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}}},e._formBarnesHutTree=function(t,e){for(var i,s=e.length,o=Number.MAX_VALUE,n=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;s>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(o>d&&(o=d),d>r&&(r=d),n>l&&(n=l),l>a&&(a=l))}var c=Math.abs(r-o)-Math.abs(a-n);c>0?(n-=.5*c,a+=.5*c):(o+=.5*c,r-=.5*c);var p=1e-5,u=Math.max(p,Math.abs(r-o)),m=.5*u,f=.5*(o+r),g=.5*(n+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:f-m,maxX:f+m,minY:g-m,maxY:g+m},size:u,calcSize:1/u,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(v.root),h=0;s>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(v.root,i);this.barnesHutTree=v},e._updateBranchMass=function(t,e){var i=t.mass+e.options.mass,s=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=s,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=s,t.mass=i;var o=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")},e._placeInRegion=function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x==e.x&&t.children[i].children.data.y==e.y?(e.x+=Math.random(),e.y+=Math.random()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}},e._splitBranch=function(t){var e=null;1==t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)},e._insertRegion=function(t,e){var i,s,o,n,r=.5*t.size;switch(e){case"NW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY,n=t.range.minY+r;break;case"NE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY,n=t.range.minY+r;break;case"SW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY+r,n=t.range.maxY;break;case"SE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY+r,n=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:s,minY:o,maxY:n},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}},e._drawTree=function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))},e._drawBranch=function(t,e,i){void 0===i&&(i="#FF0000"),4==t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}},function(t,e,i){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}}])}); +o?(e={item:o,initialX:t.gesture.center.pageX,dragLeft:!0,data:n.extend({},i.data)},this.touchParams.itemProps=[e]):r?(e={item:r,initialX:t.gesture.center.pageX,dragRight:!0,data:n.extend({},i.data)},this.touchParams.itemProps=[e]):this.touchParams.itemProps=this.getSelection().map(function(e){var i=s.items[e],o={item:i,initialX:t.gesture.center.pageX,data:n.extend({},i.data)};return o}),t.stopPropagation()}else this.options.editable.add&&t.gesture.srcEvent.ctrlKey&&this._onDragStartAddItem(t)}},s.prototype._onDragStartAddItem=function(t){var e=this.options.snap||null,i=n.getAbsoluteLeft(this.dom.frame),s=t.gesture.center.pageX-i-10,o=this.body.util.toTime(s),r=this.body.util.getScale(),a=this.body.util.getStep(),h=e?e(o,r,a):h,d=h,l={type:"range",start:h,end:d,content:"new item"},c=n.randomUUID();l[this.itemsData._fieldId]=c;var p=this.groupFromTarget(t);p&&(l.group=p.groupId);var u=new m(l,this.conversion,this.options);u.id=c,u.data=l,this._addItem(u);var f={item:u,dragRight:!0,initialX:t.gesture.center.pageX,data:n.extend({},l)};this.touchParams.itemProps=[f],t.stopPropagation()},s.prototype._onDrag=function(t){if(t.preventDefault(),this.touchParams.itemProps){t.stopPropagation();var e=this,i=this.options.snap||null,s=this.body.dom.root.offsetLeft+this.body.domProps.left.width,o=this.body.util.getScale(),r=this.body.util.getStep();this.touchParams.itemProps.forEach(function(a){var h=e.body.util.toTime(t.gesture.center.pageX-s),d=e.body.util.toTime(a.initialX-s),l=h-d,c=n.extend({},a.item.data);if(e.options.editable.updateTime)if(a.dragLeft){if(void 0!=c.start){var p=n.convert(a.data.start,"Date"),u=new Date(p.valueOf()+l);c.start=i?i(u,o,r):u}}else if(a.dragRight){if(void 0!=c.end){var m=n.convert(a.data.end,"Date"),f=new Date(m.valueOf()+l);c.end=i?i(f,o,r):f}}else if(void 0!=c.start){var p=n.convert(a.data.start,"Date").valueOf(),u=new Date(p+l);if(void 0!=c.end){var m=n.convert(a.data.end,"Date"),g=m.valueOf()-p.valueOf();c.start=i?i(u,o,r):u,c.end=new Date(c.start.valueOf()+g)}else c.start=i?i(u,o,r):u}if(e.options.editable.updateGroup&&!a.dragLeft&&!a.dragRight&&void 0!=c.group){var v=e.groupFromTarget(t);v&&(c.group=v.groupId)}e.options.onMoving(c,function(t){t&&a.item.setData(t)})}),this.stackDirty=!0,this.body.emitter.emit("change")}},s.prototype._moveToGroup=function(t,e){var i=this.groups[e];if(i&&i.groupId!=t.data.group){var s=t.parent;s.remove(t),s.order(),i.add(t),i.order(),t.data.group=i.groupId}},s.prototype._onDragEnd=function(t){if(t.preventDefault(),this.touchParams.itemProps){t.stopPropagation();var e=[],i=this,s=this.itemsData.getDataSet(),o=this.touchParams.itemProps;this.touchParams.itemProps=null,o.forEach(function(t){var o=t.item.id,r=null!=i.itemsData.get(o,i.itemOptions);if(r){var a=n.extend({},t.item.data);i.options.onMove(a,function(n){n?(n[s._fieldId]=o,e.push(n)):(t.item.setData(t.data),i.stackDirty=!0,i.body.emitter.emit("change"))})}else i.options.onAdd(t.item.data,function(e){i._removeItem(t.item),e&&i.itemsData.getDataSet().add(e),i.stackDirty=!0,i.body.emitter.emit("change")})}),e.length&&s.update(e)}},s.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.gesture.srcEvent&&t.gesture.srcEvent.ctrlKey,i=t.gesture.srcEvent&&t.gesture.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var s=this.getSelection(),o=this.itemFromTarget(t),n=o?[o.id]:[];this.setSelection(n);var r=this.getSelection();(r.length>0||s.length>0)&&this.body.emitter.emit("select",{items:r})}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,s=this.itemFromTarget(t);if(s){var o=e.itemsData.get(s.id);this.options.onUpdate(o,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var r=n.getAbsoluteLeft(this.dom.frame),a=t.gesture.center.pageX-r,h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),c={start:i?i(h,d,l):h,content:"new item"};if("range"===this.options.type){var p=this.body.util.toTime(a+this.props.width/5);c.end=i?i(p,d,l):p}c[this.itemsData._fieldId]=n.randomUUID();var u=this.groupFromTarget(t);u&&(c.group=u.groupId),this.options.onAdd(c,function(t){t&&e.itemsData.getDataSet().add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=this.itemFromTarget(t);if(i){e=this.getSelection();var o=t.gesture.touches[0]&&t.gesture.touches[0].shiftKey||!1;if(o){e.push(i.id);var n=s._getItemRange(this.itemsData.get(e,this.itemOptions));e=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=n.min&&d<=n.max&&!(a instanceof f)&&e.push(a.id)}}else{var l=e.indexOf(i.id);-1==l?e.push(i.id):e.splice(l,1)}this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},s._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},s.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},s.prototype.groupFromTarget=function(t){for(var e=t.gesture?t.gesture.center.pageY:t.pageY,i=0;ia&&ea)return o}else if(0===i&&e"));this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&(1!=this.groups[a].visible||void 0!==this.linegraphOptions.visibility[a]&&1!=this.linegraphOptions.visibility[a]||(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,s,o),r+=o+this.options.iconSpacing));n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,handleOverlap:"overlap",align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,s){i._onAdd(e.items)},update:function(t,e,s){i._onUpdate(e.items)},remove:function(t,e,s){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,s){i._onAddGroups(e.items)},update:function(t,e,s){i._onUpdateGroups(e.items)},remove:function(t,e,s){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(25),d=i(28),l=i(29),c=i(33),p=i(50),u="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new c(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new c(this.body,this.options.legend,"right",this.options.groups),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),c={};for(this._getRelevantData(a,c,d,l),this._applySampling(a,c),e=0;eu&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,e=0;e0)for(r=0;rs){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var s=0;s0){var n=1,r=o.length,a=this.body.util.toGlobalScreen(o[o.length-1].x)-this.body.util.toGlobalScreen(o[0].x),h=r/a;n=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=n)d.push(o[l]);e[t[s]]=d}}},s.prototype._getYRanges=function(t,e,i){var s,o,n,r,a=[],h=[];if(t.length>0){for(n=0;n0&&(o=this.groups[t[n]],"stack"==r.barChart.handleOverlap&&"bar"==r.style?"left"==r.yAxisOrientation?a=a.concat(o.getYRange(s)):h=h.concat(o.getYRange(s)):i[t[n]]=o.getYRange(s,t[n]));p.getStackedBarYRange(a,i,t,"__barchartLeft","left"),p.getStackedBarYRange(h,i,t,"__barchartRight","right")}},s.prototype._updateYAxis=function(t,e){var i,s,o=!1,n=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var c=0;ci?i:a,d=s>d?s:d):(r=!0,h=h>i?i:h,l=s>l?s:l));1==n&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return o=this._toggleAxisVisiblity(n,this.yAxisLeft)||o,o=this._toggleAxisVisiblity(r,this.yAxisRight)||o,1==r&&1==n?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!n,0==this.yAxisRight.master?(1==r?this.yAxisLeft.lineOffset=this.yAxisRight.width:this.yAxisLeft.lineOffset=0,o=this.yAxisLeft.redraw()||o,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,o=this.yAxisRight.redraw()||o):o=this.yAxisRight.redraw()||o,-1!=t.indexOf("__barchartLeft")&&t.splice(t.indexOf("__barchartLeft"),1),-1!=t.indexOf("__barchartRight")&&t.splice(t.indexOf("__barchartRight"),1),o},s.prototype._toggleAxisVisiblity=function(t,e){var i=!1;return 0==t?e.dom.frame.parentNode&&0==e.hidden&&(e.hide(),i=!0):e.dom.frame.parentNode||1!=e.hidden||(e.show(),i=!0),i},s.prototype._convertXcoordinates=function(t){for(var e,i,s=[],o=this.body.util.toScreen,n=0;ny;)y++,l=h.getCurrent(),c=h.isMajor(),u=h.getClassName(),f=m,m=this.body.util.toScreen(l),g=m-f,p&&(p.style.width=g+"px"),this.options.showMinorLabels&&this._repaintMinorText(m,h.getLabelMinor(),t,u),c&&this.options.showMajorLabels?(m>0&&(void 0==v&&(v=m),this._repaintMajorText(m,h.getLabelMajor(),t,u)),p=this._repaintMajorLine(m,t,u)):p=this._repaintMinorLine(m,t,u),h.next();if(this.options.showMajorLabels){var b=this.body.util.toTime(0),_=h.getLabelMajor(b),x=_.length*(this.props.majorCharWidth||10)+10;(void 0==v||v>x)&&this._repaintMajorText(0,_,t,u)}o.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},s.prototype._repaintMinorText=function(t,e,i,s){var o=this.dom.redundant.minorTexts.shift();if(!o){var n=document.createTextNode("");o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.minorTexts.push(o),o.childNodes[0].nodeValue=e,o.style.top="top"==i?this.props.majorLabelHeight+"px":"0",o.style.left=t+"px",o.className="text minor "+s},s.prototype._repaintMajorText=function(t,e,i,s){var o=this.dom.redundant.majorTexts.shift();if(!o){var n=document.createTextNode(e);o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.majorTexts.push(o),o.childNodes[0].nodeValue=e,o.className="text major "+s,o.style.top="top"==i?"0":this.props.minorLabelHeight+"px",o.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return"top"==e?s.style.top=o.majorLabelHeight+"px":s.style.top=this.body.domProps.top.height+"px",s.style.height=o.minorLineHeight+"px",s.style.left=t-o.minorLineWidth/2+"px",s.className="grid vertical minor "+i,s},s.prototype._repaintMajorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return"top"==e?s.style.top="0":s.style.top=this.body.domProps.top.height+"px",s.style.left=t-o.majorLineWidth/2+"px",s.style.height=o.majorLineHeight+"px",s.className="grid vertical major "+i,s},s.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="text minor measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="text major measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},t.exports=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this._determineBrowserMethod(),this._initializeMixinLoaders(),this.containerElement=t,this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=0,this.physicsTime=0,this.runDoubleSpeed=!1,this.physicsDiscreteStepsize=.5,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null};var o=function(t,e,i,s){if(e==t)return.5;var o=1/(e-t);return Math.max(0,(s-t)*o)};this.defaultOptions={nodes:{customScalingFunction:o,mass:1,radiusMin:10,radiusMax:30,radius:10,shape:"ellipse",image:void 0,widthMin:16,widthMax:64,fontColor:"black",fontSize:14,fontFace:"verdana",fontFill:void 0,fontStrokeWidth:0,fontStrokeColor:"#ffffff",fontDrawThreshold:3,scaleFontWithValue:!1,fontSizeMin:14,fontSizeMax:30,fontSizeMaxVisible:30,level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},group:void 0,borderWidth:1,borderWidthSelected:void 0},edges:{customScalingFunction:o,widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},opacity:1,fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",fontStrokeWidth:0,fontStrokeColor:"white",labelAlignment:"horizontal",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from",useGradients:!1},configurePhysics:!1,physics:{barnesHut:{enabled:!0,thetaInverted:2,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09},repulsion:{centralGravity:0,springLength:200,springConstant:.05, +nodeDistance:100,damping:.09},hierarchicalRepulsion:{enabled:!1,centralGravity:0,springLength:100,springConstant:.01,nodeDistance:150,damping:.09},damping:null,centralGravity:null,springLength:null,springConstant:null},clustering:{enabled:!1,initialMaxNodes:100,clusterThreshold:500,reduceToNodes:300,chainThreshold:.4,clusterEdgeThreshold:20,sectorThreshold:100,screenSizeThreshold:.2,fontSizeMultiplier:4,maxFontSize:1e3,forceAmplification:.1,distanceAmplification:.1,edgeGrowth:20,nodeScaling:{width:1,height:1,radius:1},maxNodeSizeIncrements:600,activeAreaBoxSize:80,clusterLevelDifference:2,clusterByZoom:!0},navigation:{enabled:!1},keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},dataManipulation:{enabled:!1,initiallyVisible:!1},hierarchicalLayout:{enabled:!1,levelSeparation:150,nodeSpacing:100,direction:"UD",layout:"hubsize"},freezeForStabilization:!1,smoothCurves:{enabled:!0,dynamic:!0,type:"continuous",roundness:.5},maxVelocity:50,minVelocity:.1,stabilize:!0,stabilizationIterations:1e3,zoomExtentOnStabilize:!0,locale:"en",locales:_,tooltip:{delay:300,fontColor:"black",fontSize:14,fontFace:"verdana",color:{border:"#666",background:"#FFFFC6"}},dragNetwork:!0,dragNodes:!0,zoomable:!0,hover:!1,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,width:"100%",height:"100%",selectable:!0,useDefaultGroups:!0},this.constants=a.extend({},this.defaultOptions),this.pixelRatio=1,this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers=[],this.manipulationHammers=[],this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.animating=!1,this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=null,this.lockedOnNodeOffset=null,this.touchTime=0,this.redrawRequested=!1;var n=this;this.groups=new u,this.images=new m,this.images.setOnloadCallback(function(t){n._requestRedraw()}),this.xIncrement=0,this.yIncrement=0,this.zoomIncrement=0,this._loadPhysicsSystem(),this._create(),this._loadSectorSystem(),this._loadClusterSystem(),this._loadSelectionSystem(),this._loadHierarchySystem(),this._setTranslation(this.frame.clientWidth/2,this.frame.clientHeight/2),this._setScale(1),this.setOptions(i),this.freezeSimulationEnabled=!1,this.cachedFunctions={},this.startedStabilization=!1,this.stabilized=!1,this.stabilizationIterations=null,this.draggingNodes=!1,this.calculationNodes={},this.calculationNodeIndices=[],this.nodeIndices=[],this.nodes={},this.edges={},this.canvasTopLeft={x:0,y:0},this.canvasBottomRight={x:0,y:0},this.pointerPosition={x:0,y:0},this.areaCenter={},this.scale=1,this.previousScale=this.scale,this.nodesData=null,this.edgesData=null,this.nodesListeners={add:function(t,e){n._addNodes(e.items),n.start()},update:function(t,e){n._updateNodes(e.items),n.start()},remove:function(t,e){n._removeNodes(e.items),n.start()}},this.edgesListeners={add:function(t,e){n._addEdges(e.items),n.start()},update:function(t,e){n._updateEdges(e.items),n.start()},remove:function(t,e){n._removeEdges(e.items),n.start()}},this.moving=!0,this.timer=void 0,this.setData(e,this.constants.clustering.enabled||this.constants.hierarchicalLayout.enabled),this.initializing=!1,1==this.constants.hierarchicalLayout.enabled?this._setupHierarchicalLayout():0==this.constants.stabilize&&this.zoomExtent({duration:0},!0,this.constants.clustering.enabled),this.constants.clustering.enabled&&this.startWithClustering()}var o=i(56),n=i(45),r=i(57),a=i(1),h=i(47),d=i(3),l=i(4),c=i(42),p=i(43),u=i(38),m=i(39),f=i(40),g=i(37),v=i(41),y=i(52),b=i(53),_=i(54);i(55),o(s.prototype),s.prototype._determineBrowserMethod=function(){var t=navigator.userAgent.toLowerCase();this.requiresTimeout=!1,-1!=t.indexOf("msie 9.0")?this.requiresTimeout=!0:-1!=t.indexOf("safari")&&t.indexOf("chrome")<=-1&&(this.requiresTimeout=!0)},s.prototype._getScriptPath=function(){for(var t=document.getElementsByTagName("script"),e=0;e0)for(var r=0;re.boundingBox.left&&(o=e.boundingBox.left),ne.boundingBox.bottom&&(i=e.boundingBox.top),se.boundingBox.left&&(o=e.boundingBox.left),ne.boundingBox.bottom&&(i=e.boundingBox.top),s.5*this.nodeIndices.length)return void this.zoomExtent(t,!1,i);s=this._getRange(t.nodes);var h=this.nodeIndices.length;o=1==this.constants.smoothCurves?1==this.constants.clustering.enabled&&h>=this.constants.clustering.initialMaxNodes?49.07548/(h+142.05338)+91444e-8:12.662/(h+7.4147)+.0964822:1==this.constants.clustering.enabled&&h>=this.constants.clustering.initialMaxNodes?77.5271985/(h+187.266146)+476710517e-13:30.5062972/(h+19.93597763)+.08413486;var d=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);o*=d}else{s=this._getRange(t.nodes);var l=1.1*Math.abs(s.maxX-s.minX),c=1.1*Math.abs(s.maxY-s.minY),p=this.frame.canvas.clientWidth/l,u=this.frame.canvas.clientHeight/c;o=u>=p?p:u}o>1&&(o=1);var m=this._findCenter(s);if(0==i){var t={position:m,scale:o,animation:t};this.moveTo(t),this.moving=!0,this.start()}else m.x*=o,m.y*=o,m.x-=.5*this.frame.canvas.clientWidth,m.y-=.5*this.frame.canvas.clientHeight,this._setScale(o),this._setTranslation(-m.x,-m.y)},s.prototype._updateNodeIndexList=function(){this._clearNodeIndexList();for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodeIndices.push(t)},s.prototype.setData=function(t,e){if(void 0===e&&(e=!1),this._unselectAll(!0),this.initializing=!0,t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(1==this.constants.dataManipulation.enabled&&this._createManipulatorBar(),this.setOptions(t&&t.options),t&&t.dot){if(t&&t.dot){var i=c.DOTToGraph(t.dot);return void this.setData(i)}}else if(t&&t.gephi){if(t&&t.gephi){var s=p.parseGephi(t.gephi);return void this.setData(s)}}else this._setNodes(t&&t.nodes),this._setEdges(t&&t.edges);this._putDataInSector(),0==e&&(1==this.constants.hierarchicalLayout.enabled?(this._resetLevels(),this._setupHierarchicalLayout()):1==this.constants.stabilize&&this._stabilize(),this.start()),this.initializing=!1},s.prototype.setOptions=function(t){if(t){var e,i=["nodes","edges","smoothCurves","hierarchicalLayout","clustering","navigation","keyboard","dataManipulation","onAdd","onEdit","onEditEdge","onConnect","onDelete","clickToUse"];if(a.selectiveNotDeepExtend(i,this.constants,t),a.selectiveNotDeepExtend(["color"],this.constants.nodes,t.nodes),a.selectiveNotDeepExtend(["color","length"],this.constants.edges,t.edges),this.groups.useDefaultGroups=this.constants.useDefaultGroups,t.physics&&(a.mergeOptions(this.constants.physics,t.physics,"barnesHut"),a.mergeOptions(this.constants.physics,t.physics,"repulsion"),t.physics.hierarchicalRepulsion)){this.constants.hierarchicalLayout.enabled=!0,this.constants.physics.hierarchicalRepulsion.enabled=!0,this.constants.physics.barnesHut.enabled=!1;for(e in t.physics.hierarchicalRepulsion)t.physics.hierarchicalRepulsion.hasOwnProperty(e)&&(this.constants.physics.hierarchicalRepulsion[e]=t.physics.hierarchicalRepulsion[e])}if(t.onAdd&&(this.triggerFunctions.add=t.onAdd),t.onEdit&&(this.triggerFunctions.edit=t.onEdit),t.onEditEdge&&(this.triggerFunctions.editEdge=t.onEditEdge),t.onConnect&&(this.triggerFunctions.connect=t.onConnect),t.onDelete&&(this.triggerFunctions.del=t.onDelete),a.mergeOptions(this.constants,t,"smoothCurves"),a.mergeOptions(this.constants,t,"hierarchicalLayout"),a.mergeOptions(this.constants,t,"clustering"),a.mergeOptions(this.constants,t,"navigation"),a.mergeOptions(this.constants,t,"keyboard"),a.mergeOptions(this.constants,t,"dataManipulation"),t.dataManipulation&&(this.editMode=this.constants.dataManipulation.initiallyVisible),t.edges&&(void 0!==t.edges.color&&(a.isString(t.edges.color)?(this.constants.edges.color={},this.constants.edges.color.color=t.edges.color,this.constants.edges.color.highlight=t.edges.color,this.constants.edges.color.hover=t.edges.color):(void 0!==t.edges.color.color&&(this.constants.edges.color.color=t.edges.color.color),void 0!==t.edges.color.highlight&&(this.constants.edges.color.highlight=t.edges.color.highlight),void 0!==t.edges.color.hover&&(this.constants.edges.color.hover=t.edges.color.hover)),this.constants.edges.inheritColor=!1),t.edges.fontColor||void 0!==t.edges.color&&(a.isString(t.edges.color)?this.constants.edges.fontColor=t.edges.color:void 0!==t.edges.color.color&&(this.constants.edges.fontColor=t.edges.color.color))),t.nodes&&t.nodes.color){var s=a.parseColor(t.nodes.color);this.constants.nodes.color.background=s.background,this.constants.nodes.color.border=s.border,this.constants.nodes.color.highlight.background=s.highlight.background,this.constants.nodes.color.highlight.border=s.highlight.border,this.constants.nodes.color.hover.background=s.hover.background,this.constants.nodes.color.hover.border=s.hover.border}if(t.groups)for(var o in t.groups)if(t.groups.hasOwnProperty(o)){var n=t.groups[o];this.groups.add(o,n)}if(t.tooltip){for(e in t.tooltip)t.tooltip.hasOwnProperty(e)&&(this.constants.tooltip[e]=t.tooltip[e]);t.tooltip.color&&(this.constants.tooltip.color=a.parseColor(t.tooltip.color))}if("clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new b(this.frame),this.activator.on("change",this._createKeyBinds.bind(this))):this.activator&&(this.activator.destroy(),delete this.activator)),t.labels)throw new Error('Option "labels" is deprecated. Use options "locale" and "locales" instead.');this._loadPhysicsSystem(),this._loadNavigationControls(),this._loadManipulationSystem(),this._configureSmoothCurves(),this._bindHammer(),this._createKeyBinds(),this._markAllEdgesAsDirty(),this.setSize(this.constants.width,this.constants.height),this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.start()}},s.prototype._create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis network-frame",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this._bindHammer()},s.prototype._bindHammer=function(){var t=this;void 0!==this.hammer&&this.hammer.dispose(),this.drag={},this.pinch={},this.hammer=n(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",t._onTap.bind(t)),this.hammer.on("doubletap",t._onDoubleTap.bind(t)),this.hammer.on("hold",t._onHold.bind(t)),this.hammer.on("touch",t._onTouch.bind(t)),this.hammer.on("dragstart",t._onDragStart.bind(t)),this.hammer.on("drag",t._onDrag.bind(t)),this.hammer.on("dragend",t._onDragEnd.bind(t)),1==this.constants.zoomable&&(this.hammer.on("mousewheel",t._onMouseWheel.bind(t)),this.hammer.on("DOMMouseScroll",t._onMouseWheel.bind(t)),this.hammer.on("pinch",t._onPinch.bind(t))),this.hammer.on("mousemove",t._onMouseMoveTitle.bind(t)),this.hammerFrame=n(this.frame,{prevent_default:!0}),this.hammerFrame.on("release",t._onRelease.bind(t)),this.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),1==this.constants.keyboard.bindToWindow?this.keycharm=r({container:window,preventDefault:!1}):this.keycharm=r({container:this.frame,preventDefault:!1}),this.keycharm.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.keycharm.bind("up",this._moveUp.bind(t),"keydown"),this.keycharm.bind("up",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("down",this._moveDown.bind(t),"keydown"),this.keycharm.bind("down",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("left",this._moveLeft.bind(t),"keydown"),this.keycharm.bind("left",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("right",this._moveRight.bind(t),"keydown"),this.keycharm.bind("right",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("=",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("=",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num+",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("num+",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("num-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("[",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("[",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("]",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("]",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pageup",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("pageup",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.keycharm.bind("esc",this._createManipulatorBar.bind(t)),this.keycharm.bind("delete",this._deleteSelected.bind(t)))},s.prototype.destroy=function(){this.start=function(){},this.redraw=function(){},this.timer=!1,this._cleanupPhysicsConfiguration(),this.keycharm.reset(),this.hammer.dispose(),this.off(),this._recursiveDOMDelete(this.containerElement)},s.prototype._recursiveDOMDelete=function(t){for(;1==t.hasChildNodes();)this._recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},s.prototype._getPointer=function(t){return{x:t.pageX-a.getAbsoluteLeft(this.frame.canvas),y:t.pageY-a.getAbsoluteTop(this.frame.canvas)}},s.prototype._onTouch=function(t){(new Date).valueOf()-this.touchTime>100&&(this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this.touchTime=(new Date).valueOf(),this._handleTouch(this.drag.pointer))},s.prototype._onDragStart=function(t){this._handleDragStart(t)},s.prototype._handleDragStart=function(t){void 0===this.drag.pointer&&this._onTouch(t);var e=this._getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=this._getTranslation(),this.drag.nodeId=null,this.draggingNodes=!1,null!=e&&1==this.constants.dragNodes){this.draggingNodes=!0,this.drag.nodeId=e.id,e.isSelected()||this._selectObject(e,!1),this.emit("dragStart",{nodeIds:this.getSelection().nodes});for(var i in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(i)){var s=this.selectionObj.nodes[i],o={id:s.id,node:s,x:s.x,y:s.y,xFixed:s.xFixed,yFixed:s.yFixed};s.xFixed=!0,s.yFixed=!0,this.drag.selection.push(o)}}},s.prototype._onDrag=function(t){this._handleOnDrag(t)},s.prototype._handleOnDrag=function(t){if(!this.drag.pinched){this.releaseNode();var e=this._getPointer(t.gesture.center),i=this,s=this.drag,o=s.selection;if(o&&o.length&&1==this.constants.dragNodes){var n=e.x-s.pointer.x,r=e.y-s.pointer.y;o.forEach(function(t){var e=t.node;t.xFixed||(e.x=i._XconvertDOMtoCanvas(i._XconvertCanvasToDOM(t.x)+n)),t.yFixed||(e.y=i._YconvertDOMtoCanvas(i._YconvertCanvasToDOM(t.y)+r))}),this.moving||(this.moving=!0,this.start())}else if(1==this.constants.dragNetwork){if(void 0===this.drag.pointer)return void this._handleDragStart(t);var a=e.x-this.drag.pointer.x,h=e.y-this.drag.pointer.y;this._setTranslation(this.drag.translation.x+a,this.drag.translation.y+h),this._redraw()}}},s.prototype._onDragEnd=function(t){this._handleDragEnd(t)},s.prototype._handleDragEnd=function(t){this.drag.dragging=!1;var e=this.drag.selection;e&&e.length?(e.forEach(function(t){t.node.xFixed=t.xFixed,t.node.yFixed=t.yFixed}),this.moving=!0,this.start()):this._redraw(),0==this.draggingNodes?this.emit("dragEnd",{nodeIds:[]}):this.emit("dragEnd",{nodeIds:this.getSelection().nodes})},s.prototype._onTap=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleTap(e)},s.prototype._onDoubleTap=function(t){var e=this._getPointer(t.gesture.center);this._handleDoubleTap(e)},s.prototype._onHold=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleOnHold(e)},s.prototype._onRelease=function(t){var e=this._getPointer(t.gesture.center);this._handleOnRelease(e)},s.prototype._onPinch=function(t){var e=this._getPointer(t.gesture.center);this.drag.pinched=!0,"scale"in this.pinch||(this.pinch.scale=1);var i=this.pinch.scale*t.gesture.scale;this._zoom(i,e)},s.prototype._zoom=function(t,e){if(1==this.constants.zoomable){var i=this._getScale();1e-5>t&&(t=1e-5),t>10&&(t=10);var s=null;void 0!==this.drag&&1==this.drag.dragging&&(s=this.DOMtoCanvas(this.drag.pointer));var o=this._getTranslation(),n=t/i,r=(1-n)*e.x+o.x*n,a=(1-n)*e.y+o.y*n;if(this.areaCenter={x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)},this._setScale(t),this._setTranslation(r,a),this.updateClustersDefault(),null!=s){var h=this.canvasToDOM(s);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}return this._redraw(),t>i?this.emit("zoom",{direction:"+"}):this.emit("zoom",{direction:"-"}),t}},s.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i=this._getScale(),s=e/10;0>e&&(s/=1-s),i*=1+s;var o=h.fakeGesture(this,t),n=this._getPointer(o.center);this._zoom(i,n)}t.preventDefault()},s.prototype._onMouseMoveTitle=function(t){var e=h.fakeGesture(this,t),i=this._getPointer(e.center),s=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(s=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),0==this.constants.keyboard.bindToWindow&&1==this.constants.keyboard.enabled&&this.frame.focus(),s===!1){var o=this,n=function(){o._checkShowPopup(i)};this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(n,this.constants.tooltip.delay))}if(1==this.constants.hover){for(var r in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(r)&&(this.hoverObj.edges[r].hover=!1,delete this.hoverObj.edges[r]);var a=this._getNodeAt(i);null==a&&(a=this._getEdgeAt(i)),null!=a&&this._hoverObject(a);for(var d in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(d)&&(a instanceof f&&a.id!=d||a instanceof g||null==a)&&(this._blurObject(this.hoverObj.nodes[d]),delete this.hoverObj.nodes[d]);this.redraw()}},s.prototype._checkShowPopup=function(t){var e,i={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},s=void 0===this.popupObj?void 0:this.popupObj.id,o=!1,n="node";if(void 0==this.popupObj){var r=this.nodes,a=[];for(e in r)if(r.hasOwnProperty(e)){var h=r[e];h.isOverlappingWith(i)&&void 0!==h.getTitle()&&a.push(e)}a.length>0&&(this.popupObj=this.nodes[a[a.length-1]],o=!0)}if(void 0===this.popupObj&&0==o){var d=this.edges,l=[];for(e in d)if(d.hasOwnProperty(e)){var c=d[e];c.connected&&void 0!==c.getTitle()&&c.isOverlappingWith(i)&&l.push(e)}l.length>0&&(this.popupObj=this.edges[l[l.length-1]],n="edge")}this.popupObj?this.popupObj.id!=s&&(void 0===this.popup&&(this.popup=new v(this.frame,this.constants.tooltip)),this.popup.popupTargetType=n,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show()):this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){var e={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},i=!1;if("node"==this.popup.popupTargetType){if(i=this.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0){var s=this._getNodeAt(t);i=s.id==this.popup.popupTargetId}}else null===this._getNodeAt(t)&&(i=this.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide())},s.prototype.setSize=function(t,e){var i=!1,s=this.frame.canvas.width,o=this.frame.canvas.height;t!=this.constants.width||e!=this.constants.height||this.frame.style.width!=t||this.frame.style.height!=e?(this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth*this.pixelRatio,this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,this.constants.width=t,this.constants.height=e,i=!0):(this.frame.canvas.width!=this.frame.canvas.clientWidth*this.pixelRatio&&(this.frame.canvas.width=this.frame.canvas.clientWidth*this.pixelRatio,i=!0),this.frame.canvas.height!=this.frame.canvas.clientHeight*this.pixelRatio&&(this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,i=!0)),1==i&&this.emit("resize",{width:this.frame.canvas.width*this.pixelRatio,height:this.frame.canvas.height*this.pixelRatio,oldWidth:s*this.pixelRatio,oldHeight:o*this.pixelRatio})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(Array.isArray(t))this.nodesData=new d,this.nodesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.nodesData=new d}if(e&&a.forEach(this.nodesListeners,function(t,i){e.off(i,t)}),this.nodes={},this.nodesData){var i=this;a.forEach(this.nodesListeners,function(t,e){i.nodesData.on(e,t)});var s=this.nodesData.getIds();this._addNodes(s)}this._updateSelection()},s.prototype._addNodes=function(t){for(var e,i=this.nodesData._fieldId||null,s=0,o=t.length;o>s;s++){e=t[s];var n=this.nodesData.get(e);i&&(n.id=n[i]);var r=new f(n,this.images,this.groups,this.constants);if(this.nodes[e]=r,!(0!=r.xFixed&&0!=r.yFixed||null!==r.x&&null!==r.y)){var a=1*t.length+10,h=2*Math.PI*Math.random();0==r.xFixed&&(r.x=a*Math.cos(h)),0==r.yFixed&&(r.y=a*Math.sin(h))}this.moving=!0}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateValueRange(this.nodes),this.updateLabels()},s.prototype._updateNodes=function(t){for(var e=this.nodesData.get(t),i=this.nodes,s=0,o=t.length;o>s;s++){var n=t[s],r=i[n],a=e[s];r?r.setProperties(a,this.constants):(r=new f(properties,this.images,this.groups,this.constants),i[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._updateValueRange(i),this._markAllEdgesAsDirty()},s.prototype._markAllEdgesAsDirty=function(){for(var t in this.edges)this.edges[t].colorDirty=!0},s.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++)void 0!==this.selectionObj.nodes[t[i]]&&(this.nodes[t[i]].unselect(),this._removeFromSelection(this.nodes[t[i]]));for(var i=0,s=t.length;s>i;i++){var o=t[i];delete e[o]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},s.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof d||t instanceof l)this.edgesData=t;else if(Array.isArray(t))this.edgesData=new d,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new d}if(e&&a.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;a.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},s.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=this.edgesData._fieldId,o=0,n=t.length;n>o;o++){var r=t[o],a=e[r];a&&a.disconnect();var h=i.get(r,{showInternalIds:!0});s&&(h.id=h[s]),e[r]=new g(h,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),this._updateCalculationNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout())},s.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=i.get(n),a=e[n];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new g(r,this,this.constants),this.edges[n]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},s.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++)void 0!==this.selectionObj.edges[t[i]]&&(e[t[i]].unselect(),this._removeFromSelection(e[t[i]]));for(var i=0,s=t.length;s>i;i++){var o=t[i],n=e[o];n&&(null!=n.via&&delete this.sectors.support.nodes[n.via.id],n.disconnect(),delete e[o])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[],e[t].dynamicEdges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},s.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0,o=0;for(e in t)if(t.hasOwnProperty(e)){var n=t[e].getValue();void 0!==n&&(i=void 0===i?n:Math.min(n,i),s=void 0===s?n:Math.max(n,s),o+=n)}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s,o)},s.prototype.redraw=function(){this.setSize(this.constants.width,this.constants.height),this._redraw()},s.prototype._requestRedraw=function(t){this.redrawRequested!==!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(this._redraw.bind(this,t),0):window.requestAnimationFrame(this._redraw.bind(this,t,!0)))},s.prototype._redraw=function(t,e){void 0===t&&(t=!1),this.redrawRequested=!1;var i=this.frame.canvas.getContext("2d");i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var s=this.frame.canvas.clientWidth,o=this.frame.canvas.clientHeight;i.clearRect(0,0,s,o),i.save(),i.translate(this.translation.x,this.translation.y),i.scale(this.scale,this.scale),this.canvasTopLeft={x:this._XconvertDOMtoCanvas(0),y:this._YconvertDOMtoCanvas(0)},this.canvasBottomRight={x:this._XconvertDOMtoCanvas(this.frame.canvas.clientWidth),y:this._YconvertDOMtoCanvas(this.frame.canvas.clientHeight)},t===!1&&(this._doInAllSectors("_drawAllSectorNodes",i),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideEdgesOnDrag)&&this._doInAllSectors("_drawEdges",i)),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideNodesOnDrag)&&this._doInAllSectors("_drawNodes",i,!1),t===!1&&1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",i),i.restore(),t===!0&&i.clearRect(0,0,s,o)},s.prototype._setTranslation=function(t,e){void 0===this.translation&&(this.translation={x:0,y:0}),void 0!==t&&(this.translation.x=t),void 0!==e&&(this.translation.y=e),this.emit("viewChanged")},s.prototype._getTranslation=function(){return{x:this.translation.x,y:this.translation.y}},s.prototype._setScale=function(t){this.scale=t},s.prototype._getScale=function(){return this.scale},s.prototype._XconvertDOMtoCanvas=function(t){return(t-this.translation.x)/this.scale},s.prototype._XconvertCanvasToDOM=function(t){return t*this.scale+this.translation.x},s.prototype._YconvertDOMtoCanvas=function(t){return(t-this.translation.y)/this.scale},s.prototype._YconvertCanvasToDOM=function(t){return t*this.scale+this.translation.y},s.prototype.canvasToDOM=function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}},s.prototype.DOMtoCanvas=function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}},s.prototype._drawNodes=function(t,e){void 0===e&&(e=!1);var i=this.nodes,s=[];for(var o in i)i.hasOwnProperty(o)&&(i[o].setScaleAndPos(this.scale,this.canvasTopLeft,this.canvasBottomRight),i[o].isSelected()?s.push(o):(i[o].inArea()||e)&&i[o].draw(t));for(var n=0,r=s.length;r>n;n++)(i[s[n]].inArea()||e)&&i[s[n]].draw(t)},s.prototype._drawEdges=function(t){var e=this.edges;for(var i in e)if(e.hasOwnProperty(i)){var s=e[i];s.setScale(this.scale),s.connected&&e[i].draw(t)}},s.prototype._drawControlNodes=function(t){var e=this.edges;for(var i in e)e.hasOwnProperty(i)&&e[i]._drawControlNodes(t)},s.prototype._stabilize=function(){1==this.constants.freezeForStabilization&&this._freezeDefinedNodes();for(var t=0;this.moving&&t0)for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStepLimited(e,this.constants.maxVelocity),s=!0);else for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStep(e),s=!0);if(1==s){var o=this.constants.minVelocity/Math.max(this.scale,.05);return o>.5*this.constants.maxVelocity?!0:this._isMoving(o)}return!1},s.prototype._revertPhysicsState=function(){var t=this.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].revertPosition()},s.prototype._revertPhysicsTick=function(){this._doInAllActiveSectors("_revertPhysicsState"),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&this._doInSupportSector("_revertPhysicsState")},s.prototype._physicsTick=function(){if(!this.freezeSimulationEnabled&&1==this.moving){var t=!1,e=!1;this._doInAllActiveSectors("_initializeForceCalculation");var i=this._doInAllActiveSectors("_discreteStepNodes");1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&(e=this._doInSupportSector("_discreteStepNodes"));for(var s=0;s2*e||1==this.runDoubleSpeed)&&1==this.moving&&(this._physicsTick(),0!=this.renderTime&&(this.runDoubleSpeed=!0))}var i=Date.now();this._redraw(),this.renderTime=Date.now()-i,0==this.requiresTimeout&&this.start()},"undefined"!=typeof window&&(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),s.prototype.start=function(){if(1==this.freezeSimulationEnabled&&(this.moving=!1),1==this.moving||0!=this.xIncrement||0!=this.yIncrement||0!=this.zoomIncrement||1==this.animating)this.timer||(1==this.requiresTimeout?this.timer=window.setTimeout(this._animationStep.bind(this),this.renderTimestep):this.timer=window.requestAnimationFrame(this._animationStep.bind(this)));else if(this._requestRedraw(),this.stabilizationIterations>1){var t=this,e={iterations:t.stabilizationIterations};this.stabilizationIterations=0,this.startedStabilization=!1,setTimeout(function(){t.emit("stabilized",e)},0)}else this.stabilizationIterations=0},s.prototype._handleNavigation=function(){if(0!=this.xIncrement||0!=this.yIncrement){var t=this._getTranslation();this._setTranslation(t.x+this.xIncrement,t.y+this.yIncrement)}if(0!=this.zoomIncrement){var e={x:this.frame.canvas.clientWidth/2,y:this.frame.canvas.clientHeight/2};this._zoom(this.scale*(1+this.zoomIncrement),e)}},s.prototype.freezeSimulation=function(t){1==t?(this.freezeSimulationEnabled=!0,this.moving=!1):(this.freezeSimulationEnabled=!1,this.moving=!0,this.start())},s.prototype._configureSmoothCurves=function(t){if(void 0===t&&(t=!0),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this._createBezierNodes();for(var e in this.sectors.support.nodes)this.sectors.support.nodes.hasOwnProperty(e)&&void 0===this.edges[this.sectors.support.nodes[e].parentEdgeId]&&delete this.sectors.support.nodes[e]}else{this.sectors.support.nodes={};for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.edges[i].via=null)}this._updateCalculationNodes(),t||(this.moving=!0,this.start())},s.prototype._createBezierNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic)for(var t in this.edges)if(this.edges.hasOwnProperty(t)){var e=this.edges[t];if(null==e.via){var i="edgeId:".concat(e.id);this.sectors.support.nodes[i]=new f({id:i,mass:1,shape:"circle",image:"",internalMultiplier:1},{},{},this.constants),e.via=this.sectors.support.nodes[i],e.via.parentEdgeId=e.id,e.positionBezierNode()}}},s.prototype._initializeMixinLoaders=function(){for(var t in y)y.hasOwnProperty(t)&&(s.prototype[t]=y[t])},s.prototype.storePosition=function(){console.log("storePosition is depricated: use .storePositions() from now on."),this.storePositions()},s.prototype.storePositions=function(){var t=[];for(var e in this.nodes)if(this.nodes.hasOwnProperty(e)){var i=this.nodes[e],s=!this.nodes.xFixed,o=!this.nodes.yFixed;(this.nodesData._data[e].x!=Math.round(i.x)||this.nodesData._data[e].y!=Math.round(i.y))&&t.push({id:e,x:Math.round(i.x),y:Math.round(i.y),allowedToMoveX:s,allowedToMoveY:o})}this.nodesData.update(t)},s.prototype.getPositions=function(t){var e={};if(void 0!==t){if(1==Array.isArray(t)){for(var i=0;i=1&&(this.animating=!1,this.easingTime=0,null!=this.lockedOnNodeId?this._redraw=this._lockedRedraw:this._redraw=this._classicRedraw,this.emit("animationFinished"))},s.prototype._classicRedraw=function(){},s.prototype.isActive=function(){return!this.activator||this.activator.active},s.prototype.setScale=function(){return this._setScale()},s.prototype.getScale=function(){return this._getScale()},s.prototype.getCenterCoordinates=function(){return this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight})},s.prototype.getBoundingBox=function(t){return void 0!==this.nodes[t]?this.nodes[t].boundingBox:void 0},s.prototype.getConnectedNodes=function(t){var e=[];if(void 0!==this.nodes[t])for(var i=this.nodes[t],s={nodeId:!0},o=0;oh}return!1},s.prototype._getColor=function(t){var e=this.options.color;if(1==this.options.useGradients){var i,s,n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y);return i=this.from.options.color.highlight.border,s=this.to.options.color.highlight.border,0==this.from.selected&&0==this.to.selected?(i=o.overrideOpacity(this.from.options.color.border,this.options.opacity),s=o.overrideOpacity(this.to.options.color.border,this.options.opacity)):1==this.from.selected&&0==this.to.selected?s=this.to.options.color.border:0==this.from.selected&&1==this.to.selected&&(i=this.from.options.color.border),n.addColorStop(0,i),n.addColorStop(1,s),n}return this.colorDirty===!0&&("to"==this.options.inheritColor?e={highlight:this.to.options.color.highlight.border,hover:this.to.options.color.hover.border,color:o.overrideOpacity(this.from.options.color.border,this.options.opacity)}:("from"==this.options.inheritColor||1==this.options.inheritColor)&&(e={highlight:this.from.options.color.highlight.border,hover:this.from.options.color.hover.border,color:o.overrideOpacity(this.from.options.color.border,this.options.opacity)}),this.options.color=e,this.colorDirty=!1),1==this.selected?e.highlight:1==this.hover?e.hover:e.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(t),t.lineWidth=this._getLineWidth(),this.from!=this.to){var e,i=this._line(t);if(this.label){if(1==this.options.smoothCurves.enabled&&null!=i){var s=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),o=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:s,y:o}}else e=this._pointOnLine(.5);this._label(t,this.label,e.x,e.y)}}else{var n,r,a=this.physics.springLength/4,h=this.from;h.width||h.resize(t),h.width>h.height?(n=h.x+h.width/2,r=h.y-a):(n=h.x+a,r=h.y-h.height/2),this._circle(t,n,r,a),e=this._pointOnCircle(n,r,a,.5),this._label(t,this.label,e.x,e.y)}},s.prototype._getLineWidth=function(){return 1==this.selected?Math.max(Math.min(this.widthSelected,this.options.widthMax),.3*this.networkScaleInv):1==this.hover?Math.max(Math.min(this.options.hoverWidth,this.options.widthMax),.3*this.networkScaleInv):Math.max(this.options.width,.3*this.networkScaleInv)},s.prototype._getViaCoordinates=function(){if(1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled)return this.via;if(0==this.options.smoothCurves.enabled)return{x:0,y:0};var t=null,e=null,i=this.options.smoothCurves.roundness,s=this.options.smoothCurves.type,o=Math.abs(this.from.x-this.to.x),n=Math.abs(this.from.y-this.to.y);if("discrete"==s||"diagonalCross"==s)Math.abs(this.from.x-this.to.x)this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"==s&&(t=i*n>o?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o)),"discrete"==s&&(e=i*o>n?this.from.y:e));else if("straightCross"==s)Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o,e=this.to.yd;d++){var l=t.measureText(n[d]).width;h=l>h?l:h}var c=this.options.fontSize*r,p=i-h/2,u=s-c/2;this.labelDimensions={top:u,left:p,width:h,height:c,yLine:o}}var o=this.labelDimensions.yLine;t.save(),"horizontal"!=this.options.labelAlignment&&(t.translate(i,o),this._rotateForLabelAlignment(t),i=0,o=0),this._drawLabelRect(t),this._drawLabelText(t,i,o,n,r,a),t.restore()}},s.prototype._rotateForLabelAlignment=function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,s=Math.atan2(e,i);(-1>s&&0>i||s>0&&0>i)&&(s+=Math.PI),t.rotate(s)},s.prototype._drawLabelRect=function(t){if(void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill){t.fillStyle=this.options.fontFill;var e=2;"line-center"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,.5*-this.labelDimensions.height,this.labelDimensions.width,this.labelDimensions.height):"line-above"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,-(this.labelDimensions.height+e),this.labelDimensions.width,this.labelDimensions.height):"line-below"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,e,this.labelDimensions.width,this.labelDimensions.height):t.fillRect(this.labelDimensions.left,this.labelDimensions.top,this.labelDimensions.width,this.labelDimensions.height)}},s.prototype._drawLabelText=function(t,e,i,s,o,n){if(t.fillStyle=this.options.fontColor||"black",t.textAlign="center","horizontal"!=this.options.labelAlignment){var r=2;"line-above"==this.options.labelAlignment?(t.textBaseline="alphabetic",i-=2*r):"line-below"==this.options.labelAlignment?(t.textBaseline="hanging",i+=2*r):t.textBaseline="middle"}else t.textBaseline="middle";this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=this.options.fontStrokeColor,t.lineJoin="round");for(var a=0;o>a;a++)this.options.fontStrokeWidth>0&&t.strokeText(s[a],e,i),t.fillText(s[a],e,i),i+=n},s.prototype._drawDashLine=function(t){t.strokeStyle=this._getColor(t),t.lineWidth=this._getLineWidth();var e=null;if(void 0!==t.setLineDash){t.save();var i=[0];i=void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?[this.options.dash.length,this.options.dash.gap]:[5,5],t.setLineDash(i),t.lineDashOffset=0,e=this._line(t),t.setLineDash([0]),t.lineDashOffset=0,t.restore()}else t.beginPath(),t.lineCap="round",void 0!==this.options.dash.altLength?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap,this.options.dash.altLength,this.options.dash.gap]):void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap]):(t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y)),t.stroke();if(this.label){var s;if(1==this.options.smoothCurves.enabled&&null!=e){var o=.5*(.5*(this.from.x+e.x)+.5*(this.to.x+e.x)),n=.5*(.5*(this.from.y+e.y)+.5*(this.to.y+e.y));s={x:o,y:n}}else s=this._pointOnLine(.5);this._label(t,this.label,s.x,s.y)}},s.prototype._pointOnLine=function(t){return{x:(1-t)*this.from.x+t*this.to.x,y:(1-t)*this.from.y+t*this.to.y}},s.prototype._pointOnCircle=function(t,e,i,s){var o=2*(s-3/8)*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}},s.prototype._drawArrowCenter=function(t){var e;if(t.strokeStyle=this._getColor(t),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth(),this.from!=this.to){var i=this._line(t),s=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),o=(10+5*this.options.width)*this.options.arrowScaleFactor;if(1==this.options.smoothCurves.enabled&&null!=i){var n=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),r=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:n,y:r}}else e=this._pointOnLine(.5);t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&this._label(t,this.label,e.x,e.y)}else{var a,h,d=.25*Math.max(100,this.physics.springLength),l=this.from;l.width||l.resize(t),l.width>l.height?(a=l.x+.5*l.width,h=l.y-d):(a=l.x+d,h=l.y-.5*l.height),this._circle(t,a,h,d);var s=.2*Math.PI,o=(10+5*this.options.width)*this.options.arrowScaleFactor;e=this._pointOnCircle(a,h,d,.5),t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&(e=this._pointOnCircle(a,h,d,.5),this._label(t,this.label,e.x,e.y))}},s.prototype._pointOnBezier=function(t){var e=this._getViaCoordinates(),i=Math.pow(1-t,2)*this.from.x+2*t*(1-t)*e.x+Math.pow(t,2)*this.to.x,s=Math.pow(1-t,2)*this.from.y+2*t*(1-t)*e.y+Math.pow(t,2)*this.to.y;return{x:i,y:s}},s.prototype._findBorderPosition=function(t,e){var i,s,o,n,r,a=10,h=0,d=0,l=1,c=.2,p=this.to;for(1==t&&(p=this.from);l>=d&&a>h;){var u=.5*(d+l);if(i=this._pointOnBezier(u),s=Math.atan2(p.y-i.y,p.x-i.x),o=p.distanceToBorder(e,s),n=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=o-n,Math.abs(r)r?0==t?d=u:l=u:0==t?l=u:d=u,h++}return i.t=u,i},s.prototype._drawArrow=function(t){t.strokeStyle=this._getColor(t),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth();var e,i,s;if(this.from!=this.to){if(this._line(t),1==this.options.smoothCurves.enabled){var o=this._getViaCoordinates();s=this._findBorderPosition(!1,t);var n=this._pointOnBezier(Math.max(0,s.t-.1));e=Math.atan2(s.y-n.y,s.x-n.x)}else{e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var r=this.to.x-this.from.x,a=this.to.y-this.from.y,h=Math.sqrt(r*r+a*a),d=this.to.distanceToBorder(t,e),l=(h-d)/h;s={},s.x=(1-l)*this.from.x+l*this.to.x,s.y=(1-l)*this.from.y+l*this.to.y}if(i=(10+5*this.options.width)*this.options.arrowScaleFactor,t.arrow(s.x,s.y,e,i),t.fill(),t.stroke(),this.label){var c;c=1==this.options.smoothCurves.enabled&&null!=o?this._pointOnBezier(.5):this._pointOnLine(.5),this._label(t,this.label,c.x,c.y)}}else{var p,u,m,f=this.from,g=.25*Math.max(100,this.physics.springLength);f.width||f.resize(t),f.width>f.height?(p=f.x+.5*f.width,u=f.y-g,m={x:p,y:f.y,angle:.9*Math.PI}):(p=f.x+g,u=f.y-.5*f.height,m={x:f.x,y:u,angle:.6*Math.PI}),t.beginPath(),t.arc(p,u,g,0,2*Math.PI,!1),t.stroke();var i=(10+5*this.options.width)*this.options.arrowScaleFactor;t.arrow(m.x,m.y,m.angle,i),t.fill(),t.stroke(),this.label&&(c=this._pointOnCircle(p,u,g,.5),this._label(t,this.label,c.x,c.y))}},s.prototype._getDistanceToEdge=function(t,e,i,s,o,n){var r=0;if(this.from!=this.to)if(1==this.options.smoothCurves.enabled){var a,h;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)a=this.via.x,h=this.via.y;else{var d=this._getViaCoordinates();a=d.x,h=d.y}var l,c,p,u,m,f,g,v=1e9;for(c=0;10>c;c++)p=.1*c,u=Math.pow(1-p,2)*t+2*p*(1-p)*a+Math.pow(p,2)*i,m=Math.pow(1-p,2)*e+2*p*(1-p)*h+Math.pow(p,2)*s,c>0&&(l=this._getDistanceToLine(f,g,u,m,o,n),v=v>l?l:v),f=u,g=m;r=v}else r=this._getDistanceToLine(t,e,i,s,o,n);else{var u,m,y,b,_=.25*this.physics.springLength,x=this.from;x.width>x.height?(u=x.x+.5*x.width,m=x.y-_):(u=x.x+_,m=x.y-.5*x.height),y=u-o,b=m-n,r=Math.abs(Math.sqrt(y*y+b*b)-_)}return this.labelDimensions.lefto&&this.labelDimensions.topn?0:r},s.prototype._getDistanceToLine=function(t,e,i,s,o,n){var r=i-t,a=s-e,h=r*r+a*a,d=((o-t)*r+(n-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,c=e+d*a,p=l-o,u=c-n;return Math.sqrt(p*p+u*u)},s.prototype.setScale=function(t){this.networkScaleInv=1/t},s.prototype.select=function(){this.selected=!0},s.prototype.unselect=function(){this.selected=!1},s.prototype.positionBezierNode=function(){null!==this.via&&null!==this.from&&null!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):null!==this.via&&(this.via.x=0,this.via.y=0)},s.prototype._drawControlNodes=function(t){if(1==this.controlNodesEnabled){if(null===this.controlNodes.from&&null===this.controlNodes.to){var e="edgeIdFrom:".concat(this.id),i="edgeIdTo:".concat(this.id),s={nodes:{group:"",radius:7,borderWidth:2,borderWidthSelected:2},physics:{damping:0},clustering:{maxNodeSizeIncrements:0,nodeScaling:{width:0,height:0,radius:0}}};this.controlNodes.from=new n({id:e,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s),this.controlNodes.to=new n({id:i,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s)}this.controlNodes.positions={},0==this.controlNodes.from.selected&&(this.controlNodes.positions.from=this.getControlNodeFromPosition(t),this.controlNodes.from.x=this.controlNodes.positions.from.x,this.controlNodes.from.y=this.controlNodes.positions.from.y),0==this.controlNodes.to.selected&&(this.controlNodes.positions.to=this.getControlNodeToPosition(t),this.controlNodes.to.x=this.controlNodes.positions.to.x,this.controlNodes.to.y=this.controlNodes.positions.to.y),this.controlNodes.from.draw(t),this.controlNodes.to.draw(t)}else this.controlNodes={from:null,to:null,positions:{}}},s.prototype._enableControlNodes=function(){this.fromBackup=this.from,this.toBackup=this.to,this.controlNodesEnabled=!0},s.prototype._disableControlNodes=function(){this.fromId=this.from.id,this.toId=this.to.id,this.fromId!=this.fromBackup.id?this.fromBackup.detachEdge(this):this.toId!=this.toBackup.id&&this.toBackup.detachEdge(this),this.fromBackup=null,this.toBackup=null,this.controlNodesEnabled=!1},s.prototype._getSelectedControlNode=function(t,e){var i=this.controlNodes.positions,s=Math.sqrt(Math.pow(t-i.from.x,2)+Math.pow(e-i.from.y,2)),o=Math.sqrt(Math.pow(t-i.to.x,2)+Math.pow(e-i.to.y,2));return 15>s?(this.connectedNode=this.from,this.from=this.controlNodes.from,this.controlNodes.from):15>o?(this.connectedNode=this.to,this.to=this.controlNodes.to,this.controlNodes.to):null},s.prototype._restoreControlNodes=function(){1==this.controlNodes.from.selected?(this.from=this.connectedNode,this.connectedNode=null,this.controlNodes.from.unselect()):1==this.controlNodes.to.selected&&(this.to=this.connectedNode,this.connectedNode=null,this.controlNodes.to.unselect())},s.prototype.getControlNodeFromPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!0,t);else{var i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=this.to.x-this.from.x,o=this.to.y-this.from.y,n=Math.sqrt(s*s+o*o),r=this.from.distanceToBorder(t,i+Math.PI),a=(n-r)/n;e={},e.x=a*this.from.x+(1-a)*this.to.x,e.y=a*this.from.y+(1-a)*this.to.y}return e},s.prototype.getControlNodeToPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!1,t);else{var i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=this.to.x-this.from.x,o=this.to.y-this.from.y,n=Math.sqrt(s*s+o*o),r=this.to.distanceToBorder(t,i),a=(n-r)/n;e={},e.x=(1-a)*this.from.x+a*this.to.x,e.y=(1-a)*this.from.y+a*this.to.y}return e},t.exports=s},function(t,e,i){function s(){this.clear(),this.defaultIndex=0,this.groupsArray=[],this.groupIndex=0,this.useDefaultGroups=!0}i(1);s.DEFAULT=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],s.prototype.clear=function(){this.groups={},this.groups.length=function(){var t=0;for(var e in this)this.hasOwnProperty(e)&&t++;return t}},s.prototype.get=function(t){var e=this.groups[t];if(void 0==e)if(this.useDefaultGroups===!1&&this.groupsArray.length>0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var i=this.defaultIndex%s.DEFAULT.length;this.defaultIndex++,e={},e.color=s.DEFAULT[i],this.groups[t]=e}return e},s.prototype.add=function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e},t.exports=s},function(t,e,i){function s(){this.images={},this.imageBroken={},this.callback=void 0}s.prototype.setOnloadCallback=function(t){this.callback=t},s.prototype.load=function(t,e){var i=this.images[t];if(void 0===i){var s=this;i=new Image, +i.onload=function(){0==this.width&&(document.body.appendChild(this),this.width=this.offsetWidth,this.height=this.offsetHeight,document.body.removeChild(this)),s.callback&&(s.images[t]=i,s.callback(this))},i.onerror=function(){void 0===e?(console.error("Could not load image:",t),delete this.src,s.callback&&s.callback(this)):s.imageBroken[t]===!0?this.src==e?(console.error("Could not load brokenImage:",e),delete this.src,s.callback&&s.callback(this)):(console.error("Could not load image:",t),this.src=e):(console.error("Could not load image:",t),this.src=e,s.imageBroken[t]=!0)},i.src=t}return i},t.exports=s},function(t,e,i){function s(t,e,i,s){var n=o.selectiveBridgeObject(["nodes"],s);this.options=n.nodes,this.selected=!1,this.hover=!1,this.edges=[],this.dynamicEdges=[],this.reroutedEdges={},this.id=void 0,this.allowedToMoveX=!1,this.allowedToMoveY=!1,this.xFixed=!1,this.yFixed=!1,this.horizontalAlignLeft=!0,this.verticalAlignTop=!0,this.baseRadiusValue=s.nodes.radius,this.radiusFixed=!1,this.level=-1,this.preassignedLevel=!1,this.hierarchyEnumerated=!1,this.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.boundingBox={top:0,left:0,right:0,bottom:0},this.imagelist=e,this.grouplist=i,this.fx=0,this.fy=0,this.vx=0,this.vy=0,this.x=null,this.y=null,this.predefinedPosition=!1,this.previousState={vx:0,vy:0,x:0,y:0},this.damping=s.physics.damping,this.fixedData={x:null,y:null},this.setProperties(t,n),this.resetCluster(),this.clusterSession=0,this.clusterSizeWidthFactor=s.clustering.nodeScaling.width,this.clusterSizeHeightFactor=s.clustering.nodeScaling.height,this.clusterSizeRadiusFactor=s.clustering.nodeScaling.radius,this.maxNodeSizeIncrements=s.clustering.maxNodeSizeIncrements,this.growthIndicator=0,this.networkScaleInv=1,this.networkScale=1,this.canvasTopLeft={x:-300,y:-300},this.canvasBottomRight={x:300,y:300},this.parentEdgeId=null}var o=i(1);s.prototype.revertPosition=function(){this.x=this.previousState.x,this.y=this.previousState.y,this.vx=this.previousState.vx,this.vy=this.previousState.vy},s.prototype.resetCluster=function(){this.formationScale=void 0,this.clusterSize=1,this.containedNodes={},this.containedEdges={},this.clusterSessions=[]},s.prototype.attachEdge=function(t){-1==this.edges.indexOf(t)&&this.edges.push(t),-1==this.dynamicEdges.indexOf(t)&&this.dynamicEdges.push(t)},s.prototype.detachEdge=function(t){var e=this.edges.indexOf(t);-1!=e&&this.edges.splice(e,1),e=this.dynamicEdges.indexOf(t),-1!=e&&this.dynamicEdges.splice(e,1)},s.prototype.setProperties=function(t,e){if(t){var i=["borderWidth","borderWidthSelected","shape","image","brokenImage","radius","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","group","mass","fontDrawThreshold","scaleFontWithValue","fontSizeMaxVisible","customScalingFunction","iconFontFace","icon","iconColor","iconSize"];if(o.selectiveDeepExtend(i,this.options,t),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.originalLabel=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.x&&(this.x=t.x,this.predefinedPosition=!0),void 0!==t.y&&(this.y=t.y,this.predefinedPosition=!0),void 0!==t.value&&(this.value=t.value),void 0!==t.level&&(this.level=t.level,this.preassignedLevel=!0),void 0!==t.horizontalAlignLeft&&(this.horizontalAlignLeft=t.horizontalAlignLeft),void 0!==t.verticalAlignTop&&(this.verticalAlignTop=t.verticalAlignTop),void 0!==t.triggerFunction&&(this.triggerFunction=t.triggerFunction),void 0===this.id)throw"Node must have an id";if("number"==typeof t.group||"string"==typeof t.group&&""!=t.group){var s=this.grouplist.get(t.group);o.deepExtend(this.options,s),this.options.color=o.parseColor(this.options.color)}if(void 0!==t.radius&&(this.baseRadiusValue=this.options.radius),void 0!==t.color&&(this.options.color=o.parseColor(t.color)),void 0!==this.options.image&&""!=this.options.image){if(!this.imagelist)throw"No imagelist provided";this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage)}switch(void 0!==t.allowedToMoveX?(this.xFixed=!t.allowedToMoveX,this.allowedToMoveX=t.allowedToMoveX):void 0!==t.x&&0==this.allowedToMoveX&&(this.xFixed=!0),void 0!==t.allowedToMoveY?(this.yFixed=!t.allowedToMoveY,this.allowedToMoveY=t.allowedToMoveY):void 0!==t.y&&0==this.allowedToMoveY&&(this.yFixed=!0),this.radiusFixed=this.radiusFixed||void 0!==t.radius,("image"===this.options.shape||"circularImage"===this.options.shape)&&(this.options.radiusMin=e.nodes.widthMin,this.options.radiusMax=e.nodes.widthMax),this.options.shape){case"database":this.draw=this._drawDatabase,this.resize=this._resizeDatabase;break;case"box":this.draw=this._drawBox,this.resize=this._resizeBox;break;case"circle":this.draw=this._drawCircle,this.resize=this._resizeCircle;break;case"ellipse":this.draw=this._drawEllipse,this.resize=this._resizeEllipse;break;case"image":this.draw=this._drawImage,this.resize=this._resizeImage;break;case"circularImage":this.draw=this._drawCircularImage,this.resize=this._resizeCircularImage;break;case"text":this.draw=this._drawText,this.resize=this._resizeText;break;case"dot":this.draw=this._drawDot,this.resize=this._resizeShape;break;case"square":this.draw=this._drawSquare,this.resize=this._resizeShape;break;case"triangle":this.draw=this._drawTriangle,this.resize=this._resizeShape;break;case"triangleDown":this.draw=this._drawTriangleDown,this.resize=this._resizeShape;break;case"star":this.draw=this._drawStar,this.resize=this._resizeShape;break;case"icon":this.draw=this._drawIcon,this.resize=this._resizeIcon;break;default:this.draw=this._drawEllipse,this.resize=this._resizeEllipse}this._reset()}},s.prototype.select=function(){this.selected=!0,this._reset()},s.prototype.unselect=function(){this.selected=!1,this._reset()},s.prototype.clearSizeCache=function(){this._reset()},s.prototype._reset=function(){this.width=void 0,this.height=void 0},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.distanceToBorder=function(t,e){var i=1;switch(this.width||this.resize(t),this.options.shape){case"circle":case"dot":return this.options.radius+i;case"ellipse":var s=this.width/2,o=this.height/2,n=Math.sin(e)*s,r=Math.cos(e)*o;return s*o/Math.sqrt(n*n+r*r);case"box":case"image":case"text":default:return this.width?Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i:0}},s.prototype._setForce=function(t,e){this.fx=t,this.fy=e},s.prototype._addForce=function(t,e){this.fx+=t,this.fy+=e},s.prototype.storeState=function(){this.previousState.x=this.x,this.previousState.y=this.y,this.previousState.vx=this.vx,this.previousState.vy=this.vy},s.prototype.discreteStep=function(t){if(this.storeState(),this.xFixed)this.fx=0,this.vx=0;else{var e=this.damping*this.vx,i=(this.fx-e)/this.options.mass;this.vx+=i*t,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var s=this.damping*this.vy,o=(this.fy-s)/this.options.mass;this.vy+=o*t,this.y+=this.vy*t}},s.prototype.discreteStepLimited=function(t,e){if(this.storeState(),this.xFixed)this.fx=0,this.vx=0;else{var i=this.damping*this.vx,s=(this.fx-i)/this.options.mass;this.vx+=s*t,this.vx=Math.abs(this.vx)>e?this.vx>0?e:-e:this.vx,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var o=this.damping*this.vy,n=(this.fy-o)/this.options.mass;this.vy+=n*t,this.vy=Math.abs(this.vy)>e?this.vy>0?e:-e:this.vy,this.y+=this.vy*t}},s.prototype.isFixed=function(){return this.xFixed&&this.yFixed},s.prototype.isMoving=function(t){var e=Math.sqrt(Math.pow(this.vx,2)+Math.pow(this.vy,2));return e>t},s.prototype.isSelected=function(){return this.selected},s.prototype.getValue=function(){return this.value},s.prototype.getDistance=function(t,e){var i=this.x-t,s=this.y-e;return Math.sqrt(i*i+s*s)},s.prototype.setValueRange=function(t,e,i){if(!this.radiusFixed&&void 0!==this.value){var s=this.options.customScalingFunction(t,e,i,this.value),o=this.options.radiusMax-this.options.radiusMin;if(1==this.options.scaleFontWithValue){var n=this.options.fontSizeMax-this.options.fontSizeMin;this.options.fontSize=this.options.fontSizeMin+s*n}this.options.radius=this.options.radiusMin+s*o}this.baseRadiusValue=this.options.radius},s.prototype.draw=function(t){throw"Draw method not initialized for node"},s.prototype.resize=function(t){throw"Resize method not initialized for node"},s.prototype.isOverlappingWith=function(t){return this.leftt.left&&this.topt.top},s.prototype._resizeImage=function(t){if(!this.width||!this.height){var e,i;if(this.value){this.options.radius=this.baseRadiusValue;var s=this.imageObj.height/this.imageObj.width;void 0!==s?(e=this.options.radius||this.imageObj.width,i=this.options.radius*s||this.imageObj.height):(e=0,i=0)}else e=this.imageObj.width,i=this.imageObj.height;this.width=e,this.height=i,this.growthIndicator=0,this.width>0&&this.height>0&&(this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-e)}},s.prototype._drawImageAtPosition=function(t){if(0!=this.imageObj.width){if(this.clusterSize>1){var e=this.clusterSize>1?10:0;e*=this.networkScaleInv,e=Math.min(.2*this.width,e),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-e,this.top-e,this.width+2*e,this.height+2*e)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height)}},s.prototype._drawImageLabel=function(t){var e,i=0;if(this.height){i=this.height/2;var s=this.getTextSize(t);s.lineCount>=1&&(i+=s.height/2,i+=3)}e=this.y+i,this._label(t,this.label,this.x,e,void 0)},s.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawImageAtPosition(t),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)},s.prototype._resizeCircularImage=function(t){if(this.imageObj.src&&this.imageObj.width&&this.imageObj.height)this._swapToImageResizeWhenImageLoaded&&(this.width=0,this.height=0,delete this._swapToImageResizeWhenImageLoaded),this._resizeImage(t);else if(!this.width){var e=2*this.options.radius;this.width=e,this.height=e,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*e,this._swapToImageResizeWhenImageLoaded=!0}},s.prototype._drawCircularImage=function(t){this._resizeCircularImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=this.left+this.width/2,i=this.top+this.height/2,s=Math.abs(this.height/2);this._drawRawCircle(t,e,i,s),t.save(),t.circle(this.x,this.y,s),t.stroke(),t.clip(),this._drawImageAtPosition(t),t.restore(),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)},s.prototype._resizeBox=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawBox=function(t){this._resizeBox(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.roundRect(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth,this.options.radius),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.options.radius),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._label(t,this.label,this.x,this.y)},s.prototype._resizeDatabase=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=i.width+2*e;this.width=s,this.height=s,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-s}},s.prototype._drawDatabase=function(t){this._resizeDatabase(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.database(this.x-this.width/2-2*t.lineWidth,this.y-.5*this.height-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.database(this.x-this.width/2,this.y-.5*this.height,this.width,this.height),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._label(t,this.label,this.x,this.y)},s.prototype._resizeCircle=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=Math.max(i.width,i.height)+2*e;this.options.radius=s/2,this.width=s,this.height=s,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*s}},s.prototype._drawRawCircle=function(t,e,i,s){var o=2.5,n=this.options.borderWidth,r=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?r:n)+(this.clusterSize>1?o:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.circle(e,i,s+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?r:n)+(this.clusterSize>1?o:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.circle(this.x,this.y,s),t.fill(),t.stroke()},s.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawRawCircle(t,this.x,this.y,this.options.radius),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this._label(t,this.label,this.x,this.y)},s.prototype._resizeEllipse=function(t){if(!this.width){var e=this.getTextSize(t);this.width=1.5*e.width,this.height=2*e.height,this.width1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.ellipse(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.ellipse(this.left,this.top,this.width,this.height),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._label(t,this.label,this.x,this.y)},s.prototype._drawDot=function(t){this._drawShape(t,"circle")},s.prototype._drawTriangle=function(t){this._drawShape(t,"triangle")},s.prototype._drawTriangleDown=function(t){this._drawShape(t,"triangleDown")},s.prototype._drawSquare=function(t){this._drawShape(t,"square")},s.prototype._drawStar=function(t){this._drawShape(t,"star")},s.prototype._resizeShape=function(t){if(!this.width){this.options.radius=this.baseRadiusValue;var e=2*this.options.radius;this.width=e,this.height=e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-e}},s.prototype._drawShape=function(t,e){this._resizeShape(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var i=2.5,s=this.options.borderWidth,o=this.options.borderWidthSelected||2*this.options.borderWidth,n=2;switch(e){case"dot":n=2;break;case"square":n=2;break;case"triangle":n=3;break;case"triangleDown":n=3;break;case"star":n=4}t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t[e](this.x,this.y,this.options.radius+n*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t[e](this.x,this.y,this.options.radius),t.fill(),t.stroke(),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this.label&&(this._label(t,this.label,this.x,this.y+this.height/2,void 0,"hanging",!0),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height))},s.prototype._resizeText=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawText=function(t){this._resizeText(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._label(t,this.label,this.x,this.y),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height},s.prototype._resizeIcon=function(t){if(!this.width){var e=5,i={width:Number(this.options.iconSize),height:Number(this.options.iconSize)};this.width=i.width+2*e,this.height=i.height+2*e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawIcon=function(t){if(this._resizeIcon(t),this.options.iconSize=this.options.iconSize||50,this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._icon(t),this.boundingBox.top=this.y-this.options.iconSize/2,this.boundingBox.left=this.x-this.options.iconSize/2,this.boundingBox.right=this.x+this.options.iconSize/2,this.boundingBox.bottom=this.y+this.options.iconSize/2,this.label){var e=5;this._label(t,this.label,this.x,this.y+this.height/2+e,"top",!0),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)}},s.prototype._icon=function(t){var e=Number(this.options.iconSize)*this.networkScale;if(this.options.icon&&e>this.options.fontDrawThreshold-1){var i=Number(this.options.iconSize);t.font=(this.selected?"bold ":"")+i+"px "+this.options.iconFontFace,t.fillStyle=this.options.iconColor||"black",t.textAlign="center",t.textBaseline="middle",t.fillText(this.options.icon,this.x,this.y)}},s.prototype._label=function(t,e,i,s,n,r,a){var h=Number(this.options.fontSize)*this.networkScale;if(e&&h>=this.options.fontDrawThreshold-1){var d=Number(this.options.fontSize);h>=this.options.fontSizeMaxVisible&&(d=Number(this.options.fontSizeMaxVisible)*this.networkScaleInv);var l=this.options.fontColor||"#000000",c=this.options.fontStrokeColor;if(h<=this.options.fontDrawThreshold){var p=Math.max(0,Math.min(1,1-(this.options.fontDrawThreshold-h)));l=o.overrideOpacity(l,p),c=o.overrideOpacity(c,p)}t.font=(this.selected?"bold ":"")+d+"px "+this.options.fontFace;var u=e.split("\n"),m=u.length,f=s+(1-m)/2*d;1==a&&(f=s+(1-m)/(2*d));for(var g=t.measureText(u[0]).width,v=1;m>v;v++){var y=t.measureText(u[v]).width;g=y>g?y:g}var b=d*m,_=i-g/2,x=s-b/2;"hanging"==r&&(x+=.5*d,x+=4,f+=4),this.labelDimensions={top:x,left:_,width:g,height:b,yLine:f},void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(_,x,g,b)),t.fillStyle=l,t.textAlign=n||"center",t.textBaseline=r||"middle",this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=c,t.lineJoin="round");for(var v=0;m>v;v++)this.options.fontStrokeWidth&&t.strokeText(u[v],i,f),t.fillText(u[v],i,f),f+=d}},s.prototype.getTextSize=function(t){if(void 0!==this.label){var e=Number(this.options.fontSize);e*this.networkScale>this.options.fontSizeMaxVisible&&(e=Number(this.options.fontSizeMaxVisible)*this.networkScaleInv),t.font=(this.selected?"bold ":"")+e+"px "+this.options.fontFace;for(var i=this.label.split("\n"),s=(e+4)*i.length,o=0,n=0,r=i.length;r>n;n++)o=Math.max(o,t.measureText(i[n]).width);return{width:o,height:s,lineCount:i.length}}return{width:0,height:0,lineCount:0}},s.prototype.inArea=function(){return void 0!==this.width?this.x+this.width*this.networkScaleInv>=this.canvasTopLeft.x&&this.x-this.width*this.networkScaleInv=this.canvasTopLeft.y&&this.y-this.height*this.networkScaleInv=this.canvasTopLeft.x&&this.x=this.canvasTopLeft.y&&this.ys&&(n=s-e-this.padding),no&&(r=o-i-this.padding),ri;i++)if(e.id===r.nodes[i].id){o=r.nodes[i];break}for(o||(o={id:e.id},t.node&&(o.attr=h(o.attr,t.node))),i=n.length-1;i>=0;i--){var a=n[i];a.nodes||(a.nodes=[]),-1==a.nodes.indexOf(o)&&a.nodes.push(o)}e.attr&&(o.attr=h(o.attr,e.attr))}function c(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function p(t,e,i,s,o){var n={from:e,to:i,type:s};return t.edge&&(n.attr=h({},t.edge)),n.attr=h(n.attr||{},o),n}function u(){for(I=C.NULL,N="";" "==k||" "==k||"\n"==k||"\r"==k;)n();do{var t=!1;if("#"==k){for(var e=E-1;" "==O.charAt(e)||" "==O.charAt(e);)e--;if("\n"==O.charAt(e)||""==O.charAt(e)){for(;""!=k&&"\n"!=k;)n();t=!0}}if("/"==k&&"/"==r()){for(;""!=k&&"\n"!=k;)n();t=!0}if("/"==k&&"*"==r()){for(;""!=k;){if("*"==k&&"/"==r()){n(),n();break}n()}t=!0}for(;" "==k||" "==k||"\n"==k||"\r"==k;)n()}while(t);if(""==k)return void(I=C.DELIMITER);var i=k+r();if(T[i])return I=C.DELIMITER,N=i,n(),void n();if(T[k])return I=C.DELIMITER,N=k,void n();if(a(k)||"-"==k){for(N+=k,n();a(k);)N+=k,n();return"false"==N?N=!1:"true"==N?N=!0:isNaN(Number(N))||(N=Number(N)),void(I=C.IDENTIFIER)}if('"'==k){for(n();""!=k&&('"'!=k||'"'==k&&'"'==r());)N+=k,'"'==k&&n(),n();if('"'!=k)throw w('End of string " expected');return n(),void(I=C.IDENTIFIER)}for(I=C.UNKNOWN;""!=k;)N+=k,n();throw new SyntaxError('Syntax error in part "'+S(N,30)+'"')}function m(){var t={};if(o(),u(),"strict"==N&&(t.strict=!0,u()),("graph"==N||"digraph"==N)&&(t.type=N,u()),I==C.IDENTIFIER&&(t.id=N,u()),"{"!=N)throw w("Angle bracket { expected");if(u(),f(t),"}"!=N)throw w("Angle bracket } expected");if(u(),""!==N)throw w("End of file expected");return u(),delete t.node,delete t.edge,delete t.graph,t}function f(t){for(;""!==N&&"}"!=N;)g(t),";"==N&&u()}function g(t){var e=v(t);if(e)return void _(t,e);var i=y(t);if(!i){if(I!=C.IDENTIFIER)throw w("Identifier expected");var s=N;if(u(),"="==N){if(u(),I!=C.IDENTIFIER)throw w("Identifier expected");t[s]=N,u()}else b(t,s)}}function v(t){var e=null;if("subgraph"==N&&(e={},e.type="subgraph",u(),I==C.IDENTIFIER&&(e.id=N,u())),"{"==N){if(u(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,f(e),"}"!=N)throw w("Angle bracket } expected");u(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function y(t){return"node"==N?(u(),t.node=x(),"node"):"edge"==N?(u(),t.edge=x(),"edge"):"graph"==N?(u(),t.graph=x(),"graph"):null}function b(t,e){var i={id:e},s=x();s&&(i.attr=s),l(t,i),_(t,e)}function _(t,e){for(;"->"==N||"--"==N;){var i,s=N;u();var o=v(t);if(o)i=o;else{if(I!=C.IDENTIFIER)throw w("Identifier or subgraph expected");i=N,l(t,{id:i}),u()}var n=x(),r=p(t,e,i,s,n);c(t,r),e=i}}function x(){for(var t=null;"["==N;){for(u(),t={};""!==N&&"]"!=N;){if(I!=C.IDENTIFIER)throw w("Attribute name expected");var e=N;if(u(),"="!=N)throw w("Equal sign = expected");if(u(),I!=C.IDENTIFIER)throw w("Attribute value expected");var i=N;d(t,e,i),u(),","==N&&u()}if("]"!=N)throw w("Bracket ] expected");u()}return t}function w(t){return new SyntaxError(t+', got "'+S(N,30)+'" (char '+E+")")}function S(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function D(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function M(t){var e=s(t),i={nodes:[],edges:[],options:{}};if(e.nodes&&e.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};h(e,t.attr),e.image&&(e.shape="image"),i.nodes.push(e)}),e.edges){var o=function(t){var e={from:t.from,to:t.to};return h(e,t.attr),e.style="->"==t.type?"arrow":"line",e};e.edges.forEach(function(t){var e,s;e=t.from instanceof Object?t.from.nodes:{id:t.from},s=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var e=o(t);i.edges.push(e)}),D(e,s,function(e,s){var n=p(i,e.id,s.id,t.type,t.attr),r=o(n);i.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var e=o(t);i.edges.push(e)})})}return e.attr&&(i.options=e.attr), +i}var C={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},T={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},O="",E=0,k="",N="",I=C.NULL,L=/[a-zA-Z_0-9.:#]/;e.parseDOT=s,e.DOTToGraph=M},function(t,e,i){function s(t,e){var i=[],s=[];this.options={edges:{inheritColor:!0},nodes:{allowedToMove:!1,parseColor:!1}},void 0!==e&&(this.options.nodes.allowedToMove=e.allowedToMove|!1,this.options.nodes.parseColor=e.parseColor|!1,this.options.edges.inheritColor=e.inheritColor|!0);for(var o=t.edges,n=t.nodes,r=0;r0?Math.max.apply(null,i)+1:1):(this.customBarIds.forEach(function(t){if(t===e)throw new Error("Custom time ID already exists")}),o=e),this.customBarIds.push(o),s=new l(this.body,{showCustomTime:!0,time:n,id:o}),this.components.push(s),this.redraw(),o},s.prototype.removeCustomTime=function(t){var e=this;this.components.forEach(function(i,s,o){i instanceof l&&i.options.id===t&&0!==i.options.id&&(e.customBarIds.splice(e.customBarIds.indexOf(t),1),o.splice(s,1),i.destroy())})},s.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},s.prototype.clear=function(t){(!t||t.items)&&this.setItems(null),(!t||t.groups)&&this.setGroups(null),(!t||t.options)&&(this.components.forEach(function(t){t.setOptions(t.defaultOptions)}),this.setOptions(this.defaultOptions))},s.prototype.fit=function(t){var e=this._getDataRange();if(null!==e.start||null!==e.end){var i=t&&void 0!==t.animate?t.animate:!0;this.range.setRange(e.start,e.end,i)}},s.prototype._getDataRange=function(){var t=this.getItemRange(),e=t.min,i=t.max;if(null!=e&&null!=i){var s=i.valueOf()-e.valueOf();0>=s&&(s=864e5),e=new Date(e.valueOf()-.05*s),i=new Date(i.valueOf()+.05*s)}return{start:e,end:i}},s.prototype.setWindow=function(t,e,i){var s;if(1==arguments.length){var o=arguments[0];s=void 0!==o.animate?o.animate:!0,this.range.setRange(o.start,o.end,s)}else s=i&&void 0!==i.animate?i.animate:!0,this.range.setRange(t,e,s)},s.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,s=r.convert(t,"Date").valueOf(),o=s-i/2,n=s+i/2,a=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(o,n,a)},s.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},s.prototype.redraw=function(){this._redraw()},s.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){d.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(r.addClassName(s.root,"top"),r.removeClassName(s.root,"bottom")):(r.removeClassName(s.root,"top"),r.addClassName(s.root,"bottom")),s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;0===s.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===s.root.clientHeight&&(n=o),i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,h+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var l=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var c=i.root.width-i.left.width-i.right.width-n;i.center.width=c,i.centerContainer.width=c,i.top.width=c,i.bottom.width=c,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontal.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+i.border.left+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var p=this.props.scrollTop;"bottom"==e.orientation&&(p+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),s.center.style.left="0",s.center.style.top=p+"px",s.left.style.left="0",s.left.style.top=p+"px",s.right.style.left="0",s.right.style.top=p+"px";var u=0==this.props.scrollTop?"hidden":"",m=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(s.shadowTop.style.visibility=u,s.shadowBottom.style.visibility=m,s.shadowTopLeft.style.visibility=u,s.shadowBottomLeft.style.visibility=m,s.shadowTopRight.style.visibility=u,s.shadowBottomRight.style.visibility=m,this.components.forEach(function(e){t=e.redraw()||t}),t){var f=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTopt[s].y?t[s].y:e,i=i0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=o.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style",e.style),a=1==e.options.catmullRom.enabled?s._catmullRom(t,e):s._linear(t),1==e.options.shaded.enabled){var d,l=o.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&n.draw(t,e,i)}},s._catmullRomUniform=function(t){for(var e,i,s,o,n,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;l++)e=0==l?t[0]:t[l-1],i=t[l],s=t[l+1],o=d>l+2?t[l+2]:s,n={x:(-e.x+6*i.x+s.x)*h,y:(-e.y+6*i.y+s.y)*h},r={x:(i.x+6*s.x-o.x)*h,y:(i.y+6*s.y-o.y)*h},a+="C"+n.x+","+n.y+" "+r.x+","+r.y+" "+s.x+","+s.y+" ";return a},s._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var s,o,n,r,a,h,d,l,c,p,u,m,f,g,v,y,b,_,x,w=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",S=t.length,D=0;S-1>D;D++)s=0==D?t[0]:t[D-1],o=t[D],n=t[D+1],r=S>D+2?t[D+2]:n,d=Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2)),l=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),c=Math.sqrt(Math.pow(n.x-r.x,2)+Math.pow(n.y-r.y,2)),g=Math.pow(c,i),y=Math.pow(c,2*i),v=Math.pow(l,i),b=Math.pow(l,2*i),x=Math.pow(d,i),_=Math.pow(d,2*i),p=2*_+3*x*v+b,u=2*y+3*g*v+b,m=3*x*(x+v),m>0&&(m=1/m),f=3*g*(g+v),f>0&&(f=1/f),a={x:(-b*s.x+p*o.x+_*n.x)*m,y:(-b*s.y+p*o.y+_*n.y)*m},h={x:(y*o.x+u*n.x-b*r.x)*f,y:(y*o.y+u*n.y-b*r.y)*f},0==a.x&&0==a.y&&(a=o),0==h.x&&0==h.y&&(h=n),w+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+n.x+","+n.y+" ";return w},s._linear=function(t){for(var e="",i=0;it[s].y?t[s].y:e,i=i0&&(n=Math.min(n,Math.abs(c[d-1].x-r))),a=s._getSafeDrawData(n,h,m);else{var g=d+(p[r].amount-p[r].resolved),v=d-(p[r].resolved+1);g0&&(n=Math.min(n,Math.abs(c[v].x-r))),a=s._getSafeDrawData(n,h,m),p[r].resolved+=1,"stack"==h.options.barChart.handleOverlap?(f=p[r].accumulated,p[r].accumulated+=h.zeroPosition-c[d].y):"sideBySide"==h.options.barChart.handleOverlap&&(a.width=a.width/p[r].amount,a.offset+=p[r].resolved*a.width-.5*a.width*(p[r].amount+1),"left"==h.options.barChart.align?a.offset-=.5*a.width:"right"==h.options.barChart.align&&(a.offset+=.5*a.width))}o.drawBar(c[d].x+a.offset,c[d].y-f,a.width,h.zeroPosition-c[d].y,h.className+" bar",i.svgElements,i.svg),1==h.options.drawPoints.enabled&&o.drawPoint(c[d].x+a.offset,c[d].y,h,i.svgElements,i.svg,c[d].label)}},s._getDataIntersections=function(t,e){for(var i,s=0;s0&&(i=Math.min(i,Math.abs(e[s-1].x-e[s].x))),0==i&&(void 0===t[e[s].x]&&(t[e[s].x]={amount:0,resolved:0,accumulated:0}),t[e[s].x].amount+=1)},s._getSafeDrawData=function(t,e,i){var s,o;return t0?(s=i>t?i:t,o=0,"left"==e.options.barChart.align?o-=.5*t:"right"==e.options.barChart.align&&(o+=.5*t)):(s=e.options.barChart.width,o=0,"left"==e.options.barChart.align?o-=.5*e.options.barChart.width:"right"==e.options.barChart.align&&(o+=.5*e.options.barChart.width)),{width:s,offset:o}},s.getStackedBarYRange=function(t,e,i,o,n){if(t.length>0){t.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x});var r={};s._getDataIntersections(r,t),e[o]=s._getStackedBarYRange(r,t),e[o].yAxisOrientation=n,i.push(o)}},s._getStackedBarYRange=function(t,e){for(var i,s=e[0].y,o=e[0].y,n=0;ne[n].y?e[n].y:s,o=ot[r].accumulated?t[r].accumulated:s,o=ot[s].y?t[s].y:e,i=is;s++){var o=s%2===0?1.3*i:.5*i;this.lineTo(t+o*Math.sin(2*s*Math.PI/10),e-o*Math.cos(2*s*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,s,o){var n=Math.PI/180;0>i-2*o&&(o=i/2),0>s-2*o&&(o=s/2),this.beginPath(),this.moveTo(t+o,e),this.lineTo(t+i-o,e),this.arc(t+i-o,e+o,o,270*n,360*n,!1),this.lineTo(t+i,e+s-o),this.arc(t+i-o,e+s-o,o,0,90*n,!1),this.lineTo(t+o,e+s),this.arc(t+o,e+s-o,o,90*n,180*n,!1),this.lineTo(t,e+o),this.arc(t+o,e+o,o,180*n,270*n,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,s){var o=.5522848,n=i/2*o,r=s/2*o,a=t+i,h=e+s,d=t+i/2,l=e+s/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-n,e,d,e),this.bezierCurveTo(d+n,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+n,h,d,h),this.bezierCurveTo(d-n,h,t,l+r,t,l)},CanvasRenderingContext2D.prototype.database=function(t,e,i,s){var o=1/3,n=i,r=s*o,a=.5522848,h=n/2*a,d=r/2*a,l=t+n,c=e+r,p=t+n/2,u=e+r/2,m=e+(s-r/2),f=e+s;this.beginPath(),this.moveTo(l,u),this.bezierCurveTo(l,u+d,p+h,c,p,c),this.bezierCurveTo(p-h,c,t,u+d,t,u),this.bezierCurveTo(t,u-d,p-h,e,p,e),this.bezierCurveTo(p+h,e,l,u-d,l,u),this.lineTo(l,m),this.bezierCurveTo(l,m+d,p+h,f,p,f),this.bezierCurveTo(p-h,f,t,m+d,t,m),this.lineTo(t,u)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,s){var o=t-s*Math.cos(i),n=e-s*Math.sin(i),r=t-.9*s*Math.cos(i),a=e-.9*s*Math.sin(i),h=o+s/3*Math.cos(i+.5*Math.PI),d=n+s/3*Math.sin(i+.5*Math.PI),l=o+s/3*Math.cos(i-.5*Math.PI),c=n+s/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,c),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,s,o){o||(o=[10,5]),0==p&&(p=.001);var n=o.length;this.moveTo(t,e);for(var r=i-t,a=s-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,c=!0;d>=.1;){var p=o[l++%n];p>d&&(p=d);var u=Math.sqrt(p*p/(1+h*h));0>r&&(u=-u),t+=u,e+=h*u,this[c?"lineTo":"moveTo"](t,e),d-=p,c=!c}})},function(t,e,i){function s(t){return t?o(t):void 0}function o(t){for(var e in s.prototype)t[e]=s.prototype[e];return t}t.exports=s,s.prototype.on=s.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},s.prototype.once=function(t,e){function i(){s.off(t,i),e.apply(this,arguments)}var s=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},s.prototype.off=s.prototype.removeListener=s.prototype.removeAllListeners=s.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var s,o=0;os;++s)i[s].apply(this,e)}return this},s.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},s.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e,i){var s,o,n;!function(i,r){o=[],s=r,n="function"==typeof s?s.apply(e,o):s,!(void 0!==n&&(t.exports=n))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,s=t&&t.container||window,o={},n={keydown:{},keyup:{}},r={};for(e=97;122>=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1 +},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==n[e][t.keyCode]){for(var s=n[e][t.keyCode],o=0;o0)for(i in Ei)s=Ei[i],o=e[s],"undefined"!=typeof o&&(t[s]=o);return t}function u(t){p(this,t),this._d=new Date(+t._d),ki===!1&&(ki=!0,e.updateOffset(this),ki=!1)}function m(t){return t instanceof u||null!=t&&a(t,"_isAMomentObject")}function f(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function g(t,e,i){var s,o=Math.min(t.length,e.length),n=Math.abs(t.length-e.length),r=0;for(s=0;o>s;s++)(i&&t[s]!==e[s]||!i&&f(t[s])!==f(e[s]))&&r++;return r+n}function v(){}function y(t){return t?t.toLowerCase().replace("_","-"):t}function b(t){for(var e,i,s,o,n=0;n0;){if(s=_(o.slice(0,e).join("-")))return s;if(i&&i.length>=e&&g(o,i,!0)>=e-1)break;e--}n++}return null}function _(e){var i=null;if(!Ni[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Oi._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),x(i)}catch(s){}return Ni[e]}function x(t,e){var i;return t&&(i="undefined"==typeof e?S(t):w(t,e),i&&(Oi=i)),Oi._abbr}function w(t,e){return null!==e?(e.abbr=t,Ni[t]||(Ni[t]=new v),Ni[t].set(e),x(t),Ni[t]):(delete Ni[t],null)}function S(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Oi;if(!o(t)){if(e=_(t))return e;t=[t]}return b(t)}function D(t,e){var i=t.toLowerCase();Ii[i]=Ii[i+"s"]=Ii[e]=t}function M(t){return"string"==typeof t?Ii[t]||Ii[t.toLowerCase()]:void 0}function C(t){var e,i,s={};for(i in t)a(t,i)&&(e=M(i),e&&(s[e]=t[i]));return s}function T(t,i){return function(s){return null!=s?(E(this,t,s),e.updateOffset(this,i),this):O(this,t)}}function O(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function E(t,e,i){return t._d["set"+(t._isUTC?"UTC":"")+e](i)}function k(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=M(t),"function"==typeof this[t])return this[t](e);return this}function N(t,e,i){for(var s=""+Math.abs(t),o=t>=0;s.lengthe;e++)Pi[s[e]]?s[e]=Pi[s[e]]:s[e]=L(s[e]);return function(o){var n="";for(e=0;i>e;e++)n+=s[e]instanceof Function?s[e].call(o,t):s[e];return n}}function A(t,e){return t.isValid()?(e=P(e,t.localeData()),Ai[e]||(Ai[e]=z(e)),Ai[e](t)):t.localeData().invalidDate()}function P(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(zi.lastIndex=0;s>=0&&zi.test(t);)t=t.replace(zi,i),zi.lastIndex=0,s-=1;return t}function F(t,e,i){Ki[t]="function"==typeof e?e:function(t){return t&&i?i:e}}function R(t,e){return a(Ki,t)?Ki[t](e._strict,e._locale):new RegExp(H(t))}function H(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,o){return e||i||s||o}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function B(t,e){var i,s=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(s=function(t,i){i[e]=f(t)}),i=0;is;s++){if(o=d([2e3,s]),i&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(o,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(o,"").replace(".","")+"$","i")),i||this._monthsParse[s]||(n="^"+this.months(o,"")+"|^"+this.monthsShort(o,""),this._monthsParse[s]=new RegExp(n.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[s].test(t))return s;if(i&&"MMM"===e&&this._shortMonthsParse[s].test(t))return s;if(!i&&this._monthsParse[s].test(t))return s}}function X(t,e){var i;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(i=Math.min(t.date(),G(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t)}function q(t){return null!=t?(X(this,t),e.updateOffset(this,!0),this):O(this,"Month")}function Z(){return G(this.year(),this.month())}function Q(t){var e,i=t._a;return i&&-2===t._pf.overflow&&(e=i[ts]<0||i[ts]>11?ts:i[es]<1||i[es]>G(i[Ji],i[ts])?es:i[is]<0||i[is]>24||24===i[is]&&(0!==i[ss]||0!==i[os]||0!==i[ns])?is:i[ss]<0||i[ss]>59?ss:i[os]<0||i[os]>59?os:i[ns]<0||i[ns]>999?ns:-1,t._pf._overflowDayOfYear&&(Ji>e||e>es)&&(e=es),t._pf.overflow=e),t}function K(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function $(t,e){var i=!0;return h(function(){return i&&(K(t),i=!1),e.apply(this,arguments)},e)}function J(t,e){hs[t]||(K(e),hs[t]=!0)}function tt(t){var e,i,s=t._i,o=ds.exec(s);if(o){for(t._pf.iso=!0,e=0,i=ls.length;i>e;e++)if(ls[e][1].exec(s)){t._f=ls[e][0]+(o[6]||" ");break}for(e=0,i=cs.length;i>e;e++)if(cs[e][1].exec(s)){t._f+=cs[e][0];break}s.match(qi)&&(t._f+="Z"),bt(t)}else t._isValid=!1}function et(t){var i=ps.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(tt(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function it(t,e,i,s,o,n,r){var a=new Date(t,e,i,s,o,n,r);return 1970>t&&a.setFullYear(t),a}function st(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function ot(t){return nt(t)?366:365}function nt(t){return t%4===0&&t%100!==0||t%400===0}function rt(){return nt(this.year())}function at(t,e,i){var s,o=i-e,n=i-t.day();return n>o&&(n-=7),o-7>n&&(n+=7),s=Ct(t).add(n,"d"),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function ht(t){return at(t,this._week.dow,this._week.doy).week}function dt(){return this._week.dow}function lt(){return this._week.doy}function ct(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function pt(t){var e=at(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function ut(t,e,i,s,o){var n,r,a=st(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:o,n=o-a+(a>s?7:0)-(o>a?7:0),r=7*(e-1)+(i-o)+n+1,{year:r>0?t:t-1,dayOfYear:r>0?r:ot(t-1)+r}}function mt(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function ft(t,e,i){return null!=t?t:null!=e?e:i}function gt(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function vt(t){var e,i,s,o,n=[];if(!t._d){for(s=gt(t),t._w&&null==t._a[es]&&null==t._a[ts]&&yt(t),t._dayOfYear&&(o=ft(t._a[Ji],s[Ji]),t._dayOfYear>ot(o)&&(t._pf._overflowDayOfYear=!0),i=st(o,0,t._dayOfYear),t._a[ts]=i.getUTCMonth(),t._a[es]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=n[e]=s[e];for(;7>e;e++)t._a[e]=n[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[is]&&0===t._a[ss]&&0===t._a[os]&&0===t._a[ns]&&(t._nextDay=!0,t._a[is]=0),t._d=(t._useUTC?st:it).apply(null,n),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[is]=24)}}function yt(t){var e,i,s,o,n,r,a;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(n=1,r=4,i=ft(e.GG,t._a[Ji],at(Ct(),1,4).year),s=ft(e.W,1),o=ft(e.E,1)):(n=t._locale._week.dow,r=t._locale._week.doy,i=ft(e.gg,t._a[Ji],at(Ct(),n,r).year),s=ft(e.w,1),null!=e.d?(o=e.d,n>o&&++s):o=null!=e.e?e.e+n:n),a=ut(i,s,o,r,n),t._a[Ji]=a.year,t._dayOfYear=a.dayOfYear}function bt(t){if(t._f===e.ISO_8601)return void tt(t);t._a=[],t._pf.empty=!0;var i,s,o,n,r,a=""+t._i,h=a.length,d=0;for(o=P(t._f,t._locale).match(Li)||[],i=0;i0&&t._pf.unusedInput.push(r),a=a.slice(a.indexOf(s)+s.length),d+=s.length),Pi[n]?(s?t._pf.empty=!1:t._pf.unusedTokens.push(n),W(n,s,t)):t._strict&&!s&&t._pf.unusedTokens.push(n);t._pf.charsLeftOver=h-d,a.length>0&&t._pf.unusedInput.push(a),t._pf.bigHour===!0&&t._a[is]<=12&&(t._pf.bigHour=void 0),t._a[is]=_t(t._locale,t._a[is],t._meridiem),vt(t),Q(t)}function _t(t,e,i){var s;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(s=t.isPM(i),s&&12>e&&(e+=12),s||12!==e||(e=0),e):e}function xt(t){var e,i,o,n,r;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(0/0));for(n=0;nr)&&(o=r,i=e));h(t,i||e)}function wt(t){if(!t._d){var e=C(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],vt(t)}}function St(t){var e,i=t._i,s=t._f;return t._locale=t._locale||S(t._l),null===i||void 0===s&&""===i?c({nullInput:!0}):("string"==typeof i&&(t._i=i=t._locale.preparse(i)),m(i)?new u(Q(i)):(o(s)?xt(t):s?bt(t):Dt(t),e=new u(Q(t)),e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e))}function Dt(t){var i=t._i;void 0===i?t._d=new Date:n(i)?t._d=new Date(+i):"string"==typeof i?et(t):o(i)?(t._a=r(i.slice(0),function(t){return parseInt(t,10)}),vt(t)):"object"==typeof i?wt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function Mt(t,e,i,o,n){var r={};return"boolean"==typeof i&&(o=i,i=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=n,r._l=i,r._i=t,r._f=e,r._strict=o,r._pf=s(),St(r)}function Ct(t,e,i,s){return Mt(t,e,i,s,!1)}function Tt(t,e){var i,s;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Ct();for(i=e[0],s=1;st&&(t=-t,i="-"),i+N(~~(t/60),2)+e+N(~~t%60,2)})}function Lt(t){var e=(t||"").match(qi)||[],i=e[e.length-1]||[],s=(i+"").match(vs)||["-",0,0],o=+(60*s[1])+f(s[2]);return"+"===s[0]?o:-o}function zt(t,i){var s,o;return i._isUTC?(s=i.clone(),o=(m(t)||n(t)?+t:+Ct(t))-+s,s._d.setTime(+s._d+o),e.updateOffset(s,!1),s):Ct(t).local()}function At(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Pt(t,i){var s,o=this._offset||0;return null!=t?("string"==typeof t&&(t=Lt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(s=At(this)),this._offset=t,this._isUTC=!0,null!=s&&this.add(s,"m"),o!==t&&(!i||this._changeInProgress?$t(this,Xt(t-o,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?o:At(this)}function Ft(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Rt(t){return this.utcOffset(0,t)}function Ht(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(At(this),"m")),this}function Bt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Lt(this._i)),this}function Yt(t){return t=t?Ct(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Wt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Gt(){if(this._a){var t=this._isUTC?d(this._a):Ct(this._a);return this.isValid()&&g(this._a,t.toArray())>0}return!1}function jt(){return!this._isUTC}function Vt(){return this._isUTC}function Ut(){return this._isUTC&&0===this._offset}function Xt(t,e){var i,s,o,n=t,r=null;return Nt(t)?n={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(n={},e?n[e]=t:n.milliseconds=t):(r=ys.exec(t))?(i="-"===r[1]?-1:1,n={y:0,d:f(r[es])*i,h:f(r[is])*i,m:f(r[ss])*i,s:f(r[os])*i,ms:f(r[ns])*i}):(r=bs.exec(t))?(i="-"===r[1]?-1:1,n={y:qt(r[2],i),M:qt(r[3],i),d:qt(r[4],i),h:qt(r[5],i),m:qt(r[6],i),s:qt(r[7],i),w:qt(r[8],i)}):null==n?n={}:"object"==typeof n&&("from"in n||"to"in n)&&(o=Qt(Ct(n.from),Ct(n.to)),n={},n.ms=o.milliseconds,n.M=o.months),s=new kt(n),Nt(t)&&a(t,"_locale")&&(s._locale=t._locale),s}function qt(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Zt(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Qt(t,e){var i;return e=zt(e,t),t.isBefore(e)?i=Zt(t,e):(i=Zt(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i}function Kt(t,e){return function(i,s){var o,n;return null===s||isNaN(+s)||(J(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),n=i,i=s,s=n),i="string"==typeof i?+i:i,o=Xt(i,s),$t(this,o,t),this}}function $t(t,i,s,o){var n=i._milliseconds,r=i._days,a=i._months;o=null==o?!0:o,n&&t._d.setTime(+t._d+n*s),r&&E(t,"Date",O(t,"Date")+r*s),a&&X(t,O(t,"Month")+a*s),o&&e.updateOffset(t,r||a)}function Jt(t){var e=t||Ct(),i=zt(e,this).startOf("day"),s=this.diff(i,"days",!0),o=-6>s?"sameElse":-1>s?"lastWeek":0>s?"lastDay":1>s?"sameDay":2>s?"nextDay":7>s?"nextWeek":"sameElse";return this.format(this.localeData().calendar(o,this,Ct(e)))}function te(){return new u(this)}function ee(t,e){var i;return e=M("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Ct(t),+this>+t):(i=m(t)?+t:+Ct(t),i<+this.clone().startOf(e))}function ie(t,e){var i;return e=M("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Ct(t),+t>+this):(i=m(t)?+t:+Ct(t),+this.clone().endOf(e)t?Math.ceil(t):Math.floor(t)}function re(t,e,i){var s,o,n=zt(t,this),r=6e4*(n.utcOffset()-this.utcOffset());return e=M(e),"year"===e||"month"===e||"quarter"===e?(o=ae(this,n),"quarter"===e?o/=3:"year"===e&&(o/=12)):(s=this-n,o="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-r)/864e5:"week"===e?(s-r)/6048e5:s),i?o:ne(o)}function ae(t,e){var i,s,o=12*(e.year()-t.year())+(e.month()-t.month()),n=t.clone().add(o,"months");return 0>e-n?(i=t.clone().add(o-1,"months"),s=(e-n)/(n-i)):(i=t.clone().add(o+1,"months"),s=(e-n)/(i-n)),-(o+s)}function he(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function de(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(i=Ct([2e3,1]).day(e),s="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(s.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function Pe(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Ne(t,this.localeData()),this.add(t-e,"d")):e}function Fe(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Re(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function He(t,e){I(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Be(t,e){return e._meridiemParse}function Ye(t){return"p"===(t+"").toLowerCase().charAt(0)}function We(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Ge(t){I(0,[t,3],0,"millisecond")}function je(){return this._isUTC?"UTC":""}function Ve(){return this._isUTC?"Coordinated Universal Time":""}function Ue(t){return Ct(1e3*t)}function Xe(){return Ct.apply(null,arguments).parseZone()}function qe(t,e,i){var s=this._calendar[t];return"function"==typeof s?s.call(e,i):s}function Ze(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e}function Qe(){return this._invalidDate}function Ke(t){return this._ordinal.replace("%d",t)}function $e(t){return t}function Je(t,e,i,s){var o=this._relativeTime[i];return"function"==typeof o?o(t,e,i,s):o.replace(/%d/i,t)}function ti(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)}function ei(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function ii(t,e,i,s){var o=S(),n=d().set(s,e);return o[i](n,t)}function si(t,e,i,s,o){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return ii(t,e,i,o);var n,r=[];for(n=0;s>n;n++)r[n]=ii(t,n,i,o);return r}function oi(t,e){return si(t,e,"months",12,"month")}function ni(t,e){return si(t,e,"monthsShort",12,"month")}function ri(t,e){return si(t,e,"weekdays",7,"day")}function ai(t,e){return si(t,e,"weekdaysShort",7,"day")}function hi(t,e){return si(t,e,"weekdaysMin",7,"day")}function di(){var t=this._data;return this._milliseconds=Ys(this._milliseconds),this._days=Ys(this._days),this._months=Ys(this._months),t.milliseconds=Ys(t.milliseconds),t.seconds=Ys(t.seconds),t.minutes=Ys(t.minutes),t.hours=Ys(t.hours),t.months=Ys(t.months),t.years=Ys(t.years),this}function li(t,e,i,s){var o=Xt(e,i);return t._milliseconds+=s*o._milliseconds,t._days+=s*o._days,t._months+=s*o._months,t._bubble()}function ci(t,e){return li(this,t,e,1)}function pi(t,e){return li(this,t,e,-1)}function ui(){var t,e,i,s=this._milliseconds,o=this._days,n=this._months,r=this._data,a=0;return r.milliseconds=s%1e3,t=ne(s/1e3),r.seconds=t%60,e=ne(t/60),r.minutes=e%60,i=ne(e/60),r.hours=i%24,o+=ne(i/24),a=ne(mi(o)),o-=ne(fi(a)),n+=ne(o/30),o%=30,a+=ne(n/12),n%=12,r.days=o,r.months=n,r.years=a,this}function mi(t){return 400*t/146097}function fi(t){return 146097*t/400}function gi(t){var e,i,s=this._milliseconds;if(t=M(t),"month"===t||"year"===t)return e=this._days+s/864e5,i=this._months+12*mi(e),"month"===t?i:i/12;switch(e=this._days+Math.round(fi(this._months/12)),t){case"week":return e/7+s/6048e5;case"day":return e+s/864e5;case"hour":return 24*e+s/36e5;case"minute":return 24*e*60+s/6e4;case"second":return 24*e*60*60+s/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+s;default:throw new Error("Unknown unit "+t)}}function vi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*f(this._months/12)}function yi(t){return function(){return this.as(t)}}function bi(t){return t=M(t),this[t+"s"]()}function _i(t){return function(){return this._data[t]}}function xi(){return ne(this.days()/7)}function wi(t,e,i,s,o){return o.relativeTime(e||1,!!i,t,s)}function Si(t,e,i){var s=Xt(t).abs(),o=so(s.as("s")),n=so(s.as("m")),r=so(s.as("h")),a=so(s.as("d")),h=so(s.as("M")),d=so(s.as("y")),l=o0,l[4]=i,wi.apply(null,l)}function Di(t,e){return void 0===oo[t]?!1:void 0===e?oo[t]:(oo[t]=e,!0)}function Mi(t){var e=this.localeData(),i=Si(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Ci(){var t=no(this.years()),e=no(this.months()),i=no(this.days()),s=no(this.hours()),o=no(this.minutes()),n=no(this.seconds()+this.milliseconds()/1e3),r=this.asSeconds();return r?(0>r?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(s||o||n?"T":"")+(s?s+"H":"")+(o?o+"M":"")+(n?n+"S":""):"P0D"}var Ti,Oi,Ei=e.momentProperties=[],ki=!1,Ni={},Ii={},Li=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,zi=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ai={},Pi={},Fi=/\d/,Ri=/\d\d/,Hi=/\d{3}/,Bi=/\d{4}/,Yi=/[+-]?\d{6}/,Wi=/\d\d?/,Gi=/\d{1,3}/,ji=/\d{1,4}/,Vi=/[+-]?\d{1,6}/,Ui=/\d+/,Xi=/[+-]?\d+/,qi=/Z|[+-]\d\d:?\d\d/gi,Zi=/[+-]?\d+(\.\d{1,3})?/,Qi=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Ki={},$i={},Ji=0,ts=1,es=2,is=3,ss=4,os=5,ns=6;I("M",["MM",2],"Mo",function(){return this.month()+1}),I("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),I("MMMM",0,0,function(t){return this.localeData().months(this,t)}),D("month","M"),F("M",Wi),F("MM",Wi,Ri),F("MMM",Qi),F("MMMM",Qi),B(["M","MM"],function(t,e){e[ts]=f(t)-1}),B(["MMM","MMMM"],function(t,e,i,s){var o=i._locale.monthsParse(t,s,i._strict);null!=o?e[ts]=o:i._pf.invalidMonth=t});var rs="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),as="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),hs={};e.suppressDeprecationWarnings=!1;var ds=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ls=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],cs=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],ps=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=$("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),I(0,["YY",2],0,function(){return this.year()%100}),I(0,["YYYY",4],0,"year"),I(0,["YYYYY",5],0,"year"),I(0,["YYYYYY",6,!0],0,"year"),D("year","y"),F("Y",Xi),F("YY",Wi,Ri),F("YYYY",ji,Bi),F("YYYYY",Vi,Yi),F("YYYYYY",Vi,Yi),B(["YYYY","YYYYY","YYYYYY"],Ji),B("YY",function(t,i){i[Ji]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return f(t)+(f(t)>68?1900:2e3)};var us=T("FullYear",!1);I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),D("week","w"),D("isoWeek","W"),F("w",Wi),F("ww",Wi,Ri),F("W",Wi),F("WW",Wi,Ri),Y(["w","ww","W","WW"],function(t,e,i,s){e[s.substr(0,1)]=f(t)});var ms={dow:0,doy:6};I("DDD",["DDDD",3],"DDDo","dayOfYear"),D("dayOfYear","DDD"),F("DDD",Gi),F("DDDD",Hi),B(["DDD","DDDD"],function(t,e,i){i._dayOfYear=f(t)}),e.ISO_8601=function(){};var fs=$("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Ct.apply(null,arguments);return this>t?this:t}),gs=$("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Ct.apply(null,arguments);return t>this?this:t});It("Z",":"),It("ZZ",""),F("Z",qi),F("ZZ",qi),B(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Lt(t)});var vs=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var ys=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,bs=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Xt.fn=kt.prototype;var _s=Kt(1,"add"),xs=Kt(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var ws=$("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});I(0,["gg",2],0,function(){return this.weekYear()%100}),I(0,["GG",2],0,function(){return this.isoWeekYear()%100}),De("gggg","weekYear"),De("ggggg","weekYear"),De("GGGG","isoWeekYear"),De("GGGGG","isoWeekYear"),D("weekYear","gg"),D("isoWeekYear","GG"),F("G",Xi),F("g",Xi),F("GG",Wi,Ri),F("gg",Wi,Ri),F("GGGG",ji,Bi),F("gggg",ji,Bi),F("GGGGG",Vi,Yi),F("ggggg",Vi,Yi),Y(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,s){e[s.substr(0,2)]=f(t)}),Y(["gg","GG"],function(t,i,s,o){i[o]=e.parseTwoDigitYear(t)}),I("Q",0,0,"quarter"),D("quarter","Q"),F("Q",Fi),B("Q",function(t,e){e[ts]=3*(f(t)-1)}),I("D",["DD",2],"Do","date"),D("date","D"),F("D",Wi),F("DD",Wi,Ri),F("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),B(["D","DD"],es),B("Do",function(t,e){e[es]=f(t.match(Wi)[0],10)});var Ss=T("Date",!0);I("d",0,"do","day"),I("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),I("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),I("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),D("day","d"),D("weekday","e"),D("isoWeekday","E"),F("d",Wi),F("e",Wi),F("E",Wi),F("dd",Qi),F("ddd",Qi),F("dddd",Qi),Y(["dd","ddd","dddd"],function(t,e,i){var s=i._locale.weekdaysParse(t);null!=s?e.d=s:i._pf.invalidWeekday=t}),Y(["d","e","E"],function(t,e,i,s){e[s]=f(t)});var Ds="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ms="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Cs="Su_Mo_Tu_We_Th_Fr_Sa".split("_");I("H",["HH",2],0,"hour"),I("h",["hh",2],0,function(){return this.hours()%12||12}),He("a",!0),He("A",!1),D("hour","h"),F("a",Be),F("A",Be),F("H",Wi),F("h",Wi),F("HH",Wi,Ri),F("hh",Wi,Ri),B(["H","HH"],is),B(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),B(["h","hh"],function(t,e,i){e[is]=f(t),i._pf.bigHour=!0});var Ts=/[ap]\.?m?\.?/i,Os=T("Hours",!0);I("m",["mm",2],0,"minute"),D("minute","m"),F("m",Wi),F("mm",Wi,Ri),B(["m","mm"],ss);var Es=T("Minutes",!1);I("s",["ss",2],0,"second"),D("second","s"),F("s",Wi),F("ss",Wi,Ri),B(["s","ss"],os);var ks=T("Seconds",!1);I("S",0,0,function(){return~~(this.millisecond()/100)}),I(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),Ge("SSS"),Ge("SSSS"),D("millisecond","ms"),F("S",Gi,Fi),F("SS",Gi,Ri),F("SSS",Gi,Hi),F("SSSS",Ui),B(["S","SS","SSS","SSSS"],function(t,e){e[ns]=f(1e3*("0."+t))});var Ns=T("Milliseconds",!1);I("z",0,0,"zoneAbbr"),I("zz",0,0,"zoneName");var Is=u.prototype;Is.add=_s,Is.calendar=Jt,Is.clone=te,Is.diff=re, +Is.endOf=ge,Is.format=le,Is.from=ce,Is.fromNow=pe,Is.get=k,Is.invalidAt=Se,Is.isAfter=ee,Is.isBefore=ie,Is.isBetween=se,Is.isSame=oe,Is.isValid=xe,Is.lang=ws,Is.locale=ue,Is.localeData=me,Is.max=gs,Is.min=fs,Is.parsingFlags=we,Is.set=k,Is.startOf=fe,Is.subtract=xs,Is.toArray=_e,Is.toDate=be,Is.toISOString=de,Is.toJSON=de,Is.toString=he,Is.unix=ye,Is.valueOf=ve,Is.year=us,Is.isLeapYear=rt,Is.weekYear=Ce,Is.isoWeekYear=Te,Is.quarter=Is.quarters=ke,Is.month=q,Is.daysInMonth=Z,Is.week=Is.weeks=ct,Is.isoWeek=Is.isoWeeks=pt,Is.weeksInYear=Ee,Is.isoWeeksInYear=Oe,Is.date=Ss,Is.day=Is.days=Pe,Is.weekday=Fe,Is.isoWeekday=Re,Is.dayOfYear=mt,Is.hour=Is.hours=Os,Is.minute=Is.minutes=Es,Is.second=Is.seconds=ks,Is.millisecond=Is.milliseconds=Ns,Is.utcOffset=Pt,Is.utc=Rt,Is.local=Ht,Is.parseZone=Bt,Is.hasAlignedHourOffset=Yt,Is.isDST=Wt,Is.isDSTShifted=Gt,Is.isLocal=jt,Is.isUtcOffset=Vt,Is.isUtc=Ut,Is.isUTC=Ut,Is.zoneAbbr=je,Is.zoneName=Ve,Is.dates=$("dates accessor is deprecated. Use date instead.",Ss),Is.months=$("months accessor is deprecated. Use month instead",q),Is.years=$("years accessor is deprecated. Use year instead",us),Is.zone=$("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Ft);var Ls=Is,zs={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},As={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},Ps="Invalid date",Fs="%d",Rs=/\d{1,2}/,Hs={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Bs=v.prototype;Bs._calendar=zs,Bs.calendar=qe,Bs._longDateFormat=As,Bs.longDateFormat=Ze,Bs._invalidDate=Ps,Bs.invalidDate=Qe,Bs._ordinal=Fs,Bs.ordinal=Ke,Bs._ordinalParse=Rs,Bs.preparse=$e,Bs.postformat=$e,Bs._relativeTime=Hs,Bs.relativeTime=Je,Bs.pastFuture=ti,Bs.set=ei,Bs.months=j,Bs._months=rs,Bs.monthsShort=V,Bs._monthsShort=as,Bs.monthsParse=U,Bs.week=ht,Bs._week=ms,Bs.firstDayOfYear=lt,Bs.firstDayOfWeek=dt,Bs.weekdays=Ie,Bs._weekdays=Ds,Bs.weekdaysMin=ze,Bs._weekdaysMin=Cs,Bs.weekdaysShort=Le,Bs._weekdaysShort=Ms,Bs.weekdaysParse=Ae,Bs.isPM=Ye,Bs._meridiemParse=Ts,Bs.meridiem=We,x("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===f(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=$("moment.lang is deprecated. Use moment.locale instead.",x),e.langData=$("moment.langData is deprecated. Use moment.localeData instead.",S);var Ys=Math.abs,Ws=yi("ms"),Gs=yi("s"),js=yi("m"),Vs=yi("h"),Us=yi("d"),Xs=yi("w"),qs=yi("M"),Zs=yi("y"),Qs=_i("milliseconds"),Ks=_i("seconds"),$s=_i("minutes"),Js=_i("hours"),to=_i("days"),eo=_i("months"),io=_i("years"),so=Math.round,oo={s:45,m:45,h:22,d:26,M:11},no=Math.abs,ro=kt.prototype;ro.abs=di,ro.add=ci,ro.subtract=pi,ro.as=gi,ro.asMilliseconds=Ws,ro.asSeconds=Gs,ro.asMinutes=js,ro.asHours=Vs,ro.asDays=Us,ro.asWeeks=Xs,ro.asMonths=qs,ro.asYears=Zs,ro.valueOf=vi,ro._bubble=ui,ro.get=bi,ro.milliseconds=Qs,ro.seconds=Ks,ro.minutes=$s,ro.hours=Js,ro.days=to,ro.weeks=xi,ro.months=eo,ro.years=io,ro.humanize=Mi,ro.toISOString=Ci,ro.toString=Ci,ro.toJSON=Ci,ro.locale=ue,ro.localeData=me,ro.toIsoString=$("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ci),ro.lang=ws,I("X",0,0,"unix"),I("x",0,0,"valueOf"),F("x",Xi),F("X",Zi),B("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),B("x",function(t,e,i){i._d=new Date(f(t))}),e.version="2.10.2",i(Ct),e.fn=Ls,e.min=Ot,e.max=Et,e.utc=d,e.unix=Ue,e.months=oi,e.isDate=n,e.locale=x,e.invalid=c,e.duration=Xt,e.isMoment=m,e.weekdays=ri,e.parseZone=Xe,e.localeData=S,e.isDuration=Nt,e.monthsShort=ni,e.weekdaysMin=hi,e.defineLocale=w,e.weekdaysShort=ai,e.normalizeUnits=M,e.relativeTimeThreshold=Di;var ao=e;return ao})}).call(e,i(71)(t))},function(t,e,i){var s;!function(o,n){function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){D.register(t)}),w.onTouch(a.DOCUMENT,v,D.detect),w.onTouch(a.DOCUMENT,y,D.detect),a.READY=!0)}var a=function M(t,e){return new M.Instance(t,e||{})};a.VERSION="1.1.3",a.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},a.DOCUMENT=document,a.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,a.HAS_TOUCHEVENTS="ontouchstart"in o,a.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),a.NO_MOUSEEVENTS=a.HAS_TOUCHEVENTS&&a.IS_MOBILE||a.HAS_POINTEREVENTS,a.CALCULATE_INTERVAL=25;var h={},d=a.DIRECTION_DOWN="down",l=a.DIRECTION_LEFT="left",c=a.DIRECTION_UP="up",p=a.DIRECTION_RIGHT="right",u=a.POINTER_MOUSE="mouse",m=a.POINTER_TOUCH="touch",f=a.POINTER_PEN="pen",g=a.EVENT_START="start",v=a.EVENT_MOVE="move",y=a.EVENT_END="end",b=a.EVENT_RELEASE="release",_=a.EVENT_TOUCH="touch";a.READY=!1,a.plugins=a.plugins||{},a.gestures=a.gestures||{};var x=a.utils={extend:function(t,e,i){for(var s in e)!e.hasOwnProperty(s)||t[s]!==n&&i||(t[s]=e[s]);return t},on:function(t,e,i){t.addEventListener(e,i,!1)},off:function(t,e,i){t.removeEventListener(e,i,!1)},each:function(t,e,i){var s,o;if("forEach"in t)t.forEach(e,i);else if(t.length!==n){for(s=0,o=t.length;o>s;s++)if(e.call(i,t[s],s,t)===!1)return}else for(s in t)if(t.hasOwnProperty(s)&&e.call(i,t[s],s,t)===!1)return},inStr:function(t,e){return t.indexOf(e)>-1},inArray:function(t,e){if(t.indexOf){var i=t.indexOf(e);return-1===i?!1:i}for(var s=0,o=t.length;o>s;s++)if(t[s]===e)return s;return!1},toArray:function(t){return Array.prototype.slice.call(t,0)},hasParent:function(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1},getCenter:function(t){var e=[],i=[],s=[],o=[],n=Math.min,r=Math.max;return 1===t.length?{pageX:t[0].pageX,pageY:t[0].pageY,clientX:t[0].clientX,clientY:t[0].clientY}:(x.each(t,function(t){e.push(t.pageX),i.push(t.pageY),s.push(t.clientX),o.push(t.clientY)}),{pageX:(n.apply(Math,e)+r.apply(Math,e))/2,pageY:(n.apply(Math,i)+r.apply(Math,i))/2,clientX:(n.apply(Math,s)+r.apply(Math,s))/2,clientY:(n.apply(Math,o)+r.apply(Math,o))/2})},getVelocity:function(t,e,i){return{x:Math.abs(e/t)||0,y:Math.abs(i/t)||0}},getAngle:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return 180*Math.atan2(s,i)/Math.PI},getDirection:function(t,e){var i=Math.abs(t.clientX-e.clientX),s=Math.abs(t.clientY-e.clientY);return i>=s?t.clientX-e.clientX>0?l:p:t.clientY-e.clientY>0?c:d},getDistance:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return Math.sqrt(i*i+s*s)},getScale:function(t,e){return t.length>=2&&e.length>=2?this.getDistance(e[0],e[1])/this.getDistance(t[0],t[1]):1},getRotation:function(t,e){return t.length>=2&&e.length>=2?this.getAngle(e[1],e[0])-this.getAngle(t[1],t[0]):0},isVertical:function(t){return t==c||t==d},setPrefixedCss:function(t,e,i,s){var o=["","Webkit","Moz","O","ms"];e=x.toCamelCase(e);for(var n=0;n0&&this.started&&(r=v),this.started=!0;var d=this.collectEventData(i,r,o,t);return e!=y&&s.call(D,d),a&&(d.changedLength=h,d.eventType=a,s.call(D,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(D,d),this.started=!1),r},determineEventTypes:function(){var t;return t=a.HAS_POINTEREVENTS?o.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:a.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],h[g]=t[0],h[v]=t[1],h[y]=t[2],h},getTouchList:function(t,e){if(a.HAS_POINTEREVENTS)return S.getTouchList();if(t.touches){if(e==v)return t.touches;var i=[],s=[].concat(x.toArray(t.touches),x.toArray(t.changedTouches)),o=[];return x.each(s,function(t){x.inArray(i,t.identifier)===!1&&o.push(t),i.push(t.identifier)}),o}return t.identifier=1,[t]},collectEventData:function(t,e,i,s){var o=m;return x.inStr(s.type,"mouse")||S.matchType(u,s)?o=u:S.matchType(f,s)&&(o=f),{center:x.getCenter(i),timeStamp:Date.now(),target:s.target,touches:i,eventType:e,pointerType:o,srcEvent:s,preventDefault:function(){var t=this.srcEvent;t.preventManipulation&&t.preventManipulation(),t.preventDefault&&t.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return D.stopDetect()}}}},S=a.PointerEvent={pointers:{},getTouchList:function(){var t=[];return x.each(this.pointers,function(e){t.push(e)}),t},updatePointer:function(t,e){t==y||t!=y&&1!==e.buttons?delete this.pointers[e.pointerId]:(e.identifier=e.pointerId,this.pointers[e.pointerId]=e)},matchType:function(t,e){if(!e.pointerType)return!1;var i=e.pointerType,s={};return s[u]=i===(e.MSPOINTER_TYPE_MOUSE||u),s[m]=i===(e.MSPOINTER_TYPE_TOUCH||m),s[f]=i===(e.MSPOINTER_TYPE_PEN||f),s[t]},reset:function(){this.pointers={}}},D=a.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(t,e){this.current||(this.stopped=!1,this.current={inst:t,startEvent:x.extend({},e),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(e))},detect:function(t){if(this.current&&!this.stopped){t=this.extendEventData(t);var e=this.current.inst,i=e.options;return x.each(this.gestures,function(s){!this.stopped&&e.enabled&&i[s.name]&&s.handler.call(s,t,e)},this),this.current&&(this.current.lastEvent=t),t.eventType==y&&this.stopDetect(),t}},stopDetect:function(){this.previous=x.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(t,e,i,s,o){var n=this.current,r=!1,h=n.lastCalcEvent,d=n.lastCalcData;h&&t.timeStamp-h.timeStamp>a.CALCULATE_INTERVAL&&(e=h.center,i=t.timeStamp-h.timeStamp,s=t.center.clientX-h.center.clientX,o=t.center.clientY-h.center.clientY,r=!0),(t.eventType==_||t.eventType==b)&&(n.futureCalcEvent=t),(!n.lastCalcEvent||r)&&(d.velocity=x.getVelocity(i,s,o),d.angle=x.getAngle(e,t.center),d.direction=x.getDirection(e,t.center),n.lastCalcEvent=n.futureCalcEvent||t,n.futureCalcEvent=t),t.velocityX=d.velocity.x,t.velocityY=d.velocity.y,t.interimAngle=d.angle,t.interimDirection=d.direction},extendEventData:function(t){var e=this.current,i=e.startEvent,s=e.lastEvent||i;(t.eventType==_||t.eventType==b)&&(i.touches=[],x.each(t.touches,function(t){i.touches.push({clientX:t.clientX,clientY:t.clientY})}));var o=t.timeStamp-i.timeStamp,n=t.center.clientX-i.center.clientX,r=t.center.clientY-i.center.clientY;return this.getCalculatedData(t,s.center,o,n,r),x.extend(t,{startEvent:i,deltaTime:o,deltaX:n,deltaY:r,distance:x.getDistance(i.center,t.center),angle:x.getAngle(i.center,t.center),direction:x.getDirection(i.center,t.center),scale:x.getScale(i.touches,t.touches),rotation:x.getRotation(i.touches,t.touches)}),t},register:function(t){var e=t.defaults||{};return e[t.name]===n&&(e[t.name]=!0),x.extend(a.defaults,e,!0),t.index=t.index||1e3,this.gestures.push(t),this.gestures.sort(function(t,e){return t.indexe.index?1:0}),this.gestures}};a.Instance=function(t,e){var i=this;r(),this.element=t,this.enabled=!0,x.each(e,function(t,i){delete e[i],e[x.toCamelCase(i)]=t}),this.options=x.extend(x.extend({},a.defaults),e||{}),this.options.behavior&&x.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=w.onTouch(t,g,function(t){i.enabled&&t.eventType==g?D.startDetect(i,t):t.eventType==_&&D.detect(t)}),this.eventHandlers=[]},a.Instance.prototype={on:function(t,e){var i=this;return w.on(i.element,t,e,function(t){i.eventHandlers.push({gesture:t,handler:e})}),i},off:function(t,e){var i=this;return w.off(i.element,t,e,function(t){var s=x.inArray({gesture:t,handler:e});s!==!1&&i.eventHandlers.splice(s,1)}),i},trigger:function(t,e){e||(e={});var i=a.DOCUMENT.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=e;var s=this.element;return x.hasParent(e.target,s)&&(s=e.target),s.dispatchEvent(i),this},enable:function(t){return this.enabled=t,this},dispose:function(){var t,e;for(x.toggleBehavior(this.element,this.options.behavior,!1),t=-1;e=this.eventHandlers[++t];)x.off(this.element,e.gesture,e.handler);return this.eventHandlers=[],w.off(this.element,h[g],this.eventStartHandler),null}},function(t){function e(e,s){var o=D.current;if(!(s.options.dragMaxTouches>0&&e.touches.length>s.options.dragMaxTouches))switch(e.eventType){case g:i=!1;break;case v:if(e.distance0)){var r=Math.abs(s.options.dragMinDistance/e.distance);n.pageX+=e.deltaX*r,n.pageY+=e.deltaY*r,n.clientX+=e.deltaX*r,n.clientY+=e.deltaY*r,e=D.extendEventData(e)}(o.lastEvent.dragLockToAxis||s.options.dragLockToAxis&&s.options.dragLockMinDistance<=e.distance)&&(e.dragLockToAxis=!0);var a=o.lastEvent.direction;e.dragLockToAxis&&a!==e.direction&&(x.isVertical(a)?e.direction=e.deltaY<0?c:d:e.direction=e.deltaX<0?l:p),i||(s.trigger(t+"start",e),i=!0),s.trigger(t,e),s.trigger(t+e.direction,e);var h=x.isVertical(e.direction);(s.options.dragBlockVertical&&h||s.options.dragBlockHorizontal&&!h)&&e.preventDefault();break;case b:i&&e.changedLength<=s.options.dragMaxTouches&&(s.trigger(t+"end",e),i=!1);break;case y:i=!1}}var i=!1;a.gestures.Drag={name:t,index:50,handler:e,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),a.gestures.Gesture={name:"gesture",index:1337,handler:function(t,e){e.trigger(this.name,t)}},function(t){function e(e,s){var o=s.options,n=D.current;switch(e.eventType){case g:clearTimeout(i),n.name=t,i=setTimeout(function(){n&&n.name==t&&s.trigger(t,e)},o.holdTimeout);break;case v:e.distance>o.holdThreshold&&clearTimeout(i);break;case b:clearTimeout(i)}}var i;a.gestures.Hold={name:t,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:e}}("hold"),a.gestures.Release={name:"release",index:1/0,handler:function(t,e){t.eventType==b&&e.trigger(this.name,t)}},a.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(t,e){if(t.eventType==b){var i=t.touches.length,s=e.options;if(is.swipeMaxTouches)return;(t.velocityX>s.swipeVelocityX||t.velocityY>s.swipeVelocityY)&&(e.trigger(this.name,t),e.trigger(this.name+t.direction,t))}}},function(t){function e(e,s){var o,n,r=s.options,a=D.current,h=D.previous;switch(e.eventType){case g:i=!1;break;case v:i=i||e.distance>r.tapMaxDistance;break;case y:!x.inStr(e.srcEvent.type,"cancel")&&e.deltaTimes.options.transformMinRotation&&s.trigger("rotate",e),o>s.options.transformMinScale&&(s.trigger("pinch",e),s.trigger("pinch"+(e.scale<1?"in":"out"),e));break;case b:i&&e.changedLength<2&&(s.trigger(t+"end",e),i=!1)}}var i=!1;a.gestures.Transform={name:t,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:e}}("transform"),s=function(){return a}.call(e,i,e,t),!(s!==n&&(t.exports=s))}(window)},function(t,e,i){function s(){this.constants.smoothCurves.enabled=!this.constants.smoothCurves.enabled;var t=document.getElementById("graph_toggleSmooth");1==this.constants.smoothCurves.enabled?t.style.background="#A4FF56":t.style.background="#FF8532",this._configureSmoothCurves(!1)}function o(){for(var t in this.calculationNodes)this.calculationNodes.hasOwnProperty(t)&&(this.calculationNodes[t].vx=0,this.calculationNodes[t].vy=0,this.calculationNodes[t].fx=0,this.calculationNodes[t].fy=0);1==this.constants.hierarchicalLayout.enabled?(this._setupHierarchicalLayout(),a.call(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),a.call(this,"graph_H_cg",1,"physics_centralGravity"),a.call(this,"graph_H_sc",1,"physics_springConstant"),a.call(this,"graph_H_sl",1,"physics_springLength"),a.call(this,"graph_H_damp",1,"physics_damping")):this.repositionNodes(),this.moving=!0,this.start()}function n(){var t="No options are required, default values used.",e=[],i=document.getElementById("graph_physicsMethod1"),s=document.getElementById("graph_physicsMethod2");if(1==i.checked){if(this.constants.physics.barnesHut.gravitationalConstant!=this.backupConstants.physics.barnesHut.gravitationalConstant&&e.push("gravitationalConstant: "+this.constants.physics.barnesHut.gravitationalConstant),this.constants.physics.centralGravity!=this.backupConstants.physics.barnesHut.centralGravity&&e.push("centralGravity: "+this.constants.physics.centralGravity),this.constants.physics.springLength!=this.backupConstants.physics.barnesHut.springLength&&e.push("springLength: "+this.constants.physics.springLength),this.constants.physics.springConstant!=this.backupConstants.physics.barnesHut.springConstant&&e.push("springConstant: "+this.constants.physics.springConstant),this.constants.physics.damping!=this.backupConstants.physics.barnesHut.damping&&e.push("damping: "+this.constants.physics.damping),0!=e.length){t="var options = {",t+="physics: {barnesHut: {";for(var o=0;othis.constants.clustering.clusterThreshold&&1==this.constants.clustering.enabled&&this.clusterToFit(this.constants.clustering.reduceToNodes,!1),this._calculateForces())},e._calculateForces=function(){this._calculateGravitationalForces(),this._calculateNodeForces(),this.constants.physics.springConstant>0&&(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic?this._calculateSpringForcesWithSupport():1==this.constants.physics.hierarchicalRepulsion.enabled?this._calculateHierarchicalSpringForces():this._calculateSpringForces())},e._updateCalculationNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this.calculationNodes={},this.calculationNodeIndices=[];for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.calculationNodes[t]=this.nodes[t]);var e=this.sectors.support.nodes;for(var i in e)e.hasOwnProperty(i)&&(this.edges.hasOwnProperty(e[i].parentEdgeId)?this.calculationNodes[i]=e[i]:e[i]._setForce(0,0));for(var s in this.calculationNodes)this.calculationNodes.hasOwnProperty(s)&&this.calculationNodeIndices.push(s)}else this.calculationNodes=this.nodes,this.calculationNodeIndices=this.nodeIndices},e._calculateGravitationalForces=function(){var t,e,i,s,o,n=this.calculationNodes,r=this.constants.physics.centralGravity,a=0;for(o=0;oSimulation Mode:Barnes HutRepulsionHierarchical
Options:
', +this.containerElement.parentElement.insertBefore(this.physicsConfiguration,this.containerElement),this.optionsDiv=document.createElement("div"),this.optionsDiv.style.fontSize="14px",this.optionsDiv.style.fontFamily="verdana",this.containerElement.parentElement.insertBefore(this.optionsDiv,this.containerElement);var d;d=document.getElementById("graph_BH_gc"),d.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),d=document.getElementById("graph_BH_cg"),d.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),d=document.getElementById("graph_BH_sc"),d.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),d=document.getElementById("graph_BH_sl"),d.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),d=document.getElementById("graph_BH_damp"),d.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),d=document.getElementById("graph_R_nd"),d.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),d=document.getElementById("graph_R_cg"),d.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),d=document.getElementById("graph_R_sc"),d.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),d=document.getElementById("graph_R_sl"),d.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),d=document.getElementById("graph_R_damp"),d.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),d=document.getElementById("graph_H_nd"),d.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),d=document.getElementById("graph_H_cg"),d.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),d=document.getElementById("graph_H_sc"),d.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),d=document.getElementById("graph_H_sl"),d.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),d=document.getElementById("graph_H_damp"),d.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),d=document.getElementById("graph_H_direction"),d.onchange=a.bind(this,"graph_H_direction",i,"hierarchicalLayout_direction"),d=document.getElementById("graph_H_levsep"),d.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),d=document.getElementById("graph_H_nspac"),d.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var l=document.getElementById("graph_physicsMethod1"),c=document.getElementById("graph_physicsMethod2"),p=document.getElementById("graph_physicsMethod3");c.checked=!0,this.constants.physics.barnesHut.enabled&&(l.checked=!0),this.constants.hierarchicalLayout.enabled&&(p.checked=!0);var u=document.getElementById("graph_toggleSmooth"),m=document.getElementById("graph_repositionNodes"),f=document.getElementById("graph_generateOptions");u.onclick=s.bind(this),m.onclick=o.bind(this),f.onclick=n.bind(this),1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?u.style.background="#A4FF56":u.style.background="#FF8532",r.apply(this),l.onchange=r.bind(this),c.onchange=r.bind(this),p.onchange=r.bind(this)}},e._overWriteGraphConstants=function(t,e){var i=t.split("_");1==i.length?this.constants[i[0]]=e:2==i.length?this.constants[i[0]][i[1]]=e:3==i.length&&(this.constants[i[0]][i[1]][i[2]]=e)}},function(t,e,i){e.startWithClustering=function(){this.clusterToFit(this.constants.clustering.initialMaxNodes,!0),this.updateLabels(),1==this.constants.stabilize&&this._stabilize(),this.start()},e.clusterToFit=function(t,e){for(var i=this.nodeIndices.length,s=50,o=0;i>t&&s>o;)o%3==0?(this.forceAggregateHubs(!0),this.normalizeClusterLevels()):this.increaseClusterLevel(),this.forceAggregateHubs(!0),i=this.nodeIndices.length,o+=1;o>0&&1==e&&this.repositionNodes(),this._updateCalculationNodes()},e.openCluster=function(t){var e=this.moving;if(t.clusterSize>this.constants.clustering.sectorThreshold&&this._nodeInActiveArea(t)&&("default"!=this._sector()||1!=this.nodeIndices.length)){this._addSector(t);for(var i=0;this.nodeIndices.lengthi;)this.decreaseClusterLevel(),i+=1}else this._expandClusterNode(t,!1,!0),this._updateNodeIndexList(),this._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},e.updateClustersDefault=function(){1==this.constants.clustering.enabled&&1==this.constants.clustering.clusterByZoom&&this.updateClusters(0,!1,!1)},e.increaseClusterLevel=function(){this.updateClusters(-1,!1,!0)},e.decreaseClusterLevel=function(){this.updateClusters(1,!1,!0)},e.updateClusters=function(t,e,i,s){var o=this.moving,n=this.nodeIndices.length,r=this.previousScalethis.scale&&0==t;1==a&&this._collapseSector(),1==a||-1==t?this._formClusters(i):(1==r||1==t)&&(1==i?this._openClusters(e,i):this._openClusters(e,!1)),this._updateNodeIndexList(),this.nodeIndices.length!=n||1!=a&&-1!=t||(this._aggregateHubs(i),this._updateNodeIndexList()),(1==a||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,this.updateLabels(),this.nodeIndices.lengththis.constants.clustering.chainThreshold&&this._reduceAmountOfChains(1-this.constants.clustering.chainThreshold/t)},e._aggregateHubs=function(t){this._getHubSize(),this._formClustersByHub(t,!1)},e.forceAggregateHubs=function(t){var e=this.moving,i=this.nodeIndices.length;this._aggregateHubs(!0),this._updateNodeIndexList(),this.updateLabels(),this._updateCalculationNodes(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},e._openClustersBySize=function(){if(1==this.constants.clustering.clusterByZoom)for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];1==e.inView()&&(e.width*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientWidth||e.height*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientHeight)&&this.openCluster(e)}},e._openClusters=function(t,e){for(var i=0;i1&&(void 0===s&&(s=!1),e=s||e,t.formationScalei)){var r=n.from,a=n.to;n.to.options.mass>n.from.options.mass&&(r=n.to,a=n.from),1==a.dynamicEdges.length?this._addToCluster(r,a,!1):1==r.dynamicEdges.length&&this._addToCluster(a,r,!1)}}},e._forceClustersByZoom=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];if(1==e.dynamicEdges.length){var i=e.dynamicEdges[0],s=i.toId==e.id?this.nodes[i.fromId]:this.nodes[i.toId];e.id!=s.id&&(s.options.mass>e.options.mass?this._addToCluster(s,e,!0):this._addToCluster(e,s,!0))}}},e._clusterToSmallestNeighbour=function(t){for(var e=-1,i=null,s=0;so.clusterSessions.length&&(e=o.clusterSessions.length,i=o)}null!=o&&void 0!==this.nodes[o.id]&&this._addToCluster(o,t,!0)},e._formClustersByHub=function(t,e){for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&this._formClusterFromHub(this.nodes[i],t,e)},e._formClusterFromHub=function(t,e,i,s){if(void 0===s&&(s=0),t.dynamicEdges.length>=this.hubThreshold&&0==i||t.dynamicEdges.length==this.hubThreshold&&1==i){for(var o,n,r,a=this.constants.clustering.clusterEdgeThreshold/this.scale,h=!1,d=[],l=t.dynamicEdges.length,c=0;l>c;c++)d.push(t.dynamicEdges[c].id);if(0==e)for(h=!1,c=0;l>c;c++){var p=this.edges[d[c]];if(void 0!==p&&p.connected&&p.toId!=p.fromId&&(o=p.to.x-p.from.x,n=p.to.y-p.from.y,r=Math.sqrt(o*o+n*n),a>r)){h=!0;break}}if(!e&&h||e){var u=[],m={};for(c=0;l>c;c++){p=this.edges[d[c]];var f=this.nodes[p.fromId==t.id?p.toId:p.fromId];void 0===m[f.id]&&(m[f.id]=!0,u.push(f))}for(c=0;c1&&(e.label="[".concat(String(e.clusterSize),"]"))}for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(e=this.nodes[t],1==e.clusterSize&&(void 0!==e.originalLabel?e.label=e.originalLabel:e.label=String(e.id)))},e.normalizeClusterLevels=function(){var t,e=0,i=1e9,s=0;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(s=this.nodes[t].clusterSessions.length,s>e&&(e=s),i>s&&(i=s));if(e-i>this.constants.clustering.clusterLevelDifference){var o=this.nodeIndices.length,n=e-this.constants.clustering.clusterLevelDifference;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodes[t].clusterSessions.lengths&&(s=n.dynamicEdges.length),t+=n.dynamicEdges.length,e+=Math.pow(n.dynamicEdges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r);this.hubThreshold=Math.floor(t+2*a),this.hubThreshold>s&&(this.hubThreshold=s)},e._reduceAmountOfChains=function(t){this.hubThreshold=2;var e=Math.floor(this.nodeIndices.length*t);for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&2==this.nodes[i].dynamicEdges.length&&e>0&&(this._formClusterFromHub(this.nodes[i],!0,!0,1),e-=1)},e._getChainFraction=function(){var t=0,e=0;for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&(2==this.nodes[i].dynamicEdges.length&&(t+=1),e+=1);return t/e}},function(t,e,i){var s=i(1),o=i(40);e._putDataInSector=function(){this.sectors.active[this._sector()].nodes=this.nodes,this.sectors.active[this._sector()].edges=this.edges,this.sectors.active[this._sector()].nodeIndices=this.nodeIndices},e._switchToSector=function(t,e){void 0===e||"active"==e?this._switchToActiveSector(t):this._switchToFrozenSector(t)},e._switchToActiveSector=function(t){this.nodeIndices=this.sectors.active[t].nodeIndices,this.nodes=this.sectors.active[t].nodes,this.edges=this.sectors.active[t].edges},e._switchToSupportSector=function(){this.nodeIndices=this.sectors.support.nodeIndices,this.nodes=this.sectors.support.nodes,this.edges=this.sectors.support.edges},e._switchToFrozenSector=function(t){this.nodeIndices=this.sectors.frozen[t].nodeIndices,this.nodes=this.sectors.frozen[t].nodes,this.edges=this.sectors.frozen[t].edges},e._loadLatestSector=function(){this._switchToSector(this._sector())},e._sector=function(){return this.activeSector[this.activeSector.length-1]},e._previousSector=function(){if(this.activeSector.length>1)return this.activeSector[this.activeSector.length-2];throw new TypeError("there are not enough sectors in the this.activeSector array.")},e._setActiveSector=function(t){this.activeSector.push(t)},e._forgetLastSector=function(){this.activeSector.pop()},e._createNewSector=function(t){this.sectors.active[t]={nodes:{},edges:{},nodeIndices:[],formationScale:this.scale,drawingNode:void 0},this.sectors.active[t].drawingNode=new o({id:t,color:{background:"#eaefef",border:"495c5e"}},{},{},this.constants),this.sectors.active[t].drawingNode.clusterSize=2},e._deleteActiveSector=function(t){delete this.sectors.active[t]},e._deleteFrozenSector=function(t){delete this.sectors.frozen[t]},e._freezeSector=function(t){this.sectors.frozen[t]=this.sectors.active[t],this._deleteActiveSector(t)},e._activateSector=function(t){this.sectors.active[t]=this.sectors.frozen[t],this._deleteFrozenSector(t)},e._mergeThisWithFrozen=function(t){for(var e in this.nodes)this.nodes.hasOwnProperty(e)&&(this.sectors.frozen[t].nodes[e]=this.nodes[e]);for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.sectors.frozen[t].edges[i]=this.edges[i]);for(var s=0;s1?this[t](o[0],o[1]):this[t](e))}return this._loadLatestSector(),i},e._doInSupportSector=function(t,e){var i=!1;if(void 0===e)this._switchToSupportSector(),i=this[t]();else{this._switchToSupportSector();var s=Array.prototype.splice.call(arguments,1);i=s.length>1?this[t](s[0],s[1]):this[t](e)}return this._loadLatestSector(),i},e._doInAllFrozenSectors=function(t,e){if(void 0===e)for(var i in this.sectors.frozen)this.sectors.frozen.hasOwnProperty(i)&&(this._switchToFrozenSector(i),this[t]());else for(var i in this.sectors.frozen)if(this.sectors.frozen.hasOwnProperty(i)){this._switchToFrozenSector(i);var s=Array.prototype.splice.call(arguments,1);s.length>1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},e._doInAllSectors=function(t,e){var i=Array.prototype.splice.call(arguments,1);void 0===e?(this._doInAllActiveSectors(t),this._doInAllFrozenSectors(t)):i.length>1?(this._doInAllActiveSectors(t,i[0],i[1]),this._doInAllFrozenSectors(t,i[0],i[1])):(this._doInAllActiveSectors(t,e),this._doInAllFrozenSectors(t,e))},e._clearNodeIndexList=function(){var t=this._sector();this.sectors.active[t].nodeIndices=[],this.nodeIndices=this.sectors.active[t].nodeIndices},e._drawSectorNodes=function(t,e){var i,s=1e9,o=-1e9,n=1e9,r=-1e9;for(var a in this.sectors[e])if(this.sectors[e].hasOwnProperty(a)&&void 0!==this.sectors[e][a].drawingNode){this._switchToSector(a,e),s=1e9,o=-1e9,n=1e9,r=-1e9;for(var h in this.nodes)this.nodes.hasOwnProperty(h)&&(i=this.nodes[h],i.resize(t),n>i.x-.5*i.width&&(n=i.x-.5*i.width),ri.y-.5*i.height&&(s=i.y-.5*i.height),o0?this.nodes[i[i.length-1]]:null},e._getEdgesOverlappingWith=function(t,e){var i=this.edges;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},e._getAllEdgesOverlappingWith=function(t){var e=[];return this._doInAllActiveSectors("_getEdgesOverlappingWith",t,e),e},e._getEdgeAt=function(t){var e=this._pointerToPositionObject(t),i=this._getAllEdgesOverlappingWith(e);return i.length>0?this.edges[i[i.length-1]]:null},e._addToSelection=function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t},e._addToHover=function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t},e._removeFromSelection=function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]},e._unselectAll=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&this.selectionObj.edges[i].unselect();this.selectionObj={nodes:{},edges:{}},0==t&&this.emit("select",this.getSelection())},e._unselectClusters=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1&&(this.selectionObj.nodes[e].unselect(),this._removeFromSelection(this.selectionObj.nodes[e]));0==t&&this.emit("select",this.getSelection())},e._getSelectedNodeCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedNode=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return null},e._getSelectedEdge=function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return null},e._getSelectedEdgeCount=function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedObjectCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t},e._selectionIsEmpty=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0},e._clusterInSelection=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1},e._selectConnectedEdges=function(t){for(var e=0;ei;i++){o=t[i];var n=this.nodes[o];if(!n)throw new RangeError('Node with id "'+o+'" not found');this._selectObject(n,!0,!0,e,!0)}this.redraw()},e.selectEdges=function(t){var e,i,s;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),e=0,i=t.length;i>e;e++){s=t[e];var o=this.edges[s];if(!o)throw new RangeError('Edge with id "'+s+'" not found');this._selectObject(o,!0,!0,!1,!0)}this.redraw()},e._updateSelection=function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},function(t,e,i){var s=i(1),o=i(40),n=i(37),r=i(45);e._clearManipulatorBar=function(){this._recursiveDOMDelete(this.manipulationDiv),this.manipulationDOM={},this._cleanManipulatorHammers(),this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1,this.freezeSimulation(!1)},e._cleanManipulatorHammers=function(){if(0!=this.manipulationHammers.length){for(var t=0;t1)alert(this.constants.locales[this.constants.locale].createEdgeError);else{this._selectObject(e,!1);var i=this.sectors.support.nodes;i.targetNode=new o({id:"targetNode"},{},{},this.constants);var s=i.targetNode;s.x=e.x,s.y=e.y,this.edges.connectionEdge=new n({id:"connectionEdge",from:e.id,to:s.id},this,this.constants);var r=this.edges.connectionEdge;r.from=e,r.connected=!0,r.options.smoothCurves={enabled:!0,dynamic:!1,type:"continuous",roundness:.5},r.selected=!0,r.to=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag;var a=this;this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=a.edges.connectionEdge;i.to.x=a._XconvertDOMtoCanvas(e.x),i.to.y=a._YconvertDOMtoCanvas(e.y),a._redraw()},this.moving=!0,this.start()}}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){var e=this._getPointer(t.gesture.center);this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var i=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var s=this._getNodeAt(e);null!=s&&(s.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(i,s.id),this._createManipulatorBar())),this._unselectAll()}},e._addNode=function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:s.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add){if(2!=this.triggerFunctions.add.length)throw new Error("The function for add does not support two arguments (data,callback)");var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},e._createEdge=function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect){if(2!=this.triggerFunctions.connect.length)throw new Error("The function for connect does not support two arguments (data,callback)");var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else this.edgesData.add(i),this.moving=!0,this.start()}},e._editEdge=function(t,e){if(1==this.editMode){var i={id:this.edgeBeingEdited.id,from:t,to:e};if(this.triggerFunctions.editEdge){if(2!=this.triggerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");var s=this;this.triggerFunctions.editEdge(i,function(t){s.edgesData.update(t),s.moving=!0,s.start()})}else this.edgesData.update(i),this.moving=!0,this.start()}},e._editNode=function(){if(!this.triggerFunctions.edit||1!=this.editMode)throw new Error("No edit function has been bound to this button");var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.options.group,shape:t.options.shape,color:{background:t.options.color.background,border:t.options.color.border,highlight:{background:t.options.color.highlight.background,border:t.options.color.highlight.border}}};if(2!=this.triggerFunctions.edit.length)throw new Error("The function for edit does not support two arguments (data, callback)");var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})},e._deleteSelected=function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert(this.constants.locales[this.constants.locale].deleteClusterError);else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.del){var i=this,s={nodes:t,edges:e};if(2!=this.triggerFunctions.del.length)throw new Error("The function for delete does not support two arguments (data, callback)");this.triggerFunctions.del(s,function(t){i.edgesData.remove(t.edges),i.nodesData.remove(t.nodes),i._unselectAll(),i.moving=!0,i.start()})}else this.edgesData.remove(e),this.nodesData.remove(t),this._unselectAll(),this.moving=!0,this.start()}}},function(t,e,i){var s=(i(1),i(45));e._cleanNavigation=function(){if(0!=this.navigationHammers.length){for(var t=0;t0){var t,e,i=0,s=!1,o=!1;for(e in this.nodes)this.nodes.hasOwnProperty(e)&&(t=this.nodes[e],-1!=t.level?s=!0:o=!0,is&&(n.xFixed=!1,n.x=i[n.level].minPos,r=!0):n.yFixed&&n.level>s&&(n.yFixed=!1,n.y=i[n.level].minPos,r=!0),1==r&&(i[n.level].minPos+=i[n.level].nodeSpacing,n.edges.length>1&&this._placeBranchNodes(n.edges,n.id,i,n.level))}},e._setLevel=function(t,e,i){for(var s=0;st)&&(o.level=t,o.edges.length>1&&this._setLevel(t+1,o.edges,o.id))}},e._setLevelDirected=function(t,e,i){this.nodes[i].hierarchyEnumerated=!0;for(var s,o,n=0;n1&&s.hierarchyEnumerated===!1&&this._setLevelDirected(s.level,s.edges,s.id)},e._restoreNodes=function(){for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.nodes[t].xFixed=!1,this.nodes[t].yFixed=!1)}},function(t,e,i){function s(t){throw new Error("Cannot find module '"+t+"'.")}s.keys=function(){return[]},s.resolve=s,t.exports=s,s.id=67},function(t,e,i){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l,c=this.calculationNodes,p=this.calculationNodeIndices,u=-2/3,m=4/3,f=this.constants.physics.repulsion.nodeDistance,g=f;for(d=0;di&&(r=.5*g>i?1:v*i+m,r*=0==n?1:1+n*this.constants.clustering.forceAmplification,r/=Math.max(i,.01*g),s=t*r,o=e*r,a.fx-=s,a.fy-=o,h.fx+=s,h.fy+=o)}}},function(t,e,i){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l=this.calculationNodes,c=this.calculationNodeIndices,p=this.constants.physics.hierarchicalRepulsion.nodeDistance;for(h=0;hi?-Math.pow(u*i,2)+Math.pow(u*p,2):0,0==i?i=.01:n/=i,s=t*n,o=e*n,r.fx-=s,r.fy-=o,a.fx+=s,a.fy+=o}},e._calculateHierarchicalSpringForces=function(){for(var t,e,i,s,o,n,r,a,h,d=this.edges,l=this.calculationNodes,c=this.calculationNodeIndices,p=0;pn;n++)t=e[i[n]],t.options.mass>0&&(this._getForceContribution(o.root.children.NW,t),this._getForceContribution(o.root.children.NE,t),this._getForceContribution(o.root.children.SW,t),this._getForceContribution(o.root.children.SE,t))}},e._getForceContribution=function(t,e){if(t.childrenCount>0){var i,s,o;if(i=t.centerOfMass.x-e.x,s=t.centerOfMass.y-e.y,o=Math.sqrt(i*i+s*s),o*t.calcSize>this.constants.physics.barnesHut.thetaInverted){0==o&&(o=.1*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}else if(4==t.childrenCount)this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e);else if(t.children.data.id!=e.id){0==o&&(o=.5*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}}},e._formBarnesHutTree=function(t,e){for(var i,s=e.length,o=Number.MAX_VALUE,n=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;s>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(o>d&&(o=d),d>r&&(r=d),n>l&&(n=l),l>a&&(a=l))}var c=Math.abs(r-o)-Math.abs(a-n);c>0?(n-=.5*c,a+=.5*c):(o+=.5*c,r-=.5*c);var p=1e-5,u=Math.max(p,Math.abs(r-o)),m=.5*u,f=.5*(o+r),g=.5*(n+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:f-m,maxX:f+m,minY:g-m,maxY:g+m},size:u,calcSize:1/u,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(v.root),h=0;s>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(v.root,i);this.barnesHutTree=v},e._updateBranchMass=function(t,e){var i=t.mass+e.options.mass,s=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=s,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=s,t.mass=i;var o=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")},e._placeInRegion=function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x==e.x&&t.children[i].children.data.y==e.y?(e.x+=Math.random(),e.y+=Math.random()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}},e._splitBranch=function(t){var e=null;1==t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)},e._insertRegion=function(t,e){var i,s,o,n,r=.5*t.size;switch(e){case"NW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY,n=t.range.minY+r;break;case"NE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY,n=t.range.minY+r;break;case"SW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY+r,n=t.range.maxY;break;case"SE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY+r,n=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:s,minY:o,maxY:n},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}},e._drawTree=function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))},e._drawBranch=function(t,e,i){void 0===i&&(i="#FF0000"),4==t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}},function(t,e,i){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}}])}); //# sourceMappingURL=vis.map diff --git a/lib/timeline/component/item/Item.js b/lib/timeline/component/item/Item.js index a2d4caf2..0542ad20 100644 --- a/lib/timeline/component/item/Item.js +++ b/lib/timeline/component/item/Item.js @@ -177,7 +177,8 @@ Item.prototype._updateContents = function (element) { content = this.data.content; } - if(content !== this.content) { + var changed = this._contentToString(this.content) !== this._contentToString(content); + if (changed) { // only replace the content when changed if (content instanceof Element) { element.innerHTML = ''; @@ -262,4 +263,16 @@ Item.prototype._updateStyle = function(element) { } }; +/** + * Stringify the items contents + * @param {string | Element | undefined} content + * @returns {string | undefined} + * @private + */ +Item.prototype._contentToString = function (content) { + if (typeof content === 'string') return content; + if (content && 'outerHTML' in content) return content.outerHTML; + return content; +}; + module.exports = Item;