@verdocs/web-sdk 6.10.2 → 6.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__commonJSMin","cb","mod","exports","__exportAll","all","no_symbols","target","name","get","enumerable","Symbol","toStringTag","value","__copyProps","to","from","except","desc","keys","i","n","length","key","call","k","bind","__toESM","isNodeMode","methods","names","registerMethods","m","Array","isArray","_name","addMethodNames","assign","getMethodsFor","getMethodNames","Set","_names","push","require_fails","module","exec","error","require_function_bind_native","fails","test","require_function_uncurry_this","NATIVE_BIND","FunctionPrototype","Function","uncurryThisWithBind","fn","apply","arguments","require_object_is_prototype_of","uncurryThis","isPrototypeOf","require_global_this","check","it","Math","globalThis","window","self","global","this","require_function_apply","Reflect","require_classof_raw","toString","stringSlice","slice","require_function_uncurry_this_clause","classofRaw","require_is_callable","documentAll","document","argument","require_descriptors","require_function_call","require_object_property_is_enumerable","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","f","V","descriptor","require_create_property_descriptor","bitmap","configurable","writable","require_indexed_object","classof","$Object","split","require_is_null_or_undefined","require_require_object_coercible","isNullOrUndefined","$TypeError","TypeError","require_to_indexed_object","IndexedObject","requireObjectCoercible","require_is_object","isCallable","require_path","require_get_built_in","path","aFunction","variable","namespace","method","require_environment_user_agent","navigator","userAgent","String","require_environment_v8_version","process","Deno","versions","version","v8","match","require_symbol_constructor_detection","V8_VERSION","$String","getOwnPropertySymbols","symbol","sham","require_use_symbol_as_uid","NATIVE_SYMBOL","iterator","require_is_symbol","getBuiltIn","USE_SYMBOL_AS_UID","$Symbol","require_try_to_string","require_a_callable","tryToString","require_get_method","aCallable","P","func","require_ordinary_to_primitive","isObject","input","pref","val","valueOf","require_is_pure","require_define_global_property","require_shared_store","IS_PURE","defineGlobalProperty","SHARED","store","mode","copyright","license","source","require_shared","require_to_object","require_has_own_property","toObject","hasOwn","require_uid","id","postfix","random","require_well_known_symbol","shared","uid","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","require_to_primitive","isSymbol","getMethod","ordinaryToPrimitive","wellKnownSymbol","TO_PRIMITIVE","exoticToPrim","result","require_to_property_key","toPrimitive","require_document_create_element","EXISTS","createElement","require_ie8_dom_define","DESCRIPTORS","a","require_object_get_own_property_descriptor","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","O","require_is_forced","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","require_function_bind_context","that","require_v8_prototype_define_bug","require_an_object","require_object_define_property","V8_PROTOTYPE_DEFINE_BUG","anObject","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","current","require_create_non_enumerable_property","definePropertyModule","object","require_export","createNonEnumerableProperty","wrapConstructor","NativeConstructor","Wrapper","b","c","options","TARGET","GLOBAL","STATIC","stat","PROTO","proto","nativeSource","targetPrototype","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","forced","dontCallGetSet","wrap","real","require_math_trunc","ceil","floor","trunc","x","require_to_integer_or_infinity","number","require_to_absolute_index","toIntegerOrInfinity","max","min","index","integer","require_to_length","len","require_length_of_array_like","toLength","obj","require_array_includes","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","includes","indexOf","require_add_to_unscopables","require_es_array_includes","$","$includes","addToUnscopables","BROKEN_ON_SPARSE","BROKEN_ON_SPARSE_WITH_FROM_INDEX","require_get_built_in_prototype_method","CONSTRUCTOR","METHOD","Namespace","pureMethod","NativePrototype","require_includes$3","getBuiltInPrototypeMethod","require_is_regexp","MATCH","isRegExp","require_not_a_regexp","require_to_string_tag_support","TO_STRING_TAG","require_classof","TO_STRING_TAG_SUPPORT","CORRECT_ARGUMENTS","tryGet","tag","callee","require_to_string","require_correct_is_regexp_logic","METHOD_NAME","regexp","error1","error2","require_es_string_includes","notARegExp","correctIsRegExpLogic","stringIndexOf","searchString","require_includes$2","require_includes$1","arrayMethod","stringMethod","ArrayPrototype","StringPrototype","own","require_includes","parent","import_includes","map","array","block","il","filter","radians","d","PI","unCamelCase","s","g","capitalize","charAt","toUpperCase","proportionalSize","element","width","height","box","bbox","getOrigin","o","origin","ox","originX","oy","originY","y","condX","condY","default","descriptiveElements","isDescriptive","has","nodeName","writeDataToDom","defaults","cloned","node","setAttribute","JSON","stringify","removeAttribute","svg","html","xmlns","xlink","globals","getWindow","Base","elements","root","ns","createElementNS","makeInstance","isHTML","adopter","trim","querySelector","wrapper","innerHTML","firstElementChild","removeChild","nodeOrNew","Node","ownerDocument","defaultView","adopt","instance","Fragment","className","register","asRoot","getClass","did","eid","assignNewId","children","extend","modules","wrapWithAttrCheck","args","constructor","attr","siblings","position","next","prev","forward","add","remove","backward","front","back","before","after","insertBefore","insertAfter","numberAndUnit","hex","rgb","reference","transforms","whitespace","isHex","isRgb","isBlank","isNumber","isImage","delimiter","isPathLetter","classes","hasClass","addClass","join","removeClass","toggleClass","cssName","startsWith","css","style","ret","declaration","item","getPropertyValue","priority","getPropertyPriority","cased","setProperty","show","hide","visible","v","r","attributes","parse","e","remember","memory","forget","_memory","sixDigitHex","substring","componentHex","component","round","is","space","getParameters","params","_a","_b","_c","_d","z","h","l","cieSpace","hueToRgb","p","q","t","Color","inputs","init","isColor","color","sin","pi","grey","Error","cmyk","hsl","isGrey","delta","values","noWhitespace","parseInt","hexParse","components","lab","xyz","lch","sqrt","atan2","dToR","cos","yL","xL","zL","ct","mx","nm","rU","gU","bU","pow","bd","toArray","toHex","_clamped","toRgb","rV","gV","bV","r255","g255","b255","rL","gL","bL","xU","yU","zU","format","Point","clone","base","transform","transformO","Matrix","isMatrixLike","point","screenCTM","inverseO","closeEnough","threshold","abs","formatTransforms","flipBoth","flip","flipX","flipY","skewX","skew","isFinite","skewY","scaleX","scale","scaleY","shear","theta","rotate","around","px","positionX","NaN","py","positionY","translate","tx","translateX","ty","translateY","relative","rx","relativeX","ry","relativeY","fromArray","matrixMultiply","cx","cy","matrix","aroundO","dx","dy","translateO","lmultiplyO","decompose","determinant","ccw","sx","thetaRad","lam","equals","other","comp","axis","flipO","scaleO","Element","matrixify","parseFloat","inverse","det","na","nb","nc","nd","ne","nf","lmultiply","multiply","multiplyO","rotateO","shearO","lx","skewO","tan","ly","transformer","ctm","getCTM","isRoot","rect","getScreenCTM","console","warn","parser","nodes","size","cssText","parentNode","addTo","body","documentElement","isNulledBox","domContains","contains","Box","addOffset","pageXOffset","pageYOffset","left","top","w","x2","y2","isNulled","merge","xMin","Infinity","xMax","yMin","yMax","forEach","getBox","getBBoxFn","retry","getBBox","rbox","getRBox","getBoundingClientRect","inside","viewbox","zoom","level","clientWidth","clientHeight","zoomX","zoomY","zoomAmount","Number","MAX_SAFE_INTEGER","List","arr","super","each","fnOrMethodName","concat","reserved","reduce","attrs","getReferenceId","referenceValue","url","quote","findById","rootNode","selector","CSS","escape","nodeType","matches","resolveReference","getRootNode","findReferences","attribute","getAttribute","references","querySelectorAll","baseFind","query","find","findOne","listenerId","eventStore","WeakMap","listenerIds","createEventMap","getEvents","holder","getEventHolder","bag","set","getEventTarget","clearEvents","delete","on","events","listener","binding","listenerOptions","event","ev","addEventListener","off","listeners","registration","removeEventListener","dispatch","Event","dispatchEvent","CustomEvent","detail","cancelable","EventTarget","type","j","defaultPrevented","fire","noop","timeline","duration","ease","delay","fill","stroke","opacity","offset","SVGArray","toSet","SVGNumber","convert","unit","divide","isNaN","minus","plus","times","toJSON","colorAttributes","hooks","registerAttrHook","nodeValue","last","curr","_val","hook","leading","setAttributeNS","rebuild","Dom","removeNamespace","SVGElement","appendChild","childNodes","put","clear","hasChildNodes","lastChild","deep","assignNewIds","nodeClone","cloneNode","first","firstChild","htmlOrFn","outerHTML","xml","matcher","matchesSelector","msMatchesSelector","mozMatchesSelector","webkitMatchesSelector","oMatchesSelector","putIn","removeElement","replaceChild","precision","factor","svgOrFn","outerSVG","words","text","textContent","xmlOrFn","outerXML","_this","well","fragment","createDocumentFragment","dom","hasAttribute","setData","center","defs","dmove","move","parents","until","isSelector","sugar","prefix","extension","mat","angle","direction","radius","_element","getTotalLength","pointAt","getPointAtLength","font","untransform","str","kv","reverse","toParent","pCtm","toRoot","decomposed","Container","flatten","ungroup","Defs","Shape","circled_exports","cx$1","cy$1","height$2","width$2","x$3","y$3","Ellipse","ellipse","gradiented_exports","fx","fy","x1","y1","Gradient","targets","update","gradient","Pattern","pattern","patternUnits","Image","load","callback","img","src","image","PointArray","maxX","maxY","minX","minY","points","pop","toLine","pointed_exports","MorphArray","height$1","width$1","x$2","y$2","Line","plot","line","Marker","orient","ref","marker","makeSetterGetter","easing","pos","bezier","steps","stepPosition","jumps","beforeFlag","step","jumping","Stepper","done","Ease","Controller","stepper","dt","recalculate","_duration","overshoot","_overshoot","eps","os","log","zeta","wn","Spring","velocity","acceleration","newPosition","PID","windup","integral","_windup","I","D","segmentParameters","M","L","H","C","S","Q","T","A","Z","pathHandlers","p0","mlhvqtcsaz","jl","makeAbsolut","segment","segmentComplete","startNewSegment","token","inNumber","finalizeNumber","pathLetter","lastCommand","small","inSegment","pointSeen","hasExponent","finalizeSegment","absolute","segments","isArcFlag","isArc","isExponential","lastToken","pathDelimiters","pathParser","toAbsolute","arrayToString","PathArray","getClassForType","NonMorphable","morphableTypes","ObjectBag","Morphable","_stepper","_from","_to","_type","_context","_morphObj","at","morph","_set","align","toConsumable","TransformBag","sortByKey","splice","defaultObject","toDelete","objOrArr","entries","Type","sort","shift","num","registerMorphableType","makeMorphable","context","mapper","Path","_array","poly_exports","move$2","size$1","Polygon","polygon","Polyline","polyline","Rect","Queue","_first","_last","Animator","nextDraw","frames","timeouts","immediates","timer","performance","Date","frame","run","requestAnimationFrame","_draw","timeout","time","now","immediate","cancelFrame","clearTimeout","cancelImmediate","nextTimeout","lastTimeout","nextFrame","lastFrame","nextImmediate","pending","makeSchedule","runnerInfo","start","runner","end","defaultSource","Timeline","timeSource","_timeSource","terminate","active","_nextFrame","finish","getEndTimeOfTimeline","pause","getEndTime","lastRunnerInfo","getLastRunnerInfo","lastDuration","_time","endTimes","_runners","getRunnerInfoById","_lastRunnerId","_runnerIds","_paused","_continue","persist","dtOrForever","_persist","play","updateTime","yes","currentSpeed","speed","positive","schedule","when","absoluteStartTime","endTime","unschedule","info","seek","_speed","stop","_lastSourceTime","immediateStep","_stepImmediate","_step","_stepFn","dtSource","dtTime","_lastStepTime","reset","runnersLeft","dtToStart","_startTime","_timeline","Runner","_queue","_isDeclarative","_history","enabled","_lastTime","_reseted","transformId","_haveReversed","_reverse","_loopsDone","_swing","_wait","_times","_frameId","sanitise","swing","wait","addTransform","animate","loop","clearTransform","clearTransformsFromQueue","isTransform","during","queue","_prepareRunner","loops","loopDuration","loopsDone","whole","partial","swinging","backwards","uncliped","swingForward","progress","initFn","runFn","retargetFn","initialiser","retarget","initialised","finished","running","_lastPosition","justStarted","justFinished","declarative","converged","_initialise","_run","needsIt","_rememberMorpher","morpher","caller","positionOrDt","allfinished","_tryRetarget","extra","FakeRunner","mergeWith","getRunnerTransform","mergeTransforms","netTransform","_transformationRunners","runners","RunnerArray","ids","_context2","clearBefore","deleteCnt","edit","newRunner","getByID","lastRunner","_context3","_context4","by","_clearTransformRunnersBefore","currentRunner","_currentTransform","_addRunner","difference","styleAttr","nameOrAttrs","history","newToAttrs","differences","addedFromAttrs","oldFromAttrs","mergedToAttrs","newLevel","newPoint","affine","isMatrix","currentAngle","startTransform","setup","targetTransforms","rTarget","rCurrent","possibilities","distances","shortest","affineParameters","newTransforms","_queueNumber","ax","ay","_queueNumberDelta","newTo","_queueObject","amove","Svg","nested","Symbol$1","textable_exports","build","move$1","plain","x$1","y$1","_build","createTextNode","getComputedTextLength","Text","_rebuild","blankLineOffset","fontSize","getComputedStyle","newLined","firstLine","newLine","Tspan","tspan","Circle","circle","ClipPath","unclip","clip","clipper","clipWith","ForeignObject","foreignObject","containerGeometry_exports","child","SVGSVGElement","G","group","link","unlink","linker","linkTo","Mask","unmask","mask","masker","maskWith","Stop","cssRule","rule","Style","addText","fontFamily","fontface","TextPath","track","pathArray","textPath","importNodes","Use","use","file","SVG","RecipientFlow","_json","entities","_lines","initalize","lines","labels","_renderEntities","entity","background_color","class","_renderLabels","_renderPolylines","_renderOnePolyline","line_color","pointsInBetween","_calculatePointsInBetween","_calculateX","_calculateY","linecap","linejoin","p1","_translatePositionToNumber","p2","code","_update","json","verdocsStatusIndicatorCss","AcceptedDark","AcceptedLight","CanceledDark","CanceledLight","CompletedDark","CompletedLight","DeclinedDark","DeclinedLight","InProgressDark","InProgressLight","OpenedDark","OpenedLight","PendingDark","PendingLight","SignedDark","SignedLight","SomeSignedDark","SomeSignedLight","SubmittedDark","SubmittedLight","ENTRY_WIDTH","ENTRY_HEIGHT","ENTRY_PADDING","VerdocsStatusIndicator","hostRef","theme","containerId","recipientStatusIcons","componentDidLoad","popper","createPopper","summaryComponent","detailPanel","placement","modifiers","envelope","recipients","recipientsAtLevel","recipient","sequence","levelCount","canvasHeight","canvasWidth","minW","statusIcons","renderedItemsWidth","leftoverSpace","leftOffset","fullName","formatFullName","icon","getStatusIcon","status","getStatusColor","prevRecip","diagram","showDropdown","isOpen","setOptions","handleHideDropdown","localName","toggleDropdown","getStatusMessage","render","submittedRecipients","statusMessage","Host","onClick","stopPropagation","preventDefault","onBlur"],"sources":["node_modules/@svgdotjs/svg.js/dist/svg.esm.js","src/components/envelopes/verdocs-status-indicator/recipient-flow.ts","src/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.scss?tag=verdocs-status-indicator","src/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.tsx"],"sourcesContent":["/*!\n* @svgdotjs/svg.js - A lightweight library for manipulating and animating SVG.\n* @version 3.2.7\n* https://svgjs.dev/\n*\n* @copyright Wout Fierens <wout@mick-wout.com>\n* @license MIT\n*\n* BUILT: 2026-07-19T18:35:30.000Z\n*/;\n//#region \\0rolldown/runtime.js\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);\nvar __exportAll = (all, no_symbols) => {\n\tlet target = {};\n\tfor (var name in all) {\n\t\t__defProp(target, name, {\n\t\t\tget: all[name],\n\t\t\tenumerable: true\n\t\t});\n\t}\n\tif (!no_symbols) {\n\t\t__defProp(target, Symbol.toStringTag, { value: \"Module\" });\n\t}\n\treturn target;\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\t\tkey = keys[i];\n\t\t\tif (!__hasOwnProp.call(to, key) && key !== except) {\n\t\t\t\t__defProp(to, key, {\n\t\t\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n\n//#endregion\n//#region src/utils/methods.js\nconst methods = {};\nconst names = [];\nfunction registerMethods(name, m) {\n\tif (Array.isArray(name)) {\n\t\tfor (const _name of name) registerMethods(_name, m);\n\t\treturn;\n\t}\n\tif (typeof name === \"object\") {\n\t\tfor (const _name in name) registerMethods(_name, name[_name]);\n\t\treturn;\n\t}\n\taddMethodNames(Object.getOwnPropertyNames(m));\n\tmethods[name] = Object.assign(methods[name] || {}, m);\n}\nfunction getMethodsFor(name) {\n\treturn methods[name] || {};\n}\nfunction getMethodNames() {\n\treturn [...new Set(names)];\n}\nfunction addMethodNames(_names) {\n\tnames.push(..._names);\n}\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/fails.js\nvar require_fails = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tmodule.exports = function(exec) {\n\t\ttry {\n\t\t\treturn !!exec();\n\t\t} catch (error) {\n\t\t\treturn true;\n\t\t}\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/function-bind-native.js\nvar require_function_bind_native = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar fails = require_fails();\n\tmodule.exports = !fails(function() {\n\t\tvar test = function() {}.bind();\n\t\treturn typeof test != \"function\" || test.hasOwnProperty(\"prototype\");\n\t});\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/function-uncurry-this.js\nvar require_function_uncurry_this = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar NATIVE_BIND = require_function_bind_native();\n\tvar FunctionPrototype = Function.prototype;\n\tvar call = FunctionPrototype.call;\n\tvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\tmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function(fn) {\n\t\treturn function() {\n\t\t\treturn call.apply(fn, arguments);\n\t\t};\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/object-is-prototype-of.js\nvar require_object_is_prototype_of = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar uncurryThis = require_function_uncurry_this();\n\tmodule.exports = uncurryThis({}.isPrototypeOf);\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/global-this.js\nvar require_global_this = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar check = function(it) {\n\t\treturn it && it.Math === Math && it;\n\t};\n\tmodule.exports = check(typeof globalThis == \"object\" && globalThis) || check(typeof window == \"object\" && window) || check(typeof self == \"object\" && self) || check(typeof global == \"object\" && global) || check(typeof exports == \"object\" && exports) || (function() {\n\t\treturn this;\n\t})() || Function(\"return this\")();\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/function-apply.js\nvar require_function_apply = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar NATIVE_BIND = require_function_bind_native();\n\tvar FunctionPrototype = Function.prototype;\n\tvar apply = FunctionPrototype.apply;\n\tvar call = FunctionPrototype.call;\n\tmodule.exports = typeof Reflect == \"object\" && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function() {\n\t\treturn call.apply(apply, arguments);\n\t});\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/classof-raw.js\nvar require_classof_raw = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar uncurryThis = require_function_uncurry_this();\n\tvar toString = uncurryThis({}.toString);\n\tvar stringSlice = uncurryThis(\"\".slice);\n\tmodule.exports = function(it) {\n\t\treturn stringSlice(toString(it), 8, -1);\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/function-uncurry-this-clause.js\nvar require_function_uncurry_this_clause = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar classofRaw = require_classof_raw();\n\tvar uncurryThis = require_function_uncurry_this();\n\tmodule.exports = function(fn) {\n\t\tif (classofRaw(fn) === \"Function\") return uncurryThis(fn);\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/is-callable.js\nvar require_is_callable = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar documentAll = typeof document == \"object\" && document.all;\n\tmodule.exports = typeof documentAll == \"undefined\" && documentAll !== void 0 ? function(argument) {\n\t\treturn typeof argument == \"function\" || argument === documentAll;\n\t} : function(argument) {\n\t\treturn typeof argument == \"function\";\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/descriptors.js\nvar require_descriptors = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar fails = require_fails();\n\tmodule.exports = !fails(function() {\n\t\treturn Object.defineProperty({}, 1, { get: function() {\n\t\t\treturn 7;\n\t\t} })[1] !== 7;\n\t});\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/function-call.js\nvar require_function_call = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar NATIVE_BIND = require_function_bind_native();\n\tvar call = Function.prototype.call;\n\tmodule.exports = NATIVE_BIND ? call.bind(call) : function() {\n\t\treturn call.apply(call, arguments);\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/object-property-is-enumerable.js\nvar require_object_property_is_enumerable = /* @__PURE__ */ __commonJSMin(((exports) => {\n\tvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n\tvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\tvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\texports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n\t\tvar descriptor = getOwnPropertyDescriptor(this, V);\n\t\treturn !!descriptor && descriptor.enumerable;\n\t} : $propertyIsEnumerable;\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/create-property-descriptor.js\nvar require_create_property_descriptor = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tmodule.exports = function(bitmap, value) {\n\t\treturn {\n\t\t\tenumerable: !(bitmap & 1),\n\t\t\tconfigurable: !(bitmap & 2),\n\t\t\twritable: !(bitmap & 4),\n\t\t\tvalue\n\t\t};\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/indexed-object.js\nvar require_indexed_object = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar uncurryThis = require_function_uncurry_this();\n\tvar fails = require_fails();\n\tvar classof = require_classof_raw();\n\tvar $Object = Object;\n\tvar split = uncurryThis(\"\".split);\n\tmodule.exports = fails(function() {\n\t\treturn !$Object(\"z\").propertyIsEnumerable(0);\n\t}) ? function(it) {\n\t\treturn classof(it) === \"String\" ? split(it, \"\") : $Object(it);\n\t} : $Object;\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/is-null-or-undefined.js\nvar require_is_null_or_undefined = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tmodule.exports = function(it) {\n\t\treturn it === null || it === void 0;\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/require-object-coercible.js\nvar require_require_object_coercible = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar isNullOrUndefined = require_is_null_or_undefined();\n\tvar $TypeError = TypeError;\n\tmodule.exports = function(it) {\n\t\tif (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n\t\treturn it;\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/to-indexed-object.js\nvar require_to_indexed_object = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar IndexedObject = require_indexed_object();\n\tvar requireObjectCoercible = require_require_object_coercible();\n\tmodule.exports = function(it) {\n\t\treturn IndexedObject(requireObjectCoercible(it));\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/is-object.js\nvar require_is_object = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar isCallable = require_is_callable();\n\tmodule.exports = function(it) {\n\t\treturn typeof it == \"object\" ? it !== null : isCallable(it);\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/path.js\nvar require_path = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tmodule.exports = {};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/get-built-in.js\nvar require_get_built_in = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar path = require_path();\n\tvar globalThis = require_global_this();\n\tvar isCallable = require_is_callable();\n\tvar aFunction = function(variable) {\n\t\treturn isCallable(variable) ? variable : void 0;\n\t};\n\tmodule.exports = function(namespace, method) {\n\t\treturn arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace]) : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/environment-user-agent.js\nvar require_environment_user_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar navigator = require_global_this().navigator;\n\tvar userAgent = navigator && navigator.userAgent;\n\tmodule.exports = userAgent ? String(userAgent) : \"\";\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/environment-v8-version.js\nvar require_environment_v8_version = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar globalThis = require_global_this();\n\tvar userAgent = require_environment_user_agent();\n\tvar process = globalThis.process;\n\tvar Deno = globalThis.Deno;\n\tvar versions = process && process.versions || Deno && Deno.version;\n\tvar v8 = versions && versions.v8;\n\tvar match;\n\tvar version;\n\tif (v8) {\n\t\tmatch = v8.split(\".\");\n\t\tversion = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n\t}\n\tif (!version && userAgent) {\n\t\tmatch = userAgent.match(/Edge\\/(\\d+)/);\n\t\tif (!match || match[1] >= 74) {\n\t\t\tmatch = userAgent.match(/Chrome\\/(\\d+)/);\n\t\t\tif (match) version = +match[1];\n\t\t}\n\t}\n\tmodule.exports = version;\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/symbol-constructor-detection.js\nvar require_symbol_constructor_detection = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar V8_VERSION = require_environment_v8_version();\n\tvar fails = require_fails();\n\tvar $String = require_global_this().String;\n\tmodule.exports = !!Object.getOwnPropertySymbols && !fails(function() {\n\t\tvar symbol = Symbol(\"symbol detection\");\n\t\treturn !$String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n\t});\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/use-symbol-as-uid.js\nvar require_use_symbol_as_uid = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar NATIVE_SYMBOL = require_symbol_constructor_detection();\n\tmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == \"symbol\";\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/is-symbol.js\nvar require_is_symbol = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar getBuiltIn = require_get_built_in();\n\tvar isCallable = require_is_callable();\n\tvar isPrototypeOf = require_object_is_prototype_of();\n\tvar USE_SYMBOL_AS_UID = require_use_symbol_as_uid();\n\tvar $Object = Object;\n\tmodule.exports = USE_SYMBOL_AS_UID ? function(it) {\n\t\treturn typeof it == \"symbol\";\n\t} : function(it) {\n\t\tvar $Symbol = getBuiltIn(\"Symbol\");\n\t\treturn isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/try-to-string.js\nvar require_try_to_string = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar $String = String;\n\tmodule.exports = function(argument) {\n\t\ttry {\n\t\t\treturn $String(argument);\n\t\t} catch (error) {\n\t\t\treturn \"Object\";\n\t\t}\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/a-callable.js\nvar require_a_callable = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar isCallable = require_is_callable();\n\tvar tryToString = require_try_to_string();\n\tvar $TypeError = TypeError;\n\tmodule.exports = function(argument) {\n\t\tif (isCallable(argument)) return argument;\n\t\tthrow new $TypeError(tryToString(argument) + \" is not a function\");\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/get-method.js\nvar require_get_method = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar aCallable = require_a_callable();\n\tvar isNullOrUndefined = require_is_null_or_undefined();\n\tmodule.exports = function(V, P) {\n\t\tvar func = V[P];\n\t\treturn isNullOrUndefined(func) ? void 0 : aCallable(func);\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/ordinary-to-primitive.js\nvar require_ordinary_to_primitive = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar call = require_function_call();\n\tvar isCallable = require_is_callable();\n\tvar isObject = require_is_object();\n\tvar $TypeError = TypeError;\n\tmodule.exports = function(input, pref) {\n\t\tvar fn, val;\n\t\tif (pref === \"string\" && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n\t\tif (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n\t\tif (pref !== \"string\" && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n\t\tthrow new $TypeError(\"Can't convert object to primitive value\");\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/is-pure.js\nvar require_is_pure = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tmodule.exports = true;\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/define-global-property.js\nvar require_define_global_property = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar globalThis = require_global_this();\n\tvar defineProperty = Object.defineProperty;\n\tmodule.exports = function(key, value) {\n\t\ttry {\n\t\t\tdefineProperty(globalThis, key, {\n\t\t\t\tvalue,\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tglobalThis[key] = value;\n\t\t}\n\t\treturn value;\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/shared-store.js\nvar require_shared_store = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar IS_PURE = require_is_pure();\n\tvar globalThis = require_global_this();\n\tvar defineGlobalProperty = require_define_global_property();\n\tvar SHARED = \"__core-js_shared__\";\n\tvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\t(store.versions || (store.versions = [])).push({\n\t\tversion: \"3.49.0\",\n\t\tmode: IS_PURE ? \"pure\" : \"global\",\n\t\tcopyright: \"© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.\",\n\t\tlicense: \"https://github.com/zloirock/core-js/blob/v3.49.0/LICENSE\",\n\t\tsource: \"https://github.com/zloirock/core-js\"\n\t});\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/shared.js\nvar require_shared = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar store = require_shared_store();\n\tmodule.exports = function(key, value) {\n\t\treturn store[key] || (store[key] = value || {});\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/to-object.js\nvar require_to_object = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar requireObjectCoercible = require_require_object_coercible();\n\tvar $Object = Object;\n\tmodule.exports = function(argument) {\n\t\treturn $Object(requireObjectCoercible(argument));\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/has-own-property.js\nvar require_has_own_property = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar uncurryThis = require_function_uncurry_this();\n\tvar toObject = require_to_object();\n\tvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\tmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n\t\treturn hasOwnProperty(toObject(it), key);\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/uid.js\nvar require_uid = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar uncurryThis = require_function_uncurry_this();\n\tvar id = 0;\n\tvar postfix = Math.random();\n\tvar toString = uncurryThis(1.1.toString);\n\tmodule.exports = function(key) {\n\t\treturn \"Symbol(\" + (key === void 0 ? \"\" : key) + \")_\" + toString(++id + postfix, 36);\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/well-known-symbol.js\nvar require_well_known_symbol = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar globalThis = require_global_this();\n\tvar shared = require_shared();\n\tvar hasOwn = require_has_own_property();\n\tvar uid = require_uid();\n\tvar NATIVE_SYMBOL = require_symbol_constructor_detection();\n\tvar USE_SYMBOL_AS_UID = require_use_symbol_as_uid();\n\tvar Symbol = globalThis.Symbol;\n\tvar WellKnownSymbolsStore = shared(\"wks\");\n\tvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol[\"for\"] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\tmodule.exports = function(name) {\n\t\tif (!hasOwn(WellKnownSymbolsStore, name)) WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) ? Symbol[name] : createWellKnownSymbol(\"Symbol.\" + name);\n\t\treturn WellKnownSymbolsStore[name];\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/to-primitive.js\nvar require_to_primitive = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar call = require_function_call();\n\tvar isObject = require_is_object();\n\tvar isSymbol = require_is_symbol();\n\tvar getMethod = require_get_method();\n\tvar ordinaryToPrimitive = require_ordinary_to_primitive();\n\tvar wellKnownSymbol = require_well_known_symbol();\n\tvar $TypeError = TypeError;\n\tvar TO_PRIMITIVE = wellKnownSymbol(\"toPrimitive\");\n\tmodule.exports = function(input, pref) {\n\t\tif (!isObject(input) || isSymbol(input)) return input;\n\t\tvar exoticToPrim = getMethod(input, TO_PRIMITIVE);\n\t\tvar result;\n\t\tif (exoticToPrim) {\n\t\t\tif (pref === void 0) pref = \"default\";\n\t\t\tresult = call(exoticToPrim, input, pref);\n\t\t\tif (!isObject(result) || isSymbol(result)) return result;\n\t\t\tthrow new $TypeError(\"Can't convert object to primitive value\");\n\t\t}\n\t\tif (pref === void 0) pref = \"number\";\n\t\treturn ordinaryToPrimitive(input, pref);\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/to-property-key.js\nvar require_to_property_key = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar toPrimitive = require_to_primitive();\n\tvar isSymbol = require_is_symbol();\n\tmodule.exports = function(argument) {\n\t\tvar key = toPrimitive(argument, \"string\");\n\t\treturn isSymbol(key) ? key : key + \"\";\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/document-create-element.js\nvar require_document_create_element = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar globalThis = require_global_this();\n\tvar isObject = require_is_object();\n\tvar document = globalThis.document;\n\tvar EXISTS = isObject(document) && isObject(document.createElement);\n\tmodule.exports = function(it) {\n\t\treturn EXISTS ? document.createElement(it) : {};\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/ie8-dom-define.js\nvar require_ie8_dom_define = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar DESCRIPTORS = require_descriptors();\n\tvar fails = require_fails();\n\tvar createElement = require_document_create_element();\n\tmodule.exports = !DESCRIPTORS && !fails(function() {\n\t\treturn Object.defineProperty(createElement(\"div\"), \"a\", { get: function() {\n\t\t\treturn 7;\n\t\t} }).a !== 7;\n\t});\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/object-get-own-property-descriptor.js\nvar require_object_get_own_property_descriptor = /* @__PURE__ */ __commonJSMin(((exports) => {\n\tvar DESCRIPTORS = require_descriptors();\n\tvar call = require_function_call();\n\tvar propertyIsEnumerableModule = require_object_property_is_enumerable();\n\tvar createPropertyDescriptor = require_create_property_descriptor();\n\tvar toIndexedObject = require_to_indexed_object();\n\tvar toPropertyKey = require_to_property_key();\n\tvar hasOwn = require_has_own_property();\n\tvar IE8_DOM_DEFINE = require_ie8_dom_define();\n\tvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\texports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n\t\tO = toIndexedObject(O);\n\t\tP = toPropertyKey(P);\n\t\tif (IE8_DOM_DEFINE) try {\n\t\t\treturn $getOwnPropertyDescriptor(O, P);\n\t\t} catch (error) {}\n\t\tif (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/is-forced.js\nvar require_is_forced = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar fails = require_fails();\n\tvar isCallable = require_is_callable();\n\tvar replacement = /#|\\.prototype\\./;\n\tvar isForced = function(feature, detection) {\n\t\tvar value = data[normalize(feature)];\n\t\treturn value === POLYFILL ? true : value === NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection;\n\t};\n\tvar normalize = isForced.normalize = function(string) {\n\t\treturn String(string).replace(replacement, \".\").toLowerCase();\n\t};\n\tvar data = isForced.data = {};\n\tvar NATIVE = isForced.NATIVE = \"N\";\n\tvar POLYFILL = isForced.POLYFILL = \"P\";\n\tmodule.exports = isForced;\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/function-bind-context.js\nvar require_function_bind_context = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar uncurryThis = require_function_uncurry_this_clause();\n\tvar aCallable = require_a_callable();\n\tvar NATIVE_BIND = require_function_bind_native();\n\tvar bind = uncurryThis(uncurryThis.bind);\n\tmodule.exports = function(fn, that) {\n\t\taCallable(fn);\n\t\treturn that === void 0 ? fn : NATIVE_BIND ? bind(fn, that) : function() {\n\t\t\treturn fn.apply(that, arguments);\n\t\t};\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/v8-prototype-define-bug.js\nvar require_v8_prototype_define_bug = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar DESCRIPTORS = require_descriptors();\n\tvar fails = require_fails();\n\tmodule.exports = DESCRIPTORS && fails(function() {\n\t\treturn Object.defineProperty(function() {}, \"prototype\", {\n\t\t\tvalue: 42,\n\t\t\twritable: false\n\t\t}).prototype !== 42;\n\t});\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/an-object.js\nvar require_an_object = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar isObject = require_is_object();\n\tvar $String = String;\n\tvar $TypeError = TypeError;\n\tmodule.exports = function(argument) {\n\t\tif (isObject(argument)) return argument;\n\t\tthrow new $TypeError($String(argument) + \" is not an object\");\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/object-define-property.js\nvar require_object_define_property = /* @__PURE__ */ __commonJSMin(((exports) => {\n\tvar DESCRIPTORS = require_descriptors();\n\tvar IE8_DOM_DEFINE = require_ie8_dom_define();\n\tvar V8_PROTOTYPE_DEFINE_BUG = require_v8_prototype_define_bug();\n\tvar anObject = require_an_object();\n\tvar toPropertyKey = require_to_property_key();\n\tvar $TypeError = TypeError;\n\tvar $defineProperty = Object.defineProperty;\n\tvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\tvar ENUMERABLE = \"enumerable\";\n\tvar CONFIGURABLE = \"configurable\";\n\tvar WRITABLE = \"writable\";\n\texports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n\t\tanObject(O);\n\t\tP = toPropertyKey(P);\n\t\tanObject(Attributes);\n\t\tif (typeof O === \"function\" && P === \"prototype\" && \"value\" in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n\t\t\tvar current = $getOwnPropertyDescriptor(O, P);\n\t\t\tif (current && current[WRITABLE]) {\n\t\t\t\tO[P] = Attributes.value;\n\t\t\t\tAttributes = {\n\t\t\t\t\tconfigurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n\t\t\t\t\tenumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n\t\t\t\t\twritable: false\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\treturn $defineProperty(O, P, Attributes);\n\t} : $defineProperty : function defineProperty(O, P, Attributes) {\n\t\tanObject(O);\n\t\tP = toPropertyKey(P);\n\t\tanObject(Attributes);\n\t\tif (IE8_DOM_DEFINE) try {\n\t\t\treturn $defineProperty(O, P, Attributes);\n\t\t} catch (error) {}\n\t\tif (\"get\" in Attributes || \"set\" in Attributes) throw new $TypeError(\"Accessors not supported\");\n\t\tif (\"value\" in Attributes) O[P] = Attributes.value;\n\t\treturn O;\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/create-non-enumerable-property.js\nvar require_create_non_enumerable_property = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar DESCRIPTORS = require_descriptors();\n\tvar definePropertyModule = require_object_define_property();\n\tvar createPropertyDescriptor = require_create_property_descriptor();\n\tmodule.exports = DESCRIPTORS ? function(object, key, value) {\n\t\treturn definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n\t} : function(object, key, value) {\n\t\tobject[key] = value;\n\t\treturn object;\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/export.js\nvar require_export = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar globalThis = require_global_this();\n\tvar apply = require_function_apply();\n\tvar uncurryThis = require_function_uncurry_this_clause();\n\tvar isCallable = require_is_callable();\n\tvar getOwnPropertyDescriptor = require_object_get_own_property_descriptor().f;\n\tvar isForced = require_is_forced();\n\tvar path = require_path();\n\tvar bind = require_function_bind_context();\n\tvar createNonEnumerableProperty = require_create_non_enumerable_property();\n\tvar hasOwn = require_has_own_property();\n\trequire_shared_store();\n\tvar wrapConstructor = function(NativeConstructor) {\n\t\tvar Wrapper = function(a, b, c) {\n\t\t\tif (this instanceof Wrapper) {\n\t\t\t\tswitch (arguments.length) {\n\t\t\t\t\tcase 0: return new NativeConstructor();\n\t\t\t\t\tcase 1: return new NativeConstructor(a);\n\t\t\t\t\tcase 2: return new NativeConstructor(a, b);\n\t\t\t\t}\n\t\t\t\treturn new NativeConstructor(a, b, c);\n\t\t\t}\n\t\t\treturn apply(NativeConstructor, this, arguments);\n\t\t};\n\t\tWrapper.prototype = NativeConstructor.prototype;\n\t\treturn Wrapper;\n\t};\n\tmodule.exports = function(options, source) {\n\t\tvar TARGET = options.target;\n\t\tvar GLOBAL = options.global;\n\t\tvar STATIC = options.stat;\n\t\tvar PROTO = options.proto;\n\t\tvar nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\t\tvar target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n\t\tvar targetPrototype = target.prototype;\n\t\tvar FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n\t\tvar key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\t\tfor (key in source) {\n\t\t\tFORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? \".\" : \"#\") + key, options.forced);\n\t\t\tUSE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\t\t\ttargetProperty = target[key];\n\t\t\tif (USE_NATIVE) if (options.dontCallGetSet) {\n\t\t\t\tdescriptor = getOwnPropertyDescriptor(nativeSource, key);\n\t\t\t\tnativeProperty = descriptor && descriptor.value;\n\t\t\t} else nativeProperty = nativeSource[key];\n\t\t\tsourceProperty = USE_NATIVE && nativeProperty ? nativeProperty : source[key];\n\t\t\tif (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\t\t\tif (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n\t\t\telse if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n\t\t\telse if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n\t\t\telse resultProperty = sourceProperty;\n\t\t\tif (options.sham || sourceProperty && sourceProperty.sham || targetProperty && targetProperty.sham) createNonEnumerableProperty(resultProperty, \"sham\", true);\n\t\t\tcreateNonEnumerableProperty(target, key, resultProperty);\n\t\t\tif (PROTO) {\n\t\t\t\tVIRTUAL_PROTOTYPE = TARGET + \"Prototype\";\n\t\t\t\tif (!hasOwn(path, VIRTUAL_PROTOTYPE)) createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n\t\t\t\tcreateNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n\t\t\t\tif (options.real && targetPrototype && (FORCED || !targetPrototype[key])) createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n\t\t\t}\n\t\t}\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/math-trunc.js\nvar require_math_trunc = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar ceil = Math.ceil;\n\tvar floor = Math.floor;\n\tmodule.exports = Math.trunc || function trunc(x) {\n\t\tvar n = +x;\n\t\treturn (n > 0 ? floor : ceil)(n);\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/to-integer-or-infinity.js\nvar require_to_integer_or_infinity = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar trunc = require_math_trunc();\n\tmodule.exports = function(argument) {\n\t\tvar number = +argument;\n\t\treturn number !== number || number === 0 ? 0 : trunc(number);\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/to-absolute-index.js\nvar require_to_absolute_index = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar toIntegerOrInfinity = require_to_integer_or_infinity();\n\tvar max = Math.max;\n\tvar min = Math.min;\n\tmodule.exports = function(index, length) {\n\t\tvar integer = toIntegerOrInfinity(index);\n\t\treturn integer < 0 ? max(integer + length, 0) : min(integer, length);\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/to-length.js\nvar require_to_length = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar toIntegerOrInfinity = require_to_integer_or_infinity();\n\tvar min = Math.min;\n\tmodule.exports = function(argument) {\n\t\tvar len = toIntegerOrInfinity(argument);\n\t\treturn len > 0 ? min(len, 9007199254740991) : 0;\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/length-of-array-like.js\nvar require_length_of_array_like = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar toLength = require_to_length();\n\tmodule.exports = function(obj) {\n\t\treturn toLength(obj.length);\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/array-includes.js\nvar require_array_includes = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar toIndexedObject = require_to_indexed_object();\n\tvar toAbsoluteIndex = require_to_absolute_index();\n\tvar lengthOfArrayLike = require_length_of_array_like();\n\tvar createMethod = function(IS_INCLUDES) {\n\t\treturn function($this, el, fromIndex) {\n\t\t\tvar O = toIndexedObject($this);\n\t\t\tvar length = lengthOfArrayLike(O);\n\t\t\tif (length === 0) return !IS_INCLUDES && -1;\n\t\t\tvar index = toAbsoluteIndex(fromIndex, length);\n\t\t\tvar value;\n\t\t\tif (IS_INCLUDES && el !== el) while (length > index) {\n\t\t\t\tvalue = O[index++];\n\t\t\t\tif (value !== value) return true;\n\t\t\t}\n\t\t\telse for (; length > index; index++) if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n\t\t\treturn !IS_INCLUDES && -1;\n\t\t};\n\t};\n\tmodule.exports = {\n\t\tincludes: createMethod(true),\n\t\tindexOf: createMethod(false)\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/add-to-unscopables.js\nvar require_add_to_unscopables = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tmodule.exports = function() {};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/modules/es.array.includes.js\nvar require_es_array_includes = /* @__PURE__ */ __commonJSMin((() => {\n\tvar $ = require_export();\n\tvar $includes = require_array_includes().includes;\n\tvar fails = require_fails();\n\tvar addToUnscopables = require_add_to_unscopables();\n\tvar BROKEN_ON_SPARSE = fails(function() {\n\t\treturn !Array(1).includes();\n\t});\n\tvar BROKEN_ON_SPARSE_WITH_FROM_INDEX = fails(function() {\n\t\treturn [, 1].includes(void 0, 1);\n\t});\n\t$({\n\t\ttarget: \"Array\",\n\t\tproto: true,\n\t\tforced: BROKEN_ON_SPARSE || BROKEN_ON_SPARSE_WITH_FROM_INDEX\n\t}, { includes: function includes(el) {\n\t\treturn $includes(this, el, arguments.length > 1 ? arguments[1] : void 0);\n\t} });\n\taddToUnscopables(\"includes\");\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/get-built-in-prototype-method.js\nvar require_get_built_in_prototype_method = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar globalThis = require_global_this();\n\tvar path = require_path();\n\tmodule.exports = function(CONSTRUCTOR, METHOD) {\n\t\tvar Namespace = path[CONSTRUCTOR + \"Prototype\"];\n\t\tvar pureMethod = Namespace && Namespace[METHOD];\n\t\tif (pureMethod) return pureMethod;\n\t\tvar NativeConstructor = globalThis[CONSTRUCTOR];\n\t\tvar NativePrototype = NativeConstructor && NativeConstructor.prototype;\n\t\treturn NativePrototype && NativePrototype[METHOD];\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/es/array/virtual/includes.js\nvar require_includes$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\trequire_es_array_includes();\n\tvar getBuiltInPrototypeMethod = require_get_built_in_prototype_method();\n\tmodule.exports = getBuiltInPrototypeMethod(\"Array\", \"includes\");\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/is-regexp.js\nvar require_is_regexp = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar isObject = require_is_object();\n\tvar classof = require_classof_raw();\n\tvar MATCH = require_well_known_symbol()(\"match\");\n\tmodule.exports = function(it) {\n\t\tvar isRegExp;\n\t\treturn isObject(it) && ((isRegExp = it[MATCH]) !== void 0 ? !!isRegExp : classof(it) === \"RegExp\");\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/not-a-regexp.js\nvar require_not_a_regexp = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar isRegExp = require_is_regexp();\n\tvar $TypeError = TypeError;\n\tmodule.exports = function(it) {\n\t\tif (isRegExp(it)) throw new $TypeError(\"The method doesn't accept regular expressions\");\n\t\treturn it;\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/to-string-tag-support.js\nvar require_to_string_tag_support = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar TO_STRING_TAG = require_well_known_symbol()(\"toStringTag\");\n\tvar test = {};\n\ttest[TO_STRING_TAG] = \"z\";\n\tmodule.exports = String(test) === \"[object z]\";\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/classof.js\nvar require_classof = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar TO_STRING_TAG_SUPPORT = require_to_string_tag_support();\n\tvar isCallable = require_is_callable();\n\tvar classofRaw = require_classof_raw();\n\tvar TO_STRING_TAG = require_well_known_symbol()(\"toStringTag\");\n\tvar $Object = Object;\n\tvar CORRECT_ARGUMENTS = classofRaw(function() {\n\t\treturn arguments;\n\t}()) === \"Arguments\";\n\tvar tryGet = function(it, key) {\n\t\ttry {\n\t\t\treturn it[key];\n\t\t} catch (error) {}\n\t};\n\tmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function(it) {\n\t\tvar O, tag, result;\n\t\treturn it === void 0 ? \"Undefined\" : it === null ? \"Null\" : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == \"string\" ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) === \"Object\" && isCallable(O.callee) ? \"Arguments\" : result;\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/to-string.js\nvar require_to_string = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar classof = require_classof();\n\tvar $String = String;\n\tmodule.exports = function(argument) {\n\t\tif (classof(argument) === \"Symbol\") throw new TypeError(\"Cannot convert a Symbol value to a string\");\n\t\treturn $String(argument);\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/internals/correct-is-regexp-logic.js\nvar require_correct_is_regexp_logic = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar MATCH = require_well_known_symbol()(\"match\");\n\tmodule.exports = function(METHOD_NAME) {\n\t\tvar regexp = /./;\n\t\ttry {\n\t\t\t\"/./\"[METHOD_NAME](regexp);\n\t\t} catch (error1) {\n\t\t\ttry {\n\t\t\t\tregexp[MATCH] = false;\n\t\t\t\treturn \"/./\"[METHOD_NAME](regexp);\n\t\t\t} catch (error2) {}\n\t\t}\n\t\treturn false;\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/modules/es.string.includes.js\nvar require_es_string_includes = /* @__PURE__ */ __commonJSMin((() => {\n\tvar $ = require_export();\n\tvar uncurryThis = require_function_uncurry_this();\n\tvar notARegExp = require_not_a_regexp();\n\tvar requireObjectCoercible = require_require_object_coercible();\n\tvar toString = require_to_string();\n\tvar correctIsRegExpLogic = require_correct_is_regexp_logic();\n\tvar stringIndexOf = uncurryThis(\"\".indexOf);\n\t$({\n\t\ttarget: \"String\",\n\t\tproto: true,\n\t\tforced: !correctIsRegExpLogic(\"includes\")\n\t}, { includes: function includes(searchString) {\n\t\treturn !!~stringIndexOf(toString(requireObjectCoercible(this)), toString(notARegExp(searchString)), arguments.length > 1 ? arguments[1] : void 0);\n\t} });\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/es/string/virtual/includes.js\nvar require_includes$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\trequire_es_string_includes();\n\tvar getBuiltInPrototypeMethod = require_get_built_in_prototype_method();\n\tmodule.exports = getBuiltInPrototypeMethod(\"String\", \"includes\");\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/es/instance/includes.js\nvar require_includes$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar isPrototypeOf = require_object_is_prototype_of();\n\tvar arrayMethod = require_includes$3();\n\tvar stringMethod = require_includes$2();\n\tvar ArrayPrototype = Array.prototype;\n\tvar StringPrototype = String.prototype;\n\tmodule.exports = function(it) {\n\t\tvar own = it.includes;\n\t\tif (it === ArrayPrototype || isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.includes) return arrayMethod;\n\t\tif (typeof it == \"string\" || it === StringPrototype || isPrototypeOf(StringPrototype, it) && own === StringPrototype.includes) return stringMethod;\n\t\treturn own;\n\t};\n}));\n\n//#endregion\n//#region node_modules/.pnpm/core-js-pure@3.49.0/node_modules/core-js-pure/stable/instance/includes.js\nvar require_includes = /* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tvar parent = require_includes$1();\n\tmodule.exports = parent;\n}));\n\n//#endregion\n//#region src/utils/utils.js\nvar utils_exports = /* @__PURE__ */ __exportAll({\n\tcapitalize: () => capitalize,\n\tdegrees: () => degrees,\n\tfilter: () => filter,\n\tgetOrigin: () => getOrigin,\n\tisDescriptive: () => isDescriptive,\n\tmap: () => map,\n\tproportionalSize: () => proportionalSize,\n\tradians: () => radians,\n\tunCamelCase: () => unCamelCase,\n\twriteDataToDom: () => writeDataToDom\n});\nvar import_includes = /* @__PURE__ */ __toESM(require_includes(), 1);\nfunction map(array, block) {\n\tlet i;\n\tconst il = array.length;\n\tconst result = [];\n\tfor (i = 0; i < il; i++) result.push(block(array[i]));\n\treturn result;\n}\nfunction filter(array, block) {\n\tlet i;\n\tconst il = array.length;\n\tconst result = [];\n\tfor (i = 0; i < il; i++) if (block(array[i])) result.push(array[i]);\n\treturn result;\n}\nfunction radians(d) {\n\treturn d % 360 * Math.PI / 180;\n}\nfunction degrees(r) {\n\treturn r * 180 / Math.PI % 360;\n}\nfunction unCamelCase(s) {\n\treturn s.replace(/([A-Z])/g, function(m, g) {\n\t\treturn \"-\" + g.toLowerCase();\n\t});\n}\nfunction capitalize(s) {\n\treturn s.charAt(0).toUpperCase() + s.slice(1);\n}\nfunction proportionalSize(element, width, height, box) {\n\tif (width == null || height == null) {\n\t\tbox = box || element.bbox();\n\t\tif (width == null) width = box.width / box.height * height;\n\t\telse if (height == null) height = box.height / box.width * width;\n\t}\n\treturn {\n\t\twidth,\n\t\theight\n\t};\n}\n/**\n* This function adds support for string origins.\n* It searches for an origin in o.origin o.ox and o.originX.\n* This way, origin: {x: 'center', y: 50} can be passed as well as ox: 'center', oy: 50\n**/\nfunction getOrigin(o, element) {\n\tconst origin = o.origin;\n\tlet ox = o.ox != null ? o.ox : o.originX != null ? o.originX : \"center\";\n\tlet oy = o.oy != null ? o.oy : o.originY != null ? o.originY : \"center\";\n\tif (origin != null) [ox, oy] = Array.isArray(origin) ? origin : typeof origin === \"object\" ? [origin.x, origin.y] : [origin, origin];\n\tconst condX = typeof ox === \"string\";\n\tconst condY = typeof oy === \"string\";\n\tif (condX || condY) {\n\t\tconst { height, width, x, y } = element.bbox();\n\t\tif (condX) ox = (0, import_includes.default)(ox).call(ox, \"left\") ? x : (0, import_includes.default)(ox).call(ox, \"right\") ? x + width : x + width / 2;\n\t\tif (condY) oy = (0, import_includes.default)(oy).call(oy, \"top\") ? y : (0, import_includes.default)(oy).call(oy, \"bottom\") ? y + height : y + height / 2;\n\t}\n\treturn [ox, oy];\n}\nconst descriptiveElements = /* @__PURE__ */ new Set([\n\t\"desc\",\n\t\"metadata\",\n\t\"title\"\n]);\nconst isDescriptive = (element) => descriptiveElements.has(element.nodeName);\nconst writeDataToDom = (element, data, defaults = {}) => {\n\tconst cloned = { ...data };\n\tfor (const key in cloned) if (cloned[key].valueOf() === defaults[key]) delete cloned[key];\n\tif (Object.keys(cloned).length) element.node.setAttribute(\"data-svgjs\", JSON.stringify(cloned));\n\telse {\n\t\telement.node.removeAttribute(\"data-svgjs\");\n\t\telement.node.removeAttribute(\"svgjs:data\");\n\t}\n};\n\n//#endregion\n//#region src/modules/core/namespaces.js\nvar namespaces_exports = /* @__PURE__ */ __exportAll({\n\thtml: () => html,\n\tsvg: () => svg,\n\txlink: () => xlink,\n\txmlns: () => xmlns\n});\nconst svg = \"http://www.w3.org/2000/svg\";\nconst html = \"http://www.w3.org/1999/xhtml\";\nconst xmlns = \"http://www.w3.org/2000/xmlns/\";\nconst xlink = \"http://www.w3.org/1999/xlink\";\n\n//#endregion\n//#region src/utils/window.js\nconst globals = {\n\twindow: typeof window === \"undefined\" ? null : window,\n\tdocument: typeof document === \"undefined\" ? null : document\n};\nfunction registerWindow(win = null, doc = null) {\n\tglobals.window = win;\n\tglobals.document = doc;\n}\nfunction withWindow(win, fn) {\n\tconst oldWindow = globals.window;\n\tconst oldDocument = globals.document;\n\tregisterWindow(win, win.document);\n\ttry {\n\t\treturn fn(win, win.document);\n\t} finally {\n\t\tregisterWindow(oldWindow, oldDocument);\n\t}\n}\nfunction getWindow() {\n\treturn globals.window;\n}\n\n//#endregion\n//#region src/types/Base.js\nvar Base = class {};\n\n//#endregion\n//#region src/utils/adopter.js\nconst elements = {};\nconst root = \"___SYMBOL___ROOT___\";\nfunction create(name, ns = svg) {\n\treturn globals.document.createElementNS(ns, name);\n}\nfunction makeInstance(element, isHTML = false) {\n\tif (element instanceof Base) return element;\n\tif (typeof element === \"object\") return adopter(element);\n\tif (element == null) return new elements[root]();\n\tif (typeof element === \"string\" && element.trim().charAt(0) !== \"<\") return adopter(globals.document.querySelector(element));\n\tconst wrapper = isHTML ? globals.document.createElement(\"div\") : create(\"svg\");\n\twrapper.innerHTML = element.trim();\n\telement = adopter(wrapper.firstElementChild);\n\twrapper.removeChild(wrapper.firstElementChild);\n\treturn element;\n}\nfunction nodeOrNew(name, node) {\n\treturn node && (node instanceof globals.window.Node || node.ownerDocument && node instanceof node.ownerDocument.defaultView.Node) ? node : create(name);\n}\nfunction adopt(node) {\n\tif (!node) return null;\n\tif (node.instance instanceof Base) return node.instance;\n\tif (node.nodeName === \"#document-fragment\") return new elements.Fragment(node);\n\tlet className = capitalize(node.nodeName || \"Dom\");\n\tif (className === \"LinearGradient\" || className === \"RadialGradient\") className = \"Gradient\";\n\telse if (!elements[className]) className = \"Dom\";\n\treturn new elements[className](node);\n}\nlet adopter = adopt;\nfunction mockAdopt(mock = adopt) {\n\tadopter = mock;\n}\nfunction register(element, name = element.name, asRoot = false) {\n\telements[name] = element;\n\tif (asRoot) elements[root] = element;\n\taddMethodNames(Object.getOwnPropertyNames(element.prototype));\n\treturn element;\n}\nfunction getClass(name) {\n\treturn elements[name];\n}\nlet did = 1e3;\nfunction eid(name) {\n\treturn \"Svgjs\" + capitalize(name) + did++;\n}\nfunction assignNewId(node) {\n\tfor (let i = node.children.length - 1; i >= 0; i--) assignNewId(node.children[i]);\n\tif (node.id) {\n\t\tnode.id = eid(node.nodeName);\n\t\treturn node;\n\t}\n\treturn node;\n}\nfunction extend(modules, methods) {\n\tlet key, i;\n\tmodules = Array.isArray(modules) ? modules : [modules];\n\tfor (i = modules.length - 1; i >= 0; i--) for (key in methods) modules[i].prototype[key] = methods[key];\n}\nfunction wrapWithAttrCheck(fn) {\n\treturn function(...args) {\n\t\tconst o = args[args.length - 1];\n\t\tif (o && o.constructor === Object && !(o instanceof Array)) return fn.apply(this, args.slice(0, -1)).attr(o);\n\t\telse return fn.apply(this, args);\n\t};\n}\n\n//#endregion\n//#region src/modules/optional/arrange.js\nfunction siblings() {\n\treturn this.parent().children();\n}\nfunction position() {\n\treturn this.parent().index(this);\n}\nfunction next() {\n\treturn this.siblings()[this.position() + 1];\n}\nfunction prev() {\n\treturn this.siblings()[this.position() - 1];\n}\nfunction forward() {\n\tconst i = this.position();\n\tthis.parent().add(this.remove(), i + 1);\n\treturn this;\n}\nfunction backward() {\n\tconst i = this.position();\n\tthis.parent().add(this.remove(), i ? i - 1 : 0);\n\treturn this;\n}\nfunction front() {\n\tthis.parent().add(this.remove());\n\treturn this;\n}\nfunction back() {\n\tthis.parent().add(this.remove(), 0);\n\treturn this;\n}\nfunction before(element) {\n\telement = makeInstance(element);\n\telement.remove();\n\tconst i = this.position();\n\tthis.parent().add(element, i);\n\treturn this;\n}\nfunction after(element) {\n\telement = makeInstance(element);\n\telement.remove();\n\tconst i = this.position();\n\tthis.parent().add(element, i + 1);\n\treturn this;\n}\nfunction insertBefore(element) {\n\telement = makeInstance(element);\n\telement.before(this);\n\treturn this;\n}\nfunction insertAfter(element) {\n\telement = makeInstance(element);\n\telement.after(this);\n\treturn this;\n}\nregisterMethods(\"Dom\", {\n\tsiblings,\n\tposition,\n\tnext,\n\tprev,\n\tforward,\n\tbackward,\n\tfront,\n\tback,\n\tbefore,\n\tafter,\n\tinsertBefore,\n\tinsertAfter\n});\n\n//#endregion\n//#region src/modules/core/regex.js\nvar regex_exports = /* @__PURE__ */ __exportAll({\n\tdelimiter: () => delimiter,\n\thex: () => hex,\n\tisBlank: () => isBlank,\n\tisHex: () => isHex,\n\tisImage: () => isImage,\n\tisNumber: () => isNumber,\n\tisPathLetter: () => isPathLetter,\n\tisRgb: () => isRgb,\n\tnumberAndUnit: () => numberAndUnit,\n\treference: () => reference,\n\trgb: () => rgb,\n\ttransforms: () => transforms,\n\twhitespace: () => whitespace\n});\nconst numberAndUnit = /^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i;\nconst hex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i;\nconst rgb = /rgb\\((\\d+),(\\d+),(\\d+)\\)/;\nconst reference = /^(#[^\\s]+)$/;\nconst transforms = /\\)\\s*,?\\s*/;\nconst whitespace = /\\s/g;\nconst isHex = /^#[a-f0-9]{3}$|^#[a-f0-9]{6}$/i;\nconst isRgb = /^rgb\\(/;\nconst isBlank = /^(\\s+)?$/;\nconst isNumber = /^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i;\nconst isImage = /\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i;\nconst delimiter = /[\\s,]+/;\nconst isPathLetter = /[MLHVCSQTAZ]/i;\n\n//#endregion\n//#region src/modules/optional/class.js\nfunction classes() {\n\tconst attr = this.attr(\"class\");\n\treturn attr == null ? [] : attr.trim().split(delimiter);\n}\nfunction hasClass(name) {\n\treturn this.classes().indexOf(name) !== -1;\n}\nfunction addClass(name) {\n\tif (!this.hasClass(name)) {\n\t\tconst array = this.classes();\n\t\tarray.push(name);\n\t\tthis.attr(\"class\", array.join(\" \"));\n\t}\n\treturn this;\n}\nfunction removeClass(name) {\n\tif (this.hasClass(name)) this.attr(\"class\", this.classes().filter(function(c) {\n\t\treturn c !== name;\n\t}).join(\" \"));\n\treturn this;\n}\nfunction toggleClass(name) {\n\treturn this.hasClass(name) ? this.removeClass(name) : this.addClass(name);\n}\nregisterMethods(\"Dom\", {\n\tclasses,\n\thasClass,\n\taddClass,\n\tremoveClass,\n\ttoggleClass\n});\n\n//#endregion\n//#region src/modules/optional/css.js\nconst cssName = (name) => name.startsWith(\"--\") ? name : unCamelCase(name);\nfunction css(style, val) {\n\tconst ret = {};\n\tif (arguments.length === 0) {\n\t\tconst declaration = this.node.style;\n\t\tfor (let i = 0; i < declaration.length; i++) {\n\t\t\tconst name = declaration.item(i);\n\t\t\tconst value = declaration.getPropertyValue(name);\n\t\t\tconst priority = declaration.getPropertyPriority(name);\n\t\t\tret[name] = priority ? `${value} !${priority}` : value;\n\t\t}\n\t\treturn ret;\n\t}\n\tif (arguments.length < 2) {\n\t\tif (Array.isArray(style)) {\n\t\t\tfor (const name of style) {\n\t\t\t\tconst cased = cssName(name);\n\t\t\t\tret[name] = this.node.style.getPropertyValue(cased);\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t\tif (typeof style === \"string\") return this.node.style.getPropertyValue(cssName(style));\n\t\tif (typeof style === \"object\") for (const name in style) this.node.style.setProperty(cssName(name), style[name] == null || isBlank.test(style[name]) ? \"\" : style[name]);\n\t}\n\tif (arguments.length === 2) this.node.style.setProperty(cssName(style), val == null || isBlank.test(val) ? \"\" : val);\n\treturn this;\n}\nfunction show() {\n\treturn this.css(\"display\", \"\");\n}\nfunction hide() {\n\treturn this.css(\"display\", \"none\");\n}\nfunction visible() {\n\treturn this.css(\"display\") !== \"none\";\n}\nregisterMethods(\"Dom\", {\n\tcss,\n\tshow,\n\thide,\n\tvisible\n});\n\n//#endregion\n//#region src/modules/optional/data.js\nfunction data(a, v, r) {\n\tif (a == null) return this.data(map(filter(this.node.attributes, (el) => el.nodeName.indexOf(\"data-\") === 0), (el) => el.nodeName.slice(5)));\n\telse if (a instanceof Array) {\n\t\tconst data = {};\n\t\tfor (const key of a) data[key] = this.data(key);\n\t\treturn data;\n\t} else if (typeof a === \"object\") for (v in a) this.data(v, a[v]);\n\telse if (arguments.length < 2) try {\n\t\treturn JSON.parse(this.attr(\"data-\" + a));\n\t} catch (e) {\n\t\treturn this.attr(\"data-\" + a);\n\t}\n\telse this.attr(\"data-\" + a, v === null ? null : r === true || typeof v === \"string\" || typeof v === \"number\" ? v : JSON.stringify(v));\n\treturn this;\n}\nregisterMethods(\"Dom\", { data });\n\n//#endregion\n//#region src/modules/optional/memory.js\nfunction remember(k, v) {\n\tif (typeof arguments[0] === \"object\") for (const key in k) this.remember(key, k[key]);\n\telse if (arguments.length === 1) return this.memory()[k];\n\telse this.memory()[k] = v;\n\treturn this;\n}\nfunction forget() {\n\tif (arguments.length === 0) this._memory = {};\n\telse for (let i = arguments.length - 1; i >= 0; i--) delete this.memory()[arguments[i]];\n\treturn this;\n}\nfunction memory() {\n\treturn this._memory = this._memory || {};\n}\nregisterMethods(\"Dom\", {\n\tremember,\n\tforget,\n\tmemory\n});\n\n//#endregion\n//#region src/types/Color.js\nfunction sixDigitHex(hex) {\n\treturn hex.length === 4 ? [\n\t\t\"#\",\n\t\thex.substring(1, 2),\n\t\thex.substring(1, 2),\n\t\thex.substring(2, 3),\n\t\thex.substring(2, 3),\n\t\thex.substring(3, 4),\n\t\thex.substring(3, 4)\n\t].join(\"\") : hex;\n}\nfunction componentHex(component) {\n\tconst hex = Math.max(0, Math.min(255, Math.round(component))).toString(16);\n\treturn hex.length === 1 ? \"0\" + hex : hex;\n}\nfunction is(object, space) {\n\tfor (let i = space.length; i--;) if (object[space[i]] == null) return false;\n\treturn true;\n}\nfunction getParameters(a, b) {\n\tconst params = is(a, \"rgb\") ? {\n\t\t_a: a.r,\n\t\t_b: a.g,\n\t\t_c: a.b,\n\t\t_d: 0,\n\t\tspace: \"rgb\"\n\t} : is(a, \"xyz\") ? {\n\t\t_a: a.x,\n\t\t_b: a.y,\n\t\t_c: a.z,\n\t\t_d: 0,\n\t\tspace: \"xyz\"\n\t} : is(a, \"hsl\") ? {\n\t\t_a: a.h,\n\t\t_b: a.s,\n\t\t_c: a.l,\n\t\t_d: 0,\n\t\tspace: \"hsl\"\n\t} : is(a, \"lab\") ? {\n\t\t_a: a.l,\n\t\t_b: a.a,\n\t\t_c: a.b,\n\t\t_d: 0,\n\t\tspace: \"lab\"\n\t} : is(a, \"lch\") ? {\n\t\t_a: a.l,\n\t\t_b: a.c,\n\t\t_c: a.h,\n\t\t_d: 0,\n\t\tspace: \"lch\"\n\t} : is(a, \"cmyk\") ? {\n\t\t_a: a.c,\n\t\t_b: a.m,\n\t\t_c: a.y,\n\t\t_d: a.k,\n\t\tspace: \"cmyk\"\n\t} : {\n\t\t_a: 0,\n\t\t_b: 0,\n\t\t_c: 0,\n\t\tspace: \"rgb\"\n\t};\n\tparams.space = b || params.space;\n\treturn params;\n}\nfunction cieSpace(space) {\n\tif (space === \"lab\" || space === \"xyz\" || space === \"lch\") return true;\n\telse return false;\n}\nfunction hueToRgb(p, q, t) {\n\tif (t < 0) t += 1;\n\tif (t > 1) t -= 1;\n\tif (t < 1 / 6) return p + (q - p) * 6 * t;\n\tif (t < 1 / 2) return q;\n\tif (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n\treturn p;\n}\nvar Color = class Color {\n\tconstructor(...inputs) {\n\t\tthis.init(...inputs);\n\t}\n\tstatic isColor(color) {\n\t\treturn color && (color instanceof Color || this.isRgb(color) || this.test(color));\n\t}\n\tstatic isRgb(color) {\n\t\treturn color && typeof color.r === \"number\" && typeof color.g === \"number\" && typeof color.b === \"number\";\n\t}\n\tstatic random(mode = \"vibrant\", t) {\n\t\tconst { random, round, sin, PI: pi } = Math;\n\t\tif (mode === \"vibrant\") {\n\t\t\tconst l = 24 * random() + 57;\n\t\t\tconst c = 38 * random() + 45;\n\t\t\tconst h = 360 * random();\n\t\t\treturn new Color(l, c, h, \"lch\");\n\t\t} else if (mode === \"sine\") {\n\t\t\tt = t == null ? random() : t;\n\t\t\tconst r = round(80 * sin(2 * pi * t / .5 + .01) + 150);\n\t\t\tconst g = round(50 * sin(2 * pi * t / .5 + 4.6) + 200);\n\t\t\tconst b = round(100 * sin(2 * pi * t / .5 + 2.3) + 150);\n\t\t\treturn new Color(r, g, b);\n\t\t} else if (mode === \"pastel\") {\n\t\t\tconst l = 8 * random() + 86;\n\t\t\tconst c = 17 * random() + 9;\n\t\t\tconst h = 360 * random();\n\t\t\treturn new Color(l, c, h, \"lch\");\n\t\t} else if (mode === \"dark\") {\n\t\t\tconst l = 10 + 10 * random();\n\t\t\tconst c = 50 * random() + 86;\n\t\t\tconst h = 360 * random();\n\t\t\treturn new Color(l, c, h, \"lch\");\n\t\t} else if (mode === \"rgb\") {\n\t\t\tconst r = 255 * random();\n\t\t\tconst g = 255 * random();\n\t\t\tconst b = 255 * random();\n\t\t\treturn new Color(r, g, b);\n\t\t} else if (mode === \"lab\") {\n\t\t\tconst l = 100 * random();\n\t\t\tconst a = 256 * random() - 128;\n\t\t\tconst b = 256 * random() - 128;\n\t\t\treturn new Color(l, a, b, \"lab\");\n\t\t} else if (mode === \"grey\") {\n\t\t\tconst grey = 255 * random();\n\t\t\treturn new Color(grey, grey, grey);\n\t\t} else throw new Error(\"Unsupported random color mode\");\n\t}\n\tstatic test(color) {\n\t\treturn typeof color === \"string\" && (isHex.test(color) || isRgb.test(color));\n\t}\n\tcmyk() {\n\t\tconst { _a, _b, _c } = this.rgb();\n\t\tconst [r, g, b] = [\n\t\t\t_a,\n\t\t\t_b,\n\t\t\t_c\n\t\t].map((v) => v / 255);\n\t\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\t\tif (k === 1) return new Color(0, 0, 0, 1, \"cmyk\");\n\t\tconst c = (1 - r - k) / (1 - k);\n\t\tconst m = (1 - g - k) / (1 - k);\n\t\tconst y = (1 - b - k) / (1 - k);\n\t\treturn new Color(c, m, y, k, \"cmyk\");\n\t}\n\thsl() {\n\t\tconst { _a, _b, _c } = this.rgb();\n\t\tconst [r, g, b] = [\n\t\t\t_a,\n\t\t\t_b,\n\t\t\t_c\n\t\t].map((v) => v / 255);\n\t\tconst max = Math.max(r, g, b);\n\t\tconst min = Math.min(r, g, b);\n\t\tconst l = (max + min) / 2;\n\t\tconst isGrey = max === min;\n\t\tconst delta = max - min;\n\t\tconst s = isGrey ? 0 : l > .5 ? delta / (2 - max - min) : delta / (max + min);\n\t\tconst h = isGrey ? 0 : max === r ? ((g - b) / delta + (g < b ? 6 : 0)) / 6 : max === g ? ((b - r) / delta + 2) / 6 : max === b ? ((r - g) / delta + 4) / 6 : 0;\n\t\treturn new Color(360 * h, 100 * s, 100 * l, \"hsl\");\n\t}\n\tinit(a = 0, b = 0, c = 0, d = 0, space = \"rgb\") {\n\t\ta = !a ? 0 : a;\n\t\tif (this.space) for (const component in this.space) delete this[this.space[component]];\n\t\tif (typeof a === \"number\") {\n\t\t\tspace = typeof d === \"string\" ? d : space;\n\t\t\td = typeof d === \"string\" ? 0 : d;\n\t\t\tObject.assign(this, {\n\t\t\t\t_a: a,\n\t\t\t\t_b: b,\n\t\t\t\t_c: c,\n\t\t\t\t_d: d,\n\t\t\t\tspace\n\t\t\t});\n\t\t} else if (a instanceof Array) {\n\t\t\tthis.space = b || (typeof a[3] === \"string\" ? a[3] : a[4]) || \"rgb\";\n\t\t\tObject.assign(this, {\n\t\t\t\t_a: a[0],\n\t\t\t\t_b: a[1],\n\t\t\t\t_c: a[2],\n\t\t\t\t_d: a[3] || 0\n\t\t\t});\n\t\t} else if (a instanceof Object) {\n\t\t\tconst values = getParameters(a, b);\n\t\t\tObject.assign(this, values);\n\t\t} else if (typeof a === \"string\") if (isRgb.test(a)) {\n\t\t\tconst noWhitespace = a.replace(whitespace, \"\");\n\t\t\tconst [_a, _b, _c] = rgb.exec(noWhitespace).slice(1, 4).map((v) => parseInt(v));\n\t\t\tObject.assign(this, {\n\t\t\t\t_a,\n\t\t\t\t_b,\n\t\t\t\t_c,\n\t\t\t\t_d: 0,\n\t\t\t\tspace: \"rgb\"\n\t\t\t});\n\t\t} else if (isHex.test(a)) {\n\t\t\tconst hexParse = (v) => parseInt(v, 16);\n\t\t\tconst [, _a, _b, _c] = hex.exec(sixDigitHex(a)).map(hexParse);\n\t\t\tObject.assign(this, {\n\t\t\t\t_a,\n\t\t\t\t_b,\n\t\t\t\t_c,\n\t\t\t\t_d: 0,\n\t\t\t\tspace: \"rgb\"\n\t\t\t});\n\t\t} else throw Error(\"Unsupported string format, can't construct Color\");\n\t\tconst { _a, _b, _c, _d } = this;\n\t\tconst components = this.space === \"rgb\" ? {\n\t\t\tr: _a,\n\t\t\tg: _b,\n\t\t\tb: _c\n\t\t} : this.space === \"xyz\" ? {\n\t\t\tx: _a,\n\t\t\ty: _b,\n\t\t\tz: _c\n\t\t} : this.space === \"hsl\" ? {\n\t\t\th: _a,\n\t\t\ts: _b,\n\t\t\tl: _c\n\t\t} : this.space === \"lab\" ? {\n\t\t\tl: _a,\n\t\t\ta: _b,\n\t\t\tb: _c\n\t\t} : this.space === \"lch\" ? {\n\t\t\tl: _a,\n\t\t\tc: _b,\n\t\t\th: _c\n\t\t} : this.space === \"cmyk\" ? {\n\t\t\tc: _a,\n\t\t\tm: _b,\n\t\t\ty: _c,\n\t\t\tk: _d\n\t\t} : {};\n\t\tObject.assign(this, components);\n\t}\n\tlab() {\n\t\tconst { x, y, z } = this.xyz();\n\t\tconst l = 116 * y - 16;\n\t\tconst a = 500 * (x - y);\n\t\tconst b = 200 * (y - z);\n\t\treturn new Color(l, a, b, \"lab\");\n\t}\n\tlch() {\n\t\tconst { l, a, b } = this.lab();\n\t\tconst c = Math.sqrt(a ** 2 + b ** 2);\n\t\tlet h = 180 * Math.atan2(b, a) / Math.PI;\n\t\tif (h < 0) {\n\t\t\th *= -1;\n\t\t\th = 360 - h;\n\t\t}\n\t\treturn new Color(l, c, h, \"lch\");\n\t}\n\trgb() {\n\t\tif (this.space === \"rgb\") return this;\n\t\telse if (cieSpace(this.space)) {\n\t\t\tlet { x, y, z } = this;\n\t\t\tif (this.space === \"lab\" || this.space === \"lch\") {\n\t\t\t\tlet { l, a, b } = this;\n\t\t\t\tif (this.space === \"lch\") {\n\t\t\t\t\tconst { c, h } = this;\n\t\t\t\t\tconst dToR = Math.PI / 180;\n\t\t\t\t\ta = c * Math.cos(dToR * h);\n\t\t\t\t\tb = c * Math.sin(dToR * h);\n\t\t\t\t}\n\t\t\t\tconst yL = (l + 16) / 116;\n\t\t\t\tconst xL = a / 500 + yL;\n\t\t\t\tconst zL = yL - b / 200;\n\t\t\t\tconst ct = 16 / 116;\n\t\t\t\tconst mx = .008856;\n\t\t\t\tconst nm = 7.787;\n\t\t\t\tx = .95047 * (xL ** 3 > mx ? xL ** 3 : (xL - ct) / nm);\n\t\t\t\ty = 1 * (yL ** 3 > mx ? yL ** 3 : (yL - ct) / nm);\n\t\t\t\tz = 1.08883 * (zL ** 3 > mx ? zL ** 3 : (zL - ct) / nm);\n\t\t\t}\n\t\t\tconst rU = x * 3.2406 + y * -1.5372 + z * -.4986;\n\t\t\tconst gU = x * -.9689 + y * 1.8758 + z * .0415;\n\t\t\tconst bU = x * .0557 + y * -.204 + z * 1.057;\n\t\t\tconst pow = Math.pow;\n\t\t\tconst bd = .0031308;\n\t\t\tconst r = rU > bd ? 1.055 * pow(rU, 1 / 2.4) - .055 : 12.92 * rU;\n\t\t\tconst g = gU > bd ? 1.055 * pow(gU, 1 / 2.4) - .055 : 12.92 * gU;\n\t\t\tconst b = bU > bd ? 1.055 * pow(bU, 1 / 2.4) - .055 : 12.92 * bU;\n\t\t\treturn new Color(255 * r, 255 * g, 255 * b);\n\t\t} else if (this.space === \"hsl\") {\n\t\t\tlet { h, s, l } = this;\n\t\t\th /= 360;\n\t\t\ts /= 100;\n\t\t\tl /= 100;\n\t\t\tif (s === 0) {\n\t\t\t\tl *= 255;\n\t\t\t\treturn new Color(l, l, l);\n\t\t\t}\n\t\t\tconst q = l < .5 ? l * (1 + s) : l + s - l * s;\n\t\t\tconst p = 2 * l - q;\n\t\t\tconst r = 255 * hueToRgb(p, q, h + 1 / 3);\n\t\t\tconst g = 255 * hueToRgb(p, q, h);\n\t\t\tconst b = 255 * hueToRgb(p, q, h - 1 / 3);\n\t\t\treturn new Color(r, g, b);\n\t\t} else if (this.space === \"cmyk\") {\n\t\t\tconst { c, m, y, k } = this;\n\t\t\tconst r = 255 * (1 - Math.min(1, c * (1 - k) + k));\n\t\t\tconst g = 255 * (1 - Math.min(1, m * (1 - k) + k));\n\t\t\tconst b = 255 * (1 - Math.min(1, y * (1 - k) + k));\n\t\t\treturn new Color(r, g, b);\n\t\t} else return this;\n\t}\n\ttoArray() {\n\t\tconst { _a, _b, _c, _d, space } = this;\n\t\treturn [\n\t\t\t_a,\n\t\t\t_b,\n\t\t\t_c,\n\t\t\t_d,\n\t\t\tspace\n\t\t];\n\t}\n\ttoHex() {\n\t\tconst [r, g, b] = this._clamped().map(componentHex);\n\t\treturn `#${r}${g}${b}`;\n\t}\n\ttoRgb() {\n\t\tconst [rV, gV, bV] = this._clamped();\n\t\treturn `rgb(${rV},${gV},${bV})`;\n\t}\n\ttoString() {\n\t\treturn this.toHex();\n\t}\n\txyz() {\n\t\tconst { _a: r255, _b: g255, _c: b255 } = this.rgb();\n\t\tconst [r, g, b] = [\n\t\t\tr255,\n\t\t\tg255,\n\t\t\tb255\n\t\t].map((v) => v / 255);\n\t\tconst rL = r > .04045 ? Math.pow((r + .055) / 1.055, 2.4) : r / 12.92;\n\t\tconst gL = g > .04045 ? Math.pow((g + .055) / 1.055, 2.4) : g / 12.92;\n\t\tconst bL = b > .04045 ? Math.pow((b + .055) / 1.055, 2.4) : b / 12.92;\n\t\tconst xU = (rL * .4124 + gL * .3576 + bL * .1805) / .95047;\n\t\tconst yU = (rL * .2126 + gL * .7152 + bL * .0722) / 1;\n\t\tconst zU = (rL * .0193 + gL * .1192 + bL * .9505) / 1.08883;\n\t\tconst x = xU > .008856 ? Math.pow(xU, 1 / 3) : 7.787 * xU + 16 / 116;\n\t\tconst y = yU > .008856 ? Math.pow(yU, 1 / 3) : 7.787 * yU + 16 / 116;\n\t\tconst z = zU > .008856 ? Math.pow(zU, 1 / 3) : 7.787 * zU + 16 / 116;\n\t\treturn new Color(x, y, z, \"xyz\");\n\t}\n\t_clamped() {\n\t\tconst { _a, _b, _c } = this.rgb();\n\t\tconst { max, min, round } = Math;\n\t\tconst format = (v) => max(0, min(round(v), 255));\n\t\treturn [\n\t\t\t_a,\n\t\t\t_b,\n\t\t\t_c\n\t\t].map(format);\n\t}\n};\n\n//#endregion\n//#region src/types/Point.js\nvar Point = class Point {\n\tconstructor(...args) {\n\t\tthis.init(...args);\n\t}\n\tclone() {\n\t\treturn new Point(this);\n\t}\n\tinit(x, y) {\n\t\tconst base = {\n\t\t\tx: 0,\n\t\t\ty: 0\n\t\t};\n\t\tconst source = Array.isArray(x) ? {\n\t\t\tx: x[0],\n\t\t\ty: x[1]\n\t\t} : typeof x === \"object\" ? {\n\t\t\tx: x.x,\n\t\t\ty: x.y\n\t\t} : {\n\t\t\tx,\n\t\t\ty\n\t\t};\n\t\tthis.x = source.x == null ? base.x : source.x;\n\t\tthis.y = source.y == null ? base.y : source.y;\n\t\treturn this;\n\t}\n\ttoArray() {\n\t\treturn [this.x, this.y];\n\t}\n\ttransform(m) {\n\t\treturn this.clone().transformO(m);\n\t}\n\ttransformO(m) {\n\t\tif (!Matrix.isMatrixLike(m)) m = new Matrix(m);\n\t\tconst { x, y } = this;\n\t\tthis.x = m.a * x + m.c * y + m.e;\n\t\tthis.y = m.b * x + m.d * y + m.f;\n\t\treturn this;\n\t}\n};\nfunction point(x, y) {\n\treturn new Point(x, y).transformO(this.screenCTM().inverseO());\n}\n\n//#endregion\n//#region src/types/Matrix.js\nfunction closeEnough(a, b, threshold) {\n\treturn Math.abs(b - a) < (threshold || 1e-6);\n}\nvar Matrix = class Matrix {\n\tconstructor(...args) {\n\t\tthis.init(...args);\n\t}\n\tstatic formatTransforms(o) {\n\t\tconst flipBoth = o.flip === \"both\" || o.flip === true;\n\t\tconst flipX = o.flip && (flipBoth || o.flip === \"x\") ? -1 : 1;\n\t\tconst flipY = o.flip && (flipBoth || o.flip === \"y\") ? -1 : 1;\n\t\tconst skewX = o.skew && o.skew.length ? o.skew[0] : isFinite(o.skew) ? o.skew : isFinite(o.skewX) ? o.skewX : 0;\n\t\tconst skewY = o.skew && o.skew.length ? o.skew[1] : isFinite(o.skew) ? o.skew : isFinite(o.skewY) ? o.skewY : 0;\n\t\tconst scaleX = o.scale && o.scale.length ? o.scale[0] * flipX : isFinite(o.scale) ? o.scale * flipX : isFinite(o.scaleX) ? o.scaleX * flipX : flipX;\n\t\tconst scaleY = o.scale && o.scale.length ? o.scale[1] * flipY : isFinite(o.scale) ? o.scale * flipY : isFinite(o.scaleY) ? o.scaleY * flipY : flipY;\n\t\tconst shear = o.shear || 0;\n\t\tconst theta = o.rotate || o.theta || 0;\n\t\tconst origin = new Point(o.origin || o.around || o.ox || o.originX, o.oy || o.originY);\n\t\tconst ox = origin.x;\n\t\tconst oy = origin.y;\n\t\tconst position = new Point(o.position ?? o.px ?? o.positionX ?? NaN, o.py ?? o.positionY ?? NaN);\n\t\tconst px = position.x;\n\t\tconst py = position.y;\n\t\tconst translate = new Point(o.translate || o.tx || o.translateX, o.ty || o.translateY);\n\t\tconst tx = translate.x;\n\t\tconst ty = translate.y;\n\t\tconst relative = new Point(o.relative || o.rx || o.relativeX, o.ry || o.relativeY);\n\t\treturn {\n\t\t\tscaleX,\n\t\t\tscaleY,\n\t\t\tskewX,\n\t\t\tskewY,\n\t\t\tshear,\n\t\t\ttheta,\n\t\t\trx: relative.x,\n\t\t\try: relative.y,\n\t\t\ttx,\n\t\t\tty,\n\t\t\tox,\n\t\t\toy,\n\t\t\tpx,\n\t\t\tpy\n\t\t};\n\t}\n\tstatic fromArray(a) {\n\t\treturn {\n\t\t\ta: a[0],\n\t\t\tb: a[1],\n\t\t\tc: a[2],\n\t\t\td: a[3],\n\t\t\te: a[4],\n\t\t\tf: a[5]\n\t\t};\n\t}\n\tstatic isMatrixLike(o) {\n\t\treturn o.a != null || o.b != null || o.c != null || o.d != null || o.e != null || o.f != null;\n\t}\n\tstatic matrixMultiply(l, r, o) {\n\t\tconst a = l.a * r.a + l.c * r.b;\n\t\tconst b = l.b * r.a + l.d * r.b;\n\t\tconst c = l.a * r.c + l.c * r.d;\n\t\tconst d = l.b * r.c + l.d * r.d;\n\t\tconst e = l.e + l.a * r.e + l.c * r.f;\n\t\tconst f = l.f + l.b * r.e + l.d * r.f;\n\t\to.a = a;\n\t\to.b = b;\n\t\to.c = c;\n\t\to.d = d;\n\t\to.e = e;\n\t\to.f = f;\n\t\treturn o;\n\t}\n\taround(cx, cy, matrix) {\n\t\treturn this.clone().aroundO(cx, cy, matrix);\n\t}\n\taroundO(cx, cy, matrix) {\n\t\tconst dx = cx || 0;\n\t\tconst dy = cy || 0;\n\t\treturn this.translateO(-dx, -dy).lmultiplyO(matrix).translateO(dx, dy);\n\t}\n\tclone() {\n\t\treturn new Matrix(this);\n\t}\n\tdecompose(cx = 0, cy = 0) {\n\t\tconst a = this.a;\n\t\tconst b = this.b;\n\t\tconst c = this.c;\n\t\tconst d = this.d;\n\t\tconst e = this.e;\n\t\tconst f = this.f;\n\t\tconst determinant = a * d - b * c;\n\t\tconst ccw = determinant > 0 ? 1 : -1;\n\t\tconst sx = ccw * Math.sqrt(a * a + b * b);\n\t\tconst thetaRad = Math.atan2(ccw * b, ccw * a);\n\t\tconst theta = 180 / Math.PI * thetaRad;\n\t\tconst lam = (a * c + b * d) / determinant;\n\t\treturn {\n\t\t\tscaleX: sx,\n\t\t\tscaleY: c * sx / (lam * a - b) || d * sx / (lam * b + a),\n\t\t\tshear: lam,\n\t\t\trotate: theta,\n\t\t\ttranslateX: e - cx + cx * a + cy * c,\n\t\t\ttranslateY: f - cy + cx * b + cy * d,\n\t\t\toriginX: cx,\n\t\t\toriginY: cy,\n\t\t\ta: this.a,\n\t\t\tb: this.b,\n\t\t\tc: this.c,\n\t\t\td: this.d,\n\t\t\te: this.e,\n\t\t\tf: this.f\n\t\t};\n\t}\n\tequals(other) {\n\t\tif (other === this) return true;\n\t\tconst comp = new Matrix(other);\n\t\treturn closeEnough(this.a, comp.a) && closeEnough(this.b, comp.b) && closeEnough(this.c, comp.c) && closeEnough(this.d, comp.d) && closeEnough(this.e, comp.e) && closeEnough(this.f, comp.f);\n\t}\n\tflip(axis, around) {\n\t\treturn this.clone().flipO(axis, around);\n\t}\n\tflipO(axis, around) {\n\t\treturn axis === \"x\" ? this.scaleO(-1, 1, around, 0) : axis === \"y\" ? this.scaleO(1, -1, 0, around) : this.scaleO(-1, -1, axis, around || axis);\n\t}\n\tinit(source) {\n\t\tconst base = Matrix.fromArray([\n\t\t\t1,\n\t\t\t0,\n\t\t\t0,\n\t\t\t1,\n\t\t\t0,\n\t\t\t0\n\t\t]);\n\t\tsource = source instanceof Element ? source.matrixify() : typeof source === \"string\" ? Matrix.fromArray(source.split(delimiter).map(parseFloat)) : Array.isArray(source) ? Matrix.fromArray(source) : typeof source === \"object\" && Matrix.isMatrixLike(source) ? source : typeof source === \"object\" ? new Matrix().transform(source) : arguments.length === 6 ? Matrix.fromArray([].slice.call(arguments)) : base;\n\t\tthis.a = source.a != null ? source.a : base.a;\n\t\tthis.b = source.b != null ? source.b : base.b;\n\t\tthis.c = source.c != null ? source.c : base.c;\n\t\tthis.d = source.d != null ? source.d : base.d;\n\t\tthis.e = source.e != null ? source.e : base.e;\n\t\tthis.f = source.f != null ? source.f : base.f;\n\t\treturn this;\n\t}\n\tinverse() {\n\t\treturn this.clone().inverseO();\n\t}\n\tinverseO() {\n\t\tconst a = this.a;\n\t\tconst b = this.b;\n\t\tconst c = this.c;\n\t\tconst d = this.d;\n\t\tconst e = this.e;\n\t\tconst f = this.f;\n\t\tconst det = a * d - b * c;\n\t\tif (!det) throw new Error(\"Cannot invert \" + this);\n\t\tconst na = d / det;\n\t\tconst nb = -b / det;\n\t\tconst nc = -c / det;\n\t\tconst nd = a / det;\n\t\tconst ne = -(na * e + nc * f);\n\t\tconst nf = -(nb * e + nd * f);\n\t\tthis.a = na;\n\t\tthis.b = nb;\n\t\tthis.c = nc;\n\t\tthis.d = nd;\n\t\tthis.e = ne;\n\t\tthis.f = nf;\n\t\treturn this;\n\t}\n\tlmultiply(matrix) {\n\t\treturn this.clone().lmultiplyO(matrix);\n\t}\n\tlmultiplyO(matrix) {\n\t\tconst r = this;\n\t\tconst l = matrix instanceof Matrix ? matrix : new Matrix(matrix);\n\t\treturn Matrix.matrixMultiply(l, r, this);\n\t}\n\tmultiply(matrix) {\n\t\treturn this.clone().multiplyO(matrix);\n\t}\n\tmultiplyO(matrix) {\n\t\tconst l = this;\n\t\tconst r = matrix instanceof Matrix ? matrix : new Matrix(matrix);\n\t\treturn Matrix.matrixMultiply(l, r, this);\n\t}\n\trotate(r, cx, cy) {\n\t\treturn this.clone().rotateO(r, cx, cy);\n\t}\n\trotateO(r, cx = 0, cy = 0) {\n\t\tr = radians(r);\n\t\tconst cos = Math.cos(r);\n\t\tconst sin = Math.sin(r);\n\t\tconst { a, b, c, d, e, f } = this;\n\t\tthis.a = a * cos - b * sin;\n\t\tthis.b = b * cos + a * sin;\n\t\tthis.c = c * cos - d * sin;\n\t\tthis.d = d * cos + c * sin;\n\t\tthis.e = e * cos - f * sin + cy * sin - cx * cos + cx;\n\t\tthis.f = f * cos + e * sin - cx * sin - cy * cos + cy;\n\t\treturn this;\n\t}\n\tscale() {\n\t\treturn this.clone().scaleO(...arguments);\n\t}\n\tscaleO(x, y = x, cx = 0, cy = 0) {\n\t\tif (arguments.length === 3) {\n\t\t\tcy = cx;\n\t\t\tcx = y;\n\t\t\ty = x;\n\t\t}\n\t\tconst { a, b, c, d, e, f } = this;\n\t\tthis.a = a * x;\n\t\tthis.b = b * y;\n\t\tthis.c = c * x;\n\t\tthis.d = d * y;\n\t\tthis.e = e * x - cx * x + cx;\n\t\tthis.f = f * y - cy * y + cy;\n\t\treturn this;\n\t}\n\tshear(a, cx, cy) {\n\t\treturn this.clone().shearO(a, cx, cy);\n\t}\n\tshearO(lx, cx = 0, cy = 0) {\n\t\tconst { a, b, c, d, e, f } = this;\n\t\tthis.a = a + b * lx;\n\t\tthis.c = c + d * lx;\n\t\tthis.e = e + f * lx - cy * lx;\n\t\treturn this;\n\t}\n\tskew() {\n\t\treturn this.clone().skewO(...arguments);\n\t}\n\tskewO(x, y = x, cx = 0, cy = 0) {\n\t\tif (arguments.length === 3) {\n\t\t\tcy = cx;\n\t\t\tcx = y;\n\t\t\ty = x;\n\t\t}\n\t\tx = radians(x);\n\t\ty = radians(y);\n\t\tconst lx = Math.tan(x);\n\t\tconst ly = Math.tan(y);\n\t\tconst { a, b, c, d, e, f } = this;\n\t\tthis.a = a + b * lx;\n\t\tthis.b = b + a * ly;\n\t\tthis.c = c + d * lx;\n\t\tthis.d = d + c * ly;\n\t\tthis.e = e + f * lx - cy * lx;\n\t\tthis.f = f + e * ly - cx * ly;\n\t\treturn this;\n\t}\n\tskewX(x, cx, cy) {\n\t\treturn this.skew(x, 0, cx, cy);\n\t}\n\tskewY(y, cx, cy) {\n\t\treturn this.skew(0, y, cx, cy);\n\t}\n\ttoArray() {\n\t\treturn [\n\t\t\tthis.a,\n\t\t\tthis.b,\n\t\t\tthis.c,\n\t\t\tthis.d,\n\t\t\tthis.e,\n\t\t\tthis.f\n\t\t];\n\t}\n\ttoString() {\n\t\treturn \"matrix(\" + this.a + \",\" + this.b + \",\" + this.c + \",\" + this.d + \",\" + this.e + \",\" + this.f + \")\";\n\t}\n\ttransform(o) {\n\t\tif (Matrix.isMatrixLike(o)) return new Matrix(o).multiplyO(this);\n\t\tconst t = Matrix.formatTransforms(o);\n\t\tconst current = this;\n\t\tconst { x: ox, y: oy } = new Point(t.ox, t.oy).transform(current);\n\t\tconst transformer = new Matrix().translateO(t.rx, t.ry).lmultiplyO(current).translateO(-ox, -oy).scaleO(t.scaleX, t.scaleY).skewO(t.skewX, t.skewY).shearO(t.shear).rotateO(t.theta).translateO(ox, oy);\n\t\tif (isFinite(t.px) || isFinite(t.py)) {\n\t\t\tconst origin = new Point(ox, oy).transform(transformer);\n\t\t\tconst dx = isFinite(t.px) ? t.px - origin.x : 0;\n\t\t\tconst dy = isFinite(t.py) ? t.py - origin.y : 0;\n\t\t\ttransformer.translateO(dx, dy);\n\t\t}\n\t\ttransformer.translateO(t.tx, t.ty);\n\t\treturn transformer;\n\t}\n\ttranslate(x, y) {\n\t\treturn this.clone().translateO(x, y);\n\t}\n\ttranslateO(x, y) {\n\t\tthis.e += x || 0;\n\t\tthis.f += y || 0;\n\t\treturn this;\n\t}\n\tvalueOf() {\n\t\treturn {\n\t\t\ta: this.a,\n\t\t\tb: this.b,\n\t\t\tc: this.c,\n\t\t\td: this.d,\n\t\t\te: this.e,\n\t\t\tf: this.f\n\t\t};\n\t}\n};\nfunction ctm() {\n\treturn new Matrix(this.node.getCTM());\n}\nfunction screenCTM() {\n\ttry {\n\t\tif (typeof this.isRoot === \"function\" && !this.isRoot()) {\n\t\t\tconst rect = this.rect(1, 1);\n\t\t\tconst m = rect.node.getScreenCTM();\n\t\t\trect.remove();\n\t\t\treturn new Matrix(m);\n\t\t}\n\t\treturn new Matrix(this.node.getScreenCTM());\n\t} catch (e) {\n\t\tconsole.warn(`Cannot get CTM from SVG node ${this.node.nodeName}. Is the element rendered?`);\n\t\treturn new Matrix();\n\t}\n}\nregister(Matrix, \"Matrix\");\n\n//#endregion\n//#region src/modules/core/parser.js\nfunction parser() {\n\tif (!parser.nodes || parser.nodes.svg.node.ownerDocument !== globals.document) {\n\t\tconst svg = makeInstance().size(2, 0);\n\t\tsvg.node.style.cssText = [\n\t\t\t\"opacity: 0\",\n\t\t\t\"position: absolute\",\n\t\t\t\"left: -100%\",\n\t\t\t\"top: -100%\",\n\t\t\t\"overflow: hidden\"\n\t\t].join(\";\");\n\t\tsvg.attr(\"focusable\", \"false\");\n\t\tsvg.attr(\"aria-hidden\", \"true\");\n\t\tparser.nodes = {\n\t\t\tsvg,\n\t\t\tpath: svg.path().node\n\t\t};\n\t}\n\tif (!parser.nodes.svg.node.parentNode) parser.nodes.svg.addTo(globals.document.body || globals.document.documentElement);\n\treturn parser.nodes;\n}\n\n//#endregion\n//#region src/types/Box.js\nfunction isNulledBox(box) {\n\treturn !box.width && !box.height && !box.x && !box.y;\n}\nfunction domContains(node) {\n\treturn node === globals.document || (globals.document.documentElement.contains || function(node) {\n\t\twhile (node.parentNode) node = node.parentNode;\n\t\treturn node === globals.document;\n\t}).call(globals.document.documentElement, node);\n}\nvar Box = class Box {\n\tconstructor(...args) {\n\t\tthis.init(...args);\n\t}\n\taddOffset() {\n\t\tthis.x += globals.window.pageXOffset;\n\t\tthis.y += globals.window.pageYOffset;\n\t\treturn new Box(this);\n\t}\n\tinit(source) {\n\t\tsource = typeof source === \"string\" ? source.split(delimiter).map(parseFloat) : Array.isArray(source) ? source : typeof source === \"object\" ? [\n\t\t\tsource.left != null ? source.left : source.x,\n\t\t\tsource.top != null ? source.top : source.y,\n\t\t\tsource.width,\n\t\t\tsource.height\n\t\t] : arguments.length === 4 ? [].slice.call(arguments) : [\n\t\t\t0,\n\t\t\t0,\n\t\t\t0,\n\t\t\t0\n\t\t];\n\t\tthis.x = source[0] || 0;\n\t\tthis.y = source[1] || 0;\n\t\tthis.width = this.w = source[2] || 0;\n\t\tthis.height = this.h = source[3] || 0;\n\t\tthis.x2 = this.x + this.w;\n\t\tthis.y2 = this.y + this.h;\n\t\tthis.cx = this.x + this.w / 2;\n\t\tthis.cy = this.y + this.h / 2;\n\t\treturn this;\n\t}\n\tisNulled() {\n\t\treturn isNulledBox(this);\n\t}\n\tmerge(box) {\n\t\tconst x = Math.min(this.x, box.x);\n\t\tconst y = Math.min(this.y, box.y);\n\t\tconst width = Math.max(this.x + this.width, box.x + box.width) - x;\n\t\tconst height = Math.max(this.y + this.height, box.y + box.height) - y;\n\t\treturn new Box(x, y, width, height);\n\t}\n\ttoArray() {\n\t\treturn [\n\t\t\tthis.x,\n\t\t\tthis.y,\n\t\t\tthis.width,\n\t\t\tthis.height\n\t\t];\n\t}\n\ttoString() {\n\t\treturn this.x + \" \" + this.y + \" \" + this.width + \" \" + this.height;\n\t}\n\ttransform(m) {\n\t\tif (!(m instanceof Matrix)) m = new Matrix(m);\n\t\tlet xMin = Infinity;\n\t\tlet xMax = -Infinity;\n\t\tlet yMin = Infinity;\n\t\tlet yMax = -Infinity;\n\t\t[\n\t\t\tnew Point(this.x, this.y),\n\t\t\tnew Point(this.x2, this.y),\n\t\t\tnew Point(this.x, this.y2),\n\t\t\tnew Point(this.x2, this.y2)\n\t\t].forEach(function(p) {\n\t\t\tp = p.transform(m);\n\t\t\txMin = Math.min(xMin, p.x);\n\t\t\txMax = Math.max(xMax, p.x);\n\t\t\tyMin = Math.min(yMin, p.y);\n\t\t\tyMax = Math.max(yMax, p.y);\n\t\t});\n\t\treturn new Box(xMin, yMin, xMax - xMin, yMax - yMin);\n\t}\n};\nfunction getBox(el, getBBoxFn, retry) {\n\tlet box;\n\ttry {\n\t\tbox = getBBoxFn(el.node);\n\t\tif (isNulledBox(box) && !domContains(el.node)) throw new Error(\"Element not in the dom\");\n\t} catch (e) {\n\t\tbox = retry(el);\n\t}\n\treturn box;\n}\nfunction bbox() {\n\tconst getBBox = (node) => node.getBBox();\n\tconst retry = (el) => {\n\t\ttry {\n\t\t\tconst clone = el.clone().addTo(parser().svg).show();\n\t\t\tconst box = clone.node.getBBox();\n\t\t\tclone.remove();\n\t\t\treturn box;\n\t\t} catch (e) {\n\t\t\tthrow new Error(`Getting bbox of element \"${el.node.nodeName}\" is not possible: ${e.toString()}`);\n\t\t}\n\t};\n\tconst box = getBox(this, getBBox, retry);\n\treturn new Box(box);\n}\nfunction rbox(el) {\n\tconst getRBox = (node) => node.getBoundingClientRect();\n\tconst retry = (el) => {\n\t\tthrow new Error(`Getting rbox of element \"${el.node.nodeName}\" is not possible`);\n\t};\n\tconst box = getBox(this, getRBox, retry);\n\tconst rbox = new Box(box);\n\tif (el) return rbox.transform(el.screenCTM().inverseO());\n\treturn rbox.addOffset();\n}\nfunction inside(x, y) {\n\tconst box = this.bbox();\n\treturn x > box.x && y > box.y && x < box.x + box.width && y < box.y + box.height;\n}\nregisterMethods({ viewbox: {\n\tviewbox(x, y, width, height) {\n\t\tif (x == null) return new Box(this.attr(\"viewBox\"));\n\t\treturn this.attr(\"viewBox\", new Box(x, y, width, height));\n\t},\n\tzoom(level, point) {\n\t\tlet { width, height } = this.attr([\"width\", \"height\"]);\n\t\tif (!width && !height || typeof width === \"string\" || typeof height === \"string\") {\n\t\t\twidth = this.node.clientWidth;\n\t\t\theight = this.node.clientHeight;\n\t\t}\n\t\tif (!width || !height) throw new Error(\"Impossible to get absolute width and height. Please provide an absolute width and height attribute on the zooming element\");\n\t\tconst v = this.viewbox();\n\t\tconst zoomX = width / v.width;\n\t\tconst zoomY = height / v.height;\n\t\tconst zoom = Math.min(zoomX, zoomY);\n\t\tif (level == null) return zoom;\n\t\tlet zoomAmount = zoom / level;\n\t\tif (zoomAmount === Infinity) zoomAmount = Number.MAX_SAFE_INTEGER / 100;\n\t\tpoint = point || new Point(width / 2 / zoomX + v.x, height / 2 / zoomY + v.y);\n\t\tconst box = new Box(v).transform(new Matrix({\n\t\t\tscale: zoomAmount,\n\t\t\torigin: point\n\t\t}));\n\t\treturn this.viewbox(box);\n\t}\n} });\nregister(Box, \"Box\");\n\n//#endregion\n//#region src/types/List.js\nvar List = class extends Array {\n\tconstructor(arr = [], ...args) {\n\t\tsuper(arr, ...args);\n\t\tif (typeof arr === \"number\") return this;\n\t\tthis.length = 0;\n\t\tthis.push(...arr);\n\t}\n};\nextend([List], {\n\teach(fnOrMethodName, ...args) {\n\t\tif (typeof fnOrMethodName === \"function\") return this.map((el, i, arr) => {\n\t\t\treturn fnOrMethodName.call(el, el, i, arr);\n\t\t});\n\t\telse return this.map((el) => {\n\t\t\treturn el[fnOrMethodName](...args);\n\t\t});\n\t},\n\ttoArray() {\n\t\treturn Array.prototype.concat.apply([], this);\n\t}\n});\nconst reserved = [\n\t\"toArray\",\n\t\"constructor\",\n\t\"each\"\n];\nList.extend = function(methods) {\n\tmethods = methods.reduce((obj, name) => {\n\t\tif ((0, import_includes.default)(reserved).call(reserved, name)) return obj;\n\t\tif (name[0] === \"_\") return obj;\n\t\tif (name in Array.prototype) obj[\"$\" + name] = Array.prototype[name];\n\t\tobj[name] = function(...attrs) {\n\t\t\treturn this.each(name, ...attrs);\n\t\t};\n\t\treturn obj;\n\t}, {});\n\textend([List], methods);\n};\n\n//#endregion\n//#region src/modules/core/references.js\nfunction getReferenceId(value) {\n\tlet referenceValue = (value + \"\").trim();\n\tconst url = referenceValue.match(/^url\\((.*)\\)$/i);\n\tif (url) {\n\t\treferenceValue = url[1].trim();\n\t\tconst quote = referenceValue[0];\n\t\tif (quote === \"\\\"\" || quote === \"'\") {\n\t\t\tif (referenceValue[referenceValue.length - 1] !== quote) return null;\n\t\t\treferenceValue = referenceValue.slice(1, -1);\n\t\t}\n\t}\n\tconst match = referenceValue.match(reference);\n\treturn match ? match[1].slice(1) : null;\n}\nfunction findById(rootNode, id) {\n\tconst selector = `#${globals.window.CSS.escape(id)}`;\n\tif (rootNode.nodeType === 1 && rootNode.matches(selector)) return rootNode;\n\treturn rootNode.querySelector(selector);\n}\nfunction resolveReference(node, value) {\n\tconst id = getReferenceId(value);\n\treturn id ? findById(node.getRootNode(), id) : null;\n}\nfunction findReferences(node, attribute, selector = `[${attribute}]`) {\n\tconst id = node.getAttribute(\"id\");\n\tconst rootNode = node.getRootNode();\n\tif (!id || findById(rootNode, id) !== node) return new List();\n\tconst references = [];\n\tif (rootNode.nodeType === 1 && rootNode.matches(selector) && getReferenceId(rootNode.getAttribute(attribute)) === id) references.push(adopt(rootNode));\n\tfor (const element of rootNode.querySelectorAll(selector)) if (getReferenceId(element.getAttribute(attribute)) === id) references.push(adopt(element));\n\treturn new List(references);\n}\n\n//#endregion\n//#region src/modules/core/selector.js\nfunction baseFind(query, parent) {\n\treturn new List(map((parent || globals.document).querySelectorAll(query), function(node) {\n\t\treturn adopt(node);\n\t}));\n}\nfunction find(query) {\n\treturn baseFind(query, this.node);\n}\nfunction findOne(query) {\n\treturn adopt(this.node.querySelector(query));\n}\n\n//#endregion\n//#region src/modules/core/event.js\nlet listenerId = 0;\nconst eventStore = /* @__PURE__ */ new WeakMap();\nconst listenerIds = /* @__PURE__ */ new WeakMap();\nconst createEventMap = () => Object.create(null);\nfunction getEvents(instance) {\n\tconst holder = instance.getEventHolder();\n\tlet bag = eventStore.get(holder);\n\tif (!bag) {\n\t\tbag = createEventMap();\n\t\teventStore.set(holder, bag);\n\t}\n\treturn bag;\n}\nfunction getEventTarget(instance) {\n\treturn instance.getEventTarget();\n}\nfunction clearEvents(instance) {\n\teventStore.delete(instance.getEventHolder());\n}\nfunction on(node, events, listener, binding, options) {\n\tconst l = listener.bind(binding || node);\n\tconst listenerOptions = options || false;\n\tconst instance = makeInstance(node);\n\tconst bag = getEvents(instance);\n\tconst n = getEventTarget(instance);\n\tevents = Array.isArray(events) ? events : events.split(delimiter);\n\tlet id = listenerIds.get(listener);\n\tif (!id) {\n\t\tid = ++listenerId;\n\t\tlistenerIds.set(listener, id);\n\t}\n\tevents.forEach(function(event) {\n\t\tconst ev = event.split(\".\")[0];\n\t\tconst ns = event.split(\".\")[1] || \"*\";\n\t\tbag[ev] = bag[ev] || createEventMap();\n\t\tbag[ev][ns] = bag[ev][ns] || createEventMap();\n\t\tbag[ev][ns][id] = bag[ev][ns][id] || [];\n\t\tbag[ev][ns][id].push({\n\t\t\tlistener: l,\n\t\t\toptions: listenerOptions\n\t\t});\n\t\tn.addEventListener(ev, l, listenerOptions);\n\t});\n}\nfunction off(node, events, listener, options) {\n\tconst instance = makeInstance(node);\n\tconst bag = getEvents(instance);\n\tconst n = getEventTarget(instance);\n\tif (typeof listener === \"function\") {\n\t\tlistener = listenerIds.get(listener);\n\t\tif (!listener) return;\n\t}\n\tevents = Array.isArray(events) ? events : (events || \"\").split(delimiter);\n\tevents.forEach(function(event) {\n\t\tconst ev = event && event.split(\".\")[0];\n\t\tconst ns = event && event.split(\".\")[1];\n\t\tlet namespace, l;\n\t\tif (listener) {\n\t\t\tif (bag[ev] && bag[ev][ns || \"*\"]) {\n\t\t\t\tconst listeners = bag[ev][ns || \"*\"][listener];\n\t\t\t\tif (!listeners) return;\n\t\t\t\tlisteners.forEach(function(registration) {\n\t\t\t\t\tn.removeEventListener(ev, registration.listener, registration.options ?? options ?? false);\n\t\t\t\t});\n\t\t\t\tdelete bag[ev][ns || \"*\"][listener];\n\t\t\t}\n\t\t} else if (ev && ns) {\n\t\t\tif (bag[ev] && bag[ev][ns]) {\n\t\t\t\tfor (l in bag[ev][ns]) off(n, [ev, ns].join(\".\"), l);\n\t\t\t\tdelete bag[ev][ns];\n\t\t\t}\n\t\t} else if (ns) {\n\t\t\tfor (event in bag) for (namespace in bag[event]) if (ns === namespace) off(n, [event, ns].join(\".\"));\n\t\t} else if (ev) {\n\t\t\tif (bag[ev]) {\n\t\t\t\tfor (namespace in bag[ev]) off(n, [ev, namespace].join(\".\"));\n\t\t\t\tdelete bag[ev];\n\t\t\t}\n\t\t} else {\n\t\t\tfor (event in bag) off(n, event);\n\t\t\tclearEvents(instance);\n\t\t}\n\t});\n}\nfunction dispatch(node, event, data, options) {\n\tconst n = getEventTarget(node);\n\tif (event instanceof globals.window.Event) n.dispatchEvent(event);\n\telse {\n\t\tevent = new globals.window.CustomEvent(event, {\n\t\t\tdetail: data,\n\t\t\tcancelable: true,\n\t\t\t...options\n\t\t});\n\t\tn.dispatchEvent(event);\n\t}\n\treturn event;\n}\n\n//#endregion\n//#region src/types/EventTarget.js\nvar EventTarget = class extends Base {\n\taddEventListener() {}\n\tdispatch(event, data, options) {\n\t\treturn dispatch(this, event, data, options);\n\t}\n\tdispatchEvent(event) {\n\t\tconst events = getEvents(this)[event.type];\n\t\tif (!events) return true;\n\t\tfor (const i in events) for (const j in events[i]) events[i][j].forEach(function(registration) {\n\t\t\tregistration.listener(event);\n\t\t});\n\t\treturn !event.defaultPrevented;\n\t}\n\tfire(event, data, options) {\n\t\tthis.dispatch(event, data, options);\n\t\treturn this;\n\t}\n\tgetEventHolder() {\n\t\treturn this;\n\t}\n\tgetEventTarget() {\n\t\treturn this;\n\t}\n\toff(event, listener, options) {\n\t\toff(this, event, listener, options);\n\t\treturn this;\n\t}\n\ton(event, listener, binding, options) {\n\t\ton(this, event, listener, binding, options);\n\t\treturn this;\n\t}\n\tremoveEventListener() {}\n};\nregister(EventTarget, \"EventTarget\");\n\n//#endregion\n//#region src/modules/core/defaults.js\nvar defaults_exports = /* @__PURE__ */ __exportAll({\n\tattrs: () => attrs,\n\tnoop: () => noop,\n\ttimeline: () => timeline\n});\nfunction noop() {}\nconst timeline = {\n\tduration: 400,\n\tease: \">\",\n\tdelay: 0\n};\nconst attrs = {\n\t\"fill-opacity\": 1,\n\t\"stroke-opacity\": 1,\n\t\"stroke-width\": 0,\n\t\"stroke-linejoin\": \"miter\",\n\t\"stroke-linecap\": \"butt\",\n\tfill: \"#000000\",\n\tstroke: \"#000000\",\n\topacity: 1,\n\tx: 0,\n\ty: 0,\n\tcx: 0,\n\tcy: 0,\n\twidth: 0,\n\theight: 0,\n\tr: 0,\n\trx: 0,\n\try: 0,\n\toffset: 0,\n\t\"stop-opacity\": 1,\n\t\"stop-color\": \"#000000\",\n\t\"text-anchor\": \"start\"\n};\n\n//#endregion\n//#region src/types/SVGArray.js\nvar SVGArray = class extends Array {\n\tconstructor(...args) {\n\t\tsuper(...args);\n\t\tthis.init(...args);\n\t}\n\tclone() {\n\t\treturn new this.constructor(this);\n\t}\n\tinit(arr) {\n\t\tif (typeof arr === \"number\") return this;\n\t\tthis.length = 0;\n\t\tthis.push(...this.parse(arr));\n\t\treturn this;\n\t}\n\tparse(array = []) {\n\t\tif (array instanceof Array) return array;\n\t\treturn array.trim().split(delimiter).map(parseFloat);\n\t}\n\ttoArray() {\n\t\treturn Array.prototype.concat.apply([], this);\n\t}\n\ttoSet() {\n\t\treturn new Set(this);\n\t}\n\ttoString() {\n\t\treturn this.join(\" \");\n\t}\n\tvalueOf() {\n\t\tconst ret = [];\n\t\tret.push(...this);\n\t\treturn ret;\n\t}\n};\n\n//#endregion\n//#region src/types/SVGNumber.js\nvar SVGNumber = class SVGNumber {\n\tconstructor(...args) {\n\t\tthis.init(...args);\n\t}\n\tconvert(unit) {\n\t\treturn new SVGNumber(this.value, unit);\n\t}\n\tdivide(number) {\n\t\tnumber = new SVGNumber(number);\n\t\treturn new SVGNumber(this / number, this.unit || number.unit);\n\t}\n\tinit(value, unit) {\n\t\tunit = Array.isArray(value) ? value[1] : unit;\n\t\tvalue = Array.isArray(value) ? value[0] : value;\n\t\tthis.value = 0;\n\t\tthis.unit = unit || \"\";\n\t\tif (typeof value === \"number\") this.value = isNaN(value) ? 0 : !isFinite(value) ? value < 0 ? -34e37 : 34e37 : value;\n\t\telse if (typeof value === \"string\") {\n\t\t\tunit = value.match(numberAndUnit);\n\t\t\tif (unit) {\n\t\t\t\tthis.value = parseFloat(unit[1]);\n\t\t\t\tif (unit[5] === \"%\") this.value /= 100;\n\t\t\t\telse if (unit[5] === \"s\") this.value *= 1e3;\n\t\t\t\tthis.unit = unit[5];\n\t\t\t}\n\t\t} else if (value instanceof SVGNumber) {\n\t\t\tthis.value = value.valueOf();\n\t\t\tthis.unit = value.unit;\n\t\t}\n\t\treturn this;\n\t}\n\tminus(number) {\n\t\tnumber = new SVGNumber(number);\n\t\treturn new SVGNumber(this - number, this.unit || number.unit);\n\t}\n\tplus(number) {\n\t\tnumber = new SVGNumber(number);\n\t\treturn new SVGNumber(this + number, this.unit || number.unit);\n\t}\n\ttimes(number) {\n\t\tnumber = new SVGNumber(number);\n\t\treturn new SVGNumber(this * number, this.unit || number.unit);\n\t}\n\ttoArray() {\n\t\treturn [this.value, this.unit];\n\t}\n\ttoJSON() {\n\t\treturn this.toString();\n\t}\n\ttoString() {\n\t\treturn (this.unit === \"%\" ? ~~(this.value * 1e8) / 1e6 : this.unit === \"s\" ? this.value / 1e3 : this.value) + this.unit;\n\t}\n\tvalueOf() {\n\t\treturn this.value;\n\t}\n};\n\n//#endregion\n//#region src/modules/core/attr.js\nconst colorAttributes = /* @__PURE__ */ new Set([\n\t\"fill\",\n\t\"stroke\",\n\t\"color\",\n\t\"bgcolor\",\n\t\"stop-color\",\n\t\"flood-color\",\n\t\"lighting-color\"\n]);\nconst hooks = [];\nfunction registerAttrHook(fn) {\n\thooks.push(fn);\n}\nfunction attr(attr, val, ns) {\n\tif (attr == null) {\n\t\tattr = {};\n\t\tval = this.node.attributes;\n\t\tfor (const node of val) attr[node.nodeName] = isNumber.test(node.nodeValue) ? parseFloat(node.nodeValue) : node.nodeValue;\n\t\treturn attr;\n\t} else if (attr instanceof Array) return attr.reduce((last, curr) => {\n\t\tlast[curr] = this.attr(curr);\n\t\treturn last;\n\t}, {});\n\telse if (typeof attr === \"object\" && attr.constructor === Object) for (val in attr) this.attr(val, attr[val]);\n\telse if (val === null) this.node.removeAttribute(attr);\n\telse if (val == null) {\n\t\tval = this.node.getAttribute(attr);\n\t\treturn val == null ? attrs[attr] : isNumber.test(val) ? parseFloat(val) : val;\n\t} else {\n\t\tval = hooks.reduce((_val, hook) => {\n\t\t\treturn hook(attr, _val, this);\n\t\t}, val);\n\t\tif (typeof val === \"number\") val = new SVGNumber(val);\n\t\telse if (colorAttributes.has(attr) && Color.isColor(val)) val = new Color(val);\n\t\telse if (val.constructor === Array) val = new SVGArray(val);\n\t\tif (attr === \"leading\") {\n\t\t\tif (this.leading) this.leading(val);\n\t\t} else typeof ns === \"string\" ? this.node.setAttributeNS(ns, attr, val.toString()) : this.node.setAttribute(attr, val.toString());\n\t\tif (this.rebuild && (attr === \"font-size\" || attr === \"x\")) this.rebuild();\n\t}\n\treturn this;\n}\n\n//#endregion\n//#region src/elements/Dom.js\nvar Dom = class Dom extends EventTarget {\n\tconstructor(node, attrs) {\n\t\tsuper();\n\t\tthis.node = node;\n\t\tthis.type = node.nodeName;\n\t\tif (attrs && node !== attrs) this.attr(attrs);\n\t}\n\tadd(element, i) {\n\t\telement = makeInstance(element);\n\t\tif (element.removeNamespace && this.node instanceof globals.window.SVGElement) element.removeNamespace();\n\t\tif (i == null) this.node.appendChild(element.node);\n\t\telse if (element.node !== this.node.childNodes[i]) this.node.insertBefore(element.node, this.node.childNodes[i]);\n\t\treturn this;\n\t}\n\taddTo(parent, i) {\n\t\treturn makeInstance(parent).put(this, i);\n\t}\n\tchildren() {\n\t\treturn new List(map(this.node.children, function(node) {\n\t\t\treturn adopt(node);\n\t\t}));\n\t}\n\tclear() {\n\t\twhile (this.node.hasChildNodes()) this.node.removeChild(this.node.lastChild);\n\t\treturn this;\n\t}\n\tclone(deep = true, assignNewIds = true) {\n\t\tthis.writeDataToDom();\n\t\tlet nodeClone = this.node.cloneNode(deep);\n\t\tif (assignNewIds) nodeClone = assignNewId(nodeClone);\n\t\treturn new this.constructor(nodeClone);\n\t}\n\teach(block, deep) {\n\t\tconst children = this.children();\n\t\tlet i, il;\n\t\tfor (i = 0, il = children.length; i < il; i++) {\n\t\t\tblock.apply(children[i], [i, children]);\n\t\t\tif (deep) children[i].each(block, deep);\n\t\t}\n\t\treturn this;\n\t}\n\telement(nodeName, attrs) {\n\t\treturn this.put(new Dom(create(nodeName), attrs));\n\t}\n\tfirst() {\n\t\treturn adopt(this.node.firstChild);\n\t}\n\tget(i) {\n\t\treturn adopt(this.node.childNodes[i]);\n\t}\n\tgetEventHolder() {\n\t\treturn this.node;\n\t}\n\tgetEventTarget() {\n\t\treturn this.node;\n\t}\n\thas(element) {\n\t\treturn this.index(element) >= 0;\n\t}\n\thtml(htmlOrFn, outerHTML) {\n\t\treturn this.xml(htmlOrFn, outerHTML, html);\n\t}\n\tid(id) {\n\t\tif (typeof id === \"undefined\" && !this.node.id) this.node.id = eid(this.type);\n\t\treturn this.attr(\"id\", id);\n\t}\n\tindex(element) {\n\t\treturn [].slice.call(this.node.childNodes).indexOf(element.node);\n\t}\n\tlast() {\n\t\treturn adopt(this.node.lastChild);\n\t}\n\tmatches(selector) {\n\t\tconst el = this.node;\n\t\tconst matcher = el.matches || el.matchesSelector || el.msMatchesSelector || el.mozMatchesSelector || el.webkitMatchesSelector || el.oMatchesSelector || null;\n\t\treturn matcher && matcher.call(el, selector);\n\t}\n\tparent(type) {\n\t\tlet parent = this;\n\t\tif (!parent.node.parentNode) return null;\n\t\tparent = adopt(parent.node.parentNode);\n\t\tif (!type) return parent;\n\t\tdo\n\t\t\tif (typeof type === \"string\" ? parent.matches(type) : parent instanceof type) return parent;\n\t\twhile (parent = adopt(parent.node.parentNode));\n\t\treturn parent;\n\t}\n\tput(element, i) {\n\t\telement = makeInstance(element);\n\t\tthis.add(element, i);\n\t\treturn element;\n\t}\n\tputIn(parent, i) {\n\t\treturn makeInstance(parent).add(this, i);\n\t}\n\tremove() {\n\t\tif (this.parent()) this.parent().removeElement(this);\n\t\treturn this;\n\t}\n\tremoveElement(element) {\n\t\tthis.node.removeChild(element.node);\n\t\treturn this;\n\t}\n\treplace(element) {\n\t\telement = makeInstance(element);\n\t\tif (this.node.parentNode) this.node.parentNode.replaceChild(element.node, this.node);\n\t\treturn element;\n\t}\n\tround(precision = 2, map = null) {\n\t\tconst factor = 10 ** precision;\n\t\tconst attrs = this.attr(map);\n\t\tfor (const i in attrs) if (typeof attrs[i] === \"number\") attrs[i] = Math.round(attrs[i] * factor) / factor;\n\t\tthis.attr(attrs);\n\t\treturn this;\n\t}\n\tsvg(svgOrFn, outerSVG) {\n\t\treturn this.xml(svgOrFn, outerSVG, svg);\n\t}\n\ttoString() {\n\t\treturn this.id();\n\t}\n\twords(text) {\n\t\tthis.node.textContent = text;\n\t\treturn this;\n\t}\n\twrap(node) {\n\t\tconst parent = this.parent();\n\t\tif (!parent) return this.addTo(node);\n\t\tconst position = parent.index(this);\n\t\treturn parent.put(node, position).put(this);\n\t}\n\twriteDataToDom() {\n\t\tthis.each(function() {\n\t\t\tthis.writeDataToDom();\n\t\t});\n\t\treturn this;\n\t}\n\txml(xmlOrFn, outerXML, ns) {\n\t\tif (typeof xmlOrFn === \"boolean\") {\n\t\t\tns = outerXML;\n\t\t\touterXML = xmlOrFn;\n\t\t\txmlOrFn = null;\n\t\t}\n\t\tif (xmlOrFn == null || typeof xmlOrFn === \"function\") {\n\t\t\touterXML = outerXML == null ? true : outerXML;\n\t\t\tthis.writeDataToDom();\n\t\t\tlet current = this;\n\t\t\tif (xmlOrFn != null) {\n\t\t\t\tcurrent = adopt(current.node.cloneNode(true));\n\t\t\t\tif (outerXML) {\n\t\t\t\t\tconst result = xmlOrFn(current);\n\t\t\t\t\tcurrent = result || current;\n\t\t\t\t\tif (result === false) return \"\";\n\t\t\t\t}\n\t\t\t\tcurrent.each(function() {\n\t\t\t\t\tconst result = xmlOrFn(this);\n\t\t\t\t\tconst _this = result || this;\n\t\t\t\t\tif (result === false) this.remove();\n\t\t\t\t\telse if (result && this !== _this) this.replace(_this);\n\t\t\t\t}, true);\n\t\t\t}\n\t\t\treturn outerXML ? current.node.outerHTML : current.node.innerHTML;\n\t\t}\n\t\touterXML = outerXML == null ? false : outerXML;\n\t\tconst well = create(\"wrapper\", ns);\n\t\tconst fragment = globals.document.createDocumentFragment();\n\t\twell.innerHTML = xmlOrFn;\n\t\tfor (let len = well.children.length; len--;) fragment.appendChild(well.firstElementChild);\n\t\tconst parent = this.parent();\n\t\treturn outerXML ? this.replace(fragment) && parent : this.add(fragment);\n\t}\n};\nextend(Dom, {\n\tattr,\n\tfind,\n\tfindOne\n});\nregister(Dom, \"Dom\");\n\n//#endregion\n//#region src/elements/Element.js\nvar Element = class extends Dom {\n\tconstructor(node, attrs) {\n\t\tsuper(node, attrs);\n\t\tthis.dom = {};\n\t\tthis.node.instance = this;\n\t\tif (node.hasAttribute(\"data-svgjs\") || node.hasAttribute(\"svgjs:data\")) this.setData(JSON.parse(node.getAttribute(\"data-svgjs\")) ?? JSON.parse(node.getAttribute(\"svgjs:data\")) ?? {});\n\t}\n\tcenter(x, y) {\n\t\treturn this.cx(x).cy(y);\n\t}\n\tcx(x) {\n\t\treturn x == null ? this.x() + this.width() / 2 : this.x(x - this.width() / 2);\n\t}\n\tcy(y) {\n\t\treturn y == null ? this.y() + this.height() / 2 : this.y(y - this.height() / 2);\n\t}\n\tdefs() {\n\t\tconst root = this.root();\n\t\treturn root && root.defs();\n\t}\n\tdmove(x, y) {\n\t\treturn this.dx(x).dy(y);\n\t}\n\tdx(x = 0) {\n\t\treturn this.x(new SVGNumber(x).plus(this.x()));\n\t}\n\tdy(y = 0) {\n\t\treturn this.y(new SVGNumber(y).plus(this.y()));\n\t}\n\tgetEventHolder() {\n\t\treturn this;\n\t}\n\theight(height) {\n\t\treturn this.attr(\"height\", height);\n\t}\n\tmove(x, y) {\n\t\treturn this.x(x).y(y);\n\t}\n\tparents(until = this.root()) {\n\t\tconst isSelector = typeof until === \"string\";\n\t\tconst root = this.root();\n\t\tconst rootNode = root && root.node;\n\t\tif (!isSelector) until = until && makeInstance(until).node;\n\t\tconst parents = new List();\n\t\tlet parent = this;\n\t\twhile ((parent = parent.parent()) && parent.node !== globals.document && parent.node.nodeName !== \"#document-fragment\") {\n\t\t\tparents.push(parent);\n\t\t\tif (!isSelector && parent.node === until) break;\n\t\t\tif (isSelector && parent.matches(until)) break;\n\t\t\tif (rootNode && parent.node === rootNode) return null;\n\t\t}\n\t\treturn parents;\n\t}\n\treference(attr) {\n\t\tattr = this.attr(attr);\n\t\tif (!attr) return null;\n\t\tconst target = resolveReference(this.node, attr);\n\t\treturn target ? makeInstance(target) : null;\n\t}\n\troot() {\n\t\tconst p = this.parent(getClass(root));\n\t\treturn p && p.root();\n\t}\n\tsetData(o) {\n\t\tthis.dom = o;\n\t\treturn this;\n\t}\n\tsize(width, height) {\n\t\tconst p = proportionalSize(this, width, height);\n\t\treturn this.width(new SVGNumber(p.width)).height(new SVGNumber(p.height));\n\t}\n\twidth(width) {\n\t\treturn this.attr(\"width\", width);\n\t}\n\twriteDataToDom(defaults) {\n\t\twriteDataToDom(this, this.dom, defaults);\n\t\treturn super.writeDataToDom();\n\t}\n\tx(x) {\n\t\treturn this.attr(\"x\", x);\n\t}\n\ty(y) {\n\t\treturn this.attr(\"y\", y);\n\t}\n};\nextend(Element, {\n\tbbox,\n\trbox,\n\tinside,\n\tpoint,\n\tctm,\n\tscreenCTM\n});\nregister(Element, \"Element\");\n\n//#endregion\n//#region src/modules/optional/sugar.js\nconst sugar = {\n\tstroke: [\n\t\t\"color\",\n\t\t\"width\",\n\t\t\"opacity\",\n\t\t\"linecap\",\n\t\t\"linejoin\",\n\t\t\"miterlimit\",\n\t\t\"dasharray\",\n\t\t\"dashoffset\"\n\t],\n\tfill: [\n\t\t\"color\",\n\t\t\"opacity\",\n\t\t\"rule\"\n\t],\n\tprefix: function(t, a) {\n\t\treturn a === \"color\" ? t : t + \"-\" + a;\n\t}\n};\n[\"fill\", \"stroke\"].forEach(function(m) {\n\tconst extension = {};\n\tlet i;\n\textension[m] = function(o) {\n\t\tif (typeof o === \"undefined\") return this.attr(m);\n\t\tif (typeof o === \"string\" || o instanceof Color || Color.isRgb(o) || o instanceof Element) this.attr(m, o);\n\t\telse for (i = sugar[m].length - 1; i >= 0; i--) if (o[sugar[m][i]] != null) this.attr(sugar.prefix(m, sugar[m][i]), o[sugar[m][i]]);\n\t\treturn this;\n\t};\n\tregisterMethods([\"Element\", \"Runner\"], extension);\n});\nregisterMethods([\"Element\", \"Runner\"], {\n\tmatrix: function(mat, b, c, d, e, f) {\n\t\tif (mat == null) return new Matrix(this);\n\t\treturn this.attr(\"transform\", new Matrix(mat, b, c, d, e, f));\n\t},\n\trotate: function(angle, cx, cy) {\n\t\treturn this.transform({\n\t\t\trotate: angle,\n\t\t\tox: cx,\n\t\t\toy: cy\n\t\t}, true);\n\t},\n\tskew: function(x, y, cx, cy) {\n\t\treturn arguments.length === 1 || arguments.length === 3 ? this.transform({\n\t\t\tskew: x,\n\t\t\tox: y,\n\t\t\toy: cx\n\t\t}, true) : this.transform({\n\t\t\tskew: [x, y],\n\t\t\tox: cx,\n\t\t\toy: cy\n\t\t}, true);\n\t},\n\tshear: function(lam, cx, cy) {\n\t\treturn this.transform({\n\t\t\tshear: lam,\n\t\t\tox: cx,\n\t\t\toy: cy\n\t\t}, true);\n\t},\n\tscale: function(x, y, cx, cy) {\n\t\treturn arguments.length === 1 || arguments.length === 3 ? this.transform({\n\t\t\tscale: x,\n\t\t\tox: y,\n\t\t\toy: cx\n\t\t}, true) : this.transform({\n\t\t\tscale: [x, y],\n\t\t\tox: cx,\n\t\t\toy: cy\n\t\t}, true);\n\t},\n\ttranslate: function(x, y) {\n\t\treturn this.transform({ translate: [x, y] }, true);\n\t},\n\trelative: function(x, y) {\n\t\treturn this.transform({ relative: [x, y] }, true);\n\t},\n\tflip: function(direction = \"both\", origin = \"center\") {\n\t\tif (\"xybothtrue\".indexOf(direction) === -1) {\n\t\t\torigin = direction;\n\t\t\tdirection = \"both\";\n\t\t}\n\t\treturn this.transform({\n\t\t\tflip: direction,\n\t\t\torigin\n\t\t}, true);\n\t},\n\topacity: function(value) {\n\t\treturn this.attr(\"opacity\", value);\n\t}\n});\nregisterMethods(\"radius\", { radius: function(x, y = x) {\n\treturn (this._element || this).type === \"radialGradient\" ? this.attr(\"r\", new SVGNumber(x)) : this.rx(x).ry(y);\n} });\nregisterMethods(\"Path\", {\n\tlength: function() {\n\t\treturn this.node.getTotalLength();\n\t},\n\tpointAt: function(length) {\n\t\treturn new Point(this.node.getPointAtLength(length));\n\t}\n});\nregisterMethods([\"Element\", \"Runner\"], { font: function(a, v) {\n\tif (typeof a === \"object\") {\n\t\tfor (v in a) this.font(v, a[v]);\n\t\treturn this;\n\t}\n\treturn a === \"leading\" ? this.leading(v) : a === \"anchor\" ? this.attr(\"text-anchor\", v) : a === \"size\" || a === \"family\" || a === \"weight\" || a === \"stretch\" || a === \"variant\" || a === \"style\" ? this.attr(\"font-\" + a, v) : this.attr(a, v);\n} });\nregisterMethods(\"Element\", [\n\t\"click\",\n\t\"dblclick\",\n\t\"mousedown\",\n\t\"mouseup\",\n\t\"mouseover\",\n\t\"mouseout\",\n\t\"mousemove\",\n\t\"mouseenter\",\n\t\"mouseleave\",\n\t\"touchstart\",\n\t\"touchmove\",\n\t\"touchleave\",\n\t\"touchend\",\n\t\"touchcancel\",\n\t\"contextmenu\",\n\t\"wheel\",\n\t\"pointerdown\",\n\t\"pointermove\",\n\t\"pointerup\",\n\t\"pointerleave\",\n\t\"pointercancel\"\n].reduce(function(last, event) {\n\tconst fn = function(f) {\n\t\tif (f === null) this.off(event);\n\t\telse this.on(event, f);\n\t\treturn this;\n\t};\n\tlast[event] = fn;\n\treturn last;\n}, {}));\n\n//#endregion\n//#region src/modules/optional/transform.js\nfunction untransform() {\n\treturn this.attr(\"transform\", null);\n}\nfunction matrixify() {\n\treturn (this.attr(\"transform\") || \"\").split(transforms).slice(0, -1).map(function(str) {\n\t\tconst kv = str.trim().split(\"(\");\n\t\treturn [kv[0].trim(), kv[1].split(delimiter).map(function(str) {\n\t\t\treturn parseFloat(str);\n\t\t})];\n\t}).reverse().reduce(function(matrix, transform) {\n\t\tif (transform[0] === \"matrix\") return matrix.lmultiply(Matrix.fromArray(transform[1]));\n\t\treturn matrix[transform[0]].apply(matrix, transform[1]);\n\t}, new Matrix());\n}\nfunction toParent(parent, i) {\n\tif (this === parent) return this;\n\tif (isDescriptive(this.node)) return this.addTo(parent, i);\n\tconst ctm = this.screenCTM();\n\tconst pCtm = parent.screenCTM().inverse();\n\tthis.addTo(parent, i).untransform().transform(pCtm.multiply(ctm));\n\treturn this;\n}\nfunction toRoot(i) {\n\treturn this.toParent(this.root(), i);\n}\nfunction transform(o, relative) {\n\tif (o == null || typeof o === \"string\") {\n\t\tconst decomposed = new Matrix(this).decompose();\n\t\treturn o == null ? decomposed : decomposed[o];\n\t}\n\tif (!Matrix.isMatrixLike(o)) o = {\n\t\t...o,\n\t\torigin: getOrigin(o, this)\n\t};\n\tconst result = new Matrix(relative === true ? this : relative || false).transform(o);\n\treturn this.attr(\"transform\", result);\n}\nregisterMethods(\"Element\", {\n\tuntransform,\n\tmatrixify,\n\ttoParent,\n\ttoRoot,\n\ttransform\n});\n\n//#endregion\n//#region src/elements/Container.js\nvar Container = class Container extends Element {\n\tflatten() {\n\t\tthis.each(function() {\n\t\t\tif (this instanceof Container) return this.flatten().ungroup();\n\t\t});\n\t\treturn this;\n\t}\n\tungroup(parent = this.parent(), index = parent.index(this)) {\n\t\tindex = index === -1 ? parent.children().length : index;\n\t\tthis.each(function(i, children) {\n\t\t\treturn children[children.length - i - 1].toParent(parent, index);\n\t\t});\n\t\treturn this.remove();\n\t}\n};\nregister(Container, \"Container\");\n\n//#endregion\n//#region src/elements/Defs.js\nvar Defs = class extends Container {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"defs\", node), attrs);\n\t}\n\tflatten() {\n\t\treturn this;\n\t}\n\tungroup() {\n\t\treturn this;\n\t}\n};\nregister(Defs, \"Defs\");\n\n//#endregion\n//#region src/elements/Shape.js\nvar Shape = class extends Element {};\nregister(Shape, \"Shape\");\n\n//#endregion\n//#region src/modules/core/circled.js\nvar circled_exports = /* @__PURE__ */ __exportAll({\n\tcx: () => cx$1,\n\tcy: () => cy$1,\n\theight: () => height$2,\n\trx: () => rx,\n\try: () => ry,\n\twidth: () => width$2,\n\tx: () => x$3,\n\ty: () => y$3\n});\nfunction rx(rx) {\n\treturn this.attr(\"rx\", rx);\n}\nfunction ry(ry) {\n\treturn this.attr(\"ry\", ry);\n}\nfunction x$3(x) {\n\treturn x == null ? this.cx() - this.rx() : this.cx(x + this.rx());\n}\nfunction y$3(y) {\n\treturn y == null ? this.cy() - this.ry() : this.cy(y + this.ry());\n}\nfunction cx$1(x) {\n\treturn this.attr(\"cx\", x);\n}\nfunction cy$1(y) {\n\treturn this.attr(\"cy\", y);\n}\nfunction width$2(width) {\n\treturn width == null ? this.rx() * 2 : this.rx(new SVGNumber(width).divide(2));\n}\nfunction height$2(height) {\n\treturn height == null ? this.ry() * 2 : this.ry(new SVGNumber(height).divide(2));\n}\n\n//#endregion\n//#region src/elements/Ellipse.js\nvar Ellipse = class extends Shape {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"ellipse\", node), attrs);\n\t}\n\tsize(width, height) {\n\t\tconst p = proportionalSize(this, width, height);\n\t\treturn this.rx(new SVGNumber(p.width).divide(2)).ry(new SVGNumber(p.height).divide(2));\n\t}\n};\nextend(Ellipse, circled_exports);\nregisterMethods(\"Container\", { ellipse: wrapWithAttrCheck(function(width = 0, height = width) {\n\treturn this.put(new Ellipse()).size(width, height).move(0, 0);\n}) });\nregister(Ellipse, \"Ellipse\");\n\n//#endregion\n//#region src/elements/Fragment.js\nvar Fragment = class extends Dom {\n\tconstructor(node = globals.document.createDocumentFragment()) {\n\t\tsuper(node);\n\t}\n\txml(xmlOrFn, outerXML, ns) {\n\t\tif (typeof xmlOrFn === \"boolean\") {\n\t\t\tns = outerXML;\n\t\t\touterXML = xmlOrFn;\n\t\t\txmlOrFn = null;\n\t\t}\n\t\tif (xmlOrFn == null || typeof xmlOrFn === \"function\") {\n\t\t\tconst wrapper = new Dom(create(\"wrapper\", ns));\n\t\t\twrapper.add(this.node.cloneNode(true));\n\t\t\treturn wrapper.xml(false, ns);\n\t\t}\n\t\treturn super.xml(xmlOrFn, false, ns);\n\t}\n};\nregister(Fragment, \"Fragment\");\n\n//#endregion\n//#region src/modules/core/gradiented.js\nvar gradiented_exports = /* @__PURE__ */ __exportAll({\n\tfrom: () => from,\n\tto: () => to\n});\nfunction from(x, y) {\n\treturn (this._element || this).type === \"radialGradient\" ? this.attr({\n\t\tfx: new SVGNumber(x),\n\t\tfy: new SVGNumber(y)\n\t}) : this.attr({\n\t\tx1: new SVGNumber(x),\n\t\ty1: new SVGNumber(y)\n\t});\n}\nfunction to(x, y) {\n\treturn (this._element || this).type === \"radialGradient\" ? this.attr({\n\t\tcx: new SVGNumber(x),\n\t\tcy: new SVGNumber(y)\n\t}) : this.attr({\n\t\tx2: new SVGNumber(x),\n\t\ty2: new SVGNumber(y)\n\t});\n}\n\n//#endregion\n//#region src/elements/Gradient.js\nvar Gradient = class extends Container {\n\tconstructor(type, attrs) {\n\t\tsuper(nodeOrNew(type + \"Gradient\", typeof type === \"string\" ? null : type), attrs);\n\t}\n\tattr(a, b, c) {\n\t\tif (a === \"transform\") a = \"gradientTransform\";\n\t\treturn super.attr(a, b, c);\n\t}\n\tbbox() {\n\t\treturn new Box();\n\t}\n\ttargets() {\n\t\treturn findReferences(this.node, \"fill\");\n\t}\n\ttoString() {\n\t\treturn this.url();\n\t}\n\tupdate(block) {\n\t\tthis.clear();\n\t\tif (typeof block === \"function\") block.call(this, this);\n\t\treturn this;\n\t}\n\turl() {\n\t\treturn \"url(#\" + this.id() + \")\";\n\t}\n};\nextend(Gradient, gradiented_exports);\nregisterMethods({\n\tContainer: { gradient(...args) {\n\t\treturn this.defs().gradient(...args);\n\t} },\n\tDefs: { gradient: wrapWithAttrCheck(function(type, block) {\n\t\treturn this.put(new Gradient(type)).update(block);\n\t}) }\n});\nregister(Gradient, \"Gradient\");\n\n//#endregion\n//#region src/elements/Pattern.js\nvar Pattern = class extends Container {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"pattern\", node), attrs);\n\t}\n\tattr(a, b, c) {\n\t\tif (a === \"transform\") a = \"patternTransform\";\n\t\treturn super.attr(a, b, c);\n\t}\n\tbbox() {\n\t\treturn new Box();\n\t}\n\ttargets() {\n\t\treturn findReferences(this.node, \"fill\");\n\t}\n\ttoString() {\n\t\treturn this.url();\n\t}\n\tupdate(block) {\n\t\tthis.clear();\n\t\tif (typeof block === \"function\") block.call(this, this);\n\t\treturn this;\n\t}\n\turl() {\n\t\treturn \"url(#\" + this.id() + \")\";\n\t}\n};\nregisterMethods({\n\tContainer: { pattern(...args) {\n\t\treturn this.defs().pattern(...args);\n\t} },\n\tDefs: { pattern: wrapWithAttrCheck(function(width, height, block) {\n\t\treturn this.put(new Pattern()).update(block).attr({\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tpatternUnits: \"userSpaceOnUse\"\n\t\t});\n\t}) }\n});\nregister(Pattern, \"Pattern\");\n\n//#endregion\n//#region src/elements/Image.js\nvar Image = class extends Shape {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"image\", node), attrs);\n\t}\n\tload(url, callback) {\n\t\tif (!url) return this;\n\t\tconst img = new globals.window.Image();\n\t\ton(img, \"load\", function(e) {\n\t\t\tconst p = this.parent(Pattern);\n\t\t\tif (this.width() === 0 && this.height() === 0) this.size(img.width, img.height);\n\t\t\tif (p instanceof Pattern) {\n\t\t\t\tif (p.width() === 0 && p.height() === 0) p.size(this.width(), this.height());\n\t\t\t}\n\t\t\tif (typeof callback === \"function\") callback.call(this, e);\n\t\t}, this);\n\t\ton(img, \"load error\", function() {\n\t\t\toff(img);\n\t\t});\n\t\treturn this.attr(\"href\", img.src = url, xlink);\n\t}\n};\nregisterAttrHook(function(attr, val, _this) {\n\tif (attr === \"fill\" || attr === \"stroke\") {\n\t\tif (isImage.test(val)) val = _this.root().defs().image(val);\n\t}\n\tif (val instanceof Image) val = _this.root().defs().pattern(0, 0, (pattern) => {\n\t\tpattern.add(val);\n\t});\n\treturn val;\n});\nregisterMethods({ Container: { image: wrapWithAttrCheck(function(source, callback) {\n\treturn this.put(new Image()).size(0, 0).load(source, callback);\n}) } });\nregister(Image, \"Image\");\n\n//#endregion\n//#region src/types/PointArray.js\nvar PointArray = class extends SVGArray {\n\tbbox() {\n\t\tlet maxX = -Infinity;\n\t\tlet maxY = -Infinity;\n\t\tlet minX = Infinity;\n\t\tlet minY = Infinity;\n\t\tthis.forEach(function(el) {\n\t\t\tmaxX = Math.max(el[0], maxX);\n\t\t\tmaxY = Math.max(el[1], maxY);\n\t\t\tminX = Math.min(el[0], minX);\n\t\t\tminY = Math.min(el[1], minY);\n\t\t});\n\t\treturn new Box(minX, minY, maxX - minX, maxY - minY);\n\t}\n\tmove(x, y) {\n\t\tconst box = this.bbox();\n\t\tx -= box.x;\n\t\ty -= box.y;\n\t\tif (!isNaN(x) && !isNaN(y)) for (let i = this.length - 1; i >= 0; i--) this[i] = [this[i][0] + x, this[i][1] + y];\n\t\treturn this;\n\t}\n\tparse(array = [0, 0]) {\n\t\tconst points = [];\n\t\tif (array instanceof Array) array = Array.prototype.concat.apply([], array);\n\t\telse array = array.trim().split(delimiter).map(parseFloat);\n\t\tif (array.length % 2 !== 0) array.pop();\n\t\tfor (let i = 0, len = array.length; i < len; i = i + 2) points.push([array[i], array[i + 1]]);\n\t\treturn points;\n\t}\n\tsize(width, height) {\n\t\tlet i;\n\t\tconst box = this.bbox();\n\t\tfor (i = this.length - 1; i >= 0; i--) {\n\t\t\tif (box.width) this[i][0] = (this[i][0] - box.x) * width / box.width + box.x;\n\t\t\tif (box.height) this[i][1] = (this[i][1] - box.y) * height / box.height + box.y;\n\t\t}\n\t\treturn this;\n\t}\n\ttoLine() {\n\t\treturn {\n\t\t\tx1: this[0][0],\n\t\t\ty1: this[0][1],\n\t\t\tx2: this[1][0],\n\t\t\ty2: this[1][1]\n\t\t};\n\t}\n\ttoString() {\n\t\tconst array = [];\n\t\tfor (let i = 0, il = this.length; i < il; i++) array.push(this[i].join(\",\"));\n\t\treturn array.join(\" \");\n\t}\n\ttransform(m) {\n\t\treturn this.clone().transformO(m);\n\t}\n\ttransformO(m) {\n\t\tif (!Matrix.isMatrixLike(m)) m = new Matrix(m);\n\t\tfor (let i = this.length; i--;) {\n\t\t\tconst [x, y] = this[i];\n\t\t\tthis[i][0] = m.a * x + m.c * y + m.e;\n\t\t\tthis[i][1] = m.b * x + m.d * y + m.f;\n\t\t}\n\t\treturn this;\n\t}\n};\n\n//#endregion\n//#region src/modules/core/pointed.js\nvar pointed_exports = /* @__PURE__ */ __exportAll({\n\tMorphArray: () => MorphArray,\n\theight: () => height$1,\n\twidth: () => width$1,\n\tx: () => x$2,\n\ty: () => y$2\n});\nconst MorphArray = PointArray;\nfunction x$2(x) {\n\treturn x == null ? this.bbox().x : this.move(x, this.bbox().y);\n}\nfunction y$2(y) {\n\treturn y == null ? this.bbox().y : this.move(this.bbox().x, y);\n}\nfunction width$1(width) {\n\tconst b = this.bbox();\n\treturn width == null ? b.width : this.size(width, b.height);\n}\nfunction height$1(height) {\n\tconst b = this.bbox();\n\treturn height == null ? b.height : this.size(b.width, height);\n}\n\n//#endregion\n//#region src/elements/Line.js\nvar Line = class extends Shape {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"line\", node), attrs);\n\t}\n\tarray() {\n\t\treturn new PointArray([[this.attr(\"x1\"), this.attr(\"y1\")], [this.attr(\"x2\"), this.attr(\"y2\")]]);\n\t}\n\tmove(x, y) {\n\t\treturn this.attr(this.array().move(x, y).toLine());\n\t}\n\tplot(x1, y1, x2, y2) {\n\t\tif (x1 == null) return this.array();\n\t\telse if (typeof y1 !== \"undefined\") x1 = {\n\t\t\tx1,\n\t\t\ty1,\n\t\t\tx2,\n\t\t\ty2\n\t\t};\n\t\telse x1 = new PointArray(x1).toLine();\n\t\treturn this.attr(x1);\n\t}\n\tsize(width, height) {\n\t\tconst p = proportionalSize(this, width, height);\n\t\treturn this.attr(this.array().size(p.width, p.height).toLine());\n\t}\n};\nextend(Line, pointed_exports);\nregisterMethods({ Container: { line: wrapWithAttrCheck(function(...args) {\n\treturn Line.prototype.plot.apply(this.put(new Line()), args[0] != null ? args : [\n\t\t0,\n\t\t0,\n\t\t0,\n\t\t0\n\t]);\n}) } });\nregister(Line, \"Line\");\n\n//#endregion\n//#region src/elements/Marker.js\nvar Marker = class extends Container {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"marker\", node), attrs);\n\t}\n\theight(height) {\n\t\treturn this.attr(\"markerHeight\", height);\n\t}\n\torient(orient) {\n\t\treturn this.attr(\"orient\", orient);\n\t}\n\tref(x, y) {\n\t\treturn this.attr(\"refX\", x).attr(\"refY\", y);\n\t}\n\ttoString() {\n\t\treturn \"url(#\" + this.id() + \")\";\n\t}\n\tupdate(block) {\n\t\tthis.clear();\n\t\tif (typeof block === \"function\") block.call(this, this);\n\t\treturn this;\n\t}\n\twidth(width) {\n\t\treturn this.attr(\"markerWidth\", width);\n\t}\n};\nregisterMethods({\n\tContainer: { marker(...args) {\n\t\treturn this.defs().marker(...args);\n\t} },\n\tDefs: { marker: wrapWithAttrCheck(function(width, height, block) {\n\t\treturn this.put(new Marker()).size(width, height).ref(width / 2, height / 2).viewbox(0, 0, width, height).attr(\"orient\", \"auto\").update(block);\n\t}) },\n\tmarker: { marker(marker, width, height, block) {\n\t\tlet attr = [\"marker\"];\n\t\tif (marker !== \"all\") attr.push(marker);\n\t\tattr = attr.join(\"-\");\n\t\tmarker = arguments[1] instanceof Marker ? arguments[1] : this.defs().marker(width, height, block);\n\t\treturn this.attr(attr, marker);\n\t} }\n});\nregister(Marker, \"Marker\");\n\n//#endregion\n//#region src/animation/Controller.js\n/***\nBase Class\n==========\nThe base stepper class that will be\n***/\nfunction makeSetterGetter(k, f) {\n\treturn function(v) {\n\t\tif (v == null) return this[k];\n\t\tthis[k] = v;\n\t\tif (f) f.call(this);\n\t\treturn this;\n\t};\n}\nconst easing = {\n\t\"-\": function(pos) {\n\t\treturn pos;\n\t},\n\t\"<>\": function(pos) {\n\t\treturn -Math.cos(pos * Math.PI) / 2 + .5;\n\t},\n\t\">\": function(pos) {\n\t\treturn Math.sin(pos * Math.PI / 2);\n\t},\n\t\"<\": function(pos) {\n\t\treturn -Math.cos(pos * Math.PI / 2) + 1;\n\t},\n\tbezier: function(x1, y1, x2, y2) {\n\t\treturn function(t) {\n\t\t\tif (t < 0) if (x1 > 0) return y1 / x1 * t;\n\t\t\telse if (x2 > 0) return y2 / x2 * t;\n\t\t\telse return 0;\n\t\t\telse if (t > 1) if (x2 < 1) return (1 - y2) / (1 - x2) * t + (y2 - x2) / (1 - x2);\n\t\t\telse if (x1 < 1) return (1 - y1) / (1 - x1) * t + (y1 - x1) / (1 - x1);\n\t\t\telse return 1;\n\t\t\telse return 3 * t * (1 - t) ** 2 * y1 + 3 * t ** 2 * (1 - t) * y2 + t ** 3;\n\t\t};\n\t},\n\tsteps: function(steps, stepPosition = \"end\") {\n\t\tstepPosition = stepPosition.split(\"-\").reverse()[0];\n\t\tlet jumps = steps;\n\t\tif (stepPosition === \"none\") --jumps;\n\t\telse if (stepPosition === \"both\") ++jumps;\n\t\treturn (t, beforeFlag = false) => {\n\t\t\tlet step = Math.floor(t * steps);\n\t\t\tconst jumping = t * step % 1 === 0;\n\t\t\tif (stepPosition === \"start\" || stepPosition === \"both\") ++step;\n\t\t\tif (beforeFlag && jumping) --step;\n\t\t\tif (t >= 0 && step < 0) step = 0;\n\t\t\tif (t <= 1 && step > jumps) step = jumps;\n\t\t\treturn step / jumps;\n\t\t};\n\t}\n};\nvar Stepper = class {\n\tdone() {\n\t\treturn false;\n\t}\n};\n/***\nEasing Functions\n================\n***/\nvar Ease = class extends Stepper {\n\tconstructor(fn = timeline.ease) {\n\t\tsuper();\n\t\tthis.ease = easing[fn] || fn;\n\t}\n\tstep(from, to, pos) {\n\t\tif (typeof from !== \"number\") return pos < 1 ? from : to;\n\t\treturn from + (to - from) * this.ease(pos);\n\t}\n};\n/***\nController Types\n================\n***/\nvar Controller = class extends Stepper {\n\tconstructor(fn) {\n\t\tsuper();\n\t\tthis.stepper = fn;\n\t}\n\tdone(c) {\n\t\treturn c.done;\n\t}\n\tstep(current, target, dt, c) {\n\t\treturn this.stepper(current, target, dt, c);\n\t}\n};\nfunction recalculate() {\n\tconst duration = (this._duration || 500) / 1e3;\n\tconst overshoot = this._overshoot || 0;\n\tconst eps = 1e-10;\n\tconst pi = Math.PI;\n\tconst os = Math.log(overshoot / 100 + eps);\n\tconst zeta = -os / Math.sqrt(pi * pi + os * os);\n\tconst wn = 3.9 / (zeta * duration);\n\tthis.d = 2 * zeta * wn;\n\tthis.k = wn * wn;\n}\nvar Spring = class extends Controller {\n\tconstructor(duration = 500, overshoot = 0) {\n\t\tsuper();\n\t\tthis.duration(duration).overshoot(overshoot);\n\t}\n\tstep(current, target, dt, c) {\n\t\tif (typeof current === \"string\") return current;\n\t\tc.done = dt === Infinity;\n\t\tif (dt === Infinity) return target;\n\t\tif (dt === 0) return current;\n\t\tif (dt > 100) dt = 16;\n\t\tdt /= 1e3;\n\t\tconst velocity = c.velocity || 0;\n\t\tconst acceleration = -this.d * velocity - this.k * (current - target);\n\t\tconst newPosition = current + velocity * dt + acceleration * dt * dt / 2;\n\t\tc.velocity = velocity + acceleration * dt;\n\t\tc.done = Math.abs(target - newPosition) + Math.abs(velocity) < .002;\n\t\treturn c.done ? target : newPosition;\n\t}\n};\nextend(Spring, {\n\tduration: makeSetterGetter(\"_duration\", recalculate),\n\tovershoot: makeSetterGetter(\"_overshoot\", recalculate)\n});\nvar PID = class extends Controller {\n\tconstructor(p = .1, i = .01, d = 0, windup = 1e3) {\n\t\tsuper();\n\t\tthis.p(p).i(i).d(d).windup(windup);\n\t}\n\tstep(current, target, dt, c) {\n\t\tif (typeof current === \"string\") return current;\n\t\tc.done = dt === Infinity;\n\t\tif (dt === Infinity) return target;\n\t\tif (dt === 0) return current;\n\t\tconst p = target - current;\n\t\tlet i = (c.integral || 0) + p * dt;\n\t\tconst d = (p - (c.error || 0)) / dt;\n\t\tconst windup = this._windup;\n\t\tif (windup !== false) i = Math.max(-windup, Math.min(i, windup));\n\t\tc.error = p;\n\t\tc.integral = i;\n\t\tc.done = Math.abs(p) < .001;\n\t\treturn c.done ? target : current + (this.P * p + this.I * i + this.D * d);\n\t}\n};\nextend(PID, {\n\twindup: makeSetterGetter(\"_windup\"),\n\tp: makeSetterGetter(\"P\"),\n\ti: makeSetterGetter(\"I\"),\n\td: makeSetterGetter(\"D\")\n});\n\n//#endregion\n//#region src/utils/pathParser.js\nconst segmentParameters = {\n\tM: 2,\n\tL: 2,\n\tH: 1,\n\tV: 1,\n\tC: 6,\n\tS: 4,\n\tQ: 4,\n\tT: 2,\n\tA: 7,\n\tZ: 0\n};\nconst pathHandlers = {\n\tM: function(c, p, p0) {\n\t\tp.x = p0.x = c[0];\n\t\tp.y = p0.y = c[1];\n\t\treturn [\n\t\t\t\"M\",\n\t\t\tp.x,\n\t\t\tp.y\n\t\t];\n\t},\n\tL: function(c, p) {\n\t\tp.x = c[0];\n\t\tp.y = c[1];\n\t\treturn [\n\t\t\t\"L\",\n\t\t\tc[0],\n\t\t\tc[1]\n\t\t];\n\t},\n\tH: function(c, p) {\n\t\tp.x = c[0];\n\t\treturn [\"H\", c[0]];\n\t},\n\tV: function(c, p) {\n\t\tp.y = c[0];\n\t\treturn [\"V\", c[0]];\n\t},\n\tC: function(c, p) {\n\t\tp.x = c[4];\n\t\tp.y = c[5];\n\t\treturn [\n\t\t\t\"C\",\n\t\t\tc[0],\n\t\t\tc[1],\n\t\t\tc[2],\n\t\t\tc[3],\n\t\t\tc[4],\n\t\t\tc[5]\n\t\t];\n\t},\n\tS: function(c, p) {\n\t\tp.x = c[2];\n\t\tp.y = c[3];\n\t\treturn [\n\t\t\t\"S\",\n\t\t\tc[0],\n\t\t\tc[1],\n\t\t\tc[2],\n\t\t\tc[3]\n\t\t];\n\t},\n\tQ: function(c, p) {\n\t\tp.x = c[2];\n\t\tp.y = c[3];\n\t\treturn [\n\t\t\t\"Q\",\n\t\t\tc[0],\n\t\t\tc[1],\n\t\t\tc[2],\n\t\t\tc[3]\n\t\t];\n\t},\n\tT: function(c, p) {\n\t\tp.x = c[0];\n\t\tp.y = c[1];\n\t\treturn [\n\t\t\t\"T\",\n\t\t\tc[0],\n\t\t\tc[1]\n\t\t];\n\t},\n\tZ: function(c, p, p0) {\n\t\tp.x = p0.x;\n\t\tp.y = p0.y;\n\t\treturn [\"Z\"];\n\t},\n\tA: function(c, p) {\n\t\tp.x = c[5];\n\t\tp.y = c[6];\n\t\treturn [\n\t\t\t\"A\",\n\t\t\tc[0],\n\t\t\tc[1],\n\t\t\tc[2],\n\t\t\tc[3],\n\t\t\tc[4],\n\t\t\tc[5],\n\t\t\tc[6]\n\t\t];\n\t}\n};\nconst mlhvqtcsaz = \"mlhvqtcsaz\".split(\"\");\nfor (let i = 0, il = mlhvqtcsaz.length; i < il; ++i) pathHandlers[mlhvqtcsaz[i]] = function(i) {\n\treturn function(c, p, p0) {\n\t\tif (i === \"H\") c[0] = c[0] + p.x;\n\t\telse if (i === \"V\") c[0] = c[0] + p.y;\n\t\telse if (i === \"A\") {\n\t\t\tc[5] = c[5] + p.x;\n\t\t\tc[6] = c[6] + p.y;\n\t\t} else for (let j = 0, jl = c.length; j < jl; ++j) c[j] = c[j] + (j % 2 ? p.y : p.x);\n\t\treturn pathHandlers[i](c, p, p0);\n\t};\n}(mlhvqtcsaz[i].toUpperCase());\nfunction makeAbsolut(parser) {\n\treturn pathHandlers[parser.segment[0]](parser.segment.slice(1), parser.p, parser.p0);\n}\nfunction segmentComplete(parser) {\n\treturn parser.segment.length && parser.segment.length - 1 === segmentParameters[parser.segment[0].toUpperCase()];\n}\nfunction startNewSegment(parser, token) {\n\tparser.inNumber && finalizeNumber(parser, false);\n\tconst pathLetter = isPathLetter.test(token);\n\tif (pathLetter) parser.segment = [token];\n\telse {\n\t\tconst lastCommand = parser.lastCommand;\n\t\tconst small = lastCommand.toLowerCase();\n\t\tparser.segment = [small === \"m\" ? lastCommand === small ? \"l\" : \"L\" : lastCommand];\n\t}\n\tparser.inSegment = true;\n\tparser.lastCommand = parser.segment[0];\n\treturn pathLetter;\n}\nfunction finalizeNumber(parser, inNumber) {\n\tif (!parser.inNumber) throw new Error(\"Parser Error\");\n\tparser.number && parser.segment.push(parseFloat(parser.number));\n\tparser.inNumber = inNumber;\n\tparser.number = \"\";\n\tparser.pointSeen = false;\n\tparser.hasExponent = false;\n\tif (segmentComplete(parser)) finalizeSegment(parser);\n}\nfunction finalizeSegment(parser) {\n\tparser.inSegment = false;\n\tif (parser.absolute) parser.segment = makeAbsolut(parser);\n\tparser.segments.push(parser.segment);\n}\nfunction isArcFlag(parser) {\n\tif (!parser.segment.length) return false;\n\tconst isArc = parser.segment[0].toUpperCase() === \"A\";\n\tconst length = parser.segment.length;\n\treturn isArc && (length === 4 || length === 5);\n}\nfunction isExponential(parser) {\n\treturn parser.lastToken.toUpperCase() === \"E\";\n}\nconst pathDelimiters = /* @__PURE__ */ new Set([\n\t\" \",\n\t\",\",\n\t\"\t\",\n\t\"\\n\",\n\t\"\\r\",\n\t\"\\f\"\n]);\nfunction pathParser(d, toAbsolute = true) {\n\tlet index = 0;\n\tlet token = \"\";\n\tconst parser = {\n\t\tsegment: [],\n\t\tinNumber: false,\n\t\tnumber: \"\",\n\t\tlastToken: \"\",\n\t\tinSegment: false,\n\t\tsegments: [],\n\t\tpointSeen: false,\n\t\thasExponent: false,\n\t\tabsolute: toAbsolute,\n\t\tp0: new Point(),\n\t\tp: new Point()\n\t};\n\twhile (parser.lastToken = token, token = d.charAt(index++)) {\n\t\tif (!parser.inSegment) {\n\t\t\tif (startNewSegment(parser, token)) continue;\n\t\t}\n\t\tif (token === \".\") {\n\t\t\tif (parser.pointSeen || parser.hasExponent) {\n\t\t\t\tfinalizeNumber(parser, false);\n\t\t\t\t--index;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tparser.inNumber = true;\n\t\t\tparser.pointSeen = true;\n\t\t\tparser.number += token;\n\t\t\tcontinue;\n\t\t}\n\t\tif (!isNaN(parseInt(token))) {\n\t\t\tif (parser.number === \"0\" || isArcFlag(parser)) {\n\t\t\t\tparser.inNumber = true;\n\t\t\t\tparser.number = token;\n\t\t\t\tfinalizeNumber(parser, true);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tparser.inNumber = true;\n\t\t\tparser.number += token;\n\t\t\tcontinue;\n\t\t}\n\t\tif (pathDelimiters.has(token)) {\n\t\t\tif (parser.inNumber) finalizeNumber(parser, false);\n\t\t\tcontinue;\n\t\t}\n\t\tif (token === \"-\" || token === \"+\") {\n\t\t\tif (parser.inNumber && !isExponential(parser)) {\n\t\t\t\tfinalizeNumber(parser, false);\n\t\t\t\t--index;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tparser.number += token;\n\t\t\tparser.inNumber = true;\n\t\t\tcontinue;\n\t\t}\n\t\tif (token.toUpperCase() === \"E\") {\n\t\t\tparser.number += token;\n\t\t\tparser.hasExponent = true;\n\t\t\tcontinue;\n\t\t}\n\t\tif (isPathLetter.test(token)) {\n\t\t\tif (parser.inNumber) finalizeNumber(parser, false);\n\t\t\telse if (!segmentComplete(parser)) throw new Error(\"parser Error\");\n\t\t\telse finalizeSegment(parser);\n\t\t\t--index;\n\t\t}\n\t}\n\tif (parser.inNumber) finalizeNumber(parser, false);\n\tif (parser.inSegment && segmentComplete(parser)) finalizeSegment(parser);\n\treturn parser.segments;\n}\n\n//#endregion\n//#region src/types/PathArray.js\nfunction arrayToString(a) {\n\tlet s = \"\";\n\tfor (let i = 0, il = a.length; i < il; i++) {\n\t\ts += a[i][0];\n\t\tif (a[i][1] != null) {\n\t\t\ts += a[i][1];\n\t\t\tif (a[i][2] != null) {\n\t\t\t\ts += \" \";\n\t\t\t\ts += a[i][2];\n\t\t\t\tif (a[i][3] != null) {\n\t\t\t\t\ts += \" \";\n\t\t\t\t\ts += a[i][3];\n\t\t\t\t\ts += \" \";\n\t\t\t\t\ts += a[i][4];\n\t\t\t\t\tif (a[i][5] != null) {\n\t\t\t\t\t\ts += \" \";\n\t\t\t\t\t\ts += a[i][5];\n\t\t\t\t\t\ts += \" \";\n\t\t\t\t\t\ts += a[i][6];\n\t\t\t\t\t\tif (a[i][7] != null) {\n\t\t\t\t\t\t\ts += \" \";\n\t\t\t\t\t\t\ts += a[i][7];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn s + \" \";\n}\nvar PathArray = class extends SVGArray {\n\tbbox() {\n\t\tparser().path.setAttribute(\"d\", this.toString());\n\t\treturn new Box(parser.nodes.path.getBBox());\n\t}\n\tmove(x, y) {\n\t\tconst box = this.bbox();\n\t\tx -= box.x;\n\t\ty -= box.y;\n\t\tif (!isNaN(x) && !isNaN(y)) for (let l, i = this.length - 1; i >= 0; i--) {\n\t\t\tl = this[i][0];\n\t\t\tif (l === \"M\" || l === \"L\" || l === \"T\") {\n\t\t\t\tthis[i][1] += x;\n\t\t\t\tthis[i][2] += y;\n\t\t\t} else if (l === \"H\") this[i][1] += x;\n\t\t\telse if (l === \"V\") this[i][1] += y;\n\t\t\telse if (l === \"C\" || l === \"S\" || l === \"Q\") {\n\t\t\t\tthis[i][1] += x;\n\t\t\t\tthis[i][2] += y;\n\t\t\t\tthis[i][3] += x;\n\t\t\t\tthis[i][4] += y;\n\t\t\t\tif (l === \"C\") {\n\t\t\t\t\tthis[i][5] += x;\n\t\t\t\t\tthis[i][6] += y;\n\t\t\t\t}\n\t\t\t} else if (l === \"A\") {\n\t\t\t\tthis[i][6] += x;\n\t\t\t\tthis[i][7] += y;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\tparse(d = \"M0 0\") {\n\t\tif (Array.isArray(d)) d = Array.prototype.concat.apply([], d).toString();\n\t\treturn pathParser(d);\n\t}\n\tsize(width, height) {\n\t\tconst box = this.bbox();\n\t\tlet i, l;\n\t\tbox.width = box.width === 0 ? 1 : box.width;\n\t\tbox.height = box.height === 0 ? 1 : box.height;\n\t\tfor (i = this.length - 1; i >= 0; i--) {\n\t\t\tl = this[i][0];\n\t\t\tif (l === \"M\" || l === \"L\" || l === \"T\") {\n\t\t\t\tthis[i][1] = (this[i][1] - box.x) * width / box.width + box.x;\n\t\t\t\tthis[i][2] = (this[i][2] - box.y) * height / box.height + box.y;\n\t\t\t} else if (l === \"H\") this[i][1] = (this[i][1] - box.x) * width / box.width + box.x;\n\t\t\telse if (l === \"V\") this[i][1] = (this[i][1] - box.y) * height / box.height + box.y;\n\t\t\telse if (l === \"C\" || l === \"S\" || l === \"Q\") {\n\t\t\t\tthis[i][1] = (this[i][1] - box.x) * width / box.width + box.x;\n\t\t\t\tthis[i][2] = (this[i][2] - box.y) * height / box.height + box.y;\n\t\t\t\tthis[i][3] = (this[i][3] - box.x) * width / box.width + box.x;\n\t\t\t\tthis[i][4] = (this[i][4] - box.y) * height / box.height + box.y;\n\t\t\t\tif (l === \"C\") {\n\t\t\t\t\tthis[i][5] = (this[i][5] - box.x) * width / box.width + box.x;\n\t\t\t\t\tthis[i][6] = (this[i][6] - box.y) * height / box.height + box.y;\n\t\t\t\t}\n\t\t\t} else if (l === \"A\") {\n\t\t\t\tthis[i][1] = this[i][1] * width / box.width;\n\t\t\t\tthis[i][2] = this[i][2] * height / box.height;\n\t\t\t\tthis[i][6] = (this[i][6] - box.x) * width / box.width + box.x;\n\t\t\t\tthis[i][7] = (this[i][7] - box.y) * height / box.height + box.y;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\ttoString() {\n\t\treturn arrayToString(this);\n\t}\n};\n\n//#endregion\n//#region src/animation/Morphable.js\nconst getClassForType = (value) => {\n\tconst type = typeof value;\n\tif (type === \"number\") return SVGNumber;\n\telse if (type === \"string\") if (Color.isColor(value)) return Color;\n\telse if (delimiter.test(value)) return isPathLetter.test(value) ? PathArray : SVGArray;\n\telse if (numberAndUnit.test(value)) return SVGNumber;\n\telse return NonMorphable;\n\telse if (morphableTypes.indexOf(value.constructor) > -1) return value.constructor;\n\telse if (Array.isArray(value)) return SVGArray;\n\telse if (type === \"object\") return ObjectBag;\n\telse return NonMorphable;\n};\nvar Morphable = class {\n\tconstructor(stepper) {\n\t\tthis._stepper = stepper || new Ease(\"-\");\n\t\tthis._from = null;\n\t\tthis._to = null;\n\t\tthis._type = null;\n\t\tthis._context = null;\n\t\tthis._morphObj = null;\n\t}\n\tat(pos) {\n\t\treturn this._morphObj.morph(this._from, this._to, pos, this._stepper, this._context);\n\t}\n\tdone() {\n\t\treturn this._context.map(this._stepper.done).reduce(function(last, curr) {\n\t\t\treturn last && curr;\n\t\t}, true);\n\t}\n\tfrom(val) {\n\t\tif (val == null) return this._from;\n\t\tthis._from = this._set(val);\n\t\treturn this;\n\t}\n\tstepper(stepper) {\n\t\tif (stepper == null) return this._stepper;\n\t\tthis._stepper = stepper;\n\t\treturn this;\n\t}\n\tto(val) {\n\t\tif (val == null) return this._to;\n\t\tthis._to = this._set(val);\n\t\treturn this;\n\t}\n\ttype(type) {\n\t\tif (type == null) return this._type;\n\t\tthis._type = type;\n\t\treturn this;\n\t}\n\t_set(value) {\n\t\tif (!this._type) this.type(getClassForType(value));\n\t\tlet result = new this._type(value);\n\t\tif (this._type === Color) result = this._to ? result[this._to[4]]() : this._from ? result[this._from[4]]() : result;\n\t\tif (this._type === ObjectBag) result = this._to ? result.align(this._to) : this._from ? result.align(this._from) : result;\n\t\tresult = result.toConsumable();\n\t\tthis._morphObj = this._morphObj || new this._type();\n\t\tthis._context = this._context || Array.apply(null, Array(result.length)).map(Object).map(function(o) {\n\t\t\to.done = true;\n\t\t\treturn o;\n\t\t});\n\t\treturn result;\n\t}\n};\nvar NonMorphable = class {\n\tconstructor(...args) {\n\t\tthis.init(...args);\n\t}\n\tinit(val) {\n\t\tval = Array.isArray(val) ? val[0] : val;\n\t\tthis.value = val;\n\t\treturn this;\n\t}\n\ttoArray() {\n\t\treturn [this.value];\n\t}\n\tvalueOf() {\n\t\treturn this.value;\n\t}\n};\nvar TransformBag = class TransformBag {\n\tconstructor(...args) {\n\t\tthis.init(...args);\n\t}\n\tinit(obj) {\n\t\tif (Array.isArray(obj)) obj = {\n\t\t\tscaleX: obj[0],\n\t\t\tscaleY: obj[1],\n\t\t\tshear: obj[2],\n\t\t\trotate: obj[3],\n\t\t\ttranslateX: obj[4],\n\t\t\ttranslateY: obj[5],\n\t\t\toriginX: obj[6],\n\t\t\toriginY: obj[7]\n\t\t};\n\t\tObject.assign(this, TransformBag.defaults, obj);\n\t\treturn this;\n\t}\n\ttoArray() {\n\t\tconst v = this;\n\t\treturn [\n\t\t\tv.scaleX,\n\t\t\tv.scaleY,\n\t\t\tv.shear,\n\t\t\tv.rotate,\n\t\t\tv.translateX,\n\t\t\tv.translateY,\n\t\t\tv.originX,\n\t\t\tv.originY\n\t\t];\n\t}\n};\nTransformBag.defaults = {\n\tscaleX: 1,\n\tscaleY: 1,\n\tshear: 0,\n\trotate: 0,\n\ttranslateX: 0,\n\ttranslateY: 0,\n\toriginX: 0,\n\toriginY: 0\n};\nconst sortByKey = (a, b) => {\n\treturn a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0;\n};\nvar ObjectBag = class {\n\tconstructor(...args) {\n\t\tthis.init(...args);\n\t}\n\talign(other) {\n\t\tconst values = this.values;\n\t\tfor (let i = 0, il = values.length; i < il; ++i) {\n\t\t\tif (values[i + 1] === other[i + 1]) {\n\t\t\t\tif (values[i + 1] === Color && other[i + 7] !== values[i + 7]) {\n\t\t\t\t\tconst space = other[i + 7];\n\t\t\t\t\tconst color = new Color(this.values.splice(i + 3, 5))[space]().toArray();\n\t\t\t\t\tthis.values.splice(i + 3, 0, ...color);\n\t\t\t\t}\n\t\t\t\ti += values[i + 2] + 2;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!other[i + 1]) return this;\n\t\t\tconst defaultObject = new other[i + 1]().toArray();\n\t\t\tconst toDelete = values[i + 2] + 3;\n\t\t\tvalues.splice(i, toDelete, other[i], other[i + 1], other[i + 2], ...defaultObject);\n\t\t\ti += values[i + 2] + 2;\n\t\t}\n\t\treturn this;\n\t}\n\tinit(objOrArr) {\n\t\tthis.values = [];\n\t\tif (Array.isArray(objOrArr)) {\n\t\t\tthis.values = objOrArr.slice();\n\t\t\treturn;\n\t\t}\n\t\tobjOrArr = objOrArr || {};\n\t\tconst entries = [];\n\t\tfor (const i in objOrArr) {\n\t\t\tconst Type = getClassForType(objOrArr[i]);\n\t\t\tconst val = new Type(objOrArr[i]).toArray();\n\t\t\tentries.push([\n\t\t\t\ti,\n\t\t\t\tType,\n\t\t\t\tval.length,\n\t\t\t\t...val\n\t\t\t]);\n\t\t}\n\t\tentries.sort(sortByKey);\n\t\tthis.values = entries.reduce((last, curr) => last.concat(curr), []);\n\t\treturn this;\n\t}\n\ttoArray() {\n\t\treturn this.values;\n\t}\n\tvalueOf() {\n\t\tconst obj = {};\n\t\tconst arr = this.values;\n\t\twhile (arr.length) {\n\t\t\tconst key = arr.shift();\n\t\t\tconst Type = arr.shift();\n\t\t\tconst num = arr.shift();\n\t\t\tobj[key] = new Type(arr.splice(0, num));\n\t\t}\n\t\treturn obj;\n\t}\n};\nconst morphableTypes = [\n\tNonMorphable,\n\tTransformBag,\n\tObjectBag\n];\nfunction registerMorphableType(type = []) {\n\tmorphableTypes.push(...[].concat(type));\n}\nfunction makeMorphable() {\n\textend(morphableTypes, {\n\t\tto(val) {\n\t\t\treturn new Morphable().type(this.constructor).from(this.toArray()).to(val);\n\t\t},\n\t\tfromArray(arr) {\n\t\t\tthis.init(arr);\n\t\t\treturn this;\n\t\t},\n\t\ttoConsumable() {\n\t\t\treturn this.toArray();\n\t\t},\n\t\tmorph(from, to, pos, stepper, context) {\n\t\t\tconst mapper = function(i, index) {\n\t\t\t\treturn stepper.step(i, to[index], pos, context[index], context);\n\t\t\t};\n\t\t\treturn this.fromArray(from.map(mapper));\n\t\t}\n\t});\n}\n\n//#endregion\n//#region src/elements/Path.js\nvar Path = class extends Shape {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"path\", node), attrs);\n\t}\n\tarray() {\n\t\treturn this._array || (this._array = new PathArray(this.attr(\"d\")));\n\t}\n\tclear() {\n\t\tdelete this._array;\n\t\treturn this;\n\t}\n\theight(height) {\n\t\treturn height == null ? this.bbox().height : this.size(this.bbox().width, height);\n\t}\n\tmove(x, y) {\n\t\treturn this.attr(\"d\", this.array().move(x, y));\n\t}\n\tplot(d) {\n\t\treturn d == null ? this.array() : this.clear().attr(\"d\", typeof d === \"string\" ? d : this._array = new PathArray(d));\n\t}\n\tsize(width, height) {\n\t\tconst p = proportionalSize(this, width, height);\n\t\treturn this.attr(\"d\", this.array().size(p.width, p.height));\n\t}\n\twidth(width) {\n\t\treturn width == null ? this.bbox().width : this.size(width, this.bbox().height);\n\t}\n\tx(x) {\n\t\treturn x == null ? this.bbox().x : this.move(x, this.bbox().y);\n\t}\n\ty(y) {\n\t\treturn y == null ? this.bbox().y : this.move(this.bbox().x, y);\n\t}\n};\nPath.prototype.MorphArray = PathArray;\nregisterMethods({ Container: { path: wrapWithAttrCheck(function(d) {\n\treturn this.put(new Path()).plot(d || new PathArray());\n}) } });\nregister(Path, \"Path\");\n\n//#endregion\n//#region src/modules/core/poly.js\nvar poly_exports = /* @__PURE__ */ __exportAll({\n\tarray: () => array,\n\tclear: () => clear,\n\tmove: () => move$2,\n\tplot: () => plot,\n\tsize: () => size$1\n});\nfunction array() {\n\treturn this._array || (this._array = new PointArray(this.attr(\"points\")));\n}\nfunction clear() {\n\tdelete this._array;\n\treturn this;\n}\nfunction move$2(x, y) {\n\treturn this.attr(\"points\", this.array().move(x, y));\n}\nfunction plot(p) {\n\treturn p == null ? this.array() : this.clear().attr(\"points\", typeof p === \"string\" ? p : this._array = new PointArray(p));\n}\nfunction size$1(width, height) {\n\tconst p = proportionalSize(this, width, height);\n\treturn this.attr(\"points\", this.array().size(p.width, p.height));\n}\n\n//#endregion\n//#region src/elements/Polygon.js\nvar Polygon = class extends Shape {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"polygon\", node), attrs);\n\t}\n};\nregisterMethods({ Container: { polygon: wrapWithAttrCheck(function(p) {\n\treturn this.put(new Polygon()).plot(p || new PointArray());\n}) } });\nextend(Polygon, pointed_exports);\nextend(Polygon, poly_exports);\nregister(Polygon, \"Polygon\");\n\n//#endregion\n//#region src/elements/Polyline.js\nvar Polyline = class extends Shape {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"polyline\", node), attrs);\n\t}\n};\nregisterMethods({ Container: { polyline: wrapWithAttrCheck(function(p) {\n\treturn this.put(new Polyline()).plot(p || new PointArray());\n}) } });\nextend(Polyline, pointed_exports);\nextend(Polyline, poly_exports);\nregister(Polyline, \"Polyline\");\n\n//#endregion\n//#region src/elements/Rect.js\nvar Rect = class extends Shape {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"rect\", node), attrs);\n\t}\n};\nextend(Rect, {\n\trx,\n\try\n});\nregisterMethods({ Container: { rect: wrapWithAttrCheck(function(width, height) {\n\treturn this.put(new Rect()).size(width, height);\n}) } });\nregister(Rect, \"Rect\");\n\n//#endregion\n//#region src/animation/Queue.js\nvar Queue = class {\n\tconstructor() {\n\t\tthis._first = null;\n\t\tthis._last = null;\n\t}\n\tfirst() {\n\t\treturn this._first && this._first.value;\n\t}\n\tlast() {\n\t\treturn this._last && this._last.value;\n\t}\n\tpush(value) {\n\t\tconst item = typeof value.next !== \"undefined\" ? value : {\n\t\t\tvalue,\n\t\t\tnext: null,\n\t\t\tprev: null\n\t\t};\n\t\tif (this._last) {\n\t\t\titem.prev = this._last;\n\t\t\tthis._last.next = item;\n\t\t\tthis._last = item;\n\t\t} else {\n\t\t\tthis._last = item;\n\t\t\tthis._first = item;\n\t\t}\n\t\treturn item;\n\t}\n\tremove(item) {\n\t\tif (item.prev) item.prev.next = item.next;\n\t\tif (item.next) item.next.prev = item.prev;\n\t\tif (item === this._last) this._last = item.prev;\n\t\tif (item === this._first) this._first = item.next;\n\t\titem.prev = null;\n\t\titem.next = null;\n\t}\n\tshift() {\n\t\tconst remove = this._first;\n\t\tif (!remove) return null;\n\t\tthis._first = remove.next;\n\t\tif (this._first) this._first.prev = null;\n\t\tthis._last = this._first ? this._last : null;\n\t\treturn remove.value;\n\t}\n};\n\n//#endregion\n//#region src/animation/Animator.js\nconst Animator = {\n\tnextDraw: null,\n\tframes: new Queue(),\n\ttimeouts: new Queue(),\n\timmediates: new Queue(),\n\ttimer: () => globals.window.performance || globals.window.Date,\n\ttransforms: [],\n\tframe(fn) {\n\t\tconst node = Animator.frames.push({ run: fn });\n\t\tif (Animator.nextDraw === null) Animator.nextDraw = globals.window.requestAnimationFrame(Animator._draw);\n\t\treturn node;\n\t},\n\ttimeout(fn, delay) {\n\t\tdelay = delay || 0;\n\t\tconst time = Animator.timer().now() + delay;\n\t\tconst node = Animator.timeouts.push({\n\t\t\trun: fn,\n\t\t\ttime\n\t\t});\n\t\tif (Animator.nextDraw === null) Animator.nextDraw = globals.window.requestAnimationFrame(Animator._draw);\n\t\treturn node;\n\t},\n\timmediate(fn) {\n\t\tconst node = Animator.immediates.push(fn);\n\t\tif (Animator.nextDraw === null) Animator.nextDraw = globals.window.requestAnimationFrame(Animator._draw);\n\t\treturn node;\n\t},\n\tcancelFrame(node) {\n\t\tnode != null && Animator.frames.remove(node);\n\t},\n\tclearTimeout(node) {\n\t\tnode != null && Animator.timeouts.remove(node);\n\t},\n\tcancelImmediate(node) {\n\t\tnode != null && Animator.immediates.remove(node);\n\t},\n\t_draw(now) {\n\t\ttry {\n\t\t\tlet nextTimeout = null;\n\t\t\tconst lastTimeout = Animator.timeouts.last();\n\t\t\twhile (nextTimeout = Animator.timeouts.shift()) {\n\t\t\t\tif (now >= nextTimeout.time) nextTimeout.run();\n\t\t\t\telse Animator.timeouts.push(nextTimeout);\n\t\t\t\tif (nextTimeout === lastTimeout) break;\n\t\t\t}\n\t\t\tlet nextFrame = null;\n\t\t\tconst lastFrame = Animator.frames.last();\n\t\t\twhile (nextFrame !== lastFrame && (nextFrame = Animator.frames.shift())) nextFrame.run(now);\n\t\t\tlet nextImmediate = null;\n\t\t\twhile (nextImmediate = Animator.immediates.shift()) nextImmediate();\n\t\t} finally {\n\t\t\tconst pending = Animator.timeouts.first() || Animator.frames.first() || Animator.immediates.first();\n\t\t\tAnimator.nextDraw = pending ? globals.window.requestAnimationFrame(Animator._draw) : null;\n\t\t}\n\t}\n};\n\n//#endregion\n//#region src/animation/Timeline.js\nconst makeSchedule = function(runnerInfo) {\n\tconst start = runnerInfo.start;\n\tconst duration = runnerInfo.runner.duration();\n\treturn {\n\t\tstart,\n\t\tduration,\n\t\tend: start + duration,\n\t\trunner: runnerInfo.runner\n\t};\n};\nconst defaultSource = function() {\n\tconst w = globals.window;\n\treturn (w.performance || w.Date).now();\n};\nvar Timeline = class extends EventTarget {\n\tconstructor(timeSource = defaultSource) {\n\t\tsuper();\n\t\tthis._timeSource = timeSource;\n\t\tthis.terminate();\n\t}\n\tactive() {\n\t\treturn !!this._nextFrame;\n\t}\n\tfinish() {\n\t\tthis.time(this.getEndTimeOfTimeline() + 1);\n\t\treturn this.pause();\n\t}\n\tgetEndTime() {\n\t\tconst lastRunnerInfo = this.getLastRunnerInfo();\n\t\tconst lastDuration = lastRunnerInfo ? lastRunnerInfo.runner.duration() : 0;\n\t\treturn (lastRunnerInfo ? lastRunnerInfo.start : this._time) + lastDuration;\n\t}\n\tgetEndTimeOfTimeline() {\n\t\tconst endTimes = this._runners.map((i) => i.start + i.runner.duration());\n\t\treturn Math.max(0, ...endTimes);\n\t}\n\tgetLastRunnerInfo() {\n\t\treturn this.getRunnerInfoById(this._lastRunnerId);\n\t}\n\tgetRunnerInfoById(id) {\n\t\treturn this._runners[this._runnerIds.indexOf(id)] || null;\n\t}\n\tpause() {\n\t\tthis._paused = true;\n\t\treturn this._continue();\n\t}\n\tpersist(dtOrForever) {\n\t\tif (dtOrForever == null) return this._persist;\n\t\tthis._persist = dtOrForever;\n\t\treturn this;\n\t}\n\tplay() {\n\t\tthis._paused = false;\n\t\treturn this.updateTime()._continue();\n\t}\n\treverse(yes) {\n\t\tconst currentSpeed = this.speed();\n\t\tif (yes == null) return this.speed(-currentSpeed);\n\t\tconst positive = Math.abs(currentSpeed);\n\t\treturn this.speed(yes ? -positive : positive);\n\t}\n\tschedule(runner, delay, when) {\n\t\tif (runner == null) return this._runners.map(makeSchedule);\n\t\tlet absoluteStartTime = 0;\n\t\tconst endTime = this.getEndTime();\n\t\tdelay = delay || 0;\n\t\tif (when == null || when === \"last\" || when === \"after\") absoluteStartTime = endTime;\n\t\telse if (when === \"absolute\" || when === \"start\") {\n\t\t\tabsoluteStartTime = delay;\n\t\t\tdelay = 0;\n\t\t} else if (when === \"now\") absoluteStartTime = this._time;\n\t\telse if (when === \"relative\") {\n\t\t\tconst runnerInfo = this.getRunnerInfoById(runner.id);\n\t\t\tif (runnerInfo) {\n\t\t\t\tabsoluteStartTime = runnerInfo.start + delay;\n\t\t\t\tdelay = 0;\n\t\t\t}\n\t\t} else if (when === \"with-last\") {\n\t\t\tconst lastRunnerInfo = this.getLastRunnerInfo();\n\t\t\tabsoluteStartTime = lastRunnerInfo ? lastRunnerInfo.start : this._time;\n\t\t} else throw new Error(\"Invalid value for the \\\"when\\\" parameter\");\n\t\trunner.unschedule();\n\t\trunner.timeline(this);\n\t\tconst persist = runner.persist();\n\t\tconst runnerInfo = {\n\t\t\tpersist: persist === null ? this._persist : persist,\n\t\t\tstart: absoluteStartTime + delay,\n\t\t\trunner\n\t\t};\n\t\tthis._lastRunnerId = runner.id;\n\t\tthis._runners.push(runnerInfo);\n\t\tthis._runners.sort((a, b) => a.start - b.start);\n\t\tthis._runnerIds = this._runners.map((info) => info.runner.id);\n\t\tthis.updateTime()._continue();\n\t\treturn this;\n\t}\n\tseek(dt) {\n\t\treturn this.time(this._time + dt);\n\t}\n\tsource(fn) {\n\t\tif (fn == null) return this._timeSource;\n\t\tthis._timeSource = fn;\n\t\treturn this;\n\t}\n\tspeed(speed) {\n\t\tif (speed == null) return this._speed;\n\t\tthis._speed = speed;\n\t\treturn this;\n\t}\n\tstop() {\n\t\tthis.time(0);\n\t\treturn this.pause();\n\t}\n\ttime(time) {\n\t\tif (time == null) return this._time;\n\t\tthis._time = time;\n\t\treturn this._continue(true);\n\t}\n\tunschedule(runner) {\n\t\tconst index = this._runnerIds.indexOf(runner.id);\n\t\tif (index < 0) return this;\n\t\tthis._runners.splice(index, 1);\n\t\tthis._runnerIds.splice(index, 1);\n\t\trunner.timeline(null);\n\t\treturn this;\n\t}\n\tupdateTime() {\n\t\tif (!this.active()) this._lastSourceTime = this._timeSource();\n\t\treturn this;\n\t}\n\t_continue(immediateStep = false) {\n\t\tAnimator.cancelFrame(this._nextFrame);\n\t\tthis._nextFrame = null;\n\t\tif (immediateStep) return this._stepImmediate();\n\t\tif (this._paused) return this;\n\t\tthis._nextFrame = Animator.frame(this._step);\n\t\treturn this;\n\t}\n\t_stepFn(immediateStep = false) {\n\t\tconst time = this._timeSource();\n\t\tlet dtSource = time - this._lastSourceTime;\n\t\tif (immediateStep) dtSource = 0;\n\t\tconst dtTime = this._speed * dtSource + (this._time - this._lastStepTime);\n\t\tthis._lastSourceTime = time;\n\t\tif (!immediateStep) {\n\t\t\tthis._time += dtTime;\n\t\t\tthis._time = this._time < 0 ? 0 : this._time;\n\t\t}\n\t\tthis._lastStepTime = this._time;\n\t\tthis.fire(\"time\", this._time);\n\t\tfor (let k = this._runners.length; k--;) {\n\t\t\tconst runnerInfo = this._runners[k];\n\t\t\tconst runner = runnerInfo.runner;\n\t\t\tif (this._time - runnerInfo.start <= 0) runner.reset();\n\t\t}\n\t\tlet runnersLeft = false;\n\t\tfor (let i = 0, len = this._runners.length; i < len; i++) {\n\t\t\tconst runnerInfo = this._runners[i];\n\t\t\tconst runner = runnerInfo.runner;\n\t\t\tlet dt = dtTime;\n\t\t\tconst dtToStart = this._time - runnerInfo.start;\n\t\t\tif (dtToStart <= 0) {\n\t\t\t\trunnersLeft = true;\n\t\t\t\tcontinue;\n\t\t\t} else if (dtToStart < dt) dt = dtToStart;\n\t\t\tif (!runner.active()) continue;\n\t\t\tif (!runner.step(dt).done) runnersLeft = true;\n\t\t\telse if (runnerInfo.persist !== true) {\n\t\t\t\tif (runner.duration() - runner.time() + this._time + runnerInfo.persist < this._time) {\n\t\t\t\t\trunner.unschedule();\n\t\t\t\t\t--i;\n\t\t\t\t\t--len;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (runnersLeft && !(this._speed < 0 && this._time === 0) || this._runnerIds.length && this._speed < 0 && this._time > 0) this._continue();\n\t\telse {\n\t\t\tthis.pause();\n\t\t\tthis.fire(\"finished\");\n\t\t}\n\t\treturn this;\n\t}\n\tterminate() {\n\t\tthis._startTime = 0;\n\t\tthis._speed = 1;\n\t\tthis._persist = 0;\n\t\tthis._nextFrame = null;\n\t\tthis._paused = true;\n\t\tthis._runners = [];\n\t\tthis._runnerIds = [];\n\t\tthis._lastRunnerId = -1;\n\t\tthis._time = 0;\n\t\tthis._lastSourceTime = 0;\n\t\tthis._lastStepTime = 0;\n\t\tthis._step = this._stepFn.bind(this, false);\n\t\tthis._stepImmediate = this._stepFn.bind(this, true);\n\t}\n};\nregisterMethods({ Element: { timeline: function(timeline) {\n\tif (timeline == null) {\n\t\tthis._timeline = this._timeline || new Timeline();\n\t\treturn this._timeline;\n\t} else {\n\t\tthis._timeline = timeline;\n\t\treturn this;\n\t}\n} } });\n\n//#endregion\n//#region src/animation/Runner.js\nvar Runner = class Runner extends EventTarget {\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.id = Runner.id++;\n\t\toptions = options == null ? timeline.duration : options;\n\t\toptions = typeof options === \"function\" ? new Controller(options) : options;\n\t\tthis._element = null;\n\t\tthis._timeline = null;\n\t\tthis.done = false;\n\t\tthis._queue = [];\n\t\tthis._duration = typeof options === \"number\" && options;\n\t\tthis._isDeclarative = options instanceof Controller;\n\t\tthis._stepper = this._isDeclarative ? options : new Ease();\n\t\tthis._history = {};\n\t\tthis.enabled = true;\n\t\tthis._time = 0;\n\t\tthis._lastTime = 0;\n\t\tthis._reseted = true;\n\t\tthis.transforms = new Matrix();\n\t\tthis.transformId = 1;\n\t\tthis._haveReversed = false;\n\t\tthis._reverse = false;\n\t\tthis._loopsDone = 0;\n\t\tthis._swing = false;\n\t\tthis._wait = 0;\n\t\tthis._times = 1;\n\t\tthis._frameId = null;\n\t\tthis._persist = this._isDeclarative ? true : null;\n\t}\n\tstatic sanitise(duration, delay, when) {\n\t\tlet times = 1;\n\t\tlet swing = false;\n\t\tlet wait = 0;\n\t\tduration = duration ?? timeline.duration;\n\t\tdelay = delay ?? timeline.delay;\n\t\twhen = when || \"last\";\n\t\tif (typeof duration === \"object\" && !(duration instanceof Stepper)) {\n\t\t\tdelay = duration.delay ?? delay;\n\t\t\twhen = duration.when ?? when;\n\t\t\tswing = duration.swing || swing;\n\t\t\ttimes = duration.times ?? times;\n\t\t\twait = duration.wait ?? wait;\n\t\t\tduration = duration.duration ?? timeline.duration;\n\t\t}\n\t\treturn {\n\t\t\tduration,\n\t\t\tdelay,\n\t\t\tswing,\n\t\t\ttimes,\n\t\t\twait,\n\t\t\twhen\n\t\t};\n\t}\n\tactive(enabled) {\n\t\tif (enabled == null) return this.enabled;\n\t\tthis.enabled = enabled;\n\t\treturn this;\n\t}\n\taddTransform(transform) {\n\t\tthis.transforms.lmultiplyO(transform);\n\t\treturn this;\n\t}\n\tafter(fn) {\n\t\treturn this.on(\"finished\", fn);\n\t}\n\tanimate(duration, delay, when) {\n\t\tconst o = Runner.sanitise(duration, delay, when);\n\t\tconst runner = new Runner(o.duration);\n\t\tif (this._timeline) runner.timeline(this._timeline);\n\t\tif (this._element) runner.element(this._element);\n\t\treturn runner.loop(o).schedule(o.delay, o.when);\n\t}\n\tclearTransform() {\n\t\tthis.transforms = new Matrix();\n\t\treturn this;\n\t}\n\tclearTransformsFromQueue() {\n\t\tvar _context;\n\t\tif (!this.done || !this._timeline || !(0, import_includes.default)(_context = this._timeline._runnerIds).call(_context, this.id)) this._queue = this._queue.filter((item) => {\n\t\t\treturn !item.isTransform;\n\t\t});\n\t}\n\tdelay(delay) {\n\t\treturn this.animate(0, delay);\n\t}\n\tduration() {\n\t\treturn this._times * (this._wait + this._duration) - this._wait;\n\t}\n\tduring(fn) {\n\t\treturn this.queue(null, fn);\n\t}\n\tease(fn) {\n\t\tthis._stepper = new Ease(fn);\n\t\treturn this;\n\t}\n\telement(element) {\n\t\tif (element == null) return this._element;\n\t\tthis._element = element;\n\t\telement._prepareRunner();\n\t\treturn this;\n\t}\n\tfinish() {\n\t\treturn this.step(Infinity);\n\t}\n\tloop(times, swing, wait) {\n\t\tif (typeof times === \"object\") {\n\t\t\tswing = times.swing;\n\t\t\twait = times.wait;\n\t\t\ttimes = times.times;\n\t\t}\n\t\tthis._times = times || Infinity;\n\t\tthis._swing = swing || false;\n\t\tthis._wait = wait || 0;\n\t\tif (this._times === true) this._times = Infinity;\n\t\treturn this;\n\t}\n\tloops(p) {\n\t\tconst loopDuration = this._duration + this._wait;\n\t\tif (p == null) {\n\t\t\tconst loopsDone = Math.floor(this._time / loopDuration);\n\t\t\tconst position = (this._time - loopsDone * loopDuration) / this._duration;\n\t\t\treturn Math.min(loopsDone + position, this._times);\n\t\t}\n\t\tconst whole = Math.floor(p);\n\t\tconst partial = p % 1;\n\t\tconst time = loopDuration * whole + this._duration * partial;\n\t\treturn this.time(time);\n\t}\n\tpersist(dtOrForever) {\n\t\tif (dtOrForever == null) return this._persist;\n\t\tthis._persist = dtOrForever;\n\t\treturn this;\n\t}\n\tposition(p) {\n\t\tconst x = this._time;\n\t\tconst d = this._duration;\n\t\tconst w = this._wait;\n\t\tconst t = this._times;\n\t\tconst s = this._swing;\n\t\tconst r = this._reverse;\n\t\tlet position;\n\t\tif (p == null) {\n\t\t\tconst f = function(x) {\n\t\t\t\tconst swinging = s * Math.floor(x % (2 * (w + d)) / (w + d));\n\t\t\t\tconst backwards = swinging && !r || !swinging && r;\n\t\t\t\tconst uncliped = Math.pow(-1, backwards) * (x % (w + d)) / d + backwards;\n\t\t\t\treturn Math.max(Math.min(uncliped, 1), 0);\n\t\t\t};\n\t\t\tconst endTime = t * (w + d) - w;\n\t\t\tposition = x <= 0 ? Math.round(f(1e-5)) : x < endTime ? f(x) : Math.round(f(endTime - 1e-5));\n\t\t\treturn position;\n\t\t}\n\t\tconst loopsDone = Math.floor(this.loops());\n\t\tconst swingForward = s && loopsDone % 2 === 0;\n\t\tposition = loopsDone + (swingForward && !r || r && swingForward ? p : 1 - p);\n\t\treturn this.loops(position);\n\t}\n\tprogress(p) {\n\t\tif (p == null) return Math.min(1, this._time / this.duration());\n\t\treturn this.time(p * this.duration());\n\t}\n\tqueue(initFn, runFn, retargetFn, isTransform) {\n\t\tthis._queue.push({\n\t\t\tinitialiser: initFn || noop,\n\t\t\trunner: runFn || noop,\n\t\t\tretarget: retargetFn,\n\t\t\tisTransform,\n\t\t\tinitialised: false,\n\t\t\tfinished: false\n\t\t});\n\t\tthis.timeline() && this.timeline()._continue();\n\t\treturn this;\n\t}\n\treset() {\n\t\tif (this._reseted) return this;\n\t\tthis.time(0);\n\t\tthis._reseted = true;\n\t\treturn this;\n\t}\n\treverse(reverse) {\n\t\tthis._reverse = reverse == null ? !this._reverse : reverse;\n\t\treturn this;\n\t}\n\tschedule(timeline, delay, when) {\n\t\tif (!(timeline instanceof Timeline)) {\n\t\t\twhen = delay;\n\t\t\tdelay = timeline;\n\t\t\ttimeline = this.timeline();\n\t\t}\n\t\tif (!timeline) throw Error(\"Runner cannot be scheduled without timeline\");\n\t\ttimeline.schedule(this, delay, when);\n\t\treturn this;\n\t}\n\tstep(dt) {\n\t\tif (!this.enabled) return this;\n\t\tdt = dt == null ? 16 : dt;\n\t\tthis._time += dt;\n\t\tconst position = this.position();\n\t\tconst running = this._lastPosition !== position && this._time >= 0;\n\t\tthis._lastPosition = position;\n\t\tconst duration = this.duration();\n\t\tconst justStarted = this._lastTime <= 0 && this._time > 0;\n\t\tconst justFinished = this._lastTime < duration && this._time >= duration;\n\t\tthis._lastTime = this._time;\n\t\tif (justStarted) this.fire(\"start\", this);\n\t\tconst declarative = this._isDeclarative;\n\t\tthis.done = !declarative && !justFinished && this._time >= duration;\n\t\tthis._reseted = false;\n\t\tlet converged = false;\n\t\tif (running || declarative) {\n\t\t\tthis._initialise(running);\n\t\t\tthis.transforms = new Matrix();\n\t\t\tconverged = this._run(declarative ? dt : position);\n\t\t\tthis.fire(\"step\", this);\n\t\t}\n\t\tthis.done = this.done || converged && declarative;\n\t\tif (justFinished) this.fire(\"finished\", this);\n\t\treturn this;\n\t}\n\ttime(time) {\n\t\tif (time == null) return this._time;\n\t\tconst dt = time - this._time;\n\t\tthis.step(dt);\n\t\treturn this;\n\t}\n\ttimeline(timeline) {\n\t\tif (typeof timeline === \"undefined\") return this._timeline;\n\t\tthis._timeline = timeline;\n\t\treturn this;\n\t}\n\tunschedule() {\n\t\tconst timeline = this.timeline();\n\t\ttimeline && timeline.unschedule(this);\n\t\treturn this;\n\t}\n\t_initialise(running) {\n\t\tif (!running && !this._isDeclarative) return;\n\t\tfor (let i = 0, len = this._queue.length; i < len; ++i) {\n\t\t\tconst current = this._queue[i];\n\t\t\tconst needsIt = this._isDeclarative || !current.initialised && running;\n\t\t\trunning = !current.finished;\n\t\t\tif (needsIt && running) {\n\t\t\t\tcurrent.initialiser.call(this);\n\t\t\t\tcurrent.initialised = true;\n\t\t\t}\n\t\t}\n\t}\n\t_rememberMorpher(method, morpher) {\n\t\tthis._history[method] = {\n\t\t\tmorpher,\n\t\t\tcaller: this._queue[this._queue.length - 1]\n\t\t};\n\t\tif (this._isDeclarative) {\n\t\t\tconst timeline = this.timeline();\n\t\t\ttimeline && timeline.play();\n\t\t}\n\t}\n\t_run(positionOrDt) {\n\t\tlet allfinished = true;\n\t\tfor (let i = 0, len = this._queue.length; i < len; ++i) {\n\t\t\tconst current = this._queue[i];\n\t\t\tconst converged = current.runner.call(this, positionOrDt);\n\t\t\tcurrent.finished = current.finished || converged === true;\n\t\t\tallfinished = allfinished && current.finished;\n\t\t}\n\t\treturn allfinished;\n\t}\n\t_tryRetarget(method, target, extra) {\n\t\tif (this._history[method]) {\n\t\t\tif (!this._history[method].caller.initialised) {\n\t\t\t\tconst index = this._queue.indexOf(this._history[method].caller);\n\t\t\t\tthis._queue.splice(index, 1);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (this._history[method].caller.retarget) this._history[method].caller.retarget.call(this, target, extra);\n\t\t\telse this._history[method].morpher.to(target);\n\t\t\tthis._history[method].caller.finished = false;\n\t\t\tconst timeline = this.timeline();\n\t\t\ttimeline && timeline.play();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n};\nRunner.id = 0;\nvar FakeRunner = class {\n\tconstructor(transforms = new Matrix(), id = -1, done = true) {\n\t\tthis.transforms = transforms;\n\t\tthis.id = id;\n\t\tthis.done = done;\n\t}\n\tclearTransformsFromQueue() {}\n};\nextend([Runner, FakeRunner], { mergeWith(runner) {\n\treturn new FakeRunner(runner.transforms.lmultiply(this.transforms), runner.id);\n} });\nconst lmultiply = (last, curr) => last.lmultiplyO(curr);\nconst getRunnerTransform = (runner) => runner.transforms;\nfunction mergeTransforms() {\n\tconst netTransform = this._transformationRunners.runners.map(getRunnerTransform).reduce(lmultiply, new Matrix());\n\tthis.transform(netTransform);\n\tthis._transformationRunners.merge();\n\tif (this._transformationRunners.length() === 1) this._frameId = null;\n}\nvar RunnerArray = class {\n\tconstructor() {\n\t\tthis.runners = [];\n\t\tthis.ids = [];\n\t}\n\tadd(runner) {\n\t\tvar _context2;\n\t\tif ((0, import_includes.default)(_context2 = this.runners).call(_context2, runner)) return;\n\t\tconst id = runner.id + 1;\n\t\tthis.runners.push(runner);\n\t\tthis.ids.push(id);\n\t\treturn this;\n\t}\n\tclearBefore(id) {\n\t\tconst deleteCnt = this.ids.indexOf(id + 1) || 1;\n\t\tthis.ids.splice(0, deleteCnt, 0);\n\t\tthis.runners.splice(0, deleteCnt, new FakeRunner()).forEach((r) => r.clearTransformsFromQueue());\n\t\treturn this;\n\t}\n\tedit(id, newRunner) {\n\t\tconst index = this.ids.indexOf(id + 1);\n\t\tthis.ids.splice(index, 1, id + 1);\n\t\tthis.runners.splice(index, 1, newRunner);\n\t\treturn this;\n\t}\n\tgetByID(id) {\n\t\treturn this.runners[this.ids.indexOf(id + 1)];\n\t}\n\tlength() {\n\t\treturn this.ids.length;\n\t}\n\tmerge() {\n\t\tlet lastRunner = null;\n\t\tfor (let i = 0; i < this.runners.length; ++i) {\n\t\t\tvar _context3, _context4;\n\t\t\tconst runner = this.runners[i];\n\t\t\tif (lastRunner && runner.done && lastRunner.done && (!runner._timeline || !(0, import_includes.default)(_context3 = runner._timeline._runnerIds).call(_context3, runner.id)) && (!lastRunner._timeline || !(0, import_includes.default)(_context4 = lastRunner._timeline._runnerIds).call(_context4, lastRunner.id))) {\n\t\t\t\tthis.remove(runner.id);\n\t\t\t\tconst newRunner = runner.mergeWith(lastRunner);\n\t\t\t\tthis.edit(lastRunner.id, newRunner);\n\t\t\t\tlastRunner = newRunner;\n\t\t\t\t--i;\n\t\t\t} else lastRunner = runner;\n\t\t}\n\t\treturn this;\n\t}\n\tremove(id) {\n\t\tconst index = this.ids.indexOf(id + 1);\n\t\tthis.ids.splice(index, 1);\n\t\tthis.runners.splice(index, 1);\n\t\treturn this;\n\t}\n};\nregisterMethods({ Element: {\n\tanimate(duration, delay, when) {\n\t\tconst o = Runner.sanitise(duration, delay, when);\n\t\tconst timeline = this.timeline();\n\t\treturn new Runner(o.duration).loop(o).element(this).timeline(timeline.play()).schedule(o.delay, o.when);\n\t},\n\tdelay(by, when) {\n\t\treturn this.animate(0, by, when);\n\t},\n\t_clearTransformRunnersBefore(currentRunner) {\n\t\tthis._transformationRunners.clearBefore(currentRunner.id);\n\t},\n\t_currentTransform(current) {\n\t\treturn this._transformationRunners.runners.filter((runner) => runner.id <= current.id).map(getRunnerTransform).reduce(lmultiply, new Matrix());\n\t},\n\t_addRunner(runner) {\n\t\tthis._transformationRunners.add(runner);\n\t\tAnimator.cancelImmediate(this._frameId);\n\t\tthis._frameId = Animator.immediate(mergeTransforms.bind(this));\n\t},\n\t_prepareRunner() {\n\t\tif (this._frameId == null) this._transformationRunners = new RunnerArray().add(new FakeRunner(new Matrix(this)));\n\t}\n} });\nconst difference = (a, b) => a.filter((x) => !(0, import_includes.default)(b).call(b, x));\nextend(Runner, {\n\tattr(a, v) {\n\t\treturn this.styleAttr(\"attr\", a, v);\n\t},\n\tcss(s, v) {\n\t\treturn this.styleAttr(\"css\", s, v);\n\t},\n\tstyleAttr(type, nameOrAttrs, val) {\n\t\tif (typeof nameOrAttrs === \"string\") return this.styleAttr(type, { [nameOrAttrs]: val });\n\t\tconst attrs = nameOrAttrs;\n\t\tconst history = this._history[type];\n\t\tif (history && !history.caller.initialised && history.caller.retarget) {\n\t\t\thistory.caller.retarget.call(this, attrs);\n\t\t\treturn this;\n\t\t}\n\t\tif (this._tryRetarget(type, attrs)) return this;\n\t\tlet morpher = new Morphable(this._stepper).to(attrs);\n\t\tlet keys = Object.keys(attrs);\n\t\tthis.queue(function() {\n\t\t\tmorpher = morpher.from(this.element()[type](keys));\n\t\t}, function(pos) {\n\t\t\tthis.element()[type](morpher.at(pos).valueOf());\n\t\t\treturn morpher.done();\n\t\t}, function(newToAttrs) {\n\t\t\tconst differences = difference(Object.keys(newToAttrs), keys);\n\t\t\tif (differences.length && morpher.from() != null) {\n\t\t\t\tconst addedFromAttrs = this.element()[type](differences);\n\t\t\t\tconst oldFromAttrs = new ObjectBag(morpher.from()).valueOf();\n\t\t\t\tObject.assign(oldFromAttrs, addedFromAttrs);\n\t\t\t\tmorpher.from(oldFromAttrs);\n\t\t\t}\n\t\t\tconst mergedToAttrs = new ObjectBag(morpher.to()).valueOf();\n\t\t\tObject.assign(mergedToAttrs, newToAttrs);\n\t\t\tmorpher.to(mergedToAttrs);\n\t\t\tkeys = Object.keys(mergedToAttrs);\n\t\t});\n\t\tthis._rememberMorpher(type, morpher);\n\t\treturn this;\n\t},\n\tzoom(level, point) {\n\t\tif (this._tryRetarget(\"zoom\", level, point)) return this;\n\t\tlet morpher = new Morphable(this._stepper).to(new SVGNumber(level));\n\t\tthis.queue(function() {\n\t\t\tmorpher = morpher.from(this.element().zoom());\n\t\t}, function(pos) {\n\t\t\tthis.element().zoom(morpher.at(pos), point);\n\t\t\treturn morpher.done();\n\t\t}, function(newLevel, newPoint) {\n\t\t\tpoint = newPoint;\n\t\t\tmorpher.to(newLevel);\n\t\t});\n\t\tthis._rememberMorpher(\"zoom\", morpher);\n\t\treturn this;\n\t},\n\t/**\n\t** absolute transformations\n\t**/\n\ttransform(transforms, relative, affine) {\n\t\trelative = transforms.relative || relative;\n\t\tif (this._isDeclarative && !relative && this._tryRetarget(\"transform\", transforms)) return this;\n\t\tconst isMatrix = Matrix.isMatrixLike(transforms);\n\t\taffine = transforms.affine != null ? transforms.affine : affine != null ? affine : !isMatrix;\n\t\tconst morpher = new Morphable(this._stepper).type(affine ? TransformBag : Matrix);\n\t\tlet origin;\n\t\tlet element;\n\t\tlet current;\n\t\tlet currentAngle;\n\t\tlet startTransform;\n\t\tfunction setup() {\n\t\t\telement = element || this.element();\n\t\t\torigin = origin || getOrigin(transforms, element);\n\t\t\tstartTransform = new Matrix(relative ? void 0 : element);\n\t\t\telement._addRunner(this);\n\t\t\tif (!relative) element._clearTransformRunnersBefore(this);\n\t\t}\n\t\tfunction run(pos) {\n\t\t\tif (!relative) this.clearTransform();\n\t\t\tconst { x, y } = new Point(origin).transform(element._currentTransform(this));\n\t\t\tconst targetTransforms = {\n\t\t\t\t...transforms,\n\t\t\t\torigin: [x, y]\n\t\t\t};\n\t\t\tif (targetTransforms.relative === true) delete targetTransforms.relative;\n\t\t\tlet target = new Matrix(targetTransforms);\n\t\t\tlet start = this._isDeclarative && current ? current : startTransform;\n\t\t\tif (affine) {\n\t\t\t\ttarget = target.decompose(x, y);\n\t\t\t\tstart = start.decompose(x, y);\n\t\t\t\tconst rTarget = target.rotate;\n\t\t\t\tconst rCurrent = start.rotate;\n\t\t\t\tconst possibilities = [\n\t\t\t\t\trTarget - 360,\n\t\t\t\t\trTarget,\n\t\t\t\t\trTarget + 360\n\t\t\t\t];\n\t\t\t\tconst distances = possibilities.map((a) => Math.abs(a - rCurrent));\n\t\t\t\tconst shortest = Math.min(...distances);\n\t\t\t\tconst index = distances.indexOf(shortest);\n\t\t\t\ttarget.rotate = possibilities[index];\n\t\t\t}\n\t\t\tif (relative) {\n\t\t\t\tif (!isMatrix) target.rotate = transforms.rotate || 0;\n\t\t\t\tif (this._isDeclarative && currentAngle) start.rotate = currentAngle;\n\t\t\t}\n\t\t\tmorpher.from(start);\n\t\t\tmorpher.to(target);\n\t\t\tconst affineParameters = morpher.at(pos);\n\t\t\tcurrentAngle = affineParameters.rotate;\n\t\t\tcurrent = new Matrix(affineParameters);\n\t\t\tthis.addTransform(current);\n\t\t\telement._addRunner(this);\n\t\t\treturn morpher.done();\n\t\t}\n\t\tfunction retarget(newTransforms) {\n\t\t\tif ((newTransforms.origin || \"center\").toString() !== (transforms.origin || \"center\").toString()) origin = getOrigin(newTransforms, element);\n\t\t\ttransforms = {\n\t\t\t\t...newTransforms,\n\t\t\t\torigin\n\t\t\t};\n\t\t}\n\t\tthis.queue(setup, run, retarget, true);\n\t\tthis._isDeclarative && this._rememberMorpher(\"transform\", morpher);\n\t\treturn this;\n\t},\n\tx(x) {\n\t\treturn this._queueNumber(\"x\", x);\n\t},\n\ty(y) {\n\t\treturn this._queueNumber(\"y\", y);\n\t},\n\tax(x) {\n\t\treturn this._queueNumber(\"ax\", x);\n\t},\n\tay(y) {\n\t\treturn this._queueNumber(\"ay\", y);\n\t},\n\tdx(x = 0) {\n\t\treturn this._queueNumberDelta(\"x\", x);\n\t},\n\tdy(y = 0) {\n\t\treturn this._queueNumberDelta(\"y\", y);\n\t},\n\tdmove(x, y) {\n\t\treturn this.dx(x).dy(y);\n\t},\n\t_queueNumberDelta(method, to) {\n\t\tto = new SVGNumber(to);\n\t\tif (this._tryRetarget(method, to)) return this;\n\t\tconst morpher = new Morphable(this._stepper).to(to);\n\t\tlet from = null;\n\t\tthis.queue(function() {\n\t\t\tfrom = this.element()[method]();\n\t\t\tmorpher.from(from);\n\t\t\tmorpher.to(from + to);\n\t\t}, function(pos) {\n\t\t\tthis.element()[method](morpher.at(pos));\n\t\t\treturn morpher.done();\n\t\t}, function(newTo) {\n\t\t\tmorpher.to(from + new SVGNumber(newTo));\n\t\t});\n\t\tthis._rememberMorpher(method, morpher);\n\t\treturn this;\n\t},\n\t_queueObject(method, to) {\n\t\tif (this._tryRetarget(method, to)) return this;\n\t\tconst morpher = new Morphable(this._stepper).to(to);\n\t\tthis.queue(function() {\n\t\t\tmorpher.from(this.element()[method]());\n\t\t}, function(pos) {\n\t\t\tthis.element()[method](morpher.at(pos));\n\t\t\treturn morpher.done();\n\t\t});\n\t\tthis._rememberMorpher(method, morpher);\n\t\treturn this;\n\t},\n\t_queueNumber(method, value) {\n\t\treturn this._queueObject(method, new SVGNumber(value));\n\t},\n\tcx(x) {\n\t\treturn this._queueNumber(\"cx\", x);\n\t},\n\tcy(y) {\n\t\treturn this._queueNumber(\"cy\", y);\n\t},\n\tmove(x, y) {\n\t\treturn this.x(x).y(y);\n\t},\n\tamove(x, y) {\n\t\treturn this.ax(x).ay(y);\n\t},\n\tcenter(x, y) {\n\t\treturn this.cx(x).cy(y);\n\t},\n\tsize(width, height) {\n\t\tconst size = proportionalSize(this._element, width, height);\n\t\treturn this.width(size.width).height(size.height);\n\t},\n\twidth(width) {\n\t\treturn this._queueNumber(\"width\", width);\n\t},\n\theight(height) {\n\t\treturn this._queueNumber(\"height\", height);\n\t},\n\tplot(a, b, c, d) {\n\t\tif (arguments.length === 4) return this.plot([\n\t\t\ta,\n\t\t\tb,\n\t\t\tc,\n\t\t\td\n\t\t]);\n\t\tif (this._tryRetarget(\"plot\", a)) return this;\n\t\tconst morpher = new Morphable(this._stepper).type(this._element.MorphArray).to(a);\n\t\tthis.queue(function() {\n\t\t\tmorpher.from(this._element.array());\n\t\t}, function(pos) {\n\t\t\tthis._element.plot(morpher.at(pos));\n\t\t\treturn morpher.done();\n\t\t});\n\t\tthis._rememberMorpher(\"plot\", morpher);\n\t\treturn this;\n\t},\n\tleading(value) {\n\t\treturn this._queueNumber(\"leading\", value);\n\t},\n\tviewbox(x, y, width, height) {\n\t\treturn this._queueObject(\"viewbox\", new Box(x, y, width, height));\n\t},\n\tupdate(o) {\n\t\tif (typeof o !== \"object\") return this.update({\n\t\t\toffset: arguments[0],\n\t\t\tcolor: arguments[1],\n\t\t\topacity: arguments[2]\n\t\t});\n\t\tif (o.opacity != null) this.attr(\"stop-opacity\", o.opacity);\n\t\tif (o.color != null) this.attr(\"stop-color\", o.color);\n\t\tif (o.offset != null) this.attr(\"offset\", o.offset);\n\t\treturn this;\n\t}\n});\nextend(Runner, {\n\trx,\n\try,\n\tfrom,\n\tto\n});\nregister(Runner, \"Runner\");\n\n//#endregion\n//#region src/elements/Svg.js\nvar Svg = class extends Container {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"svg\", node), attrs);\n\t\tthis.namespace();\n\t}\n\tdefs() {\n\t\tif (!this.isRoot()) return this.root().defs();\n\t\treturn adopt(this.node.querySelector(\"defs\")) || this.put(new Defs());\n\t}\n\tisRoot() {\n\t\treturn !this.node.parentNode || !(this.node.parentNode instanceof globals.window.SVGElement) && this.node.parentNode.nodeName !== \"#document-fragment\";\n\t}\n\tnamespace() {\n\t\tif (!this.isRoot()) return this.root().namespace();\n\t\treturn this.attr({\n\t\t\txmlns: svg,\n\t\t\tversion: \"1.1\"\n\t\t}).attr(\"xmlns:xlink\", xlink, xmlns);\n\t}\n\tremoveNamespace() {\n\t\treturn this.attr({\n\t\t\txmlns: null,\n\t\t\tversion: null\n\t\t}).attr(\"xmlns:xlink\", null, xmlns).attr(\"xmlns:svgjs\", null, xmlns);\n\t}\n\troot() {\n\t\tif (this.isRoot()) return this;\n\t\treturn super.root();\n\t}\n};\nregisterMethods({ Container: { nested: wrapWithAttrCheck(function() {\n\treturn this.put(new Svg());\n}) } });\nregister(Svg, \"Svg\", true);\n\n//#endregion\n//#region src/elements/Symbol.js\nvar Symbol$1 = class extends Container {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"symbol\", node), attrs);\n\t}\n};\nregisterMethods({ Container: { symbol: wrapWithAttrCheck(function() {\n\treturn this.put(new Symbol$1());\n}) } });\nregister(Symbol$1, \"Symbol\");\n\n//#endregion\n//#region src/modules/core/textable.js\nvar textable_exports = /* @__PURE__ */ __exportAll({\n\tamove: () => amove,\n\tax: () => ax,\n\tay: () => ay,\n\tbuild: () => build,\n\tcenter: () => center,\n\tcx: () => cx,\n\tcy: () => cy,\n\tlength: () => length,\n\tmove: () => move$1,\n\tplain: () => plain,\n\tx: () => x$1,\n\ty: () => y$1\n});\nfunction plain(text) {\n\tif (this._build === false) this.clear();\n\tthis.node.appendChild(globals.document.createTextNode(text));\n\treturn this;\n}\nfunction length() {\n\treturn this.node.getComputedTextLength();\n}\nfunction x$1(x, box = this.bbox()) {\n\tif (x == null) return box.x;\n\treturn this.attr(\"x\", this.attr(\"x\") + x - box.x);\n}\nfunction y$1(y, box = this.bbox()) {\n\tif (y == null) return box.y;\n\treturn this.attr(\"y\", this.attr(\"y\") + y - box.y);\n}\nfunction move$1(x, y, box = this.bbox()) {\n\treturn this.x(x, box).y(y, box);\n}\nfunction cx(x, box = this.bbox()) {\n\tif (x == null) return box.cx;\n\treturn this.attr(\"x\", this.attr(\"x\") + x - box.cx);\n}\nfunction cy(y, box = this.bbox()) {\n\tif (y == null) return box.cy;\n\treturn this.attr(\"y\", this.attr(\"y\") + y - box.cy);\n}\nfunction center(x, y, box = this.bbox()) {\n\treturn this.cx(x, box).cy(y, box);\n}\nfunction ax(x) {\n\treturn this.attr(\"x\", x);\n}\nfunction ay(y) {\n\treturn this.attr(\"y\", y);\n}\nfunction amove(x, y) {\n\treturn this.ax(x).ay(y);\n}\nfunction build(build) {\n\tthis._build = !!build;\n\treturn this;\n}\n\n//#endregion\n//#region src/elements/Text.js\nvar Text = class extends Shape {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"text\", node), attrs);\n\t\tthis.dom.leading = this.dom.leading ?? new SVGNumber(1.3);\n\t\tthis._rebuild = true;\n\t\tthis._build = false;\n\t}\n\tleading(value) {\n\t\tif (value == null) return this.dom.leading;\n\t\tthis.dom.leading = new SVGNumber(value);\n\t\treturn this.rebuild();\n\t}\n\trebuild(rebuild) {\n\t\tif (typeof rebuild === \"boolean\") this._rebuild = rebuild;\n\t\tif (this._rebuild) {\n\t\t\tconst self = this;\n\t\t\tlet blankLineOffset = 0;\n\t\t\tconst leading = this.dom.leading;\n\t\t\tthis.each(function(i) {\n\t\t\t\tif (isDescriptive(this.node)) return;\n\t\t\t\tconst fontSize = globals.window.getComputedStyle(this.node).getPropertyValue(\"font-size\");\n\t\t\t\tconst dy = leading * new SVGNumber(fontSize);\n\t\t\t\tif (this.dom.newLined) {\n\t\t\t\t\tthis.attr(\"x\", self.attr(\"x\"));\n\t\t\t\t\tif (this.text() === \"\\n\") blankLineOffset += dy;\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.attr(\"dy\", i ? dy + blankLineOffset : 0);\n\t\t\t\t\t\tblankLineOffset = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.fire(\"rebuild\");\n\t\t}\n\t\treturn this;\n\t}\n\tsetData(o) {\n\t\tthis.dom = o;\n\t\tthis.dom.leading = new SVGNumber(o.leading || 1.3);\n\t\treturn this;\n\t}\n\twriteDataToDom() {\n\t\treturn super.writeDataToDom({ leading: 1.3 });\n\t}\n\ttext(text) {\n\t\tif (text === void 0) {\n\t\t\tconst children = this.node.childNodes;\n\t\t\tlet firstLine = 0;\n\t\t\ttext = \"\";\n\t\t\tfor (let i = 0, len = children.length; i < len; ++i) {\n\t\t\t\tif (children[i].nodeName === \"textPath\" || isDescriptive(children[i])) {\n\t\t\t\t\tif (i === 0) firstLine = i + 1;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (i !== firstLine && children[i].nodeType !== 3 && adopt(children[i]).dom.newLined === true) text += \"\\n\";\n\t\t\t\ttext += children[i].textContent;\n\t\t\t}\n\t\t\treturn text;\n\t\t}\n\t\tthis.clear().build(true);\n\t\tif (typeof text === \"function\") text.call(this, this);\n\t\telse {\n\t\t\ttext = (text + \"\").split(\"\\n\");\n\t\t\tfor (let j = 0, jl = text.length; j < jl; j++) this.newLine(text[j]);\n\t\t}\n\t\treturn this.build(false).rebuild();\n\t}\n};\nextend(Text, textable_exports);\nregisterMethods({ Container: {\n\ttext: wrapWithAttrCheck(function(text = \"\") {\n\t\treturn this.put(new Text()).text(text);\n\t}),\n\tplain: wrapWithAttrCheck(function(text = \"\") {\n\t\treturn this.put(new Text()).plain(text);\n\t})\n} });\nregister(Text, \"Text\");\n\n//#endregion\n//#region src/elements/Tspan.js\nvar Tspan = class extends Shape {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"tspan\", node), attrs);\n\t\tthis._build = false;\n\t}\n\tdx(dx) {\n\t\treturn this.attr(\"dx\", dx);\n\t}\n\tdy(dy) {\n\t\treturn this.attr(\"dy\", dy);\n\t}\n\tnewLine() {\n\t\tthis.dom.newLined = true;\n\t\tconst text = this.parent();\n\t\tif (!(text instanceof Text)) return this;\n\t\tconst i = text.index(this);\n\t\tconst fontSize = globals.window.getComputedStyle(this.node).getPropertyValue(\"font-size\");\n\t\tconst dy = text.dom.leading * new SVGNumber(fontSize);\n\t\treturn this.dy(i ? dy : 0).attr(\"x\", text.x());\n\t}\n\ttext(text) {\n\t\tif (text == null) return this.node.textContent + (this.dom.newLined ? \"\\n\" : \"\");\n\t\tif (typeof text === \"function\") {\n\t\t\tthis.clear().build(true);\n\t\t\ttext.call(this, this);\n\t\t\tthis.build(false);\n\t\t} else this.plain(text);\n\t\treturn this;\n\t}\n};\nextend(Tspan, textable_exports);\nregisterMethods({\n\tTspan: { tspan: wrapWithAttrCheck(function(text = \"\") {\n\t\tconst tspan = new Tspan();\n\t\tif (!this._build) this.clear();\n\t\treturn this.put(tspan).text(text);\n\t}) },\n\tText: { newLine: function(text = \"\") {\n\t\treturn this.tspan(text).newLine();\n\t} }\n});\nregister(Tspan, \"Tspan\");\n\n//#endregion\n//#region src/elements/Circle.js\nvar Circle = class extends Shape {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"circle\", node), attrs);\n\t}\n\tradius(r) {\n\t\treturn this.attr(\"r\", r);\n\t}\n\trx(rx) {\n\t\treturn this.attr(\"r\", rx);\n\t}\n\try(ry) {\n\t\treturn this.rx(ry);\n\t}\n\tsize(size) {\n\t\treturn this.radius(new SVGNumber(size).divide(2));\n\t}\n};\nextend(Circle, {\n\tx: x$3,\n\ty: y$3,\n\tcx: cx$1,\n\tcy: cy$1,\n\twidth: width$2,\n\theight: height$2\n});\nregisterMethods({ Container: { circle: wrapWithAttrCheck(function(size = 0) {\n\treturn this.put(new Circle()).size(size).move(0, 0);\n}) } });\nregister(Circle, \"Circle\");\n\n//#endregion\n//#region src/elements/ClipPath.js\nvar ClipPath = class extends Container {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"clipPath\", node), attrs);\n\t}\n\tremove() {\n\t\tthis.targets().forEach(function(el) {\n\t\t\tel.unclip();\n\t\t});\n\t\treturn super.remove();\n\t}\n\ttargets() {\n\t\treturn findReferences(this.node, \"clip-path\");\n\t}\n};\nregisterMethods({\n\tContainer: { clip: wrapWithAttrCheck(function() {\n\t\treturn this.defs().put(new ClipPath());\n\t}) },\n\tElement: {\n\t\tclipper() {\n\t\t\treturn this.reference(\"clip-path\");\n\t\t},\n\t\tclipWith(element) {\n\t\t\tconst clipper = element instanceof ClipPath ? element : this.parent().clip().add(element);\n\t\t\treturn this.attr(\"clip-path\", \"url(#\" + clipper.id() + \")\");\n\t\t},\n\t\tunclip() {\n\t\t\treturn this.attr(\"clip-path\", null);\n\t\t}\n\t}\n});\nregister(ClipPath, \"ClipPath\");\n\n//#endregion\n//#region src/elements/ForeignObject.js\nvar ForeignObject = class extends Element {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"foreignObject\", node), attrs);\n\t}\n};\nregisterMethods({ Container: { foreignObject: wrapWithAttrCheck(function(width, height) {\n\treturn this.put(new ForeignObject()).size(width, height);\n}) } });\nregister(ForeignObject, \"ForeignObject\");\n\n//#endregion\n//#region src/modules/core/containerGeometry.js\nvar containerGeometry_exports = /* @__PURE__ */ __exportAll({\n\tdmove: () => dmove,\n\tdx: () => dx,\n\tdy: () => dy,\n\theight: () => height,\n\tmove: () => move,\n\tsize: () => size,\n\twidth: () => width,\n\tx: () => x,\n\ty: () => y\n});\nfunction dmove(dx, dy) {\n\tthis.children().forEach((child) => {\n\t\tlet bbox;\n\t\ttry {\n\t\t\tbbox = child.node instanceof getWindow().SVGSVGElement ? new Box(child.attr([\n\t\t\t\t\"x\",\n\t\t\t\t\"y\",\n\t\t\t\t\"width\",\n\t\t\t\t\"height\"\n\t\t\t])) : child.bbox();\n\t\t} catch (e) {\n\t\t\treturn;\n\t\t}\n\t\tconst m = new Matrix(child);\n\t\tconst matrix = m.translate(dx, dy).transform(m.inverse());\n\t\tconst p = new Point(bbox.x, bbox.y).transform(matrix);\n\t\tchild.dmove(p.x - bbox.x, p.y - bbox.y);\n\t});\n\treturn this;\n}\nfunction dx(dx) {\n\treturn this.dmove(dx, 0);\n}\nfunction dy(dy) {\n\treturn this.dmove(0, dy);\n}\nfunction height(height, box = this.bbox()) {\n\tif (height == null) return box.height;\n\treturn this.size(box.width, height, box);\n}\nfunction move(x = 0, y = 0, box = this.bbox()) {\n\tconst dx = x - box.x;\n\tconst dy = y - box.y;\n\treturn this.dmove(dx, dy);\n}\nfunction size(width, height, box = this.bbox()) {\n\tconst p = proportionalSize(this, width, height, box);\n\tconst scaleX = p.width / box.width;\n\tconst scaleY = p.height / box.height;\n\tthis.children().forEach((child) => {\n\t\tconst o = new Point(box).transform(new Matrix(child).inverse());\n\t\tchild.scale(scaleX, scaleY, o.x, o.y);\n\t});\n\treturn this;\n}\nfunction width(width, box = this.bbox()) {\n\tif (width == null) return box.width;\n\treturn this.size(width, box.height, box);\n}\nfunction x(x, box = this.bbox()) {\n\tif (x == null) return box.x;\n\treturn this.move(x, box.y, box);\n}\nfunction y(y, box = this.bbox()) {\n\tif (y == null) return box.y;\n\treturn this.move(box.x, y, box);\n}\n\n//#endregion\n//#region src/elements/G.js\nvar G = class extends Container {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"g\", node), attrs);\n\t}\n};\nextend(G, containerGeometry_exports);\nregisterMethods({ Container: { group: wrapWithAttrCheck(function() {\n\treturn this.put(new G());\n}) } });\nregister(G, \"G\");\n\n//#endregion\n//#region src/elements/A.js\nvar A = class extends Container {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"a\", node), attrs);\n\t}\n\ttarget(target) {\n\t\treturn this.attr(\"target\", target);\n\t}\n\tto(url) {\n\t\treturn this.attr(\"href\", url, xlink);\n\t}\n};\nextend(A, containerGeometry_exports);\nregisterMethods({\n\tContainer: { link: wrapWithAttrCheck(function(url) {\n\t\treturn this.put(new A()).to(url);\n\t}) },\n\tElement: {\n\t\tunlink() {\n\t\t\tconst link = this.linker();\n\t\t\tif (!link) return this;\n\t\t\tconst parent = link.parent();\n\t\t\tif (!parent) return this.remove();\n\t\t\tconst index = parent.index(link);\n\t\t\tparent.add(this, index);\n\t\t\tlink.remove();\n\t\t\treturn this;\n\t\t},\n\t\tlinkTo(url) {\n\t\t\tlet link = this.linker();\n\t\t\tif (!link) {\n\t\t\t\tlink = new A();\n\t\t\t\tthis.wrap(link);\n\t\t\t}\n\t\t\tif (typeof url === \"function\") url.call(link, link);\n\t\t\telse link.to(url);\n\t\t\treturn this;\n\t\t},\n\t\tlinker() {\n\t\t\tconst link = this.parent();\n\t\t\tif (link && link.node.nodeName.toLowerCase() === \"a\") return link;\n\t\t\treturn null;\n\t\t}\n\t}\n});\nregister(A, \"A\");\n\n//#endregion\n//#region src/elements/Mask.js\nvar Mask = class extends Container {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"mask\", node), attrs);\n\t}\n\tremove() {\n\t\tthis.targets().forEach(function(el) {\n\t\t\tel.unmask();\n\t\t});\n\t\treturn super.remove();\n\t}\n\ttargets() {\n\t\treturn findReferences(this.node, \"mask\");\n\t}\n};\nregisterMethods({\n\tContainer: { mask: wrapWithAttrCheck(function() {\n\t\treturn this.defs().put(new Mask());\n\t}) },\n\tElement: {\n\t\tmasker() {\n\t\t\treturn this.reference(\"mask\");\n\t\t},\n\t\tmaskWith(element) {\n\t\t\tconst masker = element instanceof Mask ? element : this.parent().mask().add(element);\n\t\t\treturn this.attr(\"mask\", \"url(#\" + masker.id() + \")\");\n\t\t},\n\t\tunmask() {\n\t\t\treturn this.attr(\"mask\", null);\n\t\t}\n\t}\n});\nregister(Mask, \"Mask\");\n\n//#endregion\n//#region src/elements/Stop.js\nvar Stop = class extends Element {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"stop\", node), attrs);\n\t}\n\tupdate(o) {\n\t\tif (typeof o === \"number\" || o instanceof SVGNumber) o = {\n\t\t\toffset: arguments[0],\n\t\t\tcolor: arguments[1],\n\t\t\topacity: arguments[2]\n\t\t};\n\t\tif (o.opacity != null) this.attr(\"stop-opacity\", o.opacity);\n\t\tif (o.color != null) this.attr(\"stop-color\", o.color);\n\t\tif (o.offset != null) this.attr(\"offset\", new SVGNumber(o.offset));\n\t\treturn this;\n\t}\n};\nregisterMethods({ Gradient: { stop: function(offset, color, opacity) {\n\treturn this.put(new Stop()).update(offset, color, opacity);\n} } });\nregister(Stop, \"Stop\");\n\n//#endregion\n//#region src/elements/Style.js\nfunction cssRule(selector, rule) {\n\tif (!selector) return \"\";\n\tif (!rule) return selector;\n\tlet ret = selector + \"{\";\n\tfor (const i in rule) ret += unCamelCase(i) + \":\" + rule[i] + \";\";\n\tret += \"}\";\n\treturn ret;\n}\nvar Style = class extends Element {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"style\", node), attrs);\n\t}\n\taddText(w = \"\") {\n\t\tthis.node.textContent += w;\n\t\treturn this;\n\t}\n\tfont(name, src, params = {}) {\n\t\treturn this.rule(\"@font-face\", {\n\t\t\tfontFamily: name,\n\t\t\tsrc,\n\t\t\t...params\n\t\t});\n\t}\n\trule(selector, obj) {\n\t\treturn this.addText(cssRule(selector, obj));\n\t}\n};\nregisterMethods(\"Dom\", {\n\tstyle(selector, obj) {\n\t\treturn this.put(new Style()).rule(selector, obj);\n\t},\n\tfontface(name, src, params) {\n\t\treturn this.put(new Style()).font(name, src, params);\n\t}\n});\nregister(Style, \"Style\");\n\n//#endregion\n//#region src/elements/TextPath.js\nvar TextPath = class extends Text {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"textPath\", node), attrs);\n\t}\n\tarray() {\n\t\tconst track = this.track();\n\t\treturn track ? track.array() : null;\n\t}\n\tplot(d) {\n\t\tconst track = this.track();\n\t\tlet pathArray = null;\n\t\tif (track) pathArray = track.plot(d);\n\t\treturn d == null ? pathArray : this;\n\t}\n\ttrack() {\n\t\treturn this.reference(\"href\");\n\t}\n};\nregisterMethods({\n\tContainer: { textPath: wrapWithAttrCheck(function(text, path) {\n\t\tif (!(text instanceof Text)) text = this.text(text);\n\t\treturn text.path(path);\n\t}) },\n\tText: {\n\t\tpath: wrapWithAttrCheck(function(track, importNodes = true) {\n\t\t\tconst textPath = new TextPath();\n\t\t\tif (!(track instanceof Path)) track = this.defs().path(track);\n\t\t\ttextPath.attr(\"href\", \"#\" + track, xlink);\n\t\t\tlet node;\n\t\t\tif (importNodes) while (node = this.node.firstChild) textPath.node.appendChild(node);\n\t\t\treturn this.put(textPath);\n\t\t}),\n\t\ttextPath() {\n\t\t\treturn this.findOne(\"textPath\");\n\t\t}\n\t},\n\tPath: {\n\t\ttext: wrapWithAttrCheck(function(text) {\n\t\t\tif (!(text instanceof Text)) text = new Text().addTo(this.parent()).text(text);\n\t\t\treturn text.path(this);\n\t\t}),\n\t\ttargets() {\n\t\t\treturn findReferences(this.node, \"href\", \"textPath\");\n\t\t}\n\t}\n});\nTextPath.prototype.MorphArray = PathArray;\nregister(TextPath, \"TextPath\");\n\n//#endregion\n//#region src/elements/Use.js\nvar Use = class extends Shape {\n\tconstructor(node, attrs = node) {\n\t\tsuper(nodeOrNew(\"use\", node), attrs);\n\t}\n\tuse(element, file) {\n\t\treturn this.attr(\"href\", (file || \"\") + \"#\" + element, xlink);\n\t}\n};\nregisterMethods({ Container: { use: wrapWithAttrCheck(function(element, file) {\n\treturn this.put(new Use()).use(element, file);\n}) } });\nregister(Use, \"Use\");\n\n//#endregion\n//#region src/main.js\nconst SVG = makeInstance;\nextend([\n\tSvg,\n\tSymbol$1,\n\tImage,\n\tPattern,\n\tMarker\n], getMethodsFor(\"viewbox\"));\nextend([\n\tLine,\n\tPolyline,\n\tPolygon,\n\tPath\n], getMethodsFor(\"marker\"));\nextend(Text, getMethodsFor(\"Text\"));\nextend(Path, getMethodsFor(\"Path\"));\nextend(Defs, getMethodsFor(\"Defs\"));\nextend([Text, Tspan], getMethodsFor(\"Tspan\"));\nextend([\n\tRect,\n\tEllipse,\n\tGradient,\n\tRunner\n], getMethodsFor(\"radius\"));\nextend(EventTarget, getMethodsFor(\"EventTarget\"));\nextend(Dom, getMethodsFor(\"Dom\"));\nextend(Element, getMethodsFor(\"Element\"));\nextend(Shape, getMethodsFor(\"Shape\"));\nextend([Container, Fragment], getMethodsFor(\"Container\"));\nextend(Gradient, getMethodsFor(\"Gradient\"));\nextend(Runner, getMethodsFor(\"Runner\"));\nList.extend(getMethodNames());\nregisterMorphableType([\n\tSVGNumber,\n\tColor,\n\tBox,\n\tMatrix,\n\tSVGArray,\n\tPointArray,\n\tPathArray,\n\tPoint\n]);\nmakeMorphable();\n\n//#endregion\nexport { A, Animator, SVGArray as Array, Box, Circle, ClipPath, Color, Container, Controller, Defs, Dom, Ease, Element, Ellipse, EventTarget, ForeignObject, Fragment, G, Gradient, Image, Line, List, Marker, Mask, Matrix, Morphable, NonMorphable, SVGNumber as Number, ObjectBag, PID, Path, PathArray, Pattern, Point, PointArray, Polygon, Polyline, Queue, Rect, Runner, SVG, Shape, Spring, Stop, Style, Svg, Symbol$1 as Symbol, Text, TextPath, Timeline, TransformBag, Tspan, Use, adopt, assignNewId, create, defaults_exports as defaults, dispatch, easing, eid, extend, baseFind as find, getClass, getWindow, makeInstance, makeMorphable, mockAdopt, namespaces_exports as namespaces, nodeOrNew, off, on, parser, regex_exports as regex, register, registerMorphableType, registerWindow, root, utils_exports as utils, withWindow, wrapWithAttrCheck };\n//# sourceMappingURL=svg.esm.js.map","import {SVG} from '@svgdotjs/svg.js';\n\n// Source: workflow-svg.js project. Adapted to not be an external requirement to make it easier for the builder to work.\nexport function RecipientFlow() {\n let _json = {entities: []} as Record<string, any>;\n let _draw;\n let _lines = [];\n\n function initalize(id, width, height) {\n _draw = SVG().addTo(id).size(width, height);\n\n _draw.entities = [];\n _draw.lines = _draw.group();\n _draw.labels = _draw.group();\n }\n\n function _renderEntities(_draw, entity) {\n const group = _draw.group().attr({id: entity.id});\n _draw.entities.push(group);\n\n //assginment and default values for entities\n entity.background_color = entity.background_color ? entity.background_color : '#f06';\n entity.color = entity.color ? entity.color : '#ffffff';\n entity.radius = entity.radius ? entity.radius : 0;\n\n //the real entity\n group.entity = group\n .rect(entity.width, entity.height)\n .cx(entity.width / 2)\n .cy(entity.height / 2)\n .attr({fill: '#ffffff', stroke: entity.color, ['stroke-width']: 2})\n .radius(entity.radius);\n\n if (entity.class) {\n group.entity.attr('class', entity.class);\n }\n\n group\n .plain(entity.text)\n .cx(14)\n .cy(entity.height / 2 + 6)\n .attr({fill: entity.color});\n\n group.move(entity.x, entity.y);\n }\n\n function _renderLabels() {\n if (_json.labels && _json.labels.length > 0) {\n _json.labels.forEach(l => {\n _draw.labels.text(l.value).x(l.x).y(l.y);\n });\n }\n }\n\n function _renderPolylines(_draw, _lines) {\n _lines.forEach(line => _renderOnePolyline(_draw, line));\n }\n\n function _renderOnePolyline(_draw, line) {\n let polyline = '';\n\n const line_color = line.color || '#4c56cb';\n const from = _draw.findOne('#' + line.from.element);\n const to = _draw.findOne('#' + line.to.element);\n const pointsInBetween = _calculatePointsInBetween(line, from, to);\n\n //start point\n polyline += _calculateX(from, line.from.point) + ',' + _calculateY(from, line.from.point) + ' ';\n\n // points between them\n pointsInBetween.forEach(p => (polyline += p.x + ',' + p.y + ' '));\n\n if (line.to.point === 'top') {\n polyline += _calculateX(to, line.to.point) + ',' + _calculateY(to, line.to.point) + ' ';\n } else if (line.to.point === 'bottom') {\n polyline += _calculateX(to, line.to.point) + ',' + _calculateY(to, line.to.point) + ' ';\n } else {\n polyline += _calculateX(to, line.to.point) + ',' + _calculateY(to, line.to.point) + ' ';\n }\n\n if (!line.polyline) {\n line.polyline = _draw.lines.polyline(polyline).fill('none').stroke({color: line_color, width: 2, linecap: 'round', linejoin: 'round'}).attr('id', line.id);\n } else {\n line.polyline.plot(polyline);\n }\n }\n\n function _calculatePointsInBetween(line, from, to) {\n const pointsInBetween = [];\n\n const y1 = _calculateY(from, line.from.point);\n const y2 = _calculateY(to, line.to.point);\n const x1 = _calculateX(from, line.from.point);\n const x2 = _calculateX(to, line.to.point);\n\n const p1 = _translatePositionToNumber(line.from.point);\n const p2 = _translatePositionToNumber(line.to.point);\n const code = p1 - p2;\n\n // same position\n if (code === 0) {\n if (line.from.point === 'top') {\n if (y1 <= y2) {\n pointsInBetween.push({x: x1, y: y1 - 20});\n pointsInBetween.push({x: x2, y: y1 - 20});\n } else {\n pointsInBetween.push({x: x1, y: y2 - 20});\n pointsInBetween.push({x: x2, y: y2 - 20});\n }\n } else if (line.from.point === 'bottom') {\n if (y1 <= y2) {\n pointsInBetween.push({x: x1, y: y2 + 20});\n pointsInBetween.push({x: x2, y: y2 + 20});\n } else {\n pointsInBetween.push({x: x1, y: y1 + 20});\n pointsInBetween.push({x: x2, y: y1 + 20});\n }\n } else {\n if (x1 <= x2) {\n pointsInBetween.push({x: x2 + 20, y: y1});\n pointsInBetween.push({x: x2 + 20, y: y2});\n } else {\n pointsInBetween.push({x: x1 + 20, y: y1});\n pointsInBetween.push({x: x1 + 20, y: y2});\n }\n }\n }\n\n // on the opposite site\n if (code === 2 || code === -2) {\n // top or bottom\n if (x1 !== x2) {\n pointsInBetween.push({x: x1, y: y2 + (y1 - y2) / 2});\n pointsInBetween.push({x: x2, y: y2 + (y1 - y2) / 2});\n }\n }\n\n // corner cases\n if (code === 1 || code === -1 || code === 3 || code === -3) {\n if (line.from.point === 'top') {\n if (y1 < y2 + 20) {\n pointsInBetween.push({x: x1, y: y1 - 20});\n pointsInBetween.push({x: x2 + 20, y: y1 - 20});\n pointsInBetween.push({x: x2 + 20, y: y2});\n } else {\n pointsInBetween.push({x: x1, y: y2});\n }\n }\n\n if (line.from.point === 'bottom') {\n if (y1 > y2 - 20) {\n pointsInBetween.push({x: x1, y: y1 + 20});\n pointsInBetween.push({x: x2 + 20, y: y1 + 20});\n pointsInBetween.push({x: x2 + 20, y: y2});\n } else {\n pointsInBetween.push({x: x1, y: y2});\n }\n }\n }\n\n return pointsInBetween;\n }\n\n function _translatePositionToNumber(position) {\n switch (position) {\n case 'top':\n return 0;\n case 'bottom':\n return 2;\n default:\n return 3;\n }\n }\n\n function _calculateX(group, position) {\n const width = group.entity.attr('width');\n const x = group.entity.attr('x');\n\n switch (position) {\n case 'top':\n case 'bottom':\n return x + width / 2;\n default:\n return x - width / 2;\n }\n }\n\n function _calculateY(group, position) {\n const height = group.entity.attr('height');\n const y = group.entity.attr('y');\n\n switch (position) {\n case 'top':\n return y;\n case 'bottom':\n return y + height;\n default:\n return y;\n }\n }\n\n function _update() {\n //clean up\n _draw.entities.forEach(entity => entity.remove());\n _draw.entities = [];\n\n _lines = [];\n\n // default values\n if (!_json.labels) {\n _json.labels = [];\n }\n\n _json.labels = _json.labels.map(l => {\n return {\n id: l.id,\n value: l.value ? l.value : '',\n x: l.x ? l.x : 0,\n y: l.y ? l.y : 0,\n color: l.color ? l.color : 'black',\n };\n });\n\n _json.entities.map(entity => {\n entity.type = entity.type ? entity.type : 'entity';\n\n if (entity.type === 'operation') {\n entity.height = entity.width;\n }\n });\n\n _renderLabels();\n\n _json.entities.forEach(entity => _renderEntities(_draw, entity));\n _lines = _json.lines; // needed to have no circular dependencies\n\n _renderPolylines(_draw, _lines);\n }\n\n function update(json) {\n _json = json;\n _update();\n }\n\n return {\n initalize,\n update,\n };\n}\n","@import '../../../theme.scss';\n\nverdocs-status-indicator {\n display: flex;\n font-size: 18px;\n flex-wrap: nowrap;\n border-radius: 6px;\n color: $label-color;\n align-items: center;\n flex-direction: row;\n font-family: $primary-font;\n\n &.has-document:hover {\n cursor: pointer;\n background: rgba(0, 0, 0, 0.1);\n }\n\n .icon {\n width: 25px;\n height: 25px;\n margin: 0 10px 0 0;\n }\n\n &.dark {\n color: $verdocs-grey-4;\n }\n\n &.small {\n font-size: 16px;\n\n .icon {\n width: 20px;\n height: 20px;\n margin: 0 8px 0 0;\n }\n }\n\n .content {\n white-space: nowrap;\n }\n\n .detail-panel {\n display: none;\n\n background: $verdocs-grey-4;\n border: 1px solid $verdocs-bg-5;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n border-radius: 10px;\n font-weight: 500;\n\n h1 {\n font-size: $verdocs-h1-size;\n color: $verdocs-grey-0;\n }\n }\n\n .detail-panel[data-show] {\n display: flex;\n }\n}\n","import {RecipientFlow} from './recipient-flow';\nimport {createPopper, Instance} from '@popperjs/core';\nimport {Component, Prop, Host, h, State} from '@stencil/core';\nimport {formatFullName, IEnvelope, TEnvelopeStatus, TRecipientStatus} from '@verdocs/js-sdk';\n\nconst AcceptedDark = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"12.5\" cy=\"12.5\" r=\"11.5\" stroke=\"white\" stroke-width=\"2\"/><path d=\"M11.728 15.968C11.7067 15.9893 11.7013 16.0107 11.712 16.032C11.7227 16.0533 11.744 16.064 11.776 16.064H16.112C16.1653 16.064 16.208 16.0853 16.24 16.128C16.2827 16.16 16.304 16.2027 16.304 16.256V17.808C16.304 17.8613 16.2827 17.9093 16.24 17.952C16.208 17.984 16.1653 18 16.112 18H8.912C8.85867 18 8.81067 17.984 8.768 17.952C8.736 17.9093 8.72 17.8613 8.72 17.808V16.336C8.72 16.24 8.752 16.16 8.816 16.096C9.33867 15.584 9.872 15.0293 10.416 14.432C10.96 13.824 11.3013 13.4453 11.44 13.296C11.7387 12.944 12.0427 12.608 12.352 12.288C13.3227 11.2107 13.808 10.4107 13.808 9.888C13.808 9.51467 13.6747 9.21067 13.408 8.976C13.1413 8.73067 12.7947 8.608 12.368 8.608C11.9413 8.608 11.5947 8.73067 11.328 8.976C11.0613 9.21067 10.928 9.52533 10.928 9.92V10.32C10.928 10.3733 10.9067 10.4213 10.864 10.464C10.832 10.496 10.7893 10.512 10.736 10.512H8.848C8.79467 10.512 8.74667 10.496 8.704 10.464C8.672 10.4213 8.656 10.3733 8.656 10.32V9.568C8.688 8.992 8.86933 8.48533 9.2 8.048C9.53067 7.6 9.968 7.25867 10.512 7.024C11.0667 6.78933 11.6853 6.672 12.368 6.672C13.1253 6.672 13.7813 6.816 14.336 7.104C14.9013 7.38133 15.3333 7.76 15.632 8.24C15.9413 8.72 16.096 9.25333 16.096 9.84C16.096 10.288 15.984 10.7467 15.76 11.216C15.536 11.6853 15.2 12.192 14.752 12.736C14.4213 13.152 14.064 13.5627 13.68 13.968C13.296 14.3733 12.7253 14.96 11.968 15.728L11.728 15.968Z\" fill=\"white\"/></svg>`;\nconst AcceptedLight = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"12.5\" cy=\"12.5\" r=\"11.5\" stroke=\"#654DCB\" stroke-width=\"2\"/><path d=\"M11.728 15.968C11.7067 15.9893 11.7013 16.0107 11.712 16.032C11.7227 16.0533 11.744 16.064 11.776 16.064H16.112C16.1653 16.064 16.208 16.0853 16.24 16.128C16.2827 16.16 16.304 16.2027 16.304 16.256V17.808C16.304 17.8613 16.2827 17.9093 16.24 17.952C16.208 17.984 16.1653 18 16.112 18H8.912C8.85867 18 8.81067 17.984 8.768 17.952C8.736 17.9093 8.72 17.8613 8.72 17.808V16.336C8.72 16.24 8.752 16.16 8.816 16.096C9.33867 15.584 9.872 15.0293 10.416 14.432C10.96 13.824 11.3013 13.4453 11.44 13.296C11.7387 12.944 12.0427 12.608 12.352 12.288C13.3227 11.2107 13.808 10.4107 13.808 9.888C13.808 9.51467 13.6747 9.21067 13.408 8.976C13.1413 8.73067 12.7947 8.608 12.368 8.608C11.9413 8.608 11.5947 8.73067 11.328 8.976C11.0613 9.21067 10.928 9.52533 10.928 9.92V10.32C10.928 10.3733 10.9067 10.4213 10.864 10.464C10.832 10.496 10.7893 10.512 10.736 10.512H8.848C8.79467 10.512 8.74667 10.496 8.704 10.464C8.672 10.4213 8.656 10.3733 8.656 10.32V9.568C8.688 8.992 8.86933 8.48533 9.2 8.048C9.53067 7.6 9.968 7.25867 10.512 7.024C11.0667 6.78933 11.6853 6.672 12.368 6.672C13.1253 6.672 13.7813 6.816 14.336 7.104C14.9013 7.38133 15.3333 7.76 15.632 8.24C15.9413 8.72 16.096 9.25333 16.096 9.84C16.096 10.288 15.984 10.7467 15.76 11.216C15.536 11.6853 15.2 12.192 14.752 12.736C14.4213 13.152 14.064 13.5627 13.68 13.968C13.296 14.3733 12.7253 14.96 11.968 15.728L11.728 15.968Z\" fill=\"#654DCB\"/></svg>`;\nconst CanceledDark = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 24C15.1826 24 18.2348 22.7357 20.4853 20.4853C22.7357 18.2348 24 15.1826 24 12C24 8.8174 22.7357 5.76516 20.4853 3.51472C18.2348 1.26428 15.1826 0 12 0C8.8174 0 5.76516 1.26428 3.51472 3.51472C1.26428 5.76516 0 8.8174 0 12C0 15.1826 1.26428 18.2348 3.51472 20.4853C5.76516 22.7357 8.8174 24 12 24V24ZM9 7.5C8.60218 7.5 8.22064 7.65804 7.93934 7.93934C7.65804 8.22064 7.5 8.60218 7.5 9V15C7.5 15.3978 7.65804 15.7794 7.93934 16.0607C8.22064 16.342 8.60218 16.5 9 16.5H15C15.3978 16.5 15.7794 16.342 16.0607 16.0607C16.342 15.7794 16.5 15.3978 16.5 15V9C16.5 8.60218 16.342 8.22064 16.0607 7.93934C15.7794 7.65804 15.3978 7.5 15 7.5H9Z\" fill=\"#9095B3\"/></svg>`;\nconst CanceledLight = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 24C15.1826 24 18.2348 22.7357 20.4853 20.4853C22.7357 18.2348 24 15.1826 24 12C24 8.8174 22.7357 5.76516 20.4853 3.51472C18.2348 1.26428 15.1826 0 12 0C8.8174 0 5.76516 1.26428 3.51472 3.51472C1.26428 5.76516 0 8.8174 0 12C0 15.1826 1.26428 18.2348 3.51472 20.4853C5.76516 22.7357 8.8174 24 12 24V24ZM9 7.5C8.60218 7.5 8.22064 7.65804 7.93934 7.93934C7.65804 8.22064 7.5 8.60218 7.5 9V15C7.5 15.3978 7.65804 15.7794 7.93934 16.0607C8.22064 16.342 8.60218 16.5 9 16.5H15C15.3978 16.5 15.7794 16.342 16.0607 16.0607C16.342 15.7794 16.5 15.3978 16.5 15V9C16.5 8.60218 16.342 8.22064 16.0607 7.93934C15.7794 7.65804 15.3978 7.5 15 7.5H9Z\" fill=\"#9095B3\"/></svg>`;\nconst CompletedDark = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.7152 2.35464C7.71225 2.27504 8.65876 1.88287 9.41995 1.23399C10.2797 0.501758 11.3721 0.0996094 12.5013 0.0996094C13.6306 0.0996094 14.723 0.501758 15.5827 1.23399C16.3439 1.88287 17.2904 2.27504 18.2875 2.35464C19.4135 2.44463 20.4706 2.93273 21.2693 3.73145C22.068 4.53017 22.5561 5.58727 22.6461 6.71324C22.7251 7.70989 23.1173 8.65694 23.7667 9.41799C24.499 10.2777 24.9011 11.3701 24.9011 12.4994C24.9011 13.6287 24.499 14.7211 23.7667 15.5808C23.1179 16.342 22.7257 17.2885 22.6461 18.2855C22.5561 19.4115 22.068 20.4686 21.2693 21.2673C20.4706 22.0661 19.4135 22.5542 18.2875 22.6441C17.2904 22.7237 16.3439 23.1159 15.5827 23.7648C14.723 24.497 13.6306 24.8992 12.5013 24.8992C11.3721 24.8992 10.2797 24.497 9.41995 23.7648C8.65876 23.1159 7.71225 22.7237 6.7152 22.6441C5.58923 22.5542 4.53213 22.0661 3.73341 21.2673C2.93469 20.4686 2.44658 19.4115 2.35659 18.2855C2.27699 17.2885 1.88482 16.342 1.23595 15.5808C0.503711 14.7211 0.101562 13.6287 0.101562 12.4994C0.101562 11.3701 0.503711 10.2777 1.23595 9.41799C1.88482 8.65681 2.27699 7.71029 2.35659 6.71324C2.44658 5.58727 2.93469 4.53017 3.73341 3.73145C4.53213 2.93273 5.58923 2.44463 6.7152 2.35464V2.35464ZM18.2472 10.4952C18.5295 10.2029 18.6858 9.81138 18.6822 9.40497C18.6787 8.99857 18.5157 8.60981 18.2283 8.32242C17.9409 8.03504 17.5522 7.87203 17.1458 7.8685C16.7394 7.86497 16.3478 8.0212 16.0555 8.30354L10.9513 13.4077L8.9472 11.4035C8.65486 11.1212 8.26333 10.965 7.85692 10.9685C7.45052 10.972 7.06176 11.135 6.77438 11.4224C6.48699 11.7098 6.32398 12.0986 6.32045 12.505C6.31692 12.9114 6.47315 13.3029 6.7555 13.5952L9.8555 16.6952C10.1462 16.9858 10.5403 17.1491 10.9513 17.1491C11.3624 17.1491 11.7565 16.9858 12.0472 16.6952L18.2472 10.4952V10.4952Z\" fill=\"#63C58E\"/></svg>`;\nconst CompletedLight = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.7152 2.35464C7.71225 2.27504 8.65876 1.88287 9.41995 1.23399C10.2797 0.501758 11.3721 0.0996094 12.5013 0.0996094C13.6306 0.0996094 14.723 0.501758 15.5827 1.23399C16.3439 1.88287 17.2904 2.27504 18.2875 2.35464C19.4135 2.44463 20.4706 2.93273 21.2693 3.73145C22.068 4.53017 22.5561 5.58727 22.6461 6.71324C22.7251 7.70989 23.1173 8.65694 23.7667 9.41799C24.499 10.2777 24.9011 11.3701 24.9011 12.4994C24.9011 13.6287 24.499 14.7211 23.7667 15.5808C23.1179 16.342 22.7257 17.2885 22.6461 18.2855C22.5561 19.4115 22.068 20.4686 21.2693 21.2673C20.4706 22.0661 19.4135 22.5542 18.2875 22.6441C17.2904 22.7237 16.3439 23.1159 15.5827 23.7648C14.723 24.497 13.6306 24.8992 12.5013 24.8992C11.3721 24.8992 10.2797 24.497 9.41995 23.7648C8.65876 23.1159 7.71225 22.7237 6.7152 22.6441C5.58923 22.5542 4.53213 22.0661 3.73341 21.2673C2.93469 20.4686 2.44658 19.4115 2.35659 18.2855C2.27699 17.2885 1.88482 16.342 1.23595 15.5808C0.503711 14.7211 0.101562 13.6287 0.101562 12.4994C0.101562 11.3701 0.503711 10.2777 1.23595 9.41799C1.88482 8.65681 2.27699 7.71029 2.35659 6.71324C2.44658 5.58727 2.93469 4.53017 3.73341 3.73145C4.53213 2.93273 5.58923 2.44463 6.7152 2.35464V2.35464ZM18.2472 10.4952C18.5295 10.2029 18.6858 9.81138 18.6822 9.40497C18.6787 8.99857 18.5157 8.60981 18.2283 8.32242C17.9409 8.03504 17.5522 7.87203 17.1458 7.8685C16.7394 7.86497 16.3478 8.0212 16.0555 8.30354L10.9513 13.4077L8.9472 11.4035C8.65486 11.1212 8.26333 10.965 7.85692 10.9685C7.45052 10.972 7.06176 11.135 6.77438 11.4224C6.48699 11.7098 6.32398 12.0986 6.32045 12.505C6.31692 12.9114 6.47315 13.3029 6.7555 13.5952L9.8555 16.6952C10.1462 16.9858 10.5403 17.1491 10.9513 17.1491C11.3624 17.1491 11.7565 16.9858 12.0472 16.6952L18.2472 10.4952V10.4952Z\" fill=\"#50BE80\"/></svg>`;\nconst DeclinedDark = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M24 12C24 15.1826 22.7357 18.2348 20.4853 20.4853C18.2348 22.7357 15.1826 24 12 24C8.8174 24 5.76516 22.7357 3.51472 20.4853C1.26428 18.2348 0 15.1826 0 12C0 8.8174 1.26428 5.76516 3.51472 3.51472C5.76516 1.26428 8.8174 0 12 0C15.1826 0 18.2348 1.26428 20.4853 3.51472C22.7357 5.76516 24 8.8174 24 12V12ZM13.5 18C13.5 18.3978 13.342 18.7794 13.0607 19.0607C12.7794 19.342 12.3978 19.5 12 19.5C11.6022 19.5 11.2206 19.342 10.9393 19.0607C10.658 18.7794 10.5 18.3978 10.5 18C10.5 17.6022 10.658 17.2206 10.9393 16.9393C11.2206 16.658 11.6022 16.5 12 16.5C12.3978 16.5 12.7794 16.658 13.0607 16.9393C13.342 17.2206 13.5 17.6022 13.5 18V18ZM12 4.5C11.6022 4.5 11.2206 4.65804 10.9393 4.93934C10.658 5.22064 10.5 5.60218 10.5 6V12C10.5 12.3978 10.658 12.7794 10.9393 13.0607C11.2206 13.342 11.6022 13.5 12 13.5C12.3978 13.5 12.7794 13.342 13.0607 13.0607C13.342 12.7794 13.5 12.3978 13.5 12V6C13.5 5.60218 13.342 5.22064 13.0607 4.93934C12.7794 4.65804 12.3978 4.5 12 4.5Z\" fill=\"#F95353\"/></svg>`;\nconst DeclinedLight = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M24 12C24 15.1826 22.7357 18.2348 20.4853 20.4853C18.2348 22.7357 15.1826 24 12 24C8.8174 24 5.76516 22.7357 3.51472 20.4853C1.26428 18.2348 0 15.1826 0 12C0 8.8174 1.26428 5.76516 3.51472 3.51472C5.76516 1.26428 8.8174 0 12 0C15.1826 0 18.2348 1.26428 20.4853 3.51472C22.7357 5.76516 24 8.8174 24 12V12ZM13.5 18C13.5 18.3978 13.342 18.7794 13.0607 19.0607C12.7794 19.342 12.3978 19.5 12 19.5C11.6022 19.5 11.2206 19.342 10.9393 19.0607C10.658 18.7794 10.5 18.3978 10.5 18C10.5 17.6022 10.658 17.2206 10.9393 16.9393C11.2206 16.658 11.6022 16.5 12 16.5C12.3978 16.5 12.7794 16.658 13.0607 16.9393C13.342 17.2206 13.5 17.6022 13.5 18V18ZM12 4.5C11.6022 4.5 11.2206 4.65804 10.9393 4.93934C10.658 5.22064 10.5 5.60218 10.5 6V12C10.5 12.3978 10.658 12.7794 10.9393 13.0607C11.2206 13.342 11.6022 13.5 12 13.5C12.3978 13.5 12.7794 13.342 13.0607 13.0607C13.342 12.7794 13.5 12.3978 13.5 12V6C13.5 5.60218 13.342 5.22064 13.0607 4.93934C12.7794 4.65804 12.3978 4.5 12 4.5Z\" fill=\"#FF0000\"/></svg>`;\nconst InProgressDark = `<svg width=\"27\" height=\"27\" viewBox=\"0 0 27 27\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.7917 9.625L18.6667 13.5M18.6667 13.5L14.7917 17.375M18.6667 13.5H8.33333M25.125 13.5C25.125 15.0266 24.8243 16.5383 24.2401 17.9487C23.6559 19.3591 22.7996 20.6406 21.7201 21.7201C20.6406 22.7996 19.3591 23.6559 17.9487 24.2401C16.5383 24.8243 15.0266 25.125 13.5 25.125C11.9734 25.125 10.4617 24.8243 9.0513 24.2401C7.64089 23.6559 6.35936 22.7996 5.27988 21.7201C4.2004 20.6406 3.34411 19.3591 2.7599 17.9487C2.17569 16.5383 1.875 15.0266 1.875 13.5C1.875 10.4169 3.09977 7.45999 5.27988 5.27988C7.45999 3.09977 10.4169 1.875 13.5 1.875C16.5831 1.875 19.54 3.09977 21.7201 5.27988C23.9002 7.45999 25.125 10.4169 25.125 13.5Z\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>`;\nconst InProgressLight = `<svg width=\"27\" height=\"27\" viewBox=\"0 0 27 27\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.7917 9.625L18.6667 13.5M18.6667 13.5L14.7917 17.375M18.6667 13.5H8.33333M25.125 13.5C25.125 15.0266 24.8243 16.5383 24.2401 17.9487C23.6559 19.3591 22.7996 20.6406 21.7201 21.7201C20.6406 22.7996 19.3591 23.6559 17.9487 24.2401C16.5383 24.8243 15.0266 25.125 13.5 25.125C11.9734 25.125 10.4617 24.8243 9.0513 24.2401C7.64089 23.6559 6.35936 22.7996 5.27988 21.7201C4.2004 20.6406 3.34411 19.3591 2.7599 17.9487C2.17569 16.5383 1.875 15.0266 1.875 13.5C1.875 10.4169 3.09977 7.45999 5.27988 5.27988C7.45999 3.09977 10.4169 1.875 13.5 1.875C16.5831 1.875 19.54 3.09977 21.7201 5.27988C23.9002 7.45999 25.125 10.4169 25.125 13.5Z\" stroke=\"#654DCB\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>`;\nconst OpenedDark = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"12.5\" cy=\"12.5\" r=\"11.5\" stroke=\"white\" stroke-width=\"2\"/><path d=\"M11.4 6.848C11.4533 6.816 11.5333 6.8 11.64 6.8H13.576C13.6293 6.8 13.672 6.82133 13.704 6.864C13.7467 6.896 13.768 6.93867 13.768 6.992V17.808C13.768 17.8613 13.7467 17.9093 13.704 17.952C13.672 17.984 13.6293 18 13.576 18H11.704C11.6507 18 11.6027 17.984 11.56 17.952C11.528 17.9093 11.512 17.8613 11.512 17.808V9.04C11.512 9.01867 11.5013 8.99733 11.48 8.976C11.4587 8.95467 11.4373 8.94933 11.416 8.96L9.832 9.392L9.768 9.408C9.672 9.408 9.624 9.34933 9.624 9.232L9.576 7.856C9.576 7.74933 9.624 7.67467 9.72 7.632L11.4 6.848Z\" fill=\"white\"/></svg>`;\nconst OpenedLight = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"12.5\" cy=\"12.5\" r=\"11.5\" stroke=\"#654DCB\" stroke-width=\"2\"/><path d=\"M11.4 6.848C11.4533 6.816 11.5333 6.8 11.64 6.8H13.576C13.6293 6.8 13.672 6.82133 13.704 6.864C13.7467 6.896 13.768 6.93867 13.768 6.992V17.808C13.768 17.8613 13.7467 17.9093 13.704 17.952C13.672 17.984 13.6293 18 13.576 18H11.704C11.6507 18 11.6027 17.984 11.56 17.952C11.528 17.9093 11.512 17.8613 11.512 17.808V9.04C11.512 9.01867 11.5013 8.99733 11.48 8.976C11.4587 8.95467 11.4373 8.94933 11.416 8.96L9.832 9.392L9.768 9.408C9.672 9.408 9.624 9.34933 9.624 9.232L9.576 7.856C9.576 7.74933 9.624 7.67467 9.72 7.632L11.4 6.848Z\" fill=\"#654DCB\"/></svg>`;\nconst PendingDark = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.33333 12H7.345M12 12H12.0117M16.6667 12H16.6783M22.5 12C22.5 13.3789 22.2284 14.7443 21.7007 16.0182C21.1731 17.2921 20.3996 18.4496 19.4246 19.4246C18.4496 20.3996 17.2921 21.1731 16.0182 21.7007C14.7443 22.2284 13.3789 22.5 12 22.5C10.6211 22.5 9.25574 22.2284 7.98182 21.7007C6.70791 21.1731 5.55039 20.3996 4.57538 19.4246C3.60036 18.4496 2.82694 17.2921 2.29926 16.0182C1.77159 14.7443 1.5 13.3789 1.5 12C1.5 9.21523 2.60625 6.54451 4.57538 4.57538C6.54451 2.60625 9.21523 1.5 12 1.5C14.7848 1.5 17.4555 2.60625 19.4246 4.57538C21.3938 6.54451 22.5 9.21523 22.5 12Z\" stroke=\"#cccccc\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>`;\nconst PendingLight = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.33333 12H7.345M12 12H12.0117M16.6667 12H16.6783M22.5 12C22.5 13.3789 22.2284 14.7443 21.7007 16.0182C21.1731 17.2921 20.3996 18.4496 19.4246 19.4246C18.4496 20.3996 17.2921 21.1731 16.0182 21.7007C14.7443 22.2284 13.3789 22.5 12 22.5C10.6211 22.5 9.25574 22.2284 7.98182 21.7007C6.70791 21.1731 5.55039 20.3996 4.57538 19.4246C3.60036 18.4496 2.82694 17.2921 2.29926 16.0182C1.77159 14.7443 1.5 13.3789 1.5 12C1.5 9.21523 2.60625 6.54451 4.57538 4.57538C6.54451 2.60625 9.21523 1.5 12 1.5C14.7848 1.5 17.4555 2.60625 19.4246 4.57538C21.3938 6.54451 22.5 9.21523 22.5 12Z\" stroke=\"#999999\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>`;\nconst SignedDark = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"12.5\" cy=\"12.5\" r=\"11.5\" stroke=\"white\" stroke-width=\"2\"/><path d=\"M15.632 12.656C15.8453 13.1467 15.952 13.712 15.952 14.352C15.952 14.928 15.856 15.4613 15.664 15.952C15.408 16.6347 14.976 17.168 14.368 17.552C13.7707 17.936 13.0613 18.128 12.24 18.128C11.4293 18.128 10.7147 17.9253 10.096 17.52C9.488 17.1147 9.05067 16.5653 8.784 15.872C8.63467 15.456 8.54933 15.008 8.528 14.528C8.528 14.4 8.592 14.336 8.72 14.336H10.608C10.736 14.336 10.8 14.4 10.8 14.528C10.8427 14.88 10.9013 15.1413 10.976 15.312C11.072 15.5893 11.2267 15.808 11.44 15.968C11.664 16.1173 11.9253 16.192 12.224 16.192C12.8213 16.192 13.232 15.9307 13.456 15.408C13.6053 15.088 13.68 14.7147 13.68 14.288C13.68 13.7867 13.6 13.376 13.44 13.056C13.1947 12.5547 12.784 12.304 12.208 12.304C12.0907 12.304 11.968 12.3413 11.84 12.416C11.712 12.48 11.5573 12.576 11.376 12.704C11.3333 12.736 11.2907 12.752 11.248 12.752C11.184 12.752 11.136 12.72 11.104 12.656L10.16 11.328C10.1387 11.296 10.128 11.2587 10.128 11.216C10.128 11.152 10.1493 11.0987 10.192 11.056L12.736 8.832C12.7573 8.81067 12.7627 8.78933 12.752 8.768C12.752 8.74667 12.736 8.736 12.704 8.736H8.944C8.89067 8.736 8.84267 8.72 8.8 8.688C8.768 8.64533 8.752 8.59733 8.752 8.544V6.992C8.752 6.93867 8.768 6.896 8.8 6.864C8.84267 6.82133 8.89067 6.8 8.944 6.8H15.616C15.6693 6.8 15.712 6.82133 15.744 6.864C15.7867 6.896 15.808 6.93867 15.808 6.992V8.752C15.808 8.83733 15.7707 8.91733 15.696 8.992L13.6 10.912C13.5787 10.9333 13.568 10.9547 13.568 10.976C13.5787 10.9973 13.6053 11.008 13.648 11.008C14.576 11.1893 15.2373 11.7387 15.632 12.656Z\" fill=\"white\"/></svg>`;\nconst SignedLight = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"12.5\" cy=\"12.5\" r=\"11.5\" stroke=\"#654DCB\" stroke-width=\"2\"/><path d=\"M15.632 12.656C15.8453 13.1467 15.952 13.712 15.952 14.352C15.952 14.928 15.856 15.4613 15.664 15.952C15.408 16.6347 14.976 17.168 14.368 17.552C13.7707 17.936 13.0613 18.128 12.24 18.128C11.4293 18.128 10.7147 17.9253 10.096 17.52C9.488 17.1147 9.05067 16.5653 8.784 15.872C8.63467 15.456 8.54933 15.008 8.528 14.528C8.528 14.4 8.592 14.336 8.72 14.336H10.608C10.736 14.336 10.8 14.4 10.8 14.528C10.8427 14.88 10.9013 15.1413 10.976 15.312C11.072 15.5893 11.2267 15.808 11.44 15.968C11.664 16.1173 11.9253 16.192 12.224 16.192C12.8213 16.192 13.232 15.9307 13.456 15.408C13.6053 15.088 13.68 14.7147 13.68 14.288C13.68 13.7867 13.6 13.376 13.44 13.056C13.1947 12.5547 12.784 12.304 12.208 12.304C12.0907 12.304 11.968 12.3413 11.84 12.416C11.712 12.48 11.5573 12.576 11.376 12.704C11.3333 12.736 11.2907 12.752 11.248 12.752C11.184 12.752 11.136 12.72 11.104 12.656L10.16 11.328C10.1387 11.296 10.128 11.2587 10.128 11.216C10.128 11.152 10.1493 11.0987 10.192 11.056L12.736 8.832C12.7573 8.81067 12.7627 8.78933 12.752 8.768C12.752 8.74667 12.736 8.736 12.704 8.736H8.944C8.89067 8.736 8.84267 8.72 8.8 8.688C8.768 8.64533 8.752 8.59733 8.752 8.544V6.992C8.752 6.93867 8.768 6.896 8.8 6.864C8.84267 6.82133 8.89067 6.8 8.944 6.8H15.616C15.6693 6.8 15.712 6.82133 15.744 6.864C15.7867 6.896 15.808 6.93867 15.808 6.992V8.752C15.808 8.83733 15.7707 8.91733 15.696 8.992L13.6 10.912C13.5787 10.9333 13.568 10.9547 13.568 10.976C13.5787 10.9973 13.6053 11.008 13.648 11.008C14.576 11.1893 15.2373 11.7387 15.632 12.656Z\" fill=\"#654DCB\"/></svg>`;\nconst SomeSignedDark = `<svg width=\"27\" height=\"27\" viewBox=\"0 0 27 27\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.62395 13.5009L12.2073 16.0842L17.374 10.9176M8.11916 4.06786C9.04568 3.99392 9.92527 3.6296 10.6327 3.02678C11.4322 2.34513 12.4484 1.9707 13.499 1.9707C14.5495 1.9707 15.5657 2.34513 16.3652 3.02678C17.0726 3.6296 17.9522 3.99392 18.8787 4.06786C19.926 4.15118 20.9092 4.60497 21.6521 5.34781C22.3949 6.09064 22.8487 7.07389 22.932 8.12111C23.0059 9.04764 23.3703 9.92723 23.9731 10.6347C24.6547 11.4341 25.0292 12.4503 25.0292 13.5009C25.0292 14.5515 24.6547 15.5677 23.9731 16.3671C23.3703 17.0746 23.0059 17.9542 22.932 18.8807C22.8487 19.9279 22.3949 20.9112 21.6521 21.654C20.9092 22.3968 19.926 22.8506 18.8787 22.9339C17.9522 23.0079 17.0726 23.3722 16.3652 23.975C15.5657 24.6567 14.5495 25.0311 13.499 25.0311C12.4484 25.0311 11.4322 24.6567 10.6327 23.975C9.92527 23.3722 9.04568 23.0079 8.11916 22.9339C7.07194 22.8506 6.08869 22.3968 5.34585 21.654C4.60302 20.9112 4.14923 19.9279 4.06591 18.8807C3.99196 17.9542 3.62765 17.0746 3.02483 16.3671C2.34318 15.5677 1.96875 14.5515 1.96875 13.5009C1.96875 12.4503 2.34318 11.4341 3.02483 10.6347C3.62765 9.92723 3.99196 9.04764 4.06591 8.12111C4.14923 7.07389 4.60302 6.09064 5.34585 5.34781C6.08869 4.60497 7.07194 4.15118 8.11916 4.06786V4.06786Z\" stroke=\"#63C58E\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>`;\nconst SomeSignedLight = `<svg width=\"27\" height=\"27\" viewBox=\"0 0 27 27\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.62395 13.5009L12.2073 16.0842L17.374 10.9176M8.11916 4.06786C9.04568 3.99392 9.92527 3.6296 10.6327 3.02678C11.4322 2.34513 12.4484 1.9707 13.499 1.9707C14.5495 1.9707 15.5657 2.34513 16.3652 3.02678C17.0726 3.6296 17.9522 3.99392 18.8787 4.06786C19.926 4.15118 20.9092 4.60497 21.6521 5.34781C22.3949 6.09064 22.8487 7.07389 22.932 8.12111C23.0059 9.04764 23.3703 9.92723 23.9731 10.6347C24.6547 11.4341 25.0292 12.4503 25.0292 13.5009C25.0292 14.5515 24.6547 15.5677 23.9731 16.3671C23.3703 17.0746 23.0059 17.9542 22.932 18.8807C22.8487 19.9279 22.3949 20.9112 21.6521 21.654C20.9092 22.3968 19.926 22.8506 18.8787 22.9339C17.9522 23.0079 17.0726 23.3722 16.3652 23.975C15.5657 24.6567 14.5495 25.0311 13.499 25.0311C12.4484 25.0311 11.4322 24.6567 10.6327 23.975C9.92527 23.3722 9.04568 23.0079 8.11916 22.9339C7.07194 22.8506 6.08869 22.3968 5.34585 21.654C4.60302 20.9112 4.14923 19.9279 4.06591 18.8807C3.99196 17.9542 3.62765 17.0746 3.02483 16.3671C2.34318 15.5677 1.96875 14.5515 1.96875 13.5009C1.96875 12.4503 2.34318 11.4341 3.02483 10.6347C3.62765 9.92723 3.99196 9.04764 4.06591 8.12111C4.14923 7.07389 4.60302 6.09064 5.34585 5.34781C6.08869 4.60497 7.07194 4.15118 8.11916 4.06786V4.06786Z\" stroke=\"#654DCB\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>`;\nconst SubmittedDark = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.7152 2.35464C7.71225 2.27504 8.65876 1.88287 9.41995 1.23399C10.2797 0.501758 11.3721 0.0996094 12.5013 0.0996094C13.6306 0.0996094 14.723 0.501758 15.5827 1.23399C16.3439 1.88287 17.2904 2.27504 18.2875 2.35464C19.4135 2.44463 20.4706 2.93273 21.2693 3.73145C22.068 4.53017 22.5561 5.58727 22.6461 6.71324C22.7251 7.70989 23.1173 8.65694 23.7667 9.41799C24.499 10.2777 24.9011 11.3701 24.9011 12.4994C24.9011 13.6287 24.499 14.7211 23.7667 15.5808C23.1179 16.342 22.7257 17.2885 22.6461 18.2855C22.5561 19.4115 22.068 20.4686 21.2693 21.2673C20.4706 22.0661 19.4135 22.5542 18.2875 22.6441C17.2904 22.7237 16.3439 23.1159 15.5827 23.7648C14.723 24.497 13.6306 24.8992 12.5013 24.8992C11.3721 24.8992 10.2797 24.497 9.41995 23.7648C8.65876 23.1159 7.71225 22.7237 6.7152 22.6441C5.58923 22.5542 4.53213 22.0661 3.73341 21.2673C2.93469 20.4686 2.44658 19.4115 2.35659 18.2855C2.27699 17.2885 1.88482 16.342 1.23595 15.5808C0.503711 14.7211 0.101562 13.6287 0.101562 12.4994C0.101562 11.3701 0.503711 10.2777 1.23595 9.41799C1.88482 8.65681 2.27699 7.71029 2.35659 6.71324C2.44658 5.58727 2.93469 4.53017 3.73341 3.73145C4.53213 2.93273 5.58923 2.44463 6.7152 2.35464V2.35464ZM18.2472 10.4952C18.5295 10.2029 18.6858 9.81138 18.6822 9.40497C18.6787 8.99857 18.5157 8.60981 18.2283 8.32242C17.9409 8.03504 17.5522 7.87203 17.1458 7.8685C16.7394 7.86497 16.3478 8.0212 16.0555 8.30354L10.9513 13.4077L8.9472 11.4035C8.65486 11.1212 8.26333 10.965 7.85692 10.9685C7.45052 10.972 7.06176 11.135 6.77438 11.4224C6.48699 11.7098 6.32398 12.0986 6.32045 12.505C6.31692 12.9114 6.47315 13.3029 6.7555 13.5952L9.8555 16.6952C10.1462 16.9858 10.5403 17.1491 10.9513 17.1491C11.3624 17.1491 11.7565 16.9858 12.0472 16.6952L18.2472 10.4952V10.4952Z\" fill=\"#63C58E\"/></svg>`;\nconst SubmittedLight = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.7152 2.35464C7.71225 2.27504 8.65876 1.88287 9.41995 1.23399C10.2797 0.501758 11.3721 0.0996094 12.5013 0.0996094C13.6306 0.0996094 14.723 0.501758 15.5827 1.23399C16.3439 1.88287 17.2904 2.27504 18.2875 2.35464C19.4135 2.44463 20.4706 2.93273 21.2693 3.73145C22.068 4.53017 22.5561 5.58727 22.6461 6.71324C22.7251 7.70989 23.1173 8.65694 23.7667 9.41799C24.499 10.2777 24.9011 11.3701 24.9011 12.4994C24.9011 13.6287 24.499 14.7211 23.7667 15.5808C23.1179 16.342 22.7257 17.2885 22.6461 18.2855C22.5561 19.4115 22.068 20.4686 21.2693 21.2673C20.4706 22.0661 19.4135 22.5542 18.2875 22.6441C17.2904 22.7237 16.3439 23.1159 15.5827 23.7648C14.723 24.497 13.6306 24.8992 12.5013 24.8992C11.3721 24.8992 10.2797 24.497 9.41995 23.7648C8.65876 23.1159 7.71225 22.7237 6.7152 22.6441C5.58923 22.5542 4.53213 22.0661 3.73341 21.2673C2.93469 20.4686 2.44658 19.4115 2.35659 18.2855C2.27699 17.2885 1.88482 16.342 1.23595 15.5808C0.503711 14.7211 0.101562 13.6287 0.101562 12.4994C0.101562 11.3701 0.503711 10.2777 1.23595 9.41799C1.88482 8.65681 2.27699 7.71029 2.35659 6.71324C2.44658 5.58727 2.93469 4.53017 3.73341 3.73145C4.53213 2.93273 5.58923 2.44463 6.7152 2.35464V2.35464ZM18.2472 10.4952C18.5295 10.2029 18.6858 9.81138 18.6822 9.40497C18.6787 8.99857 18.5157 8.60981 18.2283 8.32242C17.9409 8.03504 17.5522 7.87203 17.1458 7.8685C16.7394 7.86497 16.3478 8.0212 16.0555 8.30354L10.9513 13.4077L8.9472 11.4035C8.65486 11.1212 8.26333 10.965 7.85692 10.9685C7.45052 10.972 7.06176 11.135 6.77438 11.4224C6.48699 11.7098 6.32398 12.0986 6.32045 12.505C6.31692 12.9114 6.47315 13.3029 6.7555 13.5952L9.8555 16.6952C10.1462 16.9858 10.5403 17.1491 10.9513 17.1491C11.3624 17.1491 11.7565 16.9858 12.0472 16.6952L18.2472 10.4952V10.4952Z\" fill=\"#50BE80\"/></svg>`;\n\nconst ENTRY_WIDTH = 140;\nconst ENTRY_HEIGHT = 40;\nconst ENTRY_PADDING = 40;\n\n/**\n * Displays an icon and message describing a document's completion status. For convenience, the status may be passed in either\n * directly as a status field or the whole document object may be passed in.\n *\n * If the document is provided, the status flag will indicate the document's overall status. This also makes the component clickable\n * to display a popup panel with per-recipient status data.\n *\n * If the status is provided as a string it can be either a `TRecipientStatus` or `TDocumentStatus` value.\n */\n@Component({\n tag: 'verdocs-status-indicator',\n styleUrl: 'verdocs-status-indicator.scss',\n})\nexport class VerdocsStatusIndicator {\n private summaryComponent?: HTMLButtonElement;\n private detailPanel?: HTMLDivElement;\n private popper?: Instance;\n\n /**\n * The size (height) of the indicator. The small variant is suitable for use in densely populated components such as table rows.\n */\n @Prop() size: 'small' | 'normal' = 'normal';\n\n /**\n * The theme to use for diplay.\n */\n @Prop() theme?: 'dark' | 'light' = 'light';\n\n /**\n * The status to display.\n */\n // The accepted override is here because we don't actually have an official status for that yet, but we plan to add it\n @Prop() status?: TEnvelopeStatus | TRecipientStatus | 'accepted';\n\n /**\n * The document to display status for. Ignored if `status` is set directly.\n */\n @Prop() envelope?: IEnvelope;\n\n @State() isOpen: boolean;\n\n @State() containerId = `verdocs-status-indicator-${Math.random().toString(36).substring(2, 11)}`;\n\n recipientStatusIcons = [];\n\n componentDidLoad() {\n this.popper = createPopper(this.summaryComponent, this.detailPanel, {placement: 'bottom-start', modifiers: [{name: 'offset', options: {offset: [0, 10]}}]});\n\n if (this.envelope?.recipients) {\n const recipientsAtLevel = [];\n this.envelope.recipients.forEach(recipient => {\n const level = recipient.sequence - 1;\n recipientsAtLevel[level] ||= [];\n const id = `r-${level}-${recipientsAtLevel[level].length}`;\n recipientsAtLevel[level].push({...recipient, id});\n });\n\n const levelCount = Object.keys(recipientsAtLevel).length;\n\n const canvasHeight = levelCount * ENTRY_HEIGHT + (levelCount + 1) * ENTRY_PADDING;\n let canvasWidth = 0;\n Object.values(recipientsAtLevel).forEach(recipients => {\n let minW = recipients.length * ENTRY_WIDTH + (recipients.length + 1) * ENTRY_PADDING;\n if (minW > canvasWidth) {\n canvasWidth = minW;\n }\n });\n\n const entities = [];\n const lines = [];\n const statusIcons = [];\n\n let y = ENTRY_PADDING;\n Object.entries(recipientsAtLevel).forEach(([level, recipients]) => {\n // To center align here, we figure out how many items are per line and how much leftover space there would be if we just\n // drew them left-to-right. We add half of that as a left offset.\n const renderedItemsWidth = recipients.length * (ENTRY_WIDTH + ENTRY_PADDING);\n const leftoverSpace = canvasWidth - renderedItemsWidth;\n const leftOffset = ENTRY_PADDING / 2 + leftoverSpace / 2;\n\n recipients.forEach((recipient, index) => {\n const fullName = formatFullName(recipient);\n const entity = {\n id: recipient.id,\n text: fullName,\n icon: this.getStatusIcon(recipient.status),\n x: index * (ENTRY_WIDTH + ENTRY_PADDING) + leftOffset,\n y,\n width: ENTRY_WIDTH,\n height: ENTRY_HEIGHT,\n color: this.getStatusColor(recipient.status),\n radius: 8,\n };\n entities.push(entity);\n\n statusIcons.push({\n icon: this.getStatusIcon(recipient.status),\n x: index * (ENTRY_WIDTH + ENTRY_PADDING) + leftOffset + (ENTRY_WIDTH - 32),\n y: y + ENTRY_HEIGHT / 2 - 13,\n });\n\n recipientsAtLevel[+level - 1]?.forEach(prevRecip => {\n const line = {\n id: `line-${prevRecip.id}-${entity.id}`,\n from: {element: prevRecip.id, point: 'bottom'},\n to: {element: entity.id, point: 'top'},\n color: this.getStatusColor(recipient.status),\n };\n lines.push(line);\n });\n });\n\n y += ENTRY_HEIGHT + ENTRY_PADDING;\n });\n\n this.recipientStatusIcons = statusIcons;\n\n const diagram = RecipientFlow();\n diagram.initalize(`#${this.containerId}`, canvasWidth, canvasHeight);\n diagram.update({entities, lines});\n }\n }\n\n // See https://popper.js.org/docs/v2/tutorial/\n // What we're doing here is clearing event listeners when they aren't needed, to increase performance in lists\n showDropdown() {\n this.isOpen = true;\n this.detailPanel.setAttribute('data-show', '');\n this.detailPanel.removeAttribute('aria-hidden');\n\n this.popper?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: true}],\n }));\n\n this.popper?.update();\n }\n\n handleHideDropdown(e: any) {\n if (e?.target?.localName === 'button' && e?.target?.className === 'arrow') {\n // This event is fired when a menu element is clicked because the button \"loses focus\" then too\n return;\n }\n\n this.hide();\n }\n\n toggleDropdown() {\n if (this.isOpen) {\n this.hide();\n } else {\n this.showDropdown();\n }\n }\n\n hide() {\n this.isOpen = false;\n this.detailPanel.removeAttribute('data-show');\n this.detailPanel.setAttribute('aria-hidden', 'true');\n this.popper?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: false}],\n }));\n }\n\n getStatusColor(status: string) {\n switch (status) {\n case 'invited':\n case 'opened':\n case 'accepted':\n case 'signed':\n return '#654dcb';\n case 'some-signed':\n case 'submitted':\n case 'complete':\n return '#55bc81';\n case 'declined':\n return '#ff0000';\n case 'canceled':\n case 'in progress':\n case 'pending':\n default:\n return '#999999';\n }\n }\n\n getStatusIcon(status: string) {\n switch (status) {\n case 'accepted':\n return this.theme === 'light' ? AcceptedLight : AcceptedDark;\n case 'complete':\n return this.theme === 'light' ? CompletedLight : CompletedDark;\n case 'in progress':\n return this.theme === 'light' ? InProgressLight : InProgressDark;\n case 'canceled':\n return this.theme === 'light' ? CanceledLight : CanceledDark;\n case 'declined':\n return this.theme === 'light' ? DeclinedLight : DeclinedDark;\n case 'invited':\n return this.theme === 'light' ? InProgressLight : InProgressDark;\n case 'opened':\n return this.theme === 'light' ? OpenedLight : OpenedDark;\n case 'signed':\n return this.theme === 'light' ? SignedLight : SignedDark;\n case 'submitted':\n return this.theme === 'light' ? SubmittedLight : SubmittedDark;\n case 'some-signed':\n return this.theme === 'light' ? SomeSignedLight : SomeSignedDark;\n default:\n case 'pending':\n return this.theme === 'light' ? PendingLight : PendingDark;\n }\n }\n\n getStatusMessage(status: string) {\n switch (status) {\n case 'accepted':\n return 'Accepted';\n case 'complete':\n return 'Completed';\n case 'in progress':\n return 'In Progress';\n case 'canceled':\n return 'Cancelled';\n case 'declined':\n return 'Declined';\n case 'invited':\n return 'Invited';\n case 'opened':\n return 'Opened';\n case 'signed':\n return 'Signed';\n case 'submitted':\n return 'Submitted';\n case 'some-signed':\n return 'Partly Signed';\n case 'pending':\n return 'Pending';\n default:\n return status;\n }\n }\n\n render() {\n // The extra fallback for accepted is to future proof for when we add that.\n let status: string = this.status || this.envelope?.status || 'pending' || 'accepted';\n if (!this.status && this.envelope?.recipients) {\n const submittedRecipients = this.envelope.recipients.filter(r => r.status === 'submitted');\n if (submittedRecipients.length > 0 && submittedRecipients.length !== this.envelope.recipients.length) {\n status = 'some-signed';\n }\n }\n\n const icon = this.getStatusIcon(status);\n const statusMessage = this.getStatusMessage(status);\n\n return (\n <Host\n ref={el => (this.summaryComponent = el as HTMLButtonElement)}\n class={`${this.theme} ${this.size} ${this.envelope ? 'has-document' : ''}`}\n aria-label=\"Click to View Details\"\n onClick={e => {\n e.stopPropagation();\n e.preventDefault();\n this.envelope && this.toggleDropdown();\n }}\n onBlur={e => this.envelope && this.handleHideDropdown(e)}\n >\n <span class=\"icon\" innerHTML={icon} />\n <span class=\"content\">{statusMessage}</span>\n\n <div class=\"detail-panel\" ref={el => (this.detailPanel = el as HTMLDivElement)}>\n <div id={`${this.containerId}`} />\n {this.recipientStatusIcons.map(icon => (\n <span innerHTML={icon.icon} style={{position: 'absolute', top: `${icon.y}px`, left: `${icon.x}px`}} />\n ))}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}